@embeddable.com/remarkable-ui 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +3 -3
  2. package/dist/BarChartDefaultPro.js +3 -3
  3. package/dist/BarChartGroupedHorizontalPro.js +3 -3
  4. package/dist/BarChartGroupedPro.js +3 -3
  5. package/dist/BarChartStackedHorizontalPro.js +3 -3
  6. package/dist/BarChartStackedPro.js +3 -3
  7. package/dist/{BaseButton-8lCm-nHV.js → BaseButton-BbhHQD9t.js} +2 -2
  8. package/dist/{BaseButton-8lCm-nHV.js.map → BaseButton-BbhHQD9t.js.map} +1 -1
  9. package/dist/ChartCard-11lQWjXq.js +106 -0
  10. package/dist/ChartCard-11lQWjXq.js.map +1 -0
  11. package/dist/ComparisonPeriod.type.emb-D51Sg3wt.js +15 -0
  12. package/dist/ComparisonPeriod.type.emb-D51Sg3wt.js.map +1 -0
  13. package/dist/ComparisonPeriodSelectFieldPro.js +45 -53
  14. package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
  15. package/dist/DateRangeSelectFieldPro.js +3 -3
  16. package/dist/DonutChartPro.js +2 -2
  17. package/dist/DonutLabelChartPro.js +2 -2
  18. package/dist/{EditorCard-_U0it3Eb.js → EditorCard-BriyqUva.js} +17 -17
  19. package/dist/{EditorCard-_U0it3Eb.js.map → EditorCard-BriyqUva.js.map} +1 -1
  20. package/dist/KpiChart-BLMULQMh.js +77 -0
  21. package/dist/KpiChart-BLMULQMh.js.map +1 -0
  22. package/dist/KpiChartNumberComparisonPro.js +156 -0
  23. package/dist/KpiChartNumberComparisonPro.js.map +1 -0
  24. package/dist/KpiChartNumberPro.js +47 -0
  25. package/dist/KpiChartNumberPro.js.map +1 -0
  26. package/dist/MultiSelectFieldPro.js +2 -3
  27. package/dist/MultiSelectFieldPro.js.map +1 -1
  28. package/dist/PieChartPro.js +2 -2
  29. package/dist/{SingleSelectField-Coqlrz4l.js → SingleSelectField-D1E9OJxC.js} +3 -3
  30. package/dist/{SingleSelectField-Coqlrz4l.js.map → SingleSelectField-D1E9OJxC.js.map} +1 -1
  31. package/dist/SingleSelectFieldPro.js +2 -2
  32. package/dist/{charts.fillGaps.hooks-BdlMosSu.js → charts.fillGaps.hooks-lZwsRfDF.js} +4 -4
  33. package/dist/{charts.fillGaps.hooks-BdlMosSu.js.map → charts.fillGaps.hooks-lZwsRfDF.js.map} +1 -1
  34. package/dist/{component.constants-6skM25Z_.js → component.constants-DIhZCTG3.js} +120 -84
  35. package/dist/component.constants-DIhZCTG3.js.map +1 -0
  36. package/dist/{editors.timeRange.utils-Dv6T01Ys.js → date.utils-CNVHSCO8.js} +18 -31
  37. package/dist/date.utils-CNVHSCO8.js.map +1 -0
  38. package/dist/editors.timeRange.utils-CG333N7U.js +18 -0
  39. package/dist/editors.timeRange.utils-CG333N7U.js.map +1 -0
  40. package/dist/embeddable-components.json +8 -6
  41. package/dist/embeddable-theme-2b917.js +974 -964
  42. package/dist/{formatter.utils-DMMBiLDD.js → formatter.utils-CuZlh4EL.js} +2 -2
  43. package/dist/{formatter.utils-DMMBiLDD.js.map → formatter.utils-CuZlh4EL.js.map} +1 -1
  44. package/dist/{index-DufpVBMb.js → index-B7KNswsW.js} +8 -8
  45. package/dist/{index-DufpVBMb.js.map → index-B7KNswsW.js.map} +1 -1
  46. package/dist/{index-j6OFGLY6.js → index-B_4rK6tI.js} +12 -11
  47. package/dist/{index-j6OFGLY6.js.map → index-B_4rK6tI.js.map} +1 -1
  48. package/dist/{index-D7GTSbzO.js → index-Bgj2EBb8.js} +10 -10
  49. package/dist/{index-D7GTSbzO.js.map → index-Bgj2EBb8.js.map} +1 -1
  50. package/dist/{index-B3vcfrrk.js → index-C-zjH8iP.js} +5 -5
  51. package/dist/{index-B3vcfrrk.js.map → index-C-zjH8iP.js.map} +1 -1
  52. package/dist/{index-pxtCdM0I.js → index-C8pGCEGw.js} +5 -5
  53. package/dist/{index-pxtCdM0I.js.map → index-C8pGCEGw.js.map} +1 -1
  54. package/dist/{index-B9XcOUp_.js → index-DqKfDjMs.js} +25 -25
  55. package/dist/{index-B9XcOUp_.js.map → index-DqKfDjMs.js.map} +1 -1
  56. package/dist/index.js +115 -107
  57. package/dist/index.js.map +1 -1
  58. package/dist/{object.utils-DB9Hp3Uk.js → object.utils-CMJleY-P.js} +2511 -2602
  59. package/dist/object.utils-CMJleY-P.js.map +1 -0
  60. package/dist/{pies.utils-DrVWhPX3.js → pies.utils-DluC4GlY.js} +4 -4
  61. package/dist/{pies.utils-DrVWhPX3.js.map → pies.utils-DluC4GlY.js.map} +1 -1
  62. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +19 -0
  63. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -0
  64. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberPro/index.d.ts +11 -0
  65. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -0
  66. package/dist/remarkable-pro/components/component.constants.d.ts +35 -0
  67. package/dist/remarkable-pro/components/component.constants.d.ts.map +1 -1
  68. package/dist/remarkable-pro/components/utils/timeRange.utils.d.ts +5 -0
  69. package/dist/remarkable-pro/components/utils/timeRange.utils.d.ts.map +1 -0
  70. package/dist/remarkable-pro/theme/defaults/defaults.ComparisonPeriods.constants.d.ts +9 -0
  71. package/dist/remarkable-pro/theme/defaults/defaults.ComparisonPeriods.constants.d.ts.map +1 -0
  72. package/dist/remarkable-pro/theme/defaults/defaults.DateRanges.constants.d.ts +9 -0
  73. package/dist/remarkable-pro/theme/defaults/defaults.DateRanges.constants.d.ts.map +1 -0
  74. package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +1 -1
  75. package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +1 -1
  76. package/dist/remarkable-pro/theme/theme.constants.d.ts.map +1 -1
  77. package/dist/remarkable-pro/theme/theme.types.d.ts +7 -0
  78. package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -1
  79. package/dist/remarkable-ui/charts/kpis/KpiChart.d.ts +4 -0
  80. package/dist/remarkable-ui/charts/kpis/KpiChart.d.ts.map +1 -0
  81. package/dist/remarkable-ui/charts/{kpi/Kpi.stories.d.ts → kpis/KpiChart.stories.d.ts} +10 -2
  82. package/dist/remarkable-ui/charts/kpis/KpiChart.stories.d.ts.map +1 -0
  83. package/dist/remarkable-ui/charts/kpis/KpiChart.types.d.ts +13 -0
  84. package/dist/remarkable-ui/charts/kpis/KpiChart.types.d.ts.map +1 -0
  85. package/dist/remarkable-ui/charts/kpis/components/KpiChartChange.d.ts +8 -0
  86. package/dist/remarkable-ui/charts/kpis/components/KpiChartChange.d.ts.map +1 -0
  87. package/dist/remarkable-ui/index.d.ts +1 -0
  88. package/dist/remarkable-ui/index.d.ts.map +1 -1
  89. package/dist/remarkable-ui/shared/Typography/Typography.d.ts +2 -1
  90. package/dist/remarkable-ui/shared/Typography/Typography.d.ts.map +1 -1
  91. package/dist/remarkable-ui/types/css.types.d.ts +2 -0
  92. package/dist/remarkable-ui/types/css.types.d.ts.map +1 -0
  93. package/dist/remarkable-ui.css +559 -1
  94. package/package.json +3 -3
  95. package/dist/component.constants-6skM25Z_.js.map +0 -1
  96. package/dist/editors.timeRange.utils-Dv6T01Ys.js.map +0 -1
  97. package/dist/object.utils-DB9Hp3Uk.js.map +0 -1
  98. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.constants.d.ts +0 -3
  99. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.constants.d.ts.map +0 -1
  100. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.constants.d.ts +0 -3
  101. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.constants.d.ts.map +0 -1
  102. package/dist/remarkable-ui/charts/kpi/Kpi.d.ts +0 -4
  103. package/dist/remarkable-ui/charts/kpi/Kpi.d.ts.map +0 -1
  104. package/dist/remarkable-ui/charts/kpi/Kpi.stories.d.ts.map +0 -1
  105. package/dist/remarkable-ui/charts/kpi/Kpi.types.d.ts +0 -9
  106. package/dist/remarkable-ui/charts/kpi/Kpi.types.d.ts.map +0 -1
  107. package/dist/remarkable-ui/charts/kpi/KpiChange.d.ts +0 -8
  108. package/dist/remarkable-ui/charts/kpi/KpiChange.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { U as T } from "./component.constants-6skM25Z_.js";
