@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-D6fsmeL7.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx","../src/components/editors/SingleSelectFieldPro/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 { SingleSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type SingleSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue?: string;\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (selectedValue: string | null) => void;\n} & EditorCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { title, description, dimension, placeholder, tooltip } = resolveI18nProps(props);\n const { optionalSecondDimension, results, selectedValue, setSearchValue, onChange } = 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 <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue) => onChange?.(newValue as string | null)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\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: 'SingleSelectFieldPro',\n label: 'Single 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 value...' },\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: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured Variables',\n },\n {\n ...inputs.dimension,\n config: {\n dataset: 'dataset',\n },\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 value updated',\n properties: [\n {\n name: 'value',\n label: 'Selected value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'single-select value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type SingleSelectDropdownState = {\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?: SingleSelectDropdownState,\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?: SingleSelectDropdownState,\n): DataResponse => loadData(loadDataResultsArgs(inputs, state));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n) => ({\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadDataResults(inputs, state),\n});\n\nconst events = {\n onChange: (selectedValue: string | null) => {\n return {\n value: selectedValue ?? Value.noFilter(),\n };\n },\n};\n\nexport const singleSelectFieldPro = {\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","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","placeholder","tooltip","resolveI18nProps","optionalSecondDimension","results","selectedValue","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue","meta","inputs","Value","preview","definePreview","Component","previewData","loadDataResultsArgs","state","operator","loadDataResults","loadData","setState","searchValue","events","singleSelectFieldPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-CfCvupyD.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx","../src/components/editors/SingleSelectFieldPro/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 { SingleSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type SingleSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue?: string;\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (selectedValue: string | null) => void;\n} & EditorCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { title, description, dimension, placeholder, tooltip } = resolveI18nProps(props);\n const { optionalSecondDimension, results, selectedValue, setSearchValue, onChange } = 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 <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue) => onChange?.(newValue as string | null)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\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: 'SingleSelectFieldPro',\n label: 'Single 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 value...' },\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: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured Variables',\n },\n {\n ...inputs.dimension,\n config: {\n dataset: 'dataset',\n },\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 value updated',\n properties: [\n {\n name: 'value',\n label: 'Selected value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'single-select value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type SingleSelectDropdownState = {\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?: SingleSelectDropdownState,\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?: SingleSelectDropdownState,\n): DataResponse => loadData(loadDataResultsArgs(inputs, state));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n) => ({\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadDataResults(inputs, state),\n});\n\nconst events = {\n onChange: (selectedValue: string | null) => {\n return {\n value: selectedValue ?? Value.noFilter(),\n };\n },\n};\n\nexport const singleSelectFieldPro = {\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","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","placeholder","tooltip","resolveI18nProps","optionalSecondDimension","results","selectedValue","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue","meta","inputs","Value","preview","definePreview","Component","previewData","loadDataResultsArgs","state","operator","loadDataResults","loadData","setState","searchValue","events","singleSelectFieldPro"],"mappings":"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"}
@@ -2,28 +2,28 @@ import { m as j, j as h, B as K, V as D } from "./index-B9eYAQkT.js";
2
2
  import { useTheme as z, definePreview as F } from "@embeddable.com/react";
3
3
  import { a as _, r as W } from "./component.utils-Dua9clQJ.js";
4
4
  import { C as E } from "./ChartCard-Cv9hqNdM.js";
5
- import { b as H, a as I } from "./bars.utils-DG6iNy-i.js";
6
- import { u as U } from "./charts.fillGaps.hooks-CPpTEo01.js";
7
- import { C as q, g as J } from "./granularity.utils-DqPJsdYT.js";
8
- import { u as N, g as Q, a as Y, l as Z, b as $ } from "./bars.loadData.utils-DpaXxzT5.js";
9
- import { i as a } from "./component.inputs.constants-Bf2Ty2En.js";
5
+ import { b as H, c as I } from "./bars.utils-DR-ga7ps.js";
6
+ import { u as U } from "./charts.fillGaps.hooks-DgH30vXI.js";
7
+ import { C as q, g as J } from "./granularity.utils-B2u5dfRk.js";
8
+ import { u as N, g as Q, a as Y, l as Z, b as $ } from "./bars.loadData.utils-C3w-0agD.js";
9
+ import { i as a } from "./component.inputs.constants-DnFrZzR7.js";
10
10
  import { p as g } from "./preview.data.constants-Cf1TpbZu.js";
11
11
  import { g as ee } from "./clientContext.utils-DpB5KsfX.js";
12
12
  const A = (e) => {
13
13
  var b, f;
14
14
  const s = z();
15
15
  _(s);
16
- const { tooltip: l, description: t, title: i, xAxisLabel: m, yAxisLabel: d } = W(e), {
16
+ const { tooltip: m, description: t, title: i, xAxisLabel: d, yAxisLabel: x } = W(e), {
17
17
  hideMenu: c,
18
- groupBy: x,
18
+ groupBy: n,
19
19
  measure: r,
20
20
  reverseXAxis: p,
21
21
  showLegend: B,
22
22
  showLogarithmicScale: O,
23
- showTooltips: w,
24
- showTotalLabels: k,
23
+ showTooltips: k,
24
+ showTotalLabels: w,
25
25
  showValueLabels: S,
26
- xAxis: n,
26
+ xAxis: l,
27
27
  yAxisRangeMax: L,
28
28
  yAxisRangeMin: M,
29
29
  setGranularity: y,
@@ -35,45 +35,52 @@ const A = (e) => {
35
35
  } = e;
36
36
  N({
37
37
  resultsAxisOrder: u,
38
- axisDimension: n,
38
+ axisDimension: l,
39
39
  setAxisOrderAndCacheKey: P,
40
40
  axisOrderCacheKey: R
41
41
  });
42
42
  const o = U({
43
43
  results: e.results,
44
- dimension: n
44
+ dimension: l
45
45
  }), C = H(
46
46
  {
47
47
  data: o == null ? void 0 : o.data,
48
- dimension: n,
49
- groupDimension: x,
48
+ dimension: l,
49
+ groupDimension: n,
50
50
  measure: r,
51
51
  axisOrder: V
52
52
  },
53
53
  s
54
54
  ), X = j(
55
55
  I(
56
- { measures: [r], horizontal: !1, onBarClicked: v, data: C, dimension: n },
56
+ {
57
+ measures: [r],
58
+ groupDimension: n,
59
+ horizontal: !1,
60
+ onBarClicked: v,
61
+ data: C,
62
+ dimension: l
63
+ },
57
64
  s
58
65
  ),
59
66
  ((f = (b = s.charts) == null ? void 0 : b.barChartStackedPro) == null ? void 0 : f.options) || {}
60
- ), G = !i && !t && !l;
67
+ ), G = !i && !t && !m;
61
68
  return /* @__PURE__ */ h.jsxs(
62
69
  E,
63
70
  {
64
71
  data: o,
65
- dimensionsAndMeasures: [r, n, x],
72
+ dimensionsAndMeasures: [r, l, n],
66
73
  errorMessage: (o == null ? void 0 : o.error) || (u == null ? void 0 : u.error),
67
74
  description: t,
68
75
  title: i,
69
- tooltip: l,
76
+ tooltip: m,
70
77
  hideMenu: c,
71
78
  children: [
72
79
  y && /* @__PURE__ */ h.jsx(
73
80
  q,
74
81
  {
75
82
  hasMarginTop: G,
76
- dimension: n,
83
+ dimension: l,
77
84
  onChange: y
78
85
  }
79
86
  ),
@@ -82,15 +89,15 @@ const A = (e) => {
82
89
  {
83
90
  data: C,
84
91
  showLegend: B,
85
- showTooltips: w,
92
+ showTooltips: k,
86
93
  showValueLabels: S,
87
94
  showLogarithmicScale: O,
88
- xAxisLabel: m,
89
- yAxisLabel: d,
95
+ xAxisLabel: d,
96
+ yAxisLabel: x,
90
97
  reverseXAxis: p,
91
98
  yAxisRangeMin: M,
92
99
  yAxisRangeMax: L,
93
- showTotalLabels: k,
100
+ showTotalLabels: w,
94
101
  options: X,
95
102
  stacked: !0
96
103
  }
@@ -156,40 +163,40 @@ const A = (e) => {
156
163
  axisDimensionValue: e.axisDimensionValue ?? D.noFilter(),
157
164
  groupingDimensionValue: e.groupingDimensionValue ?? D.noFilter()
158
165
  })
159
- }, re = (e, [s, l], t) => {
160
- const i = J(e.xAxis, s == null ? void 0 : s.granularity), m = e.sortDirectionTopXAxis, d = ee(t == null ? void 0 : t.timezone), c = Q({
166
+ }, re = (e, [s, m], t) => {
167
+ const i = J(e.xAxis, s == null ? void 0 : s.granularity), d = e.sortDirectionTopXAxis, x = ee(t == null ? void 0 : t.timezone), c = Q({
161
168
  dataset: e.dataset,
162
169
  axis: i,
163
170
  measure: e.measure,
164
- sortDirection: m,
171
+ sortDirection: d,
165
172
  limit: e.limitTopXAxis,
166
- timezone: d
167
- }), x = Y(c, s);
173
+ timezone: x
174
+ }), n = Y(c, s);
168
175
  return {
169
176
  ...e,
170
177
  xAxis: i,
171
- axisOrder: x,
178
+ axisOrder: n,
172
179
  axisOrderCacheKey: c,
173
- setGranularity: (r) => l({ ...s, granularity: r }),
174
- setAxisOrderAndCacheKey: (r, p) => l({ ...s, axisOrder: r, axisOrderCacheKey: p }),
180
+ setGranularity: (r) => m({ ...s, granularity: r }),
181
+ setAxisOrderAndCacheKey: (r, p) => m({ ...s, axisOrder: r, axisOrderCacheKey: p }),
175
182
  resultsAxisOrder: $({
176
183
  dataset: e.dataset,
177
184
  limitTopAxis: e.limitTopXAxis,
178
185
  axis: i,
179
186
  measure: e.measure,
180
- sortDirection: m,
181
- timezone: d
187
+ sortDirection: d,
188
+ timezone: x
182
189
  }),
183
190
  results: Z({
184
191
  dataset: e.dataset,
185
192
  axis: i,
186
193
  groupBy: e.groupBy,
187
194
  measure: e.measure,
188
- sortDirection: m,
195
+ sortDirection: d,
189
196
  limitTopAxis: e.limitTopXAxis,
190
197
  maxResults: e.maxResults,
191
- axisOrder: x,
192
- timezone: d
198
+ axisOrder: n,
199
+ timezone: x
193
200
  })
194
201
  };
195
202
  }, Ae = {
@@ -206,4 +213,4 @@ export {
206
213
  Ae as b,
207
214
  he as i
208
215
  };
209
- //# sourceMappingURL=definition-b_Q1K06P.js.map
216
+ //# sourceMappingURL=definition-D1YtBczb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-D1YtBczb.js","sources":["../src/components/charts/bars/BarChartStackedPro/index.tsx","../src/components/charts/bars/BarChartStackedPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarStackedChartProData, getBarStackedChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\n\nexport type BarChartStackedProProps = {\n groupBy: Dimension;\n maxLegendItems?: number;\n measure: Measure;\n results?: DataResponse;\n resultsAxisOrder?: DataResponse;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n setAxisOrderAndCacheKey?: (values: string[], cacheKey: string) => void;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTotalLabels?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartStackedPro = (props: BarChartStackedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n groupBy,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxis,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: xAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarStackedChartProOptions(\n {\n measures: [measure],\n groupDimension: groupBy,\n horizontal: false,\n onBarClicked,\n data,\n dimension: xAxis,\n },\n theme,\n ),\n theme.charts?.barChartStackedPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n stacked\n />\n </ChartCard>\n );\n};\n\nexport default BarChartStackedPro;\n","import { Granularity, OrderDirection, Value } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport {\n getAxisOrderCacheKey,\n getCachedAxisOrder,\n loadDataResultsAxisOrder,\n loadDataResults,\n} from '../bars.loadData.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'BarChartStackedPro',\n label: 'Bar Chart - Stacked',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'xAxis', label: 'X-axis' },\n inputs.groupBy,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n { ...inputs.showValueLabels, defaultValue: false },\n inputs.showLogarithmicScale,\n inputs.sortDirectionTopXAxis,\n inputs.limitTopXAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.showTotalLabels,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartStackedProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst events = {\n onBarClicked: (value: { axisDimensionValue?: string; groupingDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarChartStackedProState, (state: BarChartStackedProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopXAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: xAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopXAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n axisOrder: cachedAxisOrder,\n axisOrderCacheKey,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n setAxisOrderAndCacheKey: (axisOrder: string[], cacheKey: string) =>\n setState({ ...state, axisOrder, axisOrderCacheKey: cacheKey }),\n resultsAxisOrder: loadDataResultsAxisOrder({\n dataset: inputs.dataset,\n limitTopAxis: inputs.limitTopXAxis,\n axis: xAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: xAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopXAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartStackedPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartStackedPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","groupBy","measure","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxis","yAxisRangeMax","yAxisRangeMin","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarStackedChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","xAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","granularity","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartStackedPro"],"mappings":"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"}
@@ -1,22 +1,22 @@
1
- import { m as j, j as g, B as k, V as f } from "./index-B9eYAQkT.js";
1
+ import { m as k, j as g, B as j, V as f } from "./index-B9eYAQkT.js";
2
2
  import { useTheme as K, definePreview as H } from "@embeddable.com/react";
3
3
  import { a as F, r as _ } from "./component.utils-Dua9clQJ.js";
4
4
  import { C as W } from "./ChartCard-Cv9hqNdM.js";
5
- import { b as E, a as I } from "./bars.utils-DG6iNy-i.js";
6
- import { u as U } from "./charts.fillGaps.hooks-CPpTEo01.js";
7
- import { C as q, g as J } from "./granularity.utils-DqPJsdYT.js";
8
- import { u as N, g as Q, a as X, l as Z, b as $ } from "./bars.loadData.utils-DpaXxzT5.js";
9
- import { i as a } from "./component.inputs.constants-Bf2Ty2En.js";
5
+ import { b as E, c as I } from "./bars.utils-DR-ga7ps.js";
6
+ import { u as U } from "./charts.fillGaps.hooks-DgH30vXI.js";
7
+ import { C as q, g as J } from "./granularity.utils-B2u5dfRk.js";
8
+ import { u as N, g as Q, a as X, l as Z, b as $ } from "./bars.loadData.utils-C3w-0agD.js";
9
+ import { i as a } from "./component.inputs.constants-DnFrZzR7.js";
10
10
  import { p } from "./preview.data.constants-Cf1TpbZu.js";
11
11
  import { g as ee } from "./clientContext.utils-DpB5KsfX.js";
12
12
  const h = (e) => {
13
13
  var C, b;
14
14
  const r = K();
15
15
  F(r);
16
- const { tooltip: l, description: t, title: s, xAxisLabel: m, yAxisLabel: d } = _(e), {
16
+ const { tooltip: l, description: n, title: s, xAxisLabel: m, yAxisLabel: d } = _(e), {
17
17
  hideMenu: x,
18
18
  yAxis: i,
19
- groupBy: n,
19
+ groupBy: o,
20
20
  measure: u,
21
21
  reverseYAxis: B,
22
22
  showLegend: O,
@@ -39,32 +39,39 @@ const h = (e) => {
39
39
  setAxisOrderAndCacheKey: P,
40
40
  axisOrderCacheKey: R
41
41
  });
42
- const o = U({
42
+ const t = U({
43
43
  results: e.results,
44
44
  dimension: i
45
45
  }), y = E(
46
46
  {
47
- data: o == null ? void 0 : o.data,
47
+ data: t == null ? void 0 : t.data,
48
48
  dimension: i,
49
- groupDimension: n,
49
+ groupDimension: o,
50
50
  measure: u,
51
51
  axisOrder: V
52
52
  },
53
53
  r
54
- ), Y = j(
54
+ ), S = k(
55
55
  I(
56
- { measures: [u], horizontal: !0, onBarClicked: L, data: y, dimension: i },
56
+ {
57
+ measures: [u],
58
+ groupDimension: o,
59
+ horizontal: !0,
60
+ onBarClicked: L,
61
+ data: y,
62
+ dimension: i
63
+ },
57
64
  r
58
65
  ),
59
66
  ((b = (C = r.charts) == null ? void 0 : C.barChartGroupedHorizontalPro) == null ? void 0 : b.options) ?? {}
60
- ), S = !s && !t && !l;
67
+ ), Y = !s && !n && !l;
61
68
  return /* @__PURE__ */ g.jsxs(
62
69
  W,
63
70
  {
64
- data: o,
65
- dimensionsAndMeasures: [u, i, n],
66
- errorMessage: (o == null ? void 0 : o.error) || (c == null ? void 0 : c.error),
67
- description: t,
71
+ data: t,
72
+ dimensionsAndMeasures: [u, i, o],
73
+ errorMessage: (t == null ? void 0 : t.error) || (c == null ? void 0 : c.error),
74
+ description: n,
68
75
  title: s,
69
76
  tooltip: l,
70
77
  hideMenu: x,
@@ -72,13 +79,13 @@ const h = (e) => {
72
79
  A && /* @__PURE__ */ g.jsx(
73
80
  q,
74
81
  {
75
- hasMarginTop: S,
82
+ hasMarginTop: Y,
76
83
  dimension: i,
77
84
  onChange: A
78
85
  }
79
86
  ),
80
87
  /* @__PURE__ */ g.jsx(
81
- k,
88
+ j,
82
89
  {
83
90
  data: y,
84
91
  showLegend: O,
@@ -91,7 +98,7 @@ const h = (e) => {
91
98
  xAxisRangeMin: z,
92
99
  xAxisRangeMax: v,
93
100
  showTotalLabels: w,
94
- options: Y,
101
+ options: S,
95
102
  horizontal: !0
96
103
  }
97
104
  )
@@ -155,8 +162,8 @@ const h = (e) => {
155
162
  axisDimensionValue: e.axisDimensionValue ?? f.noFilter(),
156
163
  groupingDimensionValue: e.groupingDimensionValue ?? f.noFilter()
157
164
  })
158
- }, se = (e, [r, l], t) => {
159
- const s = J(e.yAxis, r == null ? void 0 : r.granularity), m = e.sortDirectionTopYAxis, d = ee(t == null ? void 0 : t.timezone), x = Q({
165
+ }, se = (e, [r, l], n) => {
166
+ const s = J(e.yAxis, r == null ? void 0 : r.granularity), m = e.sortDirectionTopYAxis, d = ee(n == null ? void 0 : n.timezone), x = Q({
160
167
  dataset: e.dataset,
161
168
  axis: s,
162
169
  measure: e.measure,
@@ -169,8 +176,8 @@ const h = (e) => {
169
176
  yAxis: s,
170
177
  axisOrder: i,
171
178
  axisOrderCacheKey: x,
172
- setGranularity: (n) => l({ ...r, granularity: n }),
173
- setAxisOrderAndCacheKey: (n, u) => l({ ...r, axisOrder: n, axisOrderCacheKey: u }),
179
+ setGranularity: (o) => l({ ...r, granularity: o }),
180
+ setAxisOrderAndCacheKey: (o, u) => l({ ...r, axisOrder: o, axisOrderCacheKey: u }),
174
181
  resultsAxisOrder: $({
175
182
  dataset: e.dataset,
176
183
  limitTopAxis: e.limitTopYAxis,
@@ -205,4 +212,4 @@ export {
205
212
  Ae as b,
206
213
  he as i
207
214
  };
208
- //# sourceMappingURL=definition-YVbooAf6.js.map
215
+ //# sourceMappingURL=definition-D2bJQDNh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-D2bJQDNh.js","sources":["../src/components/charts/bars/BarChartGroupedHorizontalPro/index.tsx","../src/components/charts/bars/BarChartGroupedHorizontalPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarStackedChartProData, getBarStackedChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\n\nexport type BarChartGroupedHorizontalProProps = {\n groupBy: Dimension;\n measure: Measure;\n results?: DataResponse;\n resultsAxisOrder?: DataResponse;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n setAxisOrderAndCacheKey?: (values: string[], cacheKey: string) => void;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n yAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartGroupedHorizontalPro = (props: BarChartGroupedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n yAxis,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxisRangeMax,\n xAxisRangeMin,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: yAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarStackedChartProOptions(\n {\n measures: [measure],\n groupDimension: groupBy,\n horizontal: true,\n onBarClicked,\n data,\n dimension: yAxis,\n },\n theme,\n ),\n theme.charts?.barChartGroupedHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={yAxis}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedHorizontalPro;\n","import { Granularity, OrderDirection, Value } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport {\n getAxisOrderCacheKey,\n getCachedAxisOrder,\n loadDataResultsAxisOrder,\n loadDataResults,\n} from '../bars.loadData.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'BarChartGroupedHorizontalPro',\n label: 'Bar Chart - Grouped Horizontal',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'yAxis', label: 'Y-axis' },\n { ...inputs.dimension, name: 'groupBy', label: 'Group by' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n { ...inputs.showValueLabels, defaultValue: false },\n inputs.showLogarithmicScale,\n inputs.sortDirectionTopYAxis,\n inputs.limitTopYAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartGroupedHorizontalProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n yAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst events = {\n onBarClicked: (value: { axisDimensionValue?: string; groupingDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartGroupedHorizontalProState,\n (state: BarChartGroupedHorizontalProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const yAxisWithGranularity = getDimensionWithGranularity(inputs.yAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopYAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopYAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n yAxis: yAxisWithGranularity,\n axisOrder: cachedAxisOrder,\n axisOrderCacheKey,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n setAxisOrderAndCacheKey: (axisOrder: string[], cacheKey: string) =>\n setState({ ...state, axisOrder, axisOrderCacheKey: cacheKey }),\n resultsAxisOrder: loadDataResultsAxisOrder({\n dataset: inputs.dataset,\n limitTopAxis: inputs.limitTopYAxis,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopYAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartGroupedHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","yAxis","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarStackedChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","yAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","granularity","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartGroupedHorizontalPro"],"mappings":"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"}
@@ -2,10 +2,10 @@ import { j as p, O as E, Q as V, l as k } from "./index-B9eYAQkT.js";
2
2
  import { useTheme as N, definePreview as I } from "@embeddable.com/react";
3
3
  import { a as Q, r as q } from "./component.utils-Dua9clQJ.js";
4
4
  import { C as J } from "./ChartCard-Cv9hqNdM.js";
5
- import { g } from "./formatter.utils-ClBgeuH1.js";
6
- import { u as h } from "./charts.fillGaps.hooks-CPpTEo01.js";
5
+ import { g } from "./formatter.utils-BZMmas2O.js";
6
+ import { u as h } from "./charts.fillGaps.hooks-DgH30vXI.js";
7
7
  import { u as K } from "./tables.hooks-fVC_4V5K.js";
8
- import { i as o } from "./component.inputs.constants-Bf2Ty2En.js";
8
+ import { i as o } from "./component.inputs.constants-DnFrZzR7.js";
9
9
  import { p as i } from "./preview.data.constants-Cf1TpbZu.js";
10
10
  import { g as L } from "./clientContext.utils-DpB5KsfX.js";
11
11
  const f = (e, t) => {
@@ -198,4 +198,4 @@ export {
198
198
  le as h,
199
199
  me as i
200
200
  };
201
- //# sourceMappingURL=definition-hgg6kcIq.js.map
201
+ //# sourceMappingURL=definition-D30Z62sw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-hgg6kcIq.js","sources":["../src/components/charts/tables/HeatMapPro/index.tsx","../src/components/charts/tables/HeatMapPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport {\n getStyle,\n HeatMap,\n HeatMapPropsDimension,\n HeatMapPropsMeasure,\n} from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { useGetTableSortedResults } from '../tables.hooks';\n\nexport type HeatMapProProps = {\n columnDimension: Dimension;\n columnWidth?: number;\n\n displayNullAs?: string;\n firstColumnWidth?: number;\n maxColor?: string;\n maxThreshold?: string;\n measure: Measure;\n midColor?: string;\n minColor?: string;\n minThreshold?: string;\n results: DataResponse;\n rowDimension: Dimension;\n showValues?: boolean;\n} & ChartCardHeaderProps;\n\nexport const getHeatMeasure = (\n props: { measure: Measure },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsMeasure<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.measure),\n format: (value) => {\n return themeFormatter.data(props.measure, value);\n },\n };\n};\n\nexport const getHeatDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsDimension<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n format: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nconst HeatMapPro = (props: HeatMapProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n rowDimension,\n columnDimension,\n maxColor,\n midColor,\n minColor,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n showValues,\n minThreshold,\n maxThreshold,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\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 resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures: [measure],\n });\n\n const pivotMeasures = getHeatMeasure({ measure }, theme);\n const pivotRowDimension = getHeatDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getHeatDimension({ dimension: columnDimension }, theme);\n\n return (\n <ChartCard\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, measure]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <HeatMap\n data={results}\n measure={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n maxColor={maxColor}\n midColor={midColor ?? getStyle('--em-tablechart-heatmap-color', '#FF5400')}\n minColor={minColor}\n showValues={showValues}\n minThreshold={minThreshold}\n maxThreshold={maxThreshold}\n columnWidth={columnWidth}\n firstColumnWidth={firstColumnWidth}\n displayNullAs={displayNullAs}\n />\n </ChartCard>\n );\n};\n\nexport default HeatMapPro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'HeatMapPro',\n label: 'Heat Map',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.color,\n name: 'midColor',\n label: 'Mid-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'maxColor',\n label: 'Max-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'minColor',\n label: 'Min-point color (optional)',\n },\n {\n ...inputs.string,\n name: 'minThreshold',\n label: 'Max-point range lower limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.string,\n name: 'maxThreshold',\n label: 'Min-point range upper limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showValues',\n label: 'Show values',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n rowDimension: previewData.dimension,\n columnDimension: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, inputs.measure],\n limit: inputs.maxResults,\n countRows: true,\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n _state: unknown,\n clientContext?: ThemeClientContext,\n) => ({\n ...inputs,\n results: loadDataResults(inputs, clientContext),\n});\n\nexport const heatMapPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getHeatMeasure","props","theme","themeFormatter","getThemeFormatter","value","getHeatDimension","HeatMapPro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","hideMenu","measure","rowDimension","columnDimension","maxColor","midColor","minColor","displayNullAs","columnWidth","firstColumnWidth","showValues","minThreshold","maxThreshold","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","pivotMeasures","pivotRowDimension","pivotColumnDimension","jsx","ChartCard","_a","HeatMap","getStyle","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","_state","heatMapPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-D30Z62sw.js","sources":["../src/components/charts/tables/HeatMapPro/index.tsx","../src/components/charts/tables/HeatMapPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport {\n getStyle,\n HeatMap,\n HeatMapPropsDimension,\n HeatMapPropsMeasure,\n} from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { useGetTableSortedResults } from '../tables.hooks';\n\nexport type HeatMapProProps = {\n columnDimension: Dimension;\n columnWidth?: number;\n\n displayNullAs?: string;\n firstColumnWidth?: number;\n maxColor?: string;\n maxThreshold?: string;\n measure: Measure;\n midColor?: string;\n minColor?: string;\n minThreshold?: string;\n results: DataResponse;\n rowDimension: Dimension;\n showValues?: boolean;\n} & ChartCardHeaderProps;\n\nexport const getHeatMeasure = (\n props: { measure: Measure },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsMeasure<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.measure),\n format: (value) => {\n return themeFormatter.data(props.measure, value);\n },\n };\n};\n\nexport const getHeatDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsDimension<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n format: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nconst HeatMapPro = (props: HeatMapProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n rowDimension,\n columnDimension,\n maxColor,\n midColor,\n minColor,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n showValues,\n minThreshold,\n maxThreshold,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\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 resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures: [measure],\n });\n\n const pivotMeasures = getHeatMeasure({ measure }, theme);\n const pivotRowDimension = getHeatDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getHeatDimension({ dimension: columnDimension }, theme);\n\n return (\n <ChartCard\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, measure]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <HeatMap\n data={results}\n measure={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n maxColor={maxColor}\n midColor={midColor ?? getStyle('--em-tablechart-heatmap-color', '#FF5400')}\n minColor={minColor}\n showValues={showValues}\n minThreshold={minThreshold}\n maxThreshold={maxThreshold}\n columnWidth={columnWidth}\n firstColumnWidth={firstColumnWidth}\n displayNullAs={displayNullAs}\n />\n </ChartCard>\n );\n};\n\nexport default HeatMapPro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'HeatMapPro',\n label: 'Heat Map',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.color,\n name: 'midColor',\n label: 'Mid-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'maxColor',\n label: 'Max-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'minColor',\n label: 'Min-point color (optional)',\n },\n {\n ...inputs.string,\n name: 'minThreshold',\n label: 'Max-point range lower limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.string,\n name: 'maxThreshold',\n label: 'Min-point range upper limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showValues',\n label: 'Show values',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n rowDimension: previewData.dimension,\n columnDimension: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, inputs.measure],\n limit: inputs.maxResults,\n countRows: true,\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n _state: unknown,\n clientContext?: ThemeClientContext,\n) => ({\n ...inputs,\n results: loadDataResults(inputs, clientContext),\n});\n\nexport const heatMapPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getHeatMeasure","props","theme","themeFormatter","getThemeFormatter","value","getHeatDimension","HeatMapPro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","hideMenu","measure","rowDimension","columnDimension","maxColor","midColor","minColor","displayNullAs","columnWidth","firstColumnWidth","showValues","minThreshold","maxThreshold","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","pivotMeasures","pivotRowDimension","pivotColumnDimension","jsx","ChartCard","_a","HeatMap","getStyle","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","_state","heatMapPro"],"mappings":"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"}
@@ -3,8 +3,8 @@ import { useTheme as j, definePreview as x } from "@embeddable.com/react";
3
3
  import { useState as c, useEffect as w } from "react";
4
4
  import { a as A, r as E, i as _ } from "./component.utils-Dua9clQJ.js";
5
5
  import { E as D } from "./EditorCard-DdYPPSGd.js";
6
- import { g as N } from "./dimensionsAndMeasures.utils-z1Fh_wO2.js";
7
- import { i as t } from "./component.inputs.constants-Bf2Ty2En.js";
6
+ import { g as N } from "./dimensionsAndMeasures.utils-DsVzuJ1x.js";
7
+ import { i as t } from "./component.inputs.constants-DnFrZzR7.js";
8
8
  import { p as m } from "./preview.data.constants-Cf1TpbZu.js";
9
9
  const l = (e) => {
10
10
  const i = j();
@@ -116,4 +116,4 @@ export {
116
116
  L as i,
117
117
  Q as m
118
118
  };
119
- //# sourceMappingURL=definition-DEqyuC5t.js.map
119
+ //# sourceMappingURL=definition-D59NL3vt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-DEqyuC5t.js","sources":["../src/components/editors/MeasureMultiSelectFieldPro/index.tsx","../src/components/editors/MeasureMultiSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\nimport { useState, useEffect } from 'react';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup, i18n } from '../../../theme/i18n/i18n';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { getDimensionAndMeasureOptions } from '../utils/dimensionsAndMeasures.utils';\n\nexport type MeasureMultiSelectFieldProProps = {\n selectedMeasures?: Measure[];\n measureOptions?: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure[]) => void;\n} & EditorCardHeaderProps;\n\nconst MeasureMultiSelectFieldPro = (props: MeasureMultiSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasures = [], measureOptions = [], clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n const [searchValue, setSearchValue] = useState('');\n const [pendingValues, setPendingValues] = useState<string[]>([]);\n\n useEffect(() => {\n if (clearable) return;\n if (selectedMeasures.length > 0) return;\n const first = measureOptions[0];\n if (!first) return;\n\n onChange([first]);\n }, [clearable, selectedMeasures.length, measureOptions, onChange]);\n\n const currentMeasureName = selectedMeasures.map((m) => m.name);\n\n const options = getDimensionAndMeasureOptions({\n dimensionsAndMeasures: measureOptions,\n searchValue,\n theme,\n });\n\n const handleChange = (newValues: string[]) => {\n const selectedNamesSet = new Set(newValues);\n onChange(measureOptions.filter((m) => selectedNamesSet.has(m.name)));\n };\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <MultiSelectField\n isClearable={clearable}\n disableApplyButton={!clearable && pendingValues.length === 0}\n isSearchable\n values={currentMeasureName}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={i18n.t('common.noOptionsFound')}\n onChange={handleChange}\n onPendingChange={setPendingValues}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureMultiSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureMultiSelectFieldPro',\n label: 'Measure Multi Select Field',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.measureOptions,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select values...' },\n {\n ...inputs.measure,\n array: true,\n name: 'selectedMeasures',\n label: 'Selected measures',\n category: 'Pre-configured Variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected measures updated',\n properties: [\n {\n name: 'value',\n label: 'Selected values',\n type: 'measure',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure multi-select values',\n type: 'measure',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasures'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n selectedMeasures: inputs.selectedMeasures ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: Array.isArray(value) && value.length ? value : Value.noFilter(),\n };\n },\n};\n\nexport const measureMultiSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureMultiSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasures","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","searchValue","setSearchValue","useState","pendingValues","setPendingValues","useEffect","first","currentMeasureName","m","options","getDimensionAndMeasureOptions","handleChange","newValues","selectedNamesSet","jsx","EditorCard","MultiSelectField","i18n","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureMultiSelectFieldPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-D59NL3vt.js","sources":["../src/components/editors/MeasureMultiSelectFieldPro/index.tsx","../src/components/editors/MeasureMultiSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\nimport { useState, useEffect } from 'react';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup, i18n } from '../../../theme/i18n/i18n';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { getDimensionAndMeasureOptions } from '../utils/dimensionsAndMeasures.utils';\n\nexport type MeasureMultiSelectFieldProProps = {\n selectedMeasures?: Measure[];\n measureOptions?: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure[]) => void;\n} & EditorCardHeaderProps;\n\nconst MeasureMultiSelectFieldPro = (props: MeasureMultiSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasures = [], measureOptions = [], clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n const [searchValue, setSearchValue] = useState('');\n const [pendingValues, setPendingValues] = useState<string[]>([]);\n\n useEffect(() => {\n if (clearable) return;\n if (selectedMeasures.length > 0) return;\n const first = measureOptions[0];\n if (!first) return;\n\n onChange([first]);\n }, [clearable, selectedMeasures.length, measureOptions, onChange]);\n\n const currentMeasureName = selectedMeasures.map((m) => m.name);\n\n const options = getDimensionAndMeasureOptions({\n dimensionsAndMeasures: measureOptions,\n searchValue,\n theme,\n });\n\n const handleChange = (newValues: string[]) => {\n const selectedNamesSet = new Set(newValues);\n onChange(measureOptions.filter((m) => selectedNamesSet.has(m.name)));\n };\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <MultiSelectField\n isClearable={clearable}\n disableApplyButton={!clearable && pendingValues.length === 0}\n isSearchable\n values={currentMeasureName}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={i18n.t('common.noOptionsFound')}\n onChange={handleChange}\n onPendingChange={setPendingValues}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureMultiSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureMultiSelectFieldPro',\n label: 'Measure Multi Select Field',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.measureOptions,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select values...' },\n {\n ...inputs.measure,\n array: true,\n name: 'selectedMeasures',\n label: 'Selected measures',\n category: 'Pre-configured Variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected measures updated',\n properties: [\n {\n name: 'value',\n label: 'Selected values',\n type: 'measure',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure multi-select values',\n type: 'measure',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasures'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n selectedMeasures: inputs.selectedMeasures ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: Array.isArray(value) && value.length ? value : Value.noFilter(),\n };\n },\n};\n\nexport const measureMultiSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureMultiSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasures","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","searchValue","setSearchValue","useState","pendingValues","setPendingValues","useEffect","first","currentMeasureName","m","options","getDimensionAndMeasureOptions","handleChange","newValues","selectedNamesSet","jsx","EditorCard","MultiSelectField","i18n","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureMultiSelectFieldPro"],"mappings":"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"}
@@ -3,10 +3,10 @@ import { useTheme as H, definePreview as X } from "@embeddable.com/react";
3
3
  import { useState as Y, useEffect as q } from "react";
4
4
  import { a as J, r as Q } from "./component.utils-Dua9clQJ.js";
5
5
  import { C as U } from "./ChartCard-Cv9hqNdM.js";
6
- import { u as Z } from "./charts.fillGaps.hooks-CPpTEo01.js";
7
- import { C as $, g as ee } from "./granularity.utils-DqPJsdYT.js";
8
- import { g as ae, a as se, l as g } from "./definition-DfHOG4Fd.js";
9
- import { g as te } from "./formatter.utils-ClBgeuH1.js";
6
+ import { u as Z } from "./charts.fillGaps.hooks-DgH30vXI.js";
7
+ import { C as $, g as ee } from "./granularity.utils-B2u5dfRk.js";
8
+ import { g as ae, a as se, l as g } from "./definition-HByuRICY.js";
9
+ import { g as te } from "./formatter.utils-BZMmas2O.js";
10
10
  import { p as n } from "./preview.data.constants-Cf1TpbZu.js";
11
11
  import { g as re } from "./clientContext.utils-DpB5KsfX.js";
12
12
  const f = (e) => {
@@ -144,4 +144,4 @@ export {
144
144
  Me as i,
145
145
  be as l
146
146
  };
147
- //# sourceMappingURL=definition-D6c43j2_.js.map
147
+ //# sourceMappingURL=definition-DIH0gF4I.js.map