@embeddable.com/remarkable-pro 0.1.19 → 0.1.21

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 (157) 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-9gU70vr-.js +35 -0
  11. package/dist/DimensionAndMeasureSingleSelectField-9gU70vr-.js.map +1 -0
  12. package/dist/DimensionMeasureMultiSelectFieldPro.js +13 -0
  13. package/dist/DimensionMeasureMultiSelectFieldPro.js.map +1 -0
  14. package/dist/DimensionSingleSelectFieldPro.js +1 -1
  15. package/dist/DonutChartPro.js +1 -1
  16. package/dist/DonutLabelChartPro.js +1 -1
  17. package/dist/{GranularitySelectField-BmiGbW9N.js → GranularitySelectField-CB24o_Cl.js} +2 -2
  18. package/dist/{GranularitySelectField-BmiGbW9N.js.map → GranularitySelectField-CB24o_Cl.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/MarkdownPro.js +1 -1
  28. package/dist/MeasureMultiSelectFieldPro.js +13 -0
  29. package/dist/MeasureMultiSelectFieldPro.js.map +1 -0
  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/SingleSelectFieldPro.js +1 -1
  35. package/dist/TableChartPaginated.js +1 -1
  36. package/dist/TableScrollable.js +1 -1
  37. package/dist/TextFieldPro.js +1 -1
  38. package/dist/{bars.utils-ByhjP0ZG.js → bars.utils-BaClli7j.js} +3 -3
  39. package/dist/{bars.utils-ByhjP0ZG.js.map → bars.utils-BaClli7j.js.map} +1 -1
  40. package/dist/{charts.fillGaps.hooks-CuEAVcgu.js → charts.fillGaps.hooks-DLUbktCZ.js} +2 -2
  41. package/dist/{charts.fillGaps.hooks-CuEAVcgu.js.map → charts.fillGaps.hooks-DLUbktCZ.js.map} +1 -1
  42. package/dist/{charts.utils-CsL-ekdk.js → charts.utils-Cr0-f92U.js} +1486 -1488
  43. package/dist/charts.utils-Cr0-f92U.js.map +1 -0
  44. package/dist/{component.inputs.constants-CNRRRvsh.js → component.inputs.constants-D__Ii2PI.js} +146 -143
  45. package/dist/component.inputs.constants-D__Ii2PI.js.map +1 -0
  46. package/dist/components/component.inputs.constants.d.ts +14 -2
  47. package/dist/components/component.inputs.constants.d.ts.map +1 -1
  48. package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/DimensionMeasureMultiSelectFieldPro.emb.d.ts +101 -0
  49. package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/DimensionMeasureMultiSelectFieldPro.emb.d.ts.map +1 -0
  50. package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/DimensionMeasureMultiSelectFieldPro.test.d.ts +2 -0
  51. package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/DimensionMeasureMultiSelectFieldPro.test.d.ts.map +1 -0
  52. package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/definition.d.ts +211 -0
  53. package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/definition.d.ts.map +1 -0
  54. package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/index.d.ts +12 -0
  55. package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/index.d.ts.map +1 -0
  56. package/dist/components/editors/DimensionSingleSelectFieldPro/DimensionSingleSelectFieldPro.emb.d.ts +1 -1
  57. package/dist/components/editors/DimensionSingleSelectFieldPro/definition.d.ts +2 -2
  58. package/dist/components/editors/MeasureMultiSelectFieldPro/MeasureMultiSelectFieldPro.emb.d.ts +101 -0
  59. package/dist/components/editors/MeasureMultiSelectFieldPro/MeasureMultiSelectFieldPro.emb.d.ts.map +1 -0
  60. package/dist/components/editors/MeasureMultiSelectFieldPro/MeasureMultiSelectFieldPro.test.d.ts +2 -0
  61. package/dist/components/editors/MeasureMultiSelectFieldPro/MeasureMultiSelectFieldPro.test.d.ts.map +1 -0
  62. package/dist/components/editors/MeasureMultiSelectFieldPro/definition.d.ts +211 -0
  63. package/dist/components/editors/MeasureMultiSelectFieldPro/definition.d.ts.map +1 -0
  64. package/dist/components/editors/MeasureMultiSelectFieldPro/index.d.ts +12 -0
  65. package/dist/components/editors/MeasureMultiSelectFieldPro/index.d.ts.map +1 -0
  66. package/dist/components/editors/MeasureSingleSelectFieldPro/MeasureSingleSelectFieldPro.emb.d.ts +1 -1
  67. package/dist/components/editors/MeasureSingleSelectFieldPro/definition.d.ts +2 -2
  68. package/dist/components/editors/test-utils/multiSelectField.mock.d.ts +13 -0
  69. package/dist/components/editors/test-utils/multiSelectField.mock.d.ts.map +1 -0
  70. package/dist/{definition-BYKXnGby.js → definition--dzQDtxP.js} +2 -2
  71. package/dist/{definition-BYKXnGby.js.map → definition--dzQDtxP.js.map} +1 -1
  72. package/dist/{definition-CnXw9to4.js → definition-1PMcJFw0.js} +4 -4
  73. package/dist/{definition-CnXw9to4.js.map → definition-1PMcJFw0.js.map} +1 -1
  74. package/dist/{definition-Bn4kaJiP.js → definition-8nbqWIqg.js} +5 -5
  75. package/dist/{definition-Bn4kaJiP.js.map → definition-8nbqWIqg.js.map} +1 -1
  76. package/dist/{definition-DOF1O2AV.js → definition-B4ipAlf6.js} +2 -2
  77. package/dist/{definition-DOF1O2AV.js.map → definition-B4ipAlf6.js.map} +1 -1
  78. package/dist/{definition-BP4nn5N1.js → definition-B8t570x7.js} +6 -6
  79. package/dist/{definition-BP4nn5N1.js.map → definition-B8t570x7.js.map} +1 -1
  80. package/dist/{definition-D6l1mjPE.js → definition-BDMrBOVj.js} +3 -3
  81. package/dist/{definition-D6l1mjPE.js.map → definition-BDMrBOVj.js.map} +1 -1
  82. package/dist/{definition-D8QBA-eU.js → definition-BG3ZrEJm.js} +18 -18
  83. package/dist/{definition-D8QBA-eU.js.map → definition-BG3ZrEJm.js.map} +1 -1
  84. package/dist/{definition-CBfia0Hk.js → definition-BOKEHOkI.js} +4 -4
  85. package/dist/{definition-CBfia0Hk.js.map → definition-BOKEHOkI.js.map} +1 -1
  86. package/dist/{definition-AxrzcLR_.js → definition-BOnf1Cme.js} +3 -3
  87. package/dist/{definition-AxrzcLR_.js.map → definition-BOnf1Cme.js.map} +1 -1
  88. package/dist/{definition-qOH7F6eg.js → definition-BUu2Mo1o.js} +18 -18
  89. package/dist/{definition-qOH7F6eg.js.map → definition-BUu2Mo1o.js.map} +1 -1
  90. package/dist/{definition-s-aOBxXj.js → definition-BplEviYc.js} +4 -4
  91. package/dist/{definition-s-aOBxXj.js.map → definition-BplEviYc.js.map} +1 -1
  92. package/dist/{definition-DaAhN5ck.js → definition-Bs_qs6d_.js} +6 -6
  93. package/dist/{definition-DaAhN5ck.js.map → definition-Bs_qs6d_.js.map} +1 -1
  94. package/dist/{definition-CTFPPP7-.js → definition-Bz9WRPe2.js} +4 -4
  95. package/dist/{definition-CTFPPP7-.js.map → definition-Bz9WRPe2.js.map} +1 -1
  96. package/dist/{definition-Ce32SCGc.js → definition-C7zlJdCy.js} +2 -2
  97. package/dist/{definition-Ce32SCGc.js.map → definition-C7zlJdCy.js.map} +1 -1
  98. package/dist/definition-CB_a-Pf7.js +111 -0
  99. package/dist/definition-CB_a-Pf7.js.map +1 -0
  100. package/dist/{definition-CWvIznQG.js → definition-CD_eo9qj.js} +4 -4
  101. package/dist/{definition-CWvIznQG.js.map → definition-CD_eo9qj.js.map} +1 -1
  102. package/dist/{definition-BP8FAKgD.js → definition-CoVebKKF.js} +2 -2
  103. package/dist/{definition-BP8FAKgD.js.map → definition-CoVebKKF.js.map} +1 -1
  104. package/dist/{definition-Bsn9rsPY.js → definition-CoxOsh75.js} +6 -6
  105. package/dist/{definition-Bsn9rsPY.js.map → definition-CoxOsh75.js.map} +1 -1
  106. package/dist/{definition-BWjj6V_U.js → definition-Cu_LH1Nn.js} +4 -4
  107. package/dist/{definition-BWjj6V_U.js.map → definition-Cu_LH1Nn.js.map} +1 -1
  108. package/dist/{definition-Cu9fQ2nz.js → definition-D-L7zmnC.js} +3 -3
  109. package/dist/{definition-Cu9fQ2nz.js.map → definition-D-L7zmnC.js.map} +1 -1
  110. package/dist/{definition-DYWiPjbJ.js → definition-DU-9ghMn.js} +4 -4
  111. package/dist/{definition-DYWiPjbJ.js.map → definition-DU-9ghMn.js.map} +1 -1
  112. package/dist/{definition-C_mtYzBd.js → definition-DUT4jv0-.js} +4 -4
  113. package/dist/{definition-C_mtYzBd.js.map → definition-DUT4jv0-.js.map} +1 -1
  114. package/dist/{definition-b5K1341G.js → definition-DXPnqNV5.js} +4 -4
  115. package/dist/{definition-b5K1341G.js.map → definition-DXPnqNV5.js.map} +1 -1
  116. package/dist/{definition-CD-sRSxl.js → definition-DdpxkPTs.js} +2 -2
  117. package/dist/{definition-CD-sRSxl.js.map → definition-DdpxkPTs.js.map} +1 -1
  118. package/dist/{definition-j_g5eki7.js → definition-DhAlKZMJ.js} +6 -6
  119. package/dist/{definition-j_g5eki7.js.map → definition-DhAlKZMJ.js.map} +1 -1
  120. package/dist/definition-Dis4VDux.js +115 -0
  121. package/dist/definition-Dis4VDux.js.map +1 -0
  122. package/dist/{definition-C0f_iImo.js → definition-E-KrOL_D.js} +6 -6
  123. package/dist/{definition-C0f_iImo.js.map → definition-E-KrOL_D.js.map} +1 -1
  124. package/dist/{definition-BU0Ksu9i.js → definition-MDYpyw2B.js} +2 -2
  125. package/dist/{definition-BU0Ksu9i.js.map → definition-MDYpyw2B.js.map} +1 -1
  126. package/dist/{definition-wjS-xbwo.js → definition-TjSkmjqu.js} +5 -5
  127. package/dist/{definition-wjS-xbwo.js.map → definition-TjSkmjqu.js.map} +1 -1
  128. package/dist/{definition-BpH1RlFo.js → definition-Z97ZMe6d.js} +6 -6
  129. package/dist/{definition-BpH1RlFo.js.map → definition-Z97ZMe6d.js.map} +1 -1
  130. package/dist/{definition-DlPTj3ys.js → definition-fhTW44k3.js} +5 -5
  131. package/dist/{definition-DlPTj3ys.js.map → definition-fhTW44k3.js.map} +1 -1
  132. package/dist/dimensionsAndMeasures.utils-DMqGZRn4.js +16 -0
  133. package/dist/dimensionsAndMeasures.utils-DMqGZRn4.js.map +1 -0
  134. package/dist/embeddable-components.json +42 -38
  135. package/dist/embeddable-theme-0137e.js +2176 -2177
  136. package/dist/{granularity.utils-BigKv7gb.js → granularity.utils-B4PoOmv0.js} +2 -2
  137. package/dist/{granularity.utils-BigKv7gb.js.map → granularity.utils-B4PoOmv0.js.map} +1 -1
  138. package/dist/index.d.ts +6 -0
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +180 -172
  141. package/dist/index.js.map +1 -1
  142. package/dist/{pies.utils-CFBxfonj.js → pies.utils-BShIepeZ.js} +3 -3
  143. package/dist/{pies.utils-CFBxfonj.js.map → pies.utils-BShIepeZ.js.map} +1 -1
  144. package/dist/preview.data.constants-CYT4J-3P.js +126 -0
  145. package/dist/preview.data.constants-CYT4J-3P.js.map +1 -0
  146. package/dist/{tables.utils-EBz0SoE-.js → tables.utils-C4zY450G.js} +12 -12
  147. package/dist/{tables.utils-EBz0SoE-.js.map → tables.utils-C4zY450G.js.map} +1 -1
  148. package/dist/theme/formatter/formatter.constants.d.ts.map +1 -1
  149. package/dist/theme/formatter/formatter.utils.d.ts +1 -0
  150. package/dist/theme/formatter/formatter.utils.d.ts.map +1 -1
  151. package/package.json +1 -1
  152. package/dist/DimensionAndMeasureSingleSelectField-De3lAcg-.js +0 -46
  153. package/dist/DimensionAndMeasureSingleSelectField-De3lAcg-.js.map +0 -1
  154. package/dist/charts.utils-CsL-ekdk.js.map +0 -1
  155. package/dist/component.inputs.constants-CNRRRvsh.js.map +0 -1
  156. package/dist/preview.data.constants-D1HZ67VS.js +0 -124
  157. package/dist/preview.data.constants-D1HZ67VS.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.data.constants-CYT4J-3P.js","sources":["../src/utils/cache.utils.ts","../src/utils/data.utils.ts","../src/theme/formatter/formatter.utils.ts","../src/components/preview.data.constants.ts"],"sourcesContent":["/**\n * Creates a formatter cache.\n * Cache used to prevent unnecessary (expensive) creation of formatter objects\n */\nexport const cache = <Params, Formatter>(factory: (params?: Params) => Formatter) => {\n const internalCache: { [key: string]: Formatter } = {};\n const get = (params?: Params) => {\n const key = JSON.stringify(params);\n let formatter = internalCache[key];\n if (formatter) {\n return formatter;\n }\n formatter = factory(params);\n internalCache[key] = formatter;\n return formatter;\n };\n return get;\n};\n","const ISO_DATE_TIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}$/;\n\nexport const isValidISODate = (value: string): boolean => {\n return Boolean(value && ISO_DATE_TIME_REGEX.test(value));\n};\n","import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { DateTimeFormatter, NumberFormatter, StringFormatter } from './formatter.types';\nimport { Theme } from '../theme.types';\nimport { cache } from '../../utils/cache.utils';\nimport { isValidISODate } from '../../utils/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\nimport { DisplayFormatTypeOptions } from '../../components/types/DisplayFormat.type.emb';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getSubInputValue = (key: DimensionOrMeasure, inputKey: string, metaKey?: string) =>\n key.inputs?.[inputKey] ?? (key.meta as any)?.[metaKey ?? inputKey];\n\nexport type GetThemeFormatter = {\n string: (key: string) => string;\n number: (value: number | bigint, options?: Intl.NumberFormatOptions) => string;\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions) => string;\n dimensionOrMeasureTitle: (key: DimensionOrMeasure) => string;\n data: (key: DimensionOrMeasure, value: any) => string;\n};\n\nexport const getThemeFormatter = (theme: Theme): GetThemeFormatter => {\n const cachedNumberFormatter = cache<Intl.NumberFormatOptions, NumberFormatter>((options) =>\n theme.formatter.numberFormatter(theme, options),\n );\n\n const cachedDataNumberFormatter = cache<DimensionOrMeasure, NumberFormatter>((key) =>\n theme.formatter.dataNumberFormatter(theme, key!),\n );\n\n const cachedDateTimeFormatter = cache<Intl.DateTimeFormatOptions, DateTimeFormatter>((options) =>\n theme.formatter.dateTimeFormatter(theme, options),\n );\n\n const cachedDataDateTimeFormatter = cache<DimensionOrMeasure, DateTimeFormatter>((key) =>\n theme.formatter.dataDateTimeFormatter(theme, key!),\n );\n\n const cachedDataOthersFormatter = cache<DimensionOrMeasure, StringFormatter>((key) =>\n theme.formatter.dataOthersFormatter(theme, key!),\n );\n\n return {\n string: (key: string) => theme.formatter.stringFormatter().format(key),\n number: (value: number | bigint, options?: Intl.NumberFormatOptions): string => {\n return cachedNumberFormatter(options).format(value);\n },\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions): string => {\n return cachedDateTimeFormatter(options).format(value);\n },\n dimensionOrMeasureTitle: (key: DimensionOrMeasure): string => {\n const displayName = getSubInputValue(key, 'displayName');\n if (displayName) {\n if (displayName.includes('|')) {\n return resolveI18nString(displayName);\n }\n return displayName;\n }\n\n const resolved = cachedDataOthersFormatter(key).format(key.name);\n return resolved === key.name ? (key.title ?? key.name) : resolved;\n },\n data: (key: DimensionOrMeasure, value: any): string => {\n let newValue = value;\n\n // Nulls (inputs override meta)\n if (value == null) {\n return getSubInputValue(key, 'displayNullAs') ?? '';\n }\n\n // JSON and Markdown (inputs override meta)\n const displayFormat = getSubInputValue(key, 'displayFormat');\n if (displayFormat === DisplayFormatTypeOptions.JSON) {\n return JSON.stringify(value, null, 2);\n }\n if (displayFormat === DisplayFormatTypeOptions.MARKDOWN) {\n return value;\n }\n // Objects\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n\n // Number\n if (key.nativeType === 'number') {\n newValue = cachedDataNumberFormatter(key).format(value);\n }\n\n // Time\n if (key.nativeType === 'time' && isValidISODate(value)) {\n newValue = cachedDataDateTimeFormatter(key).format(new Date(value));\n }\n\n // Others (boolean and string)\n if (key.nativeType === 'boolean' || key.nativeType === 'string') {\n newValue = cachedDataOthersFormatter(key).format(value);\n }\n\n // Prefix and suffix (inputs override meta; meta uses pretext/posttext)\n const prefix = getSubInputValue(key, 'prefix', 'pretext') || '';\n const suffix = getSubInputValue(key, 'suffix', 'posttext') || '';\n const appended = `${prefix}${newValue}${suffix}`;\n\n // Max characters (inputs override meta)\n const maxCharacters = getSubInputValue(key, 'maxCharacters');\n if (maxCharacters != null) {\n if (appended.length <= maxCharacters) {\n return appended;\n }\n return appended.substring(0, maxCharacters) + '...';\n }\n\n return appended;\n },\n };\n};\n","import { mockDataResponse, mockDimension, mockMeasure } from '@embeddable.com/core';\n\nconst dimensionName = 'country';\nconst measureName = 'count';\nconst measureVariantName = 'average';\nconst dimensionGroupName = 'category';\n\nconst dimension = mockDimension(dimensionName, 'string', { title: 'Country' });\nconst measure = mockMeasure(measureName, 'number', { title: 'Count' });\nconst measureVariant = mockMeasure(measureVariantName, 'number', { title: 'Average' });\nconst dimensionGroup = mockDimension(dimensionGroupName, 'string', {\n title: 'Category',\n});\n\nconst results1Measure1Dimension = mockDataResponse(\n [dimensionName, measureName],\n [\n ['US', 120],\n ['GER', 100],\n ['UK', 80],\n ['FRA', 70],\n ['SPA', 55],\n ],\n);\n\nconst results1Measure1DimensionVariant = mockDataResponse(\n [dimensionName, dimensionGroupName, measureName],\n [\n ['US', 100],\n ['GER', 90],\n ['UK', 75],\n ['FRA', 85],\n ['SPA', 60],\n ],\n);\n\nconst results1Measure2Dimensions = mockDataResponse(\n [dimensionName, dimensionGroupName, measureName],\n [\n ['US', 'Cat 1', 120],\n ['US', 'Cat 2', 130],\n\n ['GER', 'Cat 1', 100],\n ['GER', 'Cat 2', 110],\n\n ['UK', 'Cat 1', 80],\n ['UK', 'Cat 2', 95],\n\n ['FRA', 'Cat 1', 70],\n ['FRA', 'Cat 2', 60],\n\n ['SPA', 'Cat 1', 55],\n ['SPA', 'Cat 2', 35],\n ],\n);\n\nconst results1Measure2DimensionsVariant = mockDataResponse(\n [dimensionName, dimensionGroupName, measureName],\n [\n ['US', 'Cat 1', 100],\n ['US', 'Cat 2', 115],\n\n ['GER', 'Cat 1', 90],\n ['GER', 'Cat 2', 125],\n\n ['UK', 'Cat 1', 75],\n ['UK', 'Cat 2', 105],\n\n ['FRA', 'Cat 1', 85],\n ['FRA', 'Cat 2', 55],\n\n ['SPA', 'Cat 1', 60],\n ['SPA', 'Cat 2', 30],\n ],\n);\n\nconst results1Measure = mockDataResponse([measureName], [[120]]);\nconst results1MeasureVariant = mockDataResponse([measureName], [[100]]);\n\nconst dataset = {\n embeddableId: '',\n datasetId: '',\n inputName: '',\n variableValues: {},\n};\n\nexport const previewData = {\n dataset,\n dimension,\n dimensionGroup,\n measure,\n measureVariant,\n results1Measure,\n results1MeasureVariant,\n results1Measure1Dimension,\n results1Measure1DimensionVariant,\n results1Measure2Dimensions,\n results1Measure2DimensionsVariant,\n} as const;\n"],"names":["cache","factory","internalCache","params","key","formatter","ISO_DATE_TIME_REGEX","isValidISODate","value","getSubInputValue","inputKey","metaKey","_a","_b","getThemeFormatter","theme","cachedNumberFormatter","options","cachedDataNumberFormatter","cachedDateTimeFormatter","cachedDataDateTimeFormatter","cachedDataOthersFormatter","displayName","resolveI18nString","resolved","newValue","displayFormat","DisplayFormatTypeOptions","prefix","suffix","appended","maxCharacters","dimensionName","measureName","measureVariantName","dimensionGroupName","dimension","mockDimension","measure","mockMeasure","measureVariant","dimensionGroup","results1Measure1Dimension","mockDataResponse","results1Measure1DimensionVariant","results1Measure2Dimensions","results1Measure2DimensionsVariant","results1Measure","results1MeasureVariant","dataset","previewData"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { j as o, T as p, M as f, a as h, b as a } from "./index-D3wOlvn9.js";
