@embeddable.com/remarkable-pro 0.1.20 → 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 (96) 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/{DimensionAndMeasureSingleSelectField-CxemGgzU.js → DimensionAndMeasureSingleSelectField-9gU70vr-.js} +2 -2
  8. package/dist/{DimensionAndMeasureSingleSelectField-CxemGgzU.js.map → DimensionAndMeasureSingleSelectField-9gU70vr-.js.map} +1 -1
  9. package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
  10. package/dist/DimensionSingleSelectFieldPro.js +1 -1
  11. package/dist/DonutChartPro.js +1 -1
  12. package/dist/DonutLabelChartPro.js +1 -1
  13. package/dist/HeatMapPro.js +1 -1
  14. package/dist/KpiChartNumberComparisonPro.js +1 -1
  15. package/dist/KpiChartNumberPro.js +1 -1
  16. package/dist/LineChartComparisonDefaultPro.js +1 -1
  17. package/dist/LineChartDefaultPro.js +1 -1
  18. package/dist/LineChartGroupedPro.js +1 -1
  19. package/dist/MeasureMultiSelectFieldPro.js +1 -1
  20. package/dist/MeasureSingleSelectFieldPro.js +1 -1
  21. package/dist/MultiSelectFieldPro.js +1 -1
  22. package/dist/PieChartPro.js +1 -1
  23. package/dist/PivotTablePro.js +1 -1
  24. package/dist/SingleSelectFieldPro.js +1 -1
  25. package/dist/TableChartPaginated.js +1 -1
  26. package/dist/TableScrollable.js +1 -1
  27. package/dist/{bars.utils-D_VJnuUq.js → bars.utils-BaClli7j.js} +3 -3
  28. package/dist/{bars.utils-D_VJnuUq.js.map → bars.utils-BaClli7j.js.map} +1 -1
  29. package/dist/{charts.utils-BJ5CC2cv.js → charts.utils-Cr0-f92U.js} +1486 -1488
  30. package/dist/charts.utils-Cr0-f92U.js.map +1 -0
  31. package/dist/{definition-BJWsukNc.js → definition-1PMcJFw0.js} +3 -3
  32. package/dist/{definition-BJWsukNc.js.map → definition-1PMcJFw0.js.map} +1 -1
  33. package/dist/{definition-J5h7qi61.js → definition-8nbqWIqg.js} +2 -2
  34. package/dist/{definition-J5h7qi61.js.map → definition-8nbqWIqg.js.map} +1 -1
  35. package/dist/{definition-DZBzYLK6.js → definition-B8t570x7.js} +3 -3
  36. package/dist/{definition-DZBzYLK6.js.map → definition-B8t570x7.js.map} +1 -1
  37. package/dist/{definition-FyqeUvGT.js → definition-BG3ZrEJm.js} +18 -18
  38. package/dist/{definition-FyqeUvGT.js.map → definition-BG3ZrEJm.js.map} +1 -1
  39. package/dist/{definition-Dvtg0YQE.js → definition-BOKEHOkI.js} +3 -3
  40. package/dist/{definition-Dvtg0YQE.js.map → definition-BOKEHOkI.js.map} +1 -1
  41. package/dist/{definition-Dx3aYsuI.js → definition-BOnf1Cme.js} +2 -2
  42. package/dist/{definition-Dx3aYsuI.js.map → definition-BOnf1Cme.js.map} +1 -1
  43. package/dist/{definition-D_XP0TGu.js → definition-BUu2Mo1o.js} +18 -18
  44. package/dist/{definition-D_XP0TGu.js.map → definition-BUu2Mo1o.js.map} +1 -1
  45. package/dist/{definition-D-OdVZn8.js → definition-BplEviYc.js} +3 -3
  46. package/dist/{definition-D-OdVZn8.js.map → definition-BplEviYc.js.map} +1 -1
  47. package/dist/{definition-gyDgoNgL.js → definition-Bs_qs6d_.js} +3 -3
  48. package/dist/{definition-gyDgoNgL.js.map → definition-Bs_qs6d_.js.map} +1 -1
  49. package/dist/{definition-DAfrLBK-.js → definition-Bz9WRPe2.js} +2 -2
  50. package/dist/{definition-DAfrLBK-.js.map → definition-Bz9WRPe2.js.map} +1 -1
  51. package/dist/{definition-D2BZtrzM.js → definition-CB_a-Pf7.js} +3 -3
  52. package/dist/{definition-D2BZtrzM.js.map → definition-CB_a-Pf7.js.map} +1 -1
  53. package/dist/{definition-_jBzo6pg.js → definition-CD_eo9qj.js} +3 -3
  54. package/dist/{definition-_jBzo6pg.js.map → definition-CD_eo9qj.js.map} +1 -1
  55. package/dist/{definition-BUC6oNqV.js → definition-CoxOsh75.js} +3 -3
  56. package/dist/{definition-BUC6oNqV.js.map → definition-CoxOsh75.js.map} +1 -1
  57. package/dist/{definition-DkkkaWAP.js → definition-Cu_LH1Nn.js} +3 -3
  58. package/dist/{definition-DkkkaWAP.js.map → definition-Cu_LH1Nn.js.map} +1 -1
  59. package/dist/{definition-DQghCFAC.js → definition-D-L7zmnC.js} +2 -2
  60. package/dist/{definition-DQghCFAC.js.map → definition-D-L7zmnC.js.map} +1 -1
  61. package/dist/{definition-C8ui56Ru.js → definition-DU-9ghMn.js} +2 -2
  62. package/dist/{definition-C8ui56Ru.js.map → definition-DU-9ghMn.js.map} +1 -1
  63. package/dist/{definition-D5K77nV2.js → definition-DUT4jv0-.js} +3 -3
  64. package/dist/{definition-D5K77nV2.js.map → definition-DUT4jv0-.js.map} +1 -1
  65. package/dist/{definition-D5_GRYHj.js → definition-DXPnqNV5.js} +3 -3
  66. package/dist/{definition-D5_GRYHj.js.map → definition-DXPnqNV5.js.map} +1 -1
  67. package/dist/{definition-Cs_Efdqz.js → definition-DhAlKZMJ.js} +3 -3
  68. package/dist/{definition-Cs_Efdqz.js.map → definition-DhAlKZMJ.js.map} +1 -1
  69. package/dist/{definition-DBYXwtcv.js → definition-Dis4VDux.js} +3 -3
  70. package/dist/{definition-DBYXwtcv.js.map → definition-Dis4VDux.js.map} +1 -1
  71. package/dist/{definition-Bed_536D.js → definition-E-KrOL_D.js} +3 -3
  72. package/dist/{definition-Bed_536D.js.map → definition-E-KrOL_D.js.map} +1 -1
  73. package/dist/{definition-C52AOs4s.js → definition-TjSkmjqu.js} +2 -2
  74. package/dist/{definition-C52AOs4s.js.map → definition-TjSkmjqu.js.map} +1 -1
  75. package/dist/{definition-IiszS18K.js → definition-Z97ZMe6d.js} +3 -3
  76. package/dist/{definition-IiszS18K.js.map → definition-Z97ZMe6d.js.map} +1 -1
  77. package/dist/{definition-Do2deS9Q.js → definition-fhTW44k3.js} +2 -2
  78. package/dist/{definition-Do2deS9Q.js.map → definition-fhTW44k3.js.map} +1 -1
  79. package/dist/{dimensionsAndMeasures.utils-Badl5OO1.js → dimensionsAndMeasures.utils-DMqGZRn4.js} +4 -4
  80. package/dist/{dimensionsAndMeasures.utils-Badl5OO1.js.map → dimensionsAndMeasures.utils-DMqGZRn4.js.map} +1 -1
  81. package/dist/embeddable-components.json +42 -42
  82. package/dist/embeddable-theme-0137e.js +2176 -2177
  83. package/dist/index.js +186 -185
  84. package/dist/{pies.utils-Cxox1YNa.js → pies.utils-BShIepeZ.js} +3 -3
  85. package/dist/{pies.utils-Cxox1YNa.js.map → pies.utils-BShIepeZ.js.map} +1 -1
  86. package/dist/preview.data.constants-CYT4J-3P.js +126 -0
  87. package/dist/preview.data.constants-CYT4J-3P.js.map +1 -0
  88. package/dist/{tables.utils-7cMzQiGH.js → tables.utils-C4zY450G.js} +11 -11
  89. package/dist/{tables.utils-7cMzQiGH.js.map → tables.utils-C4zY450G.js.map} +1 -1
  90. package/dist/theme/formatter/formatter.constants.d.ts.map +1 -1
  91. package/dist/theme/formatter/formatter.utils.d.ts +1 -0
  92. package/dist/theme/formatter/formatter.utils.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/charts.utils-BJ5CC2cv.js.map +0 -1
  95. package/dist/preview.data.constants-D5maJCjp.js +0 -124
  96. package/dist/preview.data.constants-D5maJCjp.js.map +0 -1
