@embeddable.com/remarkable-pro 0.0.1 → 0.0.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 +30 -31
- package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
- package/dist/BarChartDefaultPro.js +22 -23
- package/dist/BarChartDefaultPro.js.map +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +24 -25
- package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
- package/dist/BarChartGroupedPro.js +31 -32
- package/dist/BarChartGroupedPro.js.map +1 -1
- package/dist/BarChartStackedHorizontalPro.js +28 -29
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +35 -36
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/ChartCard-CsKQOusx.js +124 -0
- package/dist/ChartCard-CsKQOusx.js.map +1 -0
- package/dist/{Color.type.emb-BaH90Spr.js → Color.type.emb-9H0O-uuD.js} +2 -2
- package/dist/{Color.type.emb-BaH90Spr.js.map → Color.type.emb-9H0O-uuD.js.map} +1 -1
- package/dist/ColorEditor.js +16 -22
- package/dist/ColorEditor.js.map +1 -1
- package/dist/{ComparisonPeriod.type.emb-BhZKPqEG.js → ComparisonPeriod.type.emb-C3XjaFoD.js} +2 -2
- package/dist/{ComparisonPeriod.type.emb-BhZKPqEG.js.map → ComparisonPeriod.type.emb-C3XjaFoD.js.map} +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +5 -5
- package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
- package/dist/DateRangeSelectFieldPro.js +3 -3
- package/dist/DonutChartPro.js +3 -3
- package/dist/DonutLabelChartPro.js +3 -3
- package/dist/{EditorCard-VYZUBvXV.js → EditorCard-BMEwnQuU.js} +3 -3
- package/dist/EditorCard-BMEwnQuU.js.map +1 -0
- package/dist/HeatMapPro.js +6 -6
- package/dist/HeatMapPro.js.map +1 -1
- package/dist/KpiChartNumberComparisonPro.js +6 -6
- package/dist/KpiChartNumberComparisonPro.js.map +1 -1
- package/dist/KpiChartNumberPro.js +4 -4
- package/dist/KpiChartNumberPro.js.map +1 -1
- package/dist/LineChartComparisonDefaultPro.js +20 -21
- package/dist/LineChartComparisonDefaultPro.js.map +1 -1
- package/dist/LineChartDefaultPro.js +23 -24
- package/dist/LineChartDefaultPro.js.map +1 -1
- package/dist/LineChartGroupedPro.js +33 -34
- package/dist/LineChartGroupedPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +3 -3
- package/dist/PieChartPro.js +3 -3
- package/dist/PivotTablePro.js +5 -5
- package/dist/PivotTablePro.js.map +1 -1
- package/dist/SingleSelectFieldPro.js +3 -3
- package/dist/TableChartPaginated.js +24 -25
- package/dist/TableChartPaginated.js.map +1 -1
- package/dist/{ar-Csxpn9Sb.js → ar-Crg6bIiJ.js} +16 -16
- package/dist/ar-Crg6bIiJ.js.map +1 -0
- package/dist/{bars.utils-CPKeOYHg.js → bars.utils-BU_k5fia.js} +4 -4
- package/dist/bars.utils-BU_k5fia.js.map +1 -0
- package/dist/be-cv77rX62.js +57 -0
- package/dist/be-cv77rX62.js.map +1 -0
- package/dist/{charts.fillGaps.hooks-5WclK2CD.js → charts.fillGaps.hooks-YayOXVmt.js} +13 -13
- package/dist/{charts.fillGaps.hooks-5WclK2CD.js.map → charts.fillGaps.hooks-YayOXVmt.js.map} +1 -1
- package/dist/{charts.utils-QVS79CrC.js → charts.utils-rO92wRxO.js} +6 -6
- package/dist/charts.utils-rO92wRxO.js.map +1 -0
- package/dist/color.utils-BSg_DFOh.js +1645 -0
- package/dist/color.utils-BSg_DFOh.js.map +1 -0
- package/dist/{component.constants-DZwEQb2v.js → component.constants-uP1WYyUb.js} +83 -83
- package/dist/component.constants-uP1WYyUb.js.map +1 -0
- package/dist/components/charts/tables/HeatMapPro/index.d.ts +1 -1
- package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts +1 -1
- package/dist/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts.map +1 -1
- package/dist/components/charts/tables/tables.utils.d.ts +1 -1
- package/dist/components/charts/tables/tables.utils.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.d.ts +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.d.ts.map +1 -1
- package/dist/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.d.ts +1 -1
- package/dist/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.d.ts.map +1 -1
- package/dist/{editors.timeRange.utils-D9m6B3r1.js → editors.timeRange.utils-DTtRGaCo.js} +4 -4
- package/dist/{editors.timeRange.utils-D9m6B3r1.js.map → editors.timeRange.utils-DTtRGaCo.js.map} +1 -1
- package/dist/embeddable-components.json +15 -15
- package/dist/{embeddable-theme-4271d.js → embeddable-theme-0137e.js} +527 -527
- package/dist/{formatter.utils-BbPzfaw8.js → formatter.utils-CeEdL8uQ.js} +2 -2
- package/dist/{formatter.utils-BbPzfaw8.js.map → formatter.utils-CeEdL8uQ.js.map} +1 -1
- package/dist/globalHooks.json +1 -1
- package/dist/{index-DqkDSVr0.js → index-B8bT85NR.js} +20 -21
- package/dist/index-B8bT85NR.js.map +1 -0
- package/dist/{index-BcSuns5b.js → index-BWpUwKTH.js} +5 -5
- package/dist/index-BWpUwKTH.js.map +1 -0
- package/dist/index-Brb617sy.js +62 -0
- package/dist/index-Brb617sy.js.map +1 -0
- package/dist/{index-CJMug46v.js → index-DLFOG9Ar.js} +19 -20
- package/dist/index-DLFOG9Ar.js.map +1 -0
- package/dist/{index-BpXo_FjW.js → index-DedIqjbn.js} +12581 -12636
- package/dist/index-DedIqjbn.js.map +1 -0
- package/dist/{index-B3N7aoDJ.js → index-DrosyYQD.js} +13 -13
- package/dist/index-DrosyYQD.js.map +1 -0
- package/dist/{index-CxXN32qg.js → index-Dwl9clc9.js} +5 -5
- package/dist/index-Dwl9clc9.js.map +1 -0
- package/dist/index.js +14 -14
- package/dist/{it-CA9ooIqN.js → it-BaO88QsF.js} +2 -2
- package/dist/it-BaO88QsF.js.map +1 -0
- package/dist/{pies.utils-DbzeVrCQ.js → pies.utils-Dap7Duqb.js} +5 -5
- package/dist/pies.utils-Dap7Duqb.js.map +1 -0
- package/dist/{quarterOfYear-C0maIilJ.js → quarterOfYear-wgcl4CRi.js} +5 -5
- package/dist/{quarterOfYear-C0maIilJ.js.map → quarterOfYear-wgcl4CRi.js.map} +1 -1
- package/dist/remarkable-pro.css +1 -1
- package/dist/theme/styles/styles.constants.d.ts +1 -1
- package/dist/theme/styles/styles.constants.d.ts.map +1 -1
- package/dist/theme/styles/styles.types.d.ts +1 -1
- package/dist/theme/styles/styles.types.d.ts.map +1 -1
- package/dist/{timeRange.utils-B3BJBCvs.js → timeRange.utils-J3a4XL64.js} +2 -2
- package/dist/{timeRange.utils-B3BJBCvs.js.map → timeRange.utils-J3a4XL64.js.map} +1 -1
- package/package.json +2 -2
- package/dist/ChartCard-BaCPgMtI.js +0 -145
- package/dist/ChartCard-BaCPgMtI.js.map +0 -1
- package/dist/EditorCard-VYZUBvXV.js.map +0 -1
- package/dist/ar-Csxpn9Sb.js.map +0 -1
- package/dist/bars.utils-CPKeOYHg.js.map +0 -1
- package/dist/be-DcRqzG_0.js +0 -42
- package/dist/be-DcRqzG_0.js.map +0 -1
- package/dist/charts.utils-QVS79CrC.js.map +0 -1
- package/dist/color.utils-CVyp-fGP.js +0 -1645
- package/dist/color.utils-CVyp-fGP.js.map +0 -1
- package/dist/component.constants-DZwEQb2v.js.map +0 -1
- package/dist/index-B3N7aoDJ.js.map +0 -1
- package/dist/index-BcSuns5b.js.map +0 -1
- package/dist/index-BpXo_FjW.js.map +0 -1
- package/dist/index-CJMug46v.js.map +0 -1
- package/dist/index-CPSyJe2a.js +0 -63
- package/dist/index-CPSyJe2a.js.map +0 -1
- package/dist/index-CxXN32qg.js.map +0 -1
- package/dist/index-DqkDSVr0.js.map +0 -1
- package/dist/it-CA9ooIqN.js.map +0 -1
- package/dist/mergician.esm-CIFzMAK7.js +0 -395
- package/dist/mergician.esm-CIFzMAK7.js.map +0 -1
- package/dist/pies.utils-DbzeVrCQ.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as i } from "@embeddable.com/react";
|
|
2
|
-
import { V as t, l as r } from "./index-
|
|
3
|
-
import { v as s, w as d, F as u, G as m, _ as c } from "./component.constants-
|
|
4
|
-
import { M as p, a as f } from "./index-
|
|
2
|
+
import { V as t, l as r } from "./index-DedIqjbn.js";
|
|
3
|
+
import { v as s, w as d, F as u, G as m, _ as c } from "./component.constants-uP1WYyUb.js";
|
|
4
|
+
import { M as p, a as f } from "./index-BWpUwKTH.js";
|
|
5
5
|
const g = {
|
|
6
6
|
name: "MultiSelectFieldPro",
|
|
7
7
|
label: "Multi Select Field",
|
package/dist/PieChartPro.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { V as a, l as s } from "./index-
|
|
1
|
+
import { V as a, l as s } from "./index-DedIqjbn.js";
|
|
2
2
|
import { defineComponent as t } from "@embeddable.com/react";
|
|
3
|
-
import { P as o } from "./index-
|
|
4
|
-
import { v as i, D as n, w as r, F as m, G as l, I as d, Z as p, J as c, K as u } from "./component.constants-
|
|
3
|
+
import { P as o } from "./index-B8bT85NR.js";
|
|
4
|
+
import { v as i, D as n, w as r, F as m, G as l, I as d, Z as p, J as c, K as u } from "./component.constants-uP1WYyUb.js";
|
|
5
5
|
const C = {
|
|
6
6
|
name: "PieChartPro",
|
|
7
7
|
label: "Pie Chart",
|
package/dist/PivotTablePro.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { j as u,
|
|
1
|
+
import { j as u, n as x, l as y } from "./index-DedIqjbn.js";
|
|
2
2
|
import { useTheme as A, defineComponent as M } from "@embeddable.com/react";
|
|
3
|
-
import { a as S, r as W, i as N, v as j, E as c, k as r, z as d, F as G, G as k, d as B, c as h, H as I } from "./component.constants-
|
|
4
|
-
import { C as E } from "./ChartCard-
|
|
3
|
+
import { a as S, r as W, i as N, v as j, E as c, k as r, z as d, F as G, G as k, d as B, c as h, H as I } from "./component.constants-uP1WYyUb.js";
|
|
4
|
+
import { C as E } from "./ChartCard-CsKQOusx.js";
|
|
5
5
|
import { useRef as O } from "react";
|
|
6
|
-
import { u as p } from "./charts.fillGaps.hooks-
|
|
7
|
-
import { g as w } from "./formatter.utils-
|
|
6
|
+
import { u as p } from "./charts.fillGaps.hooks-YayOXVmt.js";
|
|
7
|
+
import { g as w } from "./formatter.utils-CeEdL8uQ.js";
|
|
8
8
|
const V = (e, o) => {
|
|
9
9
|
const t = w(o);
|
|
10
10
|
return e.measures.map((s) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PivotTablePro.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx","../src/components/charts/tables/PivotTablePro/PivotTablePro.emb.ts"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui-v0';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui-v0';\nimport { useRef } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ntype PivotTableProProps = {\n title: string;\n description: string;\n results: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n};\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, title } = resolveI18nProps(props);\n const { measures, rowDimension, columnDimension, displayNullAs, columnWidth, firstColumnWidth } =\n props;\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const results = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n subtitle={description}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={results?.error}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results.data ?? []}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n","import { loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport PivotTablePro from './index';\nimport {\n dataset,\n description,\n title,\n maxResults,\n measures,\n subInputGenericBoolean,\n genericString,\n dimensionWithDateBounds,\n genericNumber,\n} from '../../../component.constants';\n\nexport const meta = {\n name: 'PivotTablePro',\n label: 'Pivot Table',\n category: 'Table Charts',\n inputs: [\n dataset,\n {\n ...measures,\n label: 'Measures To Display',\n inputs: [\n ...measures.inputs,\n {\n ...subInputGenericBoolean,\n name: 'showColumnTotal',\n label: 'Show Column Total',\n },\n {\n ...subInputGenericBoolean,\n name: 'showRowTotal',\n label: 'Show Row Total',\n },\n {\n ...subInputGenericBoolean,\n name: 'showAsPercentage',\n label: 'Show As Percentage',\n description: 'If turned on, other measures may be ignored',\n defaultValue: false,\n },\n ],\n },\n {\n ...dimensionWithDateBounds,\n label: 'Row Dimension',\n name: 'rowDimension',\n },\n {\n ...dimensionWithDateBounds,\n label: 'Column Dimension',\n name: 'columnDimension',\n },\n title,\n description,\n { ...genericString, name: 'displayNullAs', label: 'Display Null As' },\n {\n ...genericNumber,\n name: 'firstColumnWidth',\n label: 'First Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n {\n ...genericNumber,\n name: 'columnWidth',\n label: 'Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n\n maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(PivotTablePro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n\n results: loadData({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n }),\n };\n },\n});\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","PivotTablePro","useTheme","i18nSetup","description","title","resolveI18nProps","rowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","resultsColumnDimensionFillGaps","useFillGaps","results","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","jsx","ChartCard","PivotTable","i18n","meta","dataset","subInputGenericBoolean","dimensionWithDateBounds","genericString","genericNumber","maxResults","PivotTablePro_emb","defineComponent","inputs","loadData"],"mappings":";;;;;;;AAOO,MAAMA,IAAmB,CAC9BC,GACAC,MACqC;AACrC,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAOD,EAAM,SAAS,IAAI,CAACI,MAAY;;AACrC,WAAO;AAAA,MACL,KAAKA,EAAQ;AAAA,MACb,OAAOF,EAAe,wBAAwBE,CAAO;AAAA,MACrD,kBAAkB,IAAQC,IAAAD,EAAQ,WAAR,QAAAC,EAAgB;AAAA,MAC1C,2BAAyBC,IAAAF,EAAQ,WAAR,gBAAAE,EAAgB,kBAAiB;AAAA,MAC1D,UAAU,CAACC,MACKA,EAAIH,EAAQ,IAAI,KAEd,OACZJ,EAAM,gBACNE,EAAe,KAAKE,GAASG,EAAIH,EAAQ,IAAI,CAAC;AAAA,IACpD;AAAA,EAEJ,CAAC;AACH,GAEaI,IAAoB,CAC/BR,GACAC,MAC6D;AAC7D,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAO;AAAA,IACL,KAAKD,EAAM,UAAU;AAAA,IACrB,OAAOE,EAAe,wBAAwBF,EAAM,SAAS;AAAA,IAC7D,aAAa,CAACS,MAAkBP,EAAe,KAAKF,EAAM,WAAWS,CAAK;AAAA,EAAA;AAE9E,GAEaC,IAA0B,CACrCC,MAEOA,EAAS,OAAO,CAACC,MAAA;;AAAM,UAAAP,IAAAO,EAAE,WAAF,gBAAAP,EAAU;AAAA,CAAe,EAAE,IAAI,CAACO,MAAMA,EAAE,IAAI,GAG/DC,IAAuB,CAClCF,MAEOA,EAAS,OAAO,CAACC,MAAA;;AAAM,UAAAP,IAAAO,EAAE,WAAF,gBAAAP,EAAU;AAAA,CAAY,EAAE,IAAI,CAACO,MAAMA,EAAE,IAAI,GCtBnEE,IAAgB,CAACd,MAA8B;AACnD,QAAMC,IAAQc,EAAA;AACd,EAAAC,EAAUf,CAAK;AAEf,QAAM,EAAE,aAAAgB,GAAa,OAAAC,MAAUC,EAAiBnB,CAAK,GAC/C,EAAE,UAAAW,GAAU,cAAAS,GAAc,iBAAAC,GAAiB,eAAAC,GAAe,aAAAC,GAAa,kBAAAC,MAC3ExB,GAGIyB,IAAiCC,EAAY;AAAA,IACjD,SAAS1B,EAAM;AAAA,IACf,WAAWqB;AAAA,EAAA,CACZ,GAGKM,IAAUD,EAAY;AAAA,IAC1B,SAASD;AAAA,IACT,WAAWL;AAAA,EAAA,CACZ,GAEKQ,IAAiBC,EAAuB,IAAI,GAE5CC,IAAgB/B,EAAiB,EAAE,UAAAY,GAAU,eAAAW,EAAA,GAAiBrB,CAAK,GACnE8B,IAAoBvB,EAAkB,EAAE,WAAWY,EAAA,GAAgBnB,CAAK,GACxE+B,IAAuBxB,EAAkB,EAAE,WAAWa,EAAA,GAAmBpB,CAAK,GAC9EgC,IAAuBvB,EAAwBC,CAAQ,GACvDuB,IAAoBrB,EAAqBF,CAAQ;AAEvD,SACEwB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKR;AAAA,MACL,OAAAV;AAAA,MACA,UAAUD;AAAA,MACV,MAAMjB,EAAM;AAAA,MACZ,uBAAuB,CAACoB,GAAcC,GAAiB,GAAGV,CAAQ;AAAA,MAClE,cAAcgB,KAAA,gBAAAA,EAAS;AAAA,MAEvB,UAAAQ,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,kBAAAb;AAAA,UACA,aAAAD;AAAA,UACA,YAAYe,EAAK,EAAE,yBAAyB;AAAA,UAC5C,MAAMX,EAAQ,QAAQ,CAAA;AAAA,UACtB,UAAUG;AAAA,UACV,cAAcC;AAAA,UACd,iBAAiBC;AAAA,UACjB,iBAAiBC;AAAA,UACjB,cAAcC;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB;AAAA,EAAA;AAGN,GCjEaK,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC;AAAA,IACA;AAAA,MACE,GAAG7B;AAAA,MACH,OAAO;AAAA,MACP,QAAQ;AAAA,QACN,GAAGA,EAAS;AAAA,QACZ;AAAA,UACE,GAAG8B;AAAA,UACH,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,QAET;AAAA,UACE,GAAGA;AAAA,UACH,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,QAET;AAAA,UACE,GAAGA;AAAA,UACH,MAAM;AAAA,UACN,OAAO;AAAA,UACP,aAAa;AAAA,UACb,cAAc;AAAA,QAAA;AAAA,MAChB;AAAA,IACF;AAAA,IAEF;AAAA,MACE,GAAGC;AAAA,MACH,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,IAER;AAAA,MACE,GAAGA;AAAA,MACH,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,IAERxB;AAAA,IACAD;AAAA,IACA,EAAE,GAAG0B,GAAe,MAAM,iBAAiB,OAAO,kBAAA;AAAA,IAClD;AAAA,MACE,GAAGC;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEf;AAAA,MACE,GAAGA;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAGfC;AAAA,EAAA;AAEJ,GAEAC,IAAeC,EAAgBjC,GAAeyB,GAAM;AAAA,EAClD,OAAO,CAACS,OACC;AAAA,IACL,GAAGA;AAAA,IAEH,SAASC,EAAS;AAAA,MAChB,MAAMD,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,cAAcA,EAAO,iBAAiB,GAAGA,EAAO,QAAQ;AAAA,MACxE,OAAOA,EAAO;AAAA,MACd,WAAW;AAAA,IAAA,CACZ;AAAA,EAAA;AAGP,CAAC;"}
|
|
1
|
+
{"version":3,"file":"PivotTablePro.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx","../src/components/charts/tables/PivotTablePro/PivotTablePro.emb.ts"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useRef } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ntype PivotTableProProps = {\n title: string;\n description: string;\n results: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n};\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, title } = resolveI18nProps(props);\n const { measures, rowDimension, columnDimension, displayNullAs, columnWidth, firstColumnWidth } =\n props;\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const results = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n subtitle={description}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={results?.error}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results.data ?? []}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n","import { loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport PivotTablePro from './index';\nimport {\n dataset,\n description,\n title,\n maxResults,\n measures,\n subInputGenericBoolean,\n genericString,\n dimensionWithDateBounds,\n genericNumber,\n} from '../../../component.constants';\n\nexport const meta = {\n name: 'PivotTablePro',\n label: 'Pivot Table',\n category: 'Table Charts',\n inputs: [\n dataset,\n {\n ...measures,\n label: 'Measures To Display',\n inputs: [\n ...measures.inputs,\n {\n ...subInputGenericBoolean,\n name: 'showColumnTotal',\n label: 'Show Column Total',\n },\n {\n ...subInputGenericBoolean,\n name: 'showRowTotal',\n label: 'Show Row Total',\n },\n {\n ...subInputGenericBoolean,\n name: 'showAsPercentage',\n label: 'Show As Percentage',\n description: 'If turned on, other measures may be ignored',\n defaultValue: false,\n },\n ],\n },\n {\n ...dimensionWithDateBounds,\n label: 'Row Dimension',\n name: 'rowDimension',\n },\n {\n ...dimensionWithDateBounds,\n label: 'Column Dimension',\n name: 'columnDimension',\n },\n title,\n description,\n { ...genericString, name: 'displayNullAs', label: 'Display Null As' },\n {\n ...genericNumber,\n name: 'firstColumnWidth',\n label: 'First Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n {\n ...genericNumber,\n name: 'columnWidth',\n label: 'Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n\n maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(PivotTablePro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n\n results: loadData({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n }),\n };\n },\n});\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","PivotTablePro","useTheme","i18nSetup","description","title","resolveI18nProps","rowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","resultsColumnDimensionFillGaps","useFillGaps","results","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","jsx","ChartCard","PivotTable","i18n","meta","dataset","subInputGenericBoolean","dimensionWithDateBounds","genericString","genericNumber","maxResults","PivotTablePro_emb","defineComponent","inputs","loadData"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as i } from "@embeddable.com/react";
|
|
2
|
-
import { V as n, l as r } from "./index-
|
|
3
|
-
import { v as s, w as d, F as m, G as c, _ as p } from "./component.constants-
|
|
4
|
-
import { M as u, S as g } from "./index-
|
|
2
|
+
import { V as n, l as r } from "./index-DedIqjbn.js";
|
|
3
|
+
import { v as s, w as d, F as m, G as c, _ as p } from "./component.constants-uP1WYyUb.js";
|
|
4
|
+
import { M as u, S as g } from "./index-Dwl9clc9.js";
|
|
5
5
|
const f = {
|
|
6
6
|
name: "SingleSelectFieldPro",
|
|
7
7
|
label: "Single Select Field",
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { T as I, h as r, u as W,
|
|
2
|
-
import { useTheme as
|
|
3
|
-
import { a as
|
|
4
|
-
import { C as
|
|
5
|
-
import { useState as S, useRef as
|
|
6
|
-
import { g as
|
|
7
|
-
import { m as de } from "./mergician.esm-CIFzMAK7.js";
|
|
1
|
+
import { T as I, h as r, u as W, o as G, p as q, j as y, q as B, r as U, V as _, l as P, m as J } from "./index-DedIqjbn.js";
|
|
2
|
+
import { useTheme as K, defineComponent as Q } from "@embeddable.com/react";
|
|
3
|
+
import { a as X, r as Y, i as Z, v as $, C as T, s as O, e as ee, F as ne, G as ae, g as te, d as ie, H as se, x as oe } from "./component.constants-uP1WYyUb.js";
|
|
4
|
+
import { C as le } from "./ChartCard-CsKQOusx.js";
|
|
5
|
+
import { useState as S, useRef as re, useCallback as ce, useEffect as g } from "react";
|
|
6
|
+
import { g as de } from "./formatter.utils-CeEdL8uQ.js";
|
|
8
7
|
const me = (n) => {
|
|
9
8
|
var a;
|
|
10
9
|
const e = (a = n.inputs) == null ? void 0 : a.align;
|
|
@@ -33,7 +32,7 @@ const me = (n) => {
|
|
|
33
32
|
return r("--em-tablechart-min-width--boolean", "5.625rem");
|
|
34
33
|
}
|
|
35
34
|
}, ge = (n, e) => {
|
|
36
|
-
const a =
|
|
35
|
+
const a = de(e);
|
|
37
36
|
return n.dimensionsAndMeasures.map((i) => ({
|
|
38
37
|
id: i.name,
|
|
39
38
|
title: a.dimensionOrMeasureTitle(i),
|
|
@@ -52,9 +51,9 @@ const me = (n) => {
|
|
|
52
51
|
}, be = (n, e) => (n == null ? void 0 : n.id) !== (e == null ? void 0 : e.id) || (n == null ? void 0 : n.direction) !== (e == null ? void 0 : e.direction) || !n && !!e || !!n && !e, fe = r("--em-tablechart-cell-height", "2.5rem"), we = r("--em-tablechart-cell-height", "2.5rem"), De = r("--em-tablechart-pagination-height", "3rem");
|
|
53
52
|
let H;
|
|
54
53
|
const pe = (n) => {
|
|
55
|
-
const e =
|
|
56
|
-
|
|
57
|
-
const [a, i] = S(void 0), [s, h] = S(!1), { description: w, title: c } =
|
|
54
|
+
const e = K();
|
|
55
|
+
X(e);
|
|
56
|
+
const [a, i] = S(void 0), [s, h] = S(!1), { description: w, title: c } = Y(n), {
|
|
58
57
|
results: t,
|
|
59
58
|
allResults: b,
|
|
60
59
|
dimensionsAndMeasures: D,
|
|
@@ -64,12 +63,12 @@ const pe = (n) => {
|
|
|
64
63
|
state: d,
|
|
65
64
|
setState: A,
|
|
66
65
|
onRowClicked: V
|
|
67
|
-
} = n, [f, k] = S(d.sort), j = ge({ dimensionsAndMeasures: D, displayNullAs: L }, e), v = (t == null ? void 0 : t.data) || [], z = he({ rows: v, clickDimension: p }), R =
|
|
66
|
+
} = n, [f, k] = S(d.sort), j = ge({ dimensionsAndMeasures: D, displayNullAs: L }, e), v = (t == null ? void 0 : t.data) || [], z = he({ rows: v, clickDimension: p }), R = re(null), F = W(R), m = G({
|
|
68
67
|
availableHeight: F,
|
|
69
68
|
headerHeight: fe,
|
|
70
69
|
rowHeight: we,
|
|
71
70
|
footerHeight: De
|
|
72
|
-
}), l =
|
|
71
|
+
}), l = ce(
|
|
73
72
|
(o) => {
|
|
74
73
|
A((u) => ({
|
|
75
74
|
...u,
|
|
@@ -106,7 +105,7 @@ const pe = (n) => {
|
|
|
106
105
|
H(b.data), h(!1), l({ isLoadingDownloadData: !1 });
|
|
107
106
|
}
|
|
108
107
|
}, [s, b, l]), /* @__PURE__ */ y.jsx(
|
|
109
|
-
|
|
108
|
+
le,
|
|
110
109
|
{
|
|
111
110
|
ref: R,
|
|
112
111
|
title: c,
|
|
@@ -124,7 +123,7 @@ const pe = (n) => {
|
|
|
124
123
|
showIndex: M,
|
|
125
124
|
page: d.page,
|
|
126
125
|
pageSize: m,
|
|
127
|
-
paginationLabel:
|
|
126
|
+
paginationLabel: Z.t("charts.tablePaginated.pagination", {
|
|
128
127
|
page: d.page + 1,
|
|
129
128
|
totalPages: U(a, m) ?? "?"
|
|
130
129
|
}),
|
|
@@ -143,19 +142,19 @@ const pe = (n) => {
|
|
|
143
142
|
label: "Table Chart - Paginated",
|
|
144
143
|
category: "Table Charts",
|
|
145
144
|
inputs: [
|
|
146
|
-
|
|
145
|
+
$,
|
|
147
146
|
{
|
|
148
147
|
...T,
|
|
149
148
|
label: "Columns",
|
|
150
|
-
inputs: [...T.inputs,
|
|
149
|
+
inputs: [...T.inputs, O, ee]
|
|
151
150
|
},
|
|
152
|
-
ee,
|
|
153
151
|
ne,
|
|
154
|
-
|
|
155
|
-
{ ...te, name: "
|
|
156
|
-
{ ...ie, label: "
|
|
152
|
+
ae,
|
|
153
|
+
{ ...te, name: "showIndex", label: "Show Index Column", defaultValue: !0 },
|
|
154
|
+
{ ...ie, name: "displayNullAs", label: "Display null as" },
|
|
155
|
+
{ ...se, label: "Max Results to Download" },
|
|
157
156
|
{
|
|
158
|
-
...
|
|
157
|
+
...oe,
|
|
159
158
|
label: "Dimension to set on click",
|
|
160
159
|
name: "clickDimension",
|
|
161
160
|
category: "Data Mapping for Interactions",
|
|
@@ -180,7 +179,7 @@ const pe = (n) => {
|
|
|
180
179
|
pageSize: void 0,
|
|
181
180
|
sort: void 0,
|
|
182
181
|
isLoadingDownloadData: !1
|
|
183
|
-
},
|
|
182
|
+
}, ye = Q(pe, Re, {
|
|
184
183
|
/* @ts-expect-error - to be fixed in @embeddable.com/react */
|
|
185
184
|
props: (n, [e, a]) => {
|
|
186
185
|
const i = n.dimensionsAndMeasures.find(
|
|
@@ -204,7 +203,7 @@ const pe = (n) => {
|
|
|
204
203
|
];
|
|
205
204
|
return {
|
|
206
205
|
...n,
|
|
207
|
-
state:
|
|
206
|
+
state: J(Se, e ?? {}),
|
|
208
207
|
// Merge with default state
|
|
209
208
|
setState: a,
|
|
210
209
|
results: e != null && e.pageSize ? P({
|
|
@@ -230,7 +229,7 @@ const pe = (n) => {
|
|
|
230
229
|
}
|
|
231
230
|
});
|
|
232
231
|
export {
|
|
233
|
-
|
|
232
|
+
ye as default,
|
|
234
233
|
Re as meta
|
|
235
234
|
};
|
|
236
235
|
//# sourceMappingURL=TableChartPaginated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableChartPaginated.js","sources":["../src/components/charts/tables/tables.utils.ts","../src/components/charts/tables/TableChartPaginated/index.tsx","../src/components/charts/tables/TableChartPaginated/TableChartPaginated.emb.ts"],"sourcesContent":["import { DataResponse, Dimension, DimensionOrMeasure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { CssSize } from '@embeddable.com/remarkable-ui-v0';\nimport { Theme } from '../../../theme/theme.types';\nimport {\n getStyleNumber,\n TableHeaderAlign,\n TableHeaderItem,\n TableHeaderItemAlign,\n} from '@embeddable.com/remarkable-ui-v0';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const getTableHeaderAlign = (dimOrMeas: DimensionOrMeasure): TableHeaderItemAlign => {\n const subInputAlign = dimOrMeas.inputs?.align;\n\n if (subInputAlign) return subInputAlign;\n\n // Get width by native type\n switch (dimOrMeas.nativeType) {\n case 'number':\n case 'boolean':\n case 'time':\n return TableHeaderAlign.RIGHT;\n default:\n return TableHeaderAlign.LEFT;\n }\n};\n\nexport const getTableHeaderMinWidth = (dimOrMeas: DimensionOrMeasure): CssSize => {\n const subInputWidth = dimOrMeas.inputs?.width;\n\n if (subInputWidth) return subInputWidth;\n\n // Get width by native type\n switch (dimOrMeas.nativeType) {\n case 'string':\n return getStyleNumber('--em-tablechart-min-width--string' as any, '8.75rem') as number;\n case 'number':\n return getStyleNumber('--em-tablechart-min-width--number' as any, '5.625rem') as number;\n case 'time':\n return getStyleNumber('--em-tablechart-min-width--time' as any, '8.75rem') as number;\n case 'boolean':\n default:\n return getStyleNumber('--em-tablechart-min-width--boolean' as any, '5.625rem') as number;\n }\n};\n\nexport const getTableHeaders = (\n props: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n },\n theme: Theme,\n): TableHeaderItem<any>[] => {\n const themeFormatter = getThemeFormatter(theme);\n return props.dimensionsAndMeasures.map((dimOrMeas) => ({\n id: dimOrMeas.name,\n title: themeFormatter.dimensionOrMeasureTitle(dimOrMeas),\n accessor: (row: any) => {\n if (row[dimOrMeas.name] == null) {\n return props.displayNullAs ?? '';\n }\n return themeFormatter.data(dimOrMeas, row[dimOrMeas.name]);\n },\n minWidth: getTableHeaderMinWidth(dimOrMeas),\n align: getTableHeaderAlign(dimOrMeas),\n }));\n};\n\nexport const getTableRows = (props: { clickDimension?: Dimension; rows: DataResponse['data'] }) => {\n if (!props.rows || props.rows.length === 0) {\n return [];\n }\n\n const clickDimensionName = props.clickDimension?.name;\n\n if (!clickDimensionName || Object.keys(props.rows[0]!).includes(clickDimensionName)) {\n return props.rows;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return props.rows.map(({ [clickDimensionName]: _, ...row }) => ({\n ...row,\n }));\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useDebounce,\n} from '@embeddable.com/remarkable-ui-v0';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { useObserverHeight } from '@embeddable.com/remarkable-ui-v0';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\nconst hasSortChanges = (\n sort: TableChartPaginatedProState['sort'],\n sortToCompare: TableChartPaginatedProState['sort'],\n): boolean => {\n const changed =\n sort?.id !== sortToCompare?.id ||\n sort?.direction !== sortToCompare?.direction ||\n (!sort && !!sortToCompare) ||\n (!!sort && !sortToCompare);\n\n return changed;\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n};\n\ntype TableChartPaginatedProProps = {\n embeddableState: TableChartPaginatedProState;\n title: string;\n description: string;\n displayNullAs?: string;\n results: DataResponse;\n dimensionsAndMeasures: DimensionOrMeasure[];\n showIndex: boolean;\n allResults?: DataResponse;\n clickDimension?: Dimension;\n state: TableChartPaginatedProState;\n setState: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n};\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [total, setTotal] = useState<number | undefined>(undefined);\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { description, title } = resolveI18nProps(props);\n const {\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const [localSort, setLocalSort] = useState(state.sort);\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const chartHeight = useObserverHeight(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: chartHeight,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n const debouncedUpdateState = useDebounce(handleUpdateEmbeddableState);\n\n // Sync local sort with embeddable state\n useEffect(() => {\n if (hasSortChanges(state.sort, localSort)) setLocalSort(state.sort);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.sort]);\n\n // Debounce sort updates to embeddable state\n useEffect(() => {\n debouncedUpdateState({ sort: localSort });\n }, [localSort, debouncedUpdateState]);\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Sync total from results\n useEffect(() => {\n if (results?.total && results.total !== total) {\n setTotal(results.total);\n }\n }, [results, total]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n subtitle={description}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={state.page}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: state.page + 1,\n totalPages: getTableTotalPages(total, pageSize) ?? '?',\n })}\n total={total}\n sort={localSort}\n onSortChange={(newSort) => {\n setLocalSort(newSort as TableChartPaginatedProState['sort']);\n }}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n","import { loadData, OrderBy, Value } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport TablePaginatedChart, {\n TableChartPaginatedProOnRowClickArg,\n TableChartPaginatedProState,\n} from './index';\nimport {\n dataset,\n description,\n title,\n dimensionsAndMeasures,\n subInputWidth,\n subInputAlign,\n genericBoolean,\n genericString,\n maxResults,\n dimensionSimple,\n} from '../../../component.constants';\nimport { mergician } from 'mergician';\n\nexport const meta = {\n name: 'TableChartPaginated',\n label: 'Table Chart - Paginated',\n category: 'Table Charts',\n inputs: [\n dataset,\n {\n ...dimensionsAndMeasures,\n label: 'Columns',\n inputs: [...dimensionsAndMeasures.inputs, subInputWidth, subInputAlign],\n },\n title,\n description,\n\n { ...genericBoolean, name: 'showIndex', label: 'Show Index Column', defaultValue: true },\n { ...genericString, name: 'displayNullAs', label: 'Display null as' },\n { ...maxResults, label: 'Max Results to Download' },\n {\n ...dimensionSimple,\n label: 'Dimension to set on click',\n name: 'clickDimension',\n category: 'Data Mapping for Interactions',\n required: false,\n },\n ],\n events: [\n {\n name: 'onRowClicked',\n label: 'A row is clicked',\n properties: [\n {\n name: 'rowDimensionValue',\n label: 'Clicked Row Dimension Value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst defaultState: TableChartPaginatedProState = {\n page: 0,\n pageSize: undefined,\n sort: undefined,\n isLoadingDownloadData: false,\n};\n\nexport default defineComponent(TablePaginatedChart, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [TableChartPaginatedProState, (state: TableChartPaginatedProState) => void],\n ) => {\n const orderDimensionAndMeasure = inputs.dimensionsAndMeasures.find(\n (x) => x.name === state?.sort?.id,\n );\n\n const orderBy: OrderBy[] =\n orderDimensionAndMeasure && state?.sort\n ? [\n {\n property: orderDimensionAndMeasure,\n direction: state.sort.direction,\n },\n ]\n : [];\n\n const clickDimensionInDimensionsAndMeasures = inputs.dimensionsAndMeasures.some(\n (dimOrMeas) => dimOrMeas.name === inputs.clickDimension?.name,\n );\n\n const dimensionsAndMeasuresToLoad = [\n ...inputs.dimensionsAndMeasures,\n clickDimensionInDimensionsAndMeasures ? [] : inputs.clickDimension,\n ];\n\n return {\n ...inputs,\n\n state: mergician(defaultState, state ?? {}), // Merge with default state\n setState,\n\n results: state?.pageSize\n ? loadData({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: state.page * state.pageSize,\n limit: state.pageSize,\n countRows: true,\n orderBy,\n })\n : undefined,\n allResults: state?.isLoadingDownloadData\n ? loadData({\n from: inputs.dataset,\n select: inputs.dimensionsAndMeasures,\n orderBy,\n limit: inputs.maxResults,\n })\n : undefined,\n };\n },\n events: {\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => {\n return {\n rowDimensionValue: rowDimensionValue !== undefined ? rowDimensionValue : Value.noFilter(),\n };\n },\n },\n});\n"],"names":["getTableHeaderAlign","dimOrMeas","subInputAlign","_a","TableHeaderAlign","getTableHeaderMinWidth","subInputWidth","getStyleNumber","getTableHeaders","props","theme","themeFormatter","getThemeFormatter","row","getTableRows","clickDimensionName","_","hasSortChanges","sort","sortToCompare","headerHeight","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","useTheme","i18nSetup","total","setTotal","useState","isDownloadingData","setIsDownloadingData","description","title","resolveI18nProps","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","localSort","setLocalSort","headers","rows","tableRows","cardContentRef","useRef","chartHeight","useObserverHeight","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","debouncedUpdateState","useDebounce","useEffect","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newSort","newPage","meta","dataset","genericBoolean","genericString","maxResults","dimensionSimple","defaultState","TableChartPaginated_emb","defineComponent","TablePaginatedChart","inputs","orderDimensionAndMeasure","x","orderBy","clickDimensionInDimensionsAndMeasures","dimensionsAndMeasuresToLoad","mergician","loadData","Value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableChartPaginated.js","sources":["../src/components/charts/tables/tables.utils.ts","../src/components/charts/tables/TableChartPaginated/index.tsx","../src/components/charts/tables/TableChartPaginated/TableChartPaginated.emb.ts"],"sourcesContent":["import { DataResponse, Dimension, DimensionOrMeasure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { CssSize } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport {\n getStyleNumber,\n TableHeaderAlign,\n TableHeaderItem,\n TableHeaderItemAlign,\n} from '@embeddable.com/remarkable-ui';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const getTableHeaderAlign = (dimOrMeas: DimensionOrMeasure): TableHeaderItemAlign => {\n const subInputAlign = dimOrMeas.inputs?.align;\n\n if (subInputAlign) return subInputAlign;\n\n // Get width by native type\n switch (dimOrMeas.nativeType) {\n case 'number':\n case 'boolean':\n case 'time':\n return TableHeaderAlign.RIGHT;\n default:\n return TableHeaderAlign.LEFT;\n }\n};\n\nexport const getTableHeaderMinWidth = (dimOrMeas: DimensionOrMeasure): CssSize => {\n const subInputWidth = dimOrMeas.inputs?.width;\n\n if (subInputWidth) return subInputWidth;\n\n // Get width by native type\n switch (dimOrMeas.nativeType) {\n case 'string':\n return getStyleNumber('--em-tablechart-min-width--string' as any, '8.75rem') as number;\n case 'number':\n return getStyleNumber('--em-tablechart-min-width--number' as any, '5.625rem') as number;\n case 'time':\n return getStyleNumber('--em-tablechart-min-width--time' as any, '8.75rem') as number;\n case 'boolean':\n default:\n return getStyleNumber('--em-tablechart-min-width--boolean' as any, '5.625rem') as number;\n }\n};\n\nexport const getTableHeaders = (\n props: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n },\n theme: Theme,\n): TableHeaderItem<any>[] => {\n const themeFormatter = getThemeFormatter(theme);\n return props.dimensionsAndMeasures.map((dimOrMeas) => ({\n id: dimOrMeas.name,\n title: themeFormatter.dimensionOrMeasureTitle(dimOrMeas),\n accessor: (row: any) => {\n if (row[dimOrMeas.name] == null) {\n return props.displayNullAs ?? '';\n }\n return themeFormatter.data(dimOrMeas, row[dimOrMeas.name]);\n },\n minWidth: getTableHeaderMinWidth(dimOrMeas),\n align: getTableHeaderAlign(dimOrMeas),\n }));\n};\n\nexport const getTableRows = (props: { clickDimension?: Dimension; rows: DataResponse['data'] }) => {\n if (!props.rows || props.rows.length === 0) {\n return [];\n }\n\n const clickDimensionName = props.clickDimension?.name;\n\n if (!clickDimensionName || Object.keys(props.rows[0]!).includes(clickDimensionName)) {\n return props.rows;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return props.rows.map(({ [clickDimensionName]: _, ...row }) => ({\n ...row,\n }));\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useDebounce,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { useObserverHeight } from '@embeddable.com/remarkable-ui';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\nconst hasSortChanges = (\n sort: TableChartPaginatedProState['sort'],\n sortToCompare: TableChartPaginatedProState['sort'],\n): boolean => {\n const changed =\n sort?.id !== sortToCompare?.id ||\n sort?.direction !== sortToCompare?.direction ||\n (!sort && !!sortToCompare) ||\n (!!sort && !sortToCompare);\n\n return changed;\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n};\n\ntype TableChartPaginatedProProps = {\n embeddableState: TableChartPaginatedProState;\n title: string;\n description: string;\n displayNullAs?: string;\n results: DataResponse;\n dimensionsAndMeasures: DimensionOrMeasure[];\n showIndex: boolean;\n allResults?: DataResponse;\n clickDimension?: Dimension;\n state: TableChartPaginatedProState;\n setState: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n};\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [total, setTotal] = useState<number | undefined>(undefined);\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { description, title } = resolveI18nProps(props);\n const {\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const [localSort, setLocalSort] = useState(state.sort);\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const chartHeight = useObserverHeight(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: chartHeight,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n const debouncedUpdateState = useDebounce(handleUpdateEmbeddableState);\n\n // Sync local sort with embeddable state\n useEffect(() => {\n if (hasSortChanges(state.sort, localSort)) setLocalSort(state.sort);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.sort]);\n\n // Debounce sort updates to embeddable state\n useEffect(() => {\n debouncedUpdateState({ sort: localSort });\n }, [localSort, debouncedUpdateState]);\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Sync total from results\n useEffect(() => {\n if (results?.total && results.total !== total) {\n setTotal(results.total);\n }\n }, [results, total]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n subtitle={description}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={state.page}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: state.page + 1,\n totalPages: getTableTotalPages(total, pageSize) ?? '?',\n })}\n total={total}\n sort={localSort}\n onSortChange={(newSort) => {\n setLocalSort(newSort as TableChartPaginatedProState['sort']);\n }}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n","import { loadData, OrderBy, Value } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport TablePaginatedChart, {\n TableChartPaginatedProOnRowClickArg,\n TableChartPaginatedProState,\n} from './index';\nimport {\n dataset,\n description,\n title,\n dimensionsAndMeasures,\n subInputWidth,\n subInputAlign,\n genericBoolean,\n genericString,\n maxResults,\n dimensionSimple,\n} from '../../../component.constants';\nimport { mergician } from 'mergician';\n\nexport const meta = {\n name: 'TableChartPaginated',\n label: 'Table Chart - Paginated',\n category: 'Table Charts',\n inputs: [\n dataset,\n {\n ...dimensionsAndMeasures,\n label: 'Columns',\n inputs: [...dimensionsAndMeasures.inputs, subInputWidth, subInputAlign],\n },\n title,\n description,\n\n { ...genericBoolean, name: 'showIndex', label: 'Show Index Column', defaultValue: true },\n { ...genericString, name: 'displayNullAs', label: 'Display null as' },\n { ...maxResults, label: 'Max Results to Download' },\n {\n ...dimensionSimple,\n label: 'Dimension to set on click',\n name: 'clickDimension',\n category: 'Data Mapping for Interactions',\n required: false,\n },\n ],\n events: [\n {\n name: 'onRowClicked',\n label: 'A row is clicked',\n properties: [\n {\n name: 'rowDimensionValue',\n label: 'Clicked Row Dimension Value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst defaultState: TableChartPaginatedProState = {\n page: 0,\n pageSize: undefined,\n sort: undefined,\n isLoadingDownloadData: false,\n};\n\nexport default defineComponent(TablePaginatedChart, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [TableChartPaginatedProState, (state: TableChartPaginatedProState) => void],\n ) => {\n const orderDimensionAndMeasure = inputs.dimensionsAndMeasures.find(\n (x) => x.name === state?.sort?.id,\n );\n\n const orderBy: OrderBy[] =\n orderDimensionAndMeasure && state?.sort\n ? [\n {\n property: orderDimensionAndMeasure,\n direction: state.sort.direction,\n },\n ]\n : [];\n\n const clickDimensionInDimensionsAndMeasures = inputs.dimensionsAndMeasures.some(\n (dimOrMeas) => dimOrMeas.name === inputs.clickDimension?.name,\n );\n\n const dimensionsAndMeasuresToLoad = [\n ...inputs.dimensionsAndMeasures,\n clickDimensionInDimensionsAndMeasures ? [] : inputs.clickDimension,\n ];\n\n return {\n ...inputs,\n\n state: mergician(defaultState, state ?? {}), // Merge with default state\n setState,\n\n results: state?.pageSize\n ? loadData({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: state.page * state.pageSize,\n limit: state.pageSize,\n countRows: true,\n orderBy,\n })\n : undefined,\n allResults: state?.isLoadingDownloadData\n ? loadData({\n from: inputs.dataset,\n select: inputs.dimensionsAndMeasures,\n orderBy,\n limit: inputs.maxResults,\n })\n : undefined,\n };\n },\n events: {\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => {\n return {\n rowDimensionValue: rowDimensionValue !== undefined ? rowDimensionValue : Value.noFilter(),\n };\n },\n },\n});\n"],"names":["getTableHeaderAlign","dimOrMeas","subInputAlign","_a","TableHeaderAlign","getTableHeaderMinWidth","subInputWidth","getStyleNumber","getTableHeaders","props","theme","themeFormatter","getThemeFormatter","row","getTableRows","clickDimensionName","_","hasSortChanges","sort","sortToCompare","headerHeight","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","useTheme","i18nSetup","total","setTotal","useState","isDownloadingData","setIsDownloadingData","description","title","resolveI18nProps","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","localSort","setLocalSort","headers","rows","tableRows","cardContentRef","useRef","chartHeight","useObserverHeight","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","debouncedUpdateState","useDebounce","useEffect","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newSort","newPage","meta","dataset","genericBoolean","genericString","maxResults","dimensionSimple","defaultState","TableChartPaginated_emb","defineComponent","TablePaginatedChart","inputs","orderDimensionAndMeasure","x","orderBy","clickDimensionInDimensionsAndMeasures","dimensionsAndMeasuresToLoad","mergician","loadData","Value"],"mappings":";;;;;;AAYO,MAAMA,KAAsB,CAACC,MAAwD;;AAC1F,QAAMC,KAAgBC,IAAAF,EAAU,WAAV,gBAAAE,EAAkB;AAExC,MAAID,EAAe,QAAOA;AAG1B,UAAQD,EAAU,YAAA;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOG,EAAiB;AAAA,IAC1B;AACE,aAAOA,EAAiB;AAAA,EAAA;AAE9B,GAEaC,KAAyB,CAACJ,MAA2C;;AAChF,QAAMK,KAAgBH,IAAAF,EAAU,WAAV,gBAAAE,EAAkB;AAExC,MAAIG,EAAe,QAAOA;AAG1B,UAAQL,EAAU,YAAA;AAAA,IAChB,KAAK;AACH,aAAOM,EAAe,qCAA4C,SAAS;AAAA,IAC7E,KAAK;AACH,aAAOA,EAAe,qCAA4C,UAAU;AAAA,IAC9E,KAAK;AACH,aAAOA,EAAe,mCAA0C,SAAS;AAAA,IAC3E,KAAK;AAAA,IACL;AACE,aAAOA,EAAe,sCAA6C,UAAU;AAAA,EAAA;AAEnF,GAEaC,KAAkB,CAC7BC,GAIAC,MAC2B;AAC3B,QAAMC,IAAiBC,GAAkBF,CAAK;AAC9C,SAAOD,EAAM,sBAAsB,IAAI,CAACR,OAAe;AAAA,IACrD,IAAIA,EAAU;AAAA,IACd,OAAOU,EAAe,wBAAwBV,CAAS;AAAA,IACvD,UAAU,CAACY,MACLA,EAAIZ,EAAU,IAAI,KAAK,OAClBQ,EAAM,iBAAiB,KAEzBE,EAAe,KAAKV,GAAWY,EAAIZ,EAAU,IAAI,CAAC;AAAA,IAE3D,UAAUI,GAAuBJ,CAAS;AAAA,IAC1C,OAAOD,GAAoBC,CAAS;AAAA,EAAA,EACpC;AACJ,GAEaa,KAAe,CAACL,MAAsE;;AACjG,MAAI,CAACA,EAAM,QAAQA,EAAM,KAAK,WAAW;AACvC,WAAO,CAAA;AAGT,QAAMM,KAAqBZ,IAAAM,EAAM,mBAAN,gBAAAN,EAAsB;AAEjD,SAAI,CAACY,KAAsB,OAAO,KAAKN,EAAM,KAAK,CAAC,CAAE,EAAE,SAASM,CAAkB,IACzEN,EAAM,OAIRA,EAAM,KAAK,IAAI,CAAC,EAAE,CAACM,IAAqBC,GAAG,GAAGH,SAAW;AAAA,IAC9D,GAAGA;AAAA,EAAA,EACH;AACJ,GClEMI,KAAiB,CACrBC,GACAC,OAGED,KAAA,gBAAAA,EAAM,SAAOC,KAAA,gBAAAA,EAAe,QAC5BD,KAAA,gBAAAA,EAAM,gBAAcC,KAAA,gBAAAA,EAAe,cAClC,CAACD,KAAQ,CAAC,CAACC,KACX,CAAC,CAACD,KAAQ,CAACC,GAOVC,KAAeb,EAAe,+BAA+B,QAAQ,GACrEc,KAAYd,EAAe,+BAA+B,QAAQ,GAClEe,KAAef,EAAe,qCAAqC,MAAM;AAE/E,IAAIgB;AAyBJ,MAAMC,KAAyB,CAACf,MAAuC;AACrE,QAAMC,IAAQe,EAAA;AACd,EAAAC,EAAUhB,CAAK;AAEf,QAAM,CAACiB,GAAOC,CAAQ,IAAIC,EAA6B,MAAS,GAC1D,CAACC,GAAmBC,CAAoB,IAAIF,EAAS,EAAK,GAE1D,EAAE,aAAAG,GAAa,OAAAC,MAAUC,EAAiBzB,CAAK,GAC/C;AAAA,IACJ,SAAA0B;AAAA,IACA,YAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACElC,GAEE,CAACmC,GAAWC,CAAY,IAAIhB,EAASY,EAAM,IAAI,GAE/CK,IAAUtC,GAAgB,EAAE,uBAAA6B,GAAuB,eAAAC,EAAA,GAAiB5B,CAAK,GACzEqC,KAAOZ,KAAA,gBAAAA,EAAS,SAAQ,CAAA,GACxBa,IAAYlC,GAAa,EAAE,MAAAiC,GAAM,gBAAAP,GAAgB,GACjDS,IAAiBC,GAAuB,IAAI,GAC5CC,IAAcC,EAAkBH,CAAc,GAC9CI,IAAWC,EAAuB;AAAA,IACtC,iBAAiBH;AAAA,IACjB,cAAA/B;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,CACD,GAGKiC,IAA8BC;AAAA,IAClC,CAACC,MAAmD;AAClD,MAAAf,EAAS,CAACgB,OAAe;AAAA,QACvB,GAAGA;AAAA,QACH,GAAGD;AAAA,MAAA,EACH;AAAA,IACJ;AAAA,IACA,CAACf,CAAQ;AAAA,EAAA,GAGLiB,IAAuB,CAACC,MAAiE;AAC7F,IAAA7B,EAAqB,EAAI,GACzBwB,EAA4B,EAAE,uBAAuB,IAAM,GAE3DhC,IAAe,CAACsC,MACdD,EAAW;AAAA,MACT,OAAA3B;AAAA,MACA,MAAA4B;AAAA,MACA,uBAAAxB;AAAA,MACA,cAAcY;AAAA,MACd,OAAAvC;AAAA,IAAA,CACD;AAAA,EACL,GAEMoD,IAAsB,CAACC,MAAqB;;AAChD,QAAI,CAACvB,EAAgB;AAErB,UAAMwB,KAAoB7D,IAAA4C,EAAKgB,CAAQ,MAAb,gBAAA5D,EAAiBqC,EAAe;AAC1D,IAAAG,EAAaqB,CAAiB;AAAA,EAChC,GAEMC,IAAuBC,EAAYX,CAA2B;AAGpE,SAAAY,EAAU,MAAM;AACd,IAAIlD,GAAewB,EAAM,MAAMG,CAAS,KAAGC,EAAaJ,EAAM,IAAI;AAAA,EAEpE,GAAG,CAACA,EAAM,IAAI,CAAC,GAGf0B,EAAU,MAAM;AACd,IAAAF,EAAqB,EAAE,MAAMrB,GAAW;AAAA,EAC1C,GAAG,CAACA,GAAWqB,CAAoB,CAAC,GAGpCE,EAAU,MAAM;AACd,IAAId,KACFE,EAA4B,EAAE,UAAAF,GAAU;AAAA,EAE5C,GAAG,CAACA,GAAUE,CAA2B,CAAC,GAG1CY,EAAU,MAAM;AACd,IAAIhC,KAAA,QAAAA,EAAS,SAASA,EAAQ,UAAUR,KACtCC,EAASO,EAAQ,KAAK;AAAA,EAE1B,GAAG,CAACA,GAASR,CAAK,CAAC,GAGnBwC,EAAU,MAAM;AACd,QAAIrC,GAAmB;AACrB,UAAI,CAACM,KAAcA,EAAW;AAE5B;AAGF,MAAAb,EAAaa,EAAW,IAAI,GAC5BL,EAAqB,EAAK,GAC1BwB,EAA4B,EAAE,uBAAuB,IAAO;AAAA,IAC9D;AAAA,EACF,GAAG,CAACzB,GAAmBM,GAAYmB,CAA2B,CAAC,GAG7Da,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKpB;AAAA,MACL,OAAAhB;AAAA,MACA,UAAUD;AAAA,MACV,MAAMG;AAAA,MACN,uBAAAE;AAAA,MACA,cAAcF,KAAA,gBAAAA,EAAS;AAAA,MACvB,kBAAkBwB;AAAA,MAElB,UAAAS,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,iBAAiBR;AAAA,UACjB,SAAAhB;AAAA,UACA,MAAME;AAAA,UACN,WAAAT;AAAA,UACA,MAAME,EAAM;AAAA,UACZ,UAAAY;AAAA,UACA,iBAAiBkB,EAAK,EAAE,oCAAoC;AAAA,YAC1D,MAAM9B,EAAM,OAAO;AAAA,YACnB,YAAY+B,EAAmB7C,GAAO0B,CAAQ,KAAK;AAAA,UAAA,CACpD;AAAA,UACD,OAAA1B;AAAA,UACA,MAAMiB;AAAA,UACN,cAAc,CAAC6B,MAAY;AACzB,YAAA5B,EAAa4B,CAA8C;AAAA,UAC7D;AAAA,UACA,cAAc,CAACC,MAAYnB,EAA4B,EAAE,MAAMmB,GAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1E;AAAA,EAAA;AAGN,GCnLaC,KAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC;AAAA,IACA;AAAA,MACE,GAAGvC;AAAA,MACH,OAAO;AAAA,MACP,QAAQ,CAAC,GAAGA,EAAsB,QAAQ/B,GAAeJ,EAAa;AAAA,IAAA;AAAA,IAExE+B;AAAA,IACAD;AAAA,IAEA,EAAE,GAAG6C,IAAgB,MAAM,aAAa,OAAO,qBAAqB,cAAc,GAAA;AAAA,IAClF,EAAE,GAAGC,IAAe,MAAM,iBAAiB,OAAO,kBAAA;AAAA,IAClD,EAAE,GAAGC,IAAY,OAAO,0BAAA;AAAA,IACxB;AAAA,MACE,GAAGC;AAAA,MACH,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,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;AAEJ,GAEMC,KAA4C;AAAA,EAChD,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,uBAAuB;AACzB,GAEAC,KAAeC,EAAgBC,IAAqBT,IAAM;AAAA;AAAA,EAExD,OAAO,CACLU,GACA,CAAC5C,GAAOC,CAAQ,MACb;AACH,UAAM4C,IAA2BD,EAAO,sBAAsB;AAAA,MAC5D,CAACE,MAAA;;AAAM,eAAAA,EAAE,WAASpF,IAAAsC,KAAA,gBAAAA,EAAO,SAAP,gBAAAtC,EAAa;AAAA;AAAA,IAAA,GAG3BqF,IACJF,MAA4B7C,KAAA,QAAAA,EAAO,QAC/B;AAAA,MACE;AAAA,QACE,UAAU6C;AAAA,QACV,WAAW7C,EAAM,KAAK;AAAA,MAAA;AAAA,IACxB,IAEF,CAAA,GAEAgD,IAAwCJ,EAAO,sBAAsB;AAAA,MACzE,CAACpF,MAAA;;AAAc,eAAAA,EAAU,WAASE,IAAAkF,EAAO,mBAAP,gBAAAlF,EAAuB;AAAA;AAAA,IAAA,GAGrDuF,IAA8B;AAAA,MAClC,GAAGL,EAAO;AAAA,MACVI,IAAwC,CAAA,IAAKJ,EAAO;AAAA,IAAA;AAGtD,WAAO;AAAA,MACL,GAAGA;AAAA,MAEH,OAAOM,EAAUV,IAAcxC,KAAS,CAAA,CAAE;AAAA;AAAA,MAC1C,UAAAC;AAAA,MAEA,SAASD,KAAA,QAAAA,EAAO,WACZmD,EAAS;AAAA,QACP,MAAMP,EAAO;AAAA,QACb,QAAQK;AAAA,QACR,QAAQjD,EAAM,OAAOA,EAAM;AAAA,QAC3B,OAAOA,EAAM;AAAA,QACb,WAAW;AAAA,QACX,SAAA+C;AAAA,MAAA,CACD,IACD;AAAA,MACJ,YAAY/C,KAAA,QAAAA,EAAO,wBACfmD,EAAS;AAAA,QACP,MAAMP,EAAO;AAAA,QACb,QAAQA,EAAO;AAAA,QACf,SAAAG;AAAA,QACA,OAAOH,EAAO;AAAA,MAAA,CACf,IACD;AAAA,IAAA;AAAA,EAER;AAAA,EACA,QAAQ;AAAA,IACN,cAAc,CAACrB,OACN;AAAA,MACL,mBAAmBA,MAAsB,SAAYA,IAAoB6B,EAAM,SAAA;AAAA,IAAS;AAAA,EAE5F;AAEJ,CAAC;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as
|
|
2
|
-
function
|
|
1
|
+
import { r as y, g } from "./utc-B2gCnkBk.js";
|
|
2
|
+
function L(a, u) {
|
|
3
3
|
for (var n = 0; n < u.length; n++) {
|
|
4
4
|
const e = u[n];
|
|
5
5
|
if (typeof e != "string" && !Array.isArray(e)) {
|
|
@@ -15,25 +15,25 @@ function M(a, u) {
|
|
|
15
15
|
}
|
|
16
16
|
return Object.freeze(Object.defineProperty(a, Symbol.toStringTag, { value: "Module" }));
|
|
17
17
|
}
|
|
18
|
-
var s = { exports: {} },
|
|
19
|
-
function
|
|
18
|
+
var s = { exports: {} }, h = s.exports, f;
|
|
19
|
+
function x() {
|
|
20
20
|
return f || (f = 1, (function(a, u) {
|
|
21
21
|
(function(n, e) {
|
|
22
|
-
a.exports = e(
|
|
23
|
-
})(
|
|
22
|
+
a.exports = e(y());
|
|
23
|
+
})(h, (function(n) {
|
|
24
24
|
function e(r) {
|
|
25
25
|
return r && typeof r == "object" && "default" in r ? r : { default: r };
|
|
26
26
|
}
|
|
27
|
-
var t = e(n), o = "يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"), c = { 1: "١", 2: "٢", 3: "٣", 4: "٤", 5: "٥", 6: "٦", 7: "٧", 8: "٨", 9: "٩", 0: "٠" }, d = { "١": "1", "٢": "2", "٣": "3", "٤": "4", "٥": "5", "٦": "6", "٧": "7", "٨": "8", "٩": "9", "٠": "0" }, i = { name: "ar", weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"), weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"), months: o, monthsShort: o, weekStart: 6, meridiem: function(r) {
|
|
27
|
+
var t = e(n), o = "يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"), c = { 1: "١", 2: "٢", 3: "٣", 4: "٤", 5: "٥", 6: "٦", 7: "٧", 8: "٨", 9: "٩", 0: "٠" }, d = { "١": "1", "٢": "2", "٣": "3", "٤": "4", "٥": "5", "٦": "6", "٧": "7", "٨": "8", "٩": "9", "٠": "0" }, l = /[١٢٣٤٥٦٧٨٩٠]/g, m = /،/g, M = /\d/g, Y = /,/g, i = { name: "ar", weekdays: "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"), weekdaysShort: "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"), weekdaysMin: "ح_ن_ث_ر_خ_ج_س".split("_"), months: o, monthsShort: o, weekStart: 6, meridiem: function(r) {
|
|
28
28
|
return r > 12 ? "م" : "ص";
|
|
29
29
|
}, relativeTime: { future: "بعد %s", past: "منذ %s", s: "ثانية واحدة", m: "دقيقة واحدة", mm: "%d دقائق", h: "ساعة واحدة", hh: "%d ساعات", d: "يوم واحد", dd: "%d أيام", M: "شهر واحد", MM: "%d أشهر", y: "عام واحد", yy: "%d أعوام" }, preparse: function(r) {
|
|
30
|
-
return r.replace(
|
|
30
|
+
return r.replace(l, (function(_) {
|
|
31
31
|
return d[_];
|
|
32
|
-
})).replace(
|
|
32
|
+
})).replace(m, ",");
|
|
33
33
|
}, postformat: function(r) {
|
|
34
|
-
return r.replace(
|
|
34
|
+
return r.replace(M, (function(_) {
|
|
35
35
|
return c[_];
|
|
36
|
-
})).replace(
|
|
36
|
+
})).replace(Y, "،");
|
|
37
37
|
}, ordinal: function(r) {
|
|
38
38
|
return r;
|
|
39
39
|
}, formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "D/M/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd D MMMM YYYY HH:mm" } };
|
|
@@ -41,12 +41,12 @@ function y() {
|
|
|
41
41
|
}));
|
|
42
42
|
})(s)), s.exports;
|
|
43
43
|
}
|
|
44
|
-
var p =
|
|
45
|
-
const
|
|
44
|
+
var p = x();
|
|
45
|
+
const v = /* @__PURE__ */ g(p), b = /* @__PURE__ */ L({
|
|
46
46
|
__proto__: null,
|
|
47
|
-
default:
|
|
47
|
+
default: v
|
|
48
48
|
}, [p]);
|
|
49
49
|
export {
|
|
50
|
-
|
|
50
|
+
b as a
|
|
51
51
|
};
|
|
52
|
-
//# sourceMappingURL=ar-
|
|
52
|
+
//# sourceMappingURL=ar-Crg6bIiJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ar-Crg6bIiJ.js","sources":["../node_modules/dayjs/locale/ar.js"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_ar=t(e.dayjs)}(this,(function(e){\"use strict\";function t(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var n=t(e),r=\"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),d={1:\"١\",2:\"٢\",3:\"٣\",4:\"٤\",5:\"٥\",6:\"٦\",7:\"٧\",8:\"٨\",9:\"٩\",0:\"٠\"},_={\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"٠\":\"0\"},o=/[١٢٣٤٥٦٧٨٩٠]/g,i=/،/g,a=/\\d/g,s=/,/g,u={name:\"ar\",weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),months:r,monthsShort:r,weekStart:6,meridiem:function(e){return e>12?\"م\":\"ص\"},relativeTime:{future:\"بعد %s\",past:\"منذ %s\",s:\"ثانية واحدة\",m:\"دقيقة واحدة\",mm:\"%d دقائق\",h:\"ساعة واحدة\",hh:\"%d ساعات\",d:\"يوم واحد\",dd:\"%d أيام\",M:\"شهر واحد\",MM:\"%d أشهر\",y:\"عام واحد\",yy:\"%d أعوام\"},preparse:function(e){return e.replace(o,(function(e){return _[e]})).replace(i,\",\")},postformat:function(e){return e.replace(a,(function(e){return d[e]})).replace(s,\"،\")},ordinal:function(e){return e},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/M/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"}};return n.default.locale(u,null,!0),u}));"],"names":["e","t","module","require$$0","this","n","r","d","_","o","i","a","s","u"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,KAAC,SAASA,GAAEC,GAAE;AAAsD,MAAAC,EAAA,UAAeD,EAAEE,EAAA,CAAgB;AAAA,IAA4I,GAAEC,IAAM,SAASJ,GAAE;AAAc,eAASC,EAAED,GAAE;AAAC,eAAOA,KAAa,OAAOA,KAAjB,YAAoB,aAAYA,IAAEA,IAAE,EAAC,SAAQA,EAAC;AAAA,MAAC;AAAC,UAAIK,IAAEJ,EAAED,CAAC,GAAEM,IAAE,6EAA6E,MAAM,GAAG,GAAEC,IAAE,EAAC,GAAE,KAAI,GAAE,KAAI,GAAE,KAAI,GAAE,KAAI,GAAE,KAAI,GAAE,KAAI,GAAE,KAAI,GAAE,KAAI,GAAE,KAAI,GAAE,IAAG,GAAEC,IAAE,EAAC,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAEC,IAAE,iBAAgBC,IAAE,MAAKC,IAAE,OAAMC,IAAE,MAAKC,IAAE,EAAC,MAAK,MAAK,UAAS,sDAAsD,MAAM,GAAG,GAAE,eAAc,wCAAwC,MAAM,GAAG,GAAE,aAAY,gBAAgB,MAAM,GAAG,GAAE,QAAOP,GAAE,aAAYA,GAAE,WAAU,GAAE,UAAS,SAASN,GAAE;AAAC,eAAOA,IAAE,KAAG,MAAI;AAAA,MAAG,GAAE,cAAa,EAAC,QAAO,UAAS,MAAK,UAAS,GAAE,eAAc,GAAE,eAAc,IAAG,YAAW,GAAE,cAAa,IAAG,YAAW,GAAE,YAAW,IAAG,WAAU,GAAE,YAAW,IAAG,WAAU,GAAE,YAAW,IAAG,WAAU,GAAE,UAAS,SAASA,GAAE;AAAC,eAAOA,EAAE,QAAQS,IAAG,SAAST,GAAE;AAAC,iBAAOQ,EAAER,CAAC;AAAA,QAAC,IAAI,QAAQU,GAAE,GAAG;AAAA,MAAC,GAAE,YAAW,SAASV,GAAE;AAAC,eAAOA,EAAE,QAAQW,IAAG,SAASX,GAAE;AAAC,iBAAOO,EAAEP,CAAC;AAAA,QAAC,EAAC,EAAG,QAAQY,GAAE,GAAG;AAAA,MAAC,GAAE,SAAQ,SAASZ,GAAE;AAAC,eAAOA;AAAA,MAAC,GAAE,SAAQ,EAAC,IAAG,SAAQ,KAAI,YAAW,GAAE,cAAa,IAAG,eAAc,KAAI,qBAAoB,MAAK,yBAAwB,EAAC;AAAE,aAAOK,EAAE,QAAQ,OAAOQ,GAAE,MAAK,EAAE,GAAEA;AAAA,IAAC,EAAC;AAAA;;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as F, g as P } from "./charts.utils-
|
|
2
|
-
import { g as h } from "./formatter.utils-
|
|
1
|
+
import { r as F, g as P } from "./charts.utils-rO92wRxO.js";
|
|
2
|
+
import { g as h } from "./formatter.utils-CeEdL8uQ.js";
|
|
3
3
|
import { g as p, a as g } from "./object.utils-D_Zzon-H.js";
|
|
4
|
-
import { g as T, a as v } from "./index-
|
|
4
|
+
import { g as T, a as v } from "./index-DedIqjbn.js";
|
|
5
5
|
const B = (l, c) => {
|
|
6
6
|
var b;
|
|
7
7
|
const m = h(c), { data: o = [], dimension: i, groupDimension: d, measure: t } = l, r = [...new Set(o.map((n) => n[i.name]).filter((n) => n != null))].sort(), a = `${d.name}${(b = d.inputs) != null && b.granularity ? `.${d.inputs.granularity}` : ""}`, e = [...new Set(o.map((n) => n[a]))].filter((n) => n != null), s = p(c), u = v(), C = e.map((n, k) => {
|
|
@@ -142,4 +142,4 @@ export {
|
|
|
142
142
|
B as b,
|
|
143
143
|
L as g
|
|
144
144
|
};
|
|
145
|
-
//# sourceMappingURL=bars.utils-
|
|
145
|
+
//# sourceMappingURL=bars.utils-BU_k5fia.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bars.utils-BU_k5fia.js","sources":["../src/components/charts/bars/bars.utils.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { remarkableTheme } from '../../../theme/theme.constants';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { groupTailAsOther } from '../charts.utils';\nimport { getColor } from '../../../theme/styles/styles.utils';\nimport { getChartColors, getChartContrastColors } from '@embeddable.com/remarkable-ui';\nimport { getObjectStableKey } from '../../../utils.ts/object.utils';\nimport { Context } from 'chartjs-plugin-datalabels';\n\nexport const getBarStackedChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n },\n theme: Theme,\n): ChartData<'bar'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupDimensionName = `${groupDimension.name}${groupDimension.inputs?.granularity ? `.${groupDimension.inputs.granularity}` : ''}`;\n const groupBy = [...new Set(data.map((d) => d[groupDimensionName]))].filter((d) => d != null);\n\n const themeKey = getObjectStableKey(theme);\n const chartContrastColors = getChartContrastColors();\n const datasets = groupBy.map((groupByItem, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.borderColors ?? chartContrastColors,\n index,\n );\n\n return {\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor,\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimensionName] === groupByItem && d[dimension.name] === axisItem,\n );\n return record ? Number(record[measure.name]) : 0;\n }),\n };\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getBarChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n maxItems?: number;\n },\n theme: Theme = remarkableTheme,\n): ChartData<'bar'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n const themeKey = getObjectStableKey(theme);\n const groupedData = groupTailAsOther(props.data, props.dimension, props.measures, props.maxItems);\n const chartColors = getChartColors();\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n measure.name,\n theme.charts.backgroundColors ?? chartColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n measure.name,\n theme.charts.borderColors ?? chartColors,\n index,\n );\n\n return {\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: groupedData.map((item) => item[measure.name] ?? 0),\n backgroundColor,\n borderColor,\n };\n }),\n };\n};\n\nconst getBarChartProDatalabelTotalFormatter = (\n context: Context,\n formatter: (value: number) => string,\n) => {\n const { datasets } = context.chart.data;\n const i = context.dataIndex;\n\n const total = datasets.reduce((sum, ds) => {\n const val = ds.data[i] as number;\n return sum + (val || 0);\n }, 0);\n\n return formatter(total);\n};\n\nexport const getBarChartProOptions = (\n options: {\n onBarClicked: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n measures: Measure[];\n dimension: Dimension;\n horizontal: boolean;\n data: ChartData<'bar'>;\n },\n theme: Theme,\n): Partial<ChartOptions<'bar'>> => {\n const { onBarClicked, measures, dimension, horizontal, data } = options;\n\n const themeFormatter = getThemeFormatter(theme);\n return {\n plugins: {\n legend: { position: theme.charts.legendPosition ?? 'bottom' },\n datalabels: {\n labels: {\n total: {\n formatter: (_value: string | number, context: Context) =>\n getBarChartProDatalabelTotalFormatter(context, (value: number) =>\n themeFormatter.data(measures[0]!, value),\n ),\n },\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\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 % measures.length]!;\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 (horizontal) {\n return themeFormatter.data(measures[0]!, value);\n }\n\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n if (!horizontal) {\n return themeFormatter.data(measures[0]!, value);\n }\n if (!data || !data.labels) return undefined;\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n const element = elements[0];\n const axisDimensionValue = (element ? chart.data.labels![element.index] : null) as\n | string\n | null;\n const groupingDimensionValue = (\n element\n ? (chart.data.datasets[element.datasetIndex] as { rawLabel?: string | null })?.rawLabel\n : null\n ) as string | null;\n\n onBarClicked({\n axisDimensionValue,\n groupingDimensionValue,\n });\n },\n };\n};\n"],"names":["getBarStackedChartProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","axis","d","groupDimensionName","_a","groupBy","themeKey","getObjectStableKey","chartContrastColors","getChartContrastColors","datasets","groupByItem","index","backgroundColor","getColor","borderColor","axisItem","record","getBarChartProData","remarkableTheme","groupedData","groupTailAsOther","chartColors","getChartColors","item","getBarChartProDatalabelTotalFormatter","context","formatter","i","total","sum","ds","val","getBarChartProOptions","options","onBarClicked","measures","horizontal","_value","value","label","raw","_event","elements","chart","element","axisDimensionValue","groupingDimensionValue"],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { r as L, g } from "./utc-B2gCnkBk.js";
|
|
2
|
+
function D(a, m) {
|
|
3
|
+
for (var s = 0; s < m.length; s++) {
|
|
4
|
+
const t = m[s];
|
|
5
|
+
if (typeof t != "string" && !Array.isArray(t)) {
|
|
6
|
+
for (const r in t)
|
|
7
|
+
if (r !== "default" && !(r in a)) {
|
|
8
|
+
const i = Object.getOwnPropertyDescriptor(t, r);
|
|
9
|
+
i && Object.defineProperty(a, r, i.get ? i : {
|
|
10
|
+
enumerable: !0,
|
|
11
|
+
get: () => t[r]
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return Object.freeze(Object.defineProperty(a, Symbol.toStringTag, { value: "Module" }));
|
|
17
|
+
}
|
|
18
|
+
var f = { exports: {} }, x = f.exports, b;
|
|
19
|
+
function H() {
|
|
20
|
+
return b || (b = 1, (function(a, m) {
|
|
21
|
+
(function(s, t) {
|
|
22
|
+
a.exports = t(L());
|
|
23
|
+
})(x, (function(s) {
|
|
24
|
+
function t(e) {
|
|
25
|
+
return e && typeof e == "object" && "default" in e ? e : { default: e };
|
|
26
|
+
}
|
|
27
|
+
var r = t(s), i = "студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"), M = "студзень_лютый_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_"), c = "студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж.".split("_"), y = "студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"), h = /D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;
|
|
28
|
+
function n(e, _, d) {
|
|
29
|
+
var o, u;
|
|
30
|
+
return d === "m" ? _ ? "хвіліна" : "хвіліну" : d === "h" ? _ ? "гадзіна" : "гадзіну" : e + " " + (o = +e, u = { ss: _ ? "секунда_секунды_секунд" : "секунду_секунды_секунд", mm: _ ? "хвіліна_хвіліны_хвілін" : "хвіліну_хвіліны_хвілін", hh: _ ? "гадзіна_гадзіны_гадзін" : "гадзіну_гадзіны_гадзін", dd: "дзень_дні_дзён", MM: "месяц_месяцы_месяцаў", yy: "год_гады_гадоў" }[d].split("_"), o % 10 == 1 && o % 100 != 11 ? u[0] : o % 10 >= 2 && o % 10 <= 4 && (o % 100 < 10 || o % 100 >= 20) ? u[1] : u[2]);
|
|
31
|
+
}
|
|
32
|
+
var l = function(e, _) {
|
|
33
|
+
return h.test(_) ? i[e.month()] : M[e.month()];
|
|
34
|
+
};
|
|
35
|
+
l.s = M, l.f = i;
|
|
36
|
+
var p = function(e, _) {
|
|
37
|
+
return h.test(_) ? c[e.month()] : y[e.month()];
|
|
38
|
+
};
|
|
39
|
+
p.s = y, p.f = c;
|
|
40
|
+
var Y = { name: "be", weekdays: "нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"), weekdaysShort: "няд_пнд_аўт_сер_чцв_пят_суб".split("_"), weekdaysMin: "нд_пн_аў_ср_чц_пт_сб".split("_"), months: l, monthsShort: p, weekStart: 1, yearStart: 4, formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD.MM.YYYY", LL: "D MMMM YYYY г.", LLL: "D MMMM YYYY г., HH:mm", LLLL: "dddd, D MMMM YYYY г., HH:mm" }, relativeTime: { future: "праз %s", past: "%s таму", s: "некалькі секунд", m: n, mm: n, h: n, hh: n, d: "дзень", dd: n, M: "месяц", MM: n, y: "год", yy: n }, ordinal: function(e) {
|
|
41
|
+
return e;
|
|
42
|
+
}, meridiem: function(e) {
|
|
43
|
+
return e < 4 ? "ночы" : e < 12 ? "раніцы" : e < 17 ? "дня" : "вечара";
|
|
44
|
+
} };
|
|
45
|
+
return r.default.locale(Y, null, !0), Y;
|
|
46
|
+
}));
|
|
47
|
+
})(f)), f.exports;
|
|
48
|
+
}
|
|
49
|
+
var v = H();
|
|
50
|
+
const j = /* @__PURE__ */ g(v), k = /* @__PURE__ */ D({
|
|
51
|
+
__proto__: null,
|
|
52
|
+
default: j
|
|
53
|
+
}, [v]);
|
|
54
|
+
export {
|
|
55
|
+
k as b
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=be-cv77rX62.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"be-cv77rX62.js","sources":["../node_modules/dayjs/locale/be.js"],"sourcesContent":["!function(_,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(_=\"undefined\"!=typeof globalThis?globalThis:_||self).dayjs_locale_be=t(_.dayjs)}(this,(function(_){\"use strict\";function t(_){return _&&\"object\"==typeof _&&\"default\"in _?_:{default:_}}var e=t(_),n=\"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня\".split(\"_\"),s=\"студзень_лютый_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань\".split(\"_\"),o=\"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж.\".split(\"_\"),i=\"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж\".split(\"_\"),r=/D[oD]?(\\[[^[\\]]*\\]|\\s)+MMMM?/;function d(_,t,e){var n,s;return\"m\"===e?t?\"хвіліна\":\"хвіліну\":\"h\"===e?t?\"гадзіна\":\"гадзіну\":_+\" \"+(n=+_,s={ss:t?\"секунда_секунды_секунд\":\"секунду_секунды_секунд\",mm:t?\"хвіліна_хвіліны_хвілін\":\"хвіліну_хвіліны_хвілін\",hh:t?\"гадзіна_гадзіны_гадзін\":\"гадзіну_гадзіны_гадзін\",dd:\"дзень_дні_дзён\",MM:\"месяц_месяцы_месяцаў\",yy:\"год_гады_гадоў\"}[e].split(\"_\"),n%10==1&&n%100!=11?s[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?s[1]:s[2])}var a=function(_,t){return r.test(t)?n[_.month()]:s[_.month()]};a.s=s,a.f=n;var m=function(_,t){return r.test(t)?o[_.month()]:i[_.month()]};m.s=i,m.f=o;var u={name:\"be\",weekdays:\"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота\".split(\"_\"),weekdaysShort:\"няд_пнд_аўт_сер_чцв_пят_суб\".split(\"_\"),weekdaysMin:\"нд_пн_аў_ср_чц_пт_сб\".split(\"_\"),months:a,monthsShort:m,weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., HH:mm\",LLLL:\"dddd, D MMMM YYYY г., HH:mm\"},relativeTime:{future:\"праз %s\",past:\"%s таму\",s:\"некалькі секунд\",m:d,mm:d,h:d,hh:d,d:\"дзень\",dd:d,M:\"месяц\",MM:d,y:\"год\",yy:d},ordinal:function(_){return _},meridiem:function(_){return _<4?\"ночы\":_<12?\"раніцы\":_<17?\"дня\":\"вечара\"}};return e.default.locale(u,null,!0),u}));"],"names":["_","module","require$$0","this","e","n","s","o","i","r","d","t","a","m","u"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,KAAC,SAASA,GAAE,GAAE;AAAsD,MAAAC,EAAA,UAAe,EAAEC,EAAA,CAAgB;AAAA,IAA4I,GAAEC,IAAM,SAASH,GAAE;AAAc,eAAS,EAAEA,GAAE;AAAC,eAAOA,KAAa,OAAOA,KAAjB,YAAoB,aAAYA,IAAEA,IAAE,EAAC,SAAQA,EAAC;AAAA,MAAC;AAAC,UAAII,IAAE,EAAEJ,CAAC,GAAEK,IAAE,uGAAuG,MAAM,GAAG,GAAEC,IAAE,sGAAsG,MAAM,GAAG,GAAEC,IAAE,2DAA2D,MAAM,GAAG,GAAEC,IAAE,0DAA0D,MAAM,GAAG,GAAEC,IAAE;AAA+B,eAASC,EAAEV,GAAEW,GAAEP,GAAE;AAAC,YAAIC,GAAEC;AAAE,eAAYF,MAAN,MAAQO,IAAE,YAAU,YAAgBP,MAAN,MAAQO,IAAE,YAAU,YAAUX,IAAE,OAAKK,IAAE,CAACL,GAAEM,IAAE,EAAC,IAAGK,IAAE,2BAAyB,0BAAyB,IAAGA,IAAE,2BAAyB,0BAAyB,IAAGA,IAAE,2BAAyB,0BAAyB,IAAG,kBAAiB,IAAG,wBAAuB,IAAG,iBAAgB,EAAEP,CAAC,EAAE,MAAM,GAAG,GAAEC,IAAE,MAAI,KAAGA,IAAE,OAAK,KAAGC,EAAE,CAAC,IAAED,IAAE,MAAI,KAAGA,IAAE,MAAI,MAAIA,IAAE,MAAI,MAAIA,IAAE,OAAK,MAAIC,EAAE,CAAC,IAAEA,EAAE,CAAC;AAAA,MAAE;AAAC,UAAIM,IAAE,SAASZ,GAAEW,GAAE;AAAC,eAAOF,EAAE,KAAKE,CAAC,IAAEN,EAAEL,EAAE,MAAK,CAAE,IAAEM,EAAEN,EAAE,MAAK,CAAE;AAAA,MAAC;AAAE,MAAAY,EAAE,IAAEN,GAAEM,EAAE,IAAEP;AAAE,UAAIQ,IAAE,SAASb,GAAEW,GAAE;AAAC,eAAOF,EAAE,KAAKE,CAAC,IAAEJ,EAAEP,EAAE,MAAK,CAAE,IAAEQ,EAAER,EAAE,MAAK,CAAE;AAAA,MAAC;AAAE,MAAAa,EAAE,IAAEL,GAAEK,EAAE,IAAEN;AAAE,UAAIO,IAAE,EAAC,MAAK,MAAK,UAAS,0DAA0D,MAAM,GAAG,GAAE,eAAc,8BAA8B,MAAM,GAAG,GAAE,aAAY,uBAAuB,MAAM,GAAG,GAAE,QAAOF,GAAE,aAAYC,GAAE,WAAU,GAAE,WAAU,GAAE,SAAQ,EAAC,IAAG,SAAQ,KAAI,YAAW,GAAE,cAAa,IAAG,kBAAiB,KAAI,yBAAwB,MAAK,8BAA6B,GAAE,cAAa,EAAC,QAAO,WAAU,MAAK,WAAU,GAAE,mBAAkB,GAAEH,GAAE,IAAGA,GAAE,GAAEA,GAAE,IAAGA,GAAE,GAAE,SAAQ,IAAGA,GAAE,GAAE,SAAQ,IAAGA,GAAE,GAAE,OAAM,IAAGA,EAAC,GAAE,SAAQ,SAASV,GAAE;AAAC,eAAOA;AAAA,MAAC,GAAE,UAAS,SAASA,GAAE;AAAC,eAAOA,IAAE,IAAE,SAAOA,IAAE,KAAG,WAASA,IAAE,KAAG,QAAM;AAAA,MAAQ,EAAC;AAAE,aAAOI,EAAE,QAAQ,OAAOU,GAAE,MAAK,EAAE,GAAEA;AAAA,IAAC;;;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { g as
|
|
2
|
-
import { i as
|
|
3
|
-
import { useTheme as
|
|
4
|
-
import { useMemo as
|
|
5
|
-
var S = { exports: {} },
|
|
1
|
+
import { g as j, d as n, u as B } from "./utc-B2gCnkBk.js";
|
|
2
|
+
import { i as E, q as F } from "./quarterOfYear-wgcl4CRi.js";
|
|
3
|
+
import { useTheme as M } from "@embeddable.com/react";
|
|
4
|
+
import { useMemo as W } from "react";
|
|
5
|
+
var S = { exports: {} }, Z = S.exports, $;
|
|
6
6
|
function b() {
|
|
7
|
-
return
|
|
7
|
+
return $ || ($ = 1, (function(O, h) {
|
|
8
8
|
(function(e, t) {
|
|
9
9
|
O.exports = t();
|
|
10
|
-
})(
|
|
10
|
+
})(Z, (function() {
|
|
11
11
|
return function(e, t) {
|
|
12
12
|
t.prototype.isSameOrBefore = function(f, o) {
|
|
13
13
|
return this.isSame(f, o) || this.isBefore(f, o);
|
|
@@ -17,14 +17,14 @@ function b() {
|
|
|
17
17
|
})(S)), S.exports;
|
|
18
18
|
}
|
|
19
19
|
var C = b();
|
|
20
|
-
const G = /* @__PURE__ */
|
|
20
|
+
const G = /* @__PURE__ */ j(C);
|
|
21
|
+
n.extend(B);
|
|
21
22
|
n.extend(E);
|
|
22
|
-
n.extend(F);
|
|
23
23
|
n.extend(G);
|
|
24
|
-
n.extend(
|
|
24
|
+
n.extend(F);
|
|
25
25
|
function A(O) {
|
|
26
|
-
const h =
|
|
27
|
-
return
|
|
26
|
+
const h = M(), { results: e, dimension: t, orderDirection: f = "asc", externalDateBounds: o } = O;
|
|
27
|
+
return W(() => {
|
|
28
28
|
var k, q, I, R, V, w;
|
|
29
29
|
const m = (k = t.inputs) == null ? void 0 : k.granularity, s = t.name, a = (q = t.inputs) == null ? void 0 : q.dateBounds;
|
|
30
30
|
if (!m || !s || e != null && e.isLoading) return e;
|
|
@@ -62,4 +62,4 @@ function A(O) {
|
|
|
62
62
|
export {
|
|
63
63
|
A as u
|
|
64
64
|
};
|
|
65
|
-
//# sourceMappingURL=charts.fillGaps.hooks-
|
|
65
|
+
//# sourceMappingURL=charts.fillGaps.hooks-YayOXVmt.js.map
|