@embeddable.com/remarkable-pro 0.2.5 → 0.2.7

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.
Files changed (188) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +1 -1
  2. package/dist/BarChartDefaultPro.js +1 -1
  3. package/dist/BarChartGroupedHorizontalPro.js +1 -1
  4. package/dist/BarChartGroupedPro.js +1 -1
  5. package/dist/BarChartStackedHorizontalPro.js +1 -1
  6. package/dist/BarChartStackedPro.js +1 -1
  7. package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
  8. package/dist/DateRangePickerCustomPro.js +1 -1
  9. package/dist/DateRangeSelectFieldPro.js +1 -1
  10. package/dist/{DimensionAndMeasureSingleSelectField-HJcwoxiQ.js → DimensionAndMeasureSingleSelectField-B-HiSZ1m.js} +2 -2
  11. package/dist/{DimensionAndMeasureSingleSelectField-HJcwoxiQ.js.map → DimensionAndMeasureSingleSelectField-B-HiSZ1m.js.map} +1 -1
  12. package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
  13. package/dist/DimensionSingleSelectFieldPro.js +1 -1
  14. package/dist/DonutChartPro.js +1 -1
  15. package/dist/DonutLabelChartPro.js +1 -1
  16. package/dist/FilterBuilderPro.js +3 -3
  17. package/dist/{GranularitySelectField-l18OwBvC.js → GranularitySelectField-DpQLHVFc.js} +2 -2
  18. package/dist/{GranularitySelectField-l18OwBvC.js.map → GranularitySelectField-DpQLHVFc.js.map} +1 -1
  19. package/dist/GranularitySelectFieldPro.js +1 -1
  20. package/dist/HeatMapPro.js +1 -1
  21. package/dist/HorizontalDividerPro.js +1 -1
  22. package/dist/KpiChartNumberComparisonPro.js +1 -1
  23. package/dist/KpiChartNumberPro.js +1 -1
  24. package/dist/LineChartComparisonDefaultPro.js +1 -1
  25. package/dist/LineChartDefaultPro.js +1 -1
  26. package/dist/LineChartGroupedPro.js +1 -1
  27. package/dist/LineChartWithKpiTabsPro.js +1 -1
  28. package/dist/MarkdownPro.js +1 -1
  29. package/dist/MeasureMultiSelectFieldPro.js +1 -1
  30. package/dist/MeasureSingleSelectFieldPro.js +1 -1
  31. package/dist/MultiSelectFieldPro.js +1 -1
  32. package/dist/PieChartPro.js +1 -1
  33. package/dist/PivotTablePro.js +1 -1
  34. package/dist/ScatterChartPro.js +1 -1
  35. package/dist/SingleSelectFieldPro.js +1 -1
  36. package/dist/TableChartPaginated.js +1 -1
  37. package/dist/TableScrollable.js +1 -1
  38. package/dist/TextFieldPro.js +1 -1
  39. package/dist/{bars.loadData.utils-DpaXxzT5.js → bars.loadData.utils-C3w-0agD.js} +3 -3
  40. package/dist/{bars.loadData.utils-DpaXxzT5.js.map → bars.loadData.utils-C3w-0agD.js.map} +1 -1
  41. package/dist/bars.utils-DR-ga7ps.js +176 -0
  42. package/dist/bars.utils-DR-ga7ps.js.map +1 -0
  43. package/dist/{charts.fillGaps.hooks-CPpTEo01.js → charts.fillGaps.hooks-DgH30vXI.js} +2 -2
  44. package/dist/{charts.fillGaps.hooks-CPpTEo01.js.map → charts.fillGaps.hooks-DgH30vXI.js.map} +1 -1
  45. package/dist/charts.utils-BEwWG4s2.js +25 -0
  46. package/dist/charts.utils-BEwWG4s2.js.map +1 -0
  47. package/dist/{component.inputs.constants-Bf2Ty2En.js → component.inputs.constants-DnFrZzR7.js} +206 -191
  48. package/dist/component.inputs.constants-DnFrZzR7.js.map +1 -0
  49. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/BarChartGroupedHorizontalPro.emb.d.ts +1 -1
  50. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/definition.d.ts +2 -2
  51. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  52. package/dist/components/charts/bars/BarChartGroupedPro/BarChartGroupedPro.emb.d.ts +1 -1
  53. package/dist/components/charts/bars/BarChartGroupedPro/definition.d.ts +2 -2
  54. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  55. package/dist/components/charts/bars/BarChartStackedHorizontalPro/BarChartStackedHorizontalPro.emb.d.ts +1 -1
  56. package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts +2 -2
  57. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  58. package/dist/components/charts/bars/BarChartStackedPro/BarChartStackedPro.emb.d.ts +1 -1
  59. package/dist/components/charts/bars/BarChartStackedPro/definition.d.ts +2 -2
  60. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  61. package/dist/components/charts/bars/bars.utils.d.ts +11 -0
  62. package/dist/components/charts/bars/bars.utils.d.ts.map +1 -1
  63. package/dist/components/charts/charts.utils.d.ts +1 -0
  64. package/dist/components/charts/charts.utils.d.ts.map +1 -1
  65. package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
  66. package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts.map +1 -1
  67. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts +1 -0
  68. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
  69. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.test.d.ts +2 -0
  70. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.test.d.ts.map +1 -0
  71. package/dist/components/charts/lines/lines.utils.d.ts +4 -1
  72. package/dist/components/charts/lines/lines.utils.d.ts.map +1 -1
  73. package/dist/components/charts/pies/pies.utils.d.ts +4 -1
  74. package/dist/components/charts/pies/pies.utils.d.ts.map +1 -1
  75. package/dist/components/charts/tables/TableChartPaginated/TableChartPaginated.emb.d.ts +17 -0
  76. package/dist/components/charts/tables/TableChartPaginated/TableChartPaginated.emb.d.ts.map +1 -1
  77. package/dist/components/charts/tables/TableChartPaginated/definition.d.ts +39 -3
  78. package/dist/components/charts/tables/TableChartPaginated/definition.d.ts.map +1 -1
  79. package/dist/components/charts/tables/TableScrollable/TableScrollable.emb.d.ts +17 -0
  80. package/dist/components/charts/tables/TableScrollable/TableScrollable.emb.d.ts.map +1 -1
  81. package/dist/components/charts/tables/TableScrollable/definition.d.ts +39 -4
  82. package/dist/components/charts/tables/TableScrollable/definition.d.ts.map +1 -1
  83. package/dist/components/component.inputs.constants.d.ts +18 -2
  84. package/dist/components/component.inputs.constants.d.ts.map +1 -1
  85. package/dist/{definition-DOQkt6mp.js → definition-5MQbWUXL.js} +12 -12
  86. package/dist/definition-5MQbWUXL.js.map +1 -0
  87. package/dist/{definition-CS4RuL8e.js → definition-B66i_lHu.js} +3 -3
  88. package/dist/{definition-CS4RuL8e.js.map → definition-B66i_lHu.js.map} +1 -1
  89. package/dist/{definition-eDsz1LSa.js → definition-BNOhKWNT.js} +3 -3
  90. package/dist/{definition-eDsz1LSa.js.map → definition-BNOhKWNT.js.map} +1 -1
  91. package/dist/{definition-CGptoEwG.js → definition-BNffWCqm.js} +46 -39
  92. package/dist/definition-BNffWCqm.js.map +1 -0
  93. package/dist/{definition-B0EoSD5U.js → definition-BZVoO8bb.js} +3 -3
  94. package/dist/{definition-B0EoSD5U.js.map → definition-BZVoO8bb.js.map} +1 -1
  95. package/dist/{definition-B_WnKkA9.js → definition-Ba7J1LGI.js} +2 -2
  96. package/dist/{definition-B_WnKkA9.js.map → definition-Ba7J1LGI.js.map} +1 -1
  97. package/dist/{definition-B5pATGjj.js → definition-Bm1ec3cN.js} +3 -3
  98. package/dist/{definition-B5pATGjj.js.map → definition-Bm1ec3cN.js.map} +1 -1
  99. package/dist/{definition-D9ZlqgLF.js → definition-BpHv0bRb.js} +2 -2
  100. package/dist/{definition-D9ZlqgLF.js.map → definition-BpHv0bRb.js.map} +1 -1
  101. package/dist/{definition-CdcpkNRA.js → definition-CJR0UaGt.js} +3 -3
  102. package/dist/{definition-CdcpkNRA.js.map → definition-CJR0UaGt.js.map} +1 -1
  103. package/dist/{definition-CnRhPW66.js → definition-CMvwdXRu.js} +55 -48
  104. package/dist/definition-CMvwdXRu.js.map +1 -0
  105. package/dist/{definition-DWIyItYm.js → definition-Ce2VcCyv.js} +5 -5
  106. package/dist/{definition-DWIyItYm.js.map → definition-Ce2VcCyv.js.map} +1 -1
  107. package/dist/{definition-D6fsmeL7.js → definition-CfCvupyD.js} +3 -3
  108. package/dist/{definition-D6fsmeL7.js.map → definition-CfCvupyD.js.map} +1 -1
  109. package/dist/{definition-b_Q1K06P.js → definition-D1YtBczb.js} +44 -37
  110. package/dist/definition-D1YtBczb.js.map +1 -0
  111. package/dist/{definition-YVbooAf6.js → definition-D2bJQDNh.js} +33 -26
  112. package/dist/definition-D2bJQDNh.js.map +1 -0
  113. package/dist/{definition-hgg6kcIq.js → definition-D30Z62sw.js} +4 -4
  114. package/dist/{definition-hgg6kcIq.js.map → definition-D30Z62sw.js.map} +1 -1
  115. package/dist/{definition-DEqyuC5t.js → definition-D59NL3vt.js} +3 -3
  116. package/dist/{definition-DEqyuC5t.js.map → definition-D59NL3vt.js.map} +1 -1
  117. package/dist/{definition-D6c43j2_.js → definition-DIH0gF4I.js} +5 -5
  118. package/dist/{definition-D6c43j2_.js.map → definition-DIH0gF4I.js.map} +1 -1
  119. package/dist/{definition-CUA9oFdm.js → definition-DISg7Yca.js} +3 -3
  120. package/dist/{definition-CUA9oFdm.js.map → definition-DISg7Yca.js.map} +1 -1
  121. package/dist/definition-DIkjRBmH.js +260 -0
  122. package/dist/definition-DIkjRBmH.js.map +1 -0
  123. package/dist/{definition-mP5KhZwN.js → definition-DMI3MDQJ.js} +2 -2
  124. package/dist/{definition-mP5KhZwN.js.map → definition-DMI3MDQJ.js.map} +1 -1
  125. package/dist/definition-DOaQylZq.js +281 -0
  126. package/dist/definition-DOaQylZq.js.map +1 -0
  127. package/dist/{definition-uwrGYsP0.js → definition-DQP0JMyo.js} +115 -101
  128. package/dist/definition-DQP0JMyo.js.map +1 -0
  129. package/dist/{definition-DxTb-MOm.js → definition-Dd4MdyW4.js} +2 -2
  130. package/dist/{definition-DxTb-MOm.js.map → definition-Dd4MdyW4.js.map} +1 -1
  131. package/dist/{definition-CJHymHtY.js → definition-DvM-bBHc.js} +4 -4
  132. package/dist/{definition-CJHymHtY.js.map → definition-DvM-bBHc.js.map} +1 -1
  133. package/dist/{definition-Dpo-1FJs.js → definition-DwouHcfu.js} +11 -11
  134. package/dist/definition-DwouHcfu.js.map +1 -0
  135. package/dist/{definition-DfHOG4Fd.js → definition-HByuRICY.js} +80 -79
  136. package/dist/definition-HByuRICY.js.map +1 -0
  137. package/dist/{definition-Bf2gheY1.js → definition-HLAKpAEj.js} +2 -2
  138. package/dist/{definition-Bf2gheY1.js.map → definition-HLAKpAEj.js.map} +1 -1
  139. package/dist/{definition-DbspoO9C.js → definition-NZLRzHFa.js} +2 -2
  140. package/dist/{definition-DbspoO9C.js.map → definition-NZLRzHFa.js.map} +1 -1
  141. package/dist/{definition-B2TigGb3.js → definition-_hl_uvEW.js} +11 -11
  142. package/dist/definition-_hl_uvEW.js.map +1 -0
  143. package/dist/{definition-CQaZAYag.js → definition-luwVk1GE.js} +3 -3
  144. package/dist/{definition-CQaZAYag.js.map → definition-luwVk1GE.js.map} +1 -1
  145. package/dist/{definition-DCNv1r9i.js → definition-mz09xu8Q.js} +5 -5
  146. package/dist/{definition-DCNv1r9i.js.map → definition-mz09xu8Q.js.map} +1 -1
  147. package/dist/definition-nEosVAA3.js +564 -0
  148. package/dist/{definition-DLsqkPjT.js.map → definition-nEosVAA3.js.map} +1 -1
  149. package/dist/{definition-JPgTRMBs.js → definition-vdBo_sz-.js} +3 -3
  150. package/dist/{definition-JPgTRMBs.js.map → definition-vdBo_sz-.js.map} +1 -1
  151. package/dist/{dimensionsAndMeasures.utils-z1Fh_wO2.js → dimensionsAndMeasures.utils-DsVzuJ1x.js} +2 -2
  152. package/dist/{dimensionsAndMeasures.utils-z1Fh_wO2.js.map → dimensionsAndMeasures.utils-DsVzuJ1x.js.map} +1 -1
  153. package/dist/embeddable-components.json +46 -46
  154. package/dist/embeddable-theme-0137e.js +1 -1
  155. package/dist/{formatter.utils-ClBgeuH1.js → formatter.utils-BZMmas2O.js} +2 -2
  156. package/dist/{formatter.utils-ClBgeuH1.js.map → formatter.utils-BZMmas2O.js.map} +1 -1
  157. package/dist/{granularity.utils-DqPJsdYT.js → granularity.utils-B2u5dfRk.js} +2 -2
  158. package/dist/{granularity.utils-DqPJsdYT.js.map → granularity.utils-B2u5dfRk.js.map} +1 -1
  159. package/dist/index.js +203 -200
  160. package/dist/index.js.map +1 -1
  161. package/dist/lines.utils-CEGfmIHB.js.map +1 -1
  162. package/dist/pies.utils-Bb2EFei6.js +99 -0
  163. package/dist/pies.utils-Bb2EFei6.js.map +1 -0
  164. package/dist/{tables.utils-D0oPxjdp.js → tables.utils-CigVmDOc.js} +3 -3
  165. package/dist/{tables.utils-D0oPxjdp.js.map → tables.utils-CigVmDOc.js.map} +1 -1
  166. package/dist/{charts.utils-CJLmr9Q8.js → theme.constants-Cl6fOHv-.js} +639 -655
  167. package/dist/theme.constants-Cl6fOHv-.js.map +1 -0
  168. package/package.json +1 -2
  169. package/dist/bars.utils-DG6iNy-i.js +0 -158
  170. package/dist/bars.utils-DG6iNy-i.js.map +0 -1
  171. package/dist/charts.utils-CJLmr9Q8.js.map +0 -1
  172. package/dist/component.inputs.constants-Bf2Ty2En.js.map +0 -1
  173. package/dist/definition-B2TigGb3.js.map +0 -1
  174. package/dist/definition-C7um17eU.js +0 -242
  175. package/dist/definition-C7um17eU.js.map +0 -1
  176. package/dist/definition-CGptoEwG.js.map +0 -1
  177. package/dist/definition-CnRhPW66.js.map +0 -1
  178. package/dist/definition-DLsqkPjT.js +0 -560
  179. package/dist/definition-DOQkt6mp.js.map +0 -1
  180. package/dist/definition-DfHOG4Fd.js.map +0 -1
  181. package/dist/definition-Dpo-1FJs.js.map +0 -1
  182. package/dist/definition-RYVGlC6K.js +0 -277
  183. package/dist/definition-RYVGlC6K.js.map +0 -1
  184. package/dist/definition-YVbooAf6.js.map +0 -1
  185. package/dist/definition-b_Q1K06P.js.map +0 -1
  186. package/dist/definition-uwrGYsP0.js.map +0 -1
  187. package/dist/pies.utils-DyBQ0LjG.js +0 -76
  188. package/dist/pies.utils-DyBQ0LjG.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"definition-D6c43j2_.js","sources":["../src/components/charts/lines/LineChartWithKpiTabsPro/index.tsx","../src/components/charts/lines/LineChartWithKpiTabsPro/definition.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartTabs, ChartTabsProps, LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport {\n getLineChartProData,\n getLineChartProOptions,\n} from '../LineChartDefaultPro/LineChartDefaultPro.utils';\nimport { LineChartProProps } from '../LineChartDefaultPro';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\nexport type LineChartWithKpiTabsProProps = LineChartProProps & {\n resultsKpis: DataResponse;\n};\n\nconst LineChartWithKpiTabsPro = (props: LineChartWithKpiTabsProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n resultsKpis,\n } = props;\n\n const [activeMeasureName, setActiveMeasureName] = useState(measures[0]?.name ?? '');\n const activeMeasure = measures.find((m) => m.name === activeMeasureName);\n\n useEffect(() => {\n if (measures.length === 0) return;\n if (measures.some((m) => m.name === activeMeasureName)) return;\n setActiveMeasureName(measures[0]!.name);\n }, [measures, activeMeasureName]);\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: activeMeasure ? [activeMeasure] : [],\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures: activeMeasure ? [activeMeasure] : [], onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const themeFormatter = getThemeFormatter(theme);\n\n const chartTabsItems: ChartTabsProps['items'] = measures.map((measure) => ({\n id: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n value:\n resultsKpis?.data?.[0]?.[measure.name] == null\n ? '-'\n : themeFormatter.data(measure, resultsKpis.data[0][measure.name]),\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 <ChartTabs items={chartTabsItems} value={activeMeasureName} onChange={setActiveMeasureName} />\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartWithKpiTabsPro;\n","import { DataResponse, Granularity, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { lineChartDefaultPro, LineChartDefaultProState } from '../LineChartDefaultPro/definition';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\n\nconst meta = {\n ...lineChartDefaultPro.meta,\n name: 'LineChartWithKpiTabsPro',\n label: 'Line Chart - With Kpi Tabs',\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n measures: [previewData.measure, previewData.measureVariant],\n results: previewData.results1Measure1Dimension,\n resultsKpis: previewData.results2Measures,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\n// Reuse loadData and loadDataArgs from LineChartDefaultPro for main results,\nconst loadDataResultsArgs = lineChartDefaultPro.results.loadDataArgs;\nconst loadDataResults = lineChartDefaultPro.results.loadData;\n\nconst loadDataResultsKpisArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [...inputs.measures],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResultsKpis = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsKpisArgs(inputs, clientContext));\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartDefaultProState, (state: LineChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n resultsKpis: loadDataResultsKpis(inputs, clientContext),\n };\n};\n\nexport const lineChartWithKpiTabsPro = {\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 resultsKpis: {\n loadDataArgs: loadDataResultsKpisArgs,\n loadData: loadDataResultsKpis,\n },\n} as const;\n"],"names":["LineChartWithKpiTabsPro","props","theme","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","measures","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","onLineClicked","resultsKpis","activeMeasureName","setActiveMeasureName","useState","_a","activeMeasure","m","useEffect","results","useFillGaps","data","getLineChartProData","options","getLineChartProOptions","granularitySelectorHasMarginTop","themeFormatter","getThemeFormatter","chartTabsItems","measure","_b","jsxs","ChartCard","jsx","ChartTabs","ChartGranularitySelectField","LineChart","meta","lineChartDefaultPro","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadDataResultsKpisArgs","inputs","clientContext","getClientContextTimezone","loadDataResultsKpis","loadData","events","value","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartWithKpiTabsPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-DIH0gF4I.js","sources":["../src/components/charts/lines/LineChartWithKpiTabsPro/index.tsx","../src/components/charts/lines/LineChartWithKpiTabsPro/definition.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartTabs, ChartTabsProps, LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport {\n getLineChartProData,\n getLineChartProOptions,\n} from '../LineChartDefaultPro/LineChartDefaultPro.utils';\nimport { LineChartProProps } from '../LineChartDefaultPro';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\nexport type LineChartWithKpiTabsProProps = LineChartProProps & {\n resultsKpis: DataResponse;\n};\n\nconst LineChartWithKpiTabsPro = (props: LineChartWithKpiTabsProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n resultsKpis,\n } = props;\n\n const [activeMeasureName, setActiveMeasureName] = useState(measures[0]?.name ?? '');\n const activeMeasure = measures.find((m) => m.name === activeMeasureName);\n\n useEffect(() => {\n if (measures.length === 0) return;\n if (measures.some((m) => m.name === activeMeasureName)) return;\n setActiveMeasureName(measures[0]!.name);\n }, [measures, activeMeasureName]);\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: activeMeasure ? [activeMeasure] : [],\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures: activeMeasure ? [activeMeasure] : [], onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const themeFormatter = getThemeFormatter(theme);\n\n const chartTabsItems: ChartTabsProps['items'] = measures.map((measure) => ({\n id: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n value:\n resultsKpis?.data?.[0]?.[measure.name] == null\n ? '-'\n : themeFormatter.data(measure, resultsKpis.data[0][measure.name]),\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 <ChartTabs items={chartTabsItems} value={activeMeasureName} onChange={setActiveMeasureName} />\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartWithKpiTabsPro;\n","import { DataResponse, Granularity, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { lineChartDefaultPro, LineChartDefaultProState } from '../LineChartDefaultPro/definition';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\n\nconst meta = {\n ...lineChartDefaultPro.meta,\n name: 'LineChartWithKpiTabsPro',\n label: 'Line Chart - With Kpi Tabs',\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n measures: [previewData.measure, previewData.measureVariant],\n results: previewData.results1Measure1Dimension,\n resultsKpis: previewData.results2Measures,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\n// Reuse loadData and loadDataArgs from LineChartDefaultPro for main results,\nconst loadDataResultsArgs = lineChartDefaultPro.results.loadDataArgs;\nconst loadDataResults = lineChartDefaultPro.results.loadData;\n\nconst loadDataResultsKpisArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [...inputs.measures],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResultsKpis = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsKpisArgs(inputs, clientContext));\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartDefaultProState, (state: LineChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n resultsKpis: loadDataResultsKpis(inputs, clientContext),\n };\n};\n\nexport const lineChartWithKpiTabsPro = {\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 resultsKpis: {\n loadDataArgs: loadDataResultsKpisArgs,\n loadData: loadDataResultsKpis,\n },\n} as const;\n"],"names":["LineChartWithKpiTabsPro","props","theme","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","measures","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","onLineClicked","resultsKpis","activeMeasureName","setActiveMeasureName","useState","_a","activeMeasure","m","useEffect","results","useFillGaps","data","getLineChartProData","options","getLineChartProOptions","granularitySelectorHasMarginTop","themeFormatter","getThemeFormatter","chartTabsItems","measure","_b","jsxs","ChartCard","jsx","ChartTabs","ChartGranularitySelectField","LineChart","meta","lineChartDefaultPro","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadDataResultsKpisArgs","inputs","clientContext","getClientContextTimezone","loadDataResultsKpis","loadData","events","value","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartWithKpiTabsPro"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { useTheme as x, definePreview as C } from "@embeddable.com/react";
2
2
  import { j as p, M as P, V as f, l as w } from "./index-B9eYAQkT.js";
3
- import { g as j } from "./formatter.utils-ClBgeuH1.js";
3
+ import { g as j } from "./formatter.utils-BZMmas2O.js";
4
4
  import { E as T } from "./EditorCard-DdYPPSGd.js";
5
5
  import { r as _, i as q } from "./component.utils-Dua9clQJ.js";
6
- import { i as t } from "./component.inputs.constants-Bf2Ty2En.js";
6
+ import { i as t } from "./component.inputs.constants-DnFrZzR7.js";
7
7
  import { p as g } from "./preview.data.constants-Cf1TpbZu.js";
8
8
  const v = 200, d = (e) => {
9
9
  var m, c;
@@ -127,4 +127,4 @@ export {
127
127
  X as i,
128
128
  G as m
129
129
  };
130
- //# sourceMappingURL=definition-CUA9oFdm.js.map
130
+ //# sourceMappingURL=definition-DISg7Yca.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-CUA9oFdm.js","sources":["../src/components/editors/MultiSelectFieldPro/index.tsx","../src/components/editors/MultiSelectFieldPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type MultiSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues?: string[];\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n} & EditorCardHeaderProps;\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { tooltip, title, description, placeholder } = resolveI18nProps(props);\n const { dimension, optionalSecondDimension, results, selectedValues, setSearchValue, onChange } =\n props;\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n","import { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData, LoadDataRequest, DataResponse } from '@embeddable.com/core';\nimport Component, { MAX_OPTIONS } from '.';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MultiSelectFieldPro',\n label: 'Multi Select Field',\n category: 'Dropdowns - values',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n { ...inputs.dimension, label: 'Dimension (to load Dropdown values)' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select values...' },\n {\n ...inputs.number,\n name: 'maxOptions',\n label: 'Maximum options',\n category: 'Component Settings',\n defaultValue: MAX_OPTIONS,\n },\n {\n ...inputs.string,\n name: 'selectedValues',\n array: true,\n label: 'Selected values',\n category: 'Pre-configured Variables',\n },\n {\n ...inputs.dimension,\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional secondary dimension',\n category: 'Data Mapping for Interactions',\n description: 'Send a different dimension to embeddable when the user clicks. Must be unique.',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected values updated',\n properties: [\n {\n name: 'value',\n label: 'Selected values',\n type: 'string',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'multi-select values',\n type: 'string',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedValues'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type MultiSelectDropdownState = {\n searchValue?: string;\n};\n\nconst preview = definePreview(Component, {\n dimension: previewData.dimension,\n results: previewData.results1Measure1Dimension,\n onChange: () => null,\n});\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n state?: MultiSelectDropdownState,\n): LoadDataRequest => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [{ operator, property: inputs.dimension, value: state.searchValue }]\n : undefined,\n };\n};\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n state?: MultiSelectDropdownState,\n): DataResponse => loadData(loadDataResultsArgs(inputs, state));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [MultiSelectDropdownState, (state: MultiSelectDropdownState) => void],\n) => ({\n ...inputs,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadDataResults(inputs, state),\n});\n\nconst events = {\n onChange: (selectedValues: string[]) => {\n return {\n value: selectedValues.length ? selectedValues : Value.noFilter(),\n };\n },\n};\n\nexport const multiSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["MAX_OPTIONS","MultiSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","tooltip","title","description","placeholder","resolveI18nProps","dimension","optionalSecondDimension","results","selectedValues","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","MultiSelectField","i18n","newValues","meta","inputs","Value","preview","definePreview","Component","previewData","loadDataResultsArgs","state","operator","loadDataResults","loadData","setState","searchValue","events","multiSelectFieldPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-DISg7Yca.js","sources":["../src/components/editors/MultiSelectFieldPro/index.tsx","../src/components/editors/MultiSelectFieldPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type MultiSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues?: string[];\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n} & EditorCardHeaderProps;\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { tooltip, title, description, placeholder } = resolveI18nProps(props);\n const { dimension, optionalSecondDimension, results, selectedValues, setSearchValue, onChange } =\n props;\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n","import { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData, LoadDataRequest, DataResponse } from '@embeddable.com/core';\nimport Component, { MAX_OPTIONS } from '.';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MultiSelectFieldPro',\n label: 'Multi Select Field',\n category: 'Dropdowns - values',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n { ...inputs.dimension, label: 'Dimension (to load Dropdown values)' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select values...' },\n {\n ...inputs.number,\n name: 'maxOptions',\n label: 'Maximum options',\n category: 'Component Settings',\n defaultValue: MAX_OPTIONS,\n },\n {\n ...inputs.string,\n name: 'selectedValues',\n array: true,\n label: 'Selected values',\n category: 'Pre-configured Variables',\n },\n {\n ...inputs.dimension,\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional secondary dimension',\n category: 'Data Mapping for Interactions',\n description: 'Send a different dimension to embeddable when the user clicks. Must be unique.',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected values updated',\n properties: [\n {\n name: 'value',\n label: 'Selected values',\n type: 'string',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'multi-select values',\n type: 'string',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedValues'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type MultiSelectDropdownState = {\n searchValue?: string;\n};\n\nconst preview = definePreview(Component, {\n dimension: previewData.dimension,\n results: previewData.results1Measure1Dimension,\n onChange: () => null,\n});\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n state?: MultiSelectDropdownState,\n): LoadDataRequest => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [{ operator, property: inputs.dimension, value: state.searchValue }]\n : undefined,\n };\n};\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n state?: MultiSelectDropdownState,\n): DataResponse => loadData(loadDataResultsArgs(inputs, state));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [MultiSelectDropdownState, (state: MultiSelectDropdownState) => void],\n) => ({\n ...inputs,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadDataResults(inputs, state),\n});\n\nconst events = {\n onChange: (selectedValues: string[]) => {\n return {\n value: selectedValues.length ? selectedValues : Value.noFilter(),\n };\n },\n};\n\nexport const multiSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["MAX_OPTIONS","MultiSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","tooltip","title","description","placeholder","resolveI18nProps","dimension","optionalSecondDimension","results","selectedValues","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","MultiSelectField","i18n","newValues","meta","inputs","Value","preview","definePreview","Component","previewData","loadDataResultsArgs","state","operator","loadDataResults","loadData","setState","searchValue","events","multiSelectFieldPro"],"mappings":"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"}
@@ -0,0 +1,260 @@
1
+ import { y as M, T as Q, U as Y, j as L, W as Z, X as $, V as ee, l as v } from "./index-B9eYAQkT.js";
2
+ import { useTheme as ae, definePreview as oe } from "@embeddable.com/react";
3
+ import { a as te, r as se, i as ne } from "./component.utils-Dua9clQJ.js";
4
+ import { C as ie } from "./ChartCard-Cv9hqNdM.js";
5
+ import { useState as le, useRef as re, useCallback as de, useEffect as I } from "react";
6
+ import { g as ce, a as me } from "./tables.utils-CigVmDOc.js";
7
+ import { i as t, s as S, g as ge } from "./component.inputs.constants-DnFrZzR7.js";
8
+ import { p as f } from "./preview.data.constants-Cf1TpbZu.js";
9
+ const ue = M("--em-tablechart-cell-height", "2.5rem"), De = M("--em-tablechart-cell-height", "2.5rem"), fe = M("--em-tablechart-pagination-height", "3rem");
10
+ let j;
11
+ const P = (e) => {
12
+ const a = ae();
13
+ te(a);
14
+ const [n, o] = le(!1), { title: i, description: h, tooltip: w } = se(e), {
15
+ hideMenu: b,
16
+ totalResults: l,
17
+ results: s,
18
+ allResults: c,
19
+ dimensionsAndMeasures: r,
20
+ displayNullAs: U,
21
+ showIndex: q,
22
+ clickDimension: C,
23
+ state: g,
24
+ setState: p,
25
+ onRowClicked: T
26
+ } = e, B = ce({ dimensionsAndMeasures: r, displayNullAs: U }, a), k = (s == null ? void 0 : s.data) || [], F = me({ rows: k, clickDimension: C }), R = re(null), { height: W } = Q(R), u = Y({
27
+ availableHeight: W,
28
+ headerHeight: ue,
29
+ rowHeight: De,
30
+ footerHeight: fe
31
+ }), m = de(
32
+ (d) => {
33
+ p == null || p((D) => ({
34
+ ...D,
35
+ ...d
36
+ }));
37
+ },
38
+ [p]
39
+ ), X = (d) => {
40
+ o(!0), m({ isLoadingDownloadData: !0 }), j = (D) => d({
41
+ title: i,
42
+ data: D,
43
+ dimensionsAndMeasures: r,
44
+ containerRef: R,
45
+ theme: a
46
+ });
47
+ }, J = (d) => {
48
+ var y;
49
+ if (!T || !C) return;
50
+ const D = (y = k[d]) == null ? void 0 : y[C.name];
51
+ T(D);
52
+ };
53
+ I(() => {
54
+ u && m({ pageSize: u });
55
+ }, [u, m]), I(() => {
56
+ if (n) {
57
+ if (!c || c.isLoading)
58
+ return;
59
+ j(c.data), o(!1), m({ isLoadingDownloadData: !1 });
60
+ }
61
+ }, [n, c, m]);
62
+ const K = (d) => {
63
+ m({ sort: d });
64
+ }, x = (g == null ? void 0 : g.page) ?? 0;
65
+ return /* @__PURE__ */ L.jsx(
66
+ ie,
67
+ {
68
+ ref: R,
69
+ title: i,
70
+ description: h,
71
+ tooltip: w,
72
+ data: s,
73
+ dimensionsAndMeasures: r,
74
+ errorMessage: s == null ? void 0 : s.error,
75
+ onCustomDownload: X,
76
+ hideMenu: b,
77
+ children: /* @__PURE__ */ L.jsx(
78
+ Z,
79
+ {
80
+ onRowIndexClick: J,
81
+ headers: B,
82
+ rows: F,
83
+ showIndex: q,
84
+ page: x,
85
+ pageSize: u,
86
+ paginationLabel: ne.t("charts.tablePaginated.pagination", {
87
+ page: x + 1,
88
+ totalPages: $(l == null ? void 0 : l.total, u) ?? "?"
89
+ }),
90
+ total: l == null ? void 0 : l.total,
91
+ sort: g == null ? void 0 : g.sort,
92
+ onSortChange: K,
93
+ onPageChange: (d) => m({ page: d })
94
+ }
95
+ )
96
+ }
97
+ );
98
+ }, xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
99
+ __proto__: null,
100
+ default: P
101
+ }, Symbol.toStringTag, { value: "Module" })), he = {
102
+ name: "TableChartPaginated",
103
+ label: "Table Chart - Paginated",
104
+ category: "Table Charts",
105
+ inputs: [
106
+ { ...t.dataset, config: { hideSort: !0 } },
107
+ {
108
+ ...t.dimensionsAndMeasures,
109
+ label: "Columns",
110
+ inputs: [
111
+ ...t.dimensionsAndMeasures.inputs,
112
+ S.width,
113
+ S.align,
114
+ S.tableCellStyle
115
+ ]
116
+ },
117
+ t.title,
118
+ t.description,
119
+ t.tooltip,
120
+ {
121
+ ...t.boolean,
122
+ name: "showIndex",
123
+ label: "Show index column",
124
+ defaultValue: !0,
125
+ category: "Component Settings"
126
+ },
127
+ t.displayNullAs,
128
+ { ...t.maxResults, label: "Max results to download" },
129
+ {
130
+ ...t.dimensionSimple,
131
+ label: "Dimension to set on click",
132
+ name: "clickDimension",
133
+ category: "Data Mapping for Interactions",
134
+ required: !1
135
+ },
136
+ {
137
+ ...t.sortDimensionOrMeasure,
138
+ name: "sortColumn",
139
+ label: "Default sort column",
140
+ category: "Component Settings"
141
+ },
142
+ { ...t.sortDirection, label: "Default sort direction", category: "Component Settings" }
143
+ ],
144
+ events: [
145
+ {
146
+ name: "onRowClicked",
147
+ label: "A row is clicked",
148
+ properties: [
149
+ {
150
+ name: "rowDimensionValue",
151
+ label: "Clicked row dimension value",
152
+ type: "string"
153
+ }
154
+ ]
155
+ }
156
+ ]
157
+ }, A = 3;
158
+ var z;
159
+ const V = {
160
+ dimensionsAndMeasures: [f.dimension, f.dimensionGroup, f.measure],
161
+ results: {
162
+ ...f.results1Measure2Dimensions,
163
+ data: (z = f.results1Measure2Dimensions.data) == null ? void 0 : z.slice(0, A)
164
+ },
165
+ totalResults: { data: [], total: A, isLoading: !1 },
166
+ state: {
167
+ page: 0,
168
+ pageSize: A,
169
+ isLoadingDownloadData: !1,
170
+ hideMenu: !0
171
+ },
172
+ hideMenu: !0
173
+ }, be = oe(P, V), pe = (e) => ({
174
+ page: 0,
175
+ pageSize: void 0,
176
+ sort: e != null && e.sortColumn ? {
177
+ id: e.sortColumn.name,
178
+ direction: ge(e.sortDirection) ?? "asc"
179
+ } : void 0,
180
+ isLoadingDownloadData: !1
181
+ }), H = (e, a, n, o, i) => ({
182
+ from: e.dataset,
183
+ select: i,
184
+ offset: a * n,
185
+ limit: n,
186
+ orderBy: o
187
+ }), O = (e, a, n, o, i) => v(H(e, a, n, o, i)), _ = (e, a) => ({
188
+ from: e.dataset,
189
+ select: a,
190
+ offset: 0,
191
+ limit: 0,
192
+ countRows: !0
193
+ }), E = (e, a) => v(_(e, a)), N = (e, a) => ({
194
+ from: e.dataset,
195
+ select: e.dimensionsAndMeasures,
196
+ orderBy: a,
197
+ limit: e.maxResults
198
+ }), G = (e, a) => v(N(e, a)), we = {
199
+ onRowClicked: (e) => ({
200
+ rowDimensionValue: e === void 0 ? ee.noFilter() : e
201
+ })
202
+ }, Ce = (e, [a, n]) => {
203
+ var l, s;
204
+ const o = {
205
+ ...pe(e),
206
+ ...a
207
+ }, i = e.dimensionsAndMeasures.find((c) => {
208
+ var r;
209
+ return c.name === ((r = o.sort) == null ? void 0 : r.id);
210
+ }) ?? (((l = e.sortColumn) == null ? void 0 : l.name) === ((s = o.sort) == null ? void 0 : s.id) ? e.sortColumn : void 0), h = i && o.sort ? [{ property: i, direction: o.sort.direction }] : [], w = e.dimensionsAndMeasures.some(
211
+ (c) => {
212
+ var r;
213
+ return c.name === ((r = e.clickDimension) == null ? void 0 : r.name);
214
+ }
215
+ ), b = [
216
+ ...e.dimensionsAndMeasures,
217
+ ...e.clickDimension && !w ? [e.clickDimension] : []
218
+ ];
219
+ return {
220
+ ...e,
221
+ state: o,
222
+ setState: n,
223
+ results: o.pageSize ? O(
224
+ e,
225
+ o.page,
226
+ o.pageSize,
227
+ h,
228
+ b
229
+ ) : void 0,
230
+ totalResults: E(e, b),
231
+ allResults: o.isLoadingDownloadData ? G(e, h) : void 0
232
+ };
233
+ }, ye = {
234
+ Component: P,
235
+ meta: he,
236
+ preview: be,
237
+ previewConfig: V,
238
+ config: {
239
+ props: Ce,
240
+ events: we
241
+ },
242
+ results: {
243
+ loadDataArgs: H,
244
+ loadData: O
245
+ },
246
+ totalResults: {
247
+ loadDataArgs: _,
248
+ loadData: E
249
+ },
250
+ allResults: {
251
+ loadDataArgs: N,
252
+ loadData: G
253
+ }
254
+ };
255
+ export {
256
+ pe as d,
257
+ xe as i,
258
+ ye as t
259
+ };
260
+ //# sourceMappingURL=definition-DIkjRBmH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-DIkjRBmH.js","sources":["../src/components/charts/tables/TableChartPaginated/index.tsx","../src/components/charts/tables/TableChartPaginated/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } 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 useResizeObserver,\n TableSort,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\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\nexport type TableChartPaginatedProProps = {\n allResults?: DataResponse;\n clickDimension?: Dimension;\n\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n results: DataResponse;\n showIndex?: boolean;\n state?: TableChartPaginatedProState;\n\n totalResults?: DataResponse;\n onRowClicked?: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n setState?: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n} & ChartCardHeaderProps;\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n totalResults,\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\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 { height } = useResizeObserver(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: height,\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 (!onRowClicked || !clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\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 const handleSortChange = (newSort: TableSort<any> | undefined) => {\n handleUpdateEmbeddableState({ sort: newSort as TableChartPaginatedProState['sort'] });\n };\n\n const currentPage = state?.page ?? 0;\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n hideMenu={hideMenu}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={currentPage}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: currentPage + 1,\n totalPages: getTableTotalPages(totalResults?.total, pageSize) ?? '?',\n })}\n total={totalResults?.total}\n sort={state?.sort}\n onSortChange={handleSortChange}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n","import {\n DataResponse,\n LoadDataRequest,\n OrderBy,\n OrderDirection,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport TablePaginatedChart, {\n TableChartPaginatedProOnRowClickArg,\n TableChartPaginatedProState,\n} from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { getSortDirectionValue } from '../../../types/SortDirection.type.emb';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'TableChartPaginated',\n label: 'Table Chart - Paginated',\n category: 'Table Charts',\n inputs: [\n { ...inputs.dataset, config: { hideSort: true } },\n {\n ...inputs.dimensionsAndMeasures,\n label: 'Columns',\n inputs: [\n ...inputs.dimensionsAndMeasures.inputs,\n subInputs.width,\n subInputs.align,\n subInputs.tableCellStyle,\n ],\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n {\n ...inputs.boolean,\n name: 'showIndex',\n label: 'Show index column',\n defaultValue: true,\n category: 'Component Settings',\n },\n inputs.displayNullAs,\n { ...inputs.maxResults, label: 'Max results to download' },\n {\n ...inputs.dimensionSimple,\n label: 'Dimension to set on click',\n name: 'clickDimension',\n category: 'Data Mapping for Interactions',\n required: false,\n },\n {\n ...inputs.sortDimensionOrMeasure,\n name: 'sortColumn',\n label: 'Default sort column',\n category: 'Component Settings',\n },\n { ...inputs.sortDirection, label: 'Default sort direction', category: 'Component Settings' },\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 previewMaxResults = 3;\n\nconst previewConfig = {\n dimensionsAndMeasures: [previewData.dimension, previewData.dimensionGroup, previewData.measure],\n results: {\n ...previewData.results1Measure2Dimensions,\n data: previewData.results1Measure2Dimensions.data?.slice(0, previewMaxResults),\n },\n totalResults: { data: [], total: previewMaxResults, isLoading: false },\n state: {\n page: 0,\n pageSize: previewMaxResults,\n isLoadingDownloadData: false,\n hideMenu: true,\n },\n hideMenu: true,\n};\n\nconst preview = definePreview(TablePaginatedChart, previewConfig);\n\nexport const defaultTableChartPaginatedState = (\n inputs?: Inputs<typeof meta>,\n): TableChartPaginatedProState => ({\n page: 0,\n pageSize: undefined,\n sort: inputs?.sortColumn\n ? {\n id: inputs.sortColumn.name,\n direction: getSortDirectionValue(inputs.sortDirection as OrderDirection) ?? 'asc',\n }\n : undefined,\n isLoadingDownloadData: false,\n});\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: page * pageSize,\n limit: pageSize,\n orderBy,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse =>\n loadData(loadDataResultsArgs(inputs, page, pageSize, orderBy, dimensionsAndMeasuresToLoad));\n\nconst loadDataTotalResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: 0,\n limit: 0,\n countRows: true,\n});\n\nconst loadDataTotalResults = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse => loadData(loadDataTotalResultsArgs(inputs, dimensionsAndMeasuresToLoad));\n\nconst loadDataAllResultsArgs = (\n inputs: Inputs<typeof meta>,\n orderBy: OrderBy[],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: inputs.dimensionsAndMeasures,\n orderBy,\n limit: inputs.maxResults,\n});\n\nconst loadDataAllResults = (inputs: Inputs<typeof meta>, orderBy: OrderBy[]): DataResponse =>\n loadData(loadDataAllResultsArgs(inputs, orderBy));\n\nconst events = {\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => ({\n rowDimensionValue: rowDimensionValue === undefined ? Value.noFilter() : rowDimensionValue,\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [TableChartPaginatedProState, (state: TableChartPaginatedProState) => void],\n) => {\n const mergedState: TableChartPaginatedProState = {\n ...defaultTableChartPaginatedState(inputs),\n ...state,\n };\n\n const sortColumn =\n inputs.dimensionsAndMeasures.find((x) => x.name === mergedState.sort?.id) ??\n (inputs.sortColumn?.name === mergedState.sort?.id ? inputs.sortColumn : undefined);\n const orderBy: OrderBy[] =\n sortColumn && mergedState.sort\n ? [{ property: sortColumn, direction: mergedState.sort.direction }]\n : [];\n\n const hasClickDimension = inputs.dimensionsAndMeasures.some(\n (col) => col.name === inputs.clickDimension?.name,\n );\n\n const dimensionsAndMeasuresToLoad = [\n ...inputs.dimensionsAndMeasures,\n ...(inputs.clickDimension && !hasClickDimension ? [inputs.clickDimension] : []),\n ];\n\n return {\n ...inputs,\n state: mergedState,\n setState,\n results: mergedState.pageSize\n ? loadDataResults(\n inputs,\n mergedState.page,\n mergedState.pageSize,\n orderBy,\n dimensionsAndMeasuresToLoad,\n )\n : undefined,\n totalResults: loadDataTotalResults(inputs, dimensionsAndMeasuresToLoad),\n allResults: mergedState.isLoadingDownloadData ? loadDataAllResults(inputs, orderBy) : undefined,\n };\n};\n\nexport const tableChartPaginated = {\n Component: TablePaginatedChart,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n totalResults: {\n loadDataArgs: loadDataTotalResultsArgs,\n loadData: loadDataTotalResults,\n },\n allResults: {\n loadDataArgs: loadDataAllResultsArgs,\n loadData: loadDataAllResults,\n },\n} as const;\n"],"names":["headerHeight","getStyleNumber","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","props","theme","useTheme","i18nSetup","isDownloadingData","setIsDownloadingData","useState","title","description","tooltip","resolveI18nProps","hideMenu","totalResults","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","headers","getTableHeaders","rows","tableRows","getTableRows","cardContentRef","useRef","height","useResizeObserver","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","_a","useEffect","handleSortChange","newSort","currentPage","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newPage","meta","inputs","subInputs","previewMaxResults","previewConfig","previewData","preview","definePreview","TablePaginatedChart","defaultTableChartPaginatedState","getSortDirectionValue","loadDataResultsArgs","page","orderBy","dimensionsAndMeasuresToLoad","loadDataResults","loadData","loadDataTotalResultsArgs","loadDataTotalResults","loadDataAllResultsArgs","loadDataAllResults","events","Value","mergedState","sortColumn","x","_b","hasClickDimension","col","tableChartPaginated"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { definePreview as a } from "@embeddable.com/react";
2
2
  import { j as i, a8 as s, Q as l } from "./index-B9eYAQkT.js";