1
+ import { S as T } from "./component.constants-DIhZCTG3.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-DMMBiLDD.js.map
46
+ //# sourceMappingURL=formatter.utils-CuZlh4EL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.utils-DMMBiLDD.js","sources":["../src/remarkable-pro/utils.ts/cache.utils.ts","../src/remarkable-pro/utils.ts/data.utils.ts","../src/remarkable-pro/theme/formatter/formatter.utils.ts"],"sourcesContent":["/**\n * Creates a formatter cache.\n * Cache used to prevent unnecessary (expensive) creation of formatter objects\n */\nexport const cache = <Params, Formatter>(factory: (params?: Params) => Formatter) => {\n const internalCache: { [key: string]: Formatter } = {};\n const get = (params?: Params) => {\n const key = JSON.stringify(params);\n let formatter = internalCache[key];\n if (formatter) {\n return formatter;\n }\n formatter = factory(params);\n internalCache[key] = formatter;\n return formatter;\n };\n return get;\n};\n","const ISO_DATE_TIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}$/;\n\nexport const isValidISODate = (value: string): boolean => {\n return Boolean(value && ISO_DATE_TIME_REGEX.test(value));\n};\n","import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { DateTimeFormatter, NumberFormatter, StringFormatter } from './formatter.types';\nimport { Theme } from '../theme.types';\nimport { cache } from '../../utils.ts/cache.utils';\nimport { isValidISODate } from '../../utils.ts/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\n\nexport type GetThemeFormatter = {\n string: (key: string) => string;\n number: (value: number | bigint, options?: Intl.NumberFormatOptions) => string;\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions) => string;\n dimensionOrMeasureTitle: (key: DimensionOrMeasure) => string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any) => string;\n};\n\nexport const getThemeFormatter = (theme: Theme): GetThemeFormatter => {\n const cachedNumberFormatter = cache<Intl.NumberFormatOptions, NumberFormatter>((options) =>\n theme.formatter.numberFormatter(theme, options),\n );\n\n const cachedDataNumberFormatter = cache<DimensionOrMeasure, NumberFormatter>((key) =>\n theme.formatter.dataNumberFormatter(theme, key!),\n );\n\n const cachedDateTimeFormatter = cache<Intl.DateTimeFormatOptions, DateTimeFormatter>((options) =>\n theme.formatter.dateTimeFormatter(theme, options),\n );\n\n const cachedDataDateTimeFormatter = cache<DimensionOrMeasure, DateTimeFormatter>((key) =>\n theme.formatter.dataDateTimeFormatter(theme, key!),\n );\n\n const cachedDataOthersFormatter = cache<DimensionOrMeasure, StringFormatter>((key) =>\n theme.formatter.dataOthersFormatter(theme, key!),\n );\n\n return {\n string: (key: string) => theme.formatter.stringFormatter().format(key),\n number: (value: number | bigint, options?: Intl.NumberFormatOptions): string => {\n return cachedNumberFormatter(options).format(value);\n },\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions): string => {\n return cachedDateTimeFormatter(options).format(value);\n },\n dimensionOrMeasureTitle: (key: DimensionOrMeasure): string => {\n const displayName = key.inputs?.displayName;\n if (displayName) {\n if (displayName.includes('|')) {\n return resolveI18nString(displayName);\n }\n return displayName;\n }\n\n const resolved = cachedDataOthersFormatter(key).format(key.name);\n return resolved === key.name ? (key.title ?? key.name) : resolved;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any): string => {\n let newValue = value;\n\n // Number\n if (key.nativeType === 'number') {\n newValue = cachedDataNumberFormatter(key).format(value);\n }\n\n // Time\n if (key.nativeType === 'time' && isValidISODate(value)) {\n newValue = cachedDataDateTimeFormatter(key).format(new Date(value));\n }\n\n // Others (boolean and string)\n if (key.nativeType === 'boolean' || key.nativeType === 'string') {\n newValue = cachedDataOthersFormatter(key).format(value);\n }\n\n // Prefix and suffix\n const appended = `${key.inputs?.prefix || ''}${newValue}${key.inputs?.suffix || ''}`;\n\n // Max characters\n if (key.inputs?.maxCharacters) {\n if (appended.length <= key.inputs.maxCharacters) {\n return appended;\n }\n return appended.substring(0, key.inputs.maxCharacters) + '...';\n }\n\n return appended;\n },\n };\n};\n"],"names":["cache","factory","internalCache","params","key","formatter","ISO_DATE_TIME_REGEX","isValidISODate","value","getThemeFormatter","theme","cachedNumberFormatter","options","cachedDataNumberFormatter","cachedDateTimeFormatter","cachedDataDateTimeFormatter","cachedDataOthersFormatter","displayName","_a","resolveI18nString","resolved","newValue","appended","_b","_c"],"mappings":";AAIO,MAAMA,IAAQ,CAAoBC,MAA4C;AACnF,QAAMC,IAA8C,CAAA;AAWpD,SAVY,CAACC,MAAoB;AAC/B,UAAMC,IAAM,KAAK,UAAUD,CAAM;AACjC,QAAIE,IAAYH,EAAcE,CAAG;AACjC,WAAIC,MAGJA,IAAYJ,EAAQE,CAAM,GAC1BD,EAAcE,CAAG,IAAIC,GACdA;AAAA,EACT;AAEF,GCjBMC,IAAsB,gDAEfC,IAAiB,CAACC,MACtB,GAAQA,KAASF,EAAoB,KAAKE,CAAK,ICa3CC,IAAoB,CAACC,MAAoC;AACpE,QAAMC,IAAwBX;AAAA,IAAiD,CAACY,MAC9EF,EAAM,UAAU,gBAAgBA,GAAOE,CAAO;AAAA,EAAA,GAG1CC,IAA4Bb;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA,GAG3CU,IAA0Bd;AAAA,IAAqD,CAACY,MACpFF,EAAM,UAAU,kBAAkBA,GAAOE,CAAO;AAAA,EAAA,GAG5CG,IAA8Bf;AAAA,IAA6C,CAACI,MAChFM,EAAM,UAAU,sBAAsBA,GAAON,CAAI;AAAA,EAAA,GAG7CY,IAA4BhB;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA;AAGjD,SAAO;AAAA,IACL,QAAQ,CAACA,MAAgBM,EAAM,UAAU,gBAAA,EAAkB,OAAON,CAAG;AAAA,IACrE,QAAQ,CAACI,GAAwBI,MACxBD,EAAsBC,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEpD,UAAU,CAACA,GAAaI,MACfE,EAAwBF,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEtD,yBAAyB,CAACJ,MAAoC;;AAC5D,YAAMa,KAAcC,IAAAd,EAAI,WAAJ,gBAAAc,EAAY;AAChC,UAAID;AACF,eAAIA,EAAY,SAAS,GAAG,IACnBE,EAAkBF,CAAW,IAE/BA;AAGT,YAAMG,IAAWJ,EAA0BZ,CAAG,EAAE,OAAOA,EAAI,IAAI;AAC/D,aAAOgB,MAAahB,EAAI,OAAQA,EAAI,SAASA,EAAI,OAAQgB;AAAA,IAC3D;AAAA;AAAA,IAEA,MAAM,CAAChB,GAAyBI,MAAuB;;AACrD,UAAIa,IAAWb;AAGf,MAAIJ,EAAI,eAAe,aACrBiB,IAAWR,EAA0BT,CAAG,EAAE,OAAOI,CAAK,IAIpDJ,EAAI,eAAe,UAAUG,EAAeC,CAAK,MACnDa,IAAWN,EAA4BX,CAAG,EAAE,OAAO,IAAI,KAAKI,CAAK,CAAC,KAIhEJ,EAAI,eAAe,aAAaA,EAAI,eAAe,cACrDiB,IAAWL,EAA0BZ,CAAG,EAAE,OAAOI,CAAK;AAIxD,YAAMc,IAAW,KAAGJ,IAAAd,EAAI,WAAJ,gBAAAc,EAAY,WAAU,EAAE,GAAGG,CAAQ,KAAGE,IAAAnB,EAAI,WAAJ,gBAAAmB,EAAY,WAAU,EAAE;AAGlF,cAAIC,IAAApB,EAAI,WAAJ,QAAAoB,EAAY,gBACVF,EAAS,UAAUlB,EAAI,OAAO,gBACzBkB,IAEFA,EAAS,UAAU,GAAGlB,EAAI,OAAO,aAAa,IAAI,QAGpDkB;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"formatter.utils-CuZlh4EL.js","sources":["../src/remarkable-pro/utils.ts/cache.utils.ts","../src/remarkable-pro/utils.ts/data.utils.ts","../src/remarkable-pro/theme/formatter/formatter.utils.ts"],"sourcesContent":["/**\n * Creates a formatter cache.\n * Cache used to prevent unnecessary (expensive) creation of formatter objects\n */\nexport const cache = <Params, Formatter>(factory: (params?: Params) => Formatter) => {\n const internalCache: { [key: string]: Formatter } = {};\n const get = (params?: Params) => {\n const key = JSON.stringify(params);\n let formatter = internalCache[key];\n if (formatter) {\n return formatter;\n }\n formatter = factory(params);\n internalCache[key] = formatter;\n return formatter;\n };\n return get;\n};\n","const ISO_DATE_TIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}$/;\n\nexport const isValidISODate = (value: string): boolean => {\n return Boolean(value && ISO_DATE_TIME_REGEX.test(value));\n};\n","import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { DateTimeFormatter, NumberFormatter, StringFormatter } from './formatter.types';\nimport { Theme } from '../theme.types';\nimport { cache } from '../../utils.ts/cache.utils';\nimport { isValidISODate } from '../../utils.ts/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\n\nexport type GetThemeFormatter = {\n string: (key: string) => string;\n number: (value: number | bigint, options?: Intl.NumberFormatOptions) => string;\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions) => string;\n dimensionOrMeasureTitle: (key: DimensionOrMeasure) => string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any) => string;\n};\n\nexport const getThemeFormatter = (theme: Theme): GetThemeFormatter => {\n const cachedNumberFormatter = cache<Intl.NumberFormatOptions, NumberFormatter>((options) =>\n theme.formatter.numberFormatter(theme, options),\n );\n\n const cachedDataNumberFormatter = cache<DimensionOrMeasure, NumberFormatter>((key) =>\n theme.formatter.dataNumberFormatter(theme, key!),\n );\n\n const cachedDateTimeFormatter = cache<Intl.DateTimeFormatOptions, DateTimeFormatter>((options) =>\n theme.formatter.dateTimeFormatter(theme, options),\n );\n\n const cachedDataDateTimeFormatter = cache<DimensionOrMeasure, DateTimeFormatter>((key) =>\n theme.formatter.dataDateTimeFormatter(theme, key!),\n );\n\n const cachedDataOthersFormatter = cache<DimensionOrMeasure, StringFormatter>((key) =>\n theme.formatter.dataOthersFormatter(theme, key!),\n );\n\n return {\n string: (key: string) => theme.formatter.stringFormatter().format(key),\n number: (value: number | bigint, options?: Intl.NumberFormatOptions): string => {\n return cachedNumberFormatter(options).format(value);\n },\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions): string => {\n return cachedDateTimeFormatter(options).format(value);\n },\n dimensionOrMeasureTitle: (key: DimensionOrMeasure): string => {\n const displayName = key.inputs?.displayName;\n if (displayName) {\n if (displayName.includes('|')) {\n return resolveI18nString(displayName);\n }\n return displayName;\n }\n\n const resolved = cachedDataOthersFormatter(key).format(key.name);\n return resolved === key.name ? (key.title ?? key.name) : resolved;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any): string => {\n let newValue = value;\n\n // Number\n if (key.nativeType === 'number') {\n newValue = cachedDataNumberFormatter(key).format(value);\n }\n\n // Time\n if (key.nativeType === 'time' && isValidISODate(value)) {\n newValue = cachedDataDateTimeFormatter(key).format(new Date(value));\n }\n\n // Others (boolean and string)\n if (key.nativeType === 'boolean' || key.nativeType === 'string') {\n newValue = cachedDataOthersFormatter(key).format(value);\n }\n\n // Prefix and suffix\n const appended = `${key.inputs?.prefix || ''}${newValue}${key.inputs?.suffix || ''}`;\n\n // Max characters\n if (key.inputs?.maxCharacters) {\n if (appended.length <= key.inputs.maxCharacters) {\n return appended;\n }\n return appended.substring(0, key.inputs.maxCharacters) + '...';\n }\n\n return appended;\n },\n };\n};\n"],"names":["cache","factory","internalCache","params","key","formatter","ISO_DATE_TIME_REGEX","isValidISODate","value","getThemeFormatter","theme","cachedNumberFormatter","options","cachedDataNumberFormatter","cachedDateTimeFormatter","cachedDataDateTimeFormatter","cachedDataOthersFormatter","displayName","_a","resolveI18nString","resolved","newValue","appended","_b","_c"],"mappings":";AAIO,MAAMA,IAAQ,CAAoBC,MAA4C;AACnF,QAAMC,IAA8C,CAAA;AAWpD,SAVY,CAACC,MAAoB;AAC/B,UAAMC,IAAM,KAAK,UAAUD,CAAM;AACjC,QAAIE,IAAYH,EAAcE,CAAG;AACjC,WAAIC,MAGJA,IAAYJ,EAAQE,CAAM,GAC1BD,EAAcE,CAAG,IAAIC,GACdA;AAAA,EACT;AAEF,GCjBMC,IAAsB,gDAEfC,IAAiB,CAACC,MACtB,GAAQA,KAASF,EAAoB,KAAKE,CAAK,ICa3CC,IAAoB,CAACC,MAAoC;AACpE,QAAMC,IAAwBX;AAAA,IAAiD,CAACY,MAC9EF,EAAM,UAAU,gBAAgBA,GAAOE,CAAO;AAAA,EAAA,GAG1CC,IAA4Bb;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA,GAG3CU,IAA0Bd;AAAA,IAAqD,CAACY,MACpFF,EAAM,UAAU,kBAAkBA,GAAOE,CAAO;AAAA,EAAA,GAG5CG,IAA8Bf;AAAA,IAA6C,CAACI,MAChFM,EAAM,UAAU,sBAAsBA,GAAON,CAAI;AAAA,EAAA,GAG7CY,IAA4BhB;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA;AAGjD,SAAO;AAAA,IACL,QAAQ,CAACA,MAAgBM,EAAM,UAAU,gBAAA,EAAkB,OAAON,CAAG;AAAA,IACrE,QAAQ,CAACI,GAAwBI,MACxBD,EAAsBC,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEpD,UAAU,CAACA,GAAaI,MACfE,EAAwBF,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEtD,yBAAyB,CAACJ,MAAoC;;AAC5D,YAAMa,KAAcC,IAAAd,EAAI,WAAJ,gBAAAc,EAAY;AAChC,UAAID;AACF,eAAIA,EAAY,SAAS,GAAG,IACnBE,EAAkBF,CAAW,IAE/BA;AAGT,YAAMG,IAAWJ,EAA0BZ,CAAG,EAAE,OAAOA,EAAI,IAAI;AAC/D,aAAOgB,MAAahB,EAAI,OAAQA,EAAI,SAASA,EAAI,OAAQgB;AAAA,IAC3D;AAAA;AAAA,IAEA,MAAM,CAAChB,GAAyBI,MAAuB;;AACrD,UAAIa,IAAWb;AAGf,MAAIJ,EAAI,eAAe,aACrBiB,IAAWR,EAA0BT,CAAG,EAAE,OAAOI,CAAK,IAIpDJ,EAAI,eAAe,UAAUG,EAAeC,CAAK,MACnDa,IAAWN,EAA4BX,CAAG,EAAE,OAAO,IAAI,KAAKI,CAAK,CAAC,KAIhEJ,EAAI,eAAe,aAAaA,EAAI,eAAe,cACrDiB,IAAWL,EAA0BZ,CAAG,EAAE,OAAOI,CAAK;AAIxD,YAAMc,IAAW,KAAGJ,IAAAd,EAAI,WAAJ,gBAAAc,EAAY,WAAU,EAAE,GAAGG,CAAQ,KAAGE,IAAAnB,EAAI,WAAJ,gBAAAmB,EAAY,WAAU,EAAE;AAGlF,cAAIC,IAAApB,EAAI,WAAJ,QAAAoB,EAAY,gBACVF,EAAS,UAAUlB,EAAI,OAAO,gBACzBkB,IAEFA,EAAS,UAAU,GAAGlB,EAAI,OAAO,aAAa,IAAI,QAGpDkB;AAAA,IACT;AAAA,EAAA;AAEJ;"}
@@ -1,12 +1,12 @@
1
- import { i as j, r as x, m as S, j as m, ab as v } from "./component.constants-6skM25Z_.js";
1
+ import { i as x, r as S, m as b, j as m, af as v } from "./component.constants-DIhZCTG3.js";
2
2
  import { useTheme as _ } from "@embeddable.com/react";
