@embeddable.com/remarkable-pro 0.1.7 → 0.1.9
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.
- package/dist/BarChartDefaultHorizontalPro.js +8 -8
- package/dist/BarChartDefaultPro.js +5 -5
- package/dist/BarChartGroupedHorizontalPro.js +5 -5
- package/dist/BarChartGroupedPro.js +9 -9
- package/dist/BarChartStackedHorizontalPro.js +5 -5
- package/dist/BarChartStackedPro.js +5 -5
- package/dist/ChartCard-Bu-80NJh.js +117 -0
- package/dist/{ChartCard-lY9ll4LQ.js.map → ChartCard-Bu-80NJh.js.map} +1 -1
- package/dist/{Color.type.emb-DyMeb06O.js → Color.type.emb-JBTB4VAn.js} +12869 -12753
- package/dist/Color.type.emb-JBTB4VAn.js.map +1 -0
- package/dist/ColorEditor.js +10 -29
- package/dist/ColorEditor.js.map +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +3 -3
- package/dist/DateRangePickerCustomPro.js +12 -39
- package/dist/DateRangePickerCustomPro.js.map +1 -1
- package/dist/DateRangeSelectFieldPro.js +3 -3
- package/dist/{DimensionAndMeasureSingleSelectField-CauMjY7c.js → DimensionAndMeasureSingleSelectField-C5B9m3hv.js} +8 -7
- package/dist/DimensionAndMeasureSingleSelectField-C5B9m3hv.js.map +1 -0
- package/dist/DimensionSingleSelectFieldPro.js +12 -27
- package/dist/DimensionSingleSelectFieldPro.js.map +1 -1
- package/dist/DonutChartPro.js +4 -4
- package/dist/DonutLabelChartPro.js +4 -4
- package/dist/{EditorCard-BT_swxOl.js → EditorCard-DlwWVuY3.js} +11 -11
- package/dist/EditorCard-DlwWVuY3.js.map +1 -0
- package/dist/EmptyBlockPro.js +7 -6
- package/dist/EmptyBlockPro.js.map +1 -1
- package/dist/{GranularitySelectField-BxO_3Xt9.js → GranularitySelectField-DpCZ47f8.js} +28 -25
- package/dist/{GranularitySelectField-BxO_3Xt9.js.map → GranularitySelectField-DpCZ47f8.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +11 -27
- package/dist/GranularitySelectFieldPro.js.map +1 -1
- package/dist/HeatMapPro.js +4 -4
- package/dist/{IconCalendarFilled-CnWTSJdY.js → IconCalendarFilled-DPibPYqC.js} +2 -2
- package/dist/{IconCalendarFilled-CnWTSJdY.js.map → IconCalendarFilled-DPibPYqC.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +4 -4
- package/dist/KpiChartNumberPro.js +6 -6
- package/dist/LineChartComparisonDefaultPro.js +5 -5
- package/dist/LineChartDefaultPro.js +5 -5
- package/dist/LineChartGroupedPro.js +5 -5
- package/dist/MeasureSingleSelectFieldPro.js +14 -29
- package/dist/MeasureSingleSelectFieldPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +4 -4
- package/dist/PieChartPro.js +4 -4
- package/dist/PivotTablePro.js +77 -43
- package/dist/PivotTablePro.js.map +1 -1
- package/dist/SingleSelectFieldPro.js +4 -4
- package/dist/TableChartPaginated.js +8 -8
- package/dist/TableScrollable.js +58 -480
- package/dist/TableScrollable.js.map +1 -1
- package/dist/{bars.utils-D67ef4lU.js → bars.utils-DZf4BZCu.js} +7 -7
- package/dist/{bars.utils-D67ef4lU.js.map → bars.utils-DZf4BZCu.js.map} +1 -1
- package/dist/{charts.utils-B3C8A2Nv.js → charts.utils-MNXWiXfk.js} +1165 -1104
- package/dist/charts.utils-MNXWiXfk.js.map +1 -0
- package/dist/{component.inputs.constants-DIuvtpIr.js → component.inputs.constants-Cj-atN8w.js} +11 -10
- package/dist/{component.inputs.constants-DIuvtpIr.js.map → component.inputs.constants-Cj-atN8w.js.map} +1 -1
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/lines.utils.d.ts +1 -1
- package/dist/components/charts/lines/lines.utils.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutChartPro/index.d.ts +1 -1
- package/dist/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts +1 -1
- package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
- package/dist/components/charts/pies/PieChartPro/index.d.ts +1 -1
- package/dist/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
- package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts +1 -2
- package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts.map +1 -1
- package/dist/components/charts/tables/HeatMapPro/index.d.ts +1 -1
- package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/index.d.ts +5 -1
- package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/TableChartPaginated/index.d.ts +1 -1
- package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
- package/dist/components/charts/tables/TableScrollable/index.d.ts +1 -1
- package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
- package/dist/components/charts/tables/tables.hooks.d.ts +2 -2
- package/dist/components/charts/tables/tables.hooks.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/DimensionSingleSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/DimensionSingleSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/MeasureSingleSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/MeasureSingleSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/MultiSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/SingleSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
- package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.d.ts +1 -2
- package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.d.ts.map +1 -1
- package/dist/components/editors/shared/EditorCard/EditorCard.d.ts +1 -2
- package/dist/components/editors/shared/EditorCard/EditorCard.d.ts.map +1 -1
- package/dist/{dates.utils-BF32dTLi.js → dates.utils-D13NY0HZ.js} +32 -27
- package/dist/{dates.utils-BF32dTLi.js.map → dates.utils-D13NY0HZ.js.map} +1 -1
- package/dist/embeddable-components.json +26 -26
- package/dist/embeddable-theme-0137e.js +485 -433
- package/dist/{granularity.utils-DOE6WosF.js → granularity.utils-COYhEZ3f.js} +5 -5
- package/dist/granularity.utils-COYhEZ3f.js.map +1 -0
- package/dist/index-1LMAV7gp.js +131 -0
- package/dist/index-1LMAV7gp.js.map +1 -0
- package/dist/index-5qsLc5gK.js +28 -0
- package/dist/index-5qsLc5gK.js.map +1 -0
- package/dist/{index-CjHAwVRf.js → index-77C7AtLU.js} +5 -5
- package/dist/index-77C7AtLU.js.map +1 -0
- package/dist/{index-CUSduRHI.js → index-B0Z1wHFa.js} +5 -5
- package/dist/index-B0Z1wHFa.js.map +1 -0
- package/dist/{index-C-nvYCGs.js → index-BIYe6Mxp.js} +16 -16
- package/dist/index-BIYe6Mxp.js.map +1 -0
- package/dist/index-BLtSOe_I.js +28 -0
- package/dist/index-BLtSOe_I.js.map +1 -0
- package/dist/index-BfrhwVwQ.js +30 -0
- package/dist/index-BfrhwVwQ.js.map +1 -0
- package/dist/{index-GErBkwin.js → index-BownhTSN.js} +10 -10
- package/dist/index-BownhTSN.js.map +1 -0
- package/dist/{index-xEBUfTFG.js → index-BwwtBJde.js} +18 -18
- package/dist/index-BwwtBJde.js.map +1 -0
- package/dist/{index-Dqg161tJ.js → index-C6YdlImA.js} +10 -10
- package/dist/index-C6YdlImA.js.map +1 -0
- package/dist/{index-lRdvXdHc.js → index-CDfc3oko.js} +60 -60
- package/dist/index-CDfc3oko.js.map +1 -0
- package/dist/index-CKM7Eu4P.js +29 -0
- package/dist/index-CKM7Eu4P.js.map +1 -0
- package/dist/{index-CF3L0Llr.js → index-CWAfLnlR.js} +11 -11
- package/dist/index-CWAfLnlR.js.map +1 -0
- package/dist/index-CWoNbj8I.js +40 -0
- package/dist/index-CWoNbj8I.js.map +1 -0
- package/dist/index-CfSyZuh4.js +436 -0
- package/dist/index-CfSyZuh4.js.map +1 -0
- package/dist/{index-BurrZuJv.js → index-ChBjG9Oi.js} +12 -12
- package/dist/index-ChBjG9Oi.js.map +1 -0
- package/dist/{index-DE1v51rj.js → index-Ci4fIfj8.js} +8 -8
- package/dist/index-Ci4fIfj8.js.map +1 -0
- package/dist/{index-Cqijl93L.js → index-CwEdsnOz.js} +10 -10
- package/dist/index-CwEdsnOz.js.map +1 -0
- package/dist/index-CzKKN6Om.js +9 -0
- package/dist/index-CzKKN6Om.js.map +1 -0
- package/dist/{index-CWbF9C-q.js → index-D65Rq3k-.js} +6 -6
- package/dist/index-D65Rq3k-.js.map +1 -0
- package/dist/{index-D6MGD_eg.js → index-DA8SRHFS.js} +16 -16
- package/dist/index-DA8SRHFS.js.map +1 -0
- package/dist/{index-Ddl-xnlO.js → index-DILo_r4-.js} +8 -8
- package/dist/index-DILo_r4-.js.map +1 -0
- package/dist/{index-DUbT-KRk.js → index-DK0M5jbC.js} +10 -10
- package/dist/index-DK0M5jbC.js.map +1 -0
- package/dist/{index-CFrNEzVs.js → index-DKN0VZXM.js} +13 -13
- package/dist/index-DKN0VZXM.js.map +1 -0
- package/dist/{index-LXoveu2D.js → index-DN5C1NTk.js} +5 -5
- package/dist/index-DN5C1NTk.js.map +1 -0
- package/dist/{index-CMQ1TgyS.js → index-d6y81S-C.js} +23 -23
- package/dist/index-d6y81S-C.js.map +1 -0
- package/dist/{index-DY_fdpVZ.js → index-r9MBmJ_q.js} +5 -5
- package/dist/index-r9MBmJ_q.js.map +1 -0
- package/dist/{index-RClH7rnf.js → index-s6HzicAx.js} +20 -20
- package/dist/index-s6HzicAx.js.map +1 -0
- package/dist/index.d.ts +67 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +152 -91
- package/dist/index.js.map +1 -1
- package/dist/{lines.utils-COGf_F0b.js → lines.utils-CEGfmIHB.js} +5 -5
- package/dist/lines.utils-CEGfmIHB.js.map +1 -0
- package/dist/{pies.utils-JJQ8gWX5.js → pies.utils-CxJtBPWG.js} +5 -5
- package/dist/{pies.utils-JJQ8gWX5.js.map → pies.utils-CxJtBPWG.js.map} +1 -1
- package/dist/preview.data.constants-DWqfMVjy.js +123 -0
- package/dist/preview.data.constants-DWqfMVjy.js.map +1 -0
- package/dist/remarkable-pro.css +1 -1
- package/dist/styles.utils-BfpH_m_W.js.map +1 -1
- package/dist/tables.hooks-fVC_4V5K.js +47 -0
- package/dist/tables.hooks-fVC_4V5K.js.map +1 -0
- package/dist/{tables.utils-Tmh4h7ni.js → tables.utils-D4RGHDWw.js} +4 -4
- package/dist/{tables.utils-Tmh4h7ni.js.map → tables.utils-D4RGHDWw.js.map} +1 -1
- package/dist/theme/styles/styles.utils.d.ts +1 -2
- package/dist/theme/styles/styles.utils.d.ts.map +1 -1
- package/dist/{timeRange.utils-BkBVvgvj.js → timeRange.utils-D8kYnjqp.js} +5 -5
- package/dist/{timeRange.utils-BkBVvgvj.js.map → timeRange.utils-D8kYnjqp.js.map} +1 -1
- package/dist/utils/array.utils.d.ts +2 -0
- package/dist/utils/array.utils.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/ChartCard-lY9ll4LQ.js +0 -117
- package/dist/Color.type.emb-DyMeb06O.js.map +0 -1
- package/dist/DimensionAndMeasureSingleSelectField-CauMjY7c.js.map +0 -1
- package/dist/EditorCard-BT_swxOl.js.map +0 -1
- package/dist/charts.utils-B3C8A2Nv.js.map +0 -1
- package/dist/formatter.utils-7mfdOwJE.js +0 -54
- package/dist/formatter.utils-7mfdOwJE.js.map +0 -1
- package/dist/granularity.utils-DOE6WosF.js.map +0 -1
- package/dist/index-BurrZuJv.js.map +0 -1
- package/dist/index-C-nvYCGs.js.map +0 -1
- package/dist/index-CF3L0Llr.js.map +0 -1
- package/dist/index-CFrNEzVs.js.map +0 -1
- package/dist/index-CMQ1TgyS.js.map +0 -1
- package/dist/index-CUSduRHI.js.map +0 -1
- package/dist/index-CWbF9C-q.js.map +0 -1
- package/dist/index-CjHAwVRf.js.map +0 -1
- package/dist/index-Cqijl93L.js.map +0 -1
- package/dist/index-D6MGD_eg.js.map +0 -1
- package/dist/index-DE1v51rj.js.map +0 -1
- package/dist/index-DUbT-KRk.js.map +0 -1
- package/dist/index-DY_fdpVZ.js.map +0 -1
- package/dist/index-Ddl-xnlO.js.map +0 -1
- package/dist/index-Dqg161tJ.js.map +0 -1
- package/dist/index-GErBkwin.js.map +0 -1
- package/dist/index-LXoveu2D.js.map +0 -1
- package/dist/index-QipF64Oq.js +0 -99
- package/dist/index-QipF64Oq.js.map +0 -1
- package/dist/index-RClH7rnf.js.map +0 -1
- package/dist/index-lRdvXdHc.js.map +0 -1
- package/dist/index-xEBUfTFG.js.map +0 -1
- package/dist/lines.utils-COGf_F0b.js.map +0 -1
- package/dist/preview.data.constants-BsS2fJxn.js +0 -72
- package/dist/preview.data.constants-BsS2fJxn.js.map +0 -1
- package/dist/tables.hooks-BQdyUxau.js +0 -45
- package/dist/tables.hooks-BQdyUxau.js.map +0 -1
package/dist/ColorEditor.js
CHANGED
|
@@ -1,37 +1,18 @@
|
|
|
1
|
-
import { defineEditor as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
const
|
|
5
|
-
colorInputContainer: I,
|
|
6
|
-
colorInput: d
|
|
7
|
-
}, f = ({ value: o, onChange: t }) => {
|
|
8
|
-
const [n, e] = m(o);
|
|
9
|
-
return C(() => {
|
|
10
|
-
e(o);
|
|
11
|
-
}, [o, e]), /* @__PURE__ */ r.jsxs("div", { className: s.colorInputContainer, children: [
|
|
12
|
-
/* @__PURE__ */ r.jsx(
|
|
13
|
-
"input",
|
|
14
|
-
{
|
|
15
|
-
type: "color",
|
|
16
|
-
className: s.colorInput,
|
|
17
|
-
value: n ?? "#FFFFFF",
|
|
18
|
-
onChange: (c) => t(c.target.value)
|
|
19
|
-
}
|
|
20
|
-
),
|
|
21
|
-
n && /* @__PURE__ */ r.jsx(a, { icon: i, onClick: () => t(void 0) })
|
|
22
|
-
] });
|
|
23
|
-
}, _ = {
|
|
1
|
+
import { defineEditor as e } from "@embeddable.com/react";
|
|
2
|
+
import { C as a, V as i } from "./Color.type.emb-JBTB4VAn.js";
|
|
3
|
+
import { C as l } from "./index-BfrhwVwQ.js";
|
|
4
|
+
const m = {
|
|
24
5
|
name: "ColorEditor",
|
|
25
6
|
label: "Color editor",
|
|
26
|
-
type:
|
|
27
|
-
},
|
|
28
|
-
inputs: (o,
|
|
7
|
+
type: a
|
|
8
|
+
}, s = e(l, m, {
|
|
9
|
+
inputs: (o, r) => ({
|
|
29
10
|
value: o,
|
|
30
|
-
onChange: (
|
|
11
|
+
onChange: (t) => r(i.of(t))
|
|
31
12
|
})
|
|
32
13
|
});
|
|
33
14
|
export {
|
|
34
|
-
|
|
35
|
-
|
|
15
|
+
s as default,
|
|
16
|
+
m as meta
|
|
36
17
|
};
|
|
37
18
|
//# sourceMappingURL=ColorEditor.js.map
|
package/dist/ColorEditor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorEditor.js","sources":["../src/editors/ColorEditor/
|
|
1
|
+
{"version":3,"file":"ColorEditor.js","sources":["../src/editors/ColorEditor/ColorEditor.emb.ts"],"sourcesContent":["import { defineEditor } from '@embeddable.com/react';\nimport ColorType from './Color.type.emb';\nimport { Value } from '@embeddable.com/core';\n\nimport Component from './index';\n\nexport const meta = {\n name: 'ColorEditor',\n label: 'Color editor',\n type: ColorType,\n};\n\n/* @ts-expect-error - to be fixed in @embeddable.com/react */\nexport default defineEditor(Component, meta, {\n inputs: (value, setter) => {\n return {\n value,\n onChange: (val: string) => setter(Value.of(val)),\n };\n },\n});\n"],"names":["meta","ColorType","ColorEditor_emb","defineEditor","Component","value","setter","val","Value"],"mappings":";;;AAMO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAMC;AACR,GAGAC,IAAeC,EAAaC,GAAWJ,GAAM;AAAA,EAC3C,QAAQ,CAACK,GAAOC,OACP;AAAA,IACL,OAAAD;AAAA,IACA,UAAU,CAACE,MAAgBD,EAAOE,EAAM,GAAGD,CAAG,CAAC;AAAA,EAAA;AAGrD,CAAC;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { definePreview as t, defineComponent as n } from "@embeddable.com/react";
|
|
2
|
-
import { V as r } from "./Color.type.emb-
|
|
3
|
-
import { D as i } from "./index-
|
|
4
|
-
import { C as a,
|
|
2
|
+
import { V as r } from "./Color.type.emb-JBTB4VAn.js";
|
|
3
|
+
import { D as i } from "./index-Ci4fIfj8.js";
|
|
4
|
+
import { C as a, c as e } from "./component.inputs.constants-Cj-atN8w.js";
|
|
5
5
|
const l = {
|
|
6
6
|
name: "ComparisonPeriodSelectFieldPro",
|
|
7
7
|
label: "Comparison Period Select Field",
|
|
@@ -1,35 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import { I as L } from "./IconCalendarFilled-CnWTSJdY.js";
|
|
7
|
-
const r = (a) => {
|
|
8
|
-
const t = P();
|
|
9
|
-
F(t);
|
|
10
|
-
const { dayjsLocaleReady: i } = V();
|
|
11
|
-
if (!i)
|
|
12
|
-
return null;
|
|
13
|
-
const { description: c, placeholder: d, title: m, tooltip: u } = M(a), { onChange: g, clearable: p, selectedValue: n, showTwoMonths: h } = a, f = (v) => {
|
|
14
|
-
const C = j(v);
|
|
15
|
-
g(C);
|
|
16
|
-
}, o = t.defaults.dateRangesOptions, R = k(n, "MMM DD", o), b = t.i18n.language ?? t.formatter.locale;
|
|
17
|
-
return /* @__PURE__ */ l.jsx(x, { title: m, description: c, tooltip: u, children: /* @__PURE__ */ l.jsx(
|
|
18
|
-
w,
|
|
19
|
-
{
|
|
20
|
-
startIcon: L,
|
|
21
|
-
locale: b,
|
|
22
|
-
clearable: p,
|
|
23
|
-
placeholder: d,
|
|
24
|
-
displayValue: R,
|
|
25
|
-
numberOfMonths: h ? 2 : 1,
|
|
26
|
-
value: S(n, o),
|
|
27
|
-
onChange: f,
|
|
28
|
-
submitLabel: T.t("editors.dateRangePicker.apply"),
|
|
29
|
-
avoidCollisions: !1
|
|
30
|
-
}
|
|
31
|
-
) });
|
|
32
|
-
}, I = {
|
|
1
|
+
import { definePreview as o, defineComponent as l } from "@embeddable.com/react";
|
|
2
|
+
import { V as t } from "./Color.type.emb-JBTB4VAn.js";
|
|
3
|
+
import { D as n } from "./index-CWoNbj8I.js";
|
|
4
|
+
import { c as e } from "./component.inputs.constants-Cj-atN8w.js";
|
|
5
|
+
const r = {
|
|
33
6
|
name: "DateRangePickerCustomPro",
|
|
34
7
|
label: "Date-Range Picker - Custom",
|
|
35
8
|
category: "Dropdowns",
|
|
@@ -72,26 +45,26 @@ const r = (a) => {
|
|
|
72
45
|
{
|
|
73
46
|
name: "date-range value",
|
|
74
47
|
type: "timeRange",
|
|
75
|
-
defaultValue:
|
|
48
|
+
defaultValue: t.noFilter(),
|
|
76
49
|
inputs: ["selectedValue"],
|
|
77
50
|
events: [{ name: "onChange", property: "value" }]
|
|
78
51
|
}
|
|
79
52
|
]
|
|
80
|
-
},
|
|
53
|
+
}, d = o(n, {
|
|
81
54
|
onChange: () => null
|
|
82
|
-
}),
|
|
55
|
+
}), p = l(n, r, {
|
|
83
56
|
props: (a) => ({
|
|
84
57
|
...a
|
|
85
58
|
}),
|
|
86
59
|
events: {
|
|
87
60
|
onChange: (a) => ({
|
|
88
|
-
value: a ??
|
|
61
|
+
value: a ?? t.noFilter()
|
|
89
62
|
})
|
|
90
63
|
}
|
|
91
64
|
});
|
|
92
65
|
export {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
66
|
+
p as default,
|
|
67
|
+
r as meta,
|
|
68
|
+
d as preview
|
|
96
69
|
};
|
|
97
70
|
//# sourceMappingURL=DateRangePickerCustomPro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerCustomPro.js","sources":["../src/components/editors/dates/DateRangePickerCustomPro/
|
|
1
|
+
{"version":3,"file":"DateRangePickerCustomPro.js","sources":["../src/components/editors/dates/DateRangePickerCustomPro/DateRangePickerCustomPro.emb.ts"],"sourcesContent":["import {\n defineComponent,\n definePreview,\n EmbeddedComponentMeta,\n Inputs,\n} from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport DateTimeSelectFieldPro from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nexport const meta = {\n name: 'DateRangePickerCustomPro',\n label: 'Date-Range Picker - Custom',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-range' },\n inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two months',\n defaultValue: false,\n category: 'Component Settings',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected date-range updated',\n properties: [\n {\n name: 'value',\n label: 'Selected date-range',\n type: 'timeRange',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'date-range value',\n type: 'timeRange',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport const preview = definePreview(DateTimeSelectFieldPro, {\n onChange: () => null,\n});\n\nexport default defineComponent(DateTimeSelectFieldPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n },\n events: {\n onChange: (range) => ({\n value: range ?? Value.noFilter(),\n }),\n },\n});\n"],"names":["meta","inputs","Value","preview","definePreview","DateTimeSelectFieldPro","DateRangePickerCustomPro_emb","defineComponent","range"],"mappings":";;;;AAUO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,sBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,eAAe;AAAA,MACxB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEaC,IAAUC,EAAcC,GAAwB;AAAA,EAC3D,UAAU,MAAM;AAClB,CAAC,GAEDC,IAAeC,EAAgBF,GAAwBL,GAAM;AAAA,EAC3D,OAAO,CAACC,OACC;AAAA,IACL,GAAGA;AAAAA,EAAA;AAAA,EAGP,QAAQ;AAAA,IACN,UAAU,CAACO,OAAW;AAAA,MACpB,OAAOA,KAASN,EAAM,SAAA;AAAA,IAAS;AAAA,EACjC;AAEJ,CAAC;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { definePreview as o, defineComponent as l } from "@embeddable.com/react";
|
|
2
|
-
import { V as t } from "./Color.type.emb-
|
|
3
|
-
import { D as n } from "./index-
|
|
4
|
-
import {
|
|
2
|
+
import { V as t } from "./Color.type.emb-JBTB4VAn.js";
|
|
3
|
+
import { D as n } from "./index-BwwtBJde.js";
|
|
4
|
+
import { c as e } from "./component.inputs.constants-Cj-atN8w.js";
|
|
5
5
|
const r = {
|
|
6
6
|
name: "DateRangeSelectFieldPro",
|
|
7
7
|
label: "Date-Range Picker - Presets",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { j as f, S as d } from "./Color.type.emb-
|
|
1
|
+
import { j as f, S as d } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
2
|
import { useTheme as S } from "@embeddable.com/react";
|
|
3
|
-
import { useState as
|
|
4
|
-
import { g as C } from "./
|
|
3
|
+
import { useState as g, useEffect as p } from "react";
|
|
4
|
+
import { g as C } from "./preview.data.constants-DWqfMVjy.js";
|
|
5
5
|
const v = ({
|
|
6
6
|
dimensionsAndMeasures: s,
|
|
7
7
|
searchValue: r,
|
|
@@ -13,11 +13,11 @@ const v = ({
|
|
|
13
13
|
label: n.dimensionOrMeasureTitle(e)
|
|
14
14
|
}));
|
|
15
15
|
}, M = (s) => {
|
|
16
|
-
const r = S(), [a, n] =
|
|
16
|
+
const r = S(), [a, n] = g(""), { selectedValue: e, options: t, clearable: i, placeholder: m, onChange: l } = s, u = (c) => {
|
|
17
17
|
const o = t.find((h) => h.name === c);
|
|
18
18
|
l(o);
|
|
19
19
|
};
|
|
20
|
-
return
|
|
20
|
+
return p(() => {
|
|
21
21
|
if (!(!i && !e)) return;
|
|
22
22
|
const o = t == null ? void 0 : t[0];
|
|
23
23
|
o && l(o);
|
|
@@ -40,6 +40,7 @@ const v = ({
|
|
|
40
40
|
);
|
|
41
41
|
};
|
|
42
42
|
export {
|
|
43
|
-
M as D
|
|
43
|
+
M as D,
|
|
44
|
+
v as g
|
|
44
45
|
};
|
|
45
|
-
//# sourceMappingURL=DimensionAndMeasureSingleSelectField-
|
|
46
|
+
//# sourceMappingURL=DimensionAndMeasureSingleSelectField-C5B9m3hv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DimensionAndMeasureSingleSelectField-C5B9m3hv.js","sources":["../src/components/editors/utils/dimensionsAndMeasures.utils.ts","../src/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.tsx"],"sourcesContent":["import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\n\nexport const getDimensionAndMeasureOptions = ({\n dimensionsAndMeasures,\n searchValue,\n theme,\n}: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n searchValue: string;\n theme: Theme;\n}): SelectListOptionProps[] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return dimensionsAndMeasures\n .filter((dimensionOrMeasure) => {\n return themeFormatter\n .dimensionOrMeasureTitle(dimensionOrMeasure)\n .toLowerCase()\n .includes(searchValue.toLowerCase());\n })\n .map((dimensionOrMeasure) => {\n return {\n value: dimensionOrMeasure.name,\n label: themeFormatter.dimensionOrMeasureTitle(dimensionOrMeasure),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useEffect, useState } from 'react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { getDimensionAndMeasureOptions } from '../../utils/dimensionsAndMeasures.utils';\nimport { Dimension, Measure } from '@embeddable.com/core';\n\nexport type DimensionAndMeasureSingleSelectFieldProps<T> = {\n selectedValue?: T;\n options: T[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: T | undefined) => void;\n};\n\nexport const DimensionAndMeasureSingleSelectField = <T extends Dimension | Measure>(\n props: DimensionAndMeasureSingleSelectFieldProps<T>,\n) => {\n const theme = useTheme() as Theme;\n\n const [searchValue, setSearchValue] = useState<string>('');\n\n const { selectedValue, options, clearable, placeholder, onChange } = props;\n\n const handleChange = (newValue: string) => {\n const newSelection = options.find((option) => option.name === newValue);\n onChange(newSelection);\n };\n\n // Auto-select first dimensionOrMeasure when is not clearable and there is no selection\n useEffect(() => {\n const autoSelectActive = !clearable && !selectedValue;\n\n if (!autoSelectActive) return;\n\n const firstDimension = options?.[0];\n\n if (firstDimension) {\n onChange(firstDimension);\n }\n }, [clearable, selectedValue, options, onChange]);\n\n return (\n <SingleSelectField\n searchable\n clearable={clearable}\n placeholder={placeholder}\n value={selectedValue?.name}\n onChange={handleChange}\n onSearch={setSearchValue}\n options={getDimensionAndMeasureOptions({\n dimensionsAndMeasures: options,\n searchValue,\n theme,\n })}\n avoidCollisions={false}\n />\n );\n};\n"],"names":["getDimensionAndMeasureOptions","dimensionsAndMeasures","searchValue","theme","themeFormatter","getThemeFormatter","dimensionOrMeasure","DimensionAndMeasureSingleSelectField","props","useTheme","setSearchValue","useState","selectedValue","options","clearable","placeholder","onChange","handleChange","newValue","newSelection","option","useEffect","firstDimension","jsx","SingleSelectField"],"mappings":";;;;AAKO,MAAMA,IAAgC,CAAC;AAAA,EAC5C,uBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAI+B;AAC7B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAOF,EACJ,OAAO,CAACK,MACAF,EACJ,wBAAwBE,CAAkB,EAC1C,cACA,SAASJ,EAAY,aAAa,CACtC,EACA,IAAI,CAACI,OACG;AAAA,IACL,OAAOA,EAAmB;AAAA,IAC1B,OAAOF,EAAe,wBAAwBE,CAAkB;AAAA,EAAA,EAEnE;AACL,GCdaC,IAAuC,CAClDC,MACG;AACH,QAAML,IAAQM,EAAA,GAER,CAACP,GAAaQ,CAAc,IAAIC,EAAiB,EAAE,GAEnD,EAAE,eAAAC,GAAe,SAAAC,GAAS,WAAAC,GAAW,aAAAC,GAAa,UAAAC,MAAaR,GAE/DS,IAAe,CAACC,MAAqB;AACzC,UAAMC,IAAeN,EAAQ,KAAK,CAACO,MAAWA,EAAO,SAASF,CAAQ;AACtE,IAAAF,EAASG,CAAY;AAAA,EACvB;AAGA,SAAAE,EAAU,MAAM;AAGd,QAAI,EAFqB,CAACP,KAAa,CAACF,GAEjB;AAEvB,UAAMU,IAAiBT,KAAA,gBAAAA,EAAU;AAEjC,IAAIS,KACFN,EAASM,CAAc;AAAA,EAE3B,GAAG,CAACR,GAAWF,GAAeC,GAASG,CAAQ,CAAC,GAG9CO,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAU;AAAA,MACV,WAAAV;AAAA,MACA,aAAAC;AAAA,MACA,OAAOH,KAAA,gBAAAA,EAAe;AAAA,MACtB,UAAUK;AAAA,MACV,UAAUP;AAAA,MACV,SAASV,EAA8B;AAAA,QACrC,uBAAuBa;AAAA,QACvB,aAAAX;AAAA,QACA,OAAAC;AAAA,MAAA,CACD;AAAA,MACD,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAGvB;"}
|
|
@@ -1,24 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
const s = (n) => {
|
|
8
|
-
const l = g();
|
|
9
|
-
D(l);
|
|
10
|
-
const { selectedDimension: a, dimensionOptions: r, clearable: d, onChange: m } = n, { title: p, description: c, tooltip: u, placeholder: f } = b(n);
|
|
11
|
-
return /* @__PURE__ */ i.jsx(h, { title: p, description: c, tooltip: u, children: /* @__PURE__ */ i.jsx(
|
|
12
|
-
C,
|
|
13
|
-
{
|
|
14
|
-
selectedValue: a,
|
|
15
|
-
options: r,
|
|
16
|
-
placeholder: f,
|
|
17
|
-
clearable: d,
|
|
18
|
-
onChange: m
|
|
19
|
-
}
|
|
20
|
-
) });
|
|
21
|
-
}, F = {
|
|
1
|
+
import { V as o } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
|
+
import { definePreview as l, defineComponent as a } from "@embeddable.com/react";
|
|
3
|
+
import { D as t } from "./index-BLtSOe_I.js";
|
|
4
|
+
import { c as e } from "./component.inputs.constants-Cj-atN8w.js";
|
|
5
|
+
import { p as i } from "./preview.data.constants-DWqfMVjy.js";
|
|
6
|
+
const s = {
|
|
22
7
|
name: "DimensionSingleSelectFieldPro",
|
|
23
8
|
label: "Dimension Single Select Field",
|
|
24
9
|
category: "Dropdowns",
|
|
@@ -65,10 +50,10 @@ const s = (n) => {
|
|
|
65
50
|
events: [{ name: "onChange", property: "value" }]
|
|
66
51
|
}
|
|
67
52
|
]
|
|
68
|
-
},
|
|
69
|
-
dimensionOptions: [
|
|
53
|
+
}, c = l(t, {
|
|
54
|
+
dimensionOptions: [i.dimension, i.dimensionGroup],
|
|
70
55
|
onChange: () => null
|
|
71
|
-
}),
|
|
56
|
+
}), f = a(t, s, {
|
|
72
57
|
props: (n) => ({
|
|
73
58
|
...n,
|
|
74
59
|
dimensionOptions: n.dimensionOptions ?? []
|
|
@@ -80,8 +65,8 @@ const s = (n) => {
|
|
|
80
65
|
}
|
|
81
66
|
});
|
|
82
67
|
export {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
68
|
+
f as default,
|
|
69
|
+
s as meta,
|
|
70
|
+
c as preview
|
|
86
71
|
};
|
|
87
72
|
//# sourceMappingURL=DimensionSingleSelectFieldPro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DimensionSingleSelectFieldPro.js","sources":["../src/components/editors/DimensionSingleSelectFieldPro/
|
|
1
|
+
{"version":3,"file":"DimensionSingleSelectFieldPro.js","sources":["../src/components/editors/DimensionSingleSelectFieldPro/DimensionSingleSelectFieldPro.emb.ts"],"sourcesContent":["import { Value } from '@embeddable.com/core';\nimport {\n EmbeddedComponentMeta,\n Inputs,\n defineComponent,\n definePreview,\n} from '@embeddable.com/react';\nimport DimensionSingleSelectFieldPro from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nexport const meta = {\n name: 'DimensionSingleSelectFieldPro',\n label: 'Dimension Single Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n inputs.dimensionOptions,\n {\n ...inputs.dimension,\n name: 'selectedDimension',\n label: 'Selected dimension',\n category: 'Pre-configured variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected dimension updated',\n properties: [\n {\n name: 'value',\n label: 'Selected dimension',\n type: 'dimension',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'dimension single-select value',\n type: 'dimension',\n defaultValue: Value.noFilter(),\n inputs: ['selectedDimension'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport const preview = definePreview(DimensionSingleSelectFieldPro, {\n dimensionOptions: [previewData.dimension, previewData.dimensionGroup],\n onChange: () => null,\n});\n\nexport default defineComponent(DimensionSingleSelectFieldPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n dimensionOptions: inputs.dimensionOptions ?? [],\n };\n },\n events: {\n onChange: (value) => {\n return {\n value: value ?? Value.noFilter(),\n };\n },\n },\n});\n"],"names":["meta","inputs","Value","preview","definePreview","DimensionSingleSelectFieldPro","previewData","DimensionSingleSelectFieldPro_emb","defineComponent","value"],"mappings":";;;;;AAWO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,kBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,EAAE,GAAGA,EAAO,WAAW,cAAc,GAAA;AAAA,EAAM;AAAA,EAE7C,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,mBAAmB;AAAA,MAC5B,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEaC,IAAUC,EAAcC,GAA+B;AAAA,EAClE,kBAAkB,CAACC,EAAY,WAAWA,EAAY,cAAc;AAAA,EACpE,UAAU,MAAM;AAClB,CAAC,GAEDC,IAAeC,EAAgBH,GAA+BL,GAAM;AAAA,EAClE,OAAO,CAACC,OACC;AAAA,IACL,GAAGA;AAAAA,IACH,kBAAkBA,EAAO,oBAAoB,CAAA;AAAA,EAAC;AAAA,EAGlD,QAAQ;AAAA,IACN,UAAU,CAACQ,OACF;AAAA,MACL,OAAOA,KAASP,EAAM,SAAA;AAAA,IAAS;AAAA,EAEnC;AAEJ,CAAC;"}
|
package/dist/DonutChartPro.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { V as n, l as a } from "./Color.type.emb-
|
|
1
|
+
import { V as n, l as a } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
2
|
import { definePreview as r, defineComponent as i } from "@embeddable.com/react";
|
|
3
|
-
import { D as s } from "./index-
|
|
4
|
-
import {
|
|
5
|
-
import { p as o } from "./preview.data.constants-
|
|
3
|
+
import { D as s } from "./index-DILo_r4-.js";
|
|
4
|
+
import { c as e } from "./component.inputs.constants-Cj-atN8w.js";
|
|
5
|
+
import { p as o } from "./preview.data.constants-DWqfMVjy.js";
|
|
6
6
|
const m = {
|
|
7
7
|
name: "DonutChartPro",
|
|
8
8
|
label: "Donut Chart",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { D as r } from "./index-
|
|
2
|
-
import { V as s, l as t } from "./Color.type.emb-
|
|
1
|
+
import { D as r } from "./index-DK0M5jbC.js";
|
|
2
|
+
import { V as s, l as t } from "./Color.type.emb-JBTB4VAn.js";
|
|
3
3
|
import { definePreview as o, defineComponent as i } from "@embeddable.com/react";
|
|
4
|
-
import {
|
|
5
|
-
import { p as n } from "./preview.data.constants-
|
|
4
|
+
import { c as e } from "./component.inputs.constants-Cj-atN8w.js";
|
|
5
|
+
import { p as n } from "./preview.data.constants-DWqfMVjy.js";
|
|
6
6
|
const l = {
|
|
7
7
|
name: "DonutLabelChartPro",
|
|
8
8
|
label: "Donut Label Chart",
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { j as r,
|
|
1
|
+
import { j as r, n as c, o as m, p as C, q as l } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
2
|
import { useTheme as p } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
3
|
+
import { b as u, I as x, i as j } from "./component.inputs.constants-Cj-atN8w.js";
|
|
4
4
|
const f = "_editorCard_1q85m_1", h = {
|
|
5
5
|
editorCard: f
|
|
6
6
|
}, q = ({
|
|
7
7
|
title: e,
|
|
8
8
|
description: s,
|
|
9
9
|
tooltip: a,
|
|
10
|
-
children:
|
|
10
|
+
children: o,
|
|
11
11
|
errorMessage: t,
|
|
12
|
-
...
|
|
12
|
+
...i
|
|
13
13
|
}) => {
|
|
14
|
-
const
|
|
15
|
-
u(
|
|
16
|
-
const
|
|
14
|
+
const n = p();
|
|
15
|
+
u(n);
|
|
16
|
+
const d = () => t ? /* @__PURE__ */ r.jsx(
|
|
17
17
|
l,
|
|
18
18
|
{
|
|
19
19
|
variant: "error",
|
|
@@ -21,13 +21,13 @@ const f = "_editorCard_1q85m_1", h = {
|
|
|
21
21
|
title: j.t("editors.errorTitle"),
|
|
22
22
|
message: t
|
|
23
23
|
}
|
|
24
|
-
) :
|
|
25
|
-
return /* @__PURE__ */ r.jsxs(c, { className: h.editorCard, ...
|
|
24
|
+
) : o;
|
|
25
|
+
return /* @__PURE__ */ r.jsxs(c, { className: h.editorCard, ...i, children: [
|
|
26
26
|
/* @__PURE__ */ r.jsx(m, { title: e, subtitle: s, tooltip: a }),
|
|
27
|
-
/* @__PURE__ */ r.jsx(C, { children:
|
|
27
|
+
/* @__PURE__ */ r.jsx(C, { children: d() })
|
|
28
28
|
] });
|
|
29
29
|
};
|
|
30
30
|
export {
|
|
31
31
|
q as E
|
|
32
32
|
};
|
|
33
|
-
//# sourceMappingURL=EditorCard-
|
|
33
|
+
//# sourceMappingURL=EditorCard-DlwWVuY3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditorCard-DlwWVuY3.js","sources":["../src/components/editors/shared/EditorCard/EditorCard.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport styles from './EditorCard.module.css';\nimport { FC } from 'react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { Card, CardContent, CardFeedback, CardHeader } from '@embeddable.com/remarkable-ui';\nimport { IconAlertCircle } from '@tabler/icons-react';\n\nexport type EditorCardHeaderProps = {\n title?: string;\n description?: string;\n tooltip?: string;\n};\n\nexport type EditorCardProps = {\n children: React.ReactNode;\n errorMessage?: string;\n} & EditorCardHeaderProps;\n\nexport const EditorCard: FC<EditorCardProps> = ({\n title,\n description,\n tooltip,\n children,\n errorMessage,\n ...props\n}) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const getDisplay = () => {\n if (errorMessage) {\n return (\n <CardFeedback\n variant=\"error\"\n icon={IconAlertCircle}\n title={i18n.t('editors.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card className={styles.editorCard} {...props}>\n <CardHeader title={title} subtitle={description} tooltip={tooltip} />\n <CardContent>{getDisplay()}</CardContent>\n </Card>\n );\n};\n"],"names":["EditorCard","title","description","tooltip","children","errorMessage","props","theme","useTheme","i18nSetup","getDisplay","jsx","CardFeedback","IconAlertCircle","i18n","Card","styles","CardHeader","CardContent"],"mappings":";;;;;GAmBaA,IAAkC,CAAC;AAAA,EAC9C,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAa,MACbL,IAEAM,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAMC;AAAA,MACN,OAAOC,EAAK,EAAE,oBAAoB;AAAA,MAClC,SAAST;AAAA,IAAA;AAAA,EAAA,IAKRD;AAGT,gCACGW,GAAA,EAAK,WAAWC,EAAO,YAAa,GAAGV,GACtC,UAAA;AAAA,IAAAK,gBAAAA,EAAAA,IAACM,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAAa,SAAAC,GAAkB;AAAA,IACnEQ,gBAAAA,EAAAA,IAACO,GAAA,EAAa,UAAAR,EAAA,EAAW,CAAE;AAAA,EAAA,GAC7B;AAEJ;"}
|
package/dist/EmptyBlockPro.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { definePreview as
|
|
2
|
-
|
|
1
|
+
import { definePreview as e, defineComponent as t } from "@embeddable.com/react";
|
|
2
|
+
import { E as o } from "./index-CzKKN6Om.js";
|
|
3
|
+
const m = {
|
|
3
4
|
name: "EmptyBlockPro",
|
|
4
5
|
label: "Empty Block",
|
|
5
6
|
category: "Layout",
|
|
6
7
|
defaultWidth: 450,
|
|
7
8
|
defaultHeight: 120
|
|
8
|
-
},
|
|
9
|
+
}, a = e(o, {}), l = t(o, m, {
|
|
9
10
|
props: () => ({})
|
|
10
11
|
});
|
|
11
12
|
export {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
l as default,
|
|
14
|
+
m as meta,
|
|
15
|
+
a as preview
|
|
15
16
|
};
|
|
16
17
|
//# sourceMappingURL=EmptyBlockPro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyBlockPro.js","sources":["../src/components/shared/EmptyContainerPro/
|
|
1
|
+
{"version":3,"file":"EmptyBlockPro.js","sources":["../src/components/shared/EmptyContainerPro/EmptyBlockPro.emb.ts"],"sourcesContent":["import { defineComponent, definePreview, EmbeddedComponentMeta } from '@embeddable.com/react';\nimport EmptyBlockPro from './index';\n\nexport const meta = {\n name: 'EmptyBlockPro',\n label: 'Empty Block',\n category: 'Layout',\n defaultWidth: 450,\n defaultHeight: 120,\n} as const satisfies EmbeddedComponentMeta;\n\nexport const preview = definePreview(EmptyBlockPro, {});\n\nexport default defineComponent(EmptyBlockPro, meta, {\n props: () => ({}),\n});\n"],"names":["meta","preview","definePreview","EmptyBlockPro","EmptyBlockPro_emb","defineComponent"],"mappings":";;AAGO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AACjB,GAEaC,IAAUC,EAAcC,GAAe,CAAA,CAAE,GAEtDC,IAAeC,EAAgBF,GAAeH,GAAM;AAAA,EAClD,OAAO,OAAO,CAAA;AAChB,CAAC;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { useMemo as
|
|
3
|
-
import { useTheme as
|
|
4
|
-
import {
|
|
5
|
-
const D = 1, v = 100, x = () =>
|
|
1
|
+
import { j as g, S as E } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
|
+
import { useMemo as F, useEffect as d } from "react";
|
|
3
|
+
import { useTheme as C } from "@embeddable.com/react";
|
|
4
|
+
import { d as G, e as N, b as w } from "./component.inputs.constants-Cj-atN8w.js";
|
|
5
|
+
const D = 1, v = 100, x = () => G.map((e) => ({
|
|
6
6
|
...e,
|
|
7
|
-
label:
|
|
7
|
+
label: N(e.label)
|
|
8
8
|
})), m = (e) => {
|
|
9
9
|
if (e instanceof Date) return Number.isNaN(e.getTime()) ? null : e;
|
|
10
10
|
if (typeof e == "string" || typeof e == "number") {
|
|
@@ -12,28 +12,28 @@ const D = 1, v = 100, x = () => N.map((e) => ({
|
|
|
12
12
|
return Number.isNaN(t.getTime()) ? null : t;
|
|
13
13
|
}
|
|
14
14
|
return null;
|
|
15
|
-
},
|
|
15
|
+
}, s = (e) => new Date(e.getTime() + 1), u = (e, t, r) => (t.getTime() - e.getTime()) / r;
|
|
16
16
|
function U(e, t, r) {
|
|
17
17
|
if (e > t) return 0;
|
|
18
18
|
switch (r) {
|
|
19
19
|
case "second":
|
|
20
|
-
return
|
|
20
|
+
return u(e, s(t), 1e3);
|
|
21
21
|
case "minute":
|
|
22
|
-
return
|
|
22
|
+
return u(e, s(t), 60 * 1e3);
|
|
23
23
|
case "hour":
|
|
24
|
-
return
|
|
24
|
+
return u(e, s(t), 3600 * 1e3);
|
|
25
25
|
case "day":
|
|
26
|
-
return
|
|
26
|
+
return u(e, s(t), 1440 * 60 * 1e3);
|
|
27
27
|
case "week":
|
|
28
|
-
return
|
|
28
|
+
return u(e, s(t), 10080 * 60 * 1e3);
|
|
29
29
|
case "month":
|
|
30
|
-
return
|
|
30
|
+
return u(e, s(t), 672 * 60 * 60 * 1e3);
|
|
31
31
|
// shortest month
|
|
32
32
|
case "quarter":
|
|
33
|
-
return
|
|
33
|
+
return u(e, s(t), 2160 * 60 * 60 * 1e3);
|
|
34
34
|
// shortest quarter
|
|
35
35
|
case "year":
|
|
36
|
-
return
|
|
36
|
+
return u(e, s(t), 365 * 24 * 60 * 60 * 1e3);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
const k = (e, t, r) => {
|
|
@@ -58,7 +58,7 @@ const k = (e, t, r) => {
|
|
|
58
58
|
const r = e.length > 2 ? 1 : 0;
|
|
59
59
|
return (o = e[r]) == null ? void 0 : o.value;
|
|
60
60
|
}, K = (e) => {
|
|
61
|
-
const t =
|
|
61
|
+
const t = C();
|
|
62
62
|
w(t);
|
|
63
63
|
const {
|
|
64
64
|
granularity: r,
|
|
@@ -70,26 +70,26 @@ const k = (e, t, r) => {
|
|
|
70
70
|
side: T,
|
|
71
71
|
align: y,
|
|
72
72
|
onChange: f
|
|
73
|
-
} = e,
|
|
73
|
+
} = e, b = x(), l = F(() => A(
|
|
74
74
|
i,
|
|
75
|
-
|
|
75
|
+
b.filter(
|
|
76
76
|
(n) => o == null ? void 0 : o.includes(n.value)
|
|
77
77
|
)
|
|
78
78
|
), [i, o]);
|
|
79
|
-
|
|
79
|
+
d(() => {
|
|
80
80
|
if (r && !l.some((n) => n.value === r)) {
|
|
81
81
|
const n = S(l, r);
|
|
82
82
|
n && f(n);
|
|
83
83
|
}
|
|
84
84
|
}, [l, r, f]);
|
|
85
|
-
const
|
|
86
|
-
return /* @__PURE__ */
|
|
87
|
-
|
|
85
|
+
const h = S(l, r);
|
|
86
|
+
return /* @__PURE__ */ g.jsx(
|
|
87
|
+
E,
|
|
88
88
|
{
|
|
89
89
|
variant: p,
|
|
90
90
|
clearable: a,
|
|
91
91
|
placeholder: c,
|
|
92
|
-
value:
|
|
92
|
+
value: h,
|
|
93
93
|
options: l,
|
|
94
94
|
onChange: (n) => f(n),
|
|
95
95
|
avoidCollisions: !1,
|
|
@@ -99,6 +99,9 @@ const k = (e, t, r) => {
|
|
|
99
99
|
);
|
|
100
100
|
};
|
|
101
101
|
export {
|
|
102
|
-
K as G
|
|
102
|
+
K as G,
|
|
103
|
+
x as a,
|
|
104
|
+
S as b,
|
|
105
|
+
A as g
|
|
103
106
|
};
|
|
104
|
-
//# sourceMappingURL=GranularitySelectField-
|
|
107
|
+
//# sourceMappingURL=GranularitySelectField-DpCZ47f8.js.map
|
package/dist/{GranularitySelectField-BxO_3Xt9.js.map → GranularitySelectField-DpCZ47f8.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GranularitySelectField-BxO_3Xt9.js","sources":["../src/components/editors/shared/GranularitySelectField/GranularitySelectField.utils.ts","../src/components/editors/shared/GranularitySelectField/GranularitySelectField.tsx"],"sourcesContent":["import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { Granularity, TimeRange } from '@embeddable.com/core';\nimport {\n defaultGranularitySelectFieldOptions,\n TGranularityValue,\n} from '../../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { resolveI18nString } from '../../../component.utils';\n\nconst DEFAULT_MIN_BUCKETS = 1;\nconst DEFAULT_MAX_BUCKETS = 100;\n\nexport const getGranularitySelectFieldOptions = (): SelectListOptionProps[] => {\n return defaultGranularitySelectFieldOptions.map((opt) => ({\n ...opt,\n label: resolveI18nString(opt.label),\n }));\n};\n\n// Convert possibly-string timestamps to Date safely.\nconst toDate = (d: unknown): Date | null => {\n if (d instanceof Date) return Number.isNaN(d.getTime()) ? null : d;\n if (typeof d === 'string' || typeof d === 'number') {\n const parsed = new Date(d);\n return Number.isNaN(parsed.getTime()) ? null : parsed;\n }\n return null;\n};\n\n// Inclusive end -> Exclusive end helper (only used for sub-day diffs)\nconst toExclusiveEnd = (endInclusive: Date): Date => new Date(endInclusive.getTime() + 1);\n\nconst bucketCountByUnit = (start: Date, endExclusive: Date, unitMs: number): number => {\n return (endExclusive.getTime() - start.getTime()) / unitMs;\n};\n\n// Bucket counting (treat end as INCLUSIVE)\nfunction bucketCount(start: Date, endInclusive: Date, granularity: Granularity): number {\n if (start > endInclusive) return 0;\n\n switch (granularity) {\n case 'second':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 1000);\n\n case 'minute':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 1000);\n\n case 'hour':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 60 * 1000);\n\n case 'day':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 24 * 60 * 60 * 1000);\n\n case 'week':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 7 * 24 * 60 * 60 * 1000);\n\n case 'month':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 28 * 24 * 60 * 60 * 1000); // shortest month\n\n case 'quarter':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 90 * 24 * 60 * 60 * 1000); // shortest quarter\n\n case 'year':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 365 * 24 * 60 * 60 * 1000); // shortest year\n }\n}\n\nconst isGranularityValid = (\n start: Date,\n endInclusive: Date,\n granularity: TGranularityValue,\n): boolean => {\n const buckets = bucketCount(start, endInclusive, granularity);\n return buckets >= DEFAULT_MIN_BUCKETS && buckets <= DEFAULT_MAX_BUCKETS;\n};\n\nexport const getAvailableGranularityOptionsFromTimeRange = (\n timeRange: TimeRange,\n allOptions: SelectListOptionProps[],\n): SelectListOptionProps[] => {\n if (!timeRange) return allOptions;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const from = toDate((timeRange as any)?.from);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const to = toDate((timeRange as any)?.to);\n\n // If we can’t parse range, don’t hide anything (fail open)\n if (!from || !to) return allOptions;\n\n const validSet = new Set<TGranularityValue>();\n\n for (const opt of allOptions) {\n const g = opt.value as TGranularityValue;\n if (isGranularityValid(from, to, g)) {\n validSet.add(g);\n }\n }\n\n // preserve original UI ordering\n return allOptions.filter((opt) => validSet.has(opt.value as TGranularityValue));\n};\n\nexport const getSafeSelection = (\n availableOptions: SelectListOptionProps[],\n granularity?: Granularity,\n): Granularity | undefined => {\n if (!granularity) {\n return undefined;\n }\n\n if (availableOptions.some((opt) => opt.value === granularity)) {\n return granularity;\n }\n\n const optionToSelect = availableOptions.length > 2 ? 1 : 0;\n\n return availableOptions[optionToSelect]?.value as Granularity;\n};\n","import { useEffect, useMemo } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField, SingleSelectFieldProps } from '@embeddable.com/remarkable-ui';\nimport { Granularity, TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport {\n getAvailableGranularityOptionsFromTimeRange,\n getGranularitySelectFieldOptions,\n getSafeSelection,\n} from './GranularitySelectField.utils';\nimport { TGranularityValue } from '../../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { ChartCardHeaderProps } from '../../../charts/shared/ChartCard/ChartCard';\n\nexport type GranularitySelectFieldProps = {\n onChange: (newGranularity: Granularity) => void;\n primaryTimeRange?: TimeRange;\n granularity?: TGranularityValue;\n granularities?: TGranularityValue[];\n} & ChartCardHeaderProps &\n Pick<SingleSelectFieldProps, 'variant' | 'side' | 'align' | 'clearable' | 'placeholder'>;\n\nexport const GranularitySelectField = (props: GranularitySelectFieldProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n granularity,\n granularities,\n clearable,\n placeholder,\n primaryTimeRange,\n variant,\n side,\n align,\n onChange,\n } = props;\n\n const granularitySelectFieldOptions = getGranularitySelectFieldOptions();\n\n const availableOptions = useMemo(() => {\n return getAvailableGranularityOptionsFromTimeRange(\n primaryTimeRange,\n granularitySelectFieldOptions.filter((opt) =>\n granularities?.includes(opt.value as TGranularityValue),\n ),\n );\n }, [primaryTimeRange, granularities]);\n\n useEffect(() => {\n if (granularity) {\n // Selected granularity is not available\n // Select 1st available option when number of options is =< 2\n // Select 2nd option to avoid when number of options > 2\n if (!availableOptions.some((opt) => opt.value === granularity)) {\n const newGranularity = getSafeSelection(availableOptions, granularity);\n if (newGranularity) {\n onChange(newGranularity as Granularity);\n }\n }\n }\n }, [availableOptions, granularity, onChange]);\n\n const safeValue = getSafeSelection(availableOptions, granularity);\n\n return (\n <SingleSelectField\n variant={variant}\n clearable={clearable}\n placeholder={placeholder}\n value={safeValue}\n options={availableOptions}\n onChange={(newValue) => onChange(newValue as Granularity)}\n avoidCollisions={false}\n side={side}\n align={align}\n />\n );\n};\n"],"names":["DEFAULT_MIN_BUCKETS","DEFAULT_MAX_BUCKETS","getGranularitySelectFieldOptions","defaultGranularitySelectFieldOptions","opt","resolveI18nString","toDate","d","parsed","toExclusiveEnd","endInclusive","bucketCountByUnit","start","endExclusive","unitMs","bucketCount","granularity","isGranularityValid","buckets","getAvailableGranularityOptionsFromTimeRange","timeRange","allOptions","from","to","validSet","g","getSafeSelection","availableOptions","optionToSelect","_a","GranularitySelectField","props","theme","useTheme","i18nSetup","granularities","clearable","placeholder","primaryTimeRange","variant","side","align","onChange","granularitySelectFieldOptions","useMemo","useEffect","newGranularity","safeValue","jsx","SingleSelectField","newValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GranularitySelectField-DpCZ47f8.js","sources":["../src/components/editors/shared/GranularitySelectField/GranularitySelectField.utils.ts","../src/components/editors/shared/GranularitySelectField/GranularitySelectField.tsx"],"sourcesContent":["import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { Granularity, TimeRange } from '@embeddable.com/core';\nimport {\n defaultGranularitySelectFieldOptions,\n TGranularityValue,\n} from '../../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { resolveI18nString } from '../../../component.utils';\n\nconst DEFAULT_MIN_BUCKETS = 1;\nconst DEFAULT_MAX_BUCKETS = 100;\n\nexport const getGranularitySelectFieldOptions = (): SelectListOptionProps[] => {\n return defaultGranularitySelectFieldOptions.map((opt) => ({\n ...opt,\n label: resolveI18nString(opt.label),\n }));\n};\n\n// Convert possibly-string timestamps to Date safely.\nconst toDate = (d: unknown): Date | null => {\n if (d instanceof Date) return Number.isNaN(d.getTime()) ? null : d;\n if (typeof d === 'string' || typeof d === 'number') {\n const parsed = new Date(d);\n return Number.isNaN(parsed.getTime()) ? null : parsed;\n }\n return null;\n};\n\n// Inclusive end -> Exclusive end helper (only used for sub-day diffs)\nconst toExclusiveEnd = (endInclusive: Date): Date => new Date(endInclusive.getTime() + 1);\n\nconst bucketCountByUnit = (start: Date, endExclusive: Date, unitMs: number): number => {\n return (endExclusive.getTime() - start.getTime()) / unitMs;\n};\n\n// Bucket counting (treat end as INCLUSIVE)\nfunction bucketCount(start: Date, endInclusive: Date, granularity: Granularity): number {\n if (start > endInclusive) return 0;\n\n switch (granularity) {\n case 'second':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 1000);\n\n case 'minute':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 1000);\n\n case 'hour':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 60 * 1000);\n\n case 'day':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 24 * 60 * 60 * 1000);\n\n case 'week':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 7 * 24 * 60 * 60 * 1000);\n\n case 'month':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 28 * 24 * 60 * 60 * 1000); // shortest month\n\n case 'quarter':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 90 * 24 * 60 * 60 * 1000); // shortest quarter\n\n case 'year':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 365 * 24 * 60 * 60 * 1000); // shortest year\n }\n}\n\nconst isGranularityValid = (\n start: Date,\n endInclusive: Date,\n granularity: TGranularityValue,\n): boolean => {\n const buckets = bucketCount(start, endInclusive, granularity);\n return buckets >= DEFAULT_MIN_BUCKETS && buckets <= DEFAULT_MAX_BUCKETS;\n};\n\nexport const getAvailableGranularityOptionsFromTimeRange = (\n timeRange: TimeRange,\n allOptions: SelectListOptionProps[],\n): SelectListOptionProps[] => {\n if (!timeRange) return allOptions;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const from = toDate((timeRange as any)?.from);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const to = toDate((timeRange as any)?.to);\n\n // If we can’t parse range, don’t hide anything (fail open)\n if (!from || !to) return allOptions;\n\n const validSet = new Set<TGranularityValue>();\n\n for (const opt of allOptions) {\n const g = opt.value as TGranularityValue;\n if (isGranularityValid(from, to, g)) {\n validSet.add(g);\n }\n }\n\n // preserve original UI ordering\n return allOptions.filter((opt) => validSet.has(opt.value as TGranularityValue));\n};\n\nexport const getSafeSelection = (\n availableOptions: SelectListOptionProps[],\n granularity?: Granularity,\n): Granularity | undefined => {\n if (!granularity) {\n return undefined;\n }\n\n if (availableOptions.some((opt) => opt.value === granularity)) {\n return granularity;\n }\n\n const optionToSelect = availableOptions.length > 2 ? 1 : 0;\n\n return availableOptions[optionToSelect]?.value as Granularity;\n};\n","import { useEffect, useMemo } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField, SingleSelectFieldProps } from '@embeddable.com/remarkable-ui';\nimport { Granularity, TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport {\n getAvailableGranularityOptionsFromTimeRange,\n getGranularitySelectFieldOptions,\n getSafeSelection,\n} from './GranularitySelectField.utils';\nimport { TGranularityValue } from '../../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { ChartCardHeaderProps } from '../../../charts/shared/ChartCard/ChartCard';\n\nexport type GranularitySelectFieldProps = {\n onChange: (newGranularity: Granularity) => void;\n primaryTimeRange?: TimeRange;\n granularity?: TGranularityValue;\n granularities?: TGranularityValue[];\n} & ChartCardHeaderProps &\n Pick<SingleSelectFieldProps, 'variant' | 'side' | 'align' | 'clearable' | 'placeholder'>;\n\nexport const GranularitySelectField = (props: GranularitySelectFieldProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n granularity,\n granularities,\n clearable,\n placeholder,\n primaryTimeRange,\n variant,\n side,\n align,\n onChange,\n } = props;\n\n const granularitySelectFieldOptions = getGranularitySelectFieldOptions();\n\n const availableOptions = useMemo(() => {\n return getAvailableGranularityOptionsFromTimeRange(\n primaryTimeRange,\n granularitySelectFieldOptions.filter((opt) =>\n granularities?.includes(opt.value as TGranularityValue),\n ),\n );\n }, [primaryTimeRange, granularities]);\n\n useEffect(() => {\n if (granularity) {\n // Selected granularity is not available\n // Select 1st available option when number of options is =< 2\n // Select 2nd option to avoid when number of options > 2\n if (!availableOptions.some((opt) => opt.value === granularity)) {\n const newGranularity = getSafeSelection(availableOptions, granularity);\n if (newGranularity) {\n onChange(newGranularity as Granularity);\n }\n }\n }\n }, [availableOptions, granularity, onChange]);\n\n const safeValue = getSafeSelection(availableOptions, granularity);\n\n return (\n <SingleSelectField\n variant={variant}\n clearable={clearable}\n placeholder={placeholder}\n value={safeValue}\n options={availableOptions}\n onChange={(newValue) => onChange(newValue as Granularity)}\n avoidCollisions={false}\n side={side}\n align={align}\n />\n );\n};\n"],"names":["DEFAULT_MIN_BUCKETS","DEFAULT_MAX_BUCKETS","getGranularitySelectFieldOptions","defaultGranularitySelectFieldOptions","opt","resolveI18nString","toDate","d","parsed","toExclusiveEnd","endInclusive","bucketCountByUnit","start","endExclusive","unitMs","bucketCount","granularity","isGranularityValid","buckets","getAvailableGranularityOptionsFromTimeRange","timeRange","allOptions","from","to","validSet","g","getSafeSelection","availableOptions","optionToSelect","_a","GranularitySelectField","props","theme","useTheme","i18nSetup","granularities","clearable","placeholder","primaryTimeRange","variant","side","align","onChange","granularitySelectFieldOptions","useMemo","useEffect","newGranularity","safeValue","jsx","SingleSelectField","newValue"],"mappings":"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"}
|