@@ -1,124 +0,0 @@
1
- import { b as T } from "./component.utils-_CF49NeV.js";
2
- import { D as N } from "./component.inputs.constants-D__Ii2PI.js";
3
- import { E as b, F as R, J as i } from "./index-D3wOlvn9.js";
4
- const m = (a) => {
5
- const c = {};
6
- return (d) => {
7
- const f = JSON.stringify(d);
8
- let e = c[f];
9
- return e || (e = a(d), c[f] = e, e);
10
- };
11
- }, U = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}$/, E = (a) => !!(a && U.test(a)), B = (a) => {
12
- const c = m(
13
- (t) => a.formatter.numberFormatter(a, t)
14
- ), l = m(
15
- (t) => a.formatter.dataNumberFormatter(a, t)
16
- ), d = m(
17
- (t) => a.formatter.dateTimeFormatter(a, t)
18
- ), f = m(
19
- (t) => a.formatter.dataDateTimeFormatter(a, t)
20
- ), e = m(
21
- (t) => a.formatter.dataOthersFormatter(a, t)
22
- );
23
- return {
24
- string: (t) => a.formatter.stringFormatter().format(t),
25
- number: (t, r) => c(r).format(t),
26
- dateTime: (t, r) => d(r).format(t),
27
- dimensionOrMeasureTitle: (t) => {
28
- var s;
29
- const r = (s = t.inputs) == null ? void 0 : s.displayName;
30
- if (r)
31
- return r.includes("|") ? T(r) : r;
32
- const n = e(t).format(t.name);
33
- return n === t.name ? t.title ?? t.name : n;
34
- },
35
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
- data: (t, r) => {
37
- var C, F, g, D, S, A;
38
- let n = r;
39
- if (r == null)
40
- return ((C = t.inputs) == null ? void 0 : C.displayNullAs) ?? "";
41
- if (((F = t.inputs) == null ? void 0 : F.displayFormat) === N.JSON)
42
- return JSON.stringify(r, null, 2);
43
- if (((g = t.inputs) == null ? void 0 : g.displayFormat) === N.MARKDOWN)
44
- return r;
45
- if (typeof r == "object")
46
- return JSON.stringify(r);
47
- t.nativeType === "number" && (n = l(t).format(r)), t.nativeType === "time" && E(r) && (n = f(t).format(new Date(r))), (t.nativeType === "boolean" || t.nativeType === "string") && (n = e(t).format(r));
48
- const s = `${((D = t.inputs) == null ? void 0 : D.prefix) || ""}${n}${((S = t.inputs) == null ? void 0 : S.suffix) || ""}`;
49
- return (A = t.inputs) != null && A.maxCharacters ? s.length <= t.inputs.maxCharacters ? s : s.substring(0, t.inputs.maxCharacters) + "..." : s;
50
- }
51
- };
52
- }, u = "country", o = "count", O = "average", p = "category", M = b(u, "string", { title: "Country" }), G = R(o, "number", { title: "Count" }), V = R(O, "number", { title: "Average" }), K = b(p, "string", {
53
- title: "Category"
54
- }), x = i(
55
- [u, o],
56
- [
57
- ["US", 120],
58
- ["GER", 100],
59
- ["UK", 80],
60
- ["FRA", 70],
61
- ["SPA", 55]
62
- ]
63
- ), I = i(
64
- [u, p, o],
65
- [
66
- ["US", 100],
67
- ["GER", 90],
68
- ["UK", 75],
69
- ["FRA", 85],
70
- ["SPA", 60]
71
- ]
72
- ), P = i(
73
- [u, p, o],
74
- [
75
- ["US", "Cat 1", 120],
76
- ["US", "Cat 2", 130],
77
- ["GER", "Cat 1", 100],
78
- ["GER", "Cat 2", 110],
79
- ["UK", "Cat 1", 80],
80
- ["UK", "Cat 2", 95],
81
- ["FRA", "Cat 1", 70],
82
- ["FRA", "Cat 2", 60],
83
- ["SPA", "Cat 1", 55],
84
- ["SPA", "Cat 2", 35]
85
- ]
86
- ), J = i(
87
- [u, p, o],
88
- [
89
- ["US", "Cat 1", 100],
90
- ["US", "Cat 2", 115],
91
- ["GER", "Cat 1", 90],
92
- ["GER", "Cat 2", 125],
93
- ["UK", "Cat 1", 75],
94
- ["UK", "Cat 2", 105],
95
- ["FRA", "Cat 1", 85],
96
- ["FRA", "Cat 2", 55],
97
- ["SPA", "Cat 1", 60],
98
- ["SPA", "Cat 2", 30]
99
- ]
100
- ), h = i([o], [[120]]), $ = i([o], [[100]]), w = {
101
- embeddableId: "",
102
- datasetId: "",
103
- inputName: "",
104
- variableValues: {}
105
- }, W = {
106
- dataset: w,
107
- dimension: M,
108
- dimensionGroup: K,
109
- measure: G,
110
- measureVariant: V,
111
- results1Measure: h,
112
- results1MeasureVariant: $,
113
- results1Measure1Dimension: x,
114
- results1Measure1DimensionVariant: I,
115
- results1Measure2Dimensions: P,
116
- results1Measure2DimensionsVariant: J
117
- };
118
- export {
119
- m as c,
120
- B as g,
121
- E as i,
122
- W as p
123
- };
124
- //# sourceMappingURL=preview.data.constants-D5maJCjp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview.data.constants-D5maJCjp.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\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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 = key.inputs?.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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any): string => {\n let newValue = value;\n\n // Nulls\n if (value == null) {\n return key.inputs?.displayNullAs ?? '';\n }\n\n // JSON and Markdown\n if (key.inputs?.displayFormat === DisplayFormatTypeOptions.JSON) {\n return JSON.stringify(value, null, 2);\n } else if (key.inputs?.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\n const appended = `${key.inputs?.prefix || ''}${newValue}${key.inputs?.suffix || ''}`;\n\n // Max characters\n if (key.inputs?.maxCharacters) {\n if (appended.length <= key.inputs.maxCharacters) {\n return appended;\n }\n return appended.substring(0, key.inputs.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","getThemeFormatter","theme","cachedNumberFormatter","options","cachedDataNumberFormatter","cachedDateTimeFormatter","cachedDataDateTimeFormatter","cachedDataOthersFormatter","displayName","_a","resolveI18nString","resolved","newValue","_b","DisplayFormatTypeOptions","_c","appended","_d","_e","_f","dimensionName","measureName","measureVariantName","dimensionGroupName","dimension","mockDimension","measure","mockMeasure","measureVariant","dimensionGroup","results1Measure1Dimension","mockDataResponse","results1Measure1DimensionVariant","results1Measure2Dimensions","results1Measure2DimensionsVariant","results1Measure","results1MeasureVariant","dataset","previewData"],"mappings":"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"}