@embeddable.com/remarkable-pro 0.1.22 → 0.1.23

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 (124) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +1 -1
  2. package/dist/BarChartDefaultPro.js +1 -1
  3. package/dist/BarChartGroupedHorizontalPro.js +1 -1
  4. package/dist/BarChartGroupedPro.js +1 -1
  5. package/dist/BarChartStackedHorizontalPro.js +1 -1
  6. package/dist/BarChartStackedPro.js +1 -1
  7. package/dist/{ChartCard-BFcOkho8.js → ChartCard-DTKoe0RT.js} +2 -2
  8. package/dist/{ChartCard-BFcOkho8.js.map → ChartCard-DTKoe0RT.js.map} +1 -1
  9. package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
  10. package/dist/DateRangePickerCustomPro.js +1 -1
  11. package/dist/DateRangeSelectFieldPro.js +1 -1
  12. package/dist/{DimensionAndMeasureSingleSelectField-2wIcQDeB.js → DimensionAndMeasureSingleSelectField-ZjxP2UaF.js} +2 -2
  13. package/dist/{DimensionAndMeasureSingleSelectField-2wIcQDeB.js.map → DimensionAndMeasureSingleSelectField-ZjxP2UaF.js.map} +1 -1
  14. package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
  15. package/dist/DimensionSingleSelectFieldPro.js +1 -1
  16. package/dist/DonutChartPro.js +1 -1
  17. package/dist/DonutLabelChartPro.js +1 -1
  18. package/dist/{EditorCard-3dZSYRt5.js → EditorCard-DhASZ5NL.js} +2 -2
  19. package/dist/{EditorCard-3dZSYRt5.js.map → EditorCard-DhASZ5NL.js.map} +1 -1
  20. package/dist/{GranularitySelectField-UPP_rxg_.js → GranularitySelectField-USDUQ-JX.js} +2 -2
  21. package/dist/{GranularitySelectField-UPP_rxg_.js.map → GranularitySelectField-USDUQ-JX.js.map} +1 -1
  22. package/dist/GranularitySelectFieldPro.js +1 -1
  23. package/dist/HeatMapPro.js +1 -1
  24. package/dist/KpiChartNumberComparisonPro.js +1 -1
  25. package/dist/KpiChartNumberPro.js +1 -1
  26. package/dist/LineChartComparisonDefaultPro.js +1 -1
  27. package/dist/LineChartDefaultPro.js +1 -1
  28. package/dist/LineChartGroupedPro.js +1 -1
  29. package/dist/MarkdownPro.js +1 -1
  30. package/dist/MeasureMultiSelectFieldPro.js +1 -1
  31. package/dist/MeasureSingleSelectFieldPro.js +1 -1
  32. package/dist/MultiSelectFieldPro.js +1 -1
  33. package/dist/PieChartPro.js +1 -1
  34. package/dist/PivotTablePro.js +1 -1
  35. package/dist/SingleSelectFieldPro.js +1 -1
  36. package/dist/TableChartPaginated.js +1 -1
  37. package/dist/TableScrollable.js +1 -1
  38. package/dist/TextFieldPro.js +1 -1
  39. package/dist/{bars.utils-DUjwVBN_.js → bars.utils-DUfgYLSr.js} +3 -3
  40. package/dist/{bars.utils-DUjwVBN_.js.map → bars.utils-DUfgYLSr.js.map} +1 -1
  41. package/dist/{charts.utils-Bev0mIbU.js → charts.utils-c8yku90J.js} +3 -3
  42. package/dist/{charts.utils-Bev0mIbU.js.map → charts.utils-c8yku90J.js.map} +1 -1
  43. package/dist/{component.utils-CTxZ73OE.js → component.utils-CbnwaSi1.js} +520 -514
  44. package/dist/component.utils-CbnwaSi1.js.map +1 -0
  45. package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts +1 -1
  46. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +3 -3
  47. package/dist/{definition-DnUR3kHo.js → definition-BFuxOQNH.js} +5 -5
  48. package/dist/{definition-DnUR3kHo.js.map → definition-BFuxOQNH.js.map} +1 -1
  49. package/dist/{definition-DBYWMAQ6.js → definition-BSqRW5IT.js} +5 -5
  50. package/dist/{definition-DBYWMAQ6.js.map → definition-BSqRW5IT.js.map} +1 -1
  51. package/dist/{definition-B061AHXa.js → definition-BSwWyWnH.js} +6 -6
  52. package/dist/{definition-B061AHXa.js.map → definition-BSwWyWnH.js.map} +1 -1
  53. package/dist/{definition-G959ELzF.js → definition-BeeYKKmk.js} +5 -5
  54. package/dist/{definition-G959ELzF.js.map → definition-BeeYKKmk.js.map} +1 -1
  55. package/dist/{definition-Bu_cHsdd.js → definition-BsgCyaQ7.js} +4 -4
  56. package/dist/{definition-Bu_cHsdd.js.map → definition-BsgCyaQ7.js.map} +1 -1
  57. package/dist/{definition-DFjrZcQZ.js → definition-Bvgmq0Y0.js} +5 -5
  58. package/dist/{definition-DFjrZcQZ.js.map → definition-Bvgmq0Y0.js.map} +1 -1
  59. package/dist/{definition-Ba8O8VWB.js → definition-C-atn8UX.js} +5 -5
  60. package/dist/{definition-Ba8O8VWB.js.map → definition-C-atn8UX.js.map} +1 -1
  61. package/dist/{definition-DLj9Mme1.js → definition-C3gy5J0u.js} +5 -5
  62. package/dist/{definition-DLj9Mme1.js.map → definition-C3gy5J0u.js.map} +1 -1
  63. package/dist/{definition-y5mDf3Zy.js → definition-CCbRSqPX.js} +5 -5
  64. package/dist/{definition-y5mDf3Zy.js.map → definition-CCbRSqPX.js.map} +1 -1
  65. package/dist/{definition-Ig1OO-qQ.js → definition-CP4ychWJ.js} +6 -6
  66. package/dist/{definition-Ig1OO-qQ.js.map → definition-CP4ychWJ.js.map} +1 -1
  67. package/dist/{definition-B5xzjNln.js → definition-CmBHiNwT.js} +5 -5
  68. package/dist/{definition-B5xzjNln.js.map → definition-CmBHiNwT.js.map} +1 -1
  69. package/dist/{definition-Do1r7afD.js → definition-CpilKf_f.js} +4 -4
  70. package/dist/{definition-Do1r7afD.js.map → definition-CpilKf_f.js.map} +1 -1
  71. package/dist/{definition-DqjuCD5Y.js → definition-Crkfoxb6.js} +5 -5
  72. package/dist/{definition-DqjuCD5Y.js.map → definition-Crkfoxb6.js.map} +1 -1
  73. package/dist/{definition-DD10XLFE.js → definition-CxcF8TcQ.js} +6 -6
  74. package/dist/{definition-DD10XLFE.js.map → definition-CxcF8TcQ.js.map} +1 -1
  75. package/dist/{definition-DyyAUko-.js → definition-Cy7jirkQ.js} +6 -6
  76. package/dist/{definition-DyyAUko-.js.map → definition-Cy7jirkQ.js.map} +1 -1
  77. package/dist/{definition-B82TKgiF.js → definition-CyqvuOwz.js} +3 -3
  78. package/dist/{definition-B82TKgiF.js.map → definition-CyqvuOwz.js.map} +1 -1
  79. package/dist/{definition-B9OPK4En.js → definition-D2O-mHJv.js} +4 -4
  80. package/dist/{definition-B9OPK4En.js.map → definition-D2O-mHJv.js.map} +1 -1
  81. package/dist/{definition-HDGe_q3m.js → definition-DMDXT1Tj.js} +6 -6
  82. package/dist/{definition-HDGe_q3m.js.map → definition-DMDXT1Tj.js.map} +1 -1
  83. package/dist/{definition-CSJ_pLef.js → definition-DMbgucms.js} +4 -4
  84. package/dist/{definition-CSJ_pLef.js.map → definition-DMbgucms.js.map} +1 -1
  85. package/dist/{definition--pOi48-R.js → definition-DP0Iwp6_.js} +5 -5
  86. package/dist/{definition--pOi48-R.js.map → definition-DP0Iwp6_.js.map} +1 -1
  87. package/dist/{definition-DD7z33zE.js → definition-DbTSq8TE.js} +6 -6
  88. package/dist/{definition-DD7z33zE.js.map → definition-DbTSq8TE.js.map} +1 -1
  89. package/dist/{definition-C3n8pYdt.js → definition-DnMzopoJ.js} +6 -6
  90. package/dist/{definition-C3n8pYdt.js.map → definition-DnMzopoJ.js.map} +1 -1
  91. package/dist/{definition-DrNmuv-a.js → definition-Dx_ekjOR.js} +2 -2
  92. package/dist/{definition-DrNmuv-a.js.map → definition-Dx_ekjOR.js.map} +1 -1
  93. package/dist/{definition-DYBdv5XU.js → definition-Dy6sdVbU.js} +3 -3
  94. package/dist/{definition-DYBdv5XU.js.map → definition-Dy6sdVbU.js.map} +1 -1
  95. package/dist/{definition-L50PXibn.js → definition-DyMdJqf8.js} +3 -3
  96. package/dist/{definition-L50PXibn.js.map → definition-DyMdJqf8.js.map} +1 -1
  97. package/dist/{definition-CtYj3y9T.js → definition-DzFPFv2i.js} +4 -4
  98. package/dist/{definition-CtYj3y9T.js.map → definition-DzFPFv2i.js.map} +1 -1
  99. package/dist/{definition-BCTnPonR.js → definition-EyeTQ0qK.js} +5 -5
  100. package/dist/{definition-BCTnPonR.js.map → definition-EyeTQ0qK.js.map} +1 -1
  101. package/dist/{definition-DrM7zQEH.js → definition-Sr664oUL.js} +4 -4
  102. package/dist/{definition-DrM7zQEH.js.map → definition-Sr664oUL.js.map} +1 -1
  103. package/dist/{definition-eFwBL-is.js → definition-cZxEU0FY.js} +3 -3
  104. package/dist/{definition-eFwBL-is.js.map → definition-cZxEU0FY.js.map} +1 -1
  105. package/dist/{definition-XOUClcrs.js → definition-ghLrDO7_.js} +5 -5
  106. package/dist/{definition-XOUClcrs.js.map → definition-ghLrDO7_.js.map} +1 -1
  107. package/dist/{dimensionsAndMeasures.utils-AOS4mAPS.js → dimensionsAndMeasures.utils-TtQ5NCLw.js} +2 -2
  108. package/dist/{dimensionsAndMeasures.utils-AOS4mAPS.js.map → dimensionsAndMeasures.utils-TtQ5NCLw.js.map} +1 -1
  109. package/dist/embeddable-components.json +48 -48
  110. package/dist/embeddable-theme-0137e.js +1112 -1106
  111. package/dist/{granularity.utils-B8nX3ssF.js → granularity.utils-zeE7RDIY.js} +2 -2
  112. package/dist/{granularity.utils-B8nX3ssF.js.map → granularity.utils-zeE7RDIY.js.map} +1 -1
  113. package/dist/index.d.ts +1 -1
  114. package/dist/index.js +43 -43
  115. package/dist/{pies.utils-Nb2hTKaS.js → pies.utils-CjGWf1L1.js} +4 -4
  116. package/dist/{pies.utils-Nb2hTKaS.js.map → pies.utils-CjGWf1L1.js.map} +1 -1
  117. package/dist/{preview.data.constants-jTLhNUWo.js → preview.data.constants-BZ8b6ZQ1.js} +2 -2
  118. package/dist/{preview.data.constants-jTLhNUWo.js.map → preview.data.constants-BZ8b6ZQ1.js.map} +1 -1
  119. package/dist/{tables.utils-DmkkqjdL.js → tables.utils-o7rLEWDn.js} +2 -2
  120. package/dist/{tables.utils-DmkkqjdL.js.map → tables.utils-o7rLEWDn.js.map} +1 -1
  121. package/dist/{timeRange.utils-BklklYoE.js → timeRange.utils-HfS6K7Bt.js} +2 -2
  122. package/dist/{timeRange.utils-BklklYoE.js.map → timeRange.utils-HfS6K7Bt.js.map} +1 -1
  123. package/package.json +1 -1
  124. package/dist/component.utils-CTxZ73OE.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { useTheme as y, definePreview as P } from "@embeddable.com/react";