3
3
  import "react";
4
- import { g as k, a as w } from "./pies.utils-DrVWhPX3.js";
5
- import { C as L } from "./object.utils-DB9Hp3Uk.js";
4
+ import { g as k, a as w } from "./pies.utils-DluC4GlY.js";
5
+ import { C as L } from "./ChartCard-11lQWjXq.js";
6
6
  const M = (d) => {
7
7
  var a;
8
8
  const e = _();
9
- j(e);
9
+ x(e);
10
10
  const {
11
11
  description: l,
12
12
  dimension: o,
@@ -18,7 +18,7 @@ const M = (d) => {
18
18
  showValueLabels: h,
19
19
  title: g,
20
20
  onSegmentClick: C
21
- } = x(d), P = k({ data: t.data, dimension: o, measure: s, maxLegendItems: p }, e), f = S(
21
+ } = S(d), f = k({ data: t.data, dimension: o, measure: s, maxLegendItems: p }, e), P = b(
22
22
  w(
23
23
  {
24
24
  measure: s,
@@ -29,7 +29,7 @@ const M = (d) => {
29
29
  e
30
30
  ),
31
31
  ((a = e.charts.pieChartPro) == null ? void 0 : a.options) ?? {}
32
- ), b = (r) => {
32
+ ), j = (r) => {
33
33
  var i, n;
34
34
  C({
35
35
  dimensionValue: r === void 0 || (n = (i = t.data) == null ? void 0 : i[r]) == null ? void 0 : n[o.name]
@@ -43,7 +43,7 @@ const M = (d) => {
43
43
  errorMessage: t.error,
44
44
  subtitle: l,
45
45
  title: g,
46
- children: /* @__PURE__ */ m.jsx(v, { data: P, options: f, onSegmentClick: b })
46
+ children: /* @__PURE__ */ m.jsx(v, { data: f, options: P, 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-DufpVBMb.js.map
57
+ //# sourceMappingURL=index-B7KNswsW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-DufpVBMb.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
+ {"version":3,"file":"index-B7KNswsW.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,21 +1,22 @@
1
- import { T as h, r as S, j as s, R } from "./component.constants-6skM25Z_.js";
1
+ import { Z as h, r as S, j as s, R } from "./component.constants-DIhZCTG3.js";
2
2
  import { useTheme as b } from "@embeddable.com/react";
3
3
  import { useState as j, useEffect as c } from "react";
4
- import { S as O } from "./SingleSelectField-Coqlrz4l.js";
5
- import { g as y, u as C } from "./editors.timeRange.utils-Dv6T01Ys.js";
6
- import { E as F } from "./EditorCard-_U0it3Eb.js";
4
+ import { S as O } from "./SingleSelectField-D1E9OJxC.js";
5
+ import { u as y } from "./date.utils-CNVHSCO8.js";
6
+ import { g as C } from "./editors.timeRange.utils-CG333N7U.js";
7
+ import { E as F } from "./EditorCard-BriyqUva.js";
7
8
  /**
8
9
  * @license @tabler/icons-react v3.34.1 - MIT
9
10
  *
10
11
  * This source code is licensed under the MIT license.
11
12
  * See the LICENSE file in the root directory of this source tree.
12
13
  */
13
- const T = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z", key: "svg-0" }], ["path", { d: "M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z", key: "svg-1" }]], x = h("filled", "calendar-filled", "CalendarFilled", T), _ = (o) => o.map((a) => ({
14
- rightLabel: y(a.getRange(), a.dateFormat),
14
+ const x = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z", key: "svg-0" }], ["path", { d: "M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z", key: "svg-1" }]], T = h("filled", "calendar-filled", "CalendarFilled", x), _ = (o) => o.map((a) => ({
15
+ rightLabel: C(a.getRange(), a.dateFormat),
15
16
  value: a.value,
16
17
  label: a.label
17
18
  })), L = (o) => {
18
- const a = b(), { dayjsLocaleReady: d } = C(), { selectedValue: e, onChange: m } = o, [l, i] = j(
19
+ const a = b(), { dayjsLocaleReady: d } = y(), { selectedValue: e, onChange: m } = o, [l, i] = j(
19
20
  e == null ? void 0 : e.relativeTimeString
20
21
  ), n = a.editors.dateRangeSelectFieldPro.options;
21
22
  if (c(() => {
@@ -33,7 +34,7 @@ const T = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.99
33
34
  return /* @__PURE__ */ s.jsx(F, { title: u, subtitle: v, children: /* @__PURE__ */ s.jsx(
34
35
  O,
35
36
  {
36
- startIcon: x,
37
+ startIcon: T,
37
38
  isClearable: !0,
38
39
  placeholder: g,
39
40
  value: l,
@@ -42,12 +43,12 @@ const T = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.99
42
43
  noOptionsMessage: R.t("common.noOptionsAvailable")
43
44
  }
44
45
  ) });
45
- }, k = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
46
+ }, A = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
46
47
  __proto__: null,
47
48
  default: L
48
49
  }, Symbol.toStringTag, { value: "Module" }));
49
50
  export {
50
51
  L as D,
51
- k as i
52
+ A as i
52
53
  };
53
- //# sourceMappingURL=index-j6OFGLY6.js.map
54
+ //# sourceMappingURL=index-B_4rK6tI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-j6OFGLY6.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarFilled.mjs","../src/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.ts","../src/remarkable-pro/components/editors/DateRangeSelectFieldPro/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\": \"M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z\", \"key\": \"svg-1\" }]];\nconst IconCalendarFilled = createReactComponent(\"filled\", \"calendar-filled\", \"CalendarFilled\", __iconNode);\n\nexport { __iconNode, IconCalendarFilled as default };\n//# sourceMappingURL=IconCalendarFilled.mjs.map\n","import { DateRangeSelectFieldProOption } from './DateRangeSelectFieldPro.types';\nimport { SelectListOptionProps } from '../../../../remarkable-ui';\nimport { getTimeRangeLabel } from '../editors.timeRange.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: option.label,\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '../../../../remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangeSelectFieldPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled } from '@tabler/icons-react';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\n\ntype DateRangeSelectFieldProProps = {\n description?: string;\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue: TimeRange;\n title?: string;\n};\n\nconst DateRangeSelectFieldPro = (props: DateRangeSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n const { selectedValue, onChange } = props;\n const [internalValue, setInternalValue] = useState<string | undefined>(\n selectedValue?.relativeTimeString,\n );\n\n // When updation the selectedValue in the builder, the defined value value can:\n // 1. exist in the options: relativeTimeString converted into TimeRange and onChange is called with the TimeRange\n // 2. not exist in the options: onChange is called with undefined (resets)\n\n const dateRangeOptions = theme.editors.dateRangeSelectFieldPro.options;\n\n useEffect(() => {\n const relativeTimeString = selectedValue?.relativeTimeString;\n if (relativeTimeString === '') return;\n\n const matchedOption = dateRangeOptions.find((option) => option.value === relativeTimeString);\n\n setInternalValue(matchedOption ? matchedOption.value : undefined);\n }, [selectedValue, dateRangeOptions]);\n\n useEffect(() => {\n if (!selectedValue && !internalValue) return;\n\n const matchedOption = dateRangeOptions.find((option) => option.value === internalValue);\n\n onChange(matchedOption ? matchedOption.getRange() : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalValue, dateRangeOptions]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarFilled}\n isClearable\n placeholder={placeholder}\n value={internalValue}\n onChange={(value) => setInternalValue(value || undefined)}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n />\n </EditorCard>\n );\n};\n\nexport default DateRangeSelectFieldPro;\n"],"names":["__iconNode","IconCalendarFilled","createReactComponent","getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","DateRangeSelectFieldPro","props","theme","useTheme","dayjsLocaleReady","useLoadDayjsLocale","selectedValue","onChange","internalValue","setInternalValue","useState","dateRangeOptions","useEffect","relativeTimeString","matchedOption","description","placeholder","title","resolveI18nProps","options","jsx","EditorCard","SingleSelectField","value","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,iWAAiW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,oHAAoH,KAAO,QAAO,CAAE,CAAC,GACviBC,IAAqBC,EAAqB,UAAU,mBAAmB,kBAAkBF,CAAU,GCN5FG,IAAoC,CAC/CC,MAEOA,EAA+B,IAAI,CAACC,OAClC;AAAA,EACL,YAAYC,EAAkBD,EAAO,SAAA,GAAYA,EAAO,UAAU;AAAA,EAClE,OAAOA,EAAO;AAAA,EACd,OAAOA,EAAO;AAAA,EAEjB,GCOGE,IAA0B,CAACC,MAAwC;AACvE,QAAMC,IAAeC,EAAA,GACf,EAAE,kBAAAC,EAAA,IAAqBC,EAAA,GAEvB,EAAE,eAAAC,GAAe,UAAAC,EAAA,IAAaN,GAC9B,CAACO,GAAeC,CAAgB,IAAIC;AAAA,IACxCJ,KAAA,gBAAAA,EAAe;AAAA,EAAA,GAOXK,IAAmBT,EAAM,QAAQ,wBAAwB;AAoB/D,MAlBAU,EAAU,MAAM;AACd,UAAMC,IAAqBP,KAAA,gBAAAA,EAAe;AAC1C,QAAIO,MAAuB,GAAI;AAE/B,UAAMC,IAAgBH,EAAiB,KAAK,CAACb,MAAWA,EAAO,UAAUe,CAAkB;AAE3F,IAAAJ,EAAiBK,IAAgBA,EAAc,QAAQ,MAAS;AAAA,EAClE,GAAG,CAACR,GAAeK,CAAgB,CAAC,GAEpCC,EAAU,MAAM;AACd,QAAI,CAACN,KAAiB,CAACE,EAAe;AAEtC,UAAMM,IAAgBH,EAAiB,KAAK,CAACb,MAAWA,EAAO,UAAUU,CAAa;AAEtF,IAAAD,EAASO,IAAgBA,EAAc,SAAA,IAAa,MAAS;AAAA,EAE/D,GAAG,CAACN,GAAeG,CAAgB,CAAC,GAEhC,CAACP;AACH,WAAO;AAGT,QAAM,EAAE,aAAAW,GAAa,aAAAC,GAAa,OAAAC,EAAA,IAAUC,EAAiBjB,CAAK,GAE5DkB,IAAUvB,EAAkCe,CAAgB;AAElE,SACES,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAJ,GAAc,UAAUF,GAClC,UAAAK,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAW5B;AAAA,MACX,aAAW;AAAA,MACX,aAAAsB;AAAA,MACA,OAAOR;AAAA,MACP,UAAU,CAACe,MAAUd,EAAiBc,KAAS,MAAS;AAAA,MACxD,SAAAJ;AAAA,MACA,kBAAkBK,EAAK,EAAE,2BAA2B;AAAA,IAAA;AAAA,EAAA,GAExD;AAEJ;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index-B_4rK6tI.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarFilled.mjs","../src/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.ts","../src/remarkable-pro/components/editors/DateRangeSelectFieldPro/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\": \"M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z\", \"key\": \"svg-1\" }]];\nconst IconCalendarFilled = createReactComponent(\"filled\", \"calendar-filled\", \"CalendarFilled\", __iconNode);\n\nexport { __iconNode, IconCalendarFilled as default };\n//# sourceMappingURL=IconCalendarFilled.mjs.map\n","import { DateRangeSelectFieldProOption } from './DateRangeSelectFieldPro.types';\nimport { SelectListOptionProps } from '../../../../remarkable-ui';\nimport { getTimeRangeLabel } from '../editors.timeRange.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: option.label,\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '../../../../remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangeSelectFieldPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled } from '@tabler/icons-react';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\n\ntype DateRangeSelectFieldProProps = {\n description?: string;\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue: TimeRange;\n title?: string;\n};\n\nconst DateRangeSelectFieldPro = (props: DateRangeSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n const { selectedValue, onChange } = props;\n const [internalValue, setInternalValue] = useState<string | undefined>(\n selectedValue?.relativeTimeString,\n );\n\n // When updation the selectedValue in the builder, the defined value value can:\n // 1. exist in the options: relativeTimeString converted into TimeRange and onChange is called with the TimeRange\n // 2. not exist in the options: onChange is called with undefined (resets)\n\n const dateRangeOptions = theme.editors.dateRangeSelectFieldPro.options;\n\n useEffect(() => {\n const relativeTimeString = selectedValue?.relativeTimeString;\n if (relativeTimeString === '') return;\n\n const matchedOption = dateRangeOptions.find((option) => option.value === relativeTimeString);\n\n setInternalValue(matchedOption ? matchedOption.value : undefined);\n }, [selectedValue, dateRangeOptions]);\n\n useEffect(() => {\n if (!selectedValue && !internalValue) return;\n\n const matchedOption = dateRangeOptions.find((option) => option.value === internalValue);\n\n onChange(matchedOption ? matchedOption.getRange() : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalValue, dateRangeOptions]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarFilled}\n isClearable\n placeholder={placeholder}\n value={internalValue}\n onChange={(value) => setInternalValue(value || undefined)}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n />\n </EditorCard>\n );\n};\n\nexport default DateRangeSelectFieldPro;\n"],"names":["__iconNode","IconCalendarFilled","createReactComponent","getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","DateRangeSelectFieldPro","props","theme","useTheme","dayjsLocaleReady","useLoadDayjsLocale","selectedValue","onChange","internalValue","setInternalValue","useState","dateRangeOptions","useEffect","relativeTimeString","matchedOption","description","placeholder","title","resolveI18nProps","options","jsx","EditorCard","SingleSelectField","value","i18n"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,iWAAiW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,oHAAoH,KAAO,QAAO,CAAE,CAAC,GACviBC,IAAqBC,EAAqB,UAAU,mBAAmB,kBAAkBF,CAAU,GCN5FG,IAAoC,CAC/CC,MAEOA,EAA+B,IAAI,CAACC,OAClC;AAAA,EACL,YAAYC,EAAkBD,EAAO,SAAA,GAAYA,EAAO,UAAU;AAAA,EAClE,OAAOA,EAAO;AAAA,EACd,OAAOA,EAAO;AAAA,EAEjB,GCOGE,IAA0B,CAACC,MAAwC;AACvE,QAAMC,IAAeC,EAAA,GACf,EAAE,kBAAAC,EAAA,IAAqBC,EAAA,GAEvB,EAAE,eAAAC,GAAe,UAAAC,EAAA,IAAaN,GAC9B,CAACO,GAAeC,CAAgB,IAAIC;AAAA,IACxCJ,KAAA,gBAAAA,EAAe;AAAA,EAAA,GAOXK,IAAmBT,EAAM,QAAQ,wBAAwB;AAoB/D,MAlBAU,EAAU,MAAM;AACd,UAAMC,IAAqBP,KAAA,gBAAAA,EAAe;AAC1C,QAAIO,MAAuB,GAAI;AAE/B,UAAMC,IAAgBH,EAAiB,KAAK,CAACb,MAAWA,EAAO,UAAUe,CAAkB;AAE3F,IAAAJ,EAAiBK,IAAgBA,EAAc,QAAQ,MAAS;AAAA,EAClE,GAAG,CAACR,GAAeK,CAAgB,CAAC,GAEpCC,EAAU,MAAM;AACd,QAAI,CAACN,KAAiB,CAACE,EAAe;AAEtC,UAAMM,IAAgBH,EAAiB,KAAK,CAACb,MAAWA,EAAO,UAAUU,CAAa;AAEtF,IAAAD,EAASO,IAAgBA,EAAc,SAAA,IAAa,MAAS;AAAA,EAE/D,GAAG,CAACN,GAAeG,CAAgB,CAAC,GAEhC,CAACP;AACH,WAAO;AAGT,QAAM,EAAE,aAAAW,GAAa,aAAAC,GAAa,OAAAC,EAAA,IAAUC,EAAiBjB,CAAK,GAE5DkB,IAAUvB,EAAkCe,CAAgB;AAElE,SACES,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAJ,GAAc,UAAUF,GAClC,UAAAK,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAW5B;AAAA,MACX,aAAW;AAAA,MACX,aAAAsB;AAAA,MACA,OAAOR;AAAA,MACP,UAAU,CAACe,MAAUd,EAAiBc,KAAS,MAAS;AAAA,MACxD,SAAAJ;AAAA,MACA,kBAAkBK,EAAK,EAAE,2BAA2B;AAAA,IAAA;AAAA,EAAA,GAExD;AAEJ;;;;","x_google_ignoreList":[0]}
@@ -1,34 +1,34 @@
1
- import { i as P, r as S, m as b, j as m, aa as D } from "./component.constants-6skM25Z_.js";
1
+ import { i as P, r as S, m as b, j as m, ae as D } from "./component.constants-DIhZCTG3.js";
2
2
  import { useTheme as v } from "@embeddable.com/react";
3
- import { g as _, a as k } from "./pies.utils-DrVWhPX3.js";
4
- import { C as w } from "./object.utils-DB9Hp3Uk.js";
3
+ import { g as _, a as k } from "./pies.utils-DluC4GlY.js";
4
+ import { C as w } from "./ChartCard-11lQWjXq.js";
5
5
  import "react";
6
6
  const L = (d) => {
7
- var s;
7
+ var a;
8
8
  const e = v();
9
9
  P(e);
10
10
  const {
11
11
  description: l,
12
12
  dimension: o,
13
13
  maxLegendItems: u,
14
- measure: a,
14
+ measure: s,
15
15
  results: t,
16
16
  showLegend: c,
17
17
  showTooltips: p,
18
18
  showValueLabels: h,
19
19
  title: g,
20
20
  onSegmentClick: C
21
- } = S(d), f = _({ data: t.data, dimension: o, measure: a, maxLegendItems: u }, e), j = b(
21
+ } = S(d), f = _({ data: t.data, dimension: o, measure: s, maxLegendItems: u }, e), j = b(
22
22
  k(
23
23
  {
24
- measure: a,
24
+ measure: s,
25
25
  showTooltips: p,
26
26
  showLegend: c,
27
27
  showValueLabels: h
28
28
  },
29
29
  e
30
30
  ),
31
- ((s = e.charts.donutChartPro) == null ? void 0 : s.options) ?? {}
31
+ ((a = e.charts.donutChartPro) == null ? void 0 : a.options) ?? {}
32
32
  ), x = (r) => {
33
33
  var n, i;
34
34
  C({
@@ -39,7 +39,7 @@ const L = (d) => {
39
39
  w,
40
40
  {
41
41
  data: t,
42
- dimensionsAndMeasures: [o, a],
42
+ dimensionsAndMeasures: [o, s],
43
43
  errorMessage: t.error,
44
44
  subtitle: l,
45
45
  title: g,
@@ -54,4 +54,4 @@ export {
54
54
  L as D,
55
55
  V as i
56
56
  };
57
- //# sourceMappingURL=index-D7GTSbzO.js.map
57
+ //# sourceMappingURL=index-Bgj2EBb8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-D7GTSbzO.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
+ {"version":3,"file":"index-Bgj2EBb8.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,8 +1,8 @@
1
- import { r as b, j as i, R as O } from "./component.constants-6skM25Z_.js";
2
- import { S as j } from "./SingleSelectField-Coqlrz4l.js";
3
- import { g as x } from "./formatter.utils-DMMBiLDD.js";
1
+ import { r as b, j as i, R as O } from "./component.constants-DIhZCTG3.js";
2
+ import { S as j } from "./SingleSelectField-D1E9OJxC.js";
3
+ import { g as x } from "./formatter.utils-CuZlh4EL.js";
4
4
  import { useTheme as v } from "@embeddable.com/react";
5
- import { E as F } from "./EditorCard-_U0it3Eb.js";
5
+ import { E as F } from "./EditorCard-BriyqUva.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-B3vcfrrk.js.map
46
+ //# sourceMappingURL=index-C-zjH8iP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-B3vcfrrk.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
+ {"version":3,"file":"index-C-zjH8iP.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,8 +1,8 @@
1
- import { i as M, r as _, m as k, j as c, aa as w } from "./component.constants-6skM25Z_.js";
1
+ import { i as M, r as _, m as k, j as c, ae as w } from "./component.constants-DIhZCTG3.js";
2
2
  import { useTheme as O } from "@embeddable.com/react";
3
- import { g as y, a as F } from "./pies.utils-DrVWhPX3.js";
4
- import { g as V } from "./formatter.utils-DMMBiLDD.js";
5
- import { C as z } from "./object.utils-DB9Hp3Uk.js";
3
+ import { g as y, a as F } from "./pies.utils-DluC4GlY.js";
4
+ import { g as V } from "./formatter.utils-CuZlh4EL.js";
5
+ import { C as z } from "./ChartCard-11lQWjXq.js";
6
6
  import "react";
7
7
  const A = (p) => {
8
8
  var n, i, m;
@@ -70,4 +70,4 @@ export {
70
70
  A as D,
71
71
  H as i
72
72
  };
73
- //# sourceMappingURL=index-pxtCdM0I.js.map
73
+ //# sourceMappingURL=index-C8pGCEGw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-pxtCdM0I.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
+ {"version":3,"file":"index-C8pGCEGw.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,9 +1,9 @@
1
- import { T as B, j as t, a2 as R, Z as $, a4 as A, a7 as E, a8 as V, a5 as v, a6 as w, r as z, R as J } from "./component.constants-6skM25Z_.js";
2
- import { g as K } from "./formatter.utils-DMMBiLDD.js";
1
+ import { Z as B, j as t, a6 as R, a1 as $, a8 as A, ab as E, ac as V, a9 as v, aa as w, r as z, R as J } from "./component.constants-DIhZCTG3.js";
2
+ import { g as K } from "./formatter.utils-CuZlh4EL.js";
3
3
  import { useTheme as U } from "@embeddable.com/react";
4
- import { u as X, d as Z, I as G, S as H, E as Q } from "./EditorCard-_U0it3Eb.js";
4
+ import { u as X, d as Z, I as G, S as H, E as Q } from "./EditorCard-BriyqUva.js";
5
5
  import { useState as T, useRef as W, useEffect as C, useMemo as Y } from "react";
6
- import { B as ee } from "./BaseButton-8lCm-nHV.js";
6
+ import { B as ee } from "./BaseButton-BbhHQD9t.js";
7
7
  /**
8
8
  * @license @tabler/icons-react v3.34.1 - MIT
9
9
  *
@@ -17,8 +17,8 @@ const te = [["path", { d: "M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1
17
17
  * This source code is licensed under the MIT license.
18
18
  * See the LICENSE file in the root directory of this source tree.
19
19
  */
20
- const le = [["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" }]], ne = B("filled", "square-check-filled", "SquareCheckFilled", le), ae = "_icon_14m1u_1", oe = "_buttonMedium_14m1u_6", ce = "_buttonSmall_14m1u_14", ie = "_buttonText_14m1u_22", ue = "_buttonTextMedium_14m1u_26", re = "_buttonTextSmall_14m1u_35", x = {
21
- icon: ae,
20
+ const le = [["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" }]], ae = B("filled", "square-check-filled", "SquareCheckFilled", le), ne = "_icon_14m1u_1", oe = "_buttonMedium_14m1u_6", ce = "_buttonSmall_14m1u_14", ie = "_buttonText_14m1u_22", ue = "_buttonTextMedium_14m1u_26", re = "_buttonTextSmall_14m1u_35", x = {
21
+ icon: ne,
22
22
  buttonMedium: oe,
23
23
  buttonSmall: ce,
24
24
  buttonText: ie,
@@ -27,7 +27,7 @@ const le = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
27
27
  }, me = ({
28
28
  variant: r,
29
29
  startIcon: m,
30
- endIcon: a,
30
+ endIcon: n,
31
31
  children: d,
32
32
  size: i,
33
33
  ...o
@@ -51,7 +51,7 @@ const le = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
51
51
  children: d
52
52
  }
53
53
  ),
54
- a && /* @__PURE__ */ t.jsx(a, { className: x.icon })
54
+ n && /* @__PURE__ */ t.jsx(n, { className: x.icon })
55
55
  ]
56
56
  }
57
57
  ), de = "_submitButton_1e96n_1", be = {
@@ -59,7 +59,7 @@ const le = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
59
59
  }, pe = ({
60
60
  disabled: r,
61
61
  isClearable: m,
62
- isLoading: a,
62
+ isLoading: n,
63
63
  isSearchable: d,
64
64
  noOptionsMessage: i,
65
65
  options: o,
@@ -73,25 +73,25 @@ const le = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
73
73
  X(b, O), C(() => {
74
74
  u(s);
75
75
  }, [JSON.stringify(s)]), C(() => {
76
- if (a)
76
+ if (n)
77
77
  return;
78
78
  if (!s || s.length === 0) {
79
79
  M("");
80
80
  return;
81
81
  }
82
82
  const e = s.map(
83
- (n) => {
83
+ (a) => {
84
84
  var j;
85
- return ((j = o.find((D) => D.value === n)) == null ? void 0 : j.label) ?? n;
85
+ return ((j = o.find((D) => D.value === a)) == null ? void 0 : j.label) ?? a;
86
86
  }
87
87
  );
88
88
  if (e.length > 0) {
89
- const n = e.join(", ");
90
- M(`(${e.length}) ${n}`);
89
+ const a = e.join(", ");
90
+ M(`(${e.length}) ${a}`);
91
91
  }
92
- }, [s, o, a]);
93
- const y = Y(() => l ? Z(l) : void 0, [l]), N = d && !l ? o.filter((e) => e.label.toLowerCase().includes(S.toLowerCase())) : o, I = c.every((e) => s.includes(e)) && s.every((e) => c.includes(e)), L = (e, n) => {
94
- e.preventDefault(), n && (c.includes(n) ? u(c.filter((j) => j !== n)) : u([...c, n]));
92
+ }, [s, o, n]);
93
+ const y = Y(() => l ? Z(l) : void 0, [l]), N = d && !l ? o.filter((e) => e.label.toLowerCase().includes(S.toLowerCase())) : o, I = c.every((e) => s.includes(e)) && s.every((e) => c.includes(e)), L = (e, a) => {
94
+ e.preventDefault(), a && (c.includes(a) ? u(c.filter((j) => j !== a)) : u([...c, a]));
95
95
  }, k = (e) => {
96
96
  p(e), y == null || y(e);
97
97
  }, q = (e) => {
@@ -114,7 +114,7 @@ const le = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
114
114
  valueLabel: F,
115
115
  onClear: P,
116
116
  isClearable: m,
117
- isLoading: a
117
+ isLoading: n
118
118
  }
119
119
  ),
120
120
  children: /* @__PURE__ */ t.jsxs(E, { children: [
@@ -131,12 +131,12 @@ const le = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
131
131
  onChange: k
132
132
  }
133
133
  ),
134
- /* @__PURE__ */ t.jsxs(H, { disabled: a, children: [
134
+ /* @__PURE__ */ t.jsxs(H, { disabled: n, children: [
135
135
  N.map((e) => /* @__PURE__ */ t.jsx(
136
136
  v,
137
137
  {
138
- onClick: (n) => L(n, e.value),
139
- startIcon: c.includes(e.value) ? /* @__PURE__ */ t.jsx(ne, {}) : /* @__PURE__ */ t.jsx(se, {}),
138
+ onClick: (a) => L(a, e.value),
139
+ startIcon: c.includes(e.value) ? /* @__PURE__ */ t.jsx(ae, {}) : /* @__PURE__ */ t.jsx(se, {}),
140
140
  ...e
141
141
  },
142
142
  (e == null ? void 0 : e.value) ?? e.label
@@ -147,7 +147,7 @@ const le = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
147
147
  me,
148
148
  {
149
149
  className: be.submitButton,
150
- disabled: I || a,
150
+ disabled: I || n,
151
151
  variant: "primary",
152
152
  size: "medium",
153
153
  onClick: () => q(c),
@@ -160,7 +160,7 @@ const le = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
160
160
  );
161
161
  }, xe = 200, _e = (r) => {
162
162
  var p, c;
163
- const m = U(), a = K(m), {
163
+ const m = U(), n = K(m), {
164
164
  title: d,
165
165
  description: i,
166
166
  dimension: o,
@@ -172,7 +172,7 @@ const le = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
172
172
  onChange: b
173
173
  } = z(r), f = ((p = s.data) == null ? void 0 : p.map((u) => ({
174
174
  value: _ ? u[_.name] : u[o.name],
175
- label: a.data(o, u[o.name])
175
+ label: n.data(o, u[o.name])
176
176
  }))) ?? [], S = !s.isLoading && (((c = s.data) == null ? void 0 : c.length) ?? 0) === 0;
177
177
  return /* @__PURE__ */ t.jsx(Q, { title: d, subtitle: i, children: /* @__PURE__ */ t.jsx(
178
178
  pe,
@@ -200,4 +200,4 @@ export {
200
200
  pe as b,
201
201
  ye as i
202
202
  };
203
- //# sourceMappingURL=index-B9XcOUp_.js.map
203
+ //# sourceMappingURL=index-DqKfDjMs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-B9XcOUp_.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 className={size === 'medium' ? styles.buttonMedium : styles.buttonSmall}\n {...props}\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';\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};\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}) => {\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 return (\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 />\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 && <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />}\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 );\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","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","Dropdown","SelectButton","SelectList","TextField","IconSearch","SelectListOptions","SelectListOption","e","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
+ {"version":3,"file":"index-DqKfDjMs.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 className={size === 'medium' ? styles.buttonMedium : styles.buttonSmall}\n {...props}\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';\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};\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}) => {\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 return (\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 />\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 && <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />}\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 );\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","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","Dropdown","SelectButton","SelectList","TextField","IconSearch","SelectListOptions","SelectListOption","e","MAX_OPTIONS","MultiSelectFieldPro","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","results","selectedValues","resolveI18nProps","data","showNoOptionsMessage","_b","EditorCard","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,mFAAmF,KAAO,QAAO,CAAE,CAAC,GAClIC,KAAaC,EAAqB,WAAW,UAAU,UAAUF,EAAU;ACVjF;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,8XAA8X,KAAO,QAAO,CAAE,CAAC,GAC7aG,KAAwBD,EAAqB,UAAU,uBAAuB,qBAAqBF,EAAU;;;;;;;GCGtGI,KAAgC,CAAC;AAAA,EAC5C,SAAAC;AAAA,EACA,WAAWC;AAAA,EACX,SAASC;AAAA,EACT,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,GAAGC;AACL,MAEIC,gBAAAA,EAAAA;AAAAA,EAACC;AAAA,EAAA;AAAA,IACC,SAAAP;AAAA,IACA,WAAWI,MAAS,WAAWI,EAAO,eAAeA,EAAO;AAAA,IAC3D,GAAGH;AAAA,IACJ,MAAAD;AAAA,IAEC,UAAA;AAAA,MAAAH,KAAaQ,gBAAAA,EAAAA,IAACR,GAAA,EAAU,WAAWO,EAAO,MAAM;AAAA,MACjDC,gBAAAA,EAAAA;AAAAA,QAACC;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH,WAAWC;AAAA,YACTH,EAAO;AAAA,YACPA,EAAO,aAAaJ,EAAK,OAAO,CAAC,EAAE,YAAA,IAAgBA,EAAK,MAAM,CAAC,CAAC,EAAE;AAAA,UAAA;AAAA,UAGnE,UAAAD;AAAA,QAAA;AAAA,MAAA;AAAA,MAEFD,KAAWO,gBAAAA,EAAAA,IAACP,GAAA,EAAQ,WAAWM,EAAO,KAAA,CAAM;AAAA,IAAA;AAAA,EAAA;AAAA;;GCRtCI,KAA8C,CAAC;AAAA,EAC1D,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,QAAAC,IAAS,CAAA;AAAA,EACT,UAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpC,CAACC,GAAaC,CAAc,IAAIF,EAAiB,EAAE,GACnD,CAACG,GAAWC,CAAY,IAAIJ,EAAmBL,CAAM,GACrD,CAACU,GAAeC,CAAgB,IAAIN,EAAiB,EAAE,GAEvDO,IAAiBC,EAAyB,IAAI;AACpD,EAAAC,EAAqBX,GAAQS,CAAc,GAE3CG,EAAU,MAAM;AACd,IAAAN,EAAaT,CAAM;AAAA,EAErB,GAAG,CAAC,KAAK,UAAUA,CAAM,CAAC,CAAC,GAE3Be,EAAU,MAAM;AACd,QAAIrB;AACF;AAGF,QAAI,CAACM,KAAUA,EAAO,WAAW,GAAG;AAClC,MAAAW,EAAiB,EAAE;AACnB;AAAA,IACF;AACA,UAAMK,IAAkBhB,EAAO;AAAA,MAC7B,CAACiB,MAAA;;AAAU,iBAAAC,IAAArB,EAAQ,KAAK,CAACsB,MAAMA,EAAE,UAAUF,CAAK,MAArC,gBAAAC,EAAwC,UAASD;AAAA;AAAA,IAAA;AAG9D,QAAID,EAAgB,SAAS,GAAG;AAC9B,YAAMI,IAAWJ,EAAgB,KAAK,IAAI;AAC1C,MAAAL,EAAiB,IAAIK,EAAgB,MAAM,KAAKI,CAAQ,EAAE;AAAA,IAC5D;AAAA,EACF,GAAG,CAACpB,GAAQH,GAASH,CAAS,CAAC;AAE/B,QAAM2B,IAAkBC,EAAQ,MAAOpB,IAAWqB,EAASrB,CAAQ,IAAI,QAAY,CAACA,CAAQ,CAAC,GAEvFsB,IACJ7B,KAAgB,CAACO,IACbL,EAAQ,OAAO,CAAC4B,MAAWA,EAAO,MAAM,cAAc,SAASnB,EAAY,YAAA,CAAa,CAAC,IACzFT,GAEA6B,IACJlB,EAAU,MAAM,CAACmB,MAAa3B,EAAO,SAAS2B,CAAQ,CAAC,KACvD3B,EAAO,MAAM,CAACiB,MAAUT,EAAU,SAASS,CAAK,CAAC,GAE7CW,IAAqB,CACzB,GACAC,MACG;AAGH,IAFA,EAAE,eAAA,GAEGA,MAEDrB,EAAU,SAASqB,CAAQ,IAC7BpB,EAAaD,EAAU,OAAO,CAACsB,MAAMA,MAAMD,CAAQ,CAAC,IAEpDpB,EAAa,CAAC,GAAGD,GAAWqB,CAAQ,CAAC;AAAA,EAEzC,GAEME,IAAe,CAACC,MAAsB;AAC1C,IAAAzB,EAAeyB,CAAS,GACxBX,KAAA,QAAAA,EAAkBW;AAAA,EACpB,GAEMC,IAAa,CAACC,MAAwB;AAC1C,IAAAjC,EAASiC,CAAS,GAClB9B,EAAU,EAAK,GACfG,EAAe,EAAE,GACjBL,KAAA,QAAAA,EAAW;AAAA,EACb,GAEMiC,IAAiB,MAAM;AAC3B,IAAA5B,EAAe,EAAE,GACjBL,KAAA,QAAAA,EAAW,KACXD,EAAS,CAAA,CAAE;AAAA,EACb;AAEA,SACEb,gBAAAA,EAAAA;AAAAA,IAACgD;AAAA,IAAA;AAAA,MACC,MAAMjC;AAAA,MACN,cAAcC;AAAA,MACd,UAAAZ;AAAA,MACA,kBACEJ,gBAAAA,EAAAA;AAAAA,QAACiD;AAAA,QAAA;AAAA,UACC,cAAW;AAAA,UACX,aAAAvC;AAAA,UACA,UAAAN;AAAA,UACA,YAAYkB;AAAA,UACZ,SAASyB;AAAA,UACT,aAAA1C;AAAA,UACA,WAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,MAIJ,iCAAC4C,GAAA,EACE,UAAA;AAAA,QAAA3C,KACCP,gBAAAA,EAAAA;AAAAA,UAACmD;AAAA,UAAA;AAAA,YACC,KAAK3B;AAAA,YACL,WAAW4B;AAAA,YACX,cAAW;AAAA,YACX,aAAY;AAAA,YACZ,MAAK;AAAA,YACL,OAAOlC;AAAA,YACP,WAAW,CAAC,MAAM,EAAE,gBAAA;AAAA,YACpB,UAAUyB;AAAA,UAAA;AAAA,QAAA;AAAA,QAGd9C,gBAAAA,EAAAA,KAACwD,GAAA,EAAkB,UAAU/C,GAC1B,UAAA;AAAA,UAAA8B,EAAe,IAAI,CAACC,MACnBrC,gBAAAA,EAAAA;AAAAA,YAACsD;AAAA,YAAA;AAAA,cAEC,SAAS,CAACC,MAAMf,EAAmBe,GAAGlB,EAAO,KAAK;AAAA,cAClD,WACEjB,EAAU,SAASiB,EAAO,KAAM,IAAIrC,gBAAAA,MAACX,IAAA,CAAA,CAAsB,IAAKW,gBAAAA,MAACb,IAAA,CAAA,CAAW;AAAA,cAE7E,GAAGkD;AAAA,YAAA;AAAA,aALCA,KAAA,gBAAAA,EAAQ,UAASA,EAAO;AAAA,UAAA,CAOhC;AAAA,UACA7B,2BAAqB8C,GAAA,EAAiB,UAAQ,IAAC,OAAM,SAAQ,OAAO9C,EAAA,CAAkB;AAAA,QAAA,GACzF;AAAA,QACAR,gBAAAA,EAAAA;AAAAA,UAACV;AAAA,UAAA;AAAA,YACC,WAAWS,GAAO;AAAA,YAClB,UAAUuC,KAAoBhC;AAAA,YAC9B,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS,MAAMuC,EAAWzB,CAAS;AAAA,YACnC,MAAK;AAAA,YAEJ,UAAAT;AAAA,UAAA;AAAA,QAAA;AAAA,MACH,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN,GCtKa6C,KAAc,KAerBC,KAAsB,CAAC7D,MAAoC;;AAC/D,QAAM8D,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GACxC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAvD;AAAA,IACA,SAAAwD;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAhD;AAAA,IACA,UAAAN;AAAA,EAAA,IACEuD,EAAiBxE,CAAK,GAEpBa,MACJqB,IAAAoC,EAAQ,SAAR,gBAAApC,EAAc,IAAI,CAACuC,OACV;AAAA,IACL,OAAOJ,IAA0BI,EAAKJ,EAAwB,IAAI,IAAII,EAAKL,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWK,EAAKL,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFM,IAA+B,CAACJ,EAAQ,gBAAcK,IAAAL,EAAQ,SAAR,gBAAAK,EAAc,WAAU,OAAO;AAE3F,SACEvE,gBAAAA,EAAAA,IAACwE,GAAA,EAAW,OAAAV,GAAc,UAAUC,GAClC,UAAA/D,gBAAAA,EAAAA;AAAAA,IAACG;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAW+D,EAAQ;AAAA,MACnB,QAAQC,KAAkB,CAAA;AAAA,MAC1B,SAAA1D;AAAA,MACA,aAAAC;AAAA,MACA,kBAAkB4D,IAAuBG,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAAC3B,MAAcjC,KAAA,gBAAAA,EAAWiC;AAAA,MACpC,UAAU3B;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;","x_google_ignoreList":[0,1]}