3
- import { i as t } from "./component.inputs.constants-Bf2Ty2En.js";
3
+ import { i as t } from "./component.inputs.constants-DnFrZzR7.js";
4
4
  const c = "_horizontalDividerContainer_y6kms_1", d = {
5
5
  horizontalDividerContainer: c
6
6
  }, o = (e) => {
@@ -40,4 +40,4 @@ export {
40
40
  D as h,
41
41
  z as i
42
42
  };
43
- //# sourceMappingURL=definition-mP5KhZwN.js.map
43
+ //# sourceMappingURL=definition-DMI3MDQJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-mP5KhZwN.js","sources":["../src/components/shared/HorizontalDividerPro/index.tsx","../src/components/shared/HorizontalDividerPro/definition.ts"],"sourcesContent":["import { Divider } from '@embeddable.com/remarkable-ui';\nimport styles from './HorizontalDividerPro.module.css';\n\ntype HorizontalDividerProProps = {\n color?: string;\n thickness?: number;\n};\n\nconst HorizontalDividerPro = (props: HorizontalDividerProProps) => {\n const { color, thickness } = props;\n\n return (\n <div className={styles.horizontalDividerContainer}>\n <Divider color={color} thickness={thickness} />\n </div>\n );\n};\n\nexport default HorizontalDividerPro;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { getStyle } from '@embeddable.com/remarkable-ui';\n\nconst meta = {\n name: 'HorizontalDividerPro',\n label: 'Horizontal Divider',\n category: 'Layout',\n defaultWidth: 450,\n defaultHeight: 120,\n inputs: [\n {\n ...inputs.number,\n name: 'thickness',\n label: 'Thickness',\n category: 'Component Settings',\n description: 'Thickness of the divider in pixels',\n },\n { ...inputs.color, defaultValue: getStyle('--em-divider-color', '#e4e4ea') },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {});\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n color: inputs.color as string | undefined,\n});\n\nexport const horizontalDividerPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n },\n} as const;\n"],"names":["HorizontalDividerPro","props","color","thickness","jsx","styles","Divider","meta","inputs","getStyle","preview","definePreview","Component","horizontalDividerPro"],"mappings":";;;;;GAQMA,IAAuB,CAACC,MAAqC;AACjE,QAAM,EAAE,OAAAC,GAAO,WAAAC,EAAA,IAAcF;AAE7B,SACEG,gBAAAA,EAAAA,IAAC,SAAI,WAAWC,EAAO,4BACrB,UAAAD,gBAAAA,EAAAA,IAACE,GAAA,EAAQ,OAAAJ,GAAc,WAAAC,EAAA,CAAsB,EAAA,CAC/C;AAEJ;;;8CCXMI,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACN;AAAA,MACE,GAAGC,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,IAEf,EAAE,GAAGA,EAAO,OAAO,cAAcC,EAAS,sBAAsB,SAAS,EAAA;AAAA,EAAE;AAE/E,GAEMC,IAAUC,EAAcC,GAAW,EAAE,GAErCX,IAAQ,CAACO,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,OAAOA,EAAO;AAChB,IAEaK,IAAuB;AAAA,EAAA,WAClCD;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"definition-DMI3MDQJ.js","sources":["../src/components/shared/HorizontalDividerPro/index.tsx","../src/components/shared/HorizontalDividerPro/definition.ts"],"sourcesContent":["import { Divider } from '@embeddable.com/remarkable-ui';\nimport styles from './HorizontalDividerPro.module.css';\n\ntype HorizontalDividerProProps = {\n color?: string;\n thickness?: number;\n};\n\nconst HorizontalDividerPro = (props: HorizontalDividerProProps) => {\n const { color, thickness } = props;\n\n return (\n <div className={styles.horizontalDividerContainer}>\n <Divider color={color} thickness={thickness} />\n </div>\n );\n};\n\nexport default HorizontalDividerPro;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { getStyle } from '@embeddable.com/remarkable-ui';\n\nconst meta = {\n name: 'HorizontalDividerPro',\n label: 'Horizontal Divider',\n category: 'Layout',\n defaultWidth: 450,\n defaultHeight: 120,\n inputs: [\n {\n ...inputs.number,\n name: 'thickness',\n label: 'Thickness',\n category: 'Component Settings',\n description: 'Thickness of the divider in pixels',\n },\n { ...inputs.color, defaultValue: getStyle('--em-divider-color', '#e4e4ea') },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {});\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n color: inputs.color as string | undefined,\n});\n\nexport const horizontalDividerPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n },\n} as const;\n"],"names":["HorizontalDividerPro","props","color","thickness","jsx","styles","Divider","meta","inputs","getStyle","preview","definePreview","Component","horizontalDividerPro"],"mappings":";;;;;GAQMA,IAAuB,CAACC,MAAqC;AACjE,QAAM,EAAE,OAAAC,GAAO,WAAAC,EAAA,IAAcF;AAE7B,SACEG,gBAAAA,EAAAA,IAAC,SAAI,WAAWC,EAAO,4BACrB,UAAAD,gBAAAA,EAAAA,IAACE,GAAA,EAAQ,OAAAJ,GAAc,WAAAC,EAAA,CAAsB,EAAA,CAC/C;AAEJ;;;8CCXMI,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACN;AAAA,MACE,GAAGC,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,IAEf,EAAE,GAAGA,EAAO,OAAO,cAAcC,EAAS,sBAAsB,SAAS,EAAA;AAAA,EAAE;AAE/E,GAEMC,IAAUC,EAAcC,GAAW,EAAE,GAErCX,IAAQ,CAACO,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,OAAOA,EAAO;AAChB,IAEaK,IAAuB;AAAA,EAAA,WAClCD;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAT;AAAA,EAAA;AAEJ;"}