2
- import { g as T } from "./preview.data.constants-D1HZ67VS.js";
3
- import { D as c } from "./component.inputs.constants-CNRRRvsh.js";
1
+ import { j as o, T as p, M as f, a as h, b as l } from "./index-D3wOlvn9.js";
2
+ import { a as T } from "./preview.data.constants-CYT4J-3P.js";
3
+ import { D as c } from "./component.inputs.constants-D__Ii2PI.js";
4
4
  const w = (e) => {
5
5
  var n;
6
6
  const t = (n = e.inputs) == null ? void 0 : n.align;
@@ -19,20 +19,20 @@ const w = (e) => {
19
19
  if (t) return t;
20
20
  switch (e.nativeType) {
21
21
  case "string":
22
- return a("--em-tablechart-min-width--string", "8.75rem");
22
+ return l("--em-tablechart-min-width--string", "8.75rem");
23
23
  case "number":
24
- return a("--em-tablechart-min-width--number", "5.625rem");
24
+ return l("--em-tablechart-min-width--number", "5.625rem");
25
25
  case "time":
26
- return a("--em-tablechart-min-width--time", "8.75rem");
26
+ return l("--em-tablechart-min-width--time", "8.75rem");
27
27
  case "boolean":
28
28
  default:
29
- return a("--em-tablechart-min-width--boolean", "5.625rem");
29
+ return l("--em-tablechart-min-width--boolean", "5.625rem");
30
30
  }
31
31
  }, F = (e, t) => {
32
32
  const n = T(t);
33
33
  return e.dimensionsAndMeasures.map((r) => {
34
34
  var u;
35
- const l = (u = r.inputs) == null ? void 0 : u.displayFormat, y = l && (l === c.JSON || l === c.MARKDOWN);
35
+ const a = (u = r.inputs) == null ? void 0 : u.displayFormat, y = a && (a === c.JSON || a === c.MARKDOWN);
36
36
  return {
37
37
  id: r.name,
38
38
  title: n.dimensionOrMeasureTitle(r),
@@ -58,7 +58,7 @@ const w = (e) => {
58
58
  },
59
59
  cell: y ? ({ value: i }) => {
60
60
  let s;
61
- return typeof i == "string" ? s = i : i != null ? s = String(i) : s = void 0, /* @__PURE__ */ o.jsx(p, { value: i, children: l === c.MARKDOWN ? (
61
+ return typeof i == "string" ? s = i : i != null ? s = String(i) : s = void 0, /* @__PURE__ */ o.jsx(p, { value: i, children: a === c.MARKDOWN ? (
62
62
  // Markdown
63
63
  /* @__PURE__ */ o.jsx(f, { content: s })
64
64
  ) : (
@@ -73,8 +73,8 @@ const w = (e) => {
73
73
  if (!e.rows || e.rows.length === 0)
74
74
  return [];
75
75
  const t = (n = e.clickDimension) == null ? void 0 : n.name;
76
- return !t || Object.keys(e.rows[0]).includes(t) ? e.rows : e.rows.map(({ [t]: r, ...l }) => ({
77
- ...l
76
+ return !t || Object.keys(e.rows[0]).includes(t) ? e.rows : e.rows.map(({ [t]: r, ...a }) => ({
77
+ ...a
78
78
  }));
79
79
  };
80
80
  export {
@@ -83,4 +83,4 @@ export {
83
83
  N as c,
84
84
  w as g
85
85
  };
86
- //# sourceMappingURL=tables.utils-EBz0SoE-.js.map
86
+ //# sourceMappingURL=tables.utils-C4zY450G.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tables.utils-EBz0SoE-.js","sources":["../src/components/charts/tables/tables.utils.tsx"],"sourcesContent":["import { DataResponse, Dimension, DimensionOrMeasure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { CssSize, Markdown, TableBodyCellWithCopy } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport {\n getStyleNumber,\n TableHeaderAlign,\n TableHeaderItem,\n TableHeaderItemAlign,\n} from '@embeddable.com/remarkable-ui';\nimport { DisplayFormatTypeOptions } from '../../types/DisplayFormat.type.emb';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const getTableHeaderAlign = (dimOrMeas: DimensionOrMeasure): TableHeaderItemAlign => {\n const subInputAlign = dimOrMeas.inputs?.align;\n\n if (subInputAlign) return subInputAlign;\n\n // Get width by native type\n switch (dimOrMeas.nativeType) {\n case 'boolean':\n case 'time':\n case 'number':\n return TableHeaderAlign.RIGHT;\n default:\n return TableHeaderAlign.LEFT;\n }\n};\n\nexport const getTableHeaderMinWidth = (dimOrMeas: DimensionOrMeasure): CssSize => {\n const subInputWidth = dimOrMeas.inputs?.width;\n\n if (subInputWidth) return subInputWidth;\n\n // Get width by native type\n switch (dimOrMeas.nativeType) {\n case 'string':\n return getStyleNumber('--em-tablechart-min-width--string' as any, '8.75rem') as number;\n case 'number':\n return getStyleNumber('--em-tablechart-min-width--number' as any, '5.625rem') as number;\n case 'time':\n return getStyleNumber('--em-tablechart-min-width--time' as any, '8.75rem') as number;\n case 'boolean':\n default:\n return getStyleNumber('--em-tablechart-min-width--boolean' as any, '5.625rem') as number;\n }\n};\n\nexport const getTableHeaders = (\n props: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n },\n theme: Theme,\n): TableHeaderItem<any>[] => {\n const themeFormatter = getThemeFormatter(theme);\n return props.dimensionsAndMeasures.map((dimOrMeas) => {\n const displayFormat: string = dimOrMeas.inputs?.displayFormat;\n const hasCustomCellFormatter =\n displayFormat &&\n (displayFormat === DisplayFormatTypeOptions.JSON ||\n displayFormat === DisplayFormatTypeOptions.MARKDOWN);\n\n return {\n id: dimOrMeas.name,\n title: themeFormatter.dimensionOrMeasureTitle(dimOrMeas),\n minWidth: getTableHeaderMinWidth(dimOrMeas),\n align: getTableHeaderAlign(dimOrMeas),\n accessor: (row) => {\n const updatedDimOrMeas = {\n ...dimOrMeas,\n inputs: { ...dimOrMeas.inputs, displayNullAs: props.displayNullAs },\n };\n return themeFormatter.data(updatedDimOrMeas, row[dimOrMeas.name]);\n },\n cellStyle: (value) => {\n const tableCellStyle = dimOrMeas.inputs?.tableCellStyle;\n if (tableCellStyle) {\n const activeTableCellStyle = theme.defaults.tableCellStyleOptions?.find(\n (style) => style.value === tableCellStyle,\n );\n if (activeTableCellStyle) {\n return activeTableCellStyle.styles(value);\n }\n }\n return undefined;\n },\n cell: hasCustomCellFormatter\n ? ({ value }) => {\n let currentValue: string | undefined;\n if (typeof value === 'string') {\n currentValue = value;\n } else if (value !== undefined && value !== null) {\n currentValue = String(value);\n } else {\n currentValue = undefined;\n }\n\n return (\n <TableBodyCellWithCopy value={value}>\n {displayFormat === DisplayFormatTypeOptions.MARKDOWN ? (\n // Markdown\n <Markdown content={currentValue} />\n ) : (\n // JSON\n <pre>{currentValue}</pre>\n )}\n </TableBodyCellWithCopy>\n );\n }\n : undefined,\n };\n });\n};\n\nexport const getTableRows = (props: { clickDimension?: Dimension; rows: DataResponse['data'] }) => {\n if (!props.rows || props.rows.length === 0) {\n return [];\n }\n\n const clickDimensionName = props.clickDimension?.name;\n\n if (!clickDimensionName || Object.keys(props.rows[0]!).includes(clickDimensionName)) {\n return props.rows;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return props.rows.map(({ [clickDimensionName]: _, ...row }) => ({\n ...row,\n }));\n};\n"],"names":["getTableHeaderAlign","dimOrMeas","subInputAlign","_a","TableHeaderAlign","getTableHeaderMinWidth","subInputWidth","getStyleNumber","getTableHeaders","props","theme","themeFormatter","getThemeFormatter","displayFormat","hasCustomCellFormatter","DisplayFormatTypeOptions","row","updatedDimOrMeas","value","tableCellStyle","activeTableCellStyle","_b","style","currentValue","jsx","TableBodyCellWithCopy","Markdown","getTableRows","clickDimensionName","_"],"mappings":";;;AAaO,MAAMA,IAAsB,CAACC,MAAwD;;AAC1F,QAAMC,KAAgBC,IAAAF,EAAU,WAAV,gBAAAE,EAAkB;AAExC,MAAID,EAAe,QAAOA;AAG1B,UAAQD,EAAU,YAAA;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOG,EAAiB;AAAA,IAC1B;AACE,aAAOA,EAAiB;AAAA,EAAA;AAE9B,GAEaC,IAAyB,CAACJ,MAA2C;;AAChF,QAAMK,KAAgBH,IAAAF,EAAU,WAAV,gBAAAE,EAAkB;AAExC,MAAIG,EAAe,QAAOA;AAG1B,UAAQL,EAAU,YAAA;AAAA,IAChB,KAAK;AACH,aAAOM,EAAe,qCAA4C,SAAS;AAAA,IAC7E,KAAK;AACH,aAAOA,EAAe,qCAA4C,UAAU;AAAA,IAC9E,KAAK;AACH,aAAOA,EAAe,mCAA0C,SAAS;AAAA,IAC3E,KAAK;AAAA,IACL;AACE,aAAOA,EAAe,sCAA6C,UAAU;AAAA,EAAA;AAEnF,GAEaC,IAAkB,CAC7BC,GAIAC,MAC2B;AAC3B,QAAMC,IAAiBC,EAAkBF,CAAK;AAC9C,SAAOD,EAAM,sBAAsB,IAAI,CAACR,MAAc;;AACpD,UAAMY,KAAwBV,IAAAF,EAAU,WAAV,gBAAAE,EAAkB,eAC1CW,IACJD,MACCA,MAAkBE,EAAyB,QAC1CF,MAAkBE,EAAyB;AAE/C,WAAO;AAAA,MACL,IAAId,EAAU;AAAA,MACd,OAAOU,EAAe,wBAAwBV,CAAS;AAAA,MACvD,UAAUI,EAAuBJ,CAAS;AAAA,MAC1C,OAAOD,EAAoBC,CAAS;AAAA,MACpC,UAAU,CAACe,MAAQ;AACjB,cAAMC,IAAmB;AAAA,UACvB,GAAGhB;AAAA,UACH,QAAQ,EAAE,GAAGA,EAAU,QAAQ,eAAeQ,EAAM,cAAA;AAAA,QAAc;AAEpE,eAAOE,EAAe,KAAKM,GAAkBD,EAAIf,EAAU,IAAI,CAAC;AAAA,MAClE;AAAA,MACA,WAAW,CAACiB,MAAU;;AACpB,cAAMC,KAAiBhB,IAAAF,EAAU,WAAV,gBAAAE,EAAkB;AACzC,YAAIgB,GAAgB;AAClB,gBAAMC,KAAuBC,IAAAX,EAAM,SAAS,0BAAf,gBAAAW,EAAsC;AAAA,YACjE,CAACC,MAAUA,EAAM,UAAUH;AAAA;AAE7B,cAAIC;AACF,mBAAOA,EAAqB,OAAOF,CAAK;AAAA,QAE5C;AAAA,MAEF;AAAA,MACA,MAAMJ,IACF,CAAC,EAAE,OAAAI,QAAY;AACb,YAAIK;AACJ,eAAI,OAAOL,KAAU,WACnBK,IAAeL,IACiBA,KAAU,OAC1CK,IAAe,OAAOL,CAAK,IAE3BK,IAAe,QAIfC,gBAAAA,EAAAA,IAACC,GAAA,EAAsB,OAAAP,GACpB,UAAAL,MAAkBE,EAAyB;AAAA;AAAA,UAE1CS,gBAAAA,EAAAA,IAACE,GAAA,EAAS,SAASH,EAAA,CAAc;AAAA;AAAA;AAAA,UAGjCC,gBAAAA,EAAAA,IAAC,SAAK,UAAAD,EAAA,CAAa;AAAA,WAEvB;AAAA,MAEJ,IACA;AAAA,IAAA;AAAA,EAER,CAAC;AACH,GAEaI,IAAe,CAAClB,MAAsE;;AACjG,MAAI,CAACA,EAAM,QAAQA,EAAM,KAAK,WAAW;AACvC,WAAO,CAAA;AAGT,QAAMmB,KAAqBzB,IAAAM,EAAM,mBAAN,gBAAAN,EAAsB;AAEjD,SAAI,CAACyB,KAAsB,OAAO,KAAKnB,EAAM,KAAK,CAAC,CAAE,EAAE,SAASmB,CAAkB,IACzEnB,EAAM,OAIRA,EAAM,KAAK,IAAI,CAAC,EAAE,CAACmB,IAAqBC,GAAG,GAAGb,SAAW;AAAA,IAC9D,GAAGA;AAAA,EAAA,EACH;AACJ;"}
1
+ {"version":3,"file":"tables.utils-C4zY450G.js","sources":["../src/components/charts/tables/tables.utils.tsx"],"sourcesContent":["import { DataResponse, Dimension, DimensionOrMeasure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { CssSize, Markdown, TableBodyCellWithCopy } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport {\n getStyleNumber,\n TableHeaderAlign,\n TableHeaderItem,\n TableHeaderItemAlign,\n} from '@embeddable.com/remarkable-ui';\nimport { DisplayFormatTypeOptions } from '../../types/DisplayFormat.type.emb';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const getTableHeaderAlign = (dimOrMeas: DimensionOrMeasure): TableHeaderItemAlign => {\n const subInputAlign = dimOrMeas.inputs?.align;\n\n if (subInputAlign) return subInputAlign;\n\n // Get width by native type\n switch (dimOrMeas.nativeType) {\n case 'boolean':\n case 'time':\n case 'number':\n return TableHeaderAlign.RIGHT;\n default:\n return TableHeaderAlign.LEFT;\n }\n};\n\nexport const getTableHeaderMinWidth = (dimOrMeas: DimensionOrMeasure): CssSize => {\n const subInputWidth = dimOrMeas.inputs?.width;\n\n if (subInputWidth) return subInputWidth;\n\n // Get width by native type\n switch (dimOrMeas.nativeType) {\n case 'string':\n return getStyleNumber('--em-tablechart-min-width--string' as any, '8.75rem') as number;\n case 'number':\n return getStyleNumber('--em-tablechart-min-width--number' as any, '5.625rem') as number;\n case 'time':\n return getStyleNumber('--em-tablechart-min-width--time' as any, '8.75rem') as number;\n case 'boolean':\n default:\n return getStyleNumber('--em-tablechart-min-width--boolean' as any, '5.625rem') as number;\n }\n};\n\nexport const getTableHeaders = (\n props: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n },\n theme: Theme,\n): TableHeaderItem<any>[] => {\n const themeFormatter = getThemeFormatter(theme);\n return props.dimensionsAndMeasures.map((dimOrMeas) => {\n const displayFormat: string = dimOrMeas.inputs?.displayFormat;\n const hasCustomCellFormatter =\n displayFormat &&\n (displayFormat === DisplayFormatTypeOptions.JSON ||\n displayFormat === DisplayFormatTypeOptions.MARKDOWN);\n\n return {\n id: dimOrMeas.name,\n title: themeFormatter.dimensionOrMeasureTitle(dimOrMeas),\n minWidth: getTableHeaderMinWidth(dimOrMeas),\n align: getTableHeaderAlign(dimOrMeas),\n accessor: (row) => {\n const updatedDimOrMeas = {\n ...dimOrMeas,\n inputs: { ...dimOrMeas.inputs, displayNullAs: props.displayNullAs },\n };\n return themeFormatter.data(updatedDimOrMeas, row[dimOrMeas.name]);\n },\n cellStyle: (value) => {\n const tableCellStyle = dimOrMeas.inputs?.tableCellStyle;\n if (tableCellStyle) {\n const activeTableCellStyle = theme.defaults.tableCellStyleOptions?.find(\n (style) => style.value === tableCellStyle,\n );\n if (activeTableCellStyle) {\n return activeTableCellStyle.styles(value);\n }\n }\n return undefined;\n },\n cell: hasCustomCellFormatter\n ? ({ value }) => {\n let currentValue: string | undefined;\n if (typeof value === 'string') {\n currentValue = value;\n } else if (value !== undefined && value !== null) {\n currentValue = String(value);\n } else {\n currentValue = undefined;\n }\n\n return (\n <TableBodyCellWithCopy value={value}>\n {displayFormat === DisplayFormatTypeOptions.MARKDOWN ? (\n // Markdown\n <Markdown content={currentValue} />\n ) : (\n // JSON\n <pre>{currentValue}</pre>\n )}\n </TableBodyCellWithCopy>\n );\n }\n : undefined,\n };\n });\n};\n\nexport const getTableRows = (props: { clickDimension?: Dimension; rows: DataResponse['data'] }) => {\n if (!props.rows || props.rows.length === 0) {\n return [];\n }\n\n const clickDimensionName = props.clickDimension?.name;\n\n if (!clickDimensionName || Object.keys(props.rows[0]!).includes(clickDimensionName)) {\n return props.rows;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return props.rows.map(({ [clickDimensionName]: _, ...row }) => ({\n ...row,\n }));\n};\n"],"names":["getTableHeaderAlign","dimOrMeas","subInputAlign","_a","TableHeaderAlign","getTableHeaderMinWidth","subInputWidth","getStyleNumber","getTableHeaders","props","theme","themeFormatter","getThemeFormatter","displayFormat","hasCustomCellFormatter","DisplayFormatTypeOptions","row","updatedDimOrMeas","value","tableCellStyle","activeTableCellStyle","_b","style","currentValue","jsx","TableBodyCellWithCopy","Markdown","getTableRows","clickDimensionName","_"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.constants.d.ts","sourceRoot":"","sources":["../../../src/theme/formatter/formatter.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,mBAAmB,CAAC;AAqK3B,eAAO,MAAM,wBAAwB,EAAE,cAatC,CAAC"}
1
+ {"version":3,"file":"formatter.constants.d.ts","sourceRoot":"","sources":["../../../src/theme/formatter/formatter.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,mBAAmB,CAAC;AAmK3B,eAAO,MAAM,wBAAwB,EAAE,cAatC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { DimensionOrMeasure } from '@embeddable.com/core';
2
2
  import { Theme } from '../theme.types';
3
+ export declare const getSubInputValue: (key: DimensionOrMeasure, inputKey: string, metaKey?: string) => any;
3
4
  export type GetThemeFormatter = {
4
5
  string: (key: string) => string;
5
6
  number: (value: number | bigint, options?: Intl.NumberFormatOptions) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.utils.d.ts","sourceRoot":"","sources":["../../../src/theme/formatter/formatter.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAMvC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,KAAK,MAAM,CAAC;IAC/E,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAC;IACxE,uBAAuB,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAE7D,IAAI,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,KAAG,iBA0FhD,CAAC"}
1
+ {"version":3,"file":"formatter.utils.d.ts","sourceRoot":"","sources":["../../../src/theme/formatter/formatter.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAQvC,eAAO,MAAM,gBAAgB,GAAI,KAAK,kBAAkB,EAAE,UAAU,MAAM,EAAE,UAAU,MAAM,QACxB,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,KAAK,MAAM,CAAC;IAC/E,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAC;IACxE,uBAAuB,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC7D,IAAI,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,KAAG,iBA8FhD,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@embeddable.com/remarkable-pro",
3
3
  "author": "embeddable (https://embeddable.com)",
4
- "version": "0.1.19",
4
+ "version": "0.1.21",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/embeddable-hq/remarkable-pro"
@@ -1,46 +0,0 @@
1
- import { j as f, S as d } from "./index-D3wOlvn9.js";
2
- import { useTheme as S } from "@embeddable.com/react";
3
- import { useState as g, useEffect as p } from "react";
4
- import { g as C } from "./preview.data.constants-D1HZ67VS.js";
5
- const v = ({
6
- dimensionsAndMeasures: s,
7
- searchValue: r,
8
- theme: a
9
- }) => {
10
- const n = C(a);
11
- return s.filter((e) => n.dimensionOrMeasureTitle(e).toLowerCase().includes(r.toLowerCase())).map((e) => ({
12
- value: e.name,
13
- label: n.dimensionOrMeasureTitle(e)
14
- }));
15
- }, M = (s) => {
16
- const r = S(), [a, n] = g(""), { selectedValue: e, options: t, clearable: i, placeholder: m, onChange: l } = s, u = (c) => {
17
- const o = t.find((h) => h.name === c);
18
- l(o);
19
- };
20
- return p(() => {
21
- if (!(!i && !e)) return;
22
- const o = t == null ? void 0 : t[0];
23
- o && l(o);
24
- }, [i, e, t, l]), /* @__PURE__ */ f.jsx(
25
- d,
26
- {
27
- searchable: !0,
28
- clearable: i,
29
- placeholder: m,
30
- value: e == null ? void 0 : e.name,
31
- onChange: u,
32
- onSearch: n,
33
- options: v({
34
- dimensionsAndMeasures: t,
35
- searchValue: a,
36
- theme: r
37
- }),
38
- avoidCollisions: !1
39
- }
40
- );
41
- };
42
- export {
43
- M as D,
44
- v as g
45
- };
46
- //# sourceMappingURL=DimensionAndMeasureSingleSelectField-De3lAcg-.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DimensionAndMeasureSingleSelectField-De3lAcg-.js","sources":["../src/components/editors/utils/dimensionsAndMeasures.utils.ts","../src/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.tsx"],"sourcesContent":["import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\n\nexport const getDimensionAndMeasureOptions = ({\n dimensionsAndMeasures,\n searchValue,\n theme,\n}: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n searchValue: string;\n theme: Theme;\n}): SelectListOptionProps[] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return dimensionsAndMeasures\n .filter((dimensionOrMeasure) => {\n return themeFormatter\n .dimensionOrMeasureTitle(dimensionOrMeasure)\n .toLowerCase()\n .includes(searchValue.toLowerCase());\n })\n .map((dimensionOrMeasure) => {\n return {\n value: dimensionOrMeasure.name,\n label: themeFormatter.dimensionOrMeasureTitle(dimensionOrMeasure),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useEffect, useState } from 'react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { getDimensionAndMeasureOptions } from '../../utils/dimensionsAndMeasures.utils';\nimport { Dimension, Measure } from '@embeddable.com/core';\n\nexport type DimensionAndMeasureSingleSelectFieldProps<T> = {\n selectedValue?: T;\n options: T[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: T | undefined) => void;\n};\n\nexport const DimensionAndMeasureSingleSelectField = <T extends Dimension | Measure>(\n props: DimensionAndMeasureSingleSelectFieldProps<T>,\n) => {\n const theme = useTheme() as Theme;\n\n const [searchValue, setSearchValue] = useState<string>('');\n\n const { selectedValue, options, clearable, placeholder, onChange } = props;\n\n const handleChange = (newValue: string) => {\n const newSelection = options.find((option) => option.name === newValue);\n onChange(newSelection);\n };\n\n // Auto-select first dimensionOrMeasure when is not clearable and there is no selection\n useEffect(() => {\n const autoSelectActive = !clearable && !selectedValue;\n\n if (!autoSelectActive) return;\n\n const firstDimension = options?.[0];\n\n if (firstDimension) {\n onChange(firstDimension);\n }\n }, [clearable, selectedValue, options, onChange]);\n\n return (\n <SingleSelectField\n searchable\n clearable={clearable}\n placeholder={placeholder}\n value={selectedValue?.name}\n onChange={handleChange}\n onSearch={setSearchValue}\n options={getDimensionAndMeasureOptions({\n dimensionsAndMeasures: options,\n searchValue,\n theme,\n })}\n avoidCollisions={false}\n />\n );\n};\n"],"names":["getDimensionAndMeasureOptions","dimensionsAndMeasures","searchValue","theme","themeFormatter","getThemeFormatter","dimensionOrMeasure","DimensionAndMeasureSingleSelectField","props","useTheme","setSearchValue","useState","selectedValue","options","clearable","placeholder","onChange","handleChange","newValue","newSelection","option","useEffect","firstDimension","jsx","SingleSelectField"],"mappings":";;;;AAKO,MAAMA,IAAgC,CAAC;AAAA,EAC5C,uBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAI+B;AAC7B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAOF,EACJ,OAAO,CAACK,MACAF,EACJ,wBAAwBE,CAAkB,EAC1C,cACA,SAASJ,EAAY,aAAa,CACtC,EACA,IAAI,CAACI,OACG;AAAA,IACL,OAAOA,EAAmB;AAAA,IAC1B,OAAOF,EAAe,wBAAwBE,CAAkB;AAAA,EAAA,EAEnE;AACL,GCdaC,IAAuC,CAClDC,MACG;AACH,QAAML,IAAQM,EAAA,GAER,CAACP,GAAaQ,CAAc,IAAIC,EAAiB,EAAE,GAEnD,EAAE,eAAAC,GAAe,SAAAC,GAAS,WAAAC,GAAW,aAAAC,GAAa,UAAAC,MAAaR,GAE/DS,IAAe,CAACC,MAAqB;AACzC,UAAMC,IAAeN,EAAQ,KAAK,CAACO,MAAWA,EAAO,SAASF,CAAQ;AACtE,IAAAF,EAASG,CAAY;AAAA,EACvB;AAGA,SAAAE,EAAU,MAAM;AAGd,QAAI,EAFqB,CAACP,KAAa,CAACF,GAEjB;AAEvB,UAAMU,IAAiBT,KAAA,gBAAAA,EAAU;AAEjC,IAAIS,KACFN,EAASM,CAAc;AAAA,EAE3B,GAAG,CAACR,GAAWF,GAAeC,GAASG,CAAQ,CAAC,GAG9CO,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAU;AAAA,MACV,WAAAV;AAAA,MACA,aAAAC;AAAA,MACA,OAAOH,KAAA,gBAAAA,EAAe;AAAA,MACtB,UAAUK;AAAA,MACV,UAAUP;AAAA,MACV,SAASV,EAA8B;AAAA,QACrC,uBAAuBa;AAAA,QACvB,aAAAX;AAAA,QACA,OAAAC;AAAA,MAAA,CACD;AAAA,MACD,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAGvB;"}