@embeddable.com/remarkable-ui 0.1.33 → 0.1.34

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 (122) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +3 -3
  2. package/dist/BarChartDefaultPro.js +3 -3
  3. package/dist/BarChartGroupedHorizontalPro.js +3 -3
  4. package/dist/BarChartGroupedPro.js +3 -3
  5. package/dist/BarChartStackedHorizontalPro.js +3 -3
  6. package/dist/BarChartStackedPro.js +3 -3
  7. package/dist/ChartCard-Cr2L2Uki.js +110 -0
  8. package/dist/ChartCard-Cr2L2Uki.js.map +1 -0
  9. package/dist/{ComparisonPeriod.type.emb-9nwxR9Tl.js → ComparisonPeriod.type.emb-C7ixEJKv.js} +2 -2
  10. package/dist/{ComparisonPeriod.type.emb-9nwxR9Tl.js.map → ComparisonPeriod.type.emb-C7ixEJKv.js.map} +1 -1
  11. package/dist/ComparisonPeriodSelectFieldPro.js +6 -6
  12. package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
  13. package/dist/DateRangeSelectFieldPro.js +5 -5
  14. package/dist/DonutChartPro.js +2 -2
  15. package/dist/DonutLabelChartPro.js +2 -2
  16. package/dist/{EditorCard-tBhUO9qV.js → EditorCard-B7s7sQ-B.js} +12 -12
  17. package/dist/{EditorCard-tBhUO9qV.js.map → EditorCard-B7s7sQ-B.js.map} +1 -1
  18. package/dist/{KpiChart-CqS9-4MK.js → KpiChart-PRQV9-IW.js} +15 -15
  19. package/dist/{KpiChart-CqS9-4MK.js.map → KpiChart-PRQV9-IW.js.map} +1 -1
  20. package/dist/KpiChartNumberComparisonPro.js +6 -6
  21. package/dist/KpiChartNumberPro.js +4 -4
  22. package/dist/LineChartComparisonDefaultPro.js +36 -36
  23. package/dist/LineChartComparisonDefaultPro.js.map +1 -1
  24. package/dist/LineChartDefaultPro.js +3 -3
  25. package/dist/LineChartGroupedPro.js +3 -3
  26. package/dist/MultiSelectFieldPro.js +2 -2
  27. package/dist/PieChartPro.js +2 -2
  28. package/dist/{SingleSelectField-BwQahxL2.js → SingleSelectField-DXVRxF0n.js} +29 -29
  29. package/dist/{SingleSelectField-BwQahxL2.js.map → SingleSelectField-DXVRxF0n.js.map} +1 -1
  30. package/dist/SingleSelectFieldPro.js +2 -2
  31. package/dist/TableChartPaginated.js +281 -0
  32. package/dist/TableChartPaginated.js.map +1 -0
  33. package/dist/{bars.utils-BS6hyz6a.js → bars.utils-D2ZNn4I1.js} +4 -4
  34. package/dist/{bars.utils-BS6hyz6a.js.map → bars.utils-D2ZNn4I1.js.map} +1 -1
  35. package/dist/{charts.utils-CtjnpTZZ.js → charts.utils-BFYHGiMZ.js} +2350 -2320
  36. package/dist/charts.utils-BFYHGiMZ.js.map +1 -0
  37. package/dist/{component.constants-BtSbiLSA.js → component.constants-D59iJ42U.js} +3880 -3490
  38. package/dist/component.constants-D59iJ42U.js.map +1 -0
  39. package/dist/{editors.timeRange.utils-CteuBPel.js → editors.timeRange.utils-D9m6B3r1.js} +2 -2
  40. package/dist/{editors.timeRange.utils-CteuBPel.js.map → editors.timeRange.utils-D9m6B3r1.js.map} +1 -1
  41. package/dist/embeddable-components.json +12 -11
  42. package/dist/embeddable-theme-2b917.js +1310 -1275
  43. package/dist/{embeddable-types-4ace4.js → embeddable-types-363c8.js} +42 -35
  44. package/dist/embeddable-types.js.map +1 -1
  45. package/dist/{formatter.utils-DsSqaQLy.js → formatter.utils-DDLdrAl9.js} +2 -2
  46. package/dist/{formatter.utils-DsSqaQLy.js.map → formatter.utils-DDLdrAl9.js.map} +1 -1
  47. package/dist/{ga-DOnkmpCn.js → ga-BgTlCTPa.js} +5 -5
  48. package/dist/ga-BgTlCTPa.js.map +1 -0
  49. package/dist/{index-0EU9wBvd.js → index-Bh33sXJ4.js} +31 -32
  50. package/dist/{index-0EU9wBvd.js.map → index-Bh33sXJ4.js.map} +1 -1
  51. package/dist/{index-CVNg2zPD.js → index-BsjrQxtw.js} +8 -8
  52. package/dist/{index-CVNg2zPD.js.map → index-BsjrQxtw.js.map} +1 -1
  53. package/dist/index-CWufi8Tg.js +56 -0
  54. package/dist/index-CWufi8Tg.js.map +1 -0
  55. package/dist/{index-CuyqPNAk.js → index-D10laZQ1.js} +5 -5
  56. package/dist/{index-CuyqPNAk.js.map → index-D10laZQ1.js.map} +1 -1
  57. package/dist/{index-BFMal406.js → index-DWhYhJ0M.js} +8 -8
  58. package/dist/{index-BFMal406.js.map → index-DWhYhJ0M.js.map} +1 -1
  59. package/dist/{index-Bgt_jnmA.js → index-fW1psiZu.js} +9 -9
  60. package/dist/{index-Bgt_jnmA.js.map → index-fW1psiZu.js.map} +1 -1
  61. package/dist/index.js +182 -175
  62. package/dist/index.js.map +1 -1
  63. package/dist/{pies.utils-DCRmuFgI.js → pies.utils-D6CRlUd4.js} +4 -4
  64. package/dist/{pies.utils-DCRmuFgI.js.map → pies.utils-D6CRlUd4.js.map} +1 -1
  65. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
  66. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts +4 -2
  67. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
  68. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts +3 -2
  69. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts.map +1 -1
  70. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.d.ts.map +1 -1
  71. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.stories.d.ts +1 -0
  72. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.stories.d.ts.map +1 -1
  73. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.types.d.ts +1 -0
  74. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.types.d.ts.map +1 -1
  75. package/dist/remarkable-pro/components/charts/tables/TableChartPaginated/index.d.ts +28 -0
  76. package/dist/remarkable-pro/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -0
  77. package/dist/remarkable-pro/components/charts/tables/tables.utils.d.ts +17 -0
  78. package/dist/remarkable-pro/components/charts/tables/tables.utils.d.ts.map +1 -0
  79. package/dist/remarkable-pro/components/component.constants.d.ts +46 -0
  80. package/dist/remarkable-pro/components/component.constants.d.ts.map +1 -1
  81. package/dist/remarkable-pro/components/component.utils.d.ts +1 -1
  82. package/dist/remarkable-pro/components/component.utils.d.ts.map +1 -1
  83. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.d.ts.map +1 -1
  84. package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +1 -1
  85. package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +1 -1
  86. package/dist/remarkable-ui/charts/tables/Table.hooks.d.ts +9 -0
  87. package/dist/remarkable-ui/charts/tables/Table.hooks.d.ts.map +1 -0
  88. package/dist/remarkable-ui/charts/tables/TablePaginated.d.ts +4 -0
  89. package/dist/remarkable-ui/charts/tables/TablePaginated.d.ts.map +1 -0
  90. package/dist/remarkable-ui/charts/tables/TablePaginated.stories.d.ts +6 -0
  91. package/dist/remarkable-ui/charts/tables/TablePaginated.stories.d.ts.map +1 -0
  92. package/dist/remarkable-ui/charts/tables/components/TableBody/TableBody.d.ts +4 -0
  93. package/dist/remarkable-ui/charts/tables/components/TableBody/TableBody.d.ts.map +1 -0
  94. package/dist/remarkable-ui/charts/tables/components/TableHeader/TableHeader.d.ts +4 -0
  95. package/dist/remarkable-ui/charts/tables/components/TableHeader/TableHeader.d.ts.map +1 -0
  96. package/dist/remarkable-ui/charts/tables/components/TablePagination/TablePagination.d.ts +6 -0
  97. package/dist/remarkable-ui/charts/tables/components/TablePagination/TablePagination.d.ts.map +1 -0
  98. package/dist/remarkable-ui/charts/tables/components/TablePagination/TablePagination.stories.d.ts +10 -0
  99. package/dist/remarkable-ui/charts/tables/components/TablePagination/TablePagination.stories.d.ts.map +1 -0
  100. package/dist/remarkable-ui/charts/tables/tables.types.d.ts +44 -0
  101. package/dist/remarkable-ui/charts/tables/tables.types.d.ts.map +1 -0
  102. package/dist/remarkable-ui/hooks/useDebounce.hook.d.ts +2 -0
  103. package/dist/remarkable-ui/hooks/useDebounce.hook.d.ts.map +1 -0
  104. package/dist/remarkable-ui/hooks/useObserverHeight.hook.d.ts +2 -0
  105. package/dist/remarkable-ui/hooks/useObserverHeight.hook.d.ts.map +1 -0
  106. package/dist/remarkable-ui/index.d.ts +3 -0
  107. package/dist/remarkable-ui/index.d.ts.map +1 -1
  108. package/dist/remarkable-ui/styles/styles.utils.d.ts +1 -1
  109. package/dist/remarkable-ui/styles/styles.utils.d.ts.map +1 -1
  110. package/dist/remarkable-ui.css +1 -1
  111. package/dist/{timeRange.utils-CWIlCcfG.js → timeRange.utils-D6gvWIhx.js} +2 -2
  112. package/dist/{timeRange.utils-CWIlCcfG.js.map → timeRange.utils-D6gvWIhx.js.map} +1 -1
  113. package/package.json +10 -12
  114. package/dist/BaseButton-D3Nh2VwK.js +0 -24
  115. package/dist/BaseButton-D3Nh2VwK.js.map +0 -1
  116. package/dist/ChartCard-BMfUGlQC.js +0 -109
  117. package/dist/ChartCard-BMfUGlQC.js.map +0 -1
  118. package/dist/charts.utils-CtjnpTZZ.js.map +0 -1
  119. package/dist/component.constants-BtSbiLSA.js.map +0 -1
  120. package/dist/ga-DOnkmpCn.js.map +0 -1
  121. package/dist/index-Fhr_BPX0.js +0 -56
  122. package/dist/index-Fhr_BPX0.js.map +0 -1
