@embeddable.com/remarkable-pro 0.0.3 → 0.0.5

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 (116) hide show
  1. package/README.md +68 -17
  2. package/dist/BarChartDefaultHorizontalPro.js +25 -85
  3. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  4. package/dist/BarChartDefaultPro.js +25 -84
  5. package/dist/BarChartDefaultPro.js.map +1 -1
  6. package/dist/BarChartGroupedHorizontalPro.js +33 -102
  7. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  8. package/dist/BarChartGroupedPro.js +27 -95
  9. package/dist/BarChartGroupedPro.js.map +1 -1
  10. package/dist/BarChartStackedHorizontalPro.js +28 -98
  11. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  12. package/dist/BarChartStackedPro.js +28 -97
  13. package/dist/BarChartStackedPro.js.map +1 -1
  14. package/dist/{ChartCard-CsKQOusx.js → ChartCard-DPqhmLst.js} +19 -19
  15. package/dist/{ChartCard-CsKQOusx.js.map → ChartCard-DPqhmLst.js.map} +1 -1
  16. package/dist/{Color.type.emb-9H0O-uuD.js → Color.type.emb-WlORCMYm.js} +2 -2
  17. package/dist/{Color.type.emb-9H0O-uuD.js.map → Color.type.emb-WlORCMYm.js.map} +1 -1
  18. package/dist/ColorEditor.js +2 -2
  19. package/dist/{ComparisonPeriod.type.emb-C3XjaFoD.js → ComparisonPeriod.type.emb-2GetmOu1.js} +2 -2
  20. package/dist/{ComparisonPeriod.type.emb-C3XjaFoD.js.map → ComparisonPeriod.type.emb-2GetmOu1.js.map} +1 -1
  21. package/dist/ComparisonPeriodSelectFieldPro.js +17 -58
  22. package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
  23. package/dist/DateRangeSelectFieldPro.js +3 -3
  24. package/dist/DonutChartPro.js +3 -3
  25. package/dist/DonutLabelChartPro.js +3 -3
  26. package/dist/EditorCard-BaL9GbQ9.js +32 -0
  27. package/dist/{EditorCard-BMEwnQuU.js.map → EditorCard-BaL9GbQ9.js.map} +1 -1
  28. package/dist/HeatMapPro.js +26 -93
  29. package/dist/HeatMapPro.js.map +1 -1
  30. package/dist/KpiChartNumberComparisonPro.js +25 -94
  31. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  32. package/dist/KpiChartNumberPro.js +14 -31
  33. package/dist/KpiChartNumberPro.js.map +1 -1
  34. package/dist/LineChartComparisonDefaultPro.js +59 -370
  35. package/dist/LineChartComparisonDefaultPro.js.map +1 -1
  36. package/dist/LineChartDefaultPro.js +31 -179
  37. package/dist/LineChartDefaultPro.js.map +1 -1
  38. package/dist/LineChartGroupedPro.js +30 -174
  39. package/dist/LineChartGroupedPro.js.map +1 -1
  40. package/dist/MultiSelectFieldPro.js +3 -3
  41. package/dist/PieChartPro.js +3 -3
  42. package/dist/PivotTablePro.js +23 -86
  43. package/dist/PivotTablePro.js.map +1 -1
  44. package/dist/SingleSelectFieldPro.js +3 -3
  45. package/dist/TableChartPaginated.js +37 -172
  46. package/dist/TableChartPaginated.js.map +1 -1
  47. package/dist/{bars.utils-BU_k5fia.js → bars.utils-aO0eZx5e.js} +7 -7
  48. package/dist/{bars.utils-BU_k5fia.js.map → bars.utils-aO0eZx5e.js.map} +1 -1
  49. package/dist/{charts.utils-rO92wRxO.js → charts.utils-CZnXoUqF.js} +4 -4
  50. package/dist/{charts.utils-rO92wRxO.js.map → charts.utils-CZnXoUqF.js.map} +1 -1
  51. package/dist/{component.constants-uP1WYyUb.js → component.constants-C7cqSNbp.js} +2 -2
  52. package/dist/{component.constants-uP1WYyUb.js.map → component.constants-C7cqSNbp.js.map} +1 -1
  53. package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
  54. package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
  55. package/dist/components/charts/tables/tables.hooks.d.ts +17 -0
  56. package/dist/components/charts/tables/tables.hooks.d.ts.map +1 -0
  57. package/dist/embeddable-components.json +13 -13
  58. package/dist/{formatter.utils-CeEdL8uQ.js → formatter.utils-CfrcSyDX.js} +2 -2
  59. package/dist/{formatter.utils-CeEdL8uQ.js.map → formatter.utils-CfrcSyDX.js.map} +1 -1
  60. package/dist/{index-Dwl9clc9.js → index-2EH0Voxh.js} +5 -5
  61. package/dist/{index-Dwl9clc9.js.map → index-2EH0Voxh.js.map} +1 -1
  62. package/dist/index-85Nzu6wl.js +95 -0
  63. package/dist/index-85Nzu6wl.js.map +1 -0
  64. package/dist/index-9GEogpMN.js +82 -0
  65. package/dist/index-9GEogpMN.js.map +1 -0
  66. package/dist/{index-BWpUwKTH.js → index-BAomPP89.js} +5 -5
  67. package/dist/{index-BWpUwKTH.js.map → index-BAomPP89.js.map} +1 -1
  68. package/dist/{index-DLFOG9Ar.js → index-BQf2W8Zn.js} +6 -6
  69. package/dist/{index-DLFOG9Ar.js.map → index-BQf2W8Zn.js.map} +1 -1
  70. package/dist/index-BSc_Axva.js +326 -0
  71. package/dist/index-BSc_Axva.js.map +1 -0
  72. package/dist/index-BjdJeBiT.js +73 -0
  73. package/dist/index-BjdJeBiT.js.map +1 -0
  74. package/dist/index-C1EIos9z.js +159 -0
  75. package/dist/index-C1EIos9z.js.map +1 -0
  76. package/dist/index-C_F-ZHJz.js +163 -0
  77. package/dist/index-C_F-ZHJz.js.map +1 -0
  78. package/dist/index-Cc-mtCkt.js +83 -0
  79. package/dist/index-Cc-mtCkt.js.map +1 -0
  80. package/dist/index-CvmifdRS.js +72 -0
  81. package/dist/index-CvmifdRS.js.map +1 -0
  82. package/dist/index-D1L8EF47.js +82 -0
  83. package/dist/index-D1L8EF47.js.map +1 -0
  84. package/dist/{index-DedIqjbn.js → index-D8D1R5YG.js} +17 -18
  85. package/dist/{index-DedIqjbn.js.map → index-D8D1R5YG.js.map} +1 -1
  86. package/dist/index-DGz1wzRd.js +81 -0
  87. package/dist/index-DGz1wzRd.js.map +1 -0
  88. package/dist/index-DORMEL0e.js +82 -0
  89. package/dist/index-DORMEL0e.js.map +1 -0
  90. package/dist/index-DTuHmdil.js +89 -0
  91. package/dist/index-DTuHmdil.js.map +1 -0
  92. package/dist/index-DZU1PTjb.js +148 -0
  93. package/dist/index-DZU1PTjb.js.map +1 -0
  94. package/dist/index-DaeSYZkv.js +30 -0
  95. package/dist/index-DaeSYZkv.js.map +1 -0
  96. package/dist/{index-Brb617sy.js → index-Dhwlo6sD.js} +5 -5
  97. package/dist/{index-Brb617sy.js.map → index-Dhwlo6sD.js.map} +1 -1
  98. package/dist/{index-B8bT85NR.js → index-L9ViZuWi.js} +5 -5
  99. package/dist/{index-B8bT85NR.js.map → index-L9ViZuWi.js.map} +1 -1
  100. package/dist/{index-DrosyYQD.js → index-WCMGd0_l.js} +15 -14
  101. package/dist/{index-DrosyYQD.js.map → index-WCMGd0_l.js.map} +1 -1
  102. package/dist/index-wy7P41uG.js +56 -0
  103. package/dist/index-wy7P41uG.js.map +1 -0
  104. package/dist/index.d.ts +27 -6
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +117 -74
  107. package/dist/index.js.map +1 -1
  108. package/dist/{pies.utils-Dap7Duqb.js → pies.utils-DlK4ABKU.js} +5 -5
  109. package/dist/{pies.utils-Dap7Duqb.js.map → pies.utils-DlK4ABKU.js.map} +1 -1
  110. package/dist/remarkable-pro.css +1 -1
  111. package/dist/tables.hooks-BQdyUxau.js +45 -0
  112. package/dist/tables.hooks-BQdyUxau.js.map +1 -0
  113. package/dist/{timeRange.utils-J3a4XL64.js → timeRange.utils-CWl9EGOR.js} +2 -2
  114. package/dist/{timeRange.utils-J3a4XL64.js.map → timeRange.utils-CWl9EGOR.js.map} +1 -1
  115. package/package.json +2 -2
  116. package/dist/EditorCard-BMEwnQuU.js +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"ChartCard-CsKQOusx.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconDotsVertical.mjs","../src/components/charts/shared/ChartCard/ChartCardLoading/ChartCardLoading.tsx","../src/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.tsx","../src/components/charts/shared/ChartCard/ChartCard.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-2\" }]];\nconst IconDotsVertical = createReactComponent(\"outline\", \"dots-vertical\", \"DotsVertical\", __iconNode);\n\nexport { __iconNode, IconDotsVertical as default };\n//# sourceMappingURL=IconDotsVertical.mjs.map\n","import { IconLoader2 } from '@tabler/icons-react';\nimport styles from './ChartCardLoading.module.css';\n\nexport const ChartCardLoading = () => <IconLoader2 className={styles.loading} />;\n","import { IconDotsVertical } from '@tabler/icons-react';\nimport React from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { ChartCardLoading } from '../ChartCardLoading/ChartCardLoading';\nimport { i18n, i18nSetup } from '../../../../../theme/i18n/i18n';\nimport { Theme } from '../../../../../theme/theme.types';\nimport {\n Dropdown,\n ActionIcon,\n SelectFieldContent,\n SelectListOption,\n} from '@embeddable.com/remarkable-ui';\nimport styles from './ChartCardMenuPro.module.css';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\ntype InlineSvgFromDataProps = React.HTMLAttributes<HTMLSpanElement> & {\n src: string;\n};\n\nexport function InlineSvgFromData({ src, className, ...rest }: InlineSvgFromDataProps) {\n // Remove prefix and URL-decode the SVG markup\n const svgMarkup = decodeURIComponent(src.replace(/^data:image\\/svg\\+xml,/, ''));\n\n return <div className={className} {...rest} dangerouslySetInnerHTML={{ __html: svgMarkup }} />;\n}\n\ntype ChartCardMenuProProps = Omit<ChartCardMenuOptionOnClickProps, 'theme'>;\n\nexport const ChartCardMenuPro: React.FC<ChartCardMenuProProps> = (props) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isLoading, setIsLoading] = React.useState(false);\n\n const options = theme.defaults.chartMenuOptions ?? [];\n\n if (options.length === 0) {\n return null;\n }\n\n const startAction = (onClick: () => void | Promise<void>) => {\n setTimeout(() => {\n Promise.resolve(onClick()).finally(() => setIsLoading(false));\n }, 100);\n };\n\n const handleExport = (onClick: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsLoading(true);\n if (props.onCustomDownload) {\n props.onCustomDownload((args) => startAction(() => onClick(args)));\n return;\n }\n startAction(() => onClick({ ...props, theme }));\n };\n\n return (\n <Dropdown\n side=\"bottom\"\n align=\"end\"\n triggerComponent={isLoading ? <ChartCardLoading /> : <ActionIcon icon={IconDotsVertical} />}\n >\n <SelectFieldContent className={styles.list} autoFocus>\n {options.map((option, index) => {\n const label = i18n.t(option.labelKey);\n\n return (\n <SelectListOption\n key={index}\n label={label}\n onClick={() => handleExport(option.onClick)}\n startIcon={option.iconSrc ? <InlineSvgFromData src={option.iconSrc} /> : undefined}\n />\n );\n })}\n </SelectFieldContent>\n </Dropdown>\n );\n};\n","import React, { CSSProperties, useRef } from 'react';\nimport { IconAlertCircle } from '@tabler/icons-react';\nimport {\n Card,\n CardContent,\n CardFeedback,\n CardHeader,\n Skeleton,\n} from '@embeddable.com/remarkable-ui';\nimport styles from './ChartCard.module.css';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { ChartCardLoading } from './ChartCardLoading/ChartCardLoading';\nimport { ChartCardMenuPro } from './ChartCardMenuPro/ChartCardMenuPro';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport clsx from 'clsx';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\ntype ChartCardProps = {\n title: string;\n subtitle?: string;\n children: React.ReactNode;\n data: DataResponse;\n isLoading?: boolean;\n errorMessage?: string;\n style?: CSSProperties;\n dimensionsAndMeasures?: (Dimension | Measure)[];\n onCustomDownload?: (props: (props: ChartCardMenuOptionOnClickProps) => void) => void;\n};\n\nexport const ChartCard = React.forwardRef<HTMLDivElement, ChartCardProps>(\n (\n { title, subtitle, children, data, errorMessage, dimensionsAndMeasures = [], ...props },\n ref,\n ) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const chartRef = useRef<HTMLDivElement>(null);\n\n const hasData = Boolean(data?.data && data.data?.length > 0);\n\n const isLoading = !data || data?.isLoading;\n\n const getDisplay = () => {\n if (isLoading && !hasData) {\n return <Skeleton />;\n }\n\n if (errorMessage) {\n return (\n <CardFeedback\n variant=\"error\"\n icon={IconAlertCircle}\n title={i18n.t('charts.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n if (!hasData) {\n return (\n <CardFeedback\n title={i18n.t('charts.emptyTitle')}\n message={i18n.t('charts.emptyMessage')}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card className={styles.chartCard} {...props}>\n <CardHeader\n title={title}\n subtitle={subtitle}\n rightContent={\n <div className={styles.chartCardRightContent}>\n <div\n className={clsx(styles.fixedContent, isLoading ? styles.loading : styles.hidden)}\n >\n <ChartCardLoading />\n </div>\n <div\n className={clsx(styles.fixedContent, isLoading ? styles.hidden : styles.visible)}\n >\n <ChartCardMenuPro\n title={title}\n containerRef={chartRef}\n data={data?.data}\n dimensionsAndMeasures={dimensionsAndMeasures}\n onCustomDownload={props.onCustomDownload}\n />\n </div>\n </div>\n }\n />\n\n <CardContent ref={props.onCustomDownload ? ref : chartRef}>{getDisplay()}</CardContent>\n </Card>\n );\n },\n);\n\nChartCard.displayName = 'ChartCard';\n"],"names":["__iconNode","IconDotsVertical","createReactComponent","ChartCardLoading","jsx","IconLoader2","styles","InlineSvgFromData","src","className","rest","svgMarkup","ChartCardMenuPro","props","theme","useTheme","i18nSetup","isLoading","setIsLoading","React","options","startAction","onClick","handleExport","args","Dropdown","ActionIcon","SelectFieldContent","option","index","label","i18n","SelectListOption","ChartCard","title","subtitle","children","data","errorMessage","dimensionsAndMeasures","ref","chartRef","useRef","hasData","_a","getDisplay","Skeleton","CardFeedback","IconAlertCircle","Card","CardHeader","jsxs","clsx","CardContent"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"ChartCard-DPqhmLst.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconDotsVertical.mjs","../src/components/charts/shared/ChartCard/ChartCardLoading/ChartCardLoading.tsx","../src/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.tsx","../src/components/charts/shared/ChartCard/ChartCard.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-2\" }]];\nconst IconDotsVertical = createReactComponent(\"outline\", \"dots-vertical\", \"DotsVertical\", __iconNode);\n\nexport { __iconNode, IconDotsVertical as default };\n//# sourceMappingURL=IconDotsVertical.mjs.map\n","import { IconLoader2 } from '@tabler/icons-react';\nimport styles from './ChartCardLoading.module.css';\n\nexport const ChartCardLoading = () => <IconLoader2 className={styles.loading} />;\n","import { IconDotsVertical } from '@tabler/icons-react';\nimport React from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { ChartCardLoading } from '../ChartCardLoading/ChartCardLoading';\nimport { i18n, i18nSetup } from '../../../../../theme/i18n/i18n';\nimport { Theme } from '../../../../../theme/theme.types';\nimport {\n Dropdown,\n ActionIcon,\n SelectFieldContent,\n SelectListOption,\n} from '@embeddable.com/remarkable-ui';\nimport styles from './ChartCardMenuPro.module.css';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\ntype InlineSvgFromDataProps = React.HTMLAttributes<HTMLSpanElement> & {\n src: string;\n};\n\nexport function InlineSvgFromData({ src, className, ...rest }: InlineSvgFromDataProps) {\n // Remove prefix and URL-decode the SVG markup\n const svgMarkup = decodeURIComponent(src.replace(/^data:image\\/svg\\+xml,/, ''));\n\n return <div className={className} {...rest} dangerouslySetInnerHTML={{ __html: svgMarkup }} />;\n}\n\ntype ChartCardMenuProProps = Omit<ChartCardMenuOptionOnClickProps, 'theme'>;\n\nexport const ChartCardMenuPro: React.FC<ChartCardMenuProProps> = (props) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isLoading, setIsLoading] = React.useState(false);\n\n const options = theme.defaults.chartMenuOptions ?? [];\n\n if (options.length === 0) {\n return null;\n }\n\n const startAction = (onClick: () => void | Promise<void>) => {\n setTimeout(() => {\n Promise.resolve(onClick()).finally(() => setIsLoading(false));\n }, 100);\n };\n\n const handleExport = (onClick: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsLoading(true);\n if (props.onCustomDownload) {\n props.onCustomDownload((args) => startAction(() => onClick(args)));\n return;\n }\n startAction(() => onClick({ ...props, theme }));\n };\n\n return (\n <Dropdown\n side=\"bottom\"\n align=\"end\"\n triggerComponent={isLoading ? <ChartCardLoading /> : <ActionIcon icon={IconDotsVertical} />}\n >\n <SelectFieldContent className={styles.list} autoFocus>\n {options.map((option, index) => {\n const label = i18n.t(option.labelKey);\n\n return (\n <SelectListOption\n key={index}\n label={label}\n onClick={() => handleExport(option.onClick)}\n startIcon={option.iconSrc ? <InlineSvgFromData src={option.iconSrc} /> : undefined}\n />\n );\n })}\n </SelectFieldContent>\n </Dropdown>\n );\n};\n","import React, { CSSProperties, useRef } from 'react';\nimport { IconAlertCircle } from '@tabler/icons-react';\nimport {\n Card,\n CardContent,\n CardFeedback,\n CardHeader,\n Skeleton,\n} from '@embeddable.com/remarkable-ui';\nimport styles from './ChartCard.module.css';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { ChartCardLoading } from './ChartCardLoading/ChartCardLoading';\nimport { ChartCardMenuPro } from './ChartCardMenuPro/ChartCardMenuPro';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport clsx from 'clsx';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\ntype ChartCardProps = {\n title: string;\n subtitle?: string;\n children: React.ReactNode;\n data: DataResponse;\n isLoading?: boolean;\n errorMessage?: string;\n style?: CSSProperties;\n dimensionsAndMeasures?: (Dimension | Measure)[];\n onCustomDownload?: (props: (props: ChartCardMenuOptionOnClickProps) => void) => void;\n};\n\nexport const ChartCard = React.forwardRef<HTMLDivElement, ChartCardProps>(\n (\n { title, subtitle, children, data, errorMessage, dimensionsAndMeasures = [], ...props },\n ref,\n ) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const chartRef = useRef<HTMLDivElement>(null);\n\n const hasData = Boolean(data?.data && data.data?.length > 0);\n\n const isLoading = !data || data?.isLoading;\n\n const getDisplay = () => {\n if (isLoading && !hasData) {\n return <Skeleton />;\n }\n\n if (errorMessage) {\n return (\n <CardFeedback\n variant=\"error\"\n icon={IconAlertCircle}\n title={i18n.t('charts.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n if (!hasData) {\n return (\n <CardFeedback\n title={i18n.t('charts.emptyTitle')}\n message={i18n.t('charts.emptyMessage')}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card className={styles.chartCard} {...props}>\n <CardHeader\n title={title}\n subtitle={subtitle}\n rightContent={\n <div className={styles.chartCardRightContent}>\n <div\n className={clsx(styles.fixedContent, isLoading ? styles.loading : styles.hidden)}\n >\n <ChartCardLoading />\n </div>\n <div\n className={clsx(styles.fixedContent, isLoading ? styles.hidden : styles.visible)}\n >\n <ChartCardMenuPro\n title={title}\n containerRef={chartRef}\n data={data?.data}\n dimensionsAndMeasures={dimensionsAndMeasures}\n onCustomDownload={props.onCustomDownload}\n />\n </div>\n </div>\n }\n />\n\n <CardContent ref={props.onCustomDownload ? ref : chartRef}>{getDisplay()}</CardContent>\n </Card>\n );\n },\n);\n\nChartCard.displayName = 'ChartCard';\n"],"names":["__iconNode","IconDotsVertical","createReactComponent","ChartCardLoading","jsx","IconLoader2","styles","InlineSvgFromData","src","className","rest","svgMarkup","ChartCardMenuPro","props","theme","useTheme","i18nSetup","isLoading","setIsLoading","React","options","startAction","onClick","handleExport","args","Dropdown","ActionIcon","SelectFieldContent","option","index","label","i18n","SelectListOption","ChartCard","title","subtitle","children","data","errorMessage","dimensionsAndMeasures","ref","chartRef","useRef","hasData","_a","getDisplay","Skeleton","CardFeedback","IconAlertCircle","Card","CardHeader","jsxs","clsx","CardContent"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { d as e } from "./index-DedIqjbn.js";
1
+ import { d as e } from "./index-D8D1R5YG.js";
2
2
  const r = e("color", {
3
3
  label: "Color",
4
4
  optionLabel: (o) => o.toUpperCase()
@@ -6,4 +6,4 @@ const r = e("color", {
6
6
  export {
7
7
  r as C
8
8
  };
9
- //# sourceMappingURL=Color.type.emb-9H0O-uuD.js.map
9
+ //# sourceMappingURL=Color.type.emb-WlORCMYm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Color.type.emb-9H0O-uuD.js","sources":["../src/editors/ColorEditor/Color.type.emb.ts"],"sourcesContent":["import { defineType } from '@embeddable.com/core';\n\nconst ColorType = defineType('color', {\n label: 'Color',\n optionLabel: (value: string) => value.toUpperCase(),\n});\n\nexport default ColorType;\n"],"names":["ColorType","defineType","value"],"mappings":";AAEA,MAAMA,IAAYC,EAAW,SAAS;AAAA,EACpC,OAAO;AAAA,EACP,aAAa,CAACC,MAAkBA,EAAM,YAAA;AACxC,CAAC;"}
1
+ {"version":3,"file":"Color.type.emb-WlORCMYm.js","sources":["../src/editors/ColorEditor/Color.type.emb.ts"],"sourcesContent":["import { defineType } from '@embeddable.com/core';\n\nconst ColorType = defineType('color', {\n label: 'Color',\n optionLabel: (value: string) => value.toUpperCase(),\n});\n\nexport default ColorType;\n"],"names":["ColorType","defineType","value"],"mappings":";AAEA,MAAMA,IAAYC,EAAW,SAAS;AAAA,EACpC,OAAO;AAAA,EACP,aAAa,CAACC,MAAkBA,EAAM,YAAA;AACxC,CAAC;"}
@@ -1,6 +1,6 @@
1
1
  import { defineEditor as l } from "@embeddable.com/react";
2
- import { C as a } from "./Color.type.emb-9H0O-uuD.js";
3
- import { j as n, A as i, I as p, V as u } from "./index-DedIqjbn.js";
2
+ import { C as a } from "./Color.type.emb-WlORCMYm.js";
3
+ import { j as n, A as i, I as p, V as u } from "./index-D8D1R5YG.js";
4
4
  import { useState as m, useEffect as C } from "react";
5
5
  const I = "_colorInputContainer_1o1qe_1", d = "_colorInput_1o1qe_1", s = {
6
6
  colorInputContainer: I,
@@ -1,4 +1,4 @@
1
- import { d as i, b as o } from "./index-DedIqjbn.js";
1
+ import { d as i, b as o } from "./index-D8D1R5YG.js";
2
2
  const e = i("comparisonPeriod", {
3
3
  label: "Comparison Period",
4
4
  optionLabel: (r) => r
@@ -11,4 +11,4 @@ o(e, "Previous year");
11
11
  export {
12
12
  e as C
13
13
  };
14
- //# sourceMappingURL=ComparisonPeriod.type.emb-C3XjaFoD.js.map
14
+ //# sourceMappingURL=ComparisonPeriod.type.emb-2GetmOu1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComparisonPeriod.type.emb-C3XjaFoD.js","sources":["../src/components/types/ComparisonPeriod.type.emb.ts"],"sourcesContent":["import { defineOption, defineType } from '@embeddable.com/core';\n\nconst ComparisonPeriodType = defineType('comparisonPeriod', {\n label: 'Comparison Period',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(ComparisonPeriodType, 'Previous period');\ndefineOption(ComparisonPeriodType, 'Previous week');\ndefineOption(ComparisonPeriodType, 'Previous month');\ndefineOption(ComparisonPeriodType, 'Previous quarter');\ndefineOption(ComparisonPeriodType, 'Previous year');\n\nexport default ComparisonPeriodType;\n"],"names":["ComparisonPeriodType","defineType","value","defineOption"],"mappings":";AAEA,MAAMA,IAAuBC,EAAW,oBAAoB;AAAA,EAC1D,OAAO;AAAA,EACP,aAAa,CAACC,MAAkBA;AAClC,CAAC;AAEDC,EAAaH,GAAsB,iBAAiB;AACpDG,EAAaH,GAAsB,eAAe;AAClDG,EAAaH,GAAsB,gBAAgB;AACnDG,EAAaH,GAAsB,kBAAkB;AACrDG,EAAaH,GAAsB,eAAe;"}
1
+ {"version":3,"file":"ComparisonPeriod.type.emb-2GetmOu1.js","sources":["../src/components/types/ComparisonPeriod.type.emb.ts"],"sourcesContent":["import { defineOption, defineType } from '@embeddable.com/core';\n\nconst ComparisonPeriodType = defineType('comparisonPeriod', {\n label: 'Comparison Period',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(ComparisonPeriodType, 'Previous period');\ndefineOption(ComparisonPeriodType, 'Previous week');\ndefineOption(ComparisonPeriodType, 'Previous month');\ndefineOption(ComparisonPeriodType, 'Previous quarter');\ndefineOption(ComparisonPeriodType, 'Previous year');\n\nexport default ComparisonPeriodType;\n"],"names":["ComparisonPeriodType","defineType","value","defineOption"],"mappings":";AAEA,MAAMA,IAAuBC,EAAW,oBAAoB;AAAA,EAC1D,OAAO;AAAA,EACP,aAAa,CAACC,MAAkBA;AAClC,CAAC;AAEDC,EAAaH,GAAsB,iBAAiB;AACpDG,EAAaH,GAAsB,eAAe;AAClDG,EAAaH,GAAsB,gBAAgB;AACnDG,EAAaH,GAAsB,kBAAkB;AACrDG,EAAaH,GAAsB,eAAe;"}
@@ -1,59 +1,18 @@
1
- import { useTheme as v, defineComponent as h } from "@embeddable.com/react";
2
- import { s as y, j as l, S as P, V as d } from "./index-DedIqjbn.js";
3
- import { g as f, u as b, a as C } from "./editors.timeRange.utils-DTtRGaCo.js";
4
- import { $ as S, a as F, r as R, i as M, F as k, G as D, _ as T } from "./component.constants-uP1WYyUb.js";
5
- import { E as j } from "./EditorCard-BMEwnQuU.js";
6
- import { useMemo as x, useEffect as L } from "react";
7
- import { C as s } from "./ComparisonPeriod.type.emb-C3XjaFoD.js";
8
- /**
9
- * @license @tabler/icons-react v3.35.0 - MIT
10
- *
11
- * This source code is licensed under the MIT license.
12
- * See the LICENSE file in the root directory of this source tree.
13
- */
14
- const O = [["path", { d: "M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4", key: "svg-0" }], ["path", { d: "M18 18m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0", key: "svg-1" }], ["path", { d: "M15 3v4", key: "svg-2" }], ["path", { d: "M7 3v4", key: "svg-3" }], ["path", { d: "M3 11h16", key: "svg-4" }], ["path", { d: "M18 16.496v1.504l1 1", key: "svg-5" }]], E = y("outline", "calendar-time", "CalendarTime", O), I = (e, a) => !e || a.some((o) => o.value === e), V = (e, a) => e.map((o) => ({
15
- rightLabel: a ? f(o.getRange(a), o.dateFormat) : "",
16
- value: o.value,
17
- label: S(o.label)
18
- })), _ = (e) => {
19
- const a = v();
20
- F(a);
21
- const { description: o, placeholder: m, title: p, comparisonPeriod: r, onChange: t } = R(e), i = a.defaults.comparisonPeriodsOptions, n = x(
22
- () => I(r, i),
23
- [r, i]
24
- );
25
- L(() => {
26
- n || t(void 0);
27
- }, [n, t]);
28
- const { dayjsLocaleReady: c } = b(), u = C(e.primaryDateRange, a);
29
- if (!c)
30
- return null;
31
- const g = V(
32
- i,
33
- u
34
- );
35
- return /* @__PURE__ */ l.jsx(j, { title: p, subtitle: o, children: /* @__PURE__ */ l.jsx(
36
- P,
37
- {
38
- startIcon: E,
39
- clearable: !0,
40
- placeholder: m,
41
- value: n ? r : void 0,
42
- onChange: t,
43
- options: g,
44
- noOptionsMessage: M.t("common.noOptionsAvailable")
45
- }
46
- ) });
47
- }, A = {
1
+ import { defineComponent as r } from "@embeddable.com/react";
2
+ import { V as a } from "./index-D8D1R5YG.js";
3
+ import { D as i } from "./index-wy7P41uG.js";
4
+ import { F as t, G as n, _ as l } from "./component.constants-C7cqSNbp.js";
5
+ import { C as o } from "./ComparisonPeriod.type.emb-2GetmOu1.js";
6
+ const p = {
48
7
  name: "ComparisonPeriodSelectFieldPro",
49
8
  label: "Comparison Period Select Field",
50
9
  category: "Dropdowns",
51
10
  defaultWidth: 300,
52
11
  defaultHeight: 120,
53
12
  inputs: [
54
- { ...k },
55
- { ...D },
56
- { ...T, defaultValue: "Select a date-comparison" },
13
+ { ...t },
14
+ { ...n },
15
+ { ...l, defaultValue: "Select a date-comparison" },
57
16
  {
58
17
  name: "primaryDateRange",
59
18
  type: "timeRange",
@@ -63,7 +22,7 @@ const O = [["path", { d: "M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h1
63
22
  },
64
23
  {
65
24
  name: "comparisonPeriod",
66
- type: s,
25
+ type: o,
67
26
  label: "Selected Comparison Period",
68
27
  category: "Pre-configured variables"
69
28
  }
@@ -76,7 +35,7 @@ const O = [["path", { d: "M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h1
76
35
  {
77
36
  name: "value",
78
37
  label: "selected comparison-period",
79
- type: s
38
+ type: o
80
39
  }
81
40
  ]
82
41
  }
@@ -84,23 +43,23 @@ const O = [["path", { d: "M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h1
84
43
  variables: [
85
44
  {
86
45
  name: "comparison-period value",
87
- type: s,
88
- defaultValue: d.noFilter(),
46
+ type: o,
47
+ defaultValue: a.noFilter(),
89
48
  inputs: ["comparisonPeriod"],
90
49
  events: [{ name: "onChange", property: "value" }]
91
50
  }
92
51
  ]
93
- }, z = h(_, A, {
52
+ }, P = r(i, p, {
94
53
  /* @ts-expect-error - to be fixed in @embeddable.com/react */
95
54
  props: (e) => e,
96
55
  events: {
97
56
  onChange: (e) => ({
98
- value: e || d.noFilter()
57
+ value: e || a.noFilter()
99
58
  })
100
59
  }
101
60
  });
102
61
  export {
103
- z as default,
104
- A as meta
62
+ P as default,
63
+ p as meta
105
64
  };
106
65
  //# sourceMappingURL=ComparisonPeriodSelectFieldPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComparisonPeriodSelectFieldPro.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarTime.mjs","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.ts","../src/components/editors/ComparisonPeriodSelectFieldPro/index.tsx","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.emb.ts"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M18 18m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M15 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M7 3v4\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M3 11h16\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M18 16.496v1.504l1 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarTime = createReactComponent(\"outline\", \"calendar-time\", \"CalendarTime\", __iconNode);\n\nexport { __iconNode, IconCalendarTime as default };\n//# sourceMappingURL=IconCalendarTime.mjs.map\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { ComparisonPeriodSelectFieldProOption } from './ComparisonPeriodSelectFieldPro.types';\nimport { getTimeRangeLabel } from '../editors.timeRange.utils';\nimport { resolveI18nString } from '../../component.utils';\n\n// Checks if the comparison period type is available in the embeddable types\nexport const isComparisonPeriodAvailable = (\n option: string | undefined,\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n): boolean => {\n return !option || comparisonPeriodSelectFieldProOptions.some((opt) => opt.value === option);\n};\n\nexport const getComparisonPeriodSelectFieldProOptions = (\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n toCompareTimeRange: TimeRange,\n): SelectListOptionProps[] => {\n return comparisonPeriodSelectFieldProOptions.map((option) => {\n return {\n rightLabel: toCompareTimeRange\n ? getTimeRangeLabel(option.getRange(toCompareTimeRange), option.dateFormat)\n : '',\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarTime } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../theme/i18n/i18n';\nimport {\n getComparisonPeriodSelectFieldProOptions,\n isComparisonPeriodAvailable,\n} from './ComparisonPeriodSelectFieldPro.utils';\nimport { getTimeRangeFromTo } from '../editors.timeRange.utils';\nimport { useEffect, useMemo } from 'react';\n\ntype DateComparisonSelectFieldPro = {\n title?: string;\n description?: string;\n placeholder?: string;\n primaryDateRange?: TimeRange;\n comparisonPeriod?: string;\n onChange: (newComparisonPeriod?: string) => void;\n};\n\nconst DateComparisonSelectFieldPro = (props: DateComparisonSelectFieldPro) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, placeholder, title, comparisonPeriod, onChange } = resolveI18nProps(props);\n\n const comparisonPeriodOptions = theme.defaults.comparisonPeriodsOptions;\n\n const comparisonPeriodAvailable = useMemo(\n () => isComparisonPeriodAvailable(comparisonPeriod, comparisonPeriodOptions),\n [comparisonPeriod, comparisonPeriodOptions],\n );\n\n // If the current comparison period is not available, reset the field\n useEffect(() => {\n if (!comparisonPeriodAvailable) {\n onChange(undefined);\n }\n }, [comparisonPeriodAvailable, onChange]);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n // Obtain the actual range for the selected primaryDateRange\n const primaryDateRange = getTimeRangeFromTo(props.primaryDateRange, theme);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const options = getComparisonPeriodSelectFieldProOptions(\n comparisonPeriodOptions,\n primaryDateRange,\n );\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarTime}\n clearable\n placeholder={placeholder}\n value={comparisonPeriodAvailable ? comparisonPeriod : undefined}\n onChange={onChange}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n />\n </EditorCard>\n );\n};\n\nexport default DateComparisonSelectFieldPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport ComparisonPeriodSelectFieldPro from './index';\nimport { description, placeholder, title } from '../../component.constants';\nimport ComparisonPeriodType from '../../types/ComparisonPeriod.type.emb';\n\nexport const meta = {\n name: 'ComparisonPeriodSelectFieldPro',\n label: 'Comparison Period Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n { ...title },\n { ...description },\n { ...placeholder, defaultValue: 'Select a date-comparison' },\n {\n name: 'primaryDateRange',\n type: 'timeRange',\n label: 'Primary Date Range',\n category: 'Pre-configured variables',\n description: 'Pick the main time period. The comparison range is based on this selection.',\n },\n {\n name: 'comparisonPeriod',\n type: ComparisonPeriodType,\n label: 'Selected Comparison Period',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'selected comparison-period updated',\n properties: [\n {\n name: 'value',\n label: 'selected comparison-period',\n type: ComparisonPeriodType,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'comparison-period value',\n type: ComparisonPeriodType,\n defaultValue: Value.noFilter(),\n inputs: ['comparisonPeriod'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(ComparisonPeriodSelectFieldPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (inputs: Inputs<typeof meta>) => inputs,\n events: {\n onChange: (value) => {\n return {\n value: value || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["__iconNode","IconCalendarTime","createReactComponent","isComparisonPeriodAvailable","option","comparisonPeriodSelectFieldProOptions","opt","getComparisonPeriodSelectFieldProOptions","toCompareTimeRange","getTimeRangeLabel","resolveI18nString","DateComparisonSelectFieldPro","props","theme","useTheme","i18nSetup","description","placeholder","title","comparisonPeriod","onChange","resolveI18nProps","comparisonPeriodOptions","comparisonPeriodAvailable","useMemo","useEffect","dayjsLocaleReady","useLoadDayjsLocale","primaryDateRange","getTimeRangeFromTo","options","jsx","EditorCard","SingleSelectField","i18n","meta","ComparisonPeriodType","Value","ComparisonPeriodSelectFieldPro_emb","defineComponent","ComparisonPeriodSelectFieldPro","inputs","value"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"ComparisonPeriodSelectFieldPro.js","sources":["../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.emb.ts"],"sourcesContent":["import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport ComparisonPeriodSelectFieldPro from './index';\nimport { description, placeholder, title } from '../../component.constants';\nimport ComparisonPeriodType from '../../types/ComparisonPeriod.type.emb';\n\nexport const meta = {\n name: 'ComparisonPeriodSelectFieldPro',\n label: 'Comparison Period Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n { ...title },\n { ...description },\n { ...placeholder, defaultValue: 'Select a date-comparison' },\n {\n name: 'primaryDateRange',\n type: 'timeRange',\n label: 'Primary Date Range',\n category: 'Pre-configured variables',\n description: 'Pick the main time period. The comparison range is based on this selection.',\n },\n {\n name: 'comparisonPeriod',\n type: ComparisonPeriodType,\n label: 'Selected Comparison Period',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'selected comparison-period updated',\n properties: [\n {\n name: 'value',\n label: 'selected comparison-period',\n type: ComparisonPeriodType,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'comparison-period value',\n type: ComparisonPeriodType,\n defaultValue: Value.noFilter(),\n inputs: ['comparisonPeriod'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(ComparisonPeriodSelectFieldPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (inputs: Inputs<typeof meta>) => inputs,\n events: {\n onChange: (value) => {\n return {\n value: value || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["meta","title","description","placeholder","ComparisonPeriodType","Value","ComparisonPeriodSelectFieldPro_emb","defineComponent","ComparisonPeriodSelectFieldPro","inputs","value"],"mappings":";;;;;AAMO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACN,EAAE,GAAGC,EAAA;AAAA,IACL,EAAE,GAAGC,EAAA;AAAA,IACL,EAAE,GAAGC,GAAa,cAAc,2BAAA;AAAA,IAChC;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,IAEf;AAAA,MACE,MAAM;AAAA,MACN,MAAMC;AAAA,MACN,OAAO;AAAA,MACP,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,MAAMA;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAMA;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,kBAAkB;AAAA,MAC3B,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEAC,IAAeC,EAAgBC,GAAgCR,GAAM;AAAA;AAAA,EAEnE,OAAO,CAACS,MAAgCA;AAAA,EACxC,QAAQ;AAAA,IACN,UAAU,CAACC,OACF;AAAA,MACL,OAAOA,KAASL,EAAM,SAAA;AAAA,IAAS;AAAA,EAEnC;AAEJ,CAAC;"}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as t } from "@embeddable.com/react";
2
- import { V as a } from "./index-DedIqjbn.js";
3
- import { D as l } from "./index-DrosyYQD.js";
4
- import { F as n, G as r, _ as o, g as i } from "./component.constants-uP1WYyUb.js";
2
+ import { V as a } from "./index-D8D1R5YG.js";
3
+ import { D as l } from "./index-WCMGd0_l.js";
4
+ import { F as n, G as r, _ as o, g as i } from "./component.constants-C7cqSNbp.js";
5
5
  const d = {
6
6
  name: "DateRangeSelectFieldPro",
7
7
  label: "Date Range Select Field",
@@ -1,7 +1,7 @@
1
- import { V as a, l as s } from "./index-DedIqjbn.js";
1
+ import { V as a, l as s } from "./index-D8D1R5YG.js";
2
2
  import { defineComponent as t } from "@embeddable.com/react";
3
- import { D as o } from "./index-Brb617sy.js";
4
- import { v as n, D as r, w as i, F as m, G as l, I as d, Z as u, J as p, K as c } from "./component.constants-uP1WYyUb.js";
3
+ import { D as o } from "./index-Dhwlo6sD.js";
4
+ import { v as n, D as r, w as i, F as m, G as l, I as d, Z as u, J as p, K as c } from "./component.constants-C7cqSNbp.js";
5
5
  const C = {
6
6
  name: "DonutChartPro",
7
7
  label: "Donut Chart",
@@ -1,7 +1,7 @@
1
- import { D as n } from "./index-DLFOG9Ar.js";
2
- import { V as s, l as a } from "./index-DedIqjbn.js";
1
+ import { D as n } from "./index-BQf2W8Zn.js";
2
+ import { V as s, l as a } from "./index-D8D1R5YG.js";
3
3
  import { defineComponent as r } from "@embeddable.com/react";
4
- import { v as o, D as t, w as l, F as i, G as m, I as d, Z as u, J as b, K as c } from "./component.constants-uP1WYyUb.js";
4
+ import { v as o, D as t, w as l, F as i, G as m, I as d, Z as u, J as b, K as c } from "./component.constants-C7cqSNbp.js";
5
5
  const p = {
6
6
  name: "DonutLabelChartPro",
7
7
  label: "Donut Label Chart",
@@ -0,0 +1,32 @@
1
+ import { j as r, C as c, p as d, q as m, r as l } from "./index-D8D1R5YG.js";
2
+ import { useTheme as p } from "@embeddable.com/react";
3
+ import { a as C, i as x, a0 as j } from "./component.constants-C7cqSNbp.js";
4
+ const u = "_card_15bw3_1", f = {
5
+ card: u
6
+ }, b = ({
7
+ title: t,
8
+ subtitle: a,
9
+ children: e,
10
+ errorMessage: s,
11
+ ...n
12
+ }) => {
13
+ const o = p();
14
+ C(o);
15
+ const i = () => s ? /* @__PURE__ */ r.jsx(
16
+ l,
17
+ {
18
+ variant: "error",
19
+ icon: j,
20
+ title: x.t("editors.errorTitle"),
21
+ message: s
22
+ }
23
+ ) : e;
24
+ return /* @__PURE__ */ r.jsxs(c, { className: f.card, ...n, children: [
25
+ /* @__PURE__ */ r.jsx(d, { title: t, subtitle: a }),
26
+ /* @__PURE__ */ r.jsx(m, { children: i() })
27
+ ] });
28
+ };
29
+ export {
30
+ b as E
31
+ };
32
+ //# sourceMappingURL=EditorCard-BaL9GbQ9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorCard-BMEwnQuU.js","sources":["../src/components/editors/shared/EditorCard/EditorCard.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport styles from './EditorCard.module.css';\nimport { FC } from 'react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { Card, CardContent, CardFeedback, CardHeader } from '@embeddable.com/remarkable-ui';\nimport { IconAlertCircle } from '@tabler/icons-react';\n\ntype EditorCardProps = {\n title?: string;\n subtitle?: string;\n children: React.ReactNode;\n errorMessage?: string;\n};\n\nexport const EditorCard: FC<EditorCardProps> = ({\n title,\n subtitle,\n children,\n errorMessage,\n ...props\n}) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const getDisplay = () => {\n if (errorMessage) {\n return (\n <CardFeedback\n variant=\"error\"\n icon={IconAlertCircle}\n title={i18n.t('editors.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card className={styles.card} {...props}>\n <CardHeader title={title} subtitle={subtitle} />\n <CardContent>{getDisplay()}</CardContent>\n </Card>\n );\n};\n"],"names":["EditorCard","title","subtitle","children","errorMessage","props","theme","useTheme","i18nSetup","getDisplay","jsx","CardFeedback","IconAlertCircle","i18n","Card","styles","CardHeader","CardContent"],"mappings":";;;;;GAeaA,IAAkC,CAAC;AAAA,EAC9C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAa,MACbL,IAEAM,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAMC;AAAA,MACN,OAAOC,EAAK,EAAE,oBAAoB;AAAA,MAClC,SAAST;AAAA,IAAA;AAAA,EAAA,IAKRD;AAGT,gCACGW,GAAA,EAAK,WAAWC,EAAO,MAAO,GAAGV,GAChC,UAAA;AAAA,IAAAK,gBAAAA,EAAAA,IAACM,GAAA,EAAW,OAAAf,GAAc,UAAAC,EAAA,CAAoB;AAAA,IAC9CQ,gBAAAA,EAAAA,IAACO,GAAA,EAAa,UAAAR,EAAA,EAAW,CAAE;AAAA,EAAA,GAC7B;AAEJ;"}
1
+ {"version":3,"file":"EditorCard-BaL9GbQ9.js","sources":["../src/components/editors/shared/EditorCard/EditorCard.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport styles from './EditorCard.module.css';\nimport { FC } from 'react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { Card, CardContent, CardFeedback, CardHeader } from '@embeddable.com/remarkable-ui';\nimport { IconAlertCircle } from '@tabler/icons-react';\n\ntype EditorCardProps = {\n title?: string;\n subtitle?: string;\n children: React.ReactNode;\n errorMessage?: string;\n};\n\nexport const EditorCard: FC<EditorCardProps> = ({\n title,\n subtitle,\n children,\n errorMessage,\n ...props\n}) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const getDisplay = () => {\n if (errorMessage) {\n return (\n <CardFeedback\n variant=\"error\"\n icon={IconAlertCircle}\n title={i18n.t('editors.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card className={styles.card} {...props}>\n <CardHeader title={title} subtitle={subtitle} />\n <CardContent>{getDisplay()}</CardContent>\n </Card>\n );\n};\n"],"names":["EditorCard","title","subtitle","children","errorMessage","props","theme","useTheme","i18nSetup","getDisplay","jsx","CardFeedback","IconAlertCircle","i18n","Card","styles","CardHeader","CardContent"],"mappings":";;;;;GAeaA,IAAkC,CAAC;AAAA,EAC9C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAa,MACbL,IAEAM,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAMC;AAAA,MACN,OAAOC,EAAK,EAAE,oBAAoB;AAAA,MAClC,SAAST;AAAA,IAAA;AAAA,EAAA,IAKRD;AAGT,gCACGW,GAAA,EAAK,WAAWC,EAAO,MAAO,GAAGV,GAChC,UAAA;AAAA,IAAAK,gBAAAA,EAAAA,IAACM,GAAA,EAAW,OAAAf,GAAc,UAAAC,EAAA,CAAoB;AAAA,IAC9CQ,gBAAAA,EAAAA,IAACO,GAAA,EAAa,UAAAR,EAAA,EAAW,CAAE;AAAA,EAAA,GAC7B;AAEJ;"}
@@ -1,97 +1,30 @@
1
- import { j as u, H as V, l as W } from "./index-DedIqjbn.js";
2
- import { useTheme as R, defineComponent as j } from "@embeddable.com/react";
3
- import { a as A, r as N, v as P, D as q, z as d, F as E, G, d as i, g as k, c, H as B } from "./component.constants-uP1WYyUb.js";
4
- import { C as O } from "./ChartCard-CsKQOusx.js";
5
- import { g as p } from "./formatter.utils-CeEdL8uQ.js";
6
- import { u as h } from "./charts.fillGaps.hooks-YayOXVmt.js";
7
- import { C as m } from "./Color.type.emb-9H0O-uuD.js";
8
- const z = (e, a) => {
9
- const t = p(a);
10
- return {
11
- key: e.measure.name,
12
- label: t.dimensionOrMeasureTitle(e.measure),
13
- format: (n) => t.data(e.measure, n)
14
- };
15
- }, g = (e, a) => {
16
- const t = p(a);
17
- return {
18
- key: e.dimension.name,
19
- label: t.dimensionOrMeasureTitle(e.dimension),
20
- format: (n) => t.data(e.dimension, n)
21
- };
22
- }, I = (e) => {
23
- const a = R();
24
- A(a);
25
- const { description: t, title: n } = N(e), {
26
- measure: l,
27
- rowDimension: r,
28
- columnDimension: s,
29
- maxColor: C,
30
- midColor: b,
31
- minColor: f,
32
- displayNullAs: D,
33
- columnWidth: M,
34
- firstColumnWidth: x,
35
- showValues: w,
36
- minThreshold: y,
37
- maxThreshold: T
38
- } = e, H = h({
39
- results: e.results,
40
- dimension: s
41
- }), o = h({
42
- results: H,
43
- dimension: r
44
- }), S = z({ measure: l }, a), v = g({ dimension: r }, a), F = g({ dimension: s }, a);
45
- return /* @__PURE__ */ u.jsx(
46
- O,
47
- {
48
- title: n,
49
- subtitle: t,
50
- data: e.results,
51
- dimensionsAndMeasures: [r, s, l],
52
- errorMessage: o == null ? void 0 : o.error,
53
- children: /* @__PURE__ */ u.jsx(
54
- V,
55
- {
56
- data: o.data ?? [],
57
- measure: S,
58
- rowDimension: v,
59
- columnDimension: F,
60
- maxColor: C,
61
- midColor: b,
62
- minColor: f,
63
- showValues: w,
64
- minThreshold: y,
65
- maxThreshold: T,
66
- columnWidth: M,
67
- firstColumnWidth: x,
68
- displayNullAs: D
69
- }
70
- )
71
- }
72
- );
73
- }, _ = {
1
+ import { l } from "./index-D8D1R5YG.js";
2
+ import { defineComponent as n } from "@embeddable.com/react";
3
+ import { H as i } from "./index-85Nzu6wl.js";
4
+ import { v as m, D as s, z as t, F as u, G as d, d as a, g as p, c as r, H as g } from "./component.constants-C7cqSNbp.js";
5
+ import { C as o } from "./Color.type.emb-WlORCMYm.js";
6
+ const c = {
74
7
  name: "HeatMapPro",
75
8
  label: "Heat Map",
76
9
  category: "Table Charts",
77
10
  inputs: [
78
- P,
79
- q,
11
+ m,
12
+ s,
80
13
  {
81
- ...d,
14
+ ...t,
82
15
  label: "Row Dimension",
83
16
  name: "rowDimension"
84
17
  },
85
18
  {
86
- ...d,
19
+ ...t,
87
20
  label: "Column Dimension",
88
21
  name: "columnDimension"
89
22
  },
90
- E,
91
- G,
92
- { ...i, name: "displayNullAs", label: "Display Null As" },
23
+ u,
24
+ d,
25
+ { ...a, name: "displayNullAs", label: "Display Null As" },
93
26
  {
94
- type: m,
27
+ type: o,
95
28
  name: "maxColor",
96
29
  label: "Max Color",
97
30
  defaultValue: "green",
@@ -99,7 +32,7 @@ const z = (e, a) => {
99
32
  category: "Component Settings"
100
33
  },
101
34
  {
102
- type: m,
35
+ type: o,
103
36
  name: "midColor",
104
37
  label: "Mid Color",
105
38
  defaultValue: "yellow",
@@ -107,7 +40,7 @@ const z = (e, a) => {
107
40
  category: "Component Settings"
108
41
  },
109
42
  {
110
- type: m,
43
+ type: o,
111
44
  name: "minColor",
112
45
  label: "Min Color",
113
46
  defaultValue: "red",
@@ -115,37 +48,37 @@ const z = (e, a) => {
115
48
  category: "Component Settings"
116
49
  },
117
50
  {
118
- ...i,
51
+ ...a,
119
52
  name: "minThreshold",
120
53
  label: "Max range lower limit",
121
54
  description: "Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)"
122
55
  },
123
56
  {
124
- ...i,
57
+ ...a,
125
58
  name: "maxThreshold",
126
59
  label: "Min range upper limit",
127
60
  description: "Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)"
128
61
  },
129
- { ...k, name: "showValues", label: "Show Values", defaultValue: !0 },
62
+ { ...p, name: "showValues", label: "Show Values", defaultValue: !0 },
130
63
  {
131
- ...c,
64
+ ...r,
132
65
  name: "firstColumnWidth",
133
66
  label: "First Column Width",
134
67
  description: "Set the width in px (e.g. 200)"
135
68
  },
136
69
  {
137
- ...c,
70
+ ...r,
138
71
  name: "columnWidth",
139
72
  label: "Column Width",
140
73
  description: "Set the width in px (e.g. 200)"
141
74
  },
142
- B
75
+ g
143
76
  ]
144
- }, Z = j(I, _, {
77
+ }, w = n(i, c, {
145
78
  /* @ts-expect-error - to be fixed in @embeddable.com/react */
146
79
  props: (e) => ({
147
80
  ...e,
148
- results: W({
81
+ results: l({
149
82
  from: e.dataset,
150
83
  select: [e.rowDimension, e.columnDimension, e.measure],
151
84
  limit: e.maxResults,
@@ -154,7 +87,7 @@ const z = (e, a) => {
154
87
  })
155
88
  });
156
89
  export {
157
- Z as default,
158
- _ as meta
90
+ w as default,
91
+ c as meta
159
92
  };
160
93
  //# sourceMappingURL=HeatMapPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeatMapPro.js","sources":["../src/components/charts/tables/HeatMapPro/index.tsx","../src/components/charts/tables/HeatMapPro/HeatMapPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { HeatMap, HeatMapPropsDimension, HeatMapPropsMeasure } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype HeatMapProProps = {\n columnDimension: Dimension;\n columnWidth?: number;\n description: string;\n displayNullAs?: string;\n firstColumnWidth?: number;\n maxColor: string;\n maxThreshold?: string;\n measure: Measure;\n midColor: string;\n minColor: string;\n minThreshold?: string;\n results: DataResponse;\n rowDimension: Dimension;\n showValues?: boolean;\n title: string;\n};\n\nexport const getHeatMeasure = (\n props: { measure: Measure },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsMeasure<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.measure),\n format: (value) => {\n return themeFormatter.data(props.measure, value);\n },\n };\n};\n\nexport const getHeatDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsDimension<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n format: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nconst HeatMapPro = (props: HeatMapProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, title } = resolveI18nProps(props);\n const {\n measure,\n rowDimension,\n columnDimension,\n maxColor,\n midColor,\n minColor,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n showValues,\n minThreshold,\n maxThreshold,\n } = props;\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const results = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const pivotMeasures = getHeatMeasure({ measure }, theme);\n const pivotRowDimension = getHeatDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getHeatDimension({ dimension: columnDimension }, theme);\n\n return (\n <ChartCard\n title={title}\n subtitle={description}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, measure]}\n errorMessage={results?.error}\n >\n <HeatMap\n data={results.data ?? []}\n measure={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n maxColor={maxColor}\n midColor={midColor}\n minColor={minColor}\n showValues={showValues}\n minThreshold={minThreshold}\n maxThreshold={maxThreshold}\n columnWidth={columnWidth}\n firstColumnWidth={firstColumnWidth}\n displayNullAs={displayNullAs}\n />\n </ChartCard>\n );\n};\n\nexport default HeatMapPro;\n","import { loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport HeatMapPro from './index';\nimport {\n dataset,\n description,\n title,\n maxResults,\n genericString,\n dimensionWithDateBounds,\n genericNumber,\n measure,\n genericBoolean,\n} from '../../../component.constants';\nimport ColorType from '../../../../editors/ColorEditor/Color.type.emb';\n\nexport const meta = {\n name: 'HeatMapPro',\n label: 'Heat Map',\n category: 'Table Charts',\n inputs: [\n dataset,\n measure,\n {\n ...dimensionWithDateBounds,\n label: 'Row Dimension',\n name: 'rowDimension',\n },\n {\n ...dimensionWithDateBounds,\n label: 'Column Dimension',\n name: 'columnDimension',\n },\n title,\n description,\n { ...genericString, name: 'displayNullAs', label: 'Display Null As' },\n\n {\n type: ColorType,\n name: 'maxColor',\n label: 'Max Color',\n defaultValue: 'green',\n required: true,\n category: 'Component Settings',\n },\n {\n type: ColorType,\n name: 'midColor',\n label: 'Mid Color',\n defaultValue: 'yellow',\n required: true,\n category: 'Component Settings',\n },\n {\n type: ColorType,\n name: 'minColor',\n label: 'Min Color',\n defaultValue: 'red',\n required: true,\n category: 'Component Settings',\n },\n\n {\n ...genericString,\n name: 'minThreshold',\n label: 'Max range lower limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n },\n {\n ...genericString,\n name: 'maxThreshold',\n label: 'Min range upper limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n },\n { ...genericBoolean, name: 'showValues', label: 'Show Values', defaultValue: true },\n {\n ...genericNumber,\n name: 'firstColumnWidth',\n label: 'First Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n {\n ...genericNumber,\n name: 'columnWidth',\n label: 'Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(HeatMapPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, inputs.measure],\n limit: inputs.maxResults,\n countRows: true,\n }),\n };\n },\n});\n"],"names":["getHeatMeasure","props","theme","themeFormatter","getThemeFormatter","value","getHeatDimension","HeatMapPro","useTheme","i18nSetup","description","title","resolveI18nProps","measure","rowDimension","columnDimension","maxColor","midColor","minColor","displayNullAs","columnWidth","firstColumnWidth","showValues","minThreshold","maxThreshold","resultsColumnDimensionFillGaps","useFillGaps","results","pivotMeasures","pivotRowDimension","pivotColumnDimension","jsx","ChartCard","HeatMap","meta","dataset","dimensionWithDateBounds","genericString","ColorType","genericBoolean","genericNumber","maxResults","HeatMapPro_emb","defineComponent","inputs","loadData"],"mappings":"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"}
1
+ {"version":3,"file":"HeatMapPro.js","sources":["../src/components/charts/tables/HeatMapPro/HeatMapPro.emb.ts"],"sourcesContent":["import { loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport HeatMapPro from './index';\nimport {\n dataset,\n description,\n title,\n maxResults,\n genericString,\n dimensionWithDateBounds,\n genericNumber,\n measure,\n genericBoolean,\n} from '../../../component.constants';\nimport ColorType from '../../../../editors/ColorEditor/Color.type.emb';\n\nexport const meta = {\n name: 'HeatMapPro',\n label: 'Heat Map',\n category: 'Table Charts',\n inputs: [\n dataset,\n measure,\n {\n ...dimensionWithDateBounds,\n label: 'Row Dimension',\n name: 'rowDimension',\n },\n {\n ...dimensionWithDateBounds,\n label: 'Column Dimension',\n name: 'columnDimension',\n },\n title,\n description,\n { ...genericString, name: 'displayNullAs', label: 'Display Null As' },\n\n {\n type: ColorType,\n name: 'maxColor',\n label: 'Max Color',\n defaultValue: 'green',\n required: true,\n category: 'Component Settings',\n },\n {\n type: ColorType,\n name: 'midColor',\n label: 'Mid Color',\n defaultValue: 'yellow',\n required: true,\n category: 'Component Settings',\n },\n {\n type: ColorType,\n name: 'minColor',\n label: 'Min Color',\n defaultValue: 'red',\n required: true,\n category: 'Component Settings',\n },\n\n {\n ...genericString,\n name: 'minThreshold',\n label: 'Max range lower limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n },\n {\n ...genericString,\n name: 'maxThreshold',\n label: 'Min range upper limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n },\n { ...genericBoolean, name: 'showValues', label: 'Show Values', defaultValue: true },\n {\n ...genericNumber,\n name: 'firstColumnWidth',\n label: 'First Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n {\n ...genericNumber,\n name: 'columnWidth',\n label: 'Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(HeatMapPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, inputs.measure],\n limit: inputs.maxResults,\n countRows: true,\n }),\n };\n },\n});\n"],"names":["meta","dataset","measure","dimensionWithDateBounds","title","description","genericString","ColorType","genericBoolean","genericNumber","maxResults","HeatMapPro_emb","defineComponent","HeatMapPro","inputs","loadData"],"mappings":";;;;;AAgBO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC;AAAA,IACAC;AAAA,IACA;AAAA,MACE,GAAGC;AAAA,MACH,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,IAER;AAAA,MACE,GAAGA;AAAA,MACH,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,IAERC;AAAA,IACAC;AAAA,IACA,EAAE,GAAGC,GAAe,MAAM,iBAAiB,OAAO,kBAAA;AAAA,IAElD;AAAA,MACE,MAAMC;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,MACV,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,MAAMA;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,MACV,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,MAAMA;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,MACV,UAAU;AAAA,IAAA;AAAA,IAGZ;AAAA,MACE,GAAGD;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEf;AAAA,MACE,GAAGA;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEf,EAAE,GAAGE,GAAgB,MAAM,cAAc,OAAO,eAAe,cAAc,GAAA;AAAA,IAC7E;AAAA,MACE,GAAGC;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEf;AAAA,MACE,GAAGA;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEfC;AAAA,EAAA;AAEJ,GAEAC,IAAeC,EAAgBC,GAAYb,GAAM;AAAA;AAAA,EAE/C,OAAO,CAACc,OACC;AAAA,IACL,GAAGA;AAAA,IACH,SAASC,EAAS;AAAA,MAChB,MAAMD,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,cAAcA,EAAO,iBAAiBA,EAAO,OAAO;AAAA,MACpE,OAAOA,EAAO;AAAA,MACd,WAAW;AAAA,IAAA,CACZ;AAAA,EAAA;AAGP,CAAC;"}