@embeddable.com/remarkable-pro 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChartPro.js +1 -1
- package/dist/BarChartDefaultHorizontalPro.js +1 -1
- package/dist/BarChartDefaultPro.js +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +1 -1
- package/dist/BarChartGroupedPro.js +1 -1
- package/dist/BarChartStackedHorizontalPro.js +1 -1
- package/dist/BarChartStackedPro.js +1 -1
- package/dist/BarLineChartPro.js +1 -1
- package/dist/BubbleChartPro.js +1 -1
- package/dist/{ChartCard-Zy5lPApV.js → ChartCard-vJK2ZRxA.js} +3 -3
- package/dist/{ChartCard-Zy5lPApV.js.map → ChartCard-vJK2ZRxA.js.map} +1 -1
- package/dist/{Color.type.emb-DE4-dQUK.js → Color.type.emb-CZ94Bl2q.js} +2 -2
- package/dist/{Color.type.emb-DE4-dQUK.js.map → Color.type.emb-CZ94Bl2q.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-C4qGcB0l.js → DimensionAndMeasureSingleSelectField-CzvEsLDH.js} +3 -3
- package/dist/{DimensionAndMeasureSingleSelectField-C4qGcB0l.js.map → DimensionAndMeasureSingleSelectField-CzvEsLDH.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-DivoetAt.js → EditorCard-Cbb_bmWn.js} +3 -3
- package/dist/{EditorCard-DivoetAt.js.map → EditorCard-Cbb_bmWn.js.map} +1 -1
- package/dist/FilterBuilderPro.js +1 -1
- package/dist/{GranularitySelectField-CTdKK_wT.js → GranularitySelectField-D-53pTVr.js} +3 -3
- package/dist/{GranularitySelectField-CTdKK_wT.js.map → GranularitySelectField-D-53pTVr.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-cNY-BCjc.js → IconAlertCircle-BEJD8szQ.js} +2 -2
- package/dist/{IconAlertCircle-cNY-BCjc.js.map → IconAlertCircle-BEJD8szQ.js.map} +1 -1
- package/dist/{IconCalendarFilled-BO9AbeNW.js → IconCalendarFilled-FzYUS8c2.js} +2 -2
- package/dist/{IconCalendarFilled-BO9AbeNW.js.map → IconCalendarFilled-FzYUS8c2.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +1 -1
- package/dist/KpiChartNumberPro.js +1 -1
- package/dist/LineChartComparisonDefaultPro.js +1 -1
- package/dist/LineChartComparisonWithKpiTabsPro.js +1 -1
- package/dist/LineChartDefaultPro.js +1 -1
- package/dist/LineChartGroupedPro.js +1 -1
- package/dist/LineChartWithKpiTabsPro.js +1 -1
- package/dist/{Markdown.type.emb-DdfstJa9.js → Markdown.type.emb-DQBx8Mpr.js} +2 -2
- package/dist/{Markdown.type.emb-DdfstJa9.js.map → Markdown.type.emb-DQBx8Mpr.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/ScatterChartPro.js +1 -1
- package/dist/SingleSelectFieldPro.js +1 -1
- package/dist/TableChartPaginated.js +1 -1
- package/dist/TableScrollable.js +1 -1
- package/dist/TextFieldPro.js +1 -1
- package/dist/{af-BnPGuyoZ.js → af-DVk4xLOh.js} +3 -3
- package/dist/{af-BnPGuyoZ.js.map → af-DVk4xLOh.js.map} +1 -1
- package/dist/{am-CTht91gI.js → am-Dl4pPkq9.js} +3 -3
- package/dist/{am-CTht91gI.js.map → am-Dl4pPkq9.js.map} +1 -1
- package/dist/{ar-D5oXffSK.js → ar-8ZCDV2GZ.js} +3 -3
- package/dist/{ar-D5oXffSK.js.map → ar-8ZCDV2GZ.js.map} +1 -1
- package/dist/{az-BuBcuMxD.js → az-DbwDWR6n.js} +3 -3
- package/dist/{az-BuBcuMxD.js.map → az-DbwDWR6n.js.map} +1 -1
- package/dist/{bars.loadData.utils--qcznJ8U.js → bars.loadData.utils-KNlmFRwS.js} +4 -4
- package/dist/{bars.loadData.utils--qcznJ8U.js.map → bars.loadData.utils-KNlmFRwS.js.map} +1 -1
- package/dist/{bars.utils-EERAVU5z.js → bars.utils-COH_FQZE.js} +5 -5
- package/dist/{bars.utils-EERAVU5z.js.map → bars.utils-COH_FQZE.js.map} +1 -1
- package/dist/{be-6TDMuRI-.js → be-C8nkKgfH.js} +3 -3
- package/dist/{be-6TDMuRI-.js.map → be-C8nkKgfH.js.map} +1 -1
- package/dist/{bg-D7EFOpXU.js → bg-C3VaHAOu.js} +3 -3
- package/dist/{bg-D7EFOpXU.js.map → bg-C3VaHAOu.js.map} +1 -1
- package/dist/{bi-DMAheplM.js → bi-_yuu6ndP.js} +3 -3
- package/dist/{bi-DMAheplM.js.map → bi-_yuu6ndP.js.map} +1 -1
- package/dist/{bm-BiviiOQo.js → bm-BidF6wAo.js} +3 -3
- package/dist/{bm-BiviiOQo.js.map → bm-BidF6wAo.js.map} +1 -1
- package/dist/{bn-C7hG6XMF.js → bn-Bu3qv06g.js} +3 -3
- package/dist/{bn-C7hG6XMF.js.map → bn-Bu3qv06g.js.map} +1 -1
- package/dist/{bo-DrDTPraW.js → bo-CWNf1Z0m.js} +3 -3
- package/dist/{bo-DrDTPraW.js.map → bo-CWNf1Z0m.js.map} +1 -1
- package/dist/{br-Bah-lsa8.js → br-CWEgGrW3.js} +3 -3
- package/dist/{br-Bah-lsa8.js.map → br-CWEgGrW3.js.map} +1 -1
- package/dist/{bs-zyGkjpbD.js → bs-DlDCTfpd.js} +3 -3
- package/dist/{bs-zyGkjpbD.js.map → bs-DlDCTfpd.js.map} +1 -1
- package/dist/{ca-DCjvA_6e.js → ca-BdyIUyTt.js} +3 -3
- package/dist/{ca-DCjvA_6e.js.map → ca-BdyIUyTt.js.map} +1 -1
- package/dist/{charts.fillGaps.hooks-BemPBhvC.js → charts.fillGaps.hooks-BkJ8-vFc.js} +6 -6
- package/dist/{charts.fillGaps.hooks-BemPBhvC.js.map → charts.fillGaps.hooks-BkJ8-vFc.js.map} +1 -1
- package/dist/{charts.utils-DtGWPIVa.js → charts.utils-BaFvl6O-.js} +2 -2
- package/dist/{charts.utils-DtGWPIVa.js.map → charts.utils-BaFvl6O-.js.map} +1 -1
- package/dist/{component.inputs.constants-DoBT8ykS.js → component.inputs.constants-fbYKhm5a.js} +4 -4
- package/dist/{component.inputs.constants-DoBT8ykS.js.map → component.inputs.constants-fbYKhm5a.js.map} +1 -1
- package/dist/components/charts/pies/pies.utils.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.emb.d.ts +7 -0
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.emb.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.utils.d.ts +6 -0
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.utils.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/definition.d.ts +15 -0
- package/dist/components/editors/FilterBuilderPro/definition.d.ts.map +1 -1
- package/dist/{cs-Dx5Ov9fp.js → cs-pKj2EJs9.js} +3 -3
- package/dist/{cs-Dx5Ov9fp.js.map → cs-pKj2EJs9.js.map} +1 -1
- package/dist/{cv-BkDAzcmE.js → cv-JwZydyn-.js} +3 -3
- package/dist/{cv-BkDAzcmE.js.map → cv-JwZydyn-.js.map} +1 -1
- package/dist/{cy-BIwudn52.js → cy-b1OWJ_BK.js} +3 -3
- package/dist/{cy-BIwudn52.js.map → cy-b1OWJ_BK.js.map} +1 -1
- package/dist/{da-DMzGkzN0.js → da-Dz8c2rdE.js} +3 -3
- package/dist/{da-DMzGkzN0.js.map → da-Dz8c2rdE.js.map} +1 -1
- package/dist/dates.utils-C9E_-qY_.js +169 -0
- package/dist/{dates.utils-LPINyM3w.js.map → dates.utils-C9E_-qY_.js.map} +1 -1
- package/dist/{de-DN_srl9H.js → de-Wffqf4e3.js} +3 -3
- package/dist/{de-DN_srl9H.js.map → de-Wffqf4e3.js.map} +1 -1
- package/dist/{definition-CRNmzeNB.js → definition-1VG74E3G.js} +9 -9
- package/dist/{definition-CRNmzeNB.js.map → definition-1VG74E3G.js.map} +1 -1
- package/dist/{definition-DpoIUA3D.js → definition-1lXxtDr_.js} +10 -10
- package/dist/{definition-DpoIUA3D.js.map → definition-1lXxtDr_.js.map} +1 -1
- package/dist/{definition-b7m3sPDx.js → definition-1tJ6JNc3.js} +5 -5
- package/dist/{definition-b7m3sPDx.js.map → definition-1tJ6JNc3.js.map} +1 -1
- package/dist/{definition-rAPgW-Dv.js → definition-B4hvVXOu.js} +6 -6
- package/dist/{definition-rAPgW-Dv.js.map → definition-B4hvVXOu.js.map} +1 -1
- package/dist/{definition-CbuWm1Cr.js → definition-B7uGaJdr.js} +6 -6
- package/dist/{definition-CbuWm1Cr.js.map → definition-B7uGaJdr.js.map} +1 -1
- package/dist/{definition-B42wB3V0.js → definition-BIVF_-JZ.js} +10 -10
- package/dist/{definition-B42wB3V0.js.map → definition-BIVF_-JZ.js.map} +1 -1
- package/dist/{definition-CrKiGiWI.js → definition-BQhvS5Uf.js} +6 -6
- package/dist/{definition-CrKiGiWI.js.map → definition-BQhvS5Uf.js.map} +1 -1
- package/dist/{definition-BCAbpJor.js → definition-BcMDra-w.js} +7 -7
- package/dist/{definition-BCAbpJor.js.map → definition-BcMDra-w.js.map} +1 -1
- package/dist/{definition-BBvfXzrC.js → definition-BuyEJt9L.js} +9 -9
- package/dist/{definition-BBvfXzrC.js.map → definition-BuyEJt9L.js.map} +1 -1
- package/dist/{definition-BjOqcOqq.js → definition-C5pzL_zJ.js} +8 -8
- package/dist/{definition-BjOqcOqq.js.map → definition-C5pzL_zJ.js.map} +1 -1
- package/dist/{definition-CoQqvrmk.js → definition-C6juNb2Y.js} +6 -6
- package/dist/{definition-CoQqvrmk.js.map → definition-C6juNb2Y.js.map} +1 -1
- package/dist/{definition-DA2tu_w2.js → definition-CIiTgE2t.js} +6 -6
- package/dist/{definition-DA2tu_w2.js.map → definition-CIiTgE2t.js.map} +1 -1
- package/dist/{definition-CPWqHdnm.js → definition-CIwiNXCk.js} +10 -10
- package/dist/{definition-CPWqHdnm.js.map → definition-CIwiNXCk.js.map} +1 -1
- package/dist/{definition-BvvALkSQ.js → definition-CKlRV8uI.js} +4 -4
- package/dist/{definition-BvvALkSQ.js.map → definition-CKlRV8uI.js.map} +1 -1
- package/dist/{definition-Na_Pv1dO.js → definition-CS6AhiKr.js} +7 -7
- package/dist/{definition-Na_Pv1dO.js.map → definition-CS6AhiKr.js.map} +1 -1
- package/dist/{definition-bFY2ZdpP.js → definition-CVt8II-L.js} +10 -10
- package/dist/{definition-bFY2ZdpP.js.map → definition-CVt8II-L.js.map} +1 -1
- package/dist/{definition-CqWyAkfl.js → definition-Cbg31G0n.js} +11 -11
- package/dist/{definition-CqWyAkfl.js.map → definition-Cbg31G0n.js.map} +1 -1
- package/dist/{definition-CUU7xEkm.js → definition-CeaJ6t8l.js} +6 -6
- package/dist/{definition-CUU7xEkm.js.map → definition-CeaJ6t8l.js.map} +1 -1
- package/dist/{definition-BJxdz1Ob.js → definition-CjEarvpp.js} +9 -9
- package/dist/{definition-BJxdz1Ob.js.map → definition-CjEarvpp.js.map} +1 -1
- package/dist/{definition-UOoBAs3K.js → definition-CrY-KxcB.js} +5 -5
- package/dist/{definition-UOoBAs3K.js.map → definition-CrY-KxcB.js.map} +1 -1
- package/dist/{definition-BvkXg6sa.js → definition-D-X2GKga.js} +3 -3
- package/dist/{definition-BvkXg6sa.js.map → definition-D-X2GKga.js.map} +1 -1
- package/dist/{definition-C2QnSx4_.js → definition-D1CaX3N2.js} +9 -9
- package/dist/{definition-C2QnSx4_.js.map → definition-D1CaX3N2.js.map} +1 -1
- package/dist/definition-D40bQkjQ.js +623 -0
- package/dist/definition-D40bQkjQ.js.map +1 -0
- package/dist/{definition-CsPv349D.js → definition-DMqj68UN.js} +6 -6
- package/dist/{definition-CsPv349D.js.map → definition-DMqj68UN.js.map} +1 -1
- package/dist/{definition-DNemWu7r.js → definition-DQDCEhmb.js} +9 -9
- package/dist/{definition-DNemWu7r.js.map → definition-DQDCEhmb.js.map} +1 -1
- package/dist/{definition-Cvsjgc9X.js → definition-Dc_TrXRo.js} +7 -7
- package/dist/{definition-Cvsjgc9X.js.map → definition-Dc_TrXRo.js.map} +1 -1
- package/dist/{definition-ARaGqiPK.js → definition-Dd5aNSMl.js} +7 -7
- package/dist/{definition-ARaGqiPK.js.map → definition-Dd5aNSMl.js.map} +1 -1
- package/dist/{definition-CtJ4b-tU.js → definition-DeWY1cm5.js} +9 -9
- package/dist/{definition-CtJ4b-tU.js.map → definition-DeWY1cm5.js.map} +1 -1
- package/dist/{definition-CGLcObd0.js → definition-Dp8zONZ9.js} +6 -6
- package/dist/{definition-CGLcObd0.js.map → definition-Dp8zONZ9.js.map} +1 -1
- package/dist/{definition-CRNAhkO1.js → definition-DyTQJeI5.js} +10 -10
- package/dist/{definition-CRNAhkO1.js.map → definition-DyTQJeI5.js.map} +1 -1
- package/dist/{definition-J3ahAeKj.js → definition-LHXBDYCt.js} +7 -7
- package/dist/{definition-J3ahAeKj.js.map → definition-LHXBDYCt.js.map} +1 -1
- package/dist/{definition-GqlaJ5X1.js → definition-NPav-piK.js} +6 -6
- package/dist/{definition-GqlaJ5X1.js.map → definition-NPav-piK.js.map} +1 -1
- package/dist/{definition-CgHnmzj0.js → definition-OYDtHqsj.js} +6 -6
- package/dist/{definition-CgHnmzj0.js.map → definition-OYDtHqsj.js.map} +1 -1
- package/dist/{definition-BbFyJKGT.js → definition-OfTv56Fr.js} +6 -6
- package/dist/{definition-BbFyJKGT.js.map → definition-OfTv56Fr.js.map} +1 -1
- package/dist/{definition-Br4qIMwa.js → definition-p-K0obLP.js} +8 -8
- package/dist/{definition-Br4qIMwa.js.map → definition-p-K0obLP.js.map} +1 -1
- package/dist/{definition-dPTP_SXO.js → definition-wQH12u2l.js} +6 -6
- package/dist/{definition-dPTP_SXO.js.map → definition-wQH12u2l.js.map} +1 -1
- package/dist/{definition-Cr47HSkP.js → definition-wx3BgO0U.js} +3 -3
- package/dist/{definition-Cr47HSkP.js.map → definition-wx3BgO0U.js.map} +1 -1
- package/dist/{definition-CGSdiMgK.js → definition-yU1a-3he.js} +7 -7
- package/dist/{definition-CGSdiMgK.js.map → definition-yU1a-3he.js.map} +1 -1
- package/dist/{dimension.utils-CB-LXCP5.js → dimension.utils-CfMwBpZv.js} +4 -4
- package/dist/{dimension.utils-CB-LXCP5.js.map → dimension.utils-CfMwBpZv.js.map} +1 -1
- package/dist/{dimensionsAndMeasures.utils-BolsWK6X.js → dimensionsAndMeasures.utils-DBUpWVdI.js} +2 -2
- package/dist/{dimensionsAndMeasures.utils-BolsWK6X.js.map → dimensionsAndMeasures.utils-DBUpWVdI.js.map} +1 -1
- package/dist/{dv-DqfOiAOa.js → dv-BIB4cIr3.js} +3 -3
- package/dist/{dv-DqfOiAOa.js.map → dv-BIB4cIr3.js.map} +1 -1
- package/dist/{el-DRazChj2.js → el-DecPhoOw.js} +3 -3
- package/dist/{el-DRazChj2.js.map → el-DecPhoOw.js.map} +1 -1
- package/dist/embeddable-components.json +60 -60
- package/dist/{en-Cbvl6b7O.js → en-BH1iNSBo.js} +2 -2
- package/dist/{en-Cbvl6b7O.js.map → en-BH1iNSBo.js.map} +1 -1
- package/dist/{eo-BHu_t0Eo.js → eo-2sbWzBNu.js} +3 -3
- package/dist/{eo-BHu_t0Eo.js.map → eo-2sbWzBNu.js.map} +1 -1
- package/dist/{es-cYnm2Hrv.js → es-DTnK70AU.js} +3 -3
- package/dist/{es-cYnm2Hrv.js.map → es-DTnK70AU.js.map} +1 -1
- package/dist/{et-xxrOegSp.js → et-CfluQBZa.js} +3 -3
- package/dist/{et-xxrOegSp.js.map → et-CfluQBZa.js.map} +1 -1
- package/dist/{eu-DhktYxVI.js → eu-DICitXMQ.js} +3 -3
- package/dist/{eu-DhktYxVI.js.map → eu-DICitXMQ.js.map} +1 -1
- package/dist/{fa-9WLmLDSh.js → fa-8NHeZRqq.js} +3 -3
- package/dist/{fa-9WLmLDSh.js.map → fa-8NHeZRqq.js.map} +1 -1
- package/dist/{fi-BaOUwI2P.js → fi-fWMVRl97.js} +3 -3
- package/dist/{fi-BaOUwI2P.js.map → fi-fWMVRl97.js.map} +1 -1
- package/dist/{fo-AY850tyv.js → fo-C1O08wtz.js} +3 -3
- package/dist/{fo-AY850tyv.js.map → fo-C1O08wtz.js.map} +1 -1
- package/dist/{formatter.utils-DE-_ADag.js → formatter.utils-DTeWPgjB.js} +3 -3
- package/dist/{formatter.utils-DE-_ADag.js.map → formatter.utils-DTeWPgjB.js.map} +1 -1
- package/dist/{fr-DuGU2qV3.js → fr-BydnUUdW.js} +3 -3
- package/dist/{fr-DuGU2qV3.js.map → fr-BydnUUdW.js.map} +1 -1
- package/dist/{fy-ByIsn3VC.js → fy-BhX27Bs_.js} +3 -3
- package/dist/{fy-ByIsn3VC.js.map → fy-BhX27Bs_.js.map} +1 -1
- package/dist/{ga-DO6N5UL5.js → ga-BgNhHt9o.js} +3 -3
- package/dist/{ga-DO6N5UL5.js.map → ga-BgNhHt9o.js.map} +1 -1
- package/dist/{gd-8Cpnoh3b.js → gd-CotFi26U.js} +3 -3
- package/dist/{gd-8Cpnoh3b.js.map → gd-CotFi26U.js.map} +1 -1
- package/dist/{gl-oWfq6hSQ.js → gl-MqAtQ87E.js} +3 -3
- package/dist/{gl-oWfq6hSQ.js.map → gl-MqAtQ87E.js.map} +1 -1
- package/dist/{granularity.utils-C_SX7zKB.js → granularity.utils-QXObIZwK.js} +3 -3
- package/dist/{granularity.utils-C_SX7zKB.js.map → granularity.utils-QXObIZwK.js.map} +1 -1
- package/dist/{gu-BTm5Ap5A.js → gu-DgyPhCmR.js} +3 -3
- package/dist/{gu-BTm5Ap5A.js.map → gu-DgyPhCmR.js.map} +1 -1
- package/dist/{he-Cd038LtN.js → he-BWzcUHao.js} +3 -3
- package/dist/{he-Cd038LtN.js.map → he-BWzcUHao.js.map} +1 -1
- package/dist/{hi-IFNUivAP.js → hi-mnIKOJcu.js} +3 -3
- package/dist/{hi-IFNUivAP.js.map → hi-mnIKOJcu.js.map} +1 -1
- package/dist/{hr-CldUxejD.js → hr-BiBHYhxc.js} +3 -3
- package/dist/{hr-CldUxejD.js.map → hr-BiBHYhxc.js.map} +1 -1
- package/dist/{ht-ByUbblsT.js → ht-BVzEs25Q.js} +3 -3
- package/dist/{ht-ByUbblsT.js.map → ht-BVzEs25Q.js.map} +1 -1
- package/dist/{hu-CPiHhaLJ.js → hu-B96nEj9k.js} +3 -3
- package/dist/{hu-CPiHhaLJ.js.map → hu-B96nEj9k.js.map} +1 -1
- package/dist/{id-5gnT8jF0.js → id-BsHRitQJ.js} +3 -3
- package/dist/{id-5gnT8jF0.js.map → id-BsHRitQJ.js.map} +1 -1
- package/dist/{index-BDd5cXFC.js → index-B2QrkfxN.js} +9856 -9856
- package/dist/{index-BDd5cXFC.js.map → index-B2QrkfxN.js.map} +1 -1
- package/dist/{index-DeFORjMe.js → index-BlU_I4TJ.js} +2 -2
- package/dist/{index-DeFORjMe.js.map → index-BlU_I4TJ.js.map} +1 -1
- package/dist/{index-DxChWz_f.js → index-DkFAcgse.js} +2 -2
- package/dist/{index-DxChWz_f.js.map → index-DkFAcgse.js.map} +1 -1
- package/dist/index.js +56 -56
- package/dist/{is-6wYxGbHC.js → is-DDEnq8-s.js} +3 -3
- package/dist/{is-6wYxGbHC.js.map → is-DDEnq8-s.js.map} +1 -1
- package/dist/{isoWeek-B5hq3zXR.js → isoWeek-BJLxGpkT.js} +2 -2
- package/dist/{isoWeek-B5hq3zXR.js.map → isoWeek-BJLxGpkT.js.map} +1 -1
- package/dist/{it-Bs7yFtoC.js → it-CHs9CU9o.js} +3 -3
- package/dist/{it-Bs7yFtoC.js.map → it-CHs9CU9o.js.map} +1 -1
- package/dist/{ja-KxYq1Keq.js → ja-BNNqIHAW.js} +3 -3
- package/dist/{ja-KxYq1Keq.js.map → ja-BNNqIHAW.js.map} +1 -1
- package/dist/{jv-Z59fnm9r.js → jv-Bq27yp6N.js} +3 -3
- package/dist/{jv-Z59fnm9r.js.map → jv-Bq27yp6N.js.map} +1 -1
- package/dist/{ka-C5stxZNq.js → ka-BcNKNbIF.js} +3 -3
- package/dist/{ka-C5stxZNq.js.map → ka-BcNKNbIF.js.map} +1 -1
- package/dist/{kk-Bjp2oS1M.js → kk-C06CV7WA.js} +3 -3
- package/dist/{kk-Bjp2oS1M.js.map → kk-C06CV7WA.js.map} +1 -1
- package/dist/{km-cCyErL-J.js → km-BJAKHpDI.js} +3 -3
- package/dist/{km-cCyErL-J.js.map → km-BJAKHpDI.js.map} +1 -1
- package/dist/{kn-Cn3e7R-p.js → kn-bVZDqIMr.js} +3 -3
- package/dist/{kn-Cn3e7R-p.js.map → kn-bVZDqIMr.js.map} +1 -1
- package/dist/{ko-DwbRGcg_.js → ko-DYrLdhLX.js} +3 -3
- package/dist/{ko-DwbRGcg_.js.map → ko-DYrLdhLX.js.map} +1 -1
- package/dist/{ku-D8V8DLkP.js → ku-zZ-FSUXW.js} +3 -3
- package/dist/{ku-D8V8DLkP.js.map → ku-zZ-FSUXW.js.map} +1 -1
- package/dist/{ky-DgKCQpit.js → ky-Bb7zcYSG.js} +3 -3
- package/dist/{ky-DgKCQpit.js.map → ky-Bb7zcYSG.js.map} +1 -1
- package/dist/{lb-B1H3ev7O.js → lb-BS4TwDlQ.js} +3 -3
- package/dist/{lb-B1H3ev7O.js.map → lb-BS4TwDlQ.js.map} +1 -1
- package/dist/{lo-BTLR-4Ua.js → lo-CbGAS55H.js} +3 -3
- package/dist/{lo-BTLR-4Ua.js.map → lo-CbGAS55H.js.map} +1 -1
- package/dist/{lt-CpVBw6AZ.js → lt-B_lCtZi0.js} +3 -3
- package/dist/{lt-CpVBw6AZ.js.map → lt-B_lCtZi0.js.map} +1 -1
- package/dist/{lv-CHWUynv0.js → lv-Crzp2An-.js} +3 -3
- package/dist/{lv-CHWUynv0.js.map → lv-Crzp2An-.js.map} +1 -1
- package/dist/{me-BPihshNS.js → me-CJK7e5fi.js} +3 -3
- package/dist/{me-BPihshNS.js.map → me-CJK7e5fi.js.map} +1 -1
- package/dist/meta/FilterBuilderPro.meta.json +8 -0
- package/dist/{mi-Cb-2ijwY.js → mi-DqDkvjR1.js} +3 -3
- package/dist/{mi-Cb-2ijwY.js.map → mi-DqDkvjR1.js.map} +1 -1
- package/dist/{mk-BH7eZmqu.js → mk-D6vMGd9G.js} +3 -3
- package/dist/{mk-BH7eZmqu.js.map → mk-D6vMGd9G.js.map} +1 -1
- package/dist/{ml-CwYt0YaD.js → ml-BIHBYoFg.js} +3 -3
- package/dist/{ml-CwYt0YaD.js.map → ml-BIHBYoFg.js.map} +1 -1
- package/dist/{mn-BQDV_tLC.js → mn-B7bHe97Q.js} +3 -3
- package/dist/{mn-BQDV_tLC.js.map → mn-B7bHe97Q.js.map} +1 -1
- package/dist/{mr-Cz2meNaV.js → mr-HmL5b6tB.js} +3 -3
- package/dist/{mr-Cz2meNaV.js.map → mr-HmL5b6tB.js.map} +1 -1
- package/dist/{ms-Drl8Gge6.js → ms-De5TIMcq.js} +3 -3
- package/dist/{ms-Drl8Gge6.js.map → ms-De5TIMcq.js.map} +1 -1
- package/dist/{mt-Biv_dLXp.js → mt-9pAq9YGh.js} +3 -3
- package/dist/{mt-Biv_dLXp.js.map → mt-9pAq9YGh.js.map} +1 -1
- package/dist/{my-BHy9cEF_.js → my-DrGVr1eL.js} +3 -3
- package/dist/{my-BHy9cEF_.js.map → my-DrGVr1eL.js.map} +1 -1
- package/dist/{nb-BMrTF3LP.js → nb-CH4tdJgX.js} +3 -3
- package/dist/{nb-BMrTF3LP.js.map → nb-CH4tdJgX.js.map} +1 -1
- package/dist/{ne-B-gxqF-u.js → ne-bqX_tw-5.js} +3 -3
- package/dist/{ne-B-gxqF-u.js.map → ne-bqX_tw-5.js.map} +1 -1
- package/dist/{nl-Cral7JEK.js → nl-DiKSdGs3.js} +3 -3
- package/dist/{nl-Cral7JEK.js.map → nl-DiKSdGs3.js.map} +1 -1
- package/dist/{nn-C1_ylJFR.js → nn-RRNd8gM2.js} +3 -3
- package/dist/{nn-C1_ylJFR.js.map → nn-RRNd8gM2.js.map} +1 -1
- package/dist/pies.utils-BBVEmW76.js +117 -0
- package/dist/pies.utils-BBVEmW76.js.map +1 -0
- package/dist/{pl-D2pKy9F1.js → pl-BC9AXTq4.js} +3 -3
- package/dist/{pl-D2pKy9F1.js.map → pl-BC9AXTq4.js.map} +1 -1
- package/dist/{preview.data.constants-B3oyUsaQ.js → preview.data.constants-TS-EhQXM.js} +2 -2
- package/dist/{preview.data.constants-B3oyUsaQ.js.map → preview.data.constants-TS-EhQXM.js.map} +1 -1
- package/dist/{pt-3Uvt8G16.js → pt-DQ72aRVd.js} +3 -3
- package/dist/{pt-3Uvt8G16.js.map → pt-DQ72aRVd.js.map} +1 -1
- package/dist/{quarterOfYear-B_Fe3-YM.js → quarterOfYear-00sn_6hm.js} +2 -2
- package/dist/{quarterOfYear-B_Fe3-YM.js.map → quarterOfYear-00sn_6hm.js.map} +1 -1
- package/dist/{ro-lXLM5wIH.js → ro-BNnv42sm.js} +3 -3
- package/dist/{ro-lXLM5wIH.js.map → ro-BNnv42sm.js.map} +1 -1
- package/dist/{ru-CvRL7AkU.js → ru-BSmcfKUq.js} +3 -3
- package/dist/{ru-CvRL7AkU.js.map → ru-BSmcfKUq.js.map} +1 -1
- package/dist/{rw-BWaAHq7K.js → rw-CQE0hxrP.js} +3 -3
- package/dist/{rw-BWaAHq7K.js.map → rw-CQE0hxrP.js.map} +1 -1
- package/dist/{sd-DwN_Idzz.js → sd-BYf2ptic.js} +3 -3
- package/dist/{sd-DwN_Idzz.js.map → sd-BYf2ptic.js.map} +1 -1
- package/dist/{se-BnIu6dPe.js → se-CQ5X5rMI.js} +3 -3
- package/dist/{se-BnIu6dPe.js.map → se-CQ5X5rMI.js.map} +1 -1
- package/dist/{si-C7noOV3G.js → si-7rXjJq_m.js} +3 -3
- package/dist/{si-C7noOV3G.js.map → si-7rXjJq_m.js.map} +1 -1
- package/dist/{sk-aGMXL0jT.js → sk-DWNa8r0N.js} +3 -3
- package/dist/{sk-aGMXL0jT.js.map → sk-DWNa8r0N.js.map} +1 -1
- package/dist/{sl-CSDUQXp6.js → sl-9ABLKmxX.js} +3 -3
- package/dist/{sl-CSDUQXp6.js.map → sl-9ABLKmxX.js.map} +1 -1
- package/dist/{sq-BWIZHH0T.js → sq-BrP88yYY.js} +3 -3
- package/dist/{sq-BWIZHH0T.js.map → sq-BrP88yYY.js.map} +1 -1
- package/dist/{sr-DWXLYUZl.js → sr-Dm2GqdR0.js} +3 -3
- package/dist/{sr-DWXLYUZl.js.map → sr-Dm2GqdR0.js.map} +1 -1
- package/dist/{ss-DRoAfKgl.js → ss-Dr5vCGBf.js} +3 -3
- package/dist/{ss-DRoAfKgl.js.map → ss-Dr5vCGBf.js.map} +1 -1
- package/dist/{sv-COvXHvfd.js → sv-Ci0RO_mT.js} +3 -3
- package/dist/{sv-COvXHvfd.js.map → sv-Ci0RO_mT.js.map} +1 -1
- package/dist/{sw-DVBjWTn7.js → sw-BvnivSP-.js} +3 -3
- package/dist/{sw-DVBjWTn7.js.map → sw-BvnivSP-.js.map} +1 -1
- package/dist/{ta-D_B2aKTU.js → ta-BJa_mhkU.js} +3 -3
- package/dist/{ta-D_B2aKTU.js.map → ta-BJa_mhkU.js.map} +1 -1
- package/dist/{tables.utils-DqlM19s-.js → tables.utils-DjTQZETe.js} +4 -4
- package/dist/{tables.utils-DqlM19s-.js.map → tables.utils-DjTQZETe.js.map} +1 -1
- package/dist/{te-ZeV91eOU.js → te-Y7V4QUdY.js} +3 -3
- package/dist/{te-ZeV91eOU.js.map → te-Y7V4QUdY.js.map} +1 -1
- package/dist/{tet-DVZKHkE5.js → tet-DcF_GgYj.js} +3 -3
- package/dist/{tet-DVZKHkE5.js.map → tet-DcF_GgYj.js.map} +1 -1
- package/dist/{tg-BzwSdhGO.js → tg-DXTwq9M7.js} +3 -3
- package/dist/{tg-BzwSdhGO.js.map → tg-DXTwq9M7.js.map} +1 -1
- package/dist/{th-Cjw35Sul.js → th-CZZzAlP7.js} +3 -3
- package/dist/{th-Cjw35Sul.js.map → th-CZZzAlP7.js.map} +1 -1
- package/dist/{theme.constants-T0AFNuJR.js → theme.constants-C7m2le9e.js} +6 -6
- package/dist/{theme.constants-T0AFNuJR.js.map → theme.constants-C7m2le9e.js.map} +1 -1
- package/dist/{tk-BJwa-YKB.js → tk-BS4hPNFS.js} +3 -3
- package/dist/{tk-BJwa-YKB.js.map → tk-BS4hPNFS.js.map} +1 -1
- package/dist/{tlh-Bd8Hj-rX.js → tlh-CGzV6NnY.js} +3 -3
- package/dist/{tlh-Bd8Hj-rX.js.map → tlh-CGzV6NnY.js.map} +1 -1
- package/dist/{tr-__Yjprt-.js → tr-DvJ03uKN.js} +3 -3
- package/dist/{tr-__Yjprt-.js.map → tr-DvJ03uKN.js.map} +1 -1
- package/dist/{tzl-DLj-cE5y.js → tzl-zMtpPxk1.js} +3 -3
- package/dist/{tzl-DLj-cE5y.js.map → tzl-zMtpPxk1.js.map} +1 -1
- package/dist/{tzm-BbgReqpM.js → tzm-e-7OkNk9.js} +3 -3
- package/dist/{tzm-BbgReqpM.js.map → tzm-e-7OkNk9.js.map} +1 -1
- package/dist/{uk-CkEIyMZ2.js → uk-3Vs04yWV.js} +3 -3
- package/dist/{uk-CkEIyMZ2.js.map → uk-3Vs04yWV.js.map} +1 -1
- package/dist/{ur-CMRddQHy.js → ur-C_79yLWw.js} +3 -3
- package/dist/{ur-CMRddQHy.js.map → ur-C_79yLWw.js.map} +1 -1
- package/dist/{utc-CiYVTKd5.js → utc-BBQUJZ4Q.js} +2 -2
- package/dist/{utc-CiYVTKd5.js.map → utc-BBQUJZ4Q.js.map} +1 -1
- package/dist/{uz-CKEHZNva.js → uz-Dt3Bfbb4.js} +3 -3
- package/dist/{uz-CKEHZNva.js.map → uz-Dt3Bfbb4.js.map} +1 -1
- package/dist/{vi-DDguFMAp.js → vi-ByMnU65y.js} +3 -3
- package/dist/{vi-DDguFMAp.js.map → vi-ByMnU65y.js.map} +1 -1
- package/dist/{x-pseudo-G09tNhGy.js → x-pseudo-DcYMaWxG.js} +3 -3
- package/dist/{x-pseudo-G09tNhGy.js.map → x-pseudo-DcYMaWxG.js.map} +1 -1
- package/dist/{yo-C2uzXj00.js → yo-D2_9CIov.js} +3 -3
- package/dist/{yo-C2uzXj00.js.map → yo-D2_9CIov.js.map} +1 -1
- package/dist/{zh-cn-Cq0odDRx.js → zh-cn-BwbqUaCr.js} +3 -3
- package/dist/{zh-cn-Cq0odDRx.js.map → zh-cn-BwbqUaCr.js.map} +1 -1
- package/dist/{zh-hk-7tX7IidE.js → zh-hk-CPNUGQz5.js} +3 -3
- package/dist/{zh-hk-7tX7IidE.js.map → zh-hk-CPNUGQz5.js.map} +1 -1
- package/dist/{zh-tw-LFc2ke0C.js → zh-tw-DT8Xcxf8.js} +3 -3
- package/dist/{zh-tw-LFc2ke0C.js.map → zh-tw-DT8Xcxf8.js.map} +1 -1
- package/package.json +2 -2
- package/dist/dates.utils-LPINyM3w.js +0 -169
- package/dist/definition-DP17cDpI.js +0 -603
- package/dist/definition-DP17cDpI.js.map +0 -1
- package/dist/pies.utils-Drvky2f7.js +0 -112
- package/dist/pies.utils-Drvky2f7.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-BJxdz1Ob.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 { getDimensionWithoutTruncation } from '../../charts.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 },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures } = 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(getDimensionWithoutTruncation(dimension), label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${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 };\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.types';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { createSimpleClickHandler } from '../../charts.utils';\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 granularity?: Granularity;\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 granularity,\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({ data, dimension: xAxis, measures }, theme);\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension: xAxis,\n granularity,\n onClicked: onLineClicked,\n });\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 onClick={handleClick}\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.types';\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 description:\n 'Line chart with one time dimension on the x-axis and one or more measures. Use for time-series trends.',\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 name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\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 return {\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n };\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","mergician","value","context","label","getDimensionWithoutTruncation","raw","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","granularity","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","onLineClicked","results","useFillGaps","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","lineChartDefaultPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-CjEarvpp.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 { getDimensionWithoutTruncation } from '../../charts.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 },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures } = 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(getDimensionWithoutTruncation(dimension), label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${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 };\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.types';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { createSimpleClickHandler } from '../../charts.utils';\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 granularity?: Granularity;\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 granularity,\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({ data, dimension: xAxis, measures }, theme);\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension: xAxis,\n granularity,\n onClicked: onLineClicked,\n });\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 onClick={handleClick}\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.types';\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 description:\n 'Line chart with one time dimension on the x-axis and one or more measures. Use for time-series trends.',\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 name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\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 return {\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n };\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","mergician","value","context","label","getDimensionWithoutTruncation","raw","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","granularity","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","onLineClicked","results","useFillGaps","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","lineChartDefaultPro"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useTheme as y, definePreview as f } from "@embeddable.com/react";
|
|
2
|
-
import { j as i, V as b } from "./index-
|
|
3
|
-
import { G as e, i as a } from "./component.inputs.constants-
|
|
2
|
+
import { j as i, V as b } from "./index-B2QrkfxN.js";
|
|
3
|
+
import { G as e, i as a } from "./component.inputs.constants-fbYKhm5a.js";
|
|
4
4
|
import { i as v, r as h } from "./component.utils-oQMZT7TK.js";
|
|
5
|
-
import { E as S } from "./EditorCard-
|
|
6
|
-
import { G as P } from "./GranularitySelectField-
|
|
5
|
+
import { E as S } from "./EditorCard-Cbb_bmWn.js";
|
|
6
|
+
import { G as P } from "./GranularitySelectField-D-53pTVr.js";
|
|
7
7
|
const t = (r) => {
|
|
8
8
|
const n = y();
|
|
9
9
|
v(n);
|
|
@@ -106,4 +106,4 @@ export {
|
|
|
106
106
|
E as g,
|
|
107
107
|
k as i
|
|
108
108
|
};
|
|
109
|
-
//# sourceMappingURL=definition-
|
|
109
|
+
//# sourceMappingURL=definition-CrY-KxcB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-CrY-KxcB.js","sources":["../src/components/editors/GranularitySelectFieldPro/index.tsx","../src/components/editors/GranularitySelectFieldPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { TGranularityValue } from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { GranularitySelectField } from '../shared/GranularitySelectField/GranularitySelectField';\n\nexport type GranularitySelectFieldProProps = {\n onChange: (newGranularity: string) => void;\n placeholder?: string;\n primaryTimeRange?: TimeRange;\n granularity?: TGranularityValue;\n granularities?: TGranularityValue[];\n clearable?: boolean;\n} & EditorCardHeaderProps;\n\nconst GranularitySelectFieldPro = (props: GranularitySelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { granularity, granularities, clearable, primaryTimeRange, onChange } = props;\n const { description, tooltip, placeholder, title } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <GranularitySelectField\n clearable={clearable}\n placeholder={placeholder}\n granularity={granularity}\n granularities={granularities}\n primaryTimeRange={primaryTimeRange}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default GranularitySelectFieldPro;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport { inputs } from '../../component.inputs.constants';\nimport { Granularity } from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport Component from './index';\n\nconst meta = {\n name: 'GranularitySelectFieldPro',\n label: 'Granularity Select Field',\n description:\n 'Dropdown for picking time granularity (day, week, month, …). Pairs with a granularity variable used as a sub-input on a time dimension.',\n category: 'Dropdowns - dates',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a granularity' },\n {\n ...inputs.granularities,\n label: 'Available granularities',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.granularity,\n label: 'Selected granularity',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.timeRange,\n name: 'primaryTimeRange',\n label: 'Primary date-range',\n description:\n 'Connect your primary date-range variable to enable automatic selection of the most appropriate granularity',\n category: 'Pre-configured variables',\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected granularity updated',\n properties: [\n {\n name: 'value',\n label: 'Selected granularity',\n type: 'granularity',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'granularity value',\n type: 'granularity',\n defaultValue: 'day',\n inputs: ['granularity'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n granularities: [\n Granularity.second,\n Granularity.minute,\n Granularity.hour,\n Granularity.day,\n Granularity.week,\n Granularity.month,\n Granularity.quarter,\n Granularity.year,\n ],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (granularity: unknown) => ({\n value: granularity ?? Value.noFilter(),\n }),\n};\n\nexport const granularitySelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["GranularitySelectFieldPro","props","theme","useTheme","i18nSetup","granularity","granularities","clearable","primaryTimeRange","onChange","description","tooltip","placeholder","title","resolveI18nProps","jsx","EditorCard","GranularitySelectField","meta","inputs","preview","definePreview","Component","Granularity","events","Value","granularitySelectFieldPro"],"mappings":";;;;;;AAkBA,MAAMA,IAA4B,CAACC,MAA0C;AAC3E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAG,GAAa,eAAAC,GAAe,WAAAC,GAAW,kBAAAC,GAAkB,UAAAC,MAAaR,GACxE,EAAE,aAAAS,GAAa,SAAAC,GAAS,aAAAC,GAAa,OAAAC,EAAA,IAAUC,EAAiBb,CAAK;AAE3E,SACEc,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAH,GAAc,aAAAH,GAA0B,SAAAC,GAClD,UAAAI,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAAV;AAAA,MACA,aAAAK;AAAA,MACA,aAAAP;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAE;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;8CC/BMS,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aACE;AAAA,EACF,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,uBAAA;AAAA,IACvC;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aACE;AAAA,MACF,UAAU;AAAA,IAAA;AAAA,IAEZ,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,cAAc;AAAA,MACd,QAAQ,CAAC,aAAa;AAAA,MACtB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,eAAe;AAAA,IACbC,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,EAAA;AAAA,EAEd,UAAU,MAAM;AAClB,CAAC,GAEKtB,IAAQ,CAACkB,OACN;AAAA,EACL,GAAGA;AAAA,IAIDK,IAAS;AAAA,EACb,UAAU,CAACnB,OAA0B;AAAA,IACnC,OAAOA,KAAeoB,EAAM,SAAA;AAAA,EAAS;AAEzC,GAEaC,IAA4B;AAAA,EAAA,WACvCJ;AAAAA,EACA,MAAAJ;AAAA,EACA,SAAAE;AAAA,EACA,QAAQ;AAAA,IACN,OAAAnB;AAAA,IACA,QAAAuB;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useTheme as i, definePreview as c } from "@embeddable.com/react";
|
|
2
|
-
import { j as s, Y as l } from "./index-
|
|
2
|
+
import { j as s, Y as l } from "./index-B2QrkfxN.js";
|
|
3
3
|
import { useMemo as d } from "react";
|
|
4
4
|
import { b as m, i as p } from "./component.utils-oQMZT7TK.js";
|
|
5
|
-
import { i as u } from "./component.inputs.constants-
|
|
5
|
+
import { i as u } from "./component.inputs.constants-fbYKhm5a.js";
|
|
6
6
|
const w = "_container_im29b_1", f = {
|
|
7
7
|
container: w
|
|
8
8
|
}, k = (n) => n.replaceAll(/\{\{([^{}]+)\}\}/g, (o, e) => m(e)), g = (n) => n == null ? void 0 : n.replaceAll(String.raw`\n`, `
|
|
@@ -44,4 +44,4 @@ export {
|
|
|
44
44
|
S as i,
|
|
45
45
|
y as m
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=definition-
|
|
47
|
+
//# sourceMappingURL=definition-D-X2GKga.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-D-X2GKga.js","sources":["../src/components/shared/MarkdownPro/MarkdownPro.utils.ts","../src/components/shared/MarkdownPro/index.tsx","../src/components/shared/MarkdownPro/definition.ts"],"sourcesContent":["import { resolveI18nString } from '../../component.utils';\n\nexport const resolveI18nInMarkdown = (markdown: string): string =>\n markdown.replaceAll(/\\{\\{([^{}]+)\\}\\}/g, (_, key) => resolveI18nString(key));\n\nexport const resolveParagraphBreaksInMarkdown = (markdown?: string): string | undefined =>\n markdown?.replaceAll(String.raw`\\n`, '\\n');\n","import { useMemo } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { Theme } from '../../../theme/theme.types';\nimport styles from './MarkdownPro.module.css';\nimport { Markdown } from '@embeddable.com/remarkable-ui';\nimport { resolveI18nInMarkdown, resolveParagraphBreaksInMarkdown } from './MarkdownPro.utils';\n\ntype MarkdownProProps = {\n markdown?: string;\n};\n\nconst MarkdownPro = (props: MarkdownProProps) => {\n const { markdown } = props;\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedMarkdown = useMemo(() => {\n const markdownString = resolveParagraphBreaksInMarkdown(markdown);\n return markdownString ? resolveI18nInMarkdown(markdownString) : markdownString;\n }, [markdown, theme]);\n\n return (\n <div className={styles.container}>\n <Markdown content={resolvedMarkdown} />\n </div>\n );\n};\n\nexport default MarkdownPro;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\n\nconst meta = {\n name: 'MarkdownPro',\n label: 'Markdown',\n description:\n 'Renders a markdown block. Use for headings, instructions, or static explanations between widgets.',\n category: 'Content',\n defaultWidth: 600,\n defaultHeight: 300,\n inputs: [inputs.markdown],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n markdown:\n '# Markdown editor\\n\\nWrite **bold**, *italic*, and `inline code`.\\n\\n- Bullet lists\\n- [Links](https://example.com)',\n});\n\nconst props = (inputs: Inputs<typeof meta>) => ({ ...inputs });\n\nexport const markdownPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n },\n} as const;\n"],"names":["resolveI18nInMarkdown","markdown","_","key","resolveI18nString","resolveParagraphBreaksInMarkdown","MarkdownPro","props","theme","useTheme","i18nSetup","resolvedMarkdown","useMemo","markdownString","jsx","styles","Markdown","meta","inputs","preview","definePreview","Component","markdownPro"],"mappings":";;;;;;;GAEaA,IAAwB,CAACC,MACpCA,EAAS,WAAW,qBAAqB,CAACC,GAAGC,MAAQC,EAAkBD,CAAG,CAAC,GAEhEE,IAAmC,CAACJ,MAC/CA,KAAA,gBAAAA,EAAU,WAAW,OAAO,SAAS;AAAA,ICMjCK,IAAc,CAACC,MAA4B;AAC/C,QAAM,EAAE,UAAAN,MAAaM,GACfC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAmBC,EAAQ,MAAM;AACrC,UAAMC,IAAiBR,EAAiCJ,CAAQ;AAChE,WAAOY,KAAiBb,EAAsBa,CAAc;AAAA,EAC9D,GAAG,CAACZ,GAAUO,CAAK,CAAC;AAEpB,SACEM,gBAAAA,EAAAA,IAAC,SAAI,WAAWC,EAAO,WACrB,UAAAD,gBAAAA,EAAAA,IAACE,GAAA,EAAS,SAASL,EAAA,CAAkB,EAAA,CACvC;AAEJ;;;8CCvBMM,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aACE;AAAA,EACF,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ,CAACC,EAAO,QAAQ;AAC1B,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,UACE;AAAA;AAAA;AAAA;AAAA;AAAA;AACJ,CAAC,GAEKd,IAAQ,CAACW,OAAiC,EAAE,GAAGA,EAAAA,IAExCI,IAAc;AAAA,EAAA,WACzBD;AAAAA,EACA,MAAAJ;AAAA,EACA,SAAAE;AAAA,EACA,QAAQ;AAAA,IACN,OAAAZ;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { p as $, m as z, j as R, x as W, V as y, l as _ } from "./index-
|
|
1
|
+
import { p as $, m as z, j as R, x as W, V as y, l as _ } from "./index-B2QrkfxN.js";
|
|
2
2
|
import { useTheme as B, definePreview as X } from "@embeddable.com/react";
|
|
3
3
|
import { i as H, r as U } from "./component.utils-oQMZT7TK.js";
|
|
4
|
-
import { C as Y } from "./ChartCard-
|
|
5
|
-
import { g as v } from "./formatter.utils-
|
|
4
|
+
import { C as Y } from "./ChartCard-vJK2ZRxA.js";
|
|
5
|
+
import { g as v } from "./formatter.utils-DTeWPgjB.js";
|
|
6
6
|
import { g as G } from "./styles.utils-C8CnV0SB.js";
|
|
7
7
|
import { s as E } from "./color.utils-BSg_DFOh.js";
|
|
8
|
-
import { b as T, d as N } from "./charts.utils-
|
|
9
|
-
import { u as q } from "./charts.fillGaps.hooks-
|
|
10
|
-
import { C as J, g as K } from "./granularity.utils-
|
|
11
|
-
import { i as a } from "./component.inputs.constants-
|
|
12
|
-
import { p as A } from "./preview.data.constants-
|
|
8
|
+
import { b as T, d as N } from "./charts.utils-BaFvl6O-.js";
|
|
9
|
+
import { u as q } from "./charts.fillGaps.hooks-BkJ8-vFc.js";
|
|
10
|
+
import { C as J, g as K } from "./granularity.utils-QXObIZwK.js";
|
|
11
|
+
import { i as a } from "./component.inputs.constants-fbYKhm5a.js";
|
|
12
|
+
import { p as A } from "./preview.data.constants-TS-EhQXM.js";
|
|
13
13
|
import { g as Q } from "./clientContext.utils-DpB5KsfX.js";
|
|
14
14
|
const Z = (e, n) => {
|
|
15
15
|
const s = v(n), { data: m = [], dimension: t, groupDimension: r, measure: l, hasMinMaxYAxisRange: b } = e, d = [...new Set(m.map((i) => i[t.name]).filter((i) => i != null))].sort(), u = [...new Set(m.map((i) => i[r.name]))].filter((i) => i != null), o = $(), c = u.map((i, h) => {
|
|
@@ -295,4 +295,4 @@ export {
|
|
|
295
295
|
he as i,
|
|
296
296
|
Ce as l
|
|
297
297
|
};
|
|
298
|
-
//# sourceMappingURL=definition-
|
|
298
|
+
//# sourceMappingURL=definition-D1CaX3N2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-C2QnSx4_.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/index.tsx","../src/components/charts/lines/LineChartGroupedPro/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 { mergician } from 'mergician';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils/color.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { getDimensionWithoutTruncation } from '../../charts.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, groupDimension, data, measure } = 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) => {\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(getDimensionWithoutTruncation(dimension), label);\n },\n label: (context) => {\n const raw = context.raw as number;\n\n const label = themeFormatter.data(\n getDimensionWithoutTruncation(groupDimension),\n (context.dataset as { rawLabel?: string }).rawLabel,\n );\n return `${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(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartGroupedPro?.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 {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartGroupedProOptionsClickArg } from '../lines.types';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { createGroupedClickHandler } from '../../charts.utils';\n\nexport type LineChartGroupedProProp = {\n xAxis: Dimension;\n groupBy: Dimension;\n measure: 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 granularity?: Granularity;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: (arg: LineChartGroupedProOptionsClickArg) => void;\n} & ChartCardHeaderProps;\n\nconst LineChartGroupedPro = (props: LineChartGroupedProProp) => {\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 measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n granularity,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, groupDimension: groupBy, measure },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createGroupedClickHandler({\n data,\n dimension: xAxis,\n groupBy,\n granularity,\n onClicked: onLineClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\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 onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartGroupedPro;\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 { LineChartGroupedProOptionsClickArg } from '../lines.types';\nimport { inputs } from '../../../component.inputs.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: 'LineChartGroupedPro',\n label: 'Line Chart - Grouped',\n description:\n 'Line chart split into multiple lines by a grouping dimension — one time dim + one grouping dim + one measure.',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measure,\n inputs: [\n ...inputs.measure.inputs,\n {\n ...inputs.boolean,\n name: 'fillUnderLine',\n label: 'Fill under line',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n category: 'Component Settings',\n },\n ],\n },\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,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\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 name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionTimeRange',\n label: 'Clicked grouping dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartGroupedProState = {\n granularity?: Granularity;\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 loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [xAxis ?? inputs.xAxis, inputs.groupBy, inputs.measure],\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: LineChartGroupedProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n groupingDimensionTimeRange: value.groupingDimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartGroupedProState, (state: LineChartGroupedProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const lineChartGroupedPro = {\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":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","mergician","value","context","label","getDimensionWithoutTruncation","raw","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","granularity","setGranularity","onLineClicked","results","useFillGaps","granularitySelectorHasMarginTop","handleClick","createGroupedClickHandler","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","lineChartGroupedPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-D1CaX3N2.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/index.tsx","../src/components/charts/lines/LineChartGroupedPro/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 { mergician } from 'mergician';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils/color.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { getDimensionWithoutTruncation } from '../../charts.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, groupDimension, data, measure } = 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) => {\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(getDimensionWithoutTruncation(dimension), label);\n },\n label: (context) => {\n const raw = context.raw as number;\n\n const label = themeFormatter.data(\n getDimensionWithoutTruncation(groupDimension),\n (context.dataset as { rawLabel?: string }).rawLabel,\n );\n return `${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(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartGroupedPro?.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 {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartGroupedProOptionsClickArg } from '../lines.types';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { createGroupedClickHandler } from '../../charts.utils';\n\nexport type LineChartGroupedProProp = {\n xAxis: Dimension;\n groupBy: Dimension;\n measure: 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 granularity?: Granularity;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: (arg: LineChartGroupedProOptionsClickArg) => void;\n} & ChartCardHeaderProps;\n\nconst LineChartGroupedPro = (props: LineChartGroupedProProp) => {\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 measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n granularity,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, groupDimension: groupBy, measure },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createGroupedClickHandler({\n data,\n dimension: xAxis,\n groupBy,\n granularity,\n onClicked: onLineClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\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 onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartGroupedPro;\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 { LineChartGroupedProOptionsClickArg } from '../lines.types';\nimport { inputs } from '../../../component.inputs.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: 'LineChartGroupedPro',\n label: 'Line Chart - Grouped',\n description:\n 'Line chart split into multiple lines by a grouping dimension — one time dim + one grouping dim + one measure.',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measure,\n inputs: [\n ...inputs.measure.inputs,\n {\n ...inputs.boolean,\n name: 'fillUnderLine',\n label: 'Fill under line',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n category: 'Component Settings',\n },\n ],\n },\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,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\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 name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionTimeRange',\n label: 'Clicked grouping dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartGroupedProState = {\n granularity?: Granularity;\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 loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [xAxis ?? inputs.xAxis, inputs.groupBy, inputs.measure],\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: LineChartGroupedProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n groupingDimensionTimeRange: value.groupingDimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartGroupedProState, (state: LineChartGroupedProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const lineChartGroupedPro = {\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":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","mergician","value","context","label","getDimensionWithoutTruncation","raw","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","granularity","setGranularity","onLineClicked","results","useFillGaps","granularitySelectorHasMarginTop","handleClick","createGroupedClickHandler","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","lineChartGroupedPro"],"mappings":"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"}
|