@@ -1,4 +1,4 @@
1
- const E = "en-US", s = (t, n = {}) => ({
1
+ const E = "en-US", e = (t, n = {}) => ({
2
2
  __embeddableType: "built-in",
3
3
  toString: () => t,
4
4
  typeConfig: {
@@ -6,14 +6,14 @@ const E = "en-US", s = (t, n = {}) => ({
6
6
  optionLabel: () => t,
7
7
  ...n
8
8
  }
9
- }), g = () => globalThis.__EMBEDDABLE_BUNDLE_HASH__ ?? null, D = (t, n) => {
10
- if (I.includes(t))
9
+ }), m = () => globalThis.__EMBEDDABLE_BUNDLE_HASH__ ?? null, D = (t, n) => {
10
+ if (N.includes(t))
11
11
  throw new Error(`Type ${t} is part of the nativeTypes and cannot be defined`, { cause: "sdk" });
12
12
  const r = {
13
13
  __embeddableType: "custom",
14
14
  toString: () => t,
15
15
  typeConfig: n
16
- }, o = g();
16
+ }, o = m();
17
17
  globalThis.__EMBEDDABLE__ = globalThis.__EMBEDDABLE__ || {};
18
18
  const i = o ? globalThis.__EMBEDDABLE__[o] = globalThis.__EMBEDDABLE__[o] || {} : globalThis.__EMBEDDABLE__;
19
19
  return i.types = i.types || {}, i.types = {
@@ -23,46 +23,46 @@ const E = "en-US", s = (t, n = {}) => ({
23
23
  ...n
24
24
  }
25
25
  }, r;
26
- }, m = "string", L = "number", p = "boolean", f = "time", A = "timeRange", b = "granularity", S = "dataset", B = "measure", y = "dimension", M = "dimensionOrMeasure", h = [
27
- m,
28
- L,
26
+ }, p = "string", L = "number", A = "boolean", b = "time", f = "timeRange", S = "granularity", B = "dataset", y = "measure", M = "dimension", h = "dimensionOrMeasure", I = [
29
27
  p,
30
- f,
28
+ L,
31
29
  A,
32
- b
33
- ], I = [
34
- ...h,
35
- S,
30
+ b,
31
+ f,
32
+ S
33
+ ], N = [
34
+ ...I,
36
35
  B,
37
36
  y,
38
- M
39
- ], N = () => globalThis.__EMBEDDABLE_BUNDLE_HASH__ ?? null, e = (t, n) => {
40
- var i, c, T, a;
41
- const r = N();
37
+ M,
38
+ h
39
+ ], P = () => globalThis.__EMBEDDABLE_BUNDLE_HASH__ ?? null, s = (t, n) => {
40
+ var i, g, T, a;
41
+ const r = P();
42
42
  globalThis.__EMBEDDABLE__ ?? (globalThis.__EMBEDDABLE__ = {});
43
43
  const o = r ? (i = globalThis.__EMBEDDABLE__)[r] ?? (i[r] = {}) : globalThis.__EMBEDDABLE__;
44
44
  if (typeof t == "string")
45
- o.nativeTypes = o.nativeTypes || {}, o.nativeTypes[t] = o.nativeTypes[t] || {}, (c = o.nativeTypes[t]).options ?? (c.options = []), o.nativeTypes[t].options.push(n);
45
+ o.nativeTypes = o.nativeTypes || {}, o.nativeTypes[t] = o.nativeTypes[t] || {}, (g = o.nativeTypes[t]).options ?? (g.options = []), o.nativeTypes[t].options.push(n);
46
46
  else {
47
- const d = t.toString();
48
- if (!((T = o == null ? void 0 : o.types) != null && T[d]))
47
+ const c = t.toString();
48
+ if (!((T = o == null ? void 0 : o.types) != null && T[c]))
49
49
  return;
50
- (a = o.types[d]).options ?? (a.options = []), o.types[d].options.push(n);
50
+ (a = o.types[c]).options ?? (a.options = []), o.types[c].options.push(n);
51
51
  }
52
52
  };
53
- s("string", {
53
+ e("string", {
54
54
  transform: (t) => t,
55
55
  optionLabel: (t) => Array.isArray(t) ? `[${t.map((n) => `"${n}"`).join(",")}]` : `"${t}"`
56
56
  });
57
- s("number", {
57
+ e("number", {
58
58
  transform: (t) => Array.isArray(t) ? t : t && Number(t),
59
59
  optionLabel: (t) => Array.isArray(t) ? `[${t.join(",")}]` : (t == null ? void 0 : t.toLocaleString(E)) ?? ""
60
60
  });
61
- s("boolean", {
61
+ e("boolean", {
62
62
  transform: (t) => t === "true" || t === !0,
63
63
  optionLabel: (t) => t ? "true" : "false"
64
64
  });
65
- s("time", {
65
+ e("time", {
66
66
  transform: (t) => {
67
67
  const n = t != null && t.date ? new Date(t.date) : void 0;
68
68
  return {
@@ -75,7 +75,7 @@ s("time", {
75
75
  return t ? t != null && t.date ? ((n = t.date) == null ? void 0 : n.toLocaleDateString(E)) ?? t.date.toLocaleString() : t.relativeTimeString : "";
76
76
  }
77
77
  });
78
- s("timeRange", {
78
+ e("timeRange", {
79
79
  transform: (t) => {
80
80
  if (!t)
81
81
  return;
@@ -91,21 +91,28 @@ s("timeRange", {
91
91
  return t ? t != null && t.from && (t != null && t.to) ? `${((n = t.from) == null ? void 0 : n.toLocaleDateString(E)) ?? ((r = t.from) == null ? void 0 : r.toLocaleString())},${((o = t.to) == null ? void 0 : o.toLocaleDateString(E)) ?? ((i = t.to) == null ? void 0 : i.toLocaleString())}` : t == null ? void 0 : t.relativeTimeString : "";
92
92
  }
93
93
  });
94
- s("granularity", {
94
+ e("granularity", {
95
95
  transform: (t) => t,
96
96
  optionLabel: (t) => t
97
97
  });
98
- s("dataset");
99
- s("measure");
100
- s("dimension");
101
- s("dimensionOrMeasure");
98
+ e("dataset");
99
+ e("measure");
100
+ e("dimension");
101
+ e("dimensionOrMeasure");
102
+ const d = D("align", {
103
+ label: "Align",
104
+ optionLabel: (t) => t
105
+ });
106
+ s(d, "left");
107
+ s(d, "center");
108
+ s(d, "right");
102
109
  const _ = D("comparisonPeriod", {
103
110
  label: "Comparison Period",
104
111
  optionLabel: (t) => t
105
112
  });
106
- e(_, "Previous period");
107
- e(_, "Previous week");
108
- e(_, "Previous month");
109
- e(_, "Previous quarter");
110
- e(_, "Previous year");
113
+ s(_, "Previous period");
114
+ s(_, "Previous week");
115
+ s(_, "Previous month");
116
+ s(_, "Previous quarter");
117
+ s(_, "Previous year");
111
118
  //# sourceMappingURL=embeddable-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"embeddable-types.js","sources":["../node_modules/@embeddable.com/core/lib/index.esm.js","../src/remarkable-pro/components/types/ComparisonPeriod.type.emb.ts"],"sourcesContent":["import { mergician } from 'mergician';\n\nconst DEFAULT_LOCALE = \"en-US\";\nconst normalizeEntities = (entities, { mapFn = (x) => x, filterFn = Boolean, }) => {\n if (!entities)\n return undefined;\n const filtered = entities.filter(filterFn);\n if (filtered.length === 0)\n return undefined;\n return filtered.map(mapFn);\n};\nconst getName = (x) => x.name;\nconst checkTimeDimension = (timeDimension) => Boolean(timeDimension &&\n timeDimension.dimension &&\n (timeDimension.granularity || timeDimension.dateRange));\nconst validateOrderBy = (orderByParam, dimensions, measures, timeDimensions) => {\n const unknownDimensionsOrMeasures = [];\n const dimensionAndMeasureNames = [\n ...[...measures, ...dimensions].filter(Boolean).map((x) => x.name),\n ...timeDimensions\n .filter(Boolean)\n .map((x) => x.dimension)\n .filter(Boolean),\n ];\n for (const orderBy of orderByParam) {\n const { name } = orderBy.property;\n if (dimensionAndMeasureNames.includes(name))\n continue;\n unknownDimensionsOrMeasures.push(name);\n }\n return unknownDimensionsOrMeasures;\n};\nconst createBuiltInType = (name, typeConfig = {}) => ({\n __embeddableType: \"built-in\",\n toString: () => name,\n typeConfig: {\n label: name,\n optionLabel: () => name,\n ...typeConfig,\n },\n});\nconst validateFilter = (filter) => {\n if (!filter.property)\n return \"filter property must be set\";\n if (!filter.operator)\n return \"filter operator must be set\";\n};\nconst convertFilterValue = (value) => {\n // no need to convert these values\n if (value == null ||\n typeof value === \"string\" ||\n typeof value === \"boolean\" ||\n typeof value === \"number\" ||\n value instanceof Date ||\n Array.isArray(value)) {\n return value;\n }\n // time or timeRange must be converted\n if (value?.relativeTimeString)\n return value?.relativeTimeString;\n if (Object.hasOwn(value, \"date\"))\n return value?.date;\n if (Object.hasOwn(value, \"from\") || Object.hasOwn(value, \"to\")) {\n const timeRange = value;\n return [timeRange?.from, timeRange?.to].filter(Boolean);\n }\n};\nfunction deduplicateEntitiesByName(entities) {\n if (!entities || entities.length === 0)\n return [];\n const seen = new Set();\n return entities.filter((entity) => {\n if (seen.has(entity.name)) {\n return false;\n }\n seen.add(entity.name);\n return true;\n });\n}\n\nconst DIMENSION_TYPE = \"dimension\";\nconst MEASURE_TYPE = \"measure\";\nconst deepFlattenSelect = (input) => {\n if (Array.isArray(input)) {\n return input.flatMap(deepFlattenSelect);\n }\n return [input];\n};\nconst processSelectParam = (selectParam) => {\n const result = {\n dimensions: [],\n measures: [],\n timeDimensions: [],\n };\n if (!selectParam) {\n return result;\n }\n const flat = deepFlattenSelect(selectParam).filter(Boolean);\n if (!flat.length) {\n result.error = \"select must not be empty\";\n return result;\n }\n for (const ent of flat) {\n const isValidEntity = typeof ent === \"object\" &&\n (isDimensionOrMeasure(ent) || isTimeDimension(ent));\n if (!isValidEntity) {\n result.error =\n \"select must only contain Dimension, Measure or TimeDimension objects\";\n return result;\n }\n if (isTimeDimension(ent)) {\n result.timeDimensions.push(ent);\n }\n else if (isDimension(ent)) {\n const dimension = ent;\n const granularity = dimension.inputs?.granularity;\n if (dimension.nativeType === \"time\" && granularity) {\n result.timeDimensions.push({\n dimension: dimension.name,\n granularity,\n title: dimension.title,\n });\n }\n else {\n result.dimensions.push(dimension);\n }\n }\n else if (isMeasure(ent)) {\n result.measures.push(ent);\n }\n else {\n const type = \"__type__\" in ent ? ent.__type__ : typeof ent;\n result.error = `Unknown __type__ in select: ${type}`;\n return result;\n }\n }\n return result;\n};\nfunction validateLegacyFields(request) {\n if (request.measures?.length > 0 &&\n request.measures.some((m) => m?.__type__ !== MEASURE_TYPE)) {\n return \"Unexpected type passed to `measures` in loadData function. Expected an array of type Measure.\";\n }\n if (request.dimensions?.length > 0 &&\n request.dimensions.some((m) => m?.__type__ !== DIMENSION_TYPE)) {\n return \"Unexpected type passed to `dimensions` in loadData function. Expected an array of type Dimension.\";\n }\n return null;\n}\nfunction processApiSelection(request) {\n const result = {\n dimensions: [],\n measures: [],\n timeDimensions: [],\n usingSelect: false,\n };\n if (request.select) {\n result.usingSelect = true;\n const selectResult = processSelectParam(request.select);\n if (selectResult.error) {\n result.error = selectResult.error;\n return result;\n }\n result.dimensions = selectResult.dimensions;\n result.measures = selectResult.measures;\n result.timeDimensions = selectResult.timeDimensions;\n }\n else {\n const legacyError = validateLegacyFields(request);\n if (legacyError) {\n result.error = legacyError;\n return result;\n }\n result.dimensions =\n normalizeEntities(request.dimensions, { mapFn: (x) => x }) ?? [];\n result.measures =\n normalizeEntities(request.measures, { mapFn: (x) => x }) ?? [];\n result.timeDimensions =\n normalizeEntities(request.timeDimensions, { filterFn: Boolean }) ?? [];\n }\n result.dimensions = deduplicateEntitiesByName(result.dimensions);\n result.measures = deduplicateEntitiesByName(result.measures);\n return result;\n}\nfunction validateOrderByLogic(orderBy, dimensions, measures, timeDimensions) {\n const unknownDimensionsOrMeasures = validateOrderBy(orderBy ?? [], dimensions, measures, timeDimensions);\n if (unknownDimensionsOrMeasures.length > 0) {\n return `Cannot order by ${unknownDimensionsOrMeasures.join(\", \")} as no such ${unknownDimensionsOrMeasures.length === 1 ? \"property\" : \"properties\"} has been loaded.`;\n }\n return null;\n}\nfunction validateFiltersLogic(filters) {\n if (filters) {\n const errors = filters\n .map((f, index) => ({\n index,\n message: validateFilter(f),\n }))\n .filter((e) => !!e.message);\n if (errors.length) {\n return errors\n .map((e) => `filter[${e.index}] is not valid: ${e.message}`)\n .join(\"\\n\");\n }\n }\n return null;\n}\nfunction buildQueryObject(request, dimensions, measures, timeDimensions, order) {\n return {\n inputName: request.from.inputName,\n datasetId: request.from.datasetId,\n embeddableId: request.from.embeddableId,\n dimensions: normalizeEntities(dimensions, { mapFn: getName }) ?? [],\n measures: normalizeEntities(measures, { mapFn: getName }) ?? [],\n order,\n timeDimensions: normalizeEntities(timeDimensions, { filterFn: checkTimeDimension }) ?? [],\n offset: request.offset,\n limit: request.limit,\n variableValues: request.from.variableValues,\n filters: request.filters?.map((f) => ({\n member: f.property.name,\n operator: f.operator,\n values: convertFilterValue(f.value),\n })),\n timezone: request.timezone,\n };\n}\n\nconst LOAD_DATA_EVENT = \"embeddable-event:load-data\";\nconst FilterOperator = {\n equals: \"equals\",\n notEquals: \"notEquals\",\n contains: \"contains\",\n notContains: \"notContains\",\n startsWith: \"startsWith\",\n endsWith: \"endsWith\",\n gt: \"gt\",\n gte: \"gte\",\n lt: \"lt\",\n lte: \"lte\",\n notNull: \"set\",\n isNull: \"notSet\",\n inDateRange: \"inDateRange\",\n notInDateRange: \"notInDateRange\",\n beforeDate: \"beforeDate\",\n afterDate: \"afterDate\",\n measureFilter: \"measureFilter\",\n};\nconst isLoadDataParams = (ldp) => typeof ldp === \"object\" &&\n ldp &&\n \"requestParams\" in ldp &&\n \"dataLoader\" in ldp;\nconst executeDataRequest = (triggerElement, request, componentId, propertyName) => {\n if (!request.from)\n return \"No dataset selected\";\n // Mutually exclusive API check\n if (request.select &&\n (request.dimensions || request.measures || request.timeDimensions)) {\n return \"loadData expects you to use either dimensions, timeDimensions and measures, or select. You cannot use both together.\";\n }\n // Process select or legacy fields\n const apiResult = processApiSelection(request);\n if (apiResult.error) {\n return apiResult.error;\n }\n const { dimensions, measures, timeDimensions } = apiResult;\n // Validate required fields\n const dimensionsOrMeasuresDefined = dimensions.length || measures.length || timeDimensions.length;\n if (!dimensionsOrMeasuresDefined) {\n return \"At least a dimension or a measure should be selected.\";\n }\n // Order By Validation\n const orderByError = validateOrderByLogic(request.orderBy, dimensions, measures, timeDimensions);\n if (orderByError) {\n return orderByError;\n }\n // Filter Validation\n const filterError = validateFiltersLogic(request.filters);\n if (filterError) {\n return filterError;\n }\n // Prepare OrderBy for query\n const order = normalizeEntities(request.orderBy, {\n mapFn: (o) => [o.property.name, o.direction],\n });\n // Build Query Object\n const query = buildQueryObject(request, dimensions, measures, timeDimensions, order);\n // Dispatch Event\n triggerElement.dispatchEvent(new CustomEvent(LOAD_DATA_EVENT, {\n bubbles: true,\n composed: true,\n detail: {\n query,\n componentId,\n propertyName,\n },\n }));\n};\nconst loadData = (requestParams) => ({\n requestParams,\n dataLoader: executeDataRequest,\n});\nconst isDimension = (dimensionOrMeasure) => dimensionOrMeasure?.__type__ === DIMENSION_TYPE;\nconst isMeasure = (dimensionOrMeasure) => dimensionOrMeasure?.__type__ === MEASURE_TYPE;\nconst isTimeDimension = (dimensionOrMeasure) => \"dimension\" in (dimensionOrMeasure ?? {}) &&\n !(\"__type__\" in dimensionOrMeasure);\nconst isDimensionOrMeasure = (dimensionOrMeasure) => isDimension(dimensionOrMeasure) || isMeasure(dimensionOrMeasure);\n\nconst getOperationObject = (operation, value) => ({\n operation,\n value: value ?? null,\n __embeddableVariableMeta: true,\n});\nconst Value = {\n noFilter: () => getOperationObject(\"NO_FILTER\"),\n of: (value) => getOperationObject(\"VALUE\", value),\n};\n\nconst UPDATE_VALUE_EVENT = \"embeddable:value:changed\";\nconst setValue = (triggerElement, value, componentId, eventName) => {\n const event = new CustomEvent(UPDATE_VALUE_EVENT, {\n bubbles: true,\n composed: true,\n detail: {\n componentId,\n value,\n eventName,\n },\n });\n triggerElement.dispatchEvent(event);\n};\n\n// Helper to get the bundleHash from window if available\nconst getBundleHash$1 = () => globalThis.__EMBEDDABLE_BUNDLE_HASH__ ?? null;\nconst defineType = (typeName, typeConfig) => {\n if (ALL_NATIVE_TYPES.includes(typeName)) {\n throw new Error(`Type ${typeName} is part of the nativeTypes and cannot be defined`, { cause: \"sdk\" });\n }\n const type = {\n __embeddableType: \"custom\",\n toString: () => typeName,\n typeConfig,\n };\n // Get the bundleHash from stored value or window\n const bundleHash = getBundleHash$1();\n globalThis.__EMBEDDABLE__ = globalThis.__EMBEDDABLE__ || {};\n const embeddable = bundleHash\n ? (globalThis.__EMBEDDABLE__[bundleHash] =\n globalThis.__EMBEDDABLE__[bundleHash] || {})\n : globalThis.__EMBEDDABLE__;\n embeddable.types = embeddable.types || {};\n // Preserve existing types by merging with new type\n embeddable.types = {\n ...embeddable.types,\n [typeName]: {\n name: typeName,\n ...typeConfig,\n },\n };\n return type;\n};\nconst STRING = \"string\";\nconst NUMBER = \"number\";\nconst BOOLEAN = \"boolean\";\nconst TIME = \"time\";\nconst TIME_RANGE = \"timeRange\";\nconst GRANULARITY = \"granularity\";\nconst DATASET = \"dataset\";\nconst MEASURE = \"measure\";\nconst DIMENSION = \"dimension\";\nconst DIMENSION_OR_MEASURE = \"dimensionOrMeasure\";\nconst DEFAULT_NATIVE_TYPES = [\n STRING,\n NUMBER,\n BOOLEAN,\n TIME,\n TIME_RANGE,\n GRANULARITY,\n];\nconst ALL_NATIVE_TYPES = [\n ...DEFAULT_NATIVE_TYPES,\n DATASET,\n MEASURE,\n DIMENSION,\n DIMENSION_OR_MEASURE,\n];\nconst MEASURE_TYPE_STRING = \"string\";\nconst MEASURE_TYPE_TIME = \"time\";\nconst MEASURE_TYPE_BOOLEAN = \"boolean\";\nconst MEASURE_TYPE_NUMBER = \"number\";\nconst MEASURE_TYPE_COUNT = \"count\";\nconst MEASURE_TYPE_COUNT_DISTINCT = \"count_distinct\";\nconst MEASURE_TYPE_COUNT_DISTINCT_APPROX = \"count_distinct_approx\";\nconst MEASURE_TYPE_SUM = \"sum\";\nconst MEASURE_TYPE_AVG = \"avg\";\nconst MEASURE_TYPE_MIN = \"min\";\nconst MEASURE_TYPE_MAX = \"max\";\nconst MEASURE_TYPES = [\n MEASURE_TYPE_STRING,\n MEASURE_TYPE_TIME,\n MEASURE_TYPE_BOOLEAN,\n MEASURE_TYPE_NUMBER,\n MEASURE_TYPE_COUNT,\n MEASURE_TYPE_COUNT_DISTINCT,\n MEASURE_TYPE_COUNT_DISTINCT_APPROX,\n MEASURE_TYPE_SUM,\n MEASURE_TYPE_AVG,\n MEASURE_TYPE_MIN,\n MEASURE_TYPE_MAX,\n];\nconst DIMENSION_TYPE_STRING = \"string\";\nconst DIMENSION_TYPE_NUMBER = \"number\";\nconst DIMENSION_TYPE_BOOLEAN = \"boolean\";\nconst DIMENSION_TYPE_GEO = \"geo\";\nconst DIMENSION_TYPE_TIME = \"time\";\nconst DIMENSION_TYPES = [\n DIMENSION_TYPE_STRING,\n DIMENSION_TYPE_NUMBER,\n DIMENSION_TYPE_BOOLEAN,\n DIMENSION_TYPE_GEO,\n DIMENSION_TYPE_TIME,\n];\nconst DIMENSION_OR_MEASURE_TYPES = [\n ...DIMENSION_TYPES,\n ...MEASURE_TYPES,\n];\n\n// Helper to get the bundleHash from window if available\n// Check if we have a bundleHash in the window\nconst getBundleHash = () => globalThis.__EMBEDDABLE_BUNDLE_HASH__ ?? null;\nconst defineOption = (type, option) => {\n // Get the bundleHash from stored value or window\n const bundleHash = getBundleHash();\n globalThis.__EMBEDDABLE__ ??= {};\n const embeddable = bundleHash\n ? (globalThis.__EMBEDDABLE__[bundleHash] ??= {})\n : globalThis.__EMBEDDABLE__;\n if (typeof type === \"string\") {\n // Handle native types\n embeddable.nativeTypes = embeddable.nativeTypes || {};\n embeddable.nativeTypes[type] = embeddable.nativeTypes[type] || {};\n embeddable.nativeTypes[type].options ??= [];\n embeddable.nativeTypes[type].options.push(option);\n }\n else {\n // Handle custom types\n const typeName = type.toString();\n if (!embeddable?.types?.[typeName])\n return;\n embeddable.types[typeName].options ??= [];\n embeddable.types[typeName].options.push(option);\n }\n};\n\nconst StringType = createBuiltInType(\"string\", {\n transform: (value) => value,\n optionLabel: (value) => Array.isArray(value)\n ? `[${value.map((v) => `\"${v}\"`).join(\",\")}]`\n : `\"${value}\"`,\n});\nconst NumberType = createBuiltInType(\"number\", {\n transform: (value) => Array.isArray(value) ? value : value ? Number(value) : value,\n optionLabel: (value) => Array.isArray(value)\n ? `[${value.join(\",\")}]`\n : (value?.toLocaleString(DEFAULT_LOCALE) ?? \"\"),\n});\nconst BooleanType = createBuiltInType(\"boolean\", {\n transform: (value) => value === \"true\" || value === true,\n optionLabel: (value) => (value ? \"true\" : \"false\"),\n});\nconst TimeType = createBuiltInType(\"time\", {\n transform: (value) => {\n const date = value?.date ? new Date(value.date) : undefined;\n const isValid = date && date.toString() !== \"Invalid Date\";\n return {\n date: isValid ? date : undefined,\n relativeTimeString: value?.relativeTimeString,\n };\n },\n optionLabel: (value) => {\n if (!value)\n return \"\";\n if (value?.date) {\n return (value.date?.toLocaleDateString(DEFAULT_LOCALE) ??\n value.date.toLocaleString());\n }\n return value.relativeTimeString;\n },\n});\nconst TimeRangeType = createBuiltInType(\"timeRange\", {\n transform: (value) => {\n // Return undefined instead of a null populated object\n if (!value)\n return undefined;\n const [from, to] = [value?.from, value?.to];\n const fromDate = new Date(from);\n const toDate = new Date(to);\n return {\n from: fromDate.toString() !== \"Invalid Date\" ? fromDate : undefined,\n to: toDate.toString() !== \"Invalid Date\" ? toDate : undefined,\n relativeTimeString: value?.relativeTimeString,\n };\n },\n optionLabel: (value) => {\n if (!value)\n return \"\";\n if (value?.from && value?.to) {\n return `${value.from?.toLocaleDateString(DEFAULT_LOCALE) ??\n value.from?.toLocaleString()},${value.to?.toLocaleDateString(DEFAULT_LOCALE) ??\n value.to?.toLocaleString()}`;\n }\n return value?.relativeTimeString;\n },\n});\nconst GranularityType = createBuiltInType(\"granularity\", {\n transform: (value) => value,\n optionLabel: (value) => value,\n});\nconst DatasetType = createBuiltInType(\"dataset\");\nconst MeasureType = createBuiltInType(\"measure\");\nconst DimensionType = createBuiltInType(\"dimension\");\nconst DimensionOrMeasureType = createBuiltInType(\"dimensionOrMeasure\");\n\nvar nativeTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n BooleanType: BooleanType,\n DatasetType: DatasetType,\n DimensionOrMeasureType: DimensionOrMeasureType,\n DimensionType: DimensionType,\n GranularityType: GranularityType,\n MeasureType: MeasureType,\n NumberType: NumberType,\n StringType: StringType,\n TimeRangeType: TimeRangeType,\n TimeType: TimeType\n});\n\nconst defineTheme = (parentTheme, childTheme) => {\n return mergician(parentTheme, childTheme);\n};\n\nexport { ALL_NATIVE_TYPES, DEFAULT_NATIVE_TYPES, DIMENSION_OR_MEASURE_TYPES, DIMENSION_TYPES, FilterOperator, MEASURE_TYPES, Value, defineOption, defineTheme, defineType, isDimension, isDimensionOrMeasure, isLoadDataParams, isMeasure, isTimeDimension, loadData, nativeTypes, setValue };\n","import { defineOption, defineType } from '@embeddable.com/core';\n\nconst ComparisonPeriodType = defineType('comparisonPeriod', {\n label: 'Comparison Period',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(ComparisonPeriodType, 'Previous period');\ndefineOption(ComparisonPeriodType, 'Previous week');\ndefineOption(ComparisonPeriodType, 'Previous month');\ndefineOption(ComparisonPeriodType, 'Previous quarter');\ndefineOption(ComparisonPeriodType, 'Previous year');\n\nexport default ComparisonPeriodType;\n"],"names":["DEFAULT_LOCALE","createBuiltInType","name","typeConfig","getBundleHash$1","defineType","typeName","ALL_NATIVE_TYPES","type","bundleHash","embeddable","STRING","NUMBER","BOOLEAN","TIME","TIME_RANGE","GRANULARITY","DATASET","MEASURE","DIMENSION","DIMENSION_OR_MEASURE","DEFAULT_NATIVE_TYPES","getBundleHash","defineOption","option","_a","_b","_c","_d","value","v","date","from","to","fromDate","toDate","ComparisonPeriodType"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"embeddable-types.js","sources":["../node_modules/@embeddable.com/core/lib/index.esm.js","../src/remarkable-pro/components/types/Align.type.emb.ts","../src/remarkable-pro/components/types/ComparisonPeriod.type.emb.ts"],"sourcesContent":["import { mergician } from 'mergician';\n\nconst DEFAULT_LOCALE = \"en-US\";\nconst normalizeEntities = (entities, { mapFn = (x) => x, filterFn = Boolean, }) => {\n if (!entities)\n return undefined;\n const filtered = entities.filter(filterFn);\n if (filtered.length === 0)\n return undefined;\n return filtered.map(mapFn);\n};\nconst getName = (x) => x.name;\nconst checkTimeDimension = (timeDimension) => Boolean(timeDimension &&\n timeDimension.dimension &&\n (timeDimension.granularity || timeDimension.dateRange));\nconst validateOrderBy = (orderByParam, dimensions, measures, timeDimensions) => {\n const unknownDimensionsOrMeasures = [];\n const dimensionAndMeasureNames = [\n ...[...measures, ...dimensions].filter(Boolean).map((x) => x.name),\n ...timeDimensions\n .filter(Boolean)\n .map((x) => x.dimension)\n .filter(Boolean),\n ];\n for (const orderBy of orderByParam) {\n const { name } = orderBy.property;\n if (dimensionAndMeasureNames.includes(name))\n continue;\n unknownDimensionsOrMeasures.push(name);\n }\n return unknownDimensionsOrMeasures;\n};\nconst createBuiltInType = (name, typeConfig = {}) => ({\n __embeddableType: \"built-in\",\n toString: () => name,\n typeConfig: {\n label: name,\n optionLabel: () => name,\n ...typeConfig,\n },\n});\nconst validateFilter = (filter) => {\n if (!filter.property)\n return \"filter property must be set\";\n if (!filter.operator)\n return \"filter operator must be set\";\n};\nconst convertFilterValue = (value) => {\n // no need to convert these values\n if (value == null ||\n typeof value === \"string\" ||\n typeof value === \"boolean\" ||\n typeof value === \"number\" ||\n value instanceof Date ||\n Array.isArray(value)) {\n return value;\n }\n // time or timeRange must be converted\n if (value?.relativeTimeString)\n return value?.relativeTimeString;\n if (Object.hasOwn(value, \"date\"))\n return value?.date;\n if (Object.hasOwn(value, \"from\") || Object.hasOwn(value, \"to\")) {\n const timeRange = value;\n return [timeRange?.from, timeRange?.to].filter(Boolean);\n }\n};\nfunction deduplicateEntitiesByName(entities) {\n if (!entities || entities.length === 0)\n return [];\n const seen = new Set();\n return entities.filter((entity) => {\n if (seen.has(entity.name)) {\n return false;\n }\n seen.add(entity.name);\n return true;\n });\n}\n\nconst DIMENSION_TYPE = \"dimension\";\nconst MEASURE_TYPE = \"measure\";\nconst deepFlattenSelect = (input) => {\n if (Array.isArray(input)) {\n return input.flatMap(deepFlattenSelect);\n }\n return [input];\n};\nconst processSelectParam = (selectParam) => {\n const result = {\n dimensions: [],\n measures: [],\n timeDimensions: [],\n };\n if (!selectParam) {\n return result;\n }\n const flat = deepFlattenSelect(selectParam).filter(Boolean);\n if (!flat.length) {\n result.error = \"select must not be empty\";\n return result;\n }\n for (const ent of flat) {\n const isValidEntity = typeof ent === \"object\" &&\n (isDimensionOrMeasure(ent) || isTimeDimension(ent));\n if (!isValidEntity) {\n result.error =\n \"select must only contain Dimension, Measure or TimeDimension objects\";\n return result;\n }\n if (isTimeDimension(ent)) {\n result.timeDimensions.push(ent);\n }\n else if (isDimension(ent)) {\n const dimension = ent;\n const granularity = dimension.inputs?.granularity;\n if (dimension.nativeType === \"time\" && granularity) {\n result.timeDimensions.push({\n dimension: dimension.name,\n granularity,\n title: dimension.title,\n });\n }\n else {\n result.dimensions.push(dimension);\n }\n }\n else if (isMeasure(ent)) {\n result.measures.push(ent);\n }\n else {\n const type = \"__type__\" in ent ? ent.__type__ : typeof ent;\n result.error = `Unknown __type__ in select: ${type}`;\n return result;\n }\n }\n return result;\n};\nfunction validateLegacyFields(request) {\n if (request.measures?.length > 0 &&\n request.measures.some((m) => m?.__type__ !== MEASURE_TYPE)) {\n return \"Unexpected type passed to `measures` in loadData function. Expected an array of type Measure.\";\n }\n if (request.dimensions?.length > 0 &&\n request.dimensions.some((m) => m?.__type__ !== DIMENSION_TYPE)) {\n return \"Unexpected type passed to `dimensions` in loadData function. Expected an array of type Dimension.\";\n }\n return null;\n}\nfunction processApiSelection(request) {\n const result = {\n dimensions: [],\n measures: [],\n timeDimensions: [],\n usingSelect: false,\n };\n if (request.select) {\n result.usingSelect = true;\n const selectResult = processSelectParam(request.select);\n if (selectResult.error) {\n result.error = selectResult.error;\n return result;\n }\n result.dimensions = selectResult.dimensions;\n result.measures = selectResult.measures;\n result.timeDimensions = selectResult.timeDimensions;\n }\n else {\n const legacyError = validateLegacyFields(request);\n if (legacyError) {\n result.error = legacyError;\n return result;\n }\n result.dimensions =\n normalizeEntities(request.dimensions, { mapFn: (x) => x }) ?? [];\n result.measures =\n normalizeEntities(request.measures, { mapFn: (x) => x }) ?? [];\n result.timeDimensions =\n normalizeEntities(request.timeDimensions, { filterFn: Boolean }) ?? [];\n }\n result.dimensions = deduplicateEntitiesByName(result.dimensions);\n result.measures = deduplicateEntitiesByName(result.measures);\n return result;\n}\nfunction validateOrderByLogic(orderBy, dimensions, measures, timeDimensions) {\n const unknownDimensionsOrMeasures = validateOrderBy(orderBy ?? [], dimensions, measures, timeDimensions);\n if (unknownDimensionsOrMeasures.length > 0) {\n return `Cannot order by ${unknownDimensionsOrMeasures.join(\", \")} as no such ${unknownDimensionsOrMeasures.length === 1 ? \"property\" : \"properties\"} has been loaded.`;\n }\n return null;\n}\nfunction validateFiltersLogic(filters) {\n if (filters) {\n const errors = filters\n .map((f, index) => ({\n index,\n message: validateFilter(f),\n }))\n .filter((e) => !!e.message);\n if (errors.length) {\n return errors\n .map((e) => `filter[${e.index}] is not valid: ${e.message}`)\n .join(\"\\n\");\n }\n }\n return null;\n}\nfunction buildQueryObject(request, dimensions, measures, timeDimensions, order) {\n return {\n inputName: request.from.inputName,\n datasetId: request.from.datasetId,\n embeddableId: request.from.embeddableId,\n dimensions: normalizeEntities(dimensions, { mapFn: getName }) ?? [],\n measures: normalizeEntities(measures, { mapFn: getName }) ?? [],\n order,\n timeDimensions: normalizeEntities(timeDimensions, { filterFn: checkTimeDimension }) ?? [],\n offset: request.offset,\n limit: request.limit,\n variableValues: request.from.variableValues,\n filters: request.filters?.map((f) => ({\n member: f.property.name,\n operator: f.operator,\n values: convertFilterValue(f.value),\n })),\n timezone: request.timezone,\n countRows: request.countRows,\n };\n}\n\nconst LOAD_DATA_EVENT = \"embeddable-event:load-data\";\nconst FilterOperator = {\n equals: \"equals\",\n notEquals: \"notEquals\",\n contains: \"contains\",\n notContains: \"notContains\",\n startsWith: \"startsWith\",\n endsWith: \"endsWith\",\n gt: \"gt\",\n gte: \"gte\",\n lt: \"lt\",\n lte: \"lte\",\n notNull: \"set\",\n isNull: \"notSet\",\n inDateRange: \"inDateRange\",\n notInDateRange: \"notInDateRange\",\n beforeDate: \"beforeDate\",\n afterDate: \"afterDate\",\n measureFilter: \"measureFilter\",\n};\nconst isLoadDataParams = (ldp) => typeof ldp === \"object\" &&\n ldp &&\n \"requestParams\" in ldp &&\n \"dataLoader\" in ldp;\nconst executeDataRequest = (triggerElement, request, componentId, propertyName) => {\n if (!request.from)\n return \"No dataset selected\";\n // Mutually exclusive API check\n if (request.select &&\n (request.dimensions || request.measures || request.timeDimensions)) {\n return \"loadData expects you to use either dimensions, timeDimensions and measures, or select. You cannot use both together.\";\n }\n // Process select or legacy fields\n const apiResult = processApiSelection(request);\n if (apiResult.error) {\n return apiResult.error;\n }\n const { dimensions, measures, timeDimensions } = apiResult;\n // Validate required fields\n const dimensionsOrMeasuresDefined = dimensions.length || measures.length || timeDimensions.length;\n if (!dimensionsOrMeasuresDefined) {\n return \"At least a dimension or a measure should be selected.\";\n }\n // Order By Validation\n const orderByError = validateOrderByLogic(request.orderBy, dimensions, measures, timeDimensions);\n if (orderByError) {\n return orderByError;\n }\n // Filter Validation\n const filterError = validateFiltersLogic(request.filters);\n if (filterError) {\n return filterError;\n }\n // Prepare OrderBy for query\n const order = normalizeEntities(request.orderBy, {\n mapFn: (o) => [o.property.name, o.direction],\n });\n // Build Query Object\n const query = buildQueryObject(request, dimensions, measures, timeDimensions, order);\n // Dispatch Event\n triggerElement.dispatchEvent(new CustomEvent(LOAD_DATA_EVENT, {\n bubbles: true,\n composed: true,\n detail: {\n query,\n componentId,\n propertyName,\n },\n }));\n};\nconst loadData = (requestParams) => ({\n requestParams,\n dataLoader: executeDataRequest,\n});\nconst isDimension = (dimensionOrMeasure) => dimensionOrMeasure?.__type__ === DIMENSION_TYPE;\nconst isMeasure = (dimensionOrMeasure) => dimensionOrMeasure?.__type__ === MEASURE_TYPE;\nconst isTimeDimension = (dimensionOrMeasure) => \"dimension\" in (dimensionOrMeasure ?? {}) &&\n !(\"__type__\" in dimensionOrMeasure);\nconst isDimensionOrMeasure = (dimensionOrMeasure) => isDimension(dimensionOrMeasure) || isMeasure(dimensionOrMeasure);\n\nconst getOperationObject = (operation, value) => ({\n operation,\n value: value ?? null,\n __embeddableVariableMeta: true,\n});\nconst Value = {\n noFilter: () => getOperationObject(\"NO_FILTER\"),\n of: (value) => getOperationObject(\"VALUE\", value),\n};\n\nconst UPDATE_VALUE_EVENT = \"embeddable:value:changed\";\nconst setValue = (triggerElement, value, componentId, eventName) => {\n const event = new CustomEvent(UPDATE_VALUE_EVENT, {\n bubbles: true,\n composed: true,\n detail: {\n componentId,\n value,\n eventName,\n },\n });\n triggerElement.dispatchEvent(event);\n};\n\n// Helper to get the bundleHash from window if available\nconst getBundleHash$1 = () => globalThis.__EMBEDDABLE_BUNDLE_HASH__ ?? null;\nconst defineType = (typeName, typeConfig) => {\n if (ALL_NATIVE_TYPES.includes(typeName)) {\n throw new Error(`Type ${typeName} is part of the nativeTypes and cannot be defined`, { cause: \"sdk\" });\n }\n const type = {\n __embeddableType: \"custom\",\n toString: () => typeName,\n typeConfig,\n };\n // Get the bundleHash from stored value or window\n const bundleHash = getBundleHash$1();\n globalThis.__EMBEDDABLE__ = globalThis.__EMBEDDABLE__ || {};\n const embeddable = bundleHash\n ? (globalThis.__EMBEDDABLE__[bundleHash] =\n globalThis.__EMBEDDABLE__[bundleHash] || {})\n : globalThis.__EMBEDDABLE__;\n embeddable.types = embeddable.types || {};\n // Preserve existing types by merging with new type\n embeddable.types = {\n ...embeddable.types,\n [typeName]: {\n name: typeName,\n ...typeConfig,\n },\n };\n return type;\n};\nconst STRING = \"string\";\nconst NUMBER = \"number\";\nconst BOOLEAN = \"boolean\";\nconst TIME = \"time\";\nconst TIME_RANGE = \"timeRange\";\nconst GRANULARITY = \"granularity\";\nconst DATASET = \"dataset\";\nconst MEASURE = \"measure\";\nconst DIMENSION = \"dimension\";\nconst DIMENSION_OR_MEASURE = \"dimensionOrMeasure\";\nconst DEFAULT_NATIVE_TYPES = [\n STRING,\n NUMBER,\n BOOLEAN,\n TIME,\n TIME_RANGE,\n GRANULARITY,\n];\nconst ALL_NATIVE_TYPES = [\n ...DEFAULT_NATIVE_TYPES,\n DATASET,\n MEASURE,\n DIMENSION,\n DIMENSION_OR_MEASURE,\n];\nconst MEASURE_TYPE_STRING = \"string\";\nconst MEASURE_TYPE_TIME = \"time\";\nconst MEASURE_TYPE_BOOLEAN = \"boolean\";\nconst MEASURE_TYPE_NUMBER = \"number\";\nconst MEASURE_TYPE_COUNT = \"count\";\nconst MEASURE_TYPE_COUNT_DISTINCT = \"count_distinct\";\nconst MEASURE_TYPE_COUNT_DISTINCT_APPROX = \"count_distinct_approx\";\nconst MEASURE_TYPE_SUM = \"sum\";\nconst MEASURE_TYPE_AVG = \"avg\";\nconst MEASURE_TYPE_MIN = \"min\";\nconst MEASURE_TYPE_MAX = \"max\";\nconst MEASURE_TYPES = [\n MEASURE_TYPE_STRING,\n MEASURE_TYPE_TIME,\n MEASURE_TYPE_BOOLEAN,\n MEASURE_TYPE_NUMBER,\n MEASURE_TYPE_COUNT,\n MEASURE_TYPE_COUNT_DISTINCT,\n MEASURE_TYPE_COUNT_DISTINCT_APPROX,\n MEASURE_TYPE_SUM,\n MEASURE_TYPE_AVG,\n MEASURE_TYPE_MIN,\n MEASURE_TYPE_MAX,\n];\nconst DIMENSION_TYPE_STRING = \"string\";\nconst DIMENSION_TYPE_NUMBER = \"number\";\nconst DIMENSION_TYPE_BOOLEAN = \"boolean\";\nconst DIMENSION_TYPE_GEO = \"geo\";\nconst DIMENSION_TYPE_TIME = \"time\";\nconst DIMENSION_TYPES = [\n DIMENSION_TYPE_STRING,\n DIMENSION_TYPE_NUMBER,\n DIMENSION_TYPE_BOOLEAN,\n DIMENSION_TYPE_GEO,\n DIMENSION_TYPE_TIME,\n];\nconst DIMENSION_OR_MEASURE_TYPES = [\n ...DIMENSION_TYPES,\n ...MEASURE_TYPES,\n];\n\n// Helper to get the bundleHash from window if available\n// Check if we have a bundleHash in the window\nconst getBundleHash = () => globalThis.__EMBEDDABLE_BUNDLE_HASH__ ?? null;\nconst defineOption = (type, option) => {\n // Get the bundleHash from stored value or window\n const bundleHash = getBundleHash();\n globalThis.__EMBEDDABLE__ ??= {};\n const embeddable = bundleHash\n ? (globalThis.__EMBEDDABLE__[bundleHash] ??= {})\n : globalThis.__EMBEDDABLE__;\n if (typeof type === \"string\") {\n // Handle native types\n embeddable.nativeTypes = embeddable.nativeTypes || {};\n embeddable.nativeTypes[type] = embeddable.nativeTypes[type] || {};\n embeddable.nativeTypes[type].options ??= [];\n embeddable.nativeTypes[type].options.push(option);\n }\n else {\n // Handle custom types\n const typeName = type.toString();\n if (!embeddable?.types?.[typeName])\n return;\n embeddable.types[typeName].options ??= [];\n embeddable.types[typeName].options.push(option);\n }\n};\n\nconst StringType = createBuiltInType(\"string\", {\n transform: (value) => value,\n optionLabel: (value) => Array.isArray(value)\n ? `[${value.map((v) => `\"${v}\"`).join(\",\")}]`\n : `\"${value}\"`,\n});\nconst NumberType = createBuiltInType(\"number\", {\n transform: (value) => Array.isArray(value) ? value : value ? Number(value) : value,\n optionLabel: (value) => Array.isArray(value)\n ? `[${value.join(\",\")}]`\n : (value?.toLocaleString(DEFAULT_LOCALE) ?? \"\"),\n});\nconst BooleanType = createBuiltInType(\"boolean\", {\n transform: (value) => value === \"true\" || value === true,\n optionLabel: (value) => (value ? \"true\" : \"false\"),\n});\nconst TimeType = createBuiltInType(\"time\", {\n transform: (value) => {\n const date = value?.date ? new Date(value.date) : undefined;\n const isValid = date && date.toString() !== \"Invalid Date\";\n return {\n date: isValid ? date : undefined,\n relativeTimeString: value?.relativeTimeString,\n };\n },\n optionLabel: (value) => {\n if (!value)\n return \"\";\n if (value?.date) {\n return (value.date?.toLocaleDateString(DEFAULT_LOCALE) ??\n value.date.toLocaleString());\n }\n return value.relativeTimeString;\n },\n});\nconst TimeRangeType = createBuiltInType(\"timeRange\", {\n transform: (value) => {\n // Return undefined instead of a null populated object\n if (!value)\n return undefined;\n const [from, to] = [value?.from, value?.to];\n const fromDate = new Date(from);\n const toDate = new Date(to);\n return {\n from: fromDate.toString() !== \"Invalid Date\" ? fromDate : undefined,\n to: toDate.toString() !== \"Invalid Date\" ? toDate : undefined,\n relativeTimeString: value?.relativeTimeString,\n };\n },\n optionLabel: (value) => {\n if (!value)\n return \"\";\n if (value?.from && value?.to) {\n return `${value.from?.toLocaleDateString(DEFAULT_LOCALE) ??\n value.from?.toLocaleString()},${value.to?.toLocaleDateString(DEFAULT_LOCALE) ??\n value.to?.toLocaleString()}`;\n }\n return value?.relativeTimeString;\n },\n});\nconst GranularityType = createBuiltInType(\"granularity\", {\n transform: (value) => value,\n optionLabel: (value) => value,\n});\nconst DatasetType = createBuiltInType(\"dataset\");\nconst MeasureType = createBuiltInType(\"measure\");\nconst DimensionType = createBuiltInType(\"dimension\");\nconst DimensionOrMeasureType = createBuiltInType(\"dimensionOrMeasure\");\n\nvar nativeTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n BooleanType: BooleanType,\n DatasetType: DatasetType,\n DimensionOrMeasureType: DimensionOrMeasureType,\n DimensionType: DimensionType,\n GranularityType: GranularityType,\n MeasureType: MeasureType,\n NumberType: NumberType,\n StringType: StringType,\n TimeRangeType: TimeRangeType,\n TimeType: TimeType\n});\n\nconst defineTheme = (parentTheme, childTheme) => {\n return mergician(parentTheme, childTheme);\n};\n\nexport { ALL_NATIVE_TYPES, DEFAULT_NATIVE_TYPES, DIMENSION_OR_MEASURE_TYPES, DIMENSION_TYPES, FilterOperator, MEASURE_TYPES, Value, defineOption, defineTheme, defineType, isDimension, isDimensionOrMeasure, isLoadDataParams, isMeasure, isTimeDimension, loadData, nativeTypes, setValue };\n","import { defineOption, defineType } from '@embeddable.com/core';\n\nconst AlignType = defineType('align', {\n label: 'Align',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(AlignType, 'left');\ndefineOption(AlignType, 'center');\ndefineOption(AlignType, 'right');\n\nexport default AlignType;\n","import { defineOption, defineType } from '@embeddable.com/core';\n\nconst ComparisonPeriodType = defineType('comparisonPeriod', {\n label: 'Comparison Period',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(ComparisonPeriodType, 'Previous period');\ndefineOption(ComparisonPeriodType, 'Previous week');\ndefineOption(ComparisonPeriodType, 'Previous month');\ndefineOption(ComparisonPeriodType, 'Previous quarter');\ndefineOption(ComparisonPeriodType, 'Previous year');\n\nexport default ComparisonPeriodType;\n"],"names":["DEFAULT_LOCALE","createBuiltInType","name","typeConfig","getBundleHash$1","defineType","typeName","ALL_NATIVE_TYPES","type","bundleHash","embeddable","STRING","NUMBER","BOOLEAN","TIME","TIME_RANGE","GRANULARITY","DATASET","MEASURE","DIMENSION","DIMENSION_OR_MEASURE","DEFAULT_NATIVE_TYPES","getBundleHash","defineOption","option","_a","_b","_c","_d","value","v","date","from","to","fromDate","toDate","AlignType","ComparisonPeriodType"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { a2 as T } from "./component.constants-BtSbiLSA.js";
1
+ import { a2 as T } from "./component.constants-D59iJ42U.js";
2
2
  const i = (r) => {
3
3
  const s = {};
4
4
  return (m) => {
@@ -43,4 +43,4 @@ const i = (r) => {
43
43
  export {
44
44
  D as g
45
45
  };
46
- //# sourceMappingURL=formatter.utils-DsSqaQLy.js.map
46
+ //# sourceMappingURL=formatter.utils-DDLdrAl9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.utils-DsSqaQLy.js","sources":["../src/remarkable-pro/utils.ts/cache.utils.ts","../src/remarkable-pro/utils.ts/data.utils.ts","../src/remarkable-pro/theme/formatter/formatter.utils.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.ts/cache.utils';\nimport { isValidISODate } from '../../utils.ts/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\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 // 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"],"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","appended","_b","_c"],"mappings":";AAIO,MAAMA,IAAQ,CAAoBC,MAA4C;AACnF,QAAMC,IAA8C,CAAA;AAWpD,SAVY,CAACC,MAAoB;AAC/B,UAAMC,IAAM,KAAK,UAAUD,CAAM;AACjC,QAAIE,IAAYH,EAAcE,CAAG;AACjC,WAAIC,MAGJA,IAAYJ,EAAQE,CAAM,GAC1BD,EAAcE,CAAG,IAAIC,GACdA;AAAA,EACT;AAEF,GCjBMC,IAAsB,gDAEfC,IAAiB,CAACC,MACtB,GAAQA,KAASF,EAAoB,KAAKE,CAAK,ICa3CC,IAAoB,CAACC,MAAoC;AACpE,QAAMC,IAAwBX;AAAA,IAAiD,CAACY,MAC9EF,EAAM,UAAU,gBAAgBA,GAAOE,CAAO;AAAA,EAAA,GAG1CC,IAA4Bb;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA,GAG3CU,IAA0Bd;AAAA,IAAqD,CAACY,MACpFF,EAAM,UAAU,kBAAkBA,GAAOE,CAAO;AAAA,EAAA,GAG5CG,IAA8Bf;AAAA,IAA6C,CAACI,MAChFM,EAAM,UAAU,sBAAsBA,GAAON,CAAI;AAAA,EAAA,GAG7CY,IAA4BhB;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA;AAGjD,SAAO;AAAA,IACL,QAAQ,CAACA,MAAgBM,EAAM,UAAU,gBAAA,EAAkB,OAAON,CAAG;AAAA,IACrE,QAAQ,CAACI,GAAwBI,MACxBD,EAAsBC,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEpD,UAAU,CAACA,GAAaI,MACfE,EAAwBF,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEtD,yBAAyB,CAACJ,MAAoC;;AAC5D,YAAMa,KAAcC,IAAAd,EAAI,WAAJ,gBAAAc,EAAY;AAChC,UAAID;AACF,eAAIA,EAAY,SAAS,GAAG,IACnBE,EAAkBF,CAAW,IAE/BA;AAGT,YAAMG,IAAWJ,EAA0BZ,CAAG,EAAE,OAAOA,EAAI,IAAI;AAC/D,aAAOgB,MAAahB,EAAI,OAAQA,EAAI,SAASA,EAAI,OAAQgB;AAAA,IAC3D;AAAA;AAAA,IAEA,MAAM,CAAChB,GAAyBI,MAAuB;;AACrD,UAAIa,IAAWb;AAGf,MAAIJ,EAAI,eAAe,aACrBiB,IAAWR,EAA0BT,CAAG,EAAE,OAAOI,CAAK,IAIpDJ,EAAI,eAAe,UAAUG,EAAeC,CAAK,MACnDa,IAAWN,EAA4BX,CAAG,EAAE,OAAO,IAAI,KAAKI,CAAK,CAAC,KAIhEJ,EAAI,eAAe,aAAaA,EAAI,eAAe,cACrDiB,IAAWL,EAA0BZ,CAAG,EAAE,OAAOI,CAAK;AAIxD,YAAMc,IAAW,KAAGJ,IAAAd,EAAI,WAAJ,gBAAAc,EAAY,WAAU,EAAE,GAAGG,CAAQ,KAAGE,IAAAnB,EAAI,WAAJ,gBAAAmB,EAAY,WAAU,EAAE;AAGlF,cAAIC,IAAApB,EAAI,WAAJ,QAAAoB,EAAY,gBACVF,EAAS,UAAUlB,EAAI,OAAO,gBACzBkB,IAEFA,EAAS,UAAU,GAAGlB,EAAI,OAAO,aAAa,IAAI,QAGpDkB;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"formatter.utils-DDLdrAl9.js","sources":["../src/remarkable-pro/utils.ts/cache.utils.ts","../src/remarkable-pro/utils.ts/data.utils.ts","../src/remarkable-pro/theme/formatter/formatter.utils.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.ts/cache.utils';\nimport { isValidISODate } from '../../utils.ts/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\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 // 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"],"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","appended","_b","_c"],"mappings":";AAIO,MAAMA,IAAQ,CAAoBC,MAA4C;AACnF,QAAMC,IAA8C,CAAA;AAWpD,SAVY,CAACC,MAAoB;AAC/B,UAAMC,IAAM,KAAK,UAAUD,CAAM;AACjC,QAAIE,IAAYH,EAAcE,CAAG;AACjC,WAAIC,MAGJA,IAAYJ,EAAQE,CAAM,GAC1BD,EAAcE,CAAG,IAAIC,GACdA;AAAA,EACT;AAEF,GCjBMC,IAAsB,gDAEfC,IAAiB,CAACC,MACtB,GAAQA,KAASF,EAAoB,KAAKE,CAAK,ICa3CC,IAAoB,CAACC,MAAoC;AACpE,QAAMC,IAAwBX;AAAA,IAAiD,CAACY,MAC9EF,EAAM,UAAU,gBAAgBA,GAAOE,CAAO;AAAA,EAAA,GAG1CC,IAA4Bb;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA,GAG3CU,IAA0Bd;AAAA,IAAqD,CAACY,MACpFF,EAAM,UAAU,kBAAkBA,GAAOE,CAAO;AAAA,EAAA,GAG5CG,IAA8Bf;AAAA,IAA6C,CAACI,MAChFM,EAAM,UAAU,sBAAsBA,GAAON,CAAI;AAAA,EAAA,GAG7CY,IAA4BhB;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA;AAGjD,SAAO;AAAA,IACL,QAAQ,CAACA,MAAgBM,EAAM,UAAU,gBAAA,EAAkB,OAAON,CAAG;AAAA,IACrE,QAAQ,CAACI,GAAwBI,MACxBD,EAAsBC,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEpD,UAAU,CAACA,GAAaI,MACfE,EAAwBF,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEtD,yBAAyB,CAACJ,MAAoC;;AAC5D,YAAMa,KAAcC,IAAAd,EAAI,WAAJ,gBAAAc,EAAY;AAChC,UAAID;AACF,eAAIA,EAAY,SAAS,GAAG,IACnBE,EAAkBF,CAAW,IAE/BA;AAGT,YAAMG,IAAWJ,EAA0BZ,CAAG,EAAE,OAAOA,EAAI,IAAI;AAC/D,aAAOgB,MAAahB,EAAI,OAAQA,EAAI,SAASA,EAAI,OAAQgB;AAAA,IAC3D;AAAA;AAAA,IAEA,MAAM,CAAChB,GAAyBI,MAAuB;;AACrD,UAAIa,IAAWb;AAGf,MAAIJ,EAAI,eAAe,aACrBiB,IAAWR,EAA0BT,CAAG,EAAE,OAAOI,CAAK,IAIpDJ,EAAI,eAAe,UAAUG,EAAeC,CAAK,MACnDa,IAAWN,EAA4BX,CAAG,EAAE,OAAO,IAAI,KAAKI,CAAK,CAAC,KAIhEJ,EAAI,eAAe,aAAaA,EAAI,eAAe,cACrDiB,IAAWL,EAA0BZ,CAAG,EAAE,OAAOI,CAAK;AAIxD,YAAMc,IAAW,KAAGJ,IAAAd,EAAI,WAAJ,gBAAAc,EAAY,WAAU,EAAE,GAAGG,CAAQ,KAAGE,IAAAnB,EAAI,WAAJ,gBAAAmB,EAAY,WAAU,EAAE;AAGlF,cAAIC,IAAApB,EAAI,WAAJ,QAAAoB,EAAY,gBACVF,EAAS,UAAUlB,EAAI,OAAO,gBACzBkB,IAEFA,EAAS,UAAU,GAAGlB,EAAI,OAAO,aAAa,IAAI,QAGpDkB;AAAA,IACT;AAAA,EAAA;AAEJ;"}
@@ -1,4 +1,4 @@
1
- import { r as u, g as m } from "./utc-B2gCnkBk.js";
1
+ import { r as m, g as u } from "./utc-B2gCnkBk.js";
2
2
  function d(n, _) {
3
3
  for (var t = 0; t < _.length; t++) {
4
4
  const e = _[t];
@@ -19,12 +19,12 @@ var o = { exports: {} }, M = o.exports, s;
19
19
  function f() {
20
20
  return s || (s = 1, (function(n, _) {
21
21
  (function(t, e) {
22
- n.exports = e(u());
22
+ n.exports = e(m());
23
23
  })(M, (function(t) {
24
24
  function e(r) {
25
25
  return r && typeof r == "object" && "default" in r ? r : { default: r };
26
26
  }
27
- var a = e(t), i = { name: "ga", weekdays: "Dé Domhnaigh_Dé Luain_Dé Máirt_Dé Céadaoin_Déardaoin_Dé hAoine_Dé Satharn".split("_"), months: "Eanáir_Feabhra_Márta_Aibreán_Bealtaine_Méitheamh_Iúil_Lúnasa_Meán Fómhair_Deaireadh Fómhair_Samhain_Nollaig".split("_"), weekStart: 1, weekdaysShort: "Dom_Lua_Mái_Céa_Déa_hAo_Sat".split("_"), monthsShort: "Eaná_Feab_Márt_Aibr_Beal_Méit_Iúil_Lúna_Meán_Deai_Samh_Noll".split("_"), weekdaysMin: "Do_Lu_Má_Ce_Dé_hA_Sa".split("_"), ordinal: function(r) {
27
+ var a = e(t), i = { name: "ga", weekdays: "Dé Domhnaigh_Dé Luain_Dé Máirt_Dé Céadaoin_Déardaoin_Dé hAoine_Dé Sathairn".split("_"), months: "Eanáir_Feabhra_Márta_Aibreán_Bealtaine_Meitheamh_Iúil_Lúnasa_Meán Fómhair_Deireadh Fómhair_Samhain_Nollaig".split("_"), weekStart: 1, weekdaysShort: "Dom_Lua_Mái_Céa_Déa_Aoi_Sat".split("_"), monthsShort: "Ean_Fea_Már_Aib_Beal_Mei_Iúil_Lún_MFómh_DFómh_Samh_Noll".split("_"), weekdaysMin: "Do_Lu_Má_Cé_Dé_Ao_Sa".split("_"), ordinal: function(r) {
28
28
  return r;
29
29
  }, formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" }, relativeTime: { future: "i %s", past: "%s ó shin", s: "cúpla soicind", m: "nóiméad", mm: "%d nóiméad", h: "uair an chloig", hh: "%d uair an chloig", d: "lá", dd: "%d lá", M: "mí", MM: "%d mí", y: "bliain", yy: "%d bliain" } };
30
30
  return a.default.locale(i, null, !0), i;
@@ -32,11 +32,11 @@ function f() {
32
32
  })(o)), o.exports;
33
33
  }
34
34
  var l = f();
35
- const h = /* @__PURE__ */ m(l), c = /* @__PURE__ */ d({
35
+ const h = /* @__PURE__ */ u(l), c = /* @__PURE__ */ d({
36
36
  __proto__: null,
37
37
  default: h
38
38
  }, [l]);
39
39
  export {
40
40
  c as g
41
41
  };
42
- //# sourceMappingURL=ga-DOnkmpCn.js.map
42
+ //# sourceMappingURL=ga-BgTlCTPa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ga-BgTlCTPa.js","sources":["../node_modules/dayjs/locale/ga.js"],"sourcesContent":["!function(a,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],i):(a=\"undefined\"!=typeof globalThis?globalThis:a||self).dayjs_locale_ga=i(a.dayjs)}(this,(function(a){\"use strict\";function i(a){return a&&\"object\"==typeof a&&\"default\"in a?a:{default:a}}var e=i(a),n={name:\"ga\",weekdays:\"Dé Domhnaigh_Dé Luain_Dé Máirt_Dé Céadaoin_Déardaoin_Dé hAoine_Dé Sathairn\".split(\"_\"),months:\"Eanáir_Feabhra_Márta_Aibreán_Bealtaine_Meitheamh_Iúil_Lúnasa_Meán Fómhair_Deireadh Fómhair_Samhain_Nollaig\".split(\"_\"),weekStart:1,weekdaysShort:\"Dom_Lua_Mái_Céa_Déa_Aoi_Sat\".split(\"_\"),monthsShort:\"Ean_Fea_Már_Aib_Beal_Mei_Iúil_Lún_MFómh_DFómh_Samh_Noll\".split(\"_\"),weekdaysMin:\"Do_Lu_Má_Cé_Dé_Ao_Sa\".split(\"_\"),ordinal:function(a){return a},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},relativeTime:{future:\"i %s\",past:\"%s ó shin\",s:\"cúpla soicind\",m:\"nóiméad\",mm:\"%d nóiméad\",h:\"uair an chloig\",hh:\"%d uair an chloig\",d:\"lá\",dd:\"%d lá\",M:\"mí\",MM:\"%d mí\",y:\"bliain\",yy:\"%d bliain\"}};return e.default.locale(n,null,!0),n}));"],"names":["a","i","module","require$$0","this","e","n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,KAAC,SAASA,GAAEC,GAAE;AAAsD,MAAAC,EAAA,UAAeD,EAAEE,EAAA,CAAgB;AAAA,IAA4I,GAAEC,IAAM,SAASJ,GAAE;AAAc,eAASC,EAAED,GAAE;AAAC,eAAOA,KAAa,OAAOA,KAAjB,YAAoB,aAAYA,IAAEA,IAAE,EAAC,SAAQA,EAAC;AAAA,MAAC;AAAC,UAAIK,IAAEJ,EAAED,CAAC,GAAEM,IAAE,EAAC,MAAK,MAAK,UAAS,6EAA6E,MAAM,GAAG,GAAE,QAAO,6GAA6G,MAAM,GAAG,GAAE,WAAU,GAAE,eAAc,8BAA8B,MAAM,GAAG,GAAE,aAAY,0DAA0D,MAAM,GAAG,GAAE,aAAY,uBAAuB,MAAM,GAAG,GAAE,SAAQ,SAASN,GAAE;AAAC,eAAOA;AAAA,MAAC,GAAE,SAAQ,EAAC,IAAG,SAAQ,KAAI,YAAW,GAAE,cAAa,IAAG,eAAc,KAAI,qBAAoB,MAAK,0BAAyB,GAAE,cAAa,EAAC,QAAO,QAAO,MAAK,aAAY,GAAE,iBAAgB,GAAE,WAAU,IAAG,cAAa,GAAE,kBAAiB,IAAG,qBAAoB,GAAE,MAAK,IAAG,SAAQ,GAAE,MAAK,IAAG,SAAQ,GAAE,UAAS,IAAG,YAAW,EAAC;AAAE,aAAOK,EAAE,QAAQ,OAAOC,GAAE,MAAK,EAAE,GAAEA;AAAA,IAAC,EAAC;AAAA;;;;;;;","x_google_ignoreList":[0]}
@@ -1,18 +1,17 @@
1
- import { a4 as I, j as t, a7 as V, a6 as w, ae as z, ah as U, ai as J, af as C, ag as K, ad as X, r as G, U as H } from "./component.constants-BtSbiLSA.js";
2
- import { g as Q } from "./formatter.utils-DsSqaQLy.js";
3
- import { useTheme as W } from "@embeddable.com/react";
4
- import { u as Y, d as Z, I as ee, S as te, E as se } from "./EditorCard-tBhUO9qV.js";
5
- import { useState as T, useRef as le, useEffect as B, useMemo as ae } from "react";
6
- import { B as ne } from "./BaseButton-D3Nh2VwK.js";
1
+ import { ac as I, j as t, ae as V, ag as w, af as z, ao as U, ar as J, as as K, ap as C, aq as X, an as G, r as H, U as Q } from "./component.constants-D59iJ42U.js";
2
+ import { g as W } from "./formatter.utils-DDLdrAl9.js";
3
+ import { useTheme as Y } from "@embeddable.com/react";
4
+ import { u as Z, d as ee, I as te, S as se, E as le } from "./EditorCard-B7s7sQ-B.js";
5
+ import { useState as T, useRef as ae, useEffect as N, useMemo as ne } from "react";
7
6
  /**
8
- * @license @tabler/icons-react v3.34.1 - MIT
7
+ * @license @tabler/icons-react v3.35.0 - MIT
9
8
  *
10
9
  * This source code is licensed under the MIT license.
11
10
  * See the LICENSE file in the root directory of this source tree.
12
11
  */
13
12
  const oe = [["path", { d: "M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z", key: "svg-0" }]], ce = I("outline", "square", "Square", oe);
14
13
  /**
15
- * @license @tabler/icons-react v3.34.1 - MIT
14
+ * @license @tabler/icons-react v3.35.0 - MIT
16
15
  *
17
16
  * This source code is licensed under the MIT license.
18
17
  * See the LICENSE file in the root directory of this source tree.
@@ -32,7 +31,7 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
32
31
  size: c,
33
32
  ...o
34
33
  }) => /* @__PURE__ */ t.jsxs(
35
- ne,
34
+ V,
36
35
  {
37
36
  variant: u,
38
37
  ...o,
@@ -41,10 +40,10 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
41
40
  children: [
42
41
  m && /* @__PURE__ */ t.jsx(m, { className: b.icon }),
43
42
  /* @__PURE__ */ t.jsx(
44
- V,
43
+ w,
45
44
  {
46
45
  as: "span",
47
- className: w(
46
+ className: z(
48
47
  b.buttonText,
49
48
  b[`buttonText${c.charAt(0).toUpperCase() + c.slice(1)}`]
50
49
  ),
@@ -54,7 +53,7 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
54
53
  n && /* @__PURE__ */ t.jsx(n, { className: b.icon })
55
54
  ]
56
55
  }
57
- ), he = "_submitButton_gpe2a_1", fe = "_selectField_gpe2a_5", N = {
56
+ ), he = "_submitButton_gpe2a_1", fe = "_selectField_gpe2a_5", B = {
58
57
  submitButton: he,
59
58
  selectField: fe
60
59
  }, je = ({
@@ -72,10 +71,10 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
72
71
  error: p = !1,
73
72
  errorMessage: x
74
73
  }) => {
75
- const [S, _] = T(!1), [h, i] = T(""), [r, v] = T(s), [L, M] = T(""), O = le(null);
76
- Y(S, O), B(() => {
74
+ const [S, _] = T(!1), [h, i] = T(""), [r, v] = T(s), [L, M] = T(""), O = ae(null);
75
+ Z(S, O), N(() => {
77
76
  v(s);
78
- }, [JSON.stringify(s)]), B(() => {
77
+ }, [JSON.stringify(s)]), N(() => {
79
78
  if (n)
80
79
  return;
81
80
  if (!s || s.length === 0) {
@@ -93,7 +92,7 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
93
92
  M(`(${e.length}) ${a}`);
94
93
  }
95
94
  }, [s, o, n]);
96
- const F = ae(() => l ? Z(l) : void 0, [l]), k = d && !l ? o.filter((e) => e.label.toLowerCase().includes(h.toLowerCase())) : o, q = r.every((e) => s.includes(e)) && s.every((e) => r.includes(e)), P = (e, a) => {
95
+ const F = ne(() => l ? ee(l) : void 0, [l]), k = d && !l ? o.filter((e) => e.label.toLowerCase().includes(h.toLowerCase())) : o, q = r.every((e) => s.includes(e)) && s.every((e) => r.includes(e)), P = (e, a) => {
97
96
  e.preventDefault(), a && (r.includes(a) ? v(r.filter((g) => g !== a)) : v([...r, a]));
98
97
  }, D = (e) => {
99
98
  i(e), F == null || F(e);
@@ -102,15 +101,15 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
102
101
  }, $ = () => {
103
102
  i(""), l == null || l(""), j([]);
104
103
  }, A = p || !!x;
105
- return /* @__PURE__ */ t.jsxs("div", { className: N.selectField, children: [
104
+ return /* @__PURE__ */ t.jsxs("div", { className: B.selectField, children: [
106
105
  /* @__PURE__ */ t.jsx(
107
- z,
106
+ U,
108
107
  {
109
108
  open: S,
110
109
  onOpenChange: _,
111
110
  disabled: u,
112
111
  triggerComponent: /* @__PURE__ */ t.jsx(
113
- K,
112
+ X,
114
113
  {
115
114
  "aria-label": "Select options",
116
115
  placeholder: f,
@@ -122,12 +121,12 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
122
121
  error: A
123
122
  }
124
123
  ),
125
- children: /* @__PURE__ */ t.jsxs(U, { children: [
124
+ children: /* @__PURE__ */ t.jsxs(J, { children: [
126
125
  d && /* @__PURE__ */ t.jsx(
127
- J,
126
+ K,
128
127
  {
129
128
  ref: O,
130
- startIcon: ee,
129
+ startIcon: te,
131
130
  "aria-label": "Search options",
132
131
  placeholder: "Search…",
133
132
  role: "searchbox",
@@ -136,7 +135,7 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
136
135
  onChange: D
137
136
  }
138
137
  ),
139
- /* @__PURE__ */ t.jsxs(te, { disabled: n, children: [
138
+ /* @__PURE__ */ t.jsxs(se, { disabled: n, children: [
140
139
  k.map((e) => /* @__PURE__ */ t.jsx(
141
140
  C,
142
141
  {
@@ -151,7 +150,7 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
151
150
  /* @__PURE__ */ t.jsx(
152
151
  _e,
153
152
  {
154
- className: N.submitButton,
153
+ className: B.submitButton,
155
154
  disabled: q || n,
156
155
  variant: "primary",
157
156
  size: "medium",
@@ -163,11 +162,11 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
163
162
  ] })
164
163
  }
165
164
  ),
166
- x && /* @__PURE__ */ t.jsx(X, { message: x })
165
+ x && /* @__PURE__ */ t.jsx(G, { message: x })
167
166
  ] });
168
167
  }, Se = 200, ge = (u) => {
169
168
  var _, h;
170
- const m = W(), n = Q(m), {
169
+ const m = Y(), n = W(m), {
171
170
  title: d,
172
171
  description: c,
173
172
  dimension: o,
@@ -177,11 +176,11 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
177
176
  selectedValues: j,
178
177
  setSearchValue: l,
179
178
  onChange: p
180
- } = G(u), x = ((_ = s.data) == null ? void 0 : _.map((i) => ({
179
+ } = H(u), x = ((_ = s.data) == null ? void 0 : _.map((i) => ({
181
180
  value: f ? i[f.name] : i[o.name],
182
181
  label: n.data(o, i[o.name])
183
182
  }))) ?? [], S = !s.isLoading && (((h = s.data) == null ? void 0 : h.length) ?? 0) === 0;
184
- return /* @__PURE__ */ t.jsx(se, { title: d, subtitle: c, children: /* @__PURE__ */ t.jsx(
183
+ return /* @__PURE__ */ t.jsx(le, { title: d, subtitle: c, children: /* @__PURE__ */ t.jsx(
185
184
  je,
186
185
  {
187
186
  isClearable: !0,
@@ -190,12 +189,12 @@ const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
190
189
  values: j ?? [],
191
190
  options: x,
192
191
  placeholder: y,
193
- noOptionsMessage: S ? H.t("common.noOptionsFound") : void 0,
192
+ noOptionsMessage: S ? Q.t("common.noOptionsFound") : void 0,
194
193
  onChange: (i) => p == null ? void 0 : p(i),
195
194
  onSearch: l
196
195
  }
197
196
  ) });
198
- }, Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
197
+ }, Oe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
199
198
  __proto__: null,
200
199
  MAX_OPTIONS: Se,
201
200
  default: ge
@@ -205,6 +204,6 @@ export {
205
204
  Se as M,
206
205
  ge as a,
207
206
  je as b,
208
- Ce as i
207
+ Oe as i
209
208
  };
210
- //# sourceMappingURL=index-0EU9wBvd.js.map
209
+ //# sourceMappingURL=index-Bh33sXJ4.js.map