@embeddable.com/remarkable-pro 0.2.1 → 0.2.2
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/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/{ChartCard-Cqhxv7xl.js → ChartCard-B7G4tcpW.js} +3 -3
- package/dist/{ChartCard-Cqhxv7xl.js.map → ChartCard-B7G4tcpW.js.map} +1 -1
- package/dist/{Color.type.emb-BGRJh_zP.js → Color.type.emb-ugXbze7x.js} +2 -2
- package/dist/{Color.type.emb-BGRJh_zP.js.map → Color.type.emb-ugXbze7x.js.map} +1 -1
- package/dist/ColorEditor.js +3 -3
- package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
- package/dist/DateRangePickerCustomPro.js +1 -1
- package/dist/DateRangeSelectFieldPro.js +1 -1
- package/dist/{DimensionAndMeasureSingleSelectField-BsBSTKKc.js → DimensionAndMeasureSingleSelectField-BsHW3Y3v.js} +3 -3
- package/dist/{DimensionAndMeasureSingleSelectField-BsBSTKKc.js.map → DimensionAndMeasureSingleSelectField-BsHW3Y3v.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-BABTQLwW.js → EditorCard-CMJ7shGD.js} +3 -3
- package/dist/{EditorCard-BABTQLwW.js.map → EditorCard-CMJ7shGD.js.map} +1 -1
- package/dist/FilterBuilderPro.js +389 -326
- package/dist/FilterBuilderPro.js.map +1 -1
- package/dist/{GranularitySelectField-DBaZn-Me.js → GranularitySelectField-DJftwlLI.js} +3 -3
- package/dist/{GranularitySelectField-DBaZn-Me.js.map → GranularitySelectField-DJftwlLI.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +1 -1
- package/dist/HeatMapPro.js +1 -1
- package/dist/HorizontalDividerPro.js +1 -1
- package/dist/{IconAlertCircle-DDf6dlAS.js → IconAlertCircle-CVR1AuLV.js} +2 -2
- package/dist/{IconAlertCircle-DDf6dlAS.js.map → IconAlertCircle-CVR1AuLV.js.map} +1 -1
- package/dist/{IconCalendarFilled-DqyDZZ9z.js → IconCalendarFilled-WZ9LR9Uu.js} +2 -2
- package/dist/{IconCalendarFilled-DqyDZZ9z.js.map → IconCalendarFilled-WZ9LR9Uu.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +1 -1
- package/dist/KpiChartNumberPro.js +1 -1
- package/dist/LineChartComparisonDefaultPro.js +1 -1
- package/dist/LineChartDefaultPro.js +1 -1
- package/dist/LineChartGroupedPro.js +1 -1
- package/dist/{Markdown.type.emb-CY0MAwRX.js → Markdown.type.emb-DKvN-dyL.js} +2 -2
- package/dist/{Markdown.type.emb-CY0MAwRX.js.map → Markdown.type.emb-DKvN-dyL.js.map} +1 -1
- package/dist/MarkdownEditor.js +3 -3
- 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/SingleSelectFieldPro.js +1 -1
- package/dist/TableChartPaginated.js +1 -1
- package/dist/TableScrollable.js +1 -1
- package/dist/TextFieldPro.js +1 -1
- package/dist/{af-BrvHtZBo.js → af-CO5UgLR9.js} +3 -3
- package/dist/{af-BrvHtZBo.js.map → af-CO5UgLR9.js.map} +1 -1
- package/dist/{am-DJLTWhlZ.js → am-CfQBNWC4.js} +3 -3
- package/dist/{am-DJLTWhlZ.js.map → am-CfQBNWC4.js.map} +1 -1
- package/dist/{ar-B66LflOo.js → ar-DuJhUHN3.js} +3 -3
- package/dist/{ar-B66LflOo.js.map → ar-DuJhUHN3.js.map} +1 -1
- package/dist/{az-pPS8UBLr.js → az-D0ZCwCNv.js} +3 -3
- package/dist/{az-pPS8UBLr.js.map → az-D0ZCwCNv.js.map} +1 -1
- package/dist/{bars.loadData.utils-3BlUREY3.js → bars.loadData.utils-DGguWOaN.js} +4 -4
- package/dist/{bars.loadData.utils-3BlUREY3.js.map → bars.loadData.utils-DGguWOaN.js.map} +1 -1
- package/dist/{bars.utils-CG7i6UTJ.js → bars.utils-bcARQcN4.js} +4 -4
- package/dist/{bars.utils-CG7i6UTJ.js.map → bars.utils-bcARQcN4.js.map} +1 -1
- package/dist/{be-GyX8tJb3.js → be-BTIWx7xv.js} +3 -3
- package/dist/{be-GyX8tJb3.js.map → be-BTIWx7xv.js.map} +1 -1
- package/dist/{bg-BSDWmw0m.js → bg-DvJuMHW1.js} +3 -3
- package/dist/{bg-BSDWmw0m.js.map → bg-DvJuMHW1.js.map} +1 -1
- package/dist/{bi-CKCbMFbi.js → bi-BwYPDubE.js} +3 -3
- package/dist/{bi-CKCbMFbi.js.map → bi-BwYPDubE.js.map} +1 -1
- package/dist/{bm-DgNrGarv.js → bm-BcY9JBh0.js} +3 -3
- package/dist/{bm-DgNrGarv.js.map → bm-BcY9JBh0.js.map} +1 -1
- package/dist/{bn-DcQ1jt5h.js → bn-Co_6U8P5.js} +3 -3
- package/dist/{bn-DcQ1jt5h.js.map → bn-Co_6U8P5.js.map} +1 -1
- package/dist/{bo-D9ylr7BC.js → bo-D0pYNQVE.js} +3 -3
- package/dist/{bo-D9ylr7BC.js.map → bo-D0pYNQVE.js.map} +1 -1
- package/dist/{br-DaIFKpjv.js → br-C3TmnvHH.js} +3 -3
- package/dist/{br-DaIFKpjv.js.map → br-C3TmnvHH.js.map} +1 -1
- package/dist/{bs-aKJ1MWiY.js → bs-xhCJ1j4c.js} +3 -3
- package/dist/{bs-aKJ1MWiY.js.map → bs-xhCJ1j4c.js.map} +1 -1
- package/dist/{ca-BpA-zfaJ.js → ca-CcVxI_a8.js} +3 -3
- package/dist/{ca-BpA-zfaJ.js.map → ca-CcVxI_a8.js.map} +1 -1
- package/dist/{charts.fillGaps.hooks-B6T9882L.js → charts.fillGaps.hooks-jiTiggz5.js} +5 -5
- package/dist/{charts.fillGaps.hooks-B6T9882L.js.map → charts.fillGaps.hooks-jiTiggz5.js.map} +1 -1
- package/dist/{charts.utils-BMX0edl3.js → charts.utils-BmyrtNho.js} +5 -5
- package/dist/{charts.utils-BMX0edl3.js.map → charts.utils-BmyrtNho.js.map} +1 -1
- package/dist/{component.inputs.constants-C7tJAhsQ.js → component.inputs.constants-BG91ceTQ.js} +35 -28
- package/dist/{component.inputs.constants-C7tJAhsQ.js.map → component.inputs.constants-BG91ceTQ.js.map} +1 -1
- package/dist/components/component.inputs.constants.d.ts +7 -0
- package/dist/components/component.inputs.constants.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.emb.d.ts +7 -1
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.emb.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.utils.d.ts +2 -1
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.utils.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemNumberValueField.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/definition.d.ts +15 -2
- package/dist/components/editors/FilterBuilderPro/definition.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/index.d.ts +2 -0
- package/dist/components/editors/FilterBuilderPro/index.d.ts.map +1 -1
- package/dist/{cs-C8lkTXb1.js → cs-CfjDvtIy.js} +3 -3
- package/dist/{cs-C8lkTXb1.js.map → cs-CfjDvtIy.js.map} +1 -1
- package/dist/{cv-BRA6lGJh.js → cv-Befu1ri6.js} +3 -3
- package/dist/{cv-BRA6lGJh.js.map → cv-Befu1ri6.js.map} +1 -1
- package/dist/{cy-BzRamyEg.js → cy-C313vwsY.js} +3 -3
- package/dist/{cy-BzRamyEg.js.map → cy-C313vwsY.js.map} +1 -1
- package/dist/{da-B3Yxzfq_.js → da-Cw6VErRw.js} +3 -3
- package/dist/{da-B3Yxzfq_.js.map → da-Cw6VErRw.js.map} +1 -1
- package/dist/dates.utils-C39oH1yT.js +169 -0
- package/dist/{dates.utils-D44sdrNs.js.map → dates.utils-C39oH1yT.js.map} +1 -1
- package/dist/{de-C07ay6Xp.js → de-Z2piQF6h.js} +3 -3
- package/dist/{de-C07ay6Xp.js.map → de-Z2piQF6h.js.map} +1 -1
- package/dist/{definition-D4-0-tXB.js → definition-BIrGXR7a.js} +6 -6
- package/dist/{definition-D4-0-tXB.js.map → definition-BIrGXR7a.js.map} +1 -1
- package/dist/{definition-B1t6-ToS.js → definition-BSaYCOSx.js} +7 -7
- package/dist/{definition-B1t6-ToS.js.map → definition-BSaYCOSx.js.map} +1 -1
- package/dist/{definition-BCbRycZt.js → definition-BVSx-A0x.js} +6 -6
- package/dist/{definition-BCbRycZt.js.map → definition-BVSx-A0x.js.map} +1 -1
- package/dist/{definition-B1B71Q9P.js → definition-BXE_nM75.js} +8 -8
- package/dist/{definition-B1B71Q9P.js.map → definition-BXE_nM75.js.map} +1 -1
- package/dist/{definition-B6Jm5skX.js → definition-BXK3wnaa.js} +4 -4
- package/dist/{definition-B6Jm5skX.js.map → definition-BXK3wnaa.js.map} +1 -1
- package/dist/{definition-BomoMNHu.js → definition-Bs3OzndS.js} +5 -5
- package/dist/{definition-BomoMNHu.js.map → definition-Bs3OzndS.js.map} +1 -1
- package/dist/{definition-nSxl9weT.js → definition-CBEP4oDs.js} +8 -8
- package/dist/{definition-nSxl9weT.js.map → definition-CBEP4oDs.js.map} +1 -1
- package/dist/{definition-DFoesKHP.js → definition-CYJQEg8m.js} +3 -3
- package/dist/{definition-DFoesKHP.js.map → definition-CYJQEg8m.js.map} +1 -1
- package/dist/{definition-poLEt7kb.js → definition-C_Zqoq6Q.js} +9 -9
- package/dist/{definition-poLEt7kb.js.map → definition-C_Zqoq6Q.js.map} +1 -1
- package/dist/{definition-BqIza8Nx.js → definition-Cak_Ovmh.js} +6 -6
- package/dist/{definition-BqIza8Nx.js.map → definition-Cak_Ovmh.js.map} +1 -1
- package/dist/{definition-CLDcybuA.js → definition-CcgXEs7t.js} +6 -6
- package/dist/{definition-CLDcybuA.js.map → definition-CcgXEs7t.js.map} +1 -1
- package/dist/{definition-DqtPYFiz.js → definition-CeXqwWtc.js} +6 -6
- package/dist/{definition-DqtPYFiz.js.map → definition-CeXqwWtc.js.map} +1 -1
- package/dist/{definition-v66e9pZV.js → definition-Cg_Dk2EG.js} +5 -5
- package/dist/{definition-v66e9pZV.js.map → definition-Cg_Dk2EG.js.map} +1 -1
- package/dist/{definition-xkAbcSB6.js → definition-CiI1oAAx.js} +8 -8
- package/dist/{definition-xkAbcSB6.js.map → definition-CiI1oAAx.js.map} +1 -1
- package/dist/{definition-oe6halnQ.js → definition-D4WP6pSU.js} +3 -3
- package/dist/{definition-oe6halnQ.js.map → definition-D4WP6pSU.js.map} +1 -1
- package/dist/{definition-CbkzLjXK.js → definition-D6IzB00j.js} +6 -6
- package/dist/{definition-CbkzLjXK.js.map → definition-D6IzB00j.js.map} +1 -1
- package/dist/{definition-B86qFSz_.js → definition-DDiK91IJ.js} +6 -6
- package/dist/{definition-B86qFSz_.js.map → definition-DDiK91IJ.js.map} +1 -1
- package/dist/{definition-CTnDKGXw.js → definition-DKa9Rv86.js} +6 -6
- package/dist/{definition-CTnDKGXw.js.map → definition-DKa9Rv86.js.map} +1 -1
- package/dist/{definition-BxDRujfc.js → definition-DMEjVt_a.js} +8 -8
- package/dist/{definition-BxDRujfc.js.map → definition-DMEjVt_a.js.map} +1 -1
- package/dist/{definition-BKcHxtMp.js → definition-Dehq9J0-.js} +6 -6
- package/dist/{definition-BKcHxtMp.js.map → definition-Dehq9J0-.js.map} +1 -1
- package/dist/{definition-DFEQMSrJ.js → definition-Dhax0N5F.js} +6 -6
- package/dist/{definition-DFEQMSrJ.js.map → definition-Dhax0N5F.js.map} +1 -1
- package/dist/{definition-Bx_a3I-X.js → definition-DlHjmkZx.js} +9 -9
- package/dist/{definition-Bx_a3I-X.js.map → definition-DlHjmkZx.js.map} +1 -1
- package/dist/{definition-BejgCcXe.js → definition-DpTi8wom.js} +8 -8
- package/dist/{definition-BejgCcXe.js.map → definition-DpTi8wom.js.map} +1 -1
- package/dist/{definition-MdprJNc9.js → definition-DqbJIilV.js} +7 -7
- package/dist/{definition-MdprJNc9.js.map → definition-DqbJIilV.js.map} +1 -1
- package/dist/{definition-BIk4lZdI.js → definition-DrVDrvje.js} +6 -6
- package/dist/{definition-BIk4lZdI.js.map → definition-DrVDrvje.js.map} +1 -1
- package/dist/{definition-Bg3R-QHm.js → definition-Ds_TnTOC.js} +6 -6
- package/dist/{definition-Bg3R-QHm.js.map → definition-Ds_TnTOC.js.map} +1 -1
- package/dist/{definition-NQQg5mwf.js → definition-LQPp0ihg.js} +9 -9
- package/dist/{definition-NQQg5mwf.js.map → definition-LQPp0ihg.js.map} +1 -1
- package/dist/{definition-C_wdRHYX.js → definition-P3zQ1auU.js} +6 -6
- package/dist/{definition-C_wdRHYX.js.map → definition-P3zQ1auU.js.map} +1 -1
- package/dist/{definition-uj4b0NtW.js → definition-YRs5ckvs.js} +9 -9
- package/dist/{definition-uj4b0NtW.js.map → definition-YRs5ckvs.js.map} +1 -1
- package/dist/{definition-OA_X18FK.js → definition-gmWWckHd.js} +7 -7
- package/dist/{definition-OA_X18FK.js.map → definition-gmWWckHd.js.map} +1 -1
- package/dist/{definition-ngOUqoDo.js → definition-iKcIuUaw.js} +6 -6
- package/dist/{definition-ngOUqoDo.js.map → definition-iKcIuUaw.js.map} +1 -1
- package/dist/{dimensionsAndMeasures.utils-DtUfSnpA.js → dimensionsAndMeasures.utils-CDHRCfGE.js} +2 -2
- package/dist/{dimensionsAndMeasures.utils-DtUfSnpA.js.map → dimensionsAndMeasures.utils-CDHRCfGE.js.map} +1 -1
- package/dist/{dv-CWfIXgZi.js → dv-ChY4jDms.js} +3 -3
- package/dist/{dv-CWfIXgZi.js.map → dv-ChY4jDms.js.map} +1 -1
- package/dist/{el-DcM20K9x.js → el-awmiIUmP.js} +3 -3
- package/dist/{el-DcM20K9x.js.map → el-awmiIUmP.js.map} +1 -1
- package/dist/embeddable-components.json +42 -42
- package/dist/{en-1S_hLj8n.js → en-CpaE63fH.js} +2 -2
- package/dist/{en-1S_hLj8n.js.map → en-CpaE63fH.js.map} +1 -1
- package/dist/{eo-B4okZbtx.js → eo-C8aqLBwZ.js} +3 -3
- package/dist/{eo-B4okZbtx.js.map → eo-C8aqLBwZ.js.map} +1 -1
- package/dist/{es-DB2OJfN5.js → es-bnAzUQW3.js} +3 -3
- package/dist/{es-DB2OJfN5.js.map → es-bnAzUQW3.js.map} +1 -1
- package/dist/{et-mYAcrjSc.js → et-Ujjbacwg.js} +3 -3
- package/dist/{et-mYAcrjSc.js.map → et-Ujjbacwg.js.map} +1 -1
- package/dist/{eu-BqW9SsOG.js → eu-7e6MRmqN.js} +3 -3
- package/dist/{eu-BqW9SsOG.js.map → eu-7e6MRmqN.js.map} +1 -1
- package/dist/{fa-_vHhpf3j.js → fa-BKfwmjXx.js} +3 -3
- package/dist/{fa-_vHhpf3j.js.map → fa-BKfwmjXx.js.map} +1 -1
- package/dist/{fi-DKhsNmJ-.js → fi-B0DxdPsF.js} +3 -3
- package/dist/{fi-DKhsNmJ-.js.map → fi-B0DxdPsF.js.map} +1 -1
- package/dist/{fo-BnNRah2G.js → fo-DeW71Hhs.js} +3 -3
- package/dist/{fo-BnNRah2G.js.map → fo-DeW71Hhs.js.map} +1 -1
- package/dist/{formatter.utils-BLaKKpAa.js → formatter.utils-DiP5ge3-.js} +2 -2
- package/dist/{formatter.utils-BLaKKpAa.js.map → formatter.utils-DiP5ge3-.js.map} +1 -1
- package/dist/{fr-J_fteHLO.js → fr-Ckxz9b6r.js} +3 -3
- package/dist/{fr-J_fteHLO.js.map → fr-Ckxz9b6r.js.map} +1 -1
- package/dist/{fy-DlI3iJ8-.js → fy-DUXWsFEn.js} +3 -3
- package/dist/{fy-DlI3iJ8-.js.map → fy-DUXWsFEn.js.map} +1 -1
- package/dist/{ga-05UQWJpB.js → ga-Dv0P2unZ.js} +3 -3
- package/dist/{ga-05UQWJpB.js.map → ga-Dv0P2unZ.js.map} +1 -1
- package/dist/{gd-CVRsj1Mi.js → gd-BZhN2psc.js} +3 -3
- package/dist/{gd-CVRsj1Mi.js.map → gd-BZhN2psc.js.map} +1 -1
- package/dist/{gl-NWqlFCUl.js → gl-D45AYnkR.js} +3 -3
- package/dist/{gl-NWqlFCUl.js.map → gl-D45AYnkR.js.map} +1 -1
- package/dist/{granularity.utils-Hj10GihD.js → granularity.utils-6awaMPKt.js} +3 -3
- package/dist/{granularity.utils-Hj10GihD.js.map → granularity.utils-6awaMPKt.js.map} +1 -1
- package/dist/{gu-BFvg4Rf0.js → gu-C1aRP01p.js} +3 -3
- package/dist/{gu-BFvg4Rf0.js.map → gu-C1aRP01p.js.map} +1 -1
- package/dist/{he-BlX7HFR2.js → he-DrqJvAtn.js} +3 -3
- package/dist/{he-BlX7HFR2.js.map → he-DrqJvAtn.js.map} +1 -1
- package/dist/{hi-0LesvI1G.js → hi-C21kkrf8.js} +3 -3
- package/dist/{hi-0LesvI1G.js.map → hi-C21kkrf8.js.map} +1 -1
- package/dist/{hr-BD5iWQnE.js → hr-CA_0Pkzu.js} +3 -3
- package/dist/{hr-BD5iWQnE.js.map → hr-CA_0Pkzu.js.map} +1 -1
- package/dist/{ht-lIYqPdIJ.js → ht-ICvYFrDz.js} +3 -3
- package/dist/{ht-lIYqPdIJ.js.map → ht-ICvYFrDz.js.map} +1 -1
- package/dist/{hu-Av0cVt-Y.js → hu-yIbj-KAS.js} +3 -3
- package/dist/{hu-Av0cVt-Y.js.map → hu-yIbj-KAS.js.map} +1 -1
- package/dist/{id-CH9onwyI.js → id-DfYnQePx.js} +3 -3
- package/dist/{id-CH9onwyI.js.map → id-DfYnQePx.js.map} +1 -1
- package/dist/{index-DMsxz8Oj.js → index-BG6xZ7cR.js} +2 -2
- package/dist/{index-DMsxz8Oj.js.map → index-BG6xZ7cR.js.map} +1 -1
- package/dist/{index-CJYh9LRs.js → index-CRqo4KE4.js} +8830 -8825
- package/dist/{index-CJYh9LRs.js.map → index-CRqo4KE4.js.map} +1 -1
- package/dist/{index-Bo7tyDqZ.js → index-DxbJLpjT.js} +2 -2
- package/dist/{index-Bo7tyDqZ.js.map → index-DxbJLpjT.js.map} +1 -1
- package/dist/index.js +48 -48
- package/dist/{is-DOmWFn-Z.js → is-B4nNovVv.js} +3 -3
- package/dist/{is-DOmWFn-Z.js.map → is-B4nNovVv.js.map} +1 -1
- package/dist/{it-C2oWtsSz.js → it-DHl3RqSm.js} +3 -3
- package/dist/{it-C2oWtsSz.js.map → it-DHl3RqSm.js.map} +1 -1
- package/dist/{ja-DmxVCSbE.js → ja-DWiEX4Fv.js} +3 -3
- package/dist/{ja-DmxVCSbE.js.map → ja-DWiEX4Fv.js.map} +1 -1
- package/dist/{jv-LHSOrAiL.js → jv-DEKvKkVl.js} +3 -3
- package/dist/{jv-LHSOrAiL.js.map → jv-DEKvKkVl.js.map} +1 -1
- package/dist/{ka-B5qWX5-x.js → ka-DuigPR9g.js} +3 -3
- package/dist/{ka-B5qWX5-x.js.map → ka-DuigPR9g.js.map} +1 -1
- package/dist/{kk-8pJaAh0T.js → kk-Botqqtnn.js} +3 -3
- package/dist/{kk-8pJaAh0T.js.map → kk-Botqqtnn.js.map} +1 -1
- package/dist/{km-Bxyq7X9e.js → km-DE1CD4rH.js} +3 -3
- package/dist/{km-Bxyq7X9e.js.map → km-DE1CD4rH.js.map} +1 -1
- package/dist/{kn-nlmQyejG.js → kn-1JSIzUgV.js} +3 -3
- package/dist/{kn-nlmQyejG.js.map → kn-1JSIzUgV.js.map} +1 -1
- package/dist/{ko-C96LipJV.js → ko-BJW_tmzX.js} +3 -3
- package/dist/{ko-C96LipJV.js.map → ko-BJW_tmzX.js.map} +1 -1
- package/dist/{ku-DtZlSn78.js → ku-CK7P-5Ff.js} +3 -3
- package/dist/{ku-DtZlSn78.js.map → ku-CK7P-5Ff.js.map} +1 -1
- package/dist/{ky-BK9lDm_3.js → ky-CIuAgM31.js} +3 -3
- package/dist/{ky-BK9lDm_3.js.map → ky-CIuAgM31.js.map} +1 -1
- package/dist/{lb-BLionTeO.js → lb-DAe7Y1SB.js} +3 -3
- package/dist/{lb-BLionTeO.js.map → lb-DAe7Y1SB.js.map} +1 -1
- package/dist/{lo-GY0TqEpn.js → lo-B5v9vHXy.js} +3 -3
- package/dist/{lo-GY0TqEpn.js.map → lo-B5v9vHXy.js.map} +1 -1
- package/dist/{lt-Bqs3rOV9.js → lt-9FsZ7YSa.js} +3 -3
- package/dist/{lt-Bqs3rOV9.js.map → lt-9FsZ7YSa.js.map} +1 -1
- package/dist/{lv-4JFTHI7C.js → lv-Irxp-8V5.js} +3 -3
- package/dist/{lv-4JFTHI7C.js.map → lv-Irxp-8V5.js.map} +1 -1
- package/dist/{me-C5a0YbaI.js → me-DHnlGRZf.js} +3 -3
- package/dist/{me-C5a0YbaI.js.map → me-DHnlGRZf.js.map} +1 -1
- package/dist/{mi-B6c6mIJf.js → mi-C8ifvMP-.js} +3 -3
- package/dist/{mi-B6c6mIJf.js.map → mi-C8ifvMP-.js.map} +1 -1
- package/dist/{mk-BwgzKTpo.js → mk-BieT7w6a.js} +3 -3
- package/dist/{mk-BwgzKTpo.js.map → mk-BieT7w6a.js.map} +1 -1
- package/dist/{ml-BQBMcjCX.js → ml-C_4oxTEE.js} +3 -3
- package/dist/{ml-BQBMcjCX.js.map → ml-C_4oxTEE.js.map} +1 -1
- package/dist/{mn-C-lGsL6b.js → mn-CG9M9qj0.js} +3 -3
- package/dist/{mn-C-lGsL6b.js.map → mn-CG9M9qj0.js.map} +1 -1
- package/dist/{mr-q2H5-Hcj.js → mr-TxtCpWZx.js} +3 -3
- package/dist/{mr-q2H5-Hcj.js.map → mr-TxtCpWZx.js.map} +1 -1
- package/dist/{ms-sMf_Ci6r.js → ms-Bg8-9dVF.js} +3 -3
- package/dist/{ms-sMf_Ci6r.js.map → ms-Bg8-9dVF.js.map} +1 -1
- package/dist/{mt-CDjx_yKs.js → mt-D5TcEFTY.js} +3 -3
- package/dist/{mt-CDjx_yKs.js.map → mt-D5TcEFTY.js.map} +1 -1
- package/dist/{my-CUw9LR-6.js → my-BZ9EDR7C.js} +3 -3
- package/dist/{my-CUw9LR-6.js.map → my-BZ9EDR7C.js.map} +1 -1
- package/dist/{nb-CE-uQOZZ.js → nb-DKbOiYY3.js} +3 -3
- package/dist/{nb-CE-uQOZZ.js.map → nb-DKbOiYY3.js.map} +1 -1
- package/dist/{ne-BSGYS974.js → ne-DPdNsmBr.js} +3 -3
- package/dist/{ne-BSGYS974.js.map → ne-DPdNsmBr.js.map} +1 -1
- package/dist/{nl-2NMEpvAI.js → nl-CQev4TXC.js} +3 -3
- package/dist/{nl-2NMEpvAI.js.map → nl-CQev4TXC.js.map} +1 -1
- package/dist/{nn-Cn4SF9I7.js → nn-zkCx-JRm.js} +3 -3
- package/dist/{nn-Cn4SF9I7.js.map → nn-zkCx-JRm.js.map} +1 -1
- package/dist/{pies.utils-DvbvSz5H.js → pies.utils-BzSZvhCM.js} +4 -4
- package/dist/{pies.utils-DvbvSz5H.js.map → pies.utils-BzSZvhCM.js.map} +1 -1
- package/dist/{pl-CXr-fOgF.js → pl-CWUqvDft.js} +3 -3
- package/dist/{pl-CXr-fOgF.js.map → pl-CWUqvDft.js.map} +1 -1
- package/dist/{preview.data.constants--FLtEcg5.js → preview.data.constants-Dl21SzQi.js} +2 -2
- package/dist/{preview.data.constants--FLtEcg5.js.map → preview.data.constants-Dl21SzQi.js.map} +1 -1
- package/dist/{pt-7xG_bX_n.js → pt-tERFmR-w.js} +3 -3
- package/dist/{pt-7xG_bX_n.js.map → pt-tERFmR-w.js.map} +1 -1
- package/dist/{quarterOfYear-DG6zAl_Q.js → quarterOfYear-WE6qrGHC.js} +2 -2
- package/dist/{quarterOfYear-DG6zAl_Q.js.map → quarterOfYear-WE6qrGHC.js.map} +1 -1
- package/dist/{ro-ORlgCeG6.js → ro-Dx-I-UOg.js} +3 -3
- package/dist/{ro-ORlgCeG6.js.map → ro-Dx-I-UOg.js.map} +1 -1
- package/dist/{ru-DNWe_4qe.js → ru-CuTMHMTh.js} +3 -3
- package/dist/{ru-DNWe_4qe.js.map → ru-CuTMHMTh.js.map} +1 -1
- package/dist/{rw-Blj2kDq6.js → rw-DOFSYtRg.js} +3 -3
- package/dist/{rw-Blj2kDq6.js.map → rw-DOFSYtRg.js.map} +1 -1
- package/dist/{sd-Dh6b4g0V.js → sd-CPF7GMPq.js} +3 -3
- package/dist/{sd-Dh6b4g0V.js.map → sd-CPF7GMPq.js.map} +1 -1
- package/dist/{se-CcjBgwqX.js → se-DzmFix5q.js} +3 -3
- package/dist/{se-CcjBgwqX.js.map → se-DzmFix5q.js.map} +1 -1
- package/dist/{si-C4Bf2aZN.js → si-BiCRMoxh.js} +3 -3
- package/dist/{si-C4Bf2aZN.js.map → si-BiCRMoxh.js.map} +1 -1
- package/dist/{sk-CoXQ8MVn.js → sk-DoSXbg4A.js} +3 -3
- package/dist/{sk-CoXQ8MVn.js.map → sk-DoSXbg4A.js.map} +1 -1
- package/dist/{sl-LVwBMZ8g.js → sl-Lx3K00Fj.js} +3 -3
- package/dist/{sl-LVwBMZ8g.js.map → sl-Lx3K00Fj.js.map} +1 -1
- package/dist/{sq-Ce5d-lFW.js → sq-CuA8nHMX.js} +3 -3
- package/dist/{sq-Ce5d-lFW.js.map → sq-CuA8nHMX.js.map} +1 -1
- package/dist/{sr-h1Eu1XvF.js → sr-1guaFRdT.js} +3 -3
- package/dist/{sr-h1Eu1XvF.js.map → sr-1guaFRdT.js.map} +1 -1
- package/dist/{ss-BsdSig4-.js → ss-DFQFwR4k.js} +3 -3
- package/dist/{ss-BsdSig4-.js.map → ss-DFQFwR4k.js.map} +1 -1
- package/dist/{sv-0_QXf1d4.js → sv-CqGGUcvK.js} +3 -3
- package/dist/{sv-0_QXf1d4.js.map → sv-CqGGUcvK.js.map} +1 -1
- package/dist/{sw-BsrENJtP.js → sw-BLe0_tzs.js} +3 -3
- package/dist/{sw-BsrENJtP.js.map → sw-BLe0_tzs.js.map} +1 -1
- package/dist/{ta-CFro1Q60.js → ta-qVU7K_n7.js} +3 -3
- package/dist/{ta-CFro1Q60.js.map → ta-qVU7K_n7.js.map} +1 -1
- package/dist/{tables.utils-nCpRWyEd.js → tables.utils-DyBQWH2x.js} +4 -4
- package/dist/{tables.utils-nCpRWyEd.js.map → tables.utils-DyBQWH2x.js.map} +1 -1
- package/dist/{te-fNrExfO4.js → te-D8xryjdK.js} +3 -3
- package/dist/{te-fNrExfO4.js.map → te-D8xryjdK.js.map} +1 -1
- package/dist/{tet-C1SiSOHo.js → tet-DJJI35UA.js} +3 -3
- package/dist/{tet-C1SiSOHo.js.map → tet-DJJI35UA.js.map} +1 -1
- package/dist/{tg-XoO28Ax8.js → tg-DGsqQMNH.js} +3 -3
- package/dist/{tg-XoO28Ax8.js.map → tg-DGsqQMNH.js.map} +1 -1
- package/dist/{th-BD0a9Tsr.js → th-BbGTk0p6.js} +3 -3
- package/dist/{th-BD0a9Tsr.js.map → th-BbGTk0p6.js.map} +1 -1
- package/dist/{tk-BhOK0VAQ.js → tk-CQk7eOFq.js} +3 -3
- package/dist/{tk-BhOK0VAQ.js.map → tk-CQk7eOFq.js.map} +1 -1
- package/dist/{tlh-Dqbn66Us.js → tlh-BJiVf90R.js} +3 -3
- package/dist/{tlh-Dqbn66Us.js.map → tlh-BJiVf90R.js.map} +1 -1
- package/dist/{tr-3tXGYFt6.js → tr-DGEFUTnN.js} +3 -3
- package/dist/{tr-3tXGYFt6.js.map → tr-DGEFUTnN.js.map} +1 -1
- package/dist/{tzl-CJB2gpe5.js → tzl-B-rjnVKm.js} +3 -3
- package/dist/{tzl-CJB2gpe5.js.map → tzl-B-rjnVKm.js.map} +1 -1
- package/dist/{tzm-Cdf7EqCZ.js → tzm-0RXFZkOZ.js} +3 -3
- package/dist/{tzm-Cdf7EqCZ.js.map → tzm-0RXFZkOZ.js.map} +1 -1
- package/dist/{uk-C8HeWoez.js → uk-C-3R52R8.js} +3 -3
- package/dist/{uk-C8HeWoez.js.map → uk-C-3R52R8.js.map} +1 -1
- package/dist/{ur-BL1Urm5y.js → ur-BhH1Caue.js} +3 -3
- package/dist/{ur-BL1Urm5y.js.map → ur-BhH1Caue.js.map} +1 -1
- package/dist/{utc-CeNUjiDo.js → utc-DSufoeTu.js} +2 -2
- package/dist/{utc-CeNUjiDo.js.map → utc-DSufoeTu.js.map} +1 -1
- package/dist/{uz-CNvbnKCL.js → uz-dTzwqE-A.js} +3 -3
- package/dist/{uz-CNvbnKCL.js.map → uz-dTzwqE-A.js.map} +1 -1
- package/dist/{vi-C9FpvKdC.js → vi-DHAFIV-V.js} +3 -3
- package/dist/{vi-C9FpvKdC.js.map → vi-DHAFIV-V.js.map} +1 -1
- package/dist/{x-pseudo-C6fpKQdk.js → x-pseudo-BsSvUVFF.js} +3 -3
- package/dist/{x-pseudo-C6fpKQdk.js.map → x-pseudo-BsSvUVFF.js.map} +1 -1
- package/dist/{yo-Ct-UwHTf.js → yo-BBEtB5z8.js} +3 -3
- package/dist/{yo-Ct-UwHTf.js.map → yo-BBEtB5z8.js.map} +1 -1
- package/dist/{zh-cn-QPB_mEp2.js → zh-cn-JEWtJ_Jw.js} +3 -3
- package/dist/{zh-cn-QPB_mEp2.js.map → zh-cn-JEWtJ_Jw.js.map} +1 -1
- package/dist/{zh-hk-8MN_4jQA.js → zh-hk-C64-fiIR.js} +3 -3
- package/dist/{zh-hk-8MN_4jQA.js.map → zh-hk-C64-fiIR.js.map} +1 -1
- package/dist/{zh-tw-_gFpvI1c.js → zh-tw-C83CjGWA.js} +3 -3
- package/dist/{zh-tw-_gFpvI1c.js.map → zh-tw-C83CjGWA.js.map} +1 -1
- package/package.json +2 -2
- package/dist/dates.utils-D44sdrNs.js +0 -169
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-Bx_a3I-X.js","sources":["../src/components/charts/bars/BarChartGroupedHorizontalPro/index.tsx","../src/components/charts/bars/BarChartGroupedHorizontalPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\n\nexport type BarChartGroupedHorizontalProProps = {\n groupBy: Dimension;\n measure: Measure;\n results?: DataResponse;\n resultsAxisOrder?: DataResponse;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n setAxisOrderAndCacheKey?: (values: string[], cacheKey: string) => void;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n yAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartGroupedHorizontalPro = (props: BarChartGroupedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n yAxis,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxisRangeMax,\n xAxisRangeMin,\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 getBarChartProOptions(\n { measures: [measure], horizontal: true, onBarClicked, data, dimension: yAxis },\n theme,\n ),\n theme.charts?.barChartGroupedHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\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 horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedHorizontalPro;\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';\n\nconst meta = {\n name: 'BarChartGroupedHorizontalPro',\n label: 'Bar Chart - Grouped Horizontal',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'yAxis', label: 'Y-axis' },\n { ...inputs.dimension, name: 'groupBy', label: 'Group by' },\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 ],\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: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartGroupedHorizontalProState = {\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: { axisDimensionValue?: string; groupingDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartGroupedHorizontalProState,\n (state: BarChartGroupedHorizontalProState) => 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 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 barChartGroupedHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","yAxis","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","yAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","granularity","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartGroupedHorizontalPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-DlHjmkZx.js","sources":["../src/components/charts/bars/BarChartGroupedHorizontalPro/index.tsx","../src/components/charts/bars/BarChartGroupedHorizontalPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\n\nexport type BarChartGroupedHorizontalProProps = {\n groupBy: Dimension;\n measure: Measure;\n results?: DataResponse;\n resultsAxisOrder?: DataResponse;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n setAxisOrderAndCacheKey?: (values: string[], cacheKey: string) => void;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n yAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartGroupedHorizontalPro = (props: BarChartGroupedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n yAxis,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxisRangeMax,\n xAxisRangeMin,\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 getBarChartProOptions(\n { measures: [measure], horizontal: true, onBarClicked, data, dimension: yAxis },\n theme,\n ),\n theme.charts?.barChartGroupedHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\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 horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedHorizontalPro;\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';\n\nconst meta = {\n name: 'BarChartGroupedHorizontalPro',\n label: 'Bar Chart - Grouped Horizontal',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'yAxis', label: 'Y-axis' },\n { ...inputs.dimension, name: 'groupBy', label: 'Group by' },\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 ],\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: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartGroupedHorizontalProState = {\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: { axisDimensionValue?: string; groupingDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartGroupedHorizontalProState,\n (state: BarChartGroupedHorizontalProState) => 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 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 barChartGroupedHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","yAxis","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","yAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","granularity","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartGroupedHorizontalPro"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { t as O, y as v, m as j, j as L, L as z, V as _, l as B } from "./index-
|
|
1
|
+
import { t as O, y as v, m as j, j as L, L as z, V as _, l as B } from "./index-CRqo4KE4.js";
|
|
2
2
|
import { useTheme as I, definePreview as W } from "@embeddable.com/react";
|
|
3
3
|
import { a as X, r as N } from "./component.utils-Dua9clQJ.js";
|
|
4
|
-
import { C as U } from "./ChartCard-
|
|
5
|
-
import { g as R } from "./formatter.utils-
|
|
4
|
+
import { C as U } from "./ChartCard-B7G4tcpW.js";
|
|
5
|
+
import { g as R } from "./formatter.utils-DiP5ge3-.js";
|
|
6
6
|
import { g as k } from "./styles.utils-C8CnV0SB.js";
|
|
7
7
|
import { i as w, s as Y } from "./color.utils-BSg_DFOh.js";
|
|
8
|
-
import { u as $ } from "./charts.fillGaps.hooks-
|
|
9
|
-
import { C as E, g as H } from "./granularity.utils-
|
|
10
|
-
import { i as t, s as C } from "./component.inputs.constants-
|
|
11
|
-
import { p as A } from "./preview.data.constants
|
|
8
|
+
import { u as $ } from "./charts.fillGaps.hooks-jiTiggz5.js";
|
|
9
|
+
import { C as E, g as H } from "./granularity.utils-6awaMPKt.js";
|
|
10
|
+
import { i as t, s as C } from "./component.inputs.constants-BG91ceTQ.js";
|
|
11
|
+
import { p as A } from "./preview.data.constants-Dl21SzQi.js";
|
|
12
12
|
import { g as q } from "./clientContext.utils-DpB5KsfX.js";
|
|
13
13
|
const J = (e, s) => {
|
|
14
14
|
if (!e.data)
|
|
@@ -276,4 +276,4 @@ export {
|
|
|
276
276
|
ge as i,
|
|
277
277
|
he as l
|
|
278
278
|
};
|
|
279
|
-
//# sourceMappingURL=definition-
|
|
279
|
+
//# sourceMappingURL=definition-DpTi8wom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-BejgCcXe.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx","../src/components/charts/lines/LineChartDefaultPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport { LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartColors = getChartColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n chartColors,\n index,\n });\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.['dashedLine']\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.['fillUnderLine']),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, context.dataset.label) || ''}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n if (!onLineClicked) return;\n\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\n });\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\nexport type LineChartProProps = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartPro;\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 { LineChartProOptionsClickArg } from '../lines.utils';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'LineChartDefaultPro',\n label: 'Line Chart - Default',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [\n ...inputs.measures.inputs,\n { ...subInputs.boolean, name: 'fillUnderLine', label: 'Fill under line' },\n {\n ...subInputs.color,\n name: 'lineColor',\n label: 'Line color',\n },\n {\n ...subInputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n },\n {\n ...subInputs.boolean,\n name: 'dashedLine',\n label: 'Dashed line',\n defaultValue: false,\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'X-axis', name: 'xAxis' },\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.maxResults,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: 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 xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, xAxis ?? inputs.xAxis],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, xAxis, clientContext));\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartDefaultProState, (state: LineChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const lineChartDefaultPro = {\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":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartColors","getChartColors","backgroundColor","isColorValid","getDimensionMeasureColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartDefaultPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-DpTi8wom.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx","../src/components/charts/lines/LineChartDefaultPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport { LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartColors = getChartColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n chartColors,\n index,\n });\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.['dashedLine']\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.['fillUnderLine']),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, context.dataset.label) || ''}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n if (!onLineClicked) return;\n\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\n });\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\nexport type LineChartProProps = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartPro;\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 { LineChartProOptionsClickArg } from '../lines.utils';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'LineChartDefaultPro',\n label: 'Line Chart - Default',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [\n ...inputs.measures.inputs,\n { ...subInputs.boolean, name: 'fillUnderLine', label: 'Fill under line' },\n {\n ...subInputs.color,\n name: 'lineColor',\n label: 'Line color',\n },\n {\n ...subInputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n },\n {\n ...subInputs.boolean,\n name: 'dashedLine',\n label: 'Dashed line',\n defaultValue: false,\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'X-axis', name: 'xAxis' },\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.maxResults,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: 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 xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, xAxis ?? inputs.xAxis],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, xAxis, clientContext));\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartDefaultProState, (state: LineChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const lineChartDefaultPro = {\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":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartColors","getChartColors","backgroundColor","isColorValid","getDimensionMeasureColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartDefaultPro"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { m as z, j as L, G as E, V as G, l as C } from "./index-
|
|
1
|
+
import { m as z, j as L, G as E, V as G, l as C } from "./index-CRqo4KE4.js";
|
|
2
2
|
import { useTheme as U, definePreview as q } from "@embeddable.com/react";
|
|
3
|
-
import { g as B, a as H } from "./pies.utils-
|
|
4
|
-
import { g as J } from "./formatter.utils-
|
|
3
|
+
import { g as B, a as H } from "./pies.utils-BzSZvhCM.js";
|
|
4
|
+
import { g as J } from "./formatter.utils-DiP5ge3-.js";
|
|
5
5
|
import { a as K, r as N } from "./component.utils-Dua9clQJ.js";
|
|
6
|
-
import { C as Q } from "./ChartCard-
|
|
7
|
-
import { i as a, s as W } from "./component.inputs.constants-
|
|
8
|
-
import { p as i } from "./preview.data.constants
|
|
6
|
+
import { C as Q } from "./ChartCard-B7G4tcpW.js";
|
|
7
|
+
import { i as a, s as W } from "./component.inputs.constants-BG91ceTQ.js";
|
|
8
|
+
import { p as i } from "./preview.data.constants-Dl21SzQi.js";
|
|
9
9
|
const l = (e) => {
|
|
10
10
|
var u, c, p;
|
|
11
11
|
const t = U(), x = J(t);
|
|
@@ -154,4 +154,4 @@ export {
|
|
|
154
154
|
me as d,
|
|
155
155
|
le as i
|
|
156
156
|
};
|
|
157
|
-
//# sourceMappingURL=definition-
|
|
157
|
+
//# sourceMappingURL=definition-DqbJIilV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-DqbJIilV.js","sources":["../src/components/charts/pies/DonutLabelChartPro/index.tsx","../src/components/charts/pies/DonutLabelChartPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\nexport type DonutLabelChartProProps = DefaultPieChartProps & {\n innerLabelMeasure: Measure;\n innerLabelText?: string;\n resultsInnerLabel: DataResponse;\n};\n\nconst DonutChartPro = (props: DonutLabelChartProProps) => {\n const theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n i18nSetup(theme);\n\n const {\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n resultsInnerLabel,\n innerLabelMeasure,\n } = props;\n\n const { description, title, tooltip, innerLabelText, onSegmentClick } = resolveI18nProps(props);\n\n const { hideMenu } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\n\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n const label = themeFormatter.data(\n innerLabelMeasure,\n resultsInnerLabel?.data?.[0]?.[innerLabelMeasure.name],\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.donutLabelChartPro?.options ?? {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <DonutChart\n label={label}\n subLabel={innerLabelText}\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n","import { DataResponse, LoadDataRequest, Measure, Value, 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 { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'DonutLabelChartPro',\n label: 'Donut Label Chart',\n category: 'Pie Charts',\n inputs: [\n inputs.dataset,\n { ...inputs.measure, inputs: [...inputs.measure.inputs, subInputs.showValueAsPercentage] },\n inputs.dimension,\n { ...inputs.measure, name: 'innerLabelMeasure', label: 'Inner label measure' },\n {\n ...inputs.string,\n name: 'innerLabelText',\n label: 'Inner label text',\n description: 'Text to display inside the donut chart',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.maxLegendItems,\n inputs.showTooltips,\n inputs.showValueLabels,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked dimension',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measure: previewData.measure,\n results: previewData.results1Measure1Dimension,\n innerLabelText: 'Total',\n resultsInnerLabel: {\n isLoading: false,\n error: undefined,\n data: [{ users: 500 }],\n },\n innerLabelMeasure: {\n name: 'users',\n title: 'Users',\n nativeType: 'number',\n __type__: 'measure',\n } as Measure,\n showValueLabels: false,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst loadDataResultsInnerLabelArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.innerLabelMeasure],\n});\n\nconst loadDataResultsInnerLabel = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsInnerLabelArgs(inputs));\n\nconst events = {\n onSegmentClick: (value: { dimensionValue?: string }) => ({\n dimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n resultsInnerLabel: loadDataResultsInnerLabel(inputs),\n});\n\nexport const donutLabelChartPro = {\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 resultsInnerLabel: {\n loadDataArgs: loadDataResultsInnerLabelArgs,\n loadData: loadDataResultsInnerLabel,\n },\n} as const;\n"],"names":["DonutChartPro","props","theme","useTheme","themeFormatter","getThemeFormatter","i18nSetup","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","resultsInnerLabel","innerLabelMeasure","description","title","tooltip","innerLabelText","onSegmentClick","resolveI18nProps","hideMenu","data","getPieChartProData","handleSegmentClick","index","_b","_a","label","options","mergician","getPieChartProOptions","_c","jsx","ChartCard","DonutChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","loadDataResultsInnerLabelArgs","loadDataResultsInnerLabel","events","value","Value","donutLabelChartPro"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { j as r, V as l } from "./index-
|
|
1
|
+
import { j as r, V as l } from "./index-CRqo4KE4.js";
|
|
2
2
|
import { useTheme as g, definePreview as S } from "@embeddable.com/react";
|
|
3
|
-
import { E as v } from "./EditorCard-
|
|
3
|
+
import { E as v } from "./EditorCard-CMJ7shGD.js";
|
|
4
4
|
import { a as h, r as b } from "./component.utils-Dua9clQJ.js";
|
|
5
|
-
import { D as M } from "./DimensionAndMeasureSingleSelectField-
|
|
6
|
-
import { i as e } from "./component.inputs.constants-
|
|
7
|
-
import { p as s } from "./preview.data.constants
|
|
5
|
+
import { D as M } from "./DimensionAndMeasureSingleSelectField-BsHW3Y3v.js";
|
|
6
|
+
import { i as e } from "./component.inputs.constants-BG91ceTQ.js";
|
|
7
|
+
import { p as s } from "./preview.data.constants-Dl21SzQi.js";
|
|
8
8
|
const t = (a) => {
|
|
9
9
|
const n = g();
|
|
10
10
|
h(n);
|
|
@@ -92,4 +92,4 @@ export {
|
|
|
92
92
|
E as i,
|
|
93
93
|
T as m
|
|
94
94
|
};
|
|
95
|
-
//# sourceMappingURL=definition-
|
|
95
|
+
//# sourceMappingURL=definition-DrVDrvje.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-DrVDrvje.js","sources":["../src/components/editors/MeasureSingleSelectFieldPro/index.tsx","../src/components/editors/MeasureSingleSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type MeasureSingleSelectFieldProProps = {\n selectedMeasure?: Measure;\n measureOptions: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst MeasureSingleSelectFieldPro = (props: MeasureSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasure, measureOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Measure>\n selectedValue={selectedMeasure}\n options={measureOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureSingleSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureSingleSelectFieldPro',\n label: 'Measure Single Select Field',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n inputs.measureOptions,\n {\n ...inputs.measure,\n name: 'selectedMeasure',\n label: 'Selected measure',\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 measure updated',\n properties: [\n {\n name: 'value',\n label: 'Selected measure',\n type: 'measure',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure single-select value',\n type: 'measure',\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasure'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: value ?? Value.noFilter(),\n };\n },\n};\n\nexport const measureSingleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasure","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureSingleSelectFieldPro"],"mappings":";;;;;;;AAiBA,MAAMA,IAA8B,CAACC,MAA4C;AAC/E,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,iBAAAG,GAAiB,gBAAAC,GAAgB,WAAAC,GAAW,UAAAC,MAAaP,GAC3D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;8CC7BMS,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,kBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;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,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,iBAAiB;AAAA,MAC1B,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,gBAAgB,CAACC,EAAY,SAASA,EAAY,cAAc;AAAA,EAChE,UAAU,MAAM;AAClB,CAAC,GAEKtB,IAAQ,CAACiB,OACN;AAAA,EACL,GAAGA;AAAAA,EACH,gBAAgBA,EAAO,kBAAkB,CAAA;AAAC,IAIxCM,IAAS;AAAA,EACb,UAAU,CAACC,OACF;AAAA,IACL,OAAOA,KAASN,EAAM,SAAA;AAAA,EAAS;AAGrC,GAEaO,IAA8B;AAAA,EAAA,WACzCJ;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAnB;AAAA,IACA,QAAAuB;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { j as S, K as J, l as z } from "./index-
|
|
1
|
+
import { j as S, K as J, l as z } from "./index-CRqo4KE4.js";
|
|
2
2
|
import { useTheme as W, definePreview as $ } from "@embeddable.com/react";
|
|
3
3
|
import { a as G, r as Q, i as s } from "./component.utils-Dua9clQJ.js";
|
|
4
|
-
import { C as U } from "./ChartCard-
|
|
5
|
-
import { g as X } from "./formatter.utils-
|
|
4
|
+
import { C as U } from "./ChartCard-B7G4tcpW.js";
|
|
5
|
+
import { g as X } from "./formatter.utils-DiP5ge3-.js";
|
|
6
6
|
import { useEffect as Z } from "react";
|
|
7
7
|
import { g as x, a as ee } from "./timeRange.utils-CcP33PfM.js";
|
|
8
8
|
import { g as ae } from "./kpis.utils-DsZ2GzuB.js";
|
|
9
|
-
import { i as o } from "./component.inputs.constants-
|
|
10
|
-
import { p as c } from "./preview.data.constants
|
|
9
|
+
import { i as o } from "./component.inputs.constants-BG91ceTQ.js";
|
|
10
|
+
import { p as c } from "./preview.data.constants-Dl21SzQi.js";
|
|
11
11
|
import { g as A } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
12
|
const g = (e) => {
|
|
13
13
|
var h, y, P, C, b, R;
|
|
@@ -203,4 +203,4 @@ export {
|
|
|
203
203
|
ve as i,
|
|
204
204
|
De as k
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=definition-
|
|
206
|
+
//# sourceMappingURL=definition-Ds_TnTOC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-Bg3R-QHm.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/components/charts/kpis/KpiChartNumberComparisonPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberComparisonProProp = {\n changeFontSize?: number;\n comparisonPeriod?: string;\n displayChangeAsPercentage?: boolean;\n fontSize?: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n percentageDecimalPlaces?: number;\n comparisonDateRange: TimeRange;\n displayNullAs?: string;\n setComparisonDateRange?: (dateRange: TimeRange) => void;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const {\n hideMenu,\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n if (!setComparisonDateRange) return;\n\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n const resultsWithNullsHandled = getKpiResults(resultsCombined, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n trendFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n noPreviousDataLabel={i18n.t('charts.kpiChart.noPreviousData')}\n equalComparisonLabel={i18n.t('charts.kpiChart.equalComparison')}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { DataResponse, loadData, LoadDataRequest, TimeRange } 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 { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionTime, name: 'timeProperty', label: 'Time property' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.fontSize,\n {\n ...inputs.fontSize,\n name: 'changeFontSize',\n label: 'Trend font-size',\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n resultsComparison: previewData.results1MeasureVariant,\n primaryDateRange: undefined,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Today', from: undefined, to: undefined },\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 from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsComparisonArgs = (\n inputs: Inputs<typeof meta>,\n comparisonDateRange: TimeRange,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: comparisonDateRange,\n },\n ],\n});\n\nconst loadDataResultsComparison = (\n inputs: Inputs<typeof meta>,\n state: KpiChartNumberComparisonProState,\n clientContext: ThemeClientContext,\n): DataResponse | undefined => {\n if (inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsComparisonArgs(inputs, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n comparisonPeriod: inputs.comparisonPeriod as string | undefined,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadDataResults(inputs, clientContext),\n resultsComparison: loadDataResultsComparison(inputs, state, clientContext),\n});\n\nexport const kpiChartNumberComparisonPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsComparison: {\n loadDataArgs: loadDataResultsComparisonArgs,\n loadData: loadDataResultsComparison,\n },\n} as const;\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","hideMenu","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsComparisonArgs","loadDataResultsComparison","state","setState","kpiChartNumberComparisonPro"],"mappings":";;;;;;;;;;;AA+BA,MAAMA,IAA8B,CAACC,MAA2C;;AAC9E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,eAAAC,EAAA,IAAkBC,EAAiBR,CAAK,GACvE;AAAA,IACJ,UAAAS;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,+BAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,wBAAAC;AAAA,EAAA,IACErB;AAEJ,EAAAsB,EAAU,MAAM;AACd,QAAI,CAACD,EAAwB;AAE7B,UAAME,IAAyBC;AAAA,MAC7BR;AAAA,MACAL;AAAA,MACAV;AAAA,IAAA;AAEF,IAAAoB,EAAuBE,CAAsB;AAAA,EAC/C,GAAG,CAACZ,GAAkB,KAAK,UAAUK,CAAgB,GAAGf,CAAK,CAAC;AAE9D,QAAMwB,KAAgBC,KAAAC,IAAAV,EAAQ,SAAR,gBAAAU,EAAe,OAAf,gBAAAD,EAAoBX,EAAQ,OAC5Ca,IAAkBhB,KACpBiB,KAAAC,IAAAZ,KAAA,gBAAAA,EAAmB,SAAnB,gBAAAY,EAA0B,OAA1B,gBAAAD,EAA+Bd,EAAQ,QACvC,QAEEgB,IAAiBC,EAAkB/B,CAAK,GACxCgC,IAAiB,CAACC,MAA0BH,EAAe,KAAKhB,GAASmB,CAAa,GACtFC,IAAkB,MAAMC,GAAyBzB,GAAkBV,CAAK,EAAE,aAAa,IAEvFoC,IAAgC;AAAA,IACpC,WAAW,GAAQpB,EAAQ,aAAaC,KAAA,QAAAA,EAAmB;AAAA,IAC3D,MACE,EAACD,KAAA,QAAAA,EAAS,SAAQ,EAACC,KAAA,QAAAA,EAAmB,QAClC,SACA;AAAA,MACE,IAAIoB,IAAArB,EAAQ,SAAR,QAAAqB,EAAc,SACd,CAAC,EAAE,OAAOC,EAAK,EAAE,sBAAsB,GAAG,GAAGtB,EAAQ,KAAK,CAAC,EAAA,CAAG,IAC9D,CAAA;AAAA,MACJ,IAAIuB,IAAAtB,KAAA,gBAAAA,EAAmB,SAAnB,QAAAsB,EAAyB,SACzB,CAAC,EAAE,OAAOD,EAAK,EAAE,yBAAyB,GAAG,GAAGrB,EAAkB,KAAK,CAAC,EAAA,CAAG,IAC3E,CAAA;AAAA,IAAC;AAAA,EACP,GAGFuB,IAA0BC,GAAcL,GAAiBtB,GAAS,EAAQR,CAAc;AAE9F,SACEoC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB;AAAA;AAAA,QAErB;AAAA,UACE,MAAM;AAAA,UACN,OAAOF,EAAK,EAAE,cAAc;AAAA,UAC5B,YAAY;AAAA,UACZ,UAAU;AAAA,QAAA;AAAA,QAEZxB;AAAA,MAAA;AAAA,MAEF,cAAcE,EAAQ;AAAA,MACtB,aAAAZ;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAG;AAAA,MAEA,UAAAkC,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,eAAAtC;AAAA,UACA,OAAAkB;AAAA,UACA,iBAAiBY,EAAgB,YAAY,SAAYT;AAAA,UACzD,gBAAAK;AAAA,UACA,eAAenB;AAAA,UACf,eAAeJ;AAAA,UACf,oBAAoBS;AAAA,UACpB,wBAAwBN;AAAA,UACxB,iBAAAsB;AAAA,UACA,yBAAAf;AAAA,UACA,qBAAqBmB,EAAK,EAAE,gCAAgC;AAAA,UAC5D,sBAAsBA,EAAK,EAAE,iCAAiC;AAAA,QAAA;AAAA,MAAA;AAAA,IAChE;AAAA,EAAA;AAGN;;;8CCpHMO,KAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,eAAe,MAAM,gBAAgB,OAAO,gBAAA;AAAA,IACxD;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,GAMMC,IAAgB;AAAA,EACpB,SAAS,EAAE,GAAGC,EAAY,QAAA;AAAA,EAC1B,SAASA,EAAY;AAAA,EACrB,mBAAmBA,EAAY;AAAA,EAC/B,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,qBAAqB,EAAE,oBAAoB,SAAS,MAAM,QAAW,IAAI,OAAA;AAAA,EACzE,UAAU;AAAA,EACV,UAAU;AACZ,GAEMC,KAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAC1BN,GACAO,OACqB;AAAA,EACrB,MAAMP,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,OAAO;AAAA,EACvB,OAAO;AAAA,EACP,UAAUQ,EAAyBD,KAAA,gBAAAA,EAAe,QAAQ;AAAA,EAC1D,SACEP,EAAO,oBAAoBA,EAAO,eAC9B;AAAA,IACE;AAAA,MACE,UAAUA,EAAO;AAAA,MACjB,UAAU;AAAA,MACV,OAAOA,EAAO;AAAA,IAAA;AAAA,EAChB,IAEF;AACR,IAEMS,IAAkB,CACtBT,GACAO,MACiBG,EAASJ,EAAoBN,GAAQO,CAAa,CAAC,GAEhEI,IAAgC,CACpCX,GACAnC,GACA0C,OACqB;AAAA,EACrB,MAAMP,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,OAAO;AAAA,EACvB,OAAO;AAAA,EACP,UAAUQ,EAAyBD,KAAA,gBAAAA,EAAe,QAAQ;AAAA,EAC1D,SAAS;AAAA,IACP;AAAA,MACE,UAAUP,EAAO;AAAA,MACjB,UAAU;AAAA,MACV,OAAOnC;AAAA,IAAA;AAAA,EACT;AAEJ,IAEM+C,IAA4B,CAChCZ,GACAa,GACAN,MAC6B;AAC7B,MAAIP,EAAO,oBAAoBA,EAAO,iBAAgBa,KAAA,QAAAA,EAAO;AAC3D,WAAOH;AAAA,MACLC,EAA8BX,GAAQa,EAAM,qBAAqBN,CAAa;AAAA,IAAA;AAIpF,GAEMtD,KAAQ,CACZ+C,GACA,CAACa,GAAOC,CAAQ,GAIhBP,OACI;AAAA,EACJ,GAAGP;AAAAA,EACH,kBAAkBA,EAAO;AAAA,EACzB,qBAAqBa,KAAA,gBAAAA,EAAO;AAAA,EAC5B,wBAAwB,CAAChD,MAAmCiD,EAAS,EAAE,qBAAAjD,GAAqB;AAAA,EAC5F,SAAS4C,EAAgBT,GAAQO,CAAa;AAAA,EAC9C,mBAAmBK,EAA0BZ,GAAQa,GAAON,CAAa;AAC3E,IAEaQ,KAA8B;AAAA,EAAA,WACzCV;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAAhD;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcqD;AAAA,IACd,UAAUG;AAAA,EAAA;AAAA,EAEZ,mBAAmB;AAAA,IACjB,cAAcE;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
|
|
1
|
+
{"version":3,"file":"definition-Ds_TnTOC.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/components/charts/kpis/KpiChartNumberComparisonPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberComparisonProProp = {\n changeFontSize?: number;\n comparisonPeriod?: string;\n displayChangeAsPercentage?: boolean;\n fontSize?: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n percentageDecimalPlaces?: number;\n comparisonDateRange: TimeRange;\n displayNullAs?: string;\n setComparisonDateRange?: (dateRange: TimeRange) => void;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const {\n hideMenu,\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n if (!setComparisonDateRange) return;\n\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n const resultsWithNullsHandled = getKpiResults(resultsCombined, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n trendFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n noPreviousDataLabel={i18n.t('charts.kpiChart.noPreviousData')}\n equalComparisonLabel={i18n.t('charts.kpiChart.equalComparison')}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { DataResponse, loadData, LoadDataRequest, TimeRange } 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 { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionTime, name: 'timeProperty', label: 'Time property' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.fontSize,\n {\n ...inputs.fontSize,\n name: 'changeFontSize',\n label: 'Trend font-size',\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n resultsComparison: previewData.results1MeasureVariant,\n primaryDateRange: undefined,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Today', from: undefined, to: undefined },\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 from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsComparisonArgs = (\n inputs: Inputs<typeof meta>,\n comparisonDateRange: TimeRange,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: comparisonDateRange,\n },\n ],\n});\n\nconst loadDataResultsComparison = (\n inputs: Inputs<typeof meta>,\n state: KpiChartNumberComparisonProState,\n clientContext: ThemeClientContext,\n): DataResponse | undefined => {\n if (inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsComparisonArgs(inputs, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n comparisonPeriod: inputs.comparisonPeriod as string | undefined,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadDataResults(inputs, clientContext),\n resultsComparison: loadDataResultsComparison(inputs, state, clientContext),\n});\n\nexport const kpiChartNumberComparisonPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsComparison: {\n loadDataArgs: loadDataResultsComparisonArgs,\n loadData: loadDataResultsComparison,\n },\n} as const;\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","hideMenu","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsComparisonArgs","loadDataResultsComparison","state","setState","kpiChartNumberComparisonPro"],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { m as k, j as h, B as K, V as D } from "./index-
|
|
1
|
+
import { m as k, j as h, B as K, V as D } from "./index-CRqo4KE4.js";
|
|
2
2
|
import { useTheme as z, definePreview as F } from "@embeddable.com/react";
|
|
3
3
|
import { a as _, r as W } from "./component.utils-Dua9clQJ.js";
|
|
4
|
-
import { C as E } from "./ChartCard-
|
|
5
|
-
import { b as H, a as I } from "./bars.utils-
|
|
6
|
-
import { u as U } from "./charts.fillGaps.hooks-
|
|
7
|
-
import { C as q, g as J } from "./granularity.utils-
|
|
8
|
-
import { u as N, g as Q, a as Y, l as Z, b as $ } from "./bars.loadData.utils-
|
|
9
|
-
import { i as a } from "./component.inputs.constants-
|
|
10
|
-
import { p } from "./preview.data.constants
|
|
4
|
+
import { C as E } from "./ChartCard-B7G4tcpW.js";
|
|
5
|
+
import { b as H, a as I } from "./bars.utils-bcARQcN4.js";
|
|
6
|
+
import { u as U } from "./charts.fillGaps.hooks-jiTiggz5.js";
|
|
7
|
+
import { C as q, g as J } from "./granularity.utils-6awaMPKt.js";
|
|
8
|
+
import { u as N, g as Q, a as Y, l as Z, b as $ } from "./bars.loadData.utils-DGguWOaN.js";
|
|
9
|
+
import { i as a } from "./component.inputs.constants-BG91ceTQ.js";
|
|
10
|
+
import { p } from "./preview.data.constants-Dl21SzQi.js";
|
|
11
11
|
import { g as ee } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
12
|
const A = (e) => {
|
|
13
13
|
var b, f;
|
|
@@ -204,4 +204,4 @@ export {
|
|
|
204
204
|
Ae as b,
|
|
205
205
|
he as i
|
|
206
206
|
};
|
|
207
|
-
//# sourceMappingURL=definition-
|
|
207
|
+
//# sourceMappingURL=definition-LQPp0ihg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-NQQg5mwf.js","sources":["../src/components/charts/bars/BarChartGroupedPro/index.tsx","../src/components/charts/bars/BarChartGroupedPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\n\nexport type BarChartGroupedProProps = {\n groupBy: Dimension;\n measure: Measure;\n results?: DataResponse;\n resultsAxisOrder?: DataResponse;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n setAxisOrderAndCacheKey?: (values: string[], cacheKey: string) => void;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n xAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartGroupedPro = (props: BarChartGroupedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n groupBy,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxis,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: xAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: false, onBarClicked, data, dimension: xAxis },\n theme,\n ),\n theme.charts?.barChartGroupedPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\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 showTotalLabels={showTotalLabels}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedPro;\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';\n\nconst meta = {\n name: 'BarChartGroupedPro',\n label: 'Bar Chart - Grouped',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'xAxis', label: 'X-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.sortDirectionTopXAxis,\n inputs.limitTopXAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\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: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartGroupedProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n xAxis: 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: { axisDimensionValue?: string; groupingDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarChartGroupedProState, (state: BarChartGroupedProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopXAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: xAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopXAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\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.limitTopXAxis,\n axis: xAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: xAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopXAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartGroupedPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartGroupedPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","groupBy","measure","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxis","yAxisRangeMax","yAxisRangeMin","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","xAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","granularity","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartGroupedPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-LQPp0ihg.js","sources":["../src/components/charts/bars/BarChartGroupedPro/index.tsx","../src/components/charts/bars/BarChartGroupedPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\n\nexport type BarChartGroupedProProps = {\n groupBy: Dimension;\n measure: Measure;\n results?: DataResponse;\n resultsAxisOrder?: DataResponse;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n setAxisOrderAndCacheKey?: (values: string[], cacheKey: string) => void;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n xAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartGroupedPro = (props: BarChartGroupedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n groupBy,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxis,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: xAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: false, onBarClicked, data, dimension: xAxis },\n theme,\n ),\n theme.charts?.barChartGroupedPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\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 showTotalLabels={showTotalLabels}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedPro;\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';\n\nconst meta = {\n name: 'BarChartGroupedPro',\n label: 'Bar Chart - Grouped',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'xAxis', label: 'X-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.sortDirectionTopXAxis,\n inputs.limitTopXAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\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: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartGroupedProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n xAxis: 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: { axisDimensionValue?: string; groupingDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarChartGroupedProState, (state: BarChartGroupedProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopXAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: xAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopXAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\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.limitTopXAxis,\n axis: xAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: xAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopXAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartGroupedPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartGroupedPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","groupBy","measure","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxis","yAxisRangeMax","yAxisRangeMin","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","xAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","granularity","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartGroupedPro"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { m as j, j as p, P as M, V as A, l as y } from "./index-
|
|
1
|
+
import { m as j, j as p, P as M, V as A, l as y } from "./index-CRqo4KE4.js";
|
|
2
2
|
import { useTheme as I, definePreview as T } from "@embeddable.com/react";
|
|
3
|
-
import { g as _, a as O } from "./pies.utils-
|
|
3
|
+
import { g as _, a as O } from "./pies.utils-BzSZvhCM.js";
|
|
4
4
|
import { a as R, r as z } from "./component.utils-Dua9clQJ.js";
|
|
5
|
-
import { C as E } from "./ChartCard-
|
|
6
|
-
import { i as s, s as F } from "./component.inputs.constants-
|
|
7
|
-
import { p as i } from "./preview.data.constants
|
|
5
|
+
import { C as E } from "./ChartCard-B7G4tcpW.js";
|
|
6
|
+
import { i as s, s as F } from "./component.inputs.constants-BG91ceTQ.js";
|
|
7
|
+
import { p as i } from "./preview.data.constants-Dl21SzQi.js";
|
|
8
8
|
const r = (e) => {
|
|
9
9
|
var m;
|
|
10
10
|
const t = I();
|
|
@@ -119,4 +119,4 @@ export {
|
|
|
119
119
|
Y as i,
|
|
120
120
|
Z as p
|
|
121
121
|
};
|
|
122
|
-
//# sourceMappingURL=definition-
|
|
122
|
+
//# sourceMappingURL=definition-P3zQ1auU.js.map
|