@embeddable.com/remarkable-ui 0.0.1
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/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/ChartCard-LJ6ahXjM.js +16970 -0
- package/dist/ChartCard-LJ6ahXjM.js.map +1 -0
- package/dist/DonutChartPro.js +93 -0
- package/dist/DonutChartPro.js.map +1 -0
- package/dist/DonutLabelChartPro.js +122 -0
- package/dist/DonutLabelChartPro.js.map +1 -0
- package/dist/EditorCard-ESCNXU4p.js +62 -0
- package/dist/EditorCard-ESCNXU4p.js.map +1 -0
- package/dist/MultiSelectFieldPro.js +259 -0
- package/dist/MultiSelectFieldPro.js.map +1 -0
- package/dist/PieChartPro.js +93 -0
- package/dist/PieChartPro.js.map +1 -0
- package/dist/SingleSelectFieldPro.js +197 -0
- package/dist/SingleSelectFieldPro.js.map +1 -0
- package/dist/component.constants-DeKHmTqm.js +15141 -0
- package/dist/component.constants-DeKHmTqm.js.map +1 -0
- package/dist/embeddable-components.json +11 -0
- package/dist/embeddable-lifecycle.js +28 -0
- package/dist/embeddable-theme-294e9.js +18632 -0
- package/dist/embeddable-types-d41d8.js +2 -0
- package/dist/embeddable-types.js.map +1 -0
- package/dist/globalHooks.json +6 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/charts.utils.d.ts +5 -0
- package/dist/remarkable-pro/components/charts/charts.utils.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/pies/DonutChartPro/index.d.ts +5 -0
- package/dist/remarkable-pro/components/charts/pies/DonutChartPro/index.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/pies/DonutLabelChartPro/index.d.ts +10 -0
- package/dist/remarkable-pro/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/pies/PieChartPro/index.d.ts +5 -0
- package/dist/remarkable-pro/components/charts/pies/PieChartPro/index.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/pies/pies.types.d.ts +16 -0
- package/dist/remarkable-pro/components/charts/pies/pies.types.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts +17 -0
- package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts +15 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts +19 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardLoading/ChartCardLoading.d.ts +2 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardLoading/ChartCardLoading.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenu/ChartCardMenu.d.ts +6 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenu/ChartCardMenu.d.ts.map +1 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenu/ChartCardMenu.stories.d.ts +15 -0
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenu/ChartCardMenu.stories.d.ts.map +1 -0
- package/dist/remarkable-pro/components/component.constants.d.ts +97 -0
- package/dist/remarkable-pro/components/component.constants.d.ts.map +1 -0
- package/dist/remarkable-pro/components/component.utils.d.ts +2 -0
- package/dist/remarkable-pro/components/component.utils.d.ts.map +1 -0
- package/dist/remarkable-pro/components/editors/MultiSelectFieldPro/index.d.ts +17 -0
- package/dist/remarkable-pro/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -0
- package/dist/remarkable-pro/components/editors/SingleSelectFieldPro/index.d.ts +17 -0
- package/dist/remarkable-pro/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -0
- package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.d.ts +10 -0
- package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.d.ts.map +1 -0
- package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.stories.d.ts +12 -0
- package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.stories.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/formatter/formatter.constants.d.ts +3 -0
- package/dist/remarkable-pro/theme/formatter/formatter.constants.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/formatter/formatter.types.d.ts +19 -0
- package/dist/remarkable-pro/theme/formatter/formatter.types.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/formatter/formatter.utils.d.ts +9 -0
- package/dist/remarkable-pro/theme/formatter/formatter.utils.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/i18n/i18n.d.ts +5 -0
- package/dist/remarkable-pro/theme/i18n/i18n.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/i18n/translations/de.d.ts +3 -0
- package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/i18n/translations/en.d.ts +3 -0
- package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/styles/styles.constants.d.ts +2 -0
- package/dist/remarkable-pro/theme/styles/styles.constants.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/styles/styles.types.d.ts +3 -0
- package/dist/remarkable-pro/theme/styles/styles.types.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/styles/styles.utils.d.ts +3 -0
- package/dist/remarkable-pro/theme/styles/styles.utils.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/theme.constants.d.ts +17 -0
- package/dist/remarkable-pro/theme/theme.constants.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/theme.types.d.ts +36 -0
- package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/utils/export.utils.d.ts +5 -0
- package/dist/remarkable-pro/theme/utils/export.utils.d.ts.map +1 -0
- package/dist/remarkable-pro/utils.ts/cache.utils.d.ts +6 -0
- package/dist/remarkable-pro/utils.ts/cache.utils.d.ts.map +1 -0
- package/dist/remarkable-pro/utils.ts/data.utils.d.ts +2 -0
- package/dist/remarkable-pro/utils.ts/data.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/charts/charts.constants.d.ts +2 -0
- package/dist/remarkable-ui/charts/charts.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/charts/pies/DonutChart.d.ts +8 -0
- package/dist/remarkable-ui/charts/pies/DonutChart.d.ts.map +1 -0
- package/dist/remarkable-ui/charts/pies/DonutChart.stories.d.ts +8 -0
- package/dist/remarkable-ui/charts/pies/DonutChart.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/charts/pies/PieChart.d.ts +5 -0
- package/dist/remarkable-ui/charts/pies/PieChart.d.ts.map +1 -0
- package/dist/remarkable-ui/charts/pies/PieChart.stories.d.ts +8 -0
- package/dist/remarkable-ui/charts/pies/PieChart.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/charts/pies/pies.constants.d.ts +6 -0
- package/dist/remarkable-ui/charts/pies/pies.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/charts/pies/pies.mock.d.ts +7 -0
- package/dist/remarkable-ui/charts/pies/pies.mock.d.ts.map +1 -0
- package/dist/remarkable-ui/charts/pies/pies.types.d.ts +8 -0
- package/dist/remarkable-ui/charts/pies/pies.types.d.ts.map +1 -0
- package/dist/remarkable-ui/charts/pies/pies.utils.d.ts +5 -0
- package/dist/remarkable-ui/charts/pies/pies.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/TextField/TextField.d.ts +9 -0
- package/dist/remarkable-ui/editors/TextField/TextField.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/TextField/TextField.stories.d.ts +18 -0
- package/dist/remarkable-ui/editors/TextField/TextField.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.d.ts +17 -0
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts +11 -0
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts +16 -0
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts +11 -0
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/select/shared/SelectButton/SelectButton.d.ts +8 -0
- package/dist/remarkable-ui/editors/select/shared/SelectButton/SelectButton.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectList.d.ts +8 -0
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectList.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts +10 -0
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOptions.d.ts +7 -0
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOptions.d.ts.map +1 -0
- package/dist/remarkable-ui/editors/select/shared/useSelectSearchFocus.hook.d.ts +2 -0
- package/dist/remarkable-ui/editors/select/shared/useSelectSearchFocus.hook.d.ts.map +1 -0
- package/dist/remarkable-ui/index.d.ts +19 -0
- package/dist/remarkable-ui/index.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Button/Button.d.ts +11 -0
- package/dist/remarkable-ui/shared/Button/Button.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Button/Button.stories.d.ts +17 -0
- package/dist/remarkable-ui/shared/Button/Button.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Card/Card.d.ts +16 -0
- package/dist/remarkable-ui/shared/Card/Card.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Card/Card.stories.d.ts +8 -0
- package/dist/remarkable-ui/shared/Card/Card.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Card/CardContentInfo/CardContentInfo.d.ts +10 -0
- package/dist/remarkable-ui/shared/Card/CardContentInfo/CardContentInfo.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Dropdown/Dropdown.d.ts +10 -0
- package/dist/remarkable-ui/shared/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Foundations/Colors.stories.d.ts +6 -0
- package/dist/remarkable-ui/shared/Foundations/Colors.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/IconButton/IconButton.d.ts +7 -0
- package/dist/remarkable-ui/shared/IconButton/IconButton.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/IconButton/IconButton.stories.d.ts +11 -0
- package/dist/remarkable-ui/shared/IconButton/IconButton.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Skeleton/Skeleton.d.ts +2 -0
- package/dist/remarkable-ui/shared/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Skeleton/Skeleton.stories.d.ts +6 -0
- package/dist/remarkable-ui/shared/Skeleton/Skeleton.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Typography/Typography.d.ts +10 -0
- package/dist/remarkable-ui/shared/Typography/Typography.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Typography/Typography.stories.d.ts +9 -0
- package/dist/remarkable-ui/shared/Typography/Typography.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/Typography/Typography.types.d.ts +13 -0
- package/dist/remarkable-ui/shared/Typography/Typography.types.d.ts.map +1 -0
- package/dist/remarkable-ui/styles/styles.constants.d.ts +467 -0
- package/dist/remarkable-ui/styles/styles.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/styles/styles.utils.d.ts +4 -0
- package/dist/remarkable-ui/styles/styles.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/utils/debounce.utils.d.ts +2 -0
- package/dist/remarkable-ui/utils/debounce.utils.d.ts.map +1 -0
- package/dist/remarkable-ui.css +1 -0
- package/package.json +105 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { i as f, r as V, m as k, j as m, P as v, d as w, a as x, b as L, t as S, c as j, s as D, e as I, f as T, g as y, V as A, l as M } from "./component.constants-DeKHmTqm.js";
|
|
2
|
+
import { useTheme as O, defineComponent as E } from "@embeddable.com/react";
|
|
3
|
+
import "react";
|
|
4
|
+
import { g as F, a as R, C as _ } from "./ChartCard-LJ6ahXjM.js";
|
|
5
|
+
const q = (e) => {
|
|
6
|
+
const s = O();
|
|
7
|
+
f(s);
|
|
8
|
+
const {
|
|
9
|
+
description: l,
|
|
10
|
+
dimension: t,
|
|
11
|
+
maxLegendItems: d,
|
|
12
|
+
measure: n,
|
|
13
|
+
results: a,
|
|
14
|
+
showLegend: c,
|
|
15
|
+
showTooltips: h,
|
|
16
|
+
showValueLabels: u,
|
|
17
|
+
title: p,
|
|
18
|
+
onSegmentClick: C
|
|
19
|
+
} = V(e), g = F({ data: a.data, dimension: t, measure: n, maxLegendItems: d }, s), P = k(
|
|
20
|
+
R(
|
|
21
|
+
{
|
|
22
|
+
measure: n,
|
|
23
|
+
showTooltips: h,
|
|
24
|
+
showLegend: c,
|
|
25
|
+
showValueLabels: u
|
|
26
|
+
},
|
|
27
|
+
s
|
|
28
|
+
),
|
|
29
|
+
s.charts.pieChartOverrides ?? {}
|
|
30
|
+
), b = (o) => {
|
|
31
|
+
var i, r;
|
|
32
|
+
C({
|
|
33
|
+
dimensionValue: o === void 0 || (r = (i = a.data) == null ? void 0 : i[o]) == null ? void 0 : r[t.name]
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
return /* @__PURE__ */ m.jsx(
|
|
37
|
+
_,
|
|
38
|
+
{
|
|
39
|
+
data: a,
|
|
40
|
+
dimensionsAndMeasures: [t, n],
|
|
41
|
+
errorMessage: a.error,
|
|
42
|
+
subtitle: l,
|
|
43
|
+
title: p,
|
|
44
|
+
children: /* @__PURE__ */ m.jsx(v, { data: g, options: P, onSegmentClick: b })
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
}, z = {
|
|
48
|
+
name: "PieChartPro",
|
|
49
|
+
label: "Pie Chart",
|
|
50
|
+
category: "Pie Charts",
|
|
51
|
+
inputs: [
|
|
52
|
+
w,
|
|
53
|
+
x,
|
|
54
|
+
L,
|
|
55
|
+
S,
|
|
56
|
+
j,
|
|
57
|
+
D,
|
|
58
|
+
I,
|
|
59
|
+
T,
|
|
60
|
+
y
|
|
61
|
+
],
|
|
62
|
+
events: [
|
|
63
|
+
{
|
|
64
|
+
name: "onSegmentClick",
|
|
65
|
+
label: "A segment is clicked",
|
|
66
|
+
properties: [
|
|
67
|
+
{
|
|
68
|
+
name: "dimensionValue",
|
|
69
|
+
label: "Clicked Dimension",
|
|
70
|
+
type: "string"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}, K = E(q, z, {
|
|
76
|
+
props: (e) => ({
|
|
77
|
+
...e,
|
|
78
|
+
results: M({
|
|
79
|
+
from: e.dataset,
|
|
80
|
+
select: [e.measure, e.dimension]
|
|
81
|
+
})
|
|
82
|
+
}),
|
|
83
|
+
events: {
|
|
84
|
+
onSegmentClick: (e) => ({
|
|
85
|
+
dimensionValue: e.dimensionValue || A.noFilter()
|
|
86
|
+
})
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
export {
|
|
90
|
+
K as default,
|
|
91
|
+
z as meta
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=PieChartPro.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PieChartPro.js","sources":["../src/remarkable-pro/components/charts/pies/PieChartPro/index.tsx","../src/remarkable-pro/components/charts/pies/PieChartPro/PieChartPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { PieChart } from '../../../../../remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DefaultPieChartOptions, getDefaultPieChartOptions, getPieChartData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype PieChartProProps = DefaultPieChartProps;\n\nconst PieChartPro = (props: PieChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const data = getPieChartData({ data: results.data, dimension, measure, maxLegendItems }, theme);\n\n const options = mergician(\n getDefaultPieChartOptions(\n {\n measure,\n showTooltips,\n showLegend,\n showValueLabels,\n } as DefaultPieChartOptions,\n theme,\n ),\n theme.charts.pieChartOverrides ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <PieChart data={data} options={options} onSegmentClick={handleSegmentClick} />\n </ChartCard>\n );\n};\n\nexport default PieChartPro;\n","import { Value, loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\n\nimport ReadyMadePieChart from './index';\nimport {\n dimension,\n dataset,\n description,\n measure,\n maxLegendItems,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n} from '../../../component.constants';\n\nexport const meta = {\n name: 'PieChartPro',\n label: 'Pie Chart',\n category: 'Pie Charts',\n inputs: [\n dataset,\n measure,\n dimension,\n title,\n description,\n showLegend,\n maxLegendItems,\n showTooltips,\n showValueLabels,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked Dimension',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(ReadyMadePieChart, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n }),\n };\n },\n events: {\n onSegmentClick: (value) => {\n return {\n dimensionValue: value.dimensionValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["PieChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","data","getPieChartData","options","mergician","getDefaultPieChartOptions","handleSegmentClick","index","_b","_a","jsx","ChartCard","PieChart","meta","dataset","PieChartPro_emb","defineComponent","ReadyMadePieChart","inputs","loadData","value","Value"],"mappings":";;;;AAYA,MAAMA,IAAc,CAACC,MAA4B;AAC/C,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,IAAOC,EAAgB,EAAE,MAAMR,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA,GAAkBL,CAAK,GAExFgB,IAAUC;AAAA,IACdC;AAAA,MACE;AAAA,QACE,SAAAZ;AAAA,QACA,cAAAG;AAAA,QACA,YAAAD;AAAA,QACA,iBAAAE;AAAA,MAAA;AAAA,MAEFV;AAAA,IAAA;AAAA,IAEFA,EAAM,OAAO,qBAAqB,CAAA;AAAA,EAAC,GAG/BmB,IAAqB,CAACC,MAA8B;;AACxD,IAAAR,EAAe;AAAA,MACb,gBAAgBQ,MAAU,WAAwBC,KAAAC,IAAAf,EAAQ,SAAR,gBAAAe,EAAeF,OAAf,OAAZ,SAAYC,EAAwBjB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEmB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMjB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,UAAUJ;AAAA,MACV,OAAAQ;AAAA,MAEA,UAAAY,gBAAAA,EAAAA,IAACE,GAAA,EAAS,MAAAX,GAAY,SAAAE,GAAkB,gBAAgBG,EAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AAGlF,GC7CaO,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC;AAAA,IACArB;AAAA,IACAF;AAAA,IACAO;AAAA,IACAR;AAAA,IACAK;AAAA,IACAH;AAAA,IACAI;AAAA,IACAC;AAAA,EAAA;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;AAEJ,GAEAkB,IAAeC,EAAgBC,GAAmBJ,GAAM;AAAA,EACtD,OAAO,CAACK,OACC;AAAA,IACL,GAAGA;AAAA,IACH,SAASC,EAAS;AAAA,MAChB,MAAMD,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,SAASA,EAAO,SAAS;AAAA,IAAA,CAC1C;AAAA,EAAA;AAAA,EAGL,QAAQ;AAAA,IACN,gBAAgB,CAACE,OACR;AAAA,MACL,gBAAgBA,EAAM,kBAAkBC,EAAM,SAAA;AAAA,IAAS;AAAA,EAE3D;AAEJ,CAAC;"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { useTheme as P, defineComponent as I } from "@embeddable.com/react";
|
|
2
|
+
import { j as n, q as E, S as M, B as T, u as F, E as q, r as w, h as B, n as R, d as A, b as y, t as N, c as _, F as k, V, l as H } from "./component.constants-DeKHmTqm.js";
|
|
3
|
+
import { useState as C, useRef as K, useEffect as W, useMemo as X } from "react";
|
|
4
|
+
import { u as z, d as G, I as J, S as Q, E as U } from "./EditorCard-ESCNXU4p.js";
|
|
5
|
+
const Y = ({
|
|
6
|
+
value: a = "",
|
|
7
|
+
options: l,
|
|
8
|
+
disabled: i,
|
|
9
|
+
placeholder: c,
|
|
10
|
+
isSearchable: r,
|
|
11
|
+
isClearable: u,
|
|
12
|
+
isLoading: m,
|
|
13
|
+
noOptionsMessage: f,
|
|
14
|
+
onChange: d,
|
|
15
|
+
onSearch: s
|
|
16
|
+
}) => {
|
|
17
|
+
const [g, p] = C(!1), [h, b] = C(""), [S, o] = C(a), t = K(null);
|
|
18
|
+
z(g, t), W(() => {
|
|
19
|
+
if (!a) {
|
|
20
|
+
o("");
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const e = l.find((v) => v.value === a);
|
|
24
|
+
e && o(e.label);
|
|
25
|
+
}, [a, l]);
|
|
26
|
+
const x = X(() => s ? G(s) : void 0, [s]), j = r && !s ? l.filter((e) => e.label.toLowerCase().includes(h.toLowerCase())) : l, O = (e) => {
|
|
27
|
+
if (b(""), d(e ?? ""), s == null || s(""), e === "")
|
|
28
|
+
o("");
|
|
29
|
+
else {
|
|
30
|
+
const v = l.find((D) => D.value === e);
|
|
31
|
+
v && o(v.label);
|
|
32
|
+
}
|
|
33
|
+
}, L = (e) => {
|
|
34
|
+
b(e), x == null || x(e);
|
|
35
|
+
};
|
|
36
|
+
return /* @__PURE__ */ n.jsx(
|
|
37
|
+
E,
|
|
38
|
+
{
|
|
39
|
+
open: g,
|
|
40
|
+
onOpenChange: p,
|
|
41
|
+
disabled: i,
|
|
42
|
+
triggerComponent: /* @__PURE__ */ n.jsx(
|
|
43
|
+
q,
|
|
44
|
+
{
|
|
45
|
+
"aria-label": "Select option",
|
|
46
|
+
placeholder: c,
|
|
47
|
+
disabled: i,
|
|
48
|
+
valueLabel: S,
|
|
49
|
+
onClear: () => O(""),
|
|
50
|
+
isClearable: u,
|
|
51
|
+
isLoading: m
|
|
52
|
+
}
|
|
53
|
+
),
|
|
54
|
+
children: /* @__PURE__ */ n.jsxs(M, { children: [
|
|
55
|
+
r && /* @__PURE__ */ n.jsx(
|
|
56
|
+
T,
|
|
57
|
+
{
|
|
58
|
+
ref: t,
|
|
59
|
+
startIcon: J,
|
|
60
|
+
"aria-label": "Search options",
|
|
61
|
+
placeholder: "Search…",
|
|
62
|
+
role: "searchbox",
|
|
63
|
+
value: h,
|
|
64
|
+
onKeyDown: (e) => e.stopPropagation(),
|
|
65
|
+
onChange: L
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
/* @__PURE__ */ n.jsxs(Q, { disabled: m, children: [
|
|
69
|
+
j.map((e) => /* @__PURE__ */ n.jsx(
|
|
70
|
+
F,
|
|
71
|
+
{
|
|
72
|
+
onClick: () => O(e == null ? void 0 : e.value),
|
|
73
|
+
...e
|
|
74
|
+
},
|
|
75
|
+
(e == null ? void 0 : e.value) ?? e.label
|
|
76
|
+
)),
|
|
77
|
+
f && /* @__PURE__ */ n.jsx(F, { disabled: !0, value: "empty", label: f })
|
|
78
|
+
] })
|
|
79
|
+
] })
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
}, Z = 200, $ = (a) => {
|
|
83
|
+
var S, o;
|
|
84
|
+
const l = P(), i = B(l), {
|
|
85
|
+
title: c,
|
|
86
|
+
description: r,
|
|
87
|
+
dimension: u,
|
|
88
|
+
optionalSecondDimension: m,
|
|
89
|
+
placeholder: f,
|
|
90
|
+
results: d,
|
|
91
|
+
selectedValue: s,
|
|
92
|
+
setSearchValue: g,
|
|
93
|
+
onChange: p
|
|
94
|
+
} = w(a), h = ((S = d.data) == null ? void 0 : S.map((t) => ({
|
|
95
|
+
value: m ? t[m.name] : t[u.name],
|
|
96
|
+
label: i.data(u, t[u.name])
|
|
97
|
+
}))) ?? [], b = !d.isLoading && (((o = d.data) == null ? void 0 : o.length) ?? 0) === 0;
|
|
98
|
+
return /* @__PURE__ */ n.jsx(U, { title: c, subtitle: r, children: /* @__PURE__ */ n.jsx(
|
|
99
|
+
Y,
|
|
100
|
+
{
|
|
101
|
+
isClearable: !0,
|
|
102
|
+
isSearchable: !0,
|
|
103
|
+
isLoading: d.isLoading,
|
|
104
|
+
value: s,
|
|
105
|
+
options: h,
|
|
106
|
+
placeholder: f,
|
|
107
|
+
noOptionsMessage: b ? R.t("common.noOptionsFound") : void 0,
|
|
108
|
+
onChange: (t) => p == null ? void 0 : p(t),
|
|
109
|
+
onSearch: g
|
|
110
|
+
}
|
|
111
|
+
) });
|
|
112
|
+
}, ee = {
|
|
113
|
+
name: "SingleSelectFieldPro",
|
|
114
|
+
label: "Single Select Field",
|
|
115
|
+
category: "Dropdowns",
|
|
116
|
+
defaultWidth: 200,
|
|
117
|
+
defaultHeight: 40,
|
|
118
|
+
inputs: [
|
|
119
|
+
A,
|
|
120
|
+
{ ...y, label: "Dimension (to load Dropdown values)" },
|
|
121
|
+
{
|
|
122
|
+
...y,
|
|
123
|
+
required: !1,
|
|
124
|
+
name: "optionalSecondDimension",
|
|
125
|
+
label: "Optional second dimension for filtering",
|
|
126
|
+
description: "A hidden dimension applied for filtering instead of the main dimension. Must be unique."
|
|
127
|
+
},
|
|
128
|
+
N,
|
|
129
|
+
_,
|
|
130
|
+
{ ...k, defaultValue: "Select value..." },
|
|
131
|
+
{
|
|
132
|
+
name: "selectedValue",
|
|
133
|
+
type: "string",
|
|
134
|
+
label: "Selected Value",
|
|
135
|
+
category: "Pre-configured variables"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: "maxOptions",
|
|
139
|
+
type: "number",
|
|
140
|
+
label: "Maximum options",
|
|
141
|
+
category: "Pre-configured variables",
|
|
142
|
+
defaultValue: Z
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
events: [
|
|
146
|
+
{
|
|
147
|
+
name: "onChange",
|
|
148
|
+
label: "Change",
|
|
149
|
+
properties: [
|
|
150
|
+
{
|
|
151
|
+
name: "value",
|
|
152
|
+
type: "string"
|
|
153
|
+
}
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
variables: [
|
|
158
|
+
{
|
|
159
|
+
name: "Single-select value",
|
|
160
|
+
type: "string",
|
|
161
|
+
defaultValue: V.noFilter(),
|
|
162
|
+
inputs: ["selectedValue"],
|
|
163
|
+
events: [{ name: "onChange", property: "value" }]
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
}, te = I($, ee, {
|
|
167
|
+
props: (a, [l, i]) => {
|
|
168
|
+
const c = a.dimension.nativeType === "string" ? "contains" : "equals";
|
|
169
|
+
return {
|
|
170
|
+
...a,
|
|
171
|
+
maxOptions: a.maxOptions,
|
|
172
|
+
setSearchValue: (r) => i({ searchValue: r }),
|
|
173
|
+
results: H({
|
|
174
|
+
limit: a.maxOptions,
|
|
175
|
+
from: a.dataset,
|
|
176
|
+
select: [a.dimension, a.optionalSecondDimension].filter(Boolean),
|
|
177
|
+
filters: l != null && l.searchValue ? [
|
|
178
|
+
{
|
|
179
|
+
operator: c,
|
|
180
|
+
property: a.dimension,
|
|
181
|
+
value: l.searchValue
|
|
182
|
+
}
|
|
183
|
+
] : void 0
|
|
184
|
+
})
|
|
185
|
+
};
|
|
186
|
+
},
|
|
187
|
+
events: {
|
|
188
|
+
onChange: (a) => ({
|
|
189
|
+
value: a || V.noFilter()
|
|
190
|
+
})
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
export {
|
|
194
|
+
te as default,
|
|
195
|
+
ee as meta
|
|
196
|
+
};
|
|
197
|
+
//# sourceMappingURL=SingleSelectFieldPro.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleSelectFieldPro.js","sources":["../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.tsx","../src/remarkable-pro/components/editors/SingleSelectFieldPro/index.tsx","../src/remarkable-pro/components/editors/SingleSelectFieldPro/SingleSelectFieldPro.emb.ts"],"sourcesContent":["import { FC, useEffect, useMemo, useRef, useState } from 'react';\nimport { TextField } from '../../TextField/TextField';\nimport { SelectButton } from '../shared/SelectButton/SelectButton';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport { SelectList } from '../shared/SelectList/SelectList';\nimport { SelectListOptions } from '../shared/SelectList/SelectListOptions/SelectListOptions';\nimport {\n SelectListOption,\n SelectListOptionProps,\n} from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';\nimport { debounce } from '../../../utils/debounce.utils';\nimport { IconSearch } from '@tabler/icons-react';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\n\nexport type SingleSelectFieldProps = {\n options: SelectListOptionProps[];\n value?: string;\n disabled?: boolean;\n placeholder?: string;\n isSearchable?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n noOptionsMessage?: string;\n onChange: (value: string) => void;\n onSearch?: (search: string) => void;\n};\n\nexport const SingleSelectField: FC<SingleSelectFieldProps> = ({\n value = '',\n options,\n disabled,\n placeholder,\n isSearchable,\n isClearable,\n isLoading,\n noOptionsMessage,\n onChange,\n onSearch,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [selectedLabel, setSelectedLabel] = useState<string>(value);\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n if (!value) {\n setSelectedLabel('');\n return;\n }\n\n const option = options.find((opt) => opt.value === value);\n if (option) {\n setSelectedLabel(option.label);\n }\n }, [value, options]);\n\n const debouncedSearch = useMemo(() => (onSearch ? debounce(onSearch) : undefined), [onSearch]);\n\n const displayOptions =\n isSearchable && !onSearch\n ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n : options;\n\n const handleChange = (newValue?: string) => {\n setSearchValue('');\n onChange(newValue ?? '');\n onSearch?.('');\n\n if (newValue === '') {\n setSelectedLabel('');\n } else {\n const option = options.find((opt) => opt.value === newValue);\n if (option) setSelectedLabel(option.label);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n return (\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectButton\n aria-label=\"Select option\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={() => handleChange('')}\n isClearable={isClearable}\n isLoading={isLoading}\n />\n }\n >\n <SelectList>\n {isSearchable && (\n <TextField\n ref={searchFieldRef}\n startIcon={IconSearch}\n aria-label=\"Search options\"\n placeholder=\"Search…\"\n role=\"searchbox\"\n value={searchValue}\n onKeyDown={(e) => e.stopPropagation()}\n onChange={handleSearch}\n />\n )}\n <SelectListOptions disabled={isLoading}>\n {displayOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n {...option}\n />\n ))}\n {noOptionsMessage && <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />}\n </SelectListOptions>\n </SelectList>\n </Dropdown>\n );\n};\n","import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { SingleSelectField } from '../../../../remarkable-ui/editors/select/SingleSelectField/SingleSelectField';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\n\nexport const MAX_OPTIONS = 200;\n\ntype SingleSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue: string;\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n};\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValue,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue) => onChange?.(newValue)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData } from '@embeddable.com/core';\nimport { dataset, description, dimension, placeholder, title } from '../../component.constants';\nimport SingleSelectFieldPro, { MAX_OPTIONS } from '.';\n\nexport const meta = {\n name: 'SingleSelectFieldPro',\n label: 'Single Select Field',\n category: 'Dropdowns',\n defaultWidth: 200,\n defaultHeight: 40,\n inputs: [\n dataset,\n { ...dimension, label: 'Dimension (to load Dropdown values)' },\n {\n ...dimension,\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional second dimension for filtering',\n description:\n 'A hidden dimension applied for filtering instead of the main dimension. Must be unique.',\n },\n title,\n description,\n { ...placeholder, defaultValue: 'Select value...' },\n {\n name: 'selectedValue',\n type: 'string',\n label: 'Selected Value',\n category: 'Pre-configured variables',\n },\n {\n name: 'maxOptions',\n type: 'number',\n label: 'Maximum options',\n category: 'Pre-configured variables',\n defaultValue: MAX_OPTIONS,\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Change',\n properties: [\n {\n name: 'value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'Single-select value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype SingleSelectDropdownState = {\n searchValue?: string;\n};\n\nexport default defineComponent(SingleSelectFieldPro, meta, {\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n ) => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue: searchValue }),\n results: loadData({\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [\n {\n operator,\n property: inputs.dimension,\n value: state.searchValue,\n },\n ]\n : undefined,\n }),\n };\n },\n events: {\n onChange: (selectedValue: string) => {\n return {\n value: selectedValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["SingleSelectField","value","options","disabled","placeholder","isSearchable","isClearable","isLoading","noOptionsMessage","onChange","onSearch","isOpen","setIsOpen","useState","searchValue","setSearchValue","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","option","opt","debouncedSearch","useMemo","debounce","displayOptions","handleChange","newValue","handleSearch","newSearch","jsx","Dropdown","SelectButton","SelectList","TextField","IconSearch","jsxs","SelectListOptions","SelectListOption","MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","results","selectedValue","resolveI18nProps","_a","data","showNoOptionsMessage","_b","EditorCard","i18n","meta","dataset","Value","SingleSelectFieldPro_emb","defineComponent","inputs","state","setState","operator","loadData"],"mappings":"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"}
|