@embeddable.com/remarkable-ui 0.1.31 → 0.1.33
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 +3 -3
- package/dist/BarChartDefaultPro.js +3 -3
- package/dist/BarChartGroupedHorizontalPro.js +3 -3
- package/dist/BarChartGroupedPro.js +3 -3
- package/dist/BarChartStackedHorizontalPro.js +3 -3
- package/dist/BarChartStackedPro.js +3 -3
- package/dist/{BaseButton-Bf7IgH4E.js → BaseButton-D3Nh2VwK.js} +2 -2
- package/dist/{BaseButton-Bf7IgH4E.js.map → BaseButton-D3Nh2VwK.js.map} +1 -1
- package/dist/{ChartCard-CACbKXZ7.js → ChartCard-BMfUGlQC.js} +13 -13
- package/dist/{ChartCard-CACbKXZ7.js.map → ChartCard-BMfUGlQC.js.map} +1 -1
- package/dist/{ComparisonPeriod.type.emb-Q_A2MmQY.js → ComparisonPeriod.type.emb-9nwxR9Tl.js} +2 -2
- package/dist/{ComparisonPeriod.type.emb-Q_A2MmQY.js.map → ComparisonPeriod.type.emb-9nwxR9Tl.js.map} +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +4 -4
- package/dist/DateRangeSelectFieldPro.js +2 -2
- package/dist/DonutChartPro.js +2 -2
- package/dist/DonutLabelChartPro.js +2 -2
- package/dist/{EditorCard-CNU8sUaR.js → EditorCard-tBhUO9qV.js} +9 -9
- package/dist/{EditorCard-CNU8sUaR.js.map → EditorCard-tBhUO9qV.js.map} +1 -1
- package/dist/{KpiChart-C-SmtMQp.js → KpiChart-CqS9-4MK.js} +2 -2
- package/dist/{KpiChart-C-SmtMQp.js.map → KpiChart-CqS9-4MK.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +39 -39
- package/dist/KpiChartNumberComparisonPro.js.map +1 -1
- package/dist/KpiChartNumberPro.js +4 -4
- package/dist/LineChartComparisonDefaultPro.js +5 -5
- package/dist/LineChartDefaultPro.js +3 -3
- package/dist/LineChartGroupedPro.js +3 -3
- package/dist/MultiSelectFieldPro.js +2 -2
- package/dist/PieChartPro.js +2 -2
- package/dist/SingleSelectField-BwQahxL2.js +96 -0
- package/dist/SingleSelectField-BwQahxL2.js.map +1 -0
- package/dist/SingleSelectFieldPro.js +2 -2
- package/dist/{bars.utils-BaxcPPid.js → bars.utils-BS6hyz6a.js} +4 -4
- package/dist/{bars.utils-BaxcPPid.js.map → bars.utils-BS6hyz6a.js.map} +1 -1
- package/dist/{charts.utils-CQtEx-IN.js → charts.utils-CtjnpTZZ.js} +3 -3
- package/dist/{charts.utils-CQtEx-IN.js.map → charts.utils-CtjnpTZZ.js.map} +1 -1
- package/dist/{component.constants-B1QqUi2G.js → component.constants-BtSbiLSA.js} +1676 -1659
- package/dist/component.constants-BtSbiLSA.js.map +1 -0
- package/dist/embeddable-components.json +12 -12
- package/dist/{formatter.utils-B3HZzPUm.js → formatter.utils-DsSqaQLy.js} +2 -2
- package/dist/{formatter.utils-B3HZzPUm.js.map → formatter.utils-DsSqaQLy.js.map} +1 -1
- package/dist/index-0EU9wBvd.js +210 -0
- package/dist/index-0EU9wBvd.js.map +1 -0
- package/dist/{index-DyMUkLDE.js → index-BFMal406.js} +8 -8
- package/dist/{index-DyMUkLDE.js.map → index-BFMal406.js.map} +1 -1
- package/dist/{index-Fs7N8msy.js → index-Bgt_jnmA.js} +13 -13
- package/dist/{index-Fs7N8msy.js.map → index-Bgt_jnmA.js.map} +1 -1
- package/dist/{index-SdQVlaEz.js → index-CVNg2zPD.js} +11 -11
- package/dist/{index-SdQVlaEz.js.map → index-CVNg2zPD.js.map} +1 -1
- package/dist/{index-Dye21BCa.js → index-CuyqPNAk.js} +5 -5
- package/dist/{index-Dye21BCa.js.map → index-CuyqPNAk.js.map} +1 -1
- package/dist/{index-DXHlr-gm.js → index-Fhr_BPX0.js} +4 -4
- package/dist/{index-DXHlr-gm.js.map → index-Fhr_BPX0.js.map} +1 -1
- package/dist/index.js +100 -99
- package/dist/{pies.utils-CPE4fxFn.js → pies.utils-DCRmuFgI.js} +4 -4
- package/dist/{pies.utils-CPE4fxFn.js.map → pies.utils-DCRmuFgI.js.map} +1 -1
- package/dist/remarkable-ui/editors/InputField/InputField.d.ts +4 -0
- package/dist/remarkable-ui/editors/InputField/InputField.d.ts.map +1 -1
- package/dist/remarkable-ui/editors/NumberField/NumberField.d.ts +2 -0
- package/dist/remarkable-ui/editors/NumberField/NumberField.d.ts.map +1 -1
- package/dist/remarkable-ui/editors/NumberField/NumberField.stories.d.ts +4 -0
- package/dist/remarkable-ui/editors/NumberField/NumberField.stories.d.ts.map +1 -1
- package/dist/remarkable-ui/editors/TextField/TextField.d.ts +2 -0
- package/dist/remarkable-ui/editors/TextField/TextField.d.ts.map +1 -1
- package/dist/remarkable-ui/editors/TextField/TextField.stories.d.ts +5 -0
- package/dist/remarkable-ui/editors/TextField/TextField.stories.d.ts.map +1 -1
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.d.ts +2 -0
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.d.ts.map +1 -1
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts +2 -0
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts.map +1 -1
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts +2 -0
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts.map +1 -1
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts +2 -0
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts.map +1 -1
- package/dist/remarkable-ui/editors/select/shared/SelectButton/SelectButton.d.ts +1 -0
- package/dist/remarkable-ui/editors/select/shared/SelectButton/SelectButton.d.ts.map +1 -1
- package/dist/remarkable-ui/index.d.ts +1 -0
- package/dist/remarkable-ui/index.d.ts.map +1 -1
- package/dist/remarkable-ui/shared/FieldErrorMessage/FieldErrorMessage.d.ts +5 -0
- package/dist/remarkable-ui/shared/FieldErrorMessage/FieldErrorMessage.d.ts.map +1 -0
- package/dist/remarkable-ui.css +1 -1
- package/dist/{timeRange.utils-C0iy3N-l.js → timeRange.utils-CWIlCcfG.js} +2 -2
- package/dist/{timeRange.utils-C0iy3N-l.js.map → timeRange.utils-CWIlCcfG.js.map} +1 -1
- package/package.json +1 -1
- package/dist/SingleSelectField-AZ79m6bQ.js +0 -88
- package/dist/SingleSelectField-AZ79m6bQ.js.map +0 -1
- package/dist/component.constants-B1QqUi2G.js.map +0 -1
- package/dist/index-BcXLOYYi.js +0 -203
- package/dist/index-BcXLOYYi.js.map +0 -1
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"components": [
|
|
3
|
-
"ComparisonPeriodSelectFieldPro",
|
|
4
|
-
"DateRangeSelectFieldPro",
|
|
5
|
-
"MultiSelectFieldPro",
|
|
6
|
-
"BarChartGroupedPro",
|
|
7
|
-
"LineChartDefaultPro",
|
|
8
3
|
"SingleSelectFieldPro",
|
|
9
|
-
"LineChartComparisonDefaultPro",
|
|
10
4
|
"KpiChartNumberPro",
|
|
11
|
-
"BarChartDefaultHorizontalPro",
|
|
12
|
-
"BarChartStackedHorizontalPro",
|
|
13
5
|
"KpiChartNumberComparisonPro",
|
|
14
|
-
"
|
|
6
|
+
"BarChartStackedHorizontalPro",
|
|
7
|
+
"BarChartStackedPro",
|
|
8
|
+
"BarChartGroupedPro",
|
|
9
|
+
"LineChartComparisonDefaultPro",
|
|
15
10
|
"LineChartGroupedPro",
|
|
11
|
+
"ComparisonPeriodSelectFieldPro",
|
|
12
|
+
"BarChartDefaultPro",
|
|
13
|
+
"BarChartGroupedHorizontalPro",
|
|
14
|
+
"BarChartDefaultHorizontalPro",
|
|
15
|
+
"DateRangeSelectFieldPro",
|
|
16
16
|
"DonutChartPro",
|
|
17
17
|
"PieChartPro",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
18
|
+
"MultiSelectFieldPro",
|
|
19
|
+
"LineChartDefaultPro",
|
|
20
|
+
"DonutLabelChartPro"
|
|
21
21
|
],
|
|
22
22
|
"editors": [],
|
|
23
23
|
"plugin": "react"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a2 as T } from "./component.constants-
|
|
1
|
+
import { a2 as T } from "./component.constants-BtSbiLSA.js";
|
|
2
2
|
const i = (r) => {
|
|
3
3
|
const s = {};
|
|
4
4
|
return (m) => {
|
|
@@ -43,4 +43,4 @@ const i = (r) => {
|
|
|
43
43
|
export {
|
|
44
44
|
D as g
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=formatter.utils-
|
|
46
|
+
//# sourceMappingURL=formatter.utils-DsSqaQLy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.utils-
|
|
1
|
+
{"version":3,"file":"formatter.utils-DsSqaQLy.js","sources":["../src/remarkable-pro/utils.ts/cache.utils.ts","../src/remarkable-pro/utils.ts/data.utils.ts","../src/remarkable-pro/theme/formatter/formatter.utils.ts"],"sourcesContent":["/**\n * Creates a formatter cache.\n * Cache used to prevent unnecessary (expensive) creation of formatter objects\n */\nexport const cache = <Params, Formatter>(factory: (params?: Params) => Formatter) => {\n const internalCache: { [key: string]: Formatter } = {};\n const get = (params?: Params) => {\n const key = JSON.stringify(params);\n let formatter = internalCache[key];\n if (formatter) {\n return formatter;\n }\n formatter = factory(params);\n internalCache[key] = formatter;\n return formatter;\n };\n return get;\n};\n","const ISO_DATE_TIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}$/;\n\nexport const isValidISODate = (value: string): boolean => {\n return Boolean(value && ISO_DATE_TIME_REGEX.test(value));\n};\n","import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { DateTimeFormatter, NumberFormatter, StringFormatter } from './formatter.types';\nimport { Theme } from '../theme.types';\nimport { cache } from '../../utils.ts/cache.utils';\nimport { isValidISODate } from '../../utils.ts/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\n\nexport type GetThemeFormatter = {\n string: (key: string) => string;\n number: (value: number | bigint, options?: Intl.NumberFormatOptions) => string;\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions) => string;\n dimensionOrMeasureTitle: (key: DimensionOrMeasure) => string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any) => string;\n};\n\nexport const getThemeFormatter = (theme: Theme): GetThemeFormatter => {\n const cachedNumberFormatter = cache<Intl.NumberFormatOptions, NumberFormatter>((options) =>\n theme.formatter.numberFormatter(theme, options),\n );\n\n const cachedDataNumberFormatter = cache<DimensionOrMeasure, NumberFormatter>((key) =>\n theme.formatter.dataNumberFormatter(theme, key!),\n );\n\n const cachedDateTimeFormatter = cache<Intl.DateTimeFormatOptions, DateTimeFormatter>((options) =>\n theme.formatter.dateTimeFormatter(theme, options),\n );\n\n const cachedDataDateTimeFormatter = cache<DimensionOrMeasure, DateTimeFormatter>((key) =>\n theme.formatter.dataDateTimeFormatter(theme, key!),\n );\n\n const cachedDataOthersFormatter = cache<DimensionOrMeasure, StringFormatter>((key) =>\n theme.formatter.dataOthersFormatter(theme, key!),\n );\n\n return {\n string: (key: string) => theme.formatter.stringFormatter().format(key),\n number: (value: number | bigint, options?: Intl.NumberFormatOptions): string => {\n return cachedNumberFormatter(options).format(value);\n },\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions): string => {\n return cachedDateTimeFormatter(options).format(value);\n },\n dimensionOrMeasureTitle: (key: DimensionOrMeasure): string => {\n const displayName = key.inputs?.displayName;\n if (displayName) {\n if (displayName.includes('|')) {\n return resolveI18nString(displayName);\n }\n return displayName;\n }\n\n const resolved = cachedDataOthersFormatter(key).format(key.name);\n return resolved === key.name ? (key.title ?? key.name) : resolved;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any): string => {\n let newValue = value;\n\n // Number\n if (key.nativeType === 'number') {\n newValue = cachedDataNumberFormatter(key).format(value);\n }\n\n // Time\n if (key.nativeType === 'time' && isValidISODate(value)) {\n newValue = cachedDataDateTimeFormatter(key).format(new Date(value));\n }\n\n // Others (boolean and string)\n if (key.nativeType === 'boolean' || key.nativeType === 'string') {\n newValue = cachedDataOthersFormatter(key).format(value);\n }\n\n // Prefix and suffix\n const appended = `${key.inputs?.prefix || ''}${newValue}${key.inputs?.suffix || ''}`;\n\n // Max characters\n if (key.inputs?.maxCharacters) {\n if (appended.length <= key.inputs.maxCharacters) {\n return appended;\n }\n return appended.substring(0, key.inputs.maxCharacters) + '...';\n }\n\n return appended;\n },\n };\n};\n"],"names":["cache","factory","internalCache","params","key","formatter","ISO_DATE_TIME_REGEX","isValidISODate","value","getThemeFormatter","theme","cachedNumberFormatter","options","cachedDataNumberFormatter","cachedDateTimeFormatter","cachedDataDateTimeFormatter","cachedDataOthersFormatter","displayName","_a","resolveI18nString","resolved","newValue","appended","_b","_c"],"mappings":";AAIO,MAAMA,IAAQ,CAAoBC,MAA4C;AACnF,QAAMC,IAA8C,CAAA;AAWpD,SAVY,CAACC,MAAoB;AAC/B,UAAMC,IAAM,KAAK,UAAUD,CAAM;AACjC,QAAIE,IAAYH,EAAcE,CAAG;AACjC,WAAIC,MAGJA,IAAYJ,EAAQE,CAAM,GAC1BD,EAAcE,CAAG,IAAIC,GACdA;AAAA,EACT;AAEF,GCjBMC,IAAsB,gDAEfC,IAAiB,CAACC,MACtB,GAAQA,KAASF,EAAoB,KAAKE,CAAK,ICa3CC,IAAoB,CAACC,MAAoC;AACpE,QAAMC,IAAwBX;AAAA,IAAiD,CAACY,MAC9EF,EAAM,UAAU,gBAAgBA,GAAOE,CAAO;AAAA,EAAA,GAG1CC,IAA4Bb;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA,GAG3CU,IAA0Bd;AAAA,IAAqD,CAACY,MACpFF,EAAM,UAAU,kBAAkBA,GAAOE,CAAO;AAAA,EAAA,GAG5CG,IAA8Bf;AAAA,IAA6C,CAACI,MAChFM,EAAM,UAAU,sBAAsBA,GAAON,CAAI;AAAA,EAAA,GAG7CY,IAA4BhB;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA;AAGjD,SAAO;AAAA,IACL,QAAQ,CAACA,MAAgBM,EAAM,UAAU,gBAAA,EAAkB,OAAON,CAAG;AAAA,IACrE,QAAQ,CAACI,GAAwBI,MACxBD,EAAsBC,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEpD,UAAU,CAACA,GAAaI,MACfE,EAAwBF,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEtD,yBAAyB,CAACJ,MAAoC;;AAC5D,YAAMa,KAAcC,IAAAd,EAAI,WAAJ,gBAAAc,EAAY;AAChC,UAAID;AACF,eAAIA,EAAY,SAAS,GAAG,IACnBE,EAAkBF,CAAW,IAE/BA;AAGT,YAAMG,IAAWJ,EAA0BZ,CAAG,EAAE,OAAOA,EAAI,IAAI;AAC/D,aAAOgB,MAAahB,EAAI,OAAQA,EAAI,SAASA,EAAI,OAAQgB;AAAA,IAC3D;AAAA;AAAA,IAEA,MAAM,CAAChB,GAAyBI,MAAuB;;AACrD,UAAIa,IAAWb;AAGf,MAAIJ,EAAI,eAAe,aACrBiB,IAAWR,EAA0BT,CAAG,EAAE,OAAOI,CAAK,IAIpDJ,EAAI,eAAe,UAAUG,EAAeC,CAAK,MACnDa,IAAWN,EAA4BX,CAAG,EAAE,OAAO,IAAI,KAAKI,CAAK,CAAC,KAIhEJ,EAAI,eAAe,aAAaA,EAAI,eAAe,cACrDiB,IAAWL,EAA0BZ,CAAG,EAAE,OAAOI,CAAK;AAIxD,YAAMc,IAAW,KAAGJ,IAAAd,EAAI,WAAJ,gBAAAc,EAAY,WAAU,EAAE,GAAGG,CAAQ,KAAGE,IAAAnB,EAAI,WAAJ,gBAAAmB,EAAY,WAAU,EAAE;AAGlF,cAAIC,IAAApB,EAAI,WAAJ,QAAAoB,EAAY,gBACVF,EAAS,UAAUlB,EAAI,OAAO,gBACzBkB,IAEFA,EAAS,UAAU,GAAGlB,EAAI,OAAO,aAAa,IAAI,QAGpDkB;AAAA,IACT;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { a4 as I, j as t, a7 as V, a6 as w, ae as z, ah as U, ai as J, af as C, ag as K, ad as X, r as G, U as H } from "./component.constants-BtSbiLSA.js";
|
|
2
|
+
import { g as Q } from "./formatter.utils-DsSqaQLy.js";
|
|
3
|
+
import { useTheme as W } from "@embeddable.com/react";
|
|
4
|
+
import { u as Y, d as Z, I as ee, S as te, E as se } from "./EditorCard-tBhUO9qV.js";
|
|
5
|
+
import { useState as T, useRef as le, useEffect as B, useMemo as ae } from "react";
|
|
6
|
+
import { B as ne } from "./BaseButton-D3Nh2VwK.js";
|
|
7
|
+
/**
|
|
8
|
+
* @license @tabler/icons-react v3.34.1 - MIT
|
|
9
|
+
*
|
|
10
|
+
* This source code is licensed under the MIT license.
|
|
11
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
+
*/
|
|
13
|
+
const oe = [["path", { d: "M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z", key: "svg-0" }]], ce = I("outline", "square", "Square", oe);
|
|
14
|
+
/**
|
|
15
|
+
* @license @tabler/icons-react v3.34.1 - MIT
|
|
16
|
+
*
|
|
17
|
+
* This source code is licensed under the MIT license.
|
|
18
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
19
|
+
*/
|
|
20
|
+
const ie = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.626 7.293a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z", key: "svg-0" }]], re = I("filled", "square-check-filled", "SquareCheckFilled", ie), ue = "_icon_14m1u_1", me = "_buttonMedium_14m1u_6", de = "_buttonSmall_14m1u_14", be = "_buttonText_14m1u_22", pe = "_buttonTextMedium_14m1u_26", xe = "_buttonTextSmall_14m1u_35", b = {
|
|
21
|
+
icon: ue,
|
|
22
|
+
buttonMedium: me,
|
|
23
|
+
buttonSmall: de,
|
|
24
|
+
buttonText: be,
|
|
25
|
+
buttonTextMedium: pe,
|
|
26
|
+
buttonTextSmall: xe
|
|
27
|
+
}, _e = ({
|
|
28
|
+
variant: u,
|
|
29
|
+
startIcon: m,
|
|
30
|
+
endIcon: n,
|
|
31
|
+
children: d,
|
|
32
|
+
size: c,
|
|
33
|
+
...o
|
|
34
|
+
}) => /* @__PURE__ */ t.jsxs(
|
|
35
|
+
ne,
|
|
36
|
+
{
|
|
37
|
+
variant: u,
|
|
38
|
+
...o,
|
|
39
|
+
className: c === "medium" ? b.buttonMedium : b.buttonSmall,
|
|
40
|
+
size: c,
|
|
41
|
+
children: [
|
|
42
|
+
m && /* @__PURE__ */ t.jsx(m, { className: b.icon }),
|
|
43
|
+
/* @__PURE__ */ t.jsx(
|
|
44
|
+
V,
|
|
45
|
+
{
|
|
46
|
+
as: "span",
|
|
47
|
+
className: w(
|
|
48
|
+
b.buttonText,
|
|
49
|
+
b[`buttonText${c.charAt(0).toUpperCase() + c.slice(1)}`]
|
|
50
|
+
),
|
|
51
|
+
children: d
|
|
52
|
+
}
|
|
53
|
+
),
|
|
54
|
+
n && /* @__PURE__ */ t.jsx(n, { className: b.icon })
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
), he = "_submitButton_gpe2a_1", fe = "_selectField_gpe2a_5", N = {
|
|
58
|
+
submitButton: he,
|
|
59
|
+
selectField: fe
|
|
60
|
+
}, je = ({
|
|
61
|
+
disabled: u,
|
|
62
|
+
isClearable: m,
|
|
63
|
+
isLoading: n,
|
|
64
|
+
isSearchable: d,
|
|
65
|
+
noOptionsMessage: c,
|
|
66
|
+
options: o,
|
|
67
|
+
placeholder: f,
|
|
68
|
+
submitLabel: y = "Apply",
|
|
69
|
+
values: s = [],
|
|
70
|
+
onChange: j,
|
|
71
|
+
onSearch: l,
|
|
72
|
+
error: p = !1,
|
|
73
|
+
errorMessage: x
|
|
74
|
+
}) => {
|
|
75
|
+
const [S, _] = T(!1), [h, i] = T(""), [r, v] = T(s), [L, M] = T(""), O = le(null);
|
|
76
|
+
Y(S, O), B(() => {
|
|
77
|
+
v(s);
|
|
78
|
+
}, [JSON.stringify(s)]), B(() => {
|
|
79
|
+
if (n)
|
|
80
|
+
return;
|
|
81
|
+
if (!s || s.length === 0) {
|
|
82
|
+
M("");
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const e = s.map(
|
|
86
|
+
(a) => {
|
|
87
|
+
var g;
|
|
88
|
+
return ((g = o.find((R) => R.value === a)) == null ? void 0 : g.label) ?? a;
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
if (e.length > 0) {
|
|
92
|
+
const a = e.join(", ");
|
|
93
|
+
M(`(${e.length}) ${a}`);
|
|
94
|
+
}
|
|
95
|
+
}, [s, o, n]);
|
|
96
|
+
const F = ae(() => l ? Z(l) : void 0, [l]), k = d && !l ? o.filter((e) => e.label.toLowerCase().includes(h.toLowerCase())) : o, q = r.every((e) => s.includes(e)) && s.every((e) => r.includes(e)), P = (e, a) => {
|
|
97
|
+
e.preventDefault(), a && (r.includes(a) ? v(r.filter((g) => g !== a)) : v([...r, a]));
|
|
98
|
+
}, D = (e) => {
|
|
99
|
+
i(e), F == null || F(e);
|
|
100
|
+
}, E = (e) => {
|
|
101
|
+
j(e), _(!1), i(""), l == null || l("");
|
|
102
|
+
}, $ = () => {
|
|
103
|
+
i(""), l == null || l(""), j([]);
|
|
104
|
+
}, A = p || !!x;
|
|
105
|
+
return /* @__PURE__ */ t.jsxs("div", { className: N.selectField, children: [
|
|
106
|
+
/* @__PURE__ */ t.jsx(
|
|
107
|
+
z,
|
|
108
|
+
{
|
|
109
|
+
open: S,
|
|
110
|
+
onOpenChange: _,
|
|
111
|
+
disabled: u,
|
|
112
|
+
triggerComponent: /* @__PURE__ */ t.jsx(
|
|
113
|
+
K,
|
|
114
|
+
{
|
|
115
|
+
"aria-label": "Select options",
|
|
116
|
+
placeholder: f,
|
|
117
|
+
disabled: u,
|
|
118
|
+
valueLabel: L,
|
|
119
|
+
onClear: $,
|
|
120
|
+
isClearable: m,
|
|
121
|
+
isLoading: n,
|
|
122
|
+
error: A
|
|
123
|
+
}
|
|
124
|
+
),
|
|
125
|
+
children: /* @__PURE__ */ t.jsxs(U, { children: [
|
|
126
|
+
d && /* @__PURE__ */ t.jsx(
|
|
127
|
+
J,
|
|
128
|
+
{
|
|
129
|
+
ref: O,
|
|
130
|
+
startIcon: ee,
|
|
131
|
+
"aria-label": "Search options",
|
|
132
|
+
placeholder: "Search…",
|
|
133
|
+
role: "searchbox",
|
|
134
|
+
value: h,
|
|
135
|
+
onKeyDown: (e) => e.stopPropagation(),
|
|
136
|
+
onChange: D
|
|
137
|
+
}
|
|
138
|
+
),
|
|
139
|
+
/* @__PURE__ */ t.jsxs(te, { disabled: n, children: [
|
|
140
|
+
k.map((e) => /* @__PURE__ */ t.jsx(
|
|
141
|
+
C,
|
|
142
|
+
{
|
|
143
|
+
onClick: (a) => P(a, e.value),
|
|
144
|
+
startIcon: r.includes(e.value) ? /* @__PURE__ */ t.jsx(re, {}) : /* @__PURE__ */ t.jsx(ce, {}),
|
|
145
|
+
...e
|
|
146
|
+
},
|
|
147
|
+
(e == null ? void 0 : e.value) ?? e.label
|
|
148
|
+
)),
|
|
149
|
+
c && /* @__PURE__ */ t.jsx(C, { disabled: !0, value: "empty", label: c })
|
|
150
|
+
] }),
|
|
151
|
+
/* @__PURE__ */ t.jsx(
|
|
152
|
+
_e,
|
|
153
|
+
{
|
|
154
|
+
className: N.submitButton,
|
|
155
|
+
disabled: q || n,
|
|
156
|
+
variant: "primary",
|
|
157
|
+
size: "medium",
|
|
158
|
+
onClick: () => E(r),
|
|
159
|
+
role: "button",
|
|
160
|
+
children: y
|
|
161
|
+
}
|
|
162
|
+
)
|
|
163
|
+
] })
|
|
164
|
+
}
|
|
165
|
+
),
|
|
166
|
+
x && /* @__PURE__ */ t.jsx(X, { message: x })
|
|
167
|
+
] });
|
|
168
|
+
}, Se = 200, ge = (u) => {
|
|
169
|
+
var _, h;
|
|
170
|
+
const m = W(), n = Q(m), {
|
|
171
|
+
title: d,
|
|
172
|
+
description: c,
|
|
173
|
+
dimension: o,
|
|
174
|
+
optionalSecondDimension: f,
|
|
175
|
+
placeholder: y,
|
|
176
|
+
results: s,
|
|
177
|
+
selectedValues: j,
|
|
178
|
+
setSearchValue: l,
|
|
179
|
+
onChange: p
|
|
180
|
+
} = G(u), x = ((_ = s.data) == null ? void 0 : _.map((i) => ({
|
|
181
|
+
value: f ? i[f.name] : i[o.name],
|
|
182
|
+
label: n.data(o, i[o.name])
|
|
183
|
+
}))) ?? [], S = !s.isLoading && (((h = s.data) == null ? void 0 : h.length) ?? 0) === 0;
|
|
184
|
+
return /* @__PURE__ */ t.jsx(se, { title: d, subtitle: c, children: /* @__PURE__ */ t.jsx(
|
|
185
|
+
je,
|
|
186
|
+
{
|
|
187
|
+
isClearable: !0,
|
|
188
|
+
isSearchable: !0,
|
|
189
|
+
isLoading: s.isLoading,
|
|
190
|
+
values: j ?? [],
|
|
191
|
+
options: x,
|
|
192
|
+
placeholder: y,
|
|
193
|
+
noOptionsMessage: S ? H.t("common.noOptionsFound") : void 0,
|
|
194
|
+
onChange: (i) => p == null ? void 0 : p(i),
|
|
195
|
+
onSearch: l
|
|
196
|
+
}
|
|
197
|
+
) });
|
|
198
|
+
}, Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
199
|
+
__proto__: null,
|
|
200
|
+
MAX_OPTIONS: Se,
|
|
201
|
+
default: ge
|
|
202
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
203
|
+
export {
|
|
204
|
+
_e as B,
|
|
205
|
+
Se as M,
|
|
206
|
+
ge as a,
|
|
207
|
+
je as b,
|
|
208
|
+
Ce as i
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=index-0EU9wBvd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-0EU9wBvd.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconSquare.mjs","../node_modules/@tabler/icons-react/dist/esm/icons/IconSquareCheckFilled.mjs","../src/remarkable-ui/shared/Button/Button.tsx","../src/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.tsx","../src/remarkable-pro/components/editors/MultiSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z\", \"key\": \"svg-0\" }]];\nconst IconSquare = createReactComponent(\"outline\", \"square\", \"Square\", __iconNode);\n\nexport { __iconNode, IconSquare as default };\n//# sourceMappingURL=IconSquare.mjs.map\n","/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.626 7.293a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z\", \"key\": \"svg-0\" }]];\nconst IconSquareCheckFilled = createReactComponent(\"filled\", \"square-check-filled\", \"SquareCheckFilled\", __iconNode);\n\nexport { __iconNode, IconSquareCheckFilled as default };\n//# sourceMappingURL=IconSquareCheckFilled.mjs.map\n","import { TablerIcon } from '@tabler/icons-react';\nimport styles from './Button.module.css';\nimport { BaseButton, type BaseButtonProps } from '../BaseButton';\nimport { Typography } from '../Typography/Typography';\nimport clsx from 'clsx';\n\ntype ButtonProps = BaseButtonProps & {\n startIcon?: TablerIcon;\n endIcon?: TablerIcon;\n children: string;\n size: 'small' | 'medium';\n};\n\nexport const Button: React.FC<ButtonProps> = ({\n variant,\n startIcon: StartIcon,\n endIcon: EndIcon,\n children,\n size,\n ...props\n}) => {\n return (\n <BaseButton\n variant={variant}\n {...props}\n className={size === 'medium' ? styles.buttonMedium : styles.buttonSmall}\n size={size}\n >\n {StartIcon && <StartIcon className={styles.icon} />}\n <Typography\n as=\"span\"\n className={clsx(\n styles.buttonText,\n styles[`buttonText${size.charAt(0).toUpperCase() + size.slice(1)}`],\n )}\n >\n {children}\n </Typography>\n {EndIcon && <EndIcon className={styles.icon} />}\n </BaseButton>\n );\n};\n","import { FC, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n SelectListOption,\n SelectListOptionProps,\n} from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';\nimport { debounce } from '../../../utils/debounce.utils';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport { SelectButton } from '../shared/SelectButton/SelectButton';\nimport { SelectList } from '../shared/SelectList/SelectList';\nimport { TextField } from '../../TextField/TextField';\nimport { SelectListOptions } from '../shared/SelectList/SelectListOptions/SelectListOptions';\nimport { IconSearch, IconSquare, IconSquareCheckFilled } from '@tabler/icons-react';\nimport { Button } from '../../../shared/Button/Button';\nimport styles from './MultiSelectField.module.css';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\nimport { FieldErrorMessage } from '../../../shared/FieldErrorMessage/FieldErrorMessage';\n\nexport type MultiSelectFieldProps = {\n disabled?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n isSearchable?: boolean;\n noOptionsMessage?: string;\n options: SelectListOptionProps[];\n placeholder?: string;\n submitLabel?: string;\n values?: string[];\n onChange: (value: string[]) => void;\n onSearch?: (search: string) => void;\n error?: boolean;\n errorMessage?: string;\n};\n\nexport const MultiSelectField: FC<MultiSelectFieldProps> = ({\n disabled,\n isClearable,\n isLoading,\n isSearchable,\n noOptionsMessage,\n options,\n placeholder,\n submitLabel = 'Apply',\n values = [],\n onChange,\n onSearch,\n error = false,\n errorMessage,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [preValues, setPreValues] = useState<string[]>(values);\n const [selectedLabel, setSelectedLabel] = useState<string>('');\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n setPreValues(values);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(values)]);\n\n useEffect(() => {\n if (isLoading) {\n return;\n }\n\n if (!values || values.length === 0) {\n setSelectedLabel('');\n return;\n }\n const selectedOptions = values.map(\n (value) => options.find((o) => o.value === value)?.label ?? value,\n );\n\n if (selectedOptions.length > 0) {\n const newLabel = selectedOptions.join(', ');\n setSelectedLabel(`(${selectedOptions.length}) ${newLabel}`);\n }\n }, [values, options, isLoading]);\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 isSubmitDisabled =\n preValues.every((preValue) => values.includes(preValue)) &&\n values.every((value) => preValues.includes(value));\n\n const handleSelectOption = (\n e: React.MouseEvent<HTMLDivElement, MouseEvent>,\n newValue?: string,\n ) => {\n e.preventDefault();\n\n if (!newValue) return;\n\n if (preValues.includes(newValue)) {\n setPreValues(preValues.filter((v) => v !== newValue));\n } else {\n setPreValues([...preValues, newValue]);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n const handleSave = (newValues: string[]) => {\n onChange(newValues);\n setIsOpen(false);\n setSearchValue('');\n onSearch?.('');\n };\n\n const handleClearAll = () => {\n setSearchValue('');\n onSearch?.('');\n onChange([]);\n };\n\n const hasError = error || !!errorMessage;\n\n return (\n <div className={styles.selectField}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectButton\n aria-label=\"Select options\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={handleClearAll}\n isClearable={isClearable}\n isLoading={isLoading}\n error={hasError}\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={(e) => handleSelectOption(e, option.value)}\n startIcon={\n preValues.includes(option.value!) ? <IconSquareCheckFilled /> : <IconSquare />\n }\n {...option}\n />\n ))}\n {noOptionsMessage && (\n <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />\n )}\n </SelectListOptions>\n <Button\n className={styles.submitButton}\n disabled={isSubmitDisabled || isLoading}\n variant=\"primary\"\n size=\"medium\"\n onClick={() => handleSave(preValues)}\n role=\"button\"\n >\n {submitLabel}\n </Button>\n </SelectList>\n </Dropdown>\n {errorMessage && <FieldErrorMessage message={errorMessage} />}\n </div>\n );\n};\n","import { DataResponse, Dimension } from '@embeddable.com/core';\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';\nimport { MultiSelectField } from '../../../../remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\ntype MultiSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues: string[];\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n};\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValues,\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 <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n"],"names":["__iconNode","IconSquare","createReactComponent","IconSquareCheckFilled","Button","variant","StartIcon","EndIcon","children","size","props","jsxs","BaseButton","styles","jsx","Typography","clsx","MultiSelectField","disabled","isClearable","isLoading","isSearchable","noOptionsMessage","options","placeholder","submitLabel","values","onChange","onSearch","error","errorMessage","isOpen","setIsOpen","useState","searchValue","setSearchValue","preValues","setPreValues","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","selectedOptions","value","_a","o","newLabel","debouncedSearch","useMemo","debounce","displayOptions","option","isSubmitDisabled","preValue","handleSelectOption","newValue","v","handleSearch","newSearch","handleSave","newValues","handleClearAll","hasError","Dropdown","SelectButton","SelectList","TextField","IconSearch","SelectListOptions","SelectListOption","e","FieldErrorMessage","MAX_OPTIONS","MultiSelectFieldPro","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","results","selectedValues","resolveI18nProps","data","showNoOptionsMessage","_b","EditorCard","i18n"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { i as P, r as S, m as b, j as m,
|
|
2
|
-
import { useTheme as
|
|
3
|
-
import { g as
|
|
4
|
-
import { C as w } from "./ChartCard-
|
|
1
|
+
import { i as P, r as S, m as b, j as m, ak as D } from "./component.constants-BtSbiLSA.js";
|
|
2
|
+
import { useTheme as k } from "@embeddable.com/react";
|
|
3
|
+
import { g as v, a as _ } from "./pies.utils-DCRmuFgI.js";
|
|
4
|
+
import { C as w } from "./ChartCard-BMfUGlQC.js";
|
|
5
5
|
import "react";
|
|
6
6
|
const L = (d) => {
|
|
7
7
|
var a;
|
|
8
|
-
const e =
|
|
8
|
+
const e = k();
|
|
9
9
|
P(e);
|
|
10
10
|
const {
|
|
11
11
|
description: l,
|
|
@@ -18,8 +18,8 @@ const L = (d) => {
|
|
|
18
18
|
showValueLabels: h,
|
|
19
19
|
title: g,
|
|
20
20
|
onSegmentClick: C
|
|
21
|
-
} = S(d), f =
|
|
22
|
-
|
|
21
|
+
} = S(d), f = v({ data: t.data, dimension: o, measure: s, maxLegendItems: u }, e), j = b(
|
|
22
|
+
_(
|
|
23
23
|
{
|
|
24
24
|
measure: s,
|
|
25
25
|
showTooltips: p,
|
|
@@ -54,4 +54,4 @@ export {
|
|
|
54
54
|
L as D,
|
|
55
55
|
V as i
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=index-
|
|
57
|
+
//# sourceMappingURL=index-BFMal406.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BFMal406.js","sources":["../src/remarkable-pro/components/charts/pies/DonutChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\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 { DonutChart } from '../../../../../remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype DonutChartProProps = DefaultPieChartProps;\n\nconst DonutChartPro = (props: DonutChartProProps) => {\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.donutChartPro?.options ?? {},\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 <DonutChart data={data} options={options} onSegmentClick={handleSegmentClick} />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","data","getPieChartData","options","mergician","getDefaultPieChartOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart"],"mappings":";;;;;AAYA,MAAMA,IAAgB,CAACC,MAA8B;;AACnD,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,MAEFmB,IAAAnB,EAAM,OAAO,kBAAb,gBAAAmB,EAA4B,YAAW,CAAA;AAAA,EAAC,GAGpCC,IAAqB,CAACC,MAA8B;;AACxD,IAAAT,EAAe;AAAA,MACb,gBAAgBS,MAAU,WAAwBC,KAAAH,IAAAZ,EAAQ,SAAR,gBAAAY,EAAeE,OAAf,OAAZ,SAAYC,EAAwBlB,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,EAAW,MAAAX,GAAY,SAAAE,GAAkB,gBAAgBI,EAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AAGpF;;;;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { i as
|
|
1
|
+
import { i as v, r as M, m as _, j as c, ak as w } from "./component.constants-BtSbiLSA.js";
|
|
2
2
|
import { useTheme as O } from "@embeddable.com/react";
|
|
3
|
-
import { g as y, a as F } from "./pies.utils-
|
|
4
|
-
import { g as V } from "./formatter.utils-
|
|
5
|
-
import { C as z } from "./ChartCard-
|
|
3
|
+
import { g as y, a as F } from "./pies.utils-DCRmuFgI.js";
|
|
4
|
+
import { g as V } from "./formatter.utils-DsSqaQLy.js";
|
|
5
|
+
import { C as z } from "./ChartCard-BMfUGlQC.js";
|
|
6
6
|
import "react";
|
|
7
7
|
const A = (p) => {
|
|
8
8
|
var n, i, m;
|
|
9
9
|
const e = O(), h = V(e);
|
|
10
|
-
|
|
10
|
+
v(e);
|
|
11
11
|
const {
|
|
12
12
|
description: g,
|
|
13
13
|
dimension: a,
|
|
@@ -16,13 +16,13 @@ const A = (p) => {
|
|
|
16
16
|
results: t,
|
|
17
17
|
showLegend: b,
|
|
18
18
|
showTooltips: f,
|
|
19
|
-
showValueLabels:
|
|
20
|
-
title:
|
|
19
|
+
showValueLabels: x,
|
|
20
|
+
title: j,
|
|
21
21
|
innerLabelMeasure: s,
|
|
22
22
|
resultsInnerLabel: r,
|
|
23
23
|
innerLabelText: L,
|
|
24
24
|
onSegmentClick: P
|
|
25
|
-
} =
|
|
25
|
+
} = M(p), S = y({ data: t.data, dimension: a, measure: o, maxLegendItems: C }, e), D = (l) => {
|
|
26
26
|
var d, u;
|
|
27
27
|
P({
|
|
28
28
|
dimensionValue: l === void 0 || (u = (d = t.data) == null ? void 0 : d[l]) == null ? void 0 : u[a.name]
|
|
@@ -30,13 +30,13 @@ const A = (p) => {
|
|
|
30
30
|
}, T = h.data(
|
|
31
31
|
s,
|
|
32
32
|
(i = (n = r == null ? void 0 : r.data) == null ? void 0 : n[0]) == null ? void 0 : i[s.name]
|
|
33
|
-
),
|
|
33
|
+
), k = _(
|
|
34
34
|
F(
|
|
35
35
|
{
|
|
36
36
|
measure: o,
|
|
37
37
|
showTooltips: f,
|
|
38
38
|
showLegend: b,
|
|
39
|
-
showValueLabels:
|
|
39
|
+
showValueLabels: x
|
|
40
40
|
},
|
|
41
41
|
e
|
|
42
42
|
),
|
|
@@ -49,14 +49,14 @@ const A = (p) => {
|
|
|
49
49
|
dimensionsAndMeasures: [a, o],
|
|
50
50
|
errorMessage: t.error,
|
|
51
51
|
subtitle: g,
|
|
52
|
-
title:
|
|
52
|
+
title: j,
|
|
53
53
|
children: /* @__PURE__ */ c.jsx(
|
|
54
54
|
w,
|
|
55
55
|
{
|
|
56
56
|
label: T,
|
|
57
57
|
subLabel: L,
|
|
58
58
|
data: S,
|
|
59
|
-
options:
|
|
59
|
+
options: k,
|
|
60
60
|
onSegmentClick: D
|
|
61
61
|
}
|
|
62
62
|
)
|
|
@@ -70,4 +70,4 @@ export {
|
|
|
70
70
|
A as D,
|
|
71
71
|
H as i
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=index-
|
|
73
|
+
//# sourceMappingURL=index-Bgt_jnmA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-Bgt_jnmA.js","sources":["../src/remarkable-pro/components/charts/pies/DonutLabelChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DefaultPieChartOptions, getDefaultPieChartOptions, getPieChartData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '../../../../../remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype DonutLabelChartProProps = DefaultPieChartProps & {\n innerLabelMeasure: Measure;\n innerLabelText: string;\n resultsInnerLabel: DataResponse;\n};\n\nconst DonutChartPro = (props: DonutLabelChartProProps) => {\n const theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(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 innerLabelMeasure,\n resultsInnerLabel,\n innerLabelText,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const data = getPieChartData({ data: results.data, dimension, measure, maxLegendItems }, theme);\n\n const handleSegmentClick = (index: number | undefined) => {\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n const label = themeFormatter.data(\n innerLabelMeasure,\n resultsInnerLabel?.data?.[0]?.[innerLabelMeasure.name],\n );\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.donutLabelChartPro?.options ?? {},\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 <DonutChart\n label={label}\n subLabel={innerLabelText}\n data={data}\n options={options}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","themeFormatter","getThemeFormatter","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","innerLabelMeasure","resultsInnerLabel","innerLabelText","onSegmentClick","resolveI18nProps","data","getPieChartData","handleSegmentClick","index","_b","_a","label","options","mergician","getDefaultPieChartOptions","_c","jsx","ChartCard","DonutChart"],"mappings":";;;;;;AAkBA,MAAMA,IAAgB,CAACC,MAAmC;;AACxD,QAAMC,IAAQC,EAAA,GACRC,IAAiBC,EAAkBH,CAAK;AAC9C,EAAAI,EAAUJ,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAK;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,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBnB,CAAK,GAEpBoB,IAAOC,EAAgB,EAAE,MAAMX,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA,GAAkBP,CAAK,GAExFqB,IAAqB,CAACC,MAA8B;;AACxD,IAAAL,EAAe;AAAA,MACb,gBAAgBK,MAAU,WAAwBC,KAAAC,IAAAf,EAAQ,SAAR,gBAAAe,EAAeF,OAAf,OAAZ,SAAYC,EAAwBjB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH,GAEMmB,IAAQvB,EAAe;AAAA,IAC3BY;AAAA,KACAS,KAAAC,IAAAT,KAAA,gBAAAA,EAAmB,SAAnB,gBAAAS,EAA0B,OAA1B,gBAAAD,EAA+BT,EAAkB;AAAA,EAAI,GAGjDY,IAAUC;AAAA,IACdC;AAAA,MACE;AAAA,QACE,SAAApB;AAAA,QACA,cAAAG;AAAA,QACA,YAAAD;AAAA,QACA,iBAAAE;AAAA,MAAA;AAAA,MAEFZ;AAAA,IAAA;AAAA,MAEF6B,IAAA7B,EAAM,OAAO,uBAAb,gBAAA6B,EAAiC,YAAW,CAAA;AAAA,EAAC;AAG/C,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMtB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,UAAUJ;AAAA,MACV,OAAAQ;AAAA,MAEA,UAAAiB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAAP;AAAA,UACA,UAAUT;AAAA,UACV,MAAAG;AAAA,UACA,SAAAO;AAAA,UACA,gBAAgBL;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { i as x, r as S, m as b, j as m,
|
|
2
|
-
import { useTheme as
|
|
1
|
+
import { i as x, r as S, m as b, j as m, al as v } from "./component.constants-BtSbiLSA.js";
|
|
2
|
+
import { useTheme as _ } from "@embeddable.com/react";
|
|
3
3
|
import "react";
|
|
4
|
-
import { g as
|
|
5
|
-
import { C as L } from "./ChartCard-
|
|
6
|
-
const M = (
|
|
4
|
+
import { g as k, a as w } from "./pies.utils-DCRmuFgI.js";
|
|
5
|
+
import { C as L } from "./ChartCard-BMfUGlQC.js";
|
|
6
|
+
const M = (l) => {
|
|
7
7
|
var a;
|
|
8
|
-
const e =
|
|
8
|
+
const e = _();
|
|
9
9
|
x(e);
|
|
10
10
|
const {
|
|
11
|
-
description:
|
|
11
|
+
description: d,
|
|
12
12
|
dimension: o,
|
|
13
13
|
maxLegendItems: p,
|
|
14
14
|
measure: s,
|
|
@@ -18,7 +18,7 @@ const M = (d) => {
|
|
|
18
18
|
showValueLabels: h,
|
|
19
19
|
title: g,
|
|
20
20
|
onSegmentClick: C
|
|
21
|
-
} = S(
|
|
21
|
+
} = S(l), P = k({ data: t.data, dimension: o, measure: s, maxLegendItems: p }, e), f = b(
|
|
22
22
|
w(
|
|
23
23
|
{
|
|
24
24
|
measure: s,
|
|
@@ -41,9 +41,9 @@ const M = (d) => {
|
|
|
41
41
|
data: t,
|
|
42
42
|
dimensionsAndMeasures: [o, s],
|
|
43
43
|
errorMessage: t.error,
|
|
44
|
-
subtitle:
|
|
44
|
+
subtitle: d,
|
|
45
45
|
title: g,
|
|
46
|
-
children: /* @__PURE__ */ m.jsx(
|
|
46
|
+
children: /* @__PURE__ */ m.jsx(v, { data: P, options: f, onSegmentClick: j })
|
|
47
47
|
}
|
|
48
48
|
);
|
|
49
49
|
}, V = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
@@ -54,4 +54,4 @@ export {
|
|
|
54
54
|
M as P,
|
|
55
55
|
V as i
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=index-
|
|
57
|
+
//# sourceMappingURL=index-CVNg2zPD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-CVNg2zPD.js","sources":["../src/remarkable-pro/components/charts/pies/PieChartPro/index.tsx"],"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.pieChartPro?.options ?? {},\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"],"names":["PieChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","data","getPieChartData","options","mergician","getDefaultPieChartOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","PieChart"],"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,MAEFmB,IAAAnB,EAAM,OAAO,gBAAb,gBAAAmB,EAA0B,YAAW,CAAA;AAAA,EAAC,GAGlCC,IAAqB,CAACC,MAA8B;;AACxD,IAAAT,EAAe;AAAA,MACb,gBAAgBS,MAAU,WAAwBC,KAAAH,IAAAZ,EAAQ,SAAR,gBAAAY,EAAeE,OAAf,OAAZ,SAAYC,EAAwBlB,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,gBAAgBI,EAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AAGlF;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { r as b, j as i, U as O } from "./component.constants-
|
|
2
|
-
import { S as j } from "./SingleSelectField-
|
|
3
|
-
import { g as x } from "./formatter.utils-
|
|
1
|
+
import { r as b, j as i, U as O } from "./component.constants-BtSbiLSA.js";
|
|
2
|
+
import { S as j } from "./SingleSelectField-BwQahxL2.js";
|
|
3
|
+
import { g as x } from "./formatter.utils-DsSqaQLy.js";
|
|
4
4
|
import { useTheme as v } from "@embeddable.com/react";
|
|
5
|
-
import { E as F } from "./EditorCard-
|
|
5
|
+
import { E as F } from "./EditorCard-tBhUO9qV.js";
|
|
6
6
|
const M = 200, _ = (l) => {
|
|
7
7
|
var a, r;
|
|
8
8
|
const m = v(), c = x(m), {
|
|
@@ -43,4 +43,4 @@ export {
|
|
|
43
43
|
_ as S,
|
|
44
44
|
C as i
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=index-
|
|
46
|
+
//# sourceMappingURL=index-CuyqPNAk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-CuyqPNAk.js","sources":["../src/remarkable-pro/components/editors/SingleSelectFieldPro/index.tsx"],"sourcesContent":["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"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValue","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue"],"mappings":";;;;;AASO,MAAMA,IAAc,KAerBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAaX,KAAA,gBAAAA,EAAWW;AAAA,MACnC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a4 as R, r as S, j as d, U as b } from "./component.constants-
|
|
1
|
+
import { a4 as R, r as S, j as d, U as b } from "./component.constants-BtSbiLSA.js";
|
|
2
2
|
import { useTheme as O } from "@embeddable.com/react";
|
|
3
3
|
import { useState as j, useEffect as c } from "react";
|
|
4
|
-
import { S as C } from "./SingleSelectField-
|
|
4
|
+
import { S as C } from "./SingleSelectField-BwQahxL2.js";
|
|
5
5
|
import { g as y, u as x } from "./editors.timeRange.utils-CteuBPel.js";
|
|
6
|
-
import { E as F } from "./EditorCard-
|
|
6
|
+
import { E as F } from "./EditorCard-tBhUO9qV.js";
|
|
7
7
|
/**
|
|
8
8
|
* @license @tabler/icons-react v3.34.1 - MIT
|
|
9
9
|
*
|
|
@@ -53,4 +53,4 @@ export {
|
|
|
53
53
|
z as D,
|
|
54
54
|
w as i
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=index-
|
|
56
|
+
//# sourceMappingURL=index-Fhr_BPX0.js.map
|