2
2
  import { j as s, v as D, V as r } from "./index-CnLFSN1m.js";
3
3
  import { u as w, c as S, g as V, a as j } from "./dates.utils-C44-7RLR.js";
4
- import { a as M, r as T, i as k } from "./component.utils-CTxZ73OE.js";
5
- import { E as x } from "./EditorCard-3dZSYRt5.js";
4
+ import { a as M, r as T, i as k } from "./component.utils-CbnwaSi1.js";
5
+ import { E as x } from "./EditorCard-DhASZ5NL.js";
6
6
  import { I as F } from "./IconCalendarFilled-DaTHLPcZ.js";
7
7
  import { i as e } from "./component.inputs.constants-Cs7gX1rI.js";
8
8
  const n = (a) => {
@@ -102,4 +102,4 @@ export {
102
102
  J as d,
103
103
  G as i
104
104
  };
105
- //# sourceMappingURL=definition-L50PXibn.js.map
105
+ //# sourceMappingURL=definition-DyMdJqf8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-L50PXibn.js","sources":["../src/components/editors/dates/DateRangePickerCustomPro/index.tsx","../src/components/editors/dates/DateRangePickerCustomPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { DateRange, DateRangePickerField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeLabel,\n} from '../dates.utils';\nimport { IconCalendarFilled } from '@tabler/icons-react';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n clearable?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n const { onChange, clearable, selectedValue, showTwoMonths } = props;\n\n const handleChange = (newDateRange: DateRange | undefined) => {\n const timeRange: TimeRange = getTimeRangeFromDateRange(newDateRange);\n onChange(timeRange);\n };\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n const displayValue = getTimeRangeLabel(selectedValue, 'MMM DD', dateRangeOptions);\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DateRangePickerField\n startIcon={IconCalendarFilled}\n locale={locale}\n clearable={clearable}\n placeholder={placeholder}\n displayValue={displayValue}\n numberOfMonths={showTwoMonths ? 2 : 1}\n value={getDateRangeFromTimeRange(selectedValue, dateRangeOptions)}\n onChange={handleChange}\n submitLabel={i18n.t('editors.dateRangePicker.apply')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangePickerCustomPro',\n label: 'Date-Range Picker - Custom',\n category: 'Dropdowns - dates',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-range' },\n inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two months',\n defaultValue: false,\n category: 'Component Settings',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected date-range updated',\n properties: [\n {\n name: 'value',\n label: 'Selected date-range',\n type: 'timeRange',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'date-range value',\n type: 'timeRange',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (range: unknown) => ({\n value: range ?? Value.noFilter(),\n }),\n};\n\nexport const dateRangePickerCustomPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","description","placeholder","title","tooltip","resolveI18nProps","onChange","clearable","selectedValue","showTwoMonths","handleChange","newDateRange","timeRange","getTimeRangeFromDateRange","dateRangeOptions","displayValue","getTimeRangeLabel","locale","jsx","EditorCard","DateRangePickerField","IconCalendarFilled","getDateRangeFromTimeRange","i18n","meta","inputs","Value","preview","definePreview","Component","events","range","dateRangePickerCustomPro"],"mappings":";;;;;;;AAuBA,MAAMA,IAAyB,CAACC,MAAuC;AACrE,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,kBAAAG,EAAA,IAAqBC,EAAA;AAE7B,MAAI,CAACD;AACH,WAAO;AAGT,QAAM,EAAE,aAAAE,GAAa,aAAAC,GAAa,OAAAC,GAAO,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GACrE,EAAE,UAAAW,GAAU,WAAAC,GAAW,eAAAC,GAAe,eAAAC,MAAkBd,GAExDe,IAAe,CAACC,MAAwC;AAC5D,UAAMC,IAAuBC,EAA0BF,CAAY;AACnE,IAAAL,EAASM,CAAS;AAAA,EACpB,GAEME,IAAmBlB,EAAM,SAAS,mBAClCmB,IAAeC,EAAkBR,GAAe,UAAUM,CAAgB,GAE1EG,IAASrB,EAAM,KAAK,YAAYA,EAAM,UAAU;AAEtD,SACEsB,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,aAAAF,GAA0B,SAAAG,GAClD,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,MACX,QAAAJ;AAAA,MACA,WAAAV;AAAA,MACA,aAAAL;AAAA,MACA,cAAAa;AAAA,MACA,gBAAgBN,IAAgB,IAAI;AAAA,MACpC,OAAOa,EAA0Bd,GAAeM,CAAgB;AAAA,MAChE,UAAUJ;AAAA,MACV,aAAaa,EAAK,EAAE,+BAA+B;AAAA,MACnD,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;8CCzDMC,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,sBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,eAAe;AAAA,MACxB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,UAAU,MAAM;AAClB,CAAC,GAEKlC,IAAQ,CAAC8B,OACN;AAAA,EACL,GAAGA;AAAA,IAIDK,IAAS;AAAA,EACb,UAAU,CAACC,OAAoB;AAAA,IAC7B,OAAOA,KAASL,EAAM,SAAA;AAAA,EAAS;AAEnC,GAEaM,IAA2B;AAAA,EAAA,WACtCH;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAhC;AAAA,IACA,QAAAmC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"definition-DyMdJqf8.js","sources":["../src/components/editors/dates/DateRangePickerCustomPro/index.tsx","../src/components/editors/dates/DateRangePickerCustomPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { DateRange, DateRangePickerField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeLabel,\n} from '../dates.utils';\nimport { IconCalendarFilled } from '@tabler/icons-react';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n clearable?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n const { onChange, clearable, selectedValue, showTwoMonths } = props;\n\n const handleChange = (newDateRange: DateRange | undefined) => {\n const timeRange: TimeRange = getTimeRangeFromDateRange(newDateRange);\n onChange(timeRange);\n };\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n const displayValue = getTimeRangeLabel(selectedValue, 'MMM DD', dateRangeOptions);\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DateRangePickerField\n startIcon={IconCalendarFilled}\n locale={locale}\n clearable={clearable}\n placeholder={placeholder}\n displayValue={displayValue}\n numberOfMonths={showTwoMonths ? 2 : 1}\n value={getDateRangeFromTimeRange(selectedValue, dateRangeOptions)}\n onChange={handleChange}\n submitLabel={i18n.t('editors.dateRangePicker.apply')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangePickerCustomPro',\n label: 'Date-Range Picker - Custom',\n category: 'Dropdowns - dates',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-range' },\n inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two months',\n defaultValue: false,\n category: 'Component Settings',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected date-range updated',\n properties: [\n {\n name: 'value',\n label: 'Selected date-range',\n type: 'timeRange',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'date-range value',\n type: 'timeRange',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (range: unknown) => ({\n value: range ?? Value.noFilter(),\n }),\n};\n\nexport const dateRangePickerCustomPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","description","placeholder","title","tooltip","resolveI18nProps","onChange","clearable","selectedValue","showTwoMonths","handleChange","newDateRange","timeRange","getTimeRangeFromDateRange","dateRangeOptions","displayValue","getTimeRangeLabel","locale","jsx","EditorCard","DateRangePickerField","IconCalendarFilled","getDateRangeFromTimeRange","i18n","meta","inputs","Value","preview","definePreview","Component","events","range","dateRangePickerCustomPro"],"mappings":";;;;;;;AAuBA,MAAMA,IAAyB,CAACC,MAAuC;AACrE,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,kBAAAG,EAAA,IAAqBC,EAAA;AAE7B,MAAI,CAACD;AACH,WAAO;AAGT,QAAM,EAAE,aAAAE,GAAa,aAAAC,GAAa,OAAAC,GAAO,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GACrE,EAAE,UAAAW,GAAU,WAAAC,GAAW,eAAAC,GAAe,eAAAC,MAAkBd,GAExDe,IAAe,CAACC,MAAwC;AAC5D,UAAMC,IAAuBC,EAA0BF,CAAY;AACnE,IAAAL,EAASM,CAAS;AAAA,EACpB,GAEME,IAAmBlB,EAAM,SAAS,mBAClCmB,IAAeC,EAAkBR,GAAe,UAAUM,CAAgB,GAE1EG,IAASrB,EAAM,KAAK,YAAYA,EAAM,UAAU;AAEtD,SACEsB,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,aAAAF,GAA0B,SAAAG,GAClD,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,MACX,QAAAJ;AAAA,MACA,WAAAV;AAAA,MACA,aAAAL;AAAA,MACA,cAAAa;AAAA,MACA,gBAAgBN,IAAgB,IAAI;AAAA,MACpC,OAAOa,EAA0Bd,GAAeM,CAAgB;AAAA,MAChE,UAAUJ;AAAA,MACV,aAAaa,EAAK,EAAE,+BAA+B;AAAA,MACnD,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;8CCzDMC,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,sBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,eAAe;AAAA,MACxB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,UAAU,MAAM;AAClB,CAAC,GAEKlC,IAAQ,CAAC8B,OACN;AAAA,EACL,GAAGA;AAAA,IAIDK,IAAS;AAAA,EACb,UAAU,CAACC,OAAoB;AAAA,IAC7B,OAAOA,KAASL,EAAM,SAAA;AAAA,EAAS;AAEnC,GAEaM,IAA2B;AAAA,EAAA,WACtCH;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAhC;AAAA,IACA,QAAAmC;AAAA,EAAA;AAEJ;"}
@@ -1,8 +1,8 @@
1
1
  import { useTheme as C, definePreview as M } from "@embeddable.com/react";
2
2
  import { j as g, S as P, V as d, l as w } from "./index-CnLFSN1m.js";
3
- import { a as j, p as f } from "./preview.data.constants-jTLhNUWo.js";
4
- import { E as T } from "./EditorCard-3dZSYRt5.js";
5
- import { r as _, i as q } from "./component.utils-CTxZ73OE.js";
3
+ import { a as j, p as f } from "./preview.data.constants-BZ8b6ZQ1.js";
4
+ import { E as T } from "./EditorCard-DhASZ5NL.js";
5
+ import { r as _, i as q } from "./component.utils-CbnwaSi1.js";
6
6
  import { i as a } from "./component.inputs.constants-Cs7gX1rI.js";
7
7
  const v = 200, c = (e) => {
8
8
  var u, p;
@@ -127,4 +127,4 @@ export {
127
127
  W as i,
128
128
  X as s
129
129
  };
130
- //# sourceMappingURL=definition-CtYj3y9T.js.map
130
+ //# sourceMappingURL=definition-DzFPFv2i.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-CtYj3y9T.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx","../src/components/editors/SingleSelectFieldPro/definition.ts"],"sourcesContent":["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, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type SingleSelectFieldProProps = {\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} & EditorCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { title, description, dimension, placeholder, tooltip } = resolveI18nProps(props);\n const { optionalSecondDimension, results, selectedValue, setSearchValue, onChange } = 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} description={description} tooltip={tooltip}>\n <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue: string) => onChange?.(newValue)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n","import { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData, LoadDataRequest, DataResponse } from '@embeddable.com/core';\nimport Component, { MAX_OPTIONS } from '.';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'SingleSelectFieldPro',\n label: 'Single Select Field',\n category: 'Dropdowns - values',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n { ...inputs.dimension, label: 'Dimension (to load Dropdown values)' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n {\n ...inputs.number,\n name: 'maxOptions',\n label: 'Maximum options',\n category: 'Component Settings',\n defaultValue: MAX_OPTIONS,\n },\n {\n ...inputs.string,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured Variables',\n },\n {\n ...inputs.dimension,\n config: {\n dataset: 'dataset',\n },\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional secondary dimension',\n category: 'Data Mapping for Interactions',\n description: 'Send a different dimension to embeddable when the user clicks. Must be unique.',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected value updated',\n properties: [\n {\n name: 'value',\n label: 'Selected value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'single-select value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type SingleSelectDropdownState = {\n searchValue?: string;\n};\n\nconst preview = definePreview(Component, {\n dimension: previewData.dimension,\n results: previewData.results1Measure1Dimension,\n onChange: () => null,\n});\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): LoadDataRequest => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [{ operator, property: inputs.dimension, value: state.searchValue }]\n : undefined,\n };\n};\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): DataResponse => loadData(loadDataResultsArgs(inputs, state));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n) => ({\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadDataResults(inputs, state),\n});\n\nconst events = {\n onChange: (selectedValue: string) => {\n if (selectedValue === '') {\n return { value: Value.noFilter() };\n }\n\n return {\n value: selectedValue ?? Value.noFilter(),\n };\n },\n};\n\nexport const singleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","placeholder","tooltip","resolveI18nProps","optionalSecondDimension","results","selectedValue","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue","meta","inputs","Value","preview","definePreview","Component","previewData","loadDataResultsArgs","state","operator","loadDataResults","loadData","setState","searchValue","events","singleSelectFieldPro"],"mappings":";;;;;;AASO,MAAMA,IAAc,KAarBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC,EAAE,OAAAI,GAAO,aAAAC,GAAa,WAAAC,GAAW,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GAChF,EAAE,yBAAAW,GAAyB,SAAAC,GAAS,eAAAC,GAAe,gBAAAC,GAAgB,UAAAC,MAAaf,GAEhFgB,MACJC,IAAAL,EAAQ,SAAR,gBAAAK,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOP,IAA0BO,EAAKP,EAAwB,IAAI,IAAIO,EAAKX,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWW,EAAKX,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFY,IAA+B,CAACP,EAAQ,gBAAcQ,IAAAR,EAAQ,SAAR,gBAAAQ,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAjB,GAAc,aAAAC,GAA0B,SAAAG,GAClD,UAAAY,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,YAAU;AAAA,MACV,WAAWX,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAG;AAAA,MACA,aAAAR;AAAA,MACA,kBAAkBW,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAqBV,KAAA,gBAAAA,EAAWU;AAAA,MAC3C,UAAUX;AAAA,MACV,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;;8CCjDMY,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,WAAW,OAAO,sCAAA;AAAA,IAC9BA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,kBAAA;AAAA,IACvC;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,cAAc7B;AAAA,IAAA;AAAA,IAEhB;AAAA,MACE,GAAG6B,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,EACf;AAAA,EAEF,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,eAAe;AAAA,MACxB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAMMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,WAAWC,EAAY;AAAA,EACvB,SAASA,EAAY;AAAA,EACrB,UAAU,MAAM;AAClB,CAAC,GAEKC,IAAsB,CAC1BN,GACAO,MACoB;AACpB,QAAMC,IAAWR,EAAO,UAAU,eAAe,WAAW,aAAa;AACzE,SAAO;AAAA,IACL,OAAOA,EAAO;AAAA,IACd,MAAMA,EAAO;AAAA,IACb,QAAQ,CAACA,EAAO,WAAWA,EAAO,uBAAuB,EAAE,OAAO,OAAO;AAAA,IACzE,SAASO,KAAA,QAAAA,EAAO,cACZ,CAAC,EAAE,UAAAC,GAAU,UAAUR,EAAO,WAAW,OAAOO,EAAM,YAAA,CAAa,IACnE;AAAA,EAAA;AAER,GAEME,IAAkB,CACtBT,GACAO,MACiBG,EAASJ,EAAoBN,GAAQO,CAAK,CAAC,GAExDlC,IAAQ,CACZ2B,GACA,CAACO,GAAOI,CAAQ,OACZ;AAAA,EACJ,GAAGX;AAAAA,EACH,YAAYA,EAAO;AAAA,EACnB,gBAAgB,CAACY,MAAwBD,EAAS,EAAE,aAAAC,GAAa;AAAA,EACjE,SAASH,EAAgBT,GAAQO,CAAK;AACxC,IAEMM,IAAS;AAAA,EACb,UAAU,CAAC3B,MACLA,MAAkB,KACb,EAAE,OAAOe,EAAM,WAAS,IAG1B;AAAA,IACL,OAAOf,KAAiBe,EAAM,SAAA;AAAA,EAAS;AAG7C,GAEaa,IAAuB;AAAA,EAAA,WAClCV;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAA7B;AAAA,IACA,QAAAwC;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcP;AAAA,IACd,UAAUG;AAAA,EAAA;AAEd;"}
1
+ {"version":3,"file":"definition-DzFPFv2i.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx","../src/components/editors/SingleSelectFieldPro/definition.ts"],"sourcesContent":["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, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type SingleSelectFieldProProps = {\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} & EditorCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { title, description, dimension, placeholder, tooltip } = resolveI18nProps(props);\n const { optionalSecondDimension, results, selectedValue, setSearchValue, onChange } = 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} description={description} tooltip={tooltip}>\n <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue: string) => onChange?.(newValue)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n","import { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData, LoadDataRequest, DataResponse } from '@embeddable.com/core';\nimport Component, { MAX_OPTIONS } from '.';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'SingleSelectFieldPro',\n label: 'Single Select Field',\n category: 'Dropdowns - values',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n { ...inputs.dimension, label: 'Dimension (to load Dropdown values)' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n {\n ...inputs.number,\n name: 'maxOptions',\n label: 'Maximum options',\n category: 'Component Settings',\n defaultValue: MAX_OPTIONS,\n },\n {\n ...inputs.string,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured Variables',\n },\n {\n ...inputs.dimension,\n config: {\n dataset: 'dataset',\n },\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional secondary dimension',\n category: 'Data Mapping for Interactions',\n description: 'Send a different dimension to embeddable when the user clicks. Must be unique.',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected value updated',\n properties: [\n {\n name: 'value',\n label: 'Selected value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'single-select value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type SingleSelectDropdownState = {\n searchValue?: string;\n};\n\nconst preview = definePreview(Component, {\n dimension: previewData.dimension,\n results: previewData.results1Measure1Dimension,\n onChange: () => null,\n});\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): LoadDataRequest => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [{ operator, property: inputs.dimension, value: state.searchValue }]\n : undefined,\n };\n};\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): DataResponse => loadData(loadDataResultsArgs(inputs, state));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n) => ({\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadDataResults(inputs, state),\n});\n\nconst events = {\n onChange: (selectedValue: string) => {\n if (selectedValue === '') {\n return { value: Value.noFilter() };\n }\n\n return {\n value: selectedValue ?? Value.noFilter(),\n };\n },\n};\n\nexport const singleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","placeholder","tooltip","resolveI18nProps","optionalSecondDimension","results","selectedValue","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue","meta","inputs","Value","preview","definePreview","Component","previewData","loadDataResultsArgs","state","operator","loadDataResults","loadData","setState","searchValue","events","singleSelectFieldPro"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { m as L, j as p, D as j, V as M, l as A } from "./index-CnLFSN1m.js";
2
2
  import { useTheme as y, definePreview as I } from "@embeddable.com/react";
3
- import { g as T, a as _ } from "./pies.utils-Nb2hTKaS.js";
4
- import { a as O, r as R } from "./component.utils-CTxZ73OE.js";
5
- import { C as z } from "./ChartCard-BFcOkho8.js";
3
+ import { g as T, a as _ } from "./pies.utils-CjGWf1L1.js";
4
+ import { a as O, r as R } from "./component.utils-CbnwaSi1.js";
5
+ import { C as z } from "./ChartCard-DTKoe0RT.js";
6
6
  import { i as s, s as E } from "./component.inputs.constants-Cs7gX1rI.js";
7
- import { p as r } from "./preview.data.constants-jTLhNUWo.js";
7
+ import { p as r } from "./preview.data.constants-BZ8b6ZQ1.js";
8
8
  const i = (e) => {
9
9
  var m;
10
10
  const t = y();
@@ -120,4 +120,4 @@ export {
120
120
  Y as d,
121
121
  X as i
122
122
  };
123
- //# sourceMappingURL=definition-BCTnPonR.js.map
123
+ //# sourceMappingURL=definition-EyeTQ0qK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-BCTnPonR.js","sources":["../src/components/charts/pies/DonutChartPro/index.tsx","../src/components/charts/pies/DonutChartPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\nexport type 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 { hideMenu } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\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 description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <DonutChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n","import { DataResponse, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'DonutChartPro',\n label: 'Donut Chart',\n category: 'Pie Charts',\n inputs: [\n inputs.dataset,\n { ...inputs.measure, inputs: [...inputs.measure.inputs, subInputs.showValueAsPercentage] },\n inputs.dimension,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.maxLegendItems,\n inputs.showTooltips,\n inputs.showValueLabels,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked dimension',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measure: previewData.measure,\n results: previewData.results1Measure1Dimension,\n showValueLabels: false,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst events = {\n onSegmentClick: (value: { dimensionValue?: string }) => ({\n dimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const donutChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","hideMenu","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","donutChartPro"],"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,GAEpB,EAAE,UAAAe,MAAaf,GAEfgB,IAAOC;AAAA,IACX,EAAE,MAAMT,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CL;AAAA,EAAA,GAGIiB,IAAUC;AAAA,IACdC,EAAsBb,GAASN,CAAK;AAAA,MACpCoB,IAAApB,EAAM,OAAO,kBAAb,gBAAAoB,EAA4B,YAAW,CAAA;AAAA,EAAC,GAGpCC,IAAqB,CAACC,MAA8B;;AACxD,IAAKV,KACLA,EAAe;AAAA,MACb,gBAAgBU,MAAU,WAAwBC,KAAAH,IAAAb,EAAQ,SAAR,gBAAAa,EAAeE,OAAf,OAAZ,SAAYC,EAAwBnB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEoB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMlB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,aAAAJ;AAAA,MACA,OAAAQ;AAAA,MACA,UAAAG;AAAA,MAEA,UAAAU,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAX;AAAA,UACA,SAAAE;AAAA,UACA,YAAAT;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gBAAgBW;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;8CC5DMM,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,SAAS,QAAQ,CAAC,GAAGA,EAAO,QAAQ,QAAQC,EAAU,qBAAqB,EAAA;AAAA,IACvFD,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAAA,EAET,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAEME,IAAgB;AAAA,EACpB,WAAWC,EAAY;AAAA,EACvB,SAASA,EAAY;AAAA,EACrB,SAASA,EAAY;AAAA,EACrB,iBAAiB;AAAA,EACjB,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAACP,OAAkD;AAAA,EAC7E,MAAMA,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,SAASA,EAAO,SAAS;AAC3C,IAEMQ,IAAkB,CAACR,MACvBS,EAASF,EAAoBP,CAAM,CAAC,GAEhCU,IAAS;AAAA,EACb,gBAAgB,CAACC,OAAwC;AAAA,IACvD,gBAAgBA,EAAM,kBAAkBC,EAAM,SAAA;AAAA,EAAS;AAE3D,GAEMzC,IAAQ,CAAC6B,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,SAASQ,EAAgBR,CAAM;AACjC,IAEaa,IAAgB;AAAA,EAAA,WAC3BP;AAAAA,EACA,MAAAP;AAAA,EACA,SAAAK;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAA/B;AAAA,IACA,QAAAuC;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcH;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
1
+ {"version":3,"file":"definition-EyeTQ0qK.js","sources":["../src/components/charts/pies/DonutChartPro/index.tsx","../src/components/charts/pies/DonutChartPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\nexport type 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 { hideMenu } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\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 description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <DonutChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n","import { DataResponse, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'DonutChartPro',\n label: 'Donut Chart',\n category: 'Pie Charts',\n inputs: [\n inputs.dataset,\n { ...inputs.measure, inputs: [...inputs.measure.inputs, subInputs.showValueAsPercentage] },\n inputs.dimension,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.maxLegendItems,\n inputs.showTooltips,\n inputs.showValueLabels,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked dimension',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measure: previewData.measure,\n results: previewData.results1Measure1Dimension,\n showValueLabels: false,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst events = {\n onSegmentClick: (value: { dimensionValue?: string }) => ({\n dimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const donutChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","hideMenu","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","donutChartPro"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { j as m, K as x, l as D } from "./index-CnLFSN1m.js";
2
2
  import { useTheme as M, definePreview as P } from "@embeddable.com/react";
3
- import { a as y, r as z } from "./component.utils-CTxZ73OE.js";
4
- import { C as A } from "./ChartCard-BFcOkho8.js";
5
- import { a as w, p as u } from "./preview.data.constants-jTLhNUWo.js";
3
+ import { a as y, r as z } from "./component.utils-CbnwaSi1.js";
4
+ import { C as A } from "./ChartCard-DTKoe0RT.js";
5
+ import { a as w, p as u } from "./preview.data.constants-BZ8b6ZQ1.js";
6
6
  import { g as F } from "./kpis.utils-DsZ2GzuB.js";
7
7
  import { i as t } from "./component.inputs.constants-Cs7gX1rI.js";
8
8
  const a = (e) => {
@@ -75,4 +75,4 @@ export {
75
75
  q as i,
76
76
  G as k
77
77
  };
78
- //# sourceMappingURL=definition-DrM7zQEH.js.map
78
+ //# sourceMappingURL=definition-Sr664oUL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-DrM7zQEH.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx","../src/components/charts/kpis/KpiChartNumberPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n displayNullAs?: string;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const { measure, fontSize, hideMenu, results } = props;\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n const resultsWithNullsHandled = getKpiResults(results, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'KpiChartNumberPro',\n label: 'Kpi Chart - Number',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n inputs.title,\n inputs.description,\n inputs.displayNullAs,\n inputs.tooltip,\n inputs.fontSize,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const kpiChartNumberPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","measure","fontSize","hideMenu","results","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","kpiChartNumberPro"],"mappings":";;;;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,eAAAC,EAAA,IAAkBC,EAAiBR,CAAK,GACvE,EAAE,SAAAS,GAAS,UAAAC,GAAU,UAAAC,GAAU,SAAAC,MAAYZ,GAE3Ca,KAAQC,KAAAC,IAAAH,EAAQ,SAAR,gBAAAG,EAAe,OAAf,gBAAAD,EAAoBL,EAAQ,OAEpCO,IAAiBC,EAAkBhB,CAAK,GACxCiB,IAAiB,CAACC,MAA0BH,EAAe,KAAKP,GAASU,CAAa,GAEtFC,IAA0BC,EAAcT,GAASH,GAAS,EAAQF,CAAc;AAEtF,SACEe,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAACX,CAAO;AAAA,MAC/B,cAAcG,EAAQ;AAAA,MACtB,aAAAP;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAK;AAAA,MAEA,UAAAW,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,eAAAjB;AAAA,UACA,OAAAM;AAAA,UACA,gBAAAK;AAAA,UACA,eAAeR;AAAA,QAAA;AAAA,MAAA;AAAA,IACjB;AAAA,EAAA;AAGN;;;8CC3CMe,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAEX,GAEMC,IAAgB;AAAA,EACpB,SAAS,EAAE,GAAGC,EAAY,QAAA;AAAA,EAC1B,SAASA,EAAY;AAAA,EACrB,UAAU;AAAA,EACV,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAACN,OAAkD;AAAA,EAC7E,MAAMA,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,OAAO;AACzB,IAEMO,IAAkB,CAACP,MACvBQ,EAASF,EAAoBN,CAAM,CAAC,GAEhC1B,IAAQ,CAAC0B,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,SAASO,EAAgBP,CAAM;AACjC,IAEaS,IAAoB;AAAA,EAAA,WAC/BJ;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAA3B;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcgC;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
1
+ {"version":3,"file":"definition-Sr664oUL.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx","../src/components/charts/kpis/KpiChartNumberPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n displayNullAs?: string;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const { measure, fontSize, hideMenu, results } = props;\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n const resultsWithNullsHandled = getKpiResults(results, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'KpiChartNumberPro',\n label: 'Kpi Chart - Number',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n inputs.title,\n inputs.description,\n inputs.displayNullAs,\n inputs.tooltip,\n inputs.fontSize,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const kpiChartNumberPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","measure","fontSize","hideMenu","results","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","kpiChartNumberPro"],"mappings":";;;;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,eAAAC,EAAA,IAAkBC,EAAiBR,CAAK,GACvE,EAAE,SAAAS,GAAS,UAAAC,GAAU,UAAAC,GAAU,SAAAC,MAAYZ,GAE3Ca,KAAQC,KAAAC,IAAAH,EAAQ,SAAR,gBAAAG,EAAe,OAAf,gBAAAD,EAAoBL,EAAQ,OAEpCO,IAAiBC,EAAkBhB,CAAK,GACxCiB,IAAiB,CAACC,MAA0BH,EAAe,KAAKP,GAASU,CAAa,GAEtFC,IAA0BC,EAAcT,GAASH,GAAS,EAAQF,CAAc;AAEtF,SACEe,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAACX,CAAO;AAAA,MAC/B,cAAcG,EAAQ;AAAA,MACtB,aAAAP;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAK;AAAA,MAEA,UAAAW,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,eAAAjB;AAAA,UACA,OAAAM;AAAA,UACA,gBAAAK;AAAA,UACA,eAAeR;AAAA,QAAA;AAAA,MAAA;AAAA,IACjB;AAAA,EAAA;AAGN;;;8CC3CMe,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAEX,GAEMC,IAAgB;AAAA,EACpB,SAAS,EAAE,GAAGC,EAAY,QAAA;AAAA,EAC1B,SAASA,EAAY;AAAA,EACrB,UAAU;AAAA,EACV,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAACN,OAAkD;AAAA,EAC7E,MAAMA,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,OAAO;AACzB,IAEMO,IAAkB,CAACP,MACvBQ,EAASF,EAAoBN,CAAM,CAAC,GAEhC1B,IAAQ,CAAC0B,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,SAASO,EAAgBP,CAAM;AACjC,IAEaS,IAAoB;AAAA,EAAA,WAC/BJ;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAA3B;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcgC;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
@@ -1,8 +1,8 @@
1
1
  import { useTheme as W, definePreview as q } from "@embeddable.com/react";
2
2
  import { Q as B, R as H, j as t, U as Q, W as U, X as m, Y as X, Z as Y, _ as Z, $, a0 as A, a1 as G, V as k } from "./index-CnLFSN1m.js";
3
3
  import { c as D, u as J, g as K, b as P, a as ee } from "./dates.utils-C44-7RLR.js";
4
- import { b as ae, a as te, r as ne, i as u } from "./component.utils-CTxZ73OE.js";
5
- import { E as oe } from "./EditorCard-3dZSYRt5.js";
4
+ import { b as ae, a as te, r as ne, i as u } from "./component.utils-CbnwaSi1.js";
5
+ import { E as oe } from "./EditorCard-DhASZ5NL.js";
6
6
  import { useState as p, useEffect as se } from "react";
7
7
  import { I as re } from "./IconCalendarFilled-DaTHLPcZ.js";
8
8
  import { i as s } from "./component.inputs.constants-Cs7gX1rI.js";
@@ -194,4 +194,4 @@ export {
194
194
  ie as g,
195
195
  ke as i
196
196
  };
197
- //# sourceMappingURL=definition-eFwBL-is.js.map
197
+ //# sourceMappingURL=definition-cZxEU0FY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-eFwBL-is.js","sources":["../src/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.ts","../src/components/editors/dates/DateRangePickerPresetsPro/index.tsx","../src/components/editors/dates/DateRangePickerPresetsPro/definition.ts"],"sourcesContent":["import { DateRangeSelectFieldProOption } from './DateRangePickerPresetsPro.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { resolveI18nString } from '../../../component.utils';\nimport { getTimeRangeLabel } from '../dates.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: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport {\n Button,\n DateRangePicker,\n Dropdown,\n SelectFieldContent,\n SelectFieldContentList,\n SelectListOption,\n DateRange,\n SelectFieldTrigger,\n isSameDateRange,\n shallowEqual,\n} from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangePickerPresetsPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled, IconChevronLeft, IconChevronRight } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\nimport styles from './DateRangePickerPresetsPro.module.css';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeFromPresets,\n getTimeRangeLabel,\n} from '../dates.utils';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n\n clearable?: boolean;\n showCustomRangeOptions?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n const { onChange, clearable, selectedValue, showCustomRangeOptions, showTwoMonths } = props;\n const onlyDateRangePicker = !showCustomRangeOptions;\n const [showDateRangePicker, setShowDateRangePicker] = useState(onlyDateRangePicker);\n\n const [isOpen, setIsOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | undefined>(\n getDateRangeFromTimeRange(selectedValue),\n );\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n useEffect(() => {\n if (!dayjsLocaleReady) {\n return;\n }\n // Step 1: Convert relativeTimeString to actual time range (from/to)\n const newTimeRange = getTimeRangeFromPresets(selectedValue, dateRangeOptions);\n\n if (!shallowEqual(newTimeRange, selectedValue)) {\n onChange(newTimeRange);\n }\n }, [selectedValue, dayjsLocaleReady, onChange, dateRangeOptions]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n const handleOptionChange = (newValue: string | undefined) => {\n const newTimeRange = getTimeRangeFromPresets(\n { relativeTimeString: newValue } as TimeRange,\n dateRangeOptions,\n );\n\n onChange(newTimeRange);\n setDateRange(undefined);\n };\n\n const handleDateRangeChange = (newDateRange: DateRange | undefined) => {\n onChange(getTimeRangeFromDateRange(newDateRange));\n setIsOpen(false);\n };\n\n const handleClear = () => {\n setDateRange(undefined);\n onChange(undefined);\n };\n\n const getValueLabel = () => {\n if (selectedValue?.relativeTimeString) {\n const option = options.find((option) => option.value === selectedValue.relativeTimeString);\n if (option) {\n return option.label;\n }\n }\n\n if (selectedValue?.from && selectedValue?.to) {\n return getTimeRangeLabel(selectedValue, 'MMM DD');\n }\n\n return '';\n };\n\n const valueLabel = getValueLabel();\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n const isSubmitDisabled = isSameDateRange(dateRange, selectedValue);\n const numberOfMonths = showTwoMonths ? 2 : 1;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n avoidCollisions={false}\n triggerComponent={\n <SelectFieldTrigger\n startIcon={IconCalendarFilled}\n aria-label={placeholder}\n placeholder={placeholder}\n valueLabel={valueLabel}\n onClear={handleClear}\n isClearable={clearable}\n />\n }\n >\n <SelectFieldContent fitContent className={styles.dateRangePickerContent}>\n {showDateRangePicker ? (\n <div className={styles.dateRangePickerContainer}>\n {!onlyDateRangePicker && (\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.backToPresets')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(false);\n }}\n startIcon={<IconChevronLeft />}\n />\n )}\n <DateRangePicker\n locale={locale}\n numberOfMonths={numberOfMonths}\n value={dateRange}\n onChange={setDateRange}\n />\n <Button\n size=\"small\"\n disabled={isSubmitDisabled}\n onClick={() => handleDateRangeChange(dateRange)}\n >\n {i18n.t('editors.dateRangePicker.apply')}\n </Button>\n </div>\n ) : (\n <SelectFieldContentList>\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.custom')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(true);\n }}\n endIcon={<IconChevronRight />}\n />\n {options.map((option) => (\n <SelectListOption\n key={option.value}\n {...option}\n isSelected={selectedValue?.relativeTimeString === option.value}\n onClick={() => handleOptionChange(option.value)}\n />\n ))}\n </SelectFieldContentList>\n )}\n </SelectFieldContent>\n </Dropdown>\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangeSelectFieldPro',\n label: 'Date-Range Picker - Presets',\n category: 'Dropdowns - dates',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-range' },\n {\n ...inputs.boolean,\n name: 'showCustomRangeOptions',\n label: 'Show custom date-range option',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two-month view',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected date-range updated',\n properties: [\n {\n name: 'value',\n label: 'Selected date-range',\n type: 'timeRange',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'date-range value',\n type: 'timeRange',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n showCustomRangeOptions: true,\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (range: unknown) => ({\n value: range ?? Value.noFilter(),\n }),\n};\n\nexport const dateRangeSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","onChange","clearable","selectedValue","showCustomRangeOptions","showTwoMonths","onlyDateRangePicker","showDateRangePicker","setShowDateRangePicker","useState","isOpen","setIsOpen","dateRange","setDateRange","getDateRangeFromTimeRange","dateRangeOptions","useEffect","newTimeRange","getTimeRangeFromPresets","shallowEqual","description","placeholder","title","tooltip","resolveI18nProps","options","handleOptionChange","newValue","handleDateRangeChange","newDateRange","getTimeRangeFromDateRange","handleClear","valueLabel","locale","isSubmitDisabled","isSameDateRange","numberOfMonths","jsx","EditorCard","Dropdown","SelectFieldTrigger","IconCalendarFilled","SelectFieldContent","styles","jsxs","SelectListOption","i18n","e","IconChevronLeft","DateRangePicker","Button","SelectFieldContentList","IconChevronRight","meta","inputs","Value","preview","definePreview","Component","events","range","dateRangeSelectFieldPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-cZxEU0FY.js","sources":["../src/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.ts","../src/components/editors/dates/DateRangePickerPresetsPro/index.tsx","../src/components/editors/dates/DateRangePickerPresetsPro/definition.ts"],"sourcesContent":["import { DateRangeSelectFieldProOption } from './DateRangePickerPresetsPro.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { resolveI18nString } from '../../../component.utils';\nimport { getTimeRangeLabel } from '../dates.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: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport {\n Button,\n DateRangePicker,\n Dropdown,\n SelectFieldContent,\n SelectFieldContentList,\n SelectListOption,\n DateRange,\n SelectFieldTrigger,\n isSameDateRange,\n shallowEqual,\n} from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangePickerPresetsPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled, IconChevronLeft, IconChevronRight } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\nimport styles from './DateRangePickerPresetsPro.module.css';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeFromPresets,\n getTimeRangeLabel,\n} from '../dates.utils';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n\n clearable?: boolean;\n showCustomRangeOptions?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n const { onChange, clearable, selectedValue, showCustomRangeOptions, showTwoMonths } = props;\n const onlyDateRangePicker = !showCustomRangeOptions;\n const [showDateRangePicker, setShowDateRangePicker] = useState(onlyDateRangePicker);\n\n const [isOpen, setIsOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | undefined>(\n getDateRangeFromTimeRange(selectedValue),\n );\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n useEffect(() => {\n if (!dayjsLocaleReady) {\n return;\n }\n // Step 1: Convert relativeTimeString to actual time range (from/to)\n const newTimeRange = getTimeRangeFromPresets(selectedValue, dateRangeOptions);\n\n if (!shallowEqual(newTimeRange, selectedValue)) {\n onChange(newTimeRange);\n }\n }, [selectedValue, dayjsLocaleReady, onChange, dateRangeOptions]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n const handleOptionChange = (newValue: string | undefined) => {\n const newTimeRange = getTimeRangeFromPresets(\n { relativeTimeString: newValue } as TimeRange,\n dateRangeOptions,\n );\n\n onChange(newTimeRange);\n setDateRange(undefined);\n };\n\n const handleDateRangeChange = (newDateRange: DateRange | undefined) => {\n onChange(getTimeRangeFromDateRange(newDateRange));\n setIsOpen(false);\n };\n\n const handleClear = () => {\n setDateRange(undefined);\n onChange(undefined);\n };\n\n const getValueLabel = () => {\n if (selectedValue?.relativeTimeString) {\n const option = options.find((option) => option.value === selectedValue.relativeTimeString);\n if (option) {\n return option.label;\n }\n }\n\n if (selectedValue?.from && selectedValue?.to) {\n return getTimeRangeLabel(selectedValue, 'MMM DD');\n }\n\n return '';\n };\n\n const valueLabel = getValueLabel();\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n const isSubmitDisabled = isSameDateRange(dateRange, selectedValue);\n const numberOfMonths = showTwoMonths ? 2 : 1;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n avoidCollisions={false}\n triggerComponent={\n <SelectFieldTrigger\n startIcon={IconCalendarFilled}\n aria-label={placeholder}\n placeholder={placeholder}\n valueLabel={valueLabel}\n onClear={handleClear}\n isClearable={clearable}\n />\n }\n >\n <SelectFieldContent fitContent className={styles.dateRangePickerContent}>\n {showDateRangePicker ? (\n <div className={styles.dateRangePickerContainer}>\n {!onlyDateRangePicker && (\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.backToPresets')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(false);\n }}\n startIcon={<IconChevronLeft />}\n />\n )}\n <DateRangePicker\n locale={locale}\n numberOfMonths={numberOfMonths}\n value={dateRange}\n onChange={setDateRange}\n />\n <Button\n size=\"small\"\n disabled={isSubmitDisabled}\n onClick={() => handleDateRangeChange(dateRange)}\n >\n {i18n.t('editors.dateRangePicker.apply')}\n </Button>\n </div>\n ) : (\n <SelectFieldContentList>\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.custom')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(true);\n }}\n endIcon={<IconChevronRight />}\n />\n {options.map((option) => (\n <SelectListOption\n key={option.value}\n {...option}\n isSelected={selectedValue?.relativeTimeString === option.value}\n onClick={() => handleOptionChange(option.value)}\n />\n ))}\n </SelectFieldContentList>\n )}\n </SelectFieldContent>\n </Dropdown>\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangeSelectFieldPro',\n label: 'Date-Range Picker - Presets',\n category: 'Dropdowns - dates',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-range' },\n {\n ...inputs.boolean,\n name: 'showCustomRangeOptions',\n label: 'Show custom date-range option',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two-month view',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected date-range updated',\n properties: [\n {\n name: 'value',\n label: 'Selected date-range',\n type: 'timeRange',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'date-range value',\n type: 'timeRange',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n showCustomRangeOptions: true,\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (range: unknown) => ({\n value: range ?? Value.noFilter(),\n }),\n};\n\nexport const dateRangeSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","onChange","clearable","selectedValue","showCustomRangeOptions","showTwoMonths","onlyDateRangePicker","showDateRangePicker","setShowDateRangePicker","useState","isOpen","setIsOpen","dateRange","setDateRange","getDateRangeFromTimeRange","dateRangeOptions","useEffect","newTimeRange","getTimeRangeFromPresets","shallowEqual","description","placeholder","title","tooltip","resolveI18nProps","options","handleOptionChange","newValue","handleDateRangeChange","newDateRange","getTimeRangeFromDateRange","handleClear","valueLabel","locale","isSubmitDisabled","isSameDateRange","numberOfMonths","jsx","EditorCard","Dropdown","SelectFieldTrigger","IconCalendarFilled","SelectFieldContent","styles","jsxs","SelectListOption","i18n","e","IconChevronLeft","DateRangePicker","Button","SelectFieldContentList","IconChevronRight","meta","inputs","Value","preview","definePreview","Component","events","range","dateRangeSelectFieldPro"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { b as v, u as X, h as Y, j as L, i as Z, k as $, V as ee, m as ae, l as P } from "./index-CnLFSN1m.js";
2
2
  import { useTheme as oe, definePreview as se } from "@embeddable.com/react";
3
- import { a as ne, r as te, i as ie } from "./component.utils-CTxZ73OE.js";
4
- import { C as le } from "./ChartCard-BFcOkho8.js";
3
+ import { a as ne, r as te, i as ie } from "./component.utils-CbnwaSi1.js";
4
+ import { C as le } from "./ChartCard-DTKoe0RT.js";
5
5
  import { useState as re, useRef as de, useCallback as ce, useEffect as w } from "react";
6
- import { b as me, c as ue } from "./tables.utils-DmkkqjdL.js";
6
+ import { b as me, c as ue } from "./tables.utils-o7rLEWDn.js";
7
7
  import { i as t, s as M } from "./component.inputs.constants-Cs7gX1rI.js";
8
- import { p } from "./preview.data.constants-jTLhNUWo.js";
8
+ import { p } from "./preview.data.constants-BZ8b6ZQ1.js";
9
9
  const ge = v("--em-tablechart-cell-height", "2.5rem"), he = v("--em-tablechart-cell-height", "2.5rem"), pe = v("--em-tablechart-pagination-height", "3rem");
10
10
  let j;
11
11
  const k = (a) => {
@@ -251,4 +251,4 @@ export {
251
251
  ye as i,
252
252
  Se as t
253
253
  };
254
- //# sourceMappingURL=definition-XOUClcrs.js.map
254
+ //# sourceMappingURL=definition-ghLrDO7_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-XOUClcrs.js","sources":["../src/components/charts/tables/TableChartPaginated/index.tsx","../src/components/charts/tables/TableChartPaginated/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useResizeObserver,\n TableSort,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n hasTotalResults: boolean;\n};\n\nexport type TableChartPaginatedProProps = {\n allResults?: DataResponse;\n clickDimension?: Dimension;\n\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n results: DataResponse;\n showIndex?: boolean;\n state?: TableChartPaginatedProState;\n\n totalResults?: DataResponse;\n onRowClicked?: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n setState?: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n} & ChartCardHeaderProps;\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n totalResults,\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const { height } = useResizeObserver(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: height,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState?.((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!onRowClicked || !clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Sync total from results\n useEffect(() => {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: false,\n }));\n }, [dimensionsAndMeasures, pageSize]);\n\n useEffect(() => {\n if (totalResults?.total) {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: true,\n }));\n }\n }, [totalResults]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n const handleSortChange = (newSort: TableSort<any> | undefined) => {\n handleUpdateEmbeddableState({ sort: newSort as TableChartPaginatedProState['sort'] });\n };\n\n const currentPage = state?.page ?? 0;\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n hideMenu={hideMenu}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={currentPage}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: currentPage + 1,\n totalPages: getTableTotalPages(totalResults?.total, pageSize) ?? '?',\n })}\n total={totalResults?.total}\n sort={state?.sort}\n onSortChange={handleSortChange}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n","import { DataResponse, LoadDataRequest, OrderBy, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport TablePaginatedChart, {\n TableChartPaginatedProOnRowClickArg,\n TableChartPaginatedProState,\n} from './index';\nimport { mergician } from 'mergician';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'TableChartPaginated',\n label: 'Table Chart - Paginated',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.dimensionsAndMeasures,\n label: 'Columns',\n inputs: [\n ...inputs.dimensionsAndMeasures.inputs,\n subInputs.width,\n subInputs.align,\n subInputs.tableCellStyle,\n ],\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n {\n ...inputs.boolean,\n name: 'showIndex',\n label: 'Show index column',\n defaultValue: true,\n category: 'Component Settings',\n },\n inputs.displayNullAs,\n { ...inputs.maxResults, label: 'Max results to download' },\n {\n ...inputs.dimensionSimple,\n label: 'Dimension to set on click',\n name: 'clickDimension',\n category: 'Data Mapping for Interactions',\n required: false,\n },\n ],\n events: [\n {\n name: 'onRowClicked',\n label: 'A row is clicked',\n properties: [\n {\n name: 'rowDimensionValue',\n label: 'Clicked row dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewMaxResults = 3;\n\nconst previewConfig = {\n dimensionsAndMeasures: [previewData.dimension, previewData.dimensionGroup, previewData.measure],\n results: {\n ...previewData.results1Measure2Dimensions,\n data: previewData.results1Measure2Dimensions.data?.slice(0, previewMaxResults),\n },\n totalResults: { data: [], total: previewMaxResults, isLoading: false },\n state: {\n page: 0,\n pageSize: previewMaxResults,\n isLoadingDownloadData: false,\n hasTotalResults: true,\n hideMenu: true,\n },\n hideMenu: true,\n};\n\nconst preview = definePreview(TablePaginatedChart, previewConfig);\n\nexport const defaultTableChartPaginatedState: TableChartPaginatedProState = {\n page: 0,\n pageSize: undefined,\n sort: undefined,\n isLoadingDownloadData: false,\n hasTotalResults: true,\n};\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: page * pageSize,\n limit: pageSize,\n orderBy,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse =>\n loadData(loadDataResultsArgs(inputs, page, pageSize, orderBy, dimensionsAndMeasuresToLoad));\n\nconst loadDataTotalResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: 0,\n limit: 0,\n countRows: true,\n});\n\nconst loadDataTotalResults = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse => loadData(loadDataTotalResultsArgs(inputs, dimensionsAndMeasuresToLoad));\n\nconst loadDataAllResultsArgs = (\n inputs: Inputs<typeof meta>,\n orderBy: OrderBy[],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: inputs.dimensionsAndMeasures,\n orderBy,\n limit: inputs.maxResults,\n});\n\nconst loadDataAllResults = (inputs: Inputs<typeof meta>, orderBy: OrderBy[]): DataResponse =>\n loadData(loadDataAllResultsArgs(inputs, orderBy));\n\nconst events = {\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => ({\n rowDimensionValue: rowDimensionValue !== undefined ? rowDimensionValue : Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [TableChartPaginatedProState, (state: TableChartPaginatedProState) => void],\n) => {\n const orderDimensionAndMeasure = inputs.dimensionsAndMeasures.find(\n (x) => x.name === state?.sort?.id,\n );\n\n const orderBy: OrderBy[] =\n orderDimensionAndMeasure && state?.sort\n ? [{ property: orderDimensionAndMeasure, direction: state.sort.direction }]\n : [];\n\n const clickDimensionInDimensionsAndMeasures = inputs.dimensionsAndMeasures.some(\n (dimOrMeas) => dimOrMeas.name === inputs.clickDimension?.name,\n );\n\n const dimensionsAndMeasuresToLoad = [\n ...inputs.dimensionsAndMeasures,\n ...(clickDimensionInDimensionsAndMeasures ? [] : [inputs.clickDimension]),\n ];\n\n return {\n ...inputs,\n state: mergician(defaultTableChartPaginatedState, state ?? {}),\n setState,\n results: state?.pageSize\n ? loadDataResults(inputs, state.page, state.pageSize, orderBy, dimensionsAndMeasuresToLoad)\n : undefined,\n totalResults: !state?.hasTotalResults\n ? loadDataTotalResults(inputs, dimensionsAndMeasuresToLoad)\n : undefined,\n allResults: state?.isLoadingDownloadData ? loadDataAllResults(inputs, orderBy) : undefined,\n };\n};\n\nexport const tableChartPaginated = {\n Component: TablePaginatedChart,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n totalResults: {\n loadDataArgs: loadDataTotalResultsArgs,\n loadData: loadDataTotalResults,\n },\n allResults: {\n loadDataArgs: loadDataAllResultsArgs,\n loadData: loadDataAllResults,\n },\n} as const;\n"],"names":["headerHeight","getStyleNumber","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","props","theme","useTheme","i18nSetup","isDownloadingData","setIsDownloadingData","useState","title","description","tooltip","resolveI18nProps","hideMenu","totalResults","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","headers","getTableHeaders","rows","tableRows","getTableRows","cardContentRef","useRef","height","useResizeObserver","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","_a","useEffect","handleSortChange","newSort","currentPage","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newPage","meta","inputs","subInputs","previewMaxResults","previewConfig","previewData","preview","definePreview","TablePaginatedChart","defaultTableChartPaginatedState","loadDataResultsArgs","page","orderBy","dimensionsAndMeasuresToLoad","loadDataResults","loadData","loadDataTotalResultsArgs","loadDataTotalResults","loadDataAllResultsArgs","loadDataAllResults","events","Value","orderDimensionAndMeasure","x","clickDimensionInDimensionsAndMeasures","dimOrMeas","mergician","tableChartPaginated"],"mappings":"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"}
1
+ {"version":3,"file":"definition-ghLrDO7_.js","sources":["../src/components/charts/tables/TableChartPaginated/index.tsx","../src/components/charts/tables/TableChartPaginated/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useResizeObserver,\n TableSort,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n hasTotalResults: boolean;\n};\n\nexport type TableChartPaginatedProProps = {\n allResults?: DataResponse;\n clickDimension?: Dimension;\n\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n results: DataResponse;\n showIndex?: boolean;\n state?: TableChartPaginatedProState;\n\n totalResults?: DataResponse;\n onRowClicked?: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n setState?: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n} & ChartCardHeaderProps;\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n totalResults,\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const { height } = useResizeObserver(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: height,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState?.((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!onRowClicked || !clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Sync total from results\n useEffect(() => {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: false,\n }));\n }, [dimensionsAndMeasures, pageSize]);\n\n useEffect(() => {\n if (totalResults?.total) {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: true,\n }));\n }\n }, [totalResults]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n const handleSortChange = (newSort: TableSort<any> | undefined) => {\n handleUpdateEmbeddableState({ sort: newSort as TableChartPaginatedProState['sort'] });\n };\n\n const currentPage = state?.page ?? 0;\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n hideMenu={hideMenu}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={currentPage}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: currentPage + 1,\n totalPages: getTableTotalPages(totalResults?.total, pageSize) ?? '?',\n })}\n total={totalResults?.total}\n sort={state?.sort}\n onSortChange={handleSortChange}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n","import { DataResponse, LoadDataRequest, OrderBy, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport TablePaginatedChart, {\n TableChartPaginatedProOnRowClickArg,\n TableChartPaginatedProState,\n} from './index';\nimport { mergician } from 'mergician';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'TableChartPaginated',\n label: 'Table Chart - Paginated',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.dimensionsAndMeasures,\n label: 'Columns',\n inputs: [\n ...inputs.dimensionsAndMeasures.inputs,\n subInputs.width,\n subInputs.align,\n subInputs.tableCellStyle,\n ],\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n {\n ...inputs.boolean,\n name: 'showIndex',\n label: 'Show index column',\n defaultValue: true,\n category: 'Component Settings',\n },\n inputs.displayNullAs,\n { ...inputs.maxResults, label: 'Max results to download' },\n {\n ...inputs.dimensionSimple,\n label: 'Dimension to set on click',\n name: 'clickDimension',\n category: 'Data Mapping for Interactions',\n required: false,\n },\n ],\n events: [\n {\n name: 'onRowClicked',\n label: 'A row is clicked',\n properties: [\n {\n name: 'rowDimensionValue',\n label: 'Clicked row dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewMaxResults = 3;\n\nconst previewConfig = {\n dimensionsAndMeasures: [previewData.dimension, previewData.dimensionGroup, previewData.measure],\n results: {\n ...previewData.results1Measure2Dimensions,\n data: previewData.results1Measure2Dimensions.data?.slice(0, previewMaxResults),\n },\n totalResults: { data: [], total: previewMaxResults, isLoading: false },\n state: {\n page: 0,\n pageSize: previewMaxResults,\n isLoadingDownloadData: false,\n hasTotalResults: true,\n hideMenu: true,\n },\n hideMenu: true,\n};\n\nconst preview = definePreview(TablePaginatedChart, previewConfig);\n\nexport const defaultTableChartPaginatedState: TableChartPaginatedProState = {\n page: 0,\n pageSize: undefined,\n sort: undefined,\n isLoadingDownloadData: false,\n hasTotalResults: true,\n};\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: page * pageSize,\n limit: pageSize,\n orderBy,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse =>\n loadData(loadDataResultsArgs(inputs, page, pageSize, orderBy, dimensionsAndMeasuresToLoad));\n\nconst loadDataTotalResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: 0,\n limit: 0,\n countRows: true,\n});\n\nconst loadDataTotalResults = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse => loadData(loadDataTotalResultsArgs(inputs, dimensionsAndMeasuresToLoad));\n\nconst loadDataAllResultsArgs = (\n inputs: Inputs<typeof meta>,\n orderBy: OrderBy[],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: inputs.dimensionsAndMeasures,\n orderBy,\n limit: inputs.maxResults,\n});\n\nconst loadDataAllResults = (inputs: Inputs<typeof meta>, orderBy: OrderBy[]): DataResponse =>\n loadData(loadDataAllResultsArgs(inputs, orderBy));\n\nconst events = {\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => ({\n rowDimensionValue: rowDimensionValue !== undefined ? rowDimensionValue : Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [TableChartPaginatedProState, (state: TableChartPaginatedProState) => void],\n) => {\n const orderDimensionAndMeasure = inputs.dimensionsAndMeasures.find(\n (x) => x.name === state?.sort?.id,\n );\n\n const orderBy: OrderBy[] =\n orderDimensionAndMeasure && state?.sort\n ? [{ property: orderDimensionAndMeasure, direction: state.sort.direction }]\n : [];\n\n const clickDimensionInDimensionsAndMeasures = inputs.dimensionsAndMeasures.some(\n (dimOrMeas) => dimOrMeas.name === inputs.clickDimension?.name,\n );\n\n const dimensionsAndMeasuresToLoad = [\n ...inputs.dimensionsAndMeasures,\n ...(clickDimensionInDimensionsAndMeasures ? [] : [inputs.clickDimension]),\n ];\n\n return {\n ...inputs,\n state: mergician(defaultTableChartPaginatedState, state ?? {}),\n setState,\n results: state?.pageSize\n ? loadDataResults(inputs, state.page, state.pageSize, orderBy, dimensionsAndMeasuresToLoad)\n : undefined,\n totalResults: !state?.hasTotalResults\n ? loadDataTotalResults(inputs, dimensionsAndMeasuresToLoad)\n : undefined,\n allResults: state?.isLoadingDownloadData ? loadDataAllResults(inputs, orderBy) : undefined,\n };\n};\n\nexport const tableChartPaginated = {\n Component: TablePaginatedChart,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n totalResults: {\n loadDataArgs: loadDataTotalResultsArgs,\n loadData: loadDataTotalResults,\n },\n allResults: {\n loadDataArgs: loadDataAllResultsArgs,\n loadData: loadDataAllResults,\n },\n} as const;\n"],"names":["headerHeight","getStyleNumber","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","props","theme","useTheme","i18nSetup","isDownloadingData","setIsDownloadingData","useState","title","description","tooltip","resolveI18nProps","hideMenu","totalResults","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","headers","getTableHeaders","rows","tableRows","getTableRows","cardContentRef","useRef","height","useResizeObserver","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","_a","useEffect","handleSortChange","newSort","currentPage","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newPage","meta","inputs","subInputs","previewMaxResults","previewConfig","previewData","preview","definePreview","TablePaginatedChart","defaultTableChartPaginatedState","loadDataResultsArgs","page","orderBy","dimensionsAndMeasuresToLoad","loadDataResults","loadData","loadDataTotalResultsArgs","loadDataTotalResults","loadDataAllResultsArgs","loadDataAllResults","events","Value","orderDimensionAndMeasure","x","clickDimensionInDimensionsAndMeasures","dimOrMeas","mergician","tableChartPaginated"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as n } from "./preview.data.constants-jTLhNUWo.js";
1
+ import { a as n } from "./preview.data.constants-BZ8b6ZQ1.js";
2
2
  const i = ({
3
3
  dimensionsAndMeasures: r,
4
4
  searchValue: o,
@@ -13,4 +13,4 @@ const i = ({
13
13
  export {
14
14
  i as g
15
15
  };
16
- //# sourceMappingURL=dimensionsAndMeasures.utils-AOS4mAPS.js.map
16
+ //# sourceMappingURL=dimensionsAndMeasures.utils-TtQ5NCLw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dimensionsAndMeasures.utils-AOS4mAPS.js","sources":["../src/components/editors/utils/dimensionsAndMeasures.utils.ts"],"sourcesContent":["import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\n\nexport const getDimensionAndMeasureOptions = ({\n dimensionsAndMeasures,\n searchValue,\n theme,\n}: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n searchValue: string;\n theme: Theme;\n}): SelectListOptionProps[] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return dimensionsAndMeasures\n .filter((dimensionOrMeasure) => {\n return themeFormatter\n .dimensionOrMeasureTitle(dimensionOrMeasure)\n .toLowerCase()\n .includes(searchValue.toLowerCase());\n })\n .map((dimensionOrMeasure) => {\n return {\n value: dimensionOrMeasure.name,\n label: themeFormatter.dimensionOrMeasureTitle(dimensionOrMeasure),\n };\n });\n};\n"],"names":["getDimensionAndMeasureOptions","dimensionsAndMeasures","searchValue","theme","themeFormatter","getThemeFormatter","dimensionOrMeasure"],"mappings":";AAKO,MAAMA,IAAgC,CAAC;AAAA,EAC5C,uBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAI+B;AAC7B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAOF,EACJ,OAAO,CAACK,MACAF,EACJ,wBAAwBE,CAAkB,EAC1C,cACA,SAASJ,EAAY,aAAa,CACtC,EACA,IAAI,CAACI,OACG;AAAA,IACL,OAAOA,EAAmB;AAAA,IAC1B,OAAOF,EAAe,wBAAwBE,CAAkB;AAAA,EAAA,EAEnE;AACL;"}
1
+ {"version":3,"file":"dimensionsAndMeasures.utils-TtQ5NCLw.js","sources":["../src/components/editors/utils/dimensionsAndMeasures.utils.ts"],"sourcesContent":["import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\n\nexport const getDimensionAndMeasureOptions = ({\n dimensionsAndMeasures,\n searchValue,\n theme,\n}: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n searchValue: string;\n theme: Theme;\n}): SelectListOptionProps[] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return dimensionsAndMeasures\n .filter((dimensionOrMeasure) => {\n return themeFormatter\n .dimensionOrMeasureTitle(dimensionOrMeasure)\n .toLowerCase()\n .includes(searchValue.toLowerCase());\n })\n .map((dimensionOrMeasure) => {\n return {\n value: dimensionOrMeasure.name,\n label: themeFormatter.dimensionOrMeasureTitle(dimensionOrMeasure),\n };\n });\n};\n"],"names":["getDimensionAndMeasureOptions","dimensionsAndMeasures","searchValue","theme","themeFormatter","getThemeFormatter","dimensionOrMeasure"],"mappings":";AAKO,MAAMA,IAAgC,CAAC;AAAA,EAC5C,uBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAI+B;AAC7B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAOF,EACJ,OAAO,CAACK,MACAF,EACJ,wBAAwBE,CAAkB,EAC1C,cACA,SAASJ,EAAY,aAAa,CACtC,EACA,IAAI,CAACI,OACG;AAAA,IACL,OAAOA,EAAmB;AAAA,IAC1B,OAAOF,EAAe,wBAAwBE,CAAkB;AAAA,EAAA,EAEnE;AACL;"}