@gem-sdk/analytics 3.0.0-dev.2 → 3.0.0-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/components/CardPathAnalysis/contexts/PathAnalysisConfigProvider.d.ts +8 -1
- package/dist/esm/components/CardPathAnalysis/hooks/usePathAnalysisChart.d.ts +1 -0
- package/dist/esm/components/CardPathAnalysis/hooks/usePathAnalysisFunnel.d.ts +2 -1
- package/dist/esm/index.js +52 -14
- package/dist/esm/index.mjs +52 -14
- package/dist/esm/shared/charts/components/GFunnelChart/components/types.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/umd/esm/components/CardPathAnalysis/contexts/PathAnalysisConfigProvider.d.ts +8 -1
- package/dist/umd/esm/components/CardPathAnalysis/hooks/usePathAnalysisChart.d.ts +1 -0
- package/dist/umd/esm/components/CardPathAnalysis/hooks/usePathAnalysisFunnel.d.ts +2 -1
- package/dist/umd/esm/shared/charts/components/GFunnelChart/components/types.d.ts +1 -0
- package/dist/umd/index.js +1 -1
- package/package.json +1 -1
|
@@ -13,11 +13,18 @@ export interface IPathAnalysisHeatmapConfig {
|
|
|
13
13
|
export interface IPathAnalysisConfig {
|
|
14
14
|
pricing: IPathAnalysisPricingConfig;
|
|
15
15
|
heatmap: IPathAnalysisHeatmapConfig;
|
|
16
|
+
/**
|
|
17
|
+
* When enabled, the funnel auto-expands every level along the dominant path
|
|
18
|
+
* (first level → highest-traffic child → ... up to MAX_FUNNEL_ADDITIONAL_LEVEL,
|
|
19
|
+
* stopping early when a level has no further paths) and the "+" add button is hidden.
|
|
20
|
+
*/
|
|
21
|
+
autoExpandLevels?: boolean;
|
|
16
22
|
}
|
|
17
23
|
export interface IPathAnalysisConfigProviderProps {
|
|
18
24
|
children: ReactNode;
|
|
19
25
|
pricing: IPathAnalysisPricingConfig;
|
|
20
26
|
heatmap: IPathAnalysisHeatmapConfig;
|
|
27
|
+
autoExpandLevels?: boolean;
|
|
21
28
|
}
|
|
22
|
-
export declare const PathAnalysisConfigProvider: ({ children, pricing, heatmap }: IPathAnalysisConfigProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare const PathAnalysisConfigProvider: ({ children, pricing, heatmap, autoExpandLevels, }: IPathAnalysisConfigProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
30
|
export declare const usePathAnalysisConfig: () => IPathAnalysisConfig;
|
|
@@ -4,6 +4,7 @@ export declare const usePathAnalysisChart: () => {
|
|
|
4
4
|
lengthDisplayedLevels: number;
|
|
5
5
|
listFunnelSelection: IFunnelSelectionItem[];
|
|
6
6
|
isDisabledAddICon: boolean;
|
|
7
|
+
hideAddIcon: boolean;
|
|
7
8
|
funnelData: import("@shopify/polaris-viz-core").DataSeries[];
|
|
8
9
|
onDeleteFunnel: (id?: string) => void;
|
|
9
10
|
onAddNextFunnel: (id: string) => void;
|
|
@@ -6,8 +6,9 @@ interface IUsePathAnalysisFunnelProps {
|
|
|
6
6
|
pathAnalysisCacheKey: string;
|
|
7
7
|
dataFirstLevels?: IPathAnalysisFirstLevel[];
|
|
8
8
|
locationPath?: string;
|
|
9
|
+
autoExpandLevels?: boolean;
|
|
9
10
|
}
|
|
10
|
-
export declare const usePathAnalysisFunnel: ({ pathAnalytics, pathAnalysisCacheKey, dataFirstLevels, locationPath, }: IUsePathAnalysisFunnelProps) => {
|
|
11
|
+
export declare const usePathAnalysisFunnel: ({ pathAnalytics, pathAnalysisCacheKey, dataFirstLevels, locationPath, autoExpandLevels, }: IUsePathAnalysisFunnelProps) => {
|
|
11
12
|
pageWithMetric: IBasePathAnalyticPageWithChild | undefined;
|
|
12
13
|
dynamicLevels: IBasePathAnalyticPageWithChild[];
|
|
13
14
|
nextLevelPages: IBasePathAnalyticPageWithChild[];
|
package/dist/esm/index.js
CHANGED
|
@@ -3792,10 +3792,11 @@ const DEFAULT_CONFIG = {
|
|
|
3792
3792
|
isEnabledV2: false,
|
|
3793
3793
|
onView: () => { },
|
|
3794
3794
|
},
|
|
3795
|
+
autoExpandLevels: false,
|
|
3795
3796
|
};
|
|
3796
3797
|
const PathAnalysisConfigContext = createContext(DEFAULT_CONFIG);
|
|
3797
|
-
const PathAnalysisConfigProvider = ({ children, pricing, heatmap }) => {
|
|
3798
|
-
const value = useMemo(() => ({ pricing, heatmap }), [pricing, heatmap]);
|
|
3798
|
+
const PathAnalysisConfigProvider = ({ children, pricing, heatmap, autoExpandLevels, }) => {
|
|
3799
|
+
const value = useMemo(() => ({ pricing, heatmap, autoExpandLevels }), [pricing, heatmap, autoExpandLevels]);
|
|
3799
3800
|
return jsx(PathAnalysisConfigContext.Provider, { value: value, children: children });
|
|
3800
3801
|
};
|
|
3801
3802
|
const usePathAnalysisConfig = () => useContext(PathAnalysisConfigContext);
|
|
@@ -4298,7 +4299,7 @@ const calculateConversionFunnelTrends = ({ pageWithMetric, previousPathAnalytics
|
|
|
4298
4299
|
return trends;
|
|
4299
4300
|
};
|
|
4300
4301
|
|
|
4301
|
-
const usePathAnalysisFunnel = ({ pathAnalytics, pathAnalysisCacheKey, dataFirstLevels, locationPath, }) => {
|
|
4302
|
+
const usePathAnalysisFunnel = ({ pathAnalytics, pathAnalysisCacheKey, dataFirstLevels, locationPath, autoExpandLevels, }) => {
|
|
4302
4303
|
const setFirstLevelLocationPath = usePathAnalysisStore((state) => state.setFirstLevelLocationPath);
|
|
4303
4304
|
const firstLevelLocationPath = usePathAnalysisStore((state) => state.firstLevelLocationPath) || locationPath;
|
|
4304
4305
|
const setCachedFunnelChartData = useFunnelChartStore((state) => state.setCachedFunnelChartData);
|
|
@@ -4409,6 +4410,25 @@ const usePathAnalysisFunnel = ({ pathAnalytics, pathAnalysisCacheKey, dataFirstL
|
|
|
4409
4410
|
dynamicLevels: dynamicLevels,
|
|
4410
4411
|
});
|
|
4411
4412
|
}, [dynamicLevels]);
|
|
4413
|
+
// Auto-expand the dominant path down every level when the flag is enabled:
|
|
4414
|
+
// first level → highest-traffic child → ... up to MAX_FUNNEL_ADDITIONAL_LEVEL,
|
|
4415
|
+
// stopping as soon as a level has no further paths.
|
|
4416
|
+
useEffect(() => {
|
|
4417
|
+
if (!autoExpandLevels || !pageWithMetric)
|
|
4418
|
+
return;
|
|
4419
|
+
const expandedLevels = [];
|
|
4420
|
+
let currentPage = pageWithMetric;
|
|
4421
|
+
while (expandedLevels.length < MAX_FUNNEL_ADDITIONAL_LEVEL) {
|
|
4422
|
+
const childrenPages = getFunnelChildrenPages(currentPage);
|
|
4423
|
+
if (!childrenPages.length)
|
|
4424
|
+
break;
|
|
4425
|
+
// Pick the dominant child (highest sessions) — matches the top of the "+" popover.
|
|
4426
|
+
const nextPage = childrenPages.reduce((prev, curr) => (curr.metric?.totalSessions || 0) > (prev.metric?.totalSessions || 0) ? curr : prev);
|
|
4427
|
+
expandedLevels.push(nextPage);
|
|
4428
|
+
currentPage = nextPage;
|
|
4429
|
+
}
|
|
4430
|
+
setDynamicLevels(expandedLevels);
|
|
4431
|
+
}, [autoExpandLevels, pageWithMetric]);
|
|
4412
4432
|
useEffect(() => {
|
|
4413
4433
|
return () => {
|
|
4414
4434
|
setFirstLevelLocationPath(undefined);
|
|
@@ -4467,12 +4487,14 @@ const PathAnalysisProvider = (props) => {
|
|
|
4467
4487
|
const locationPath = analyticsData?.locationPath;
|
|
4468
4488
|
const shopifyPageType = analyticsData?.shopifyPageType;
|
|
4469
4489
|
const pathAnalysisCacheKey = JSON.stringify({ mode, campaignVariantID, campaignVersionID });
|
|
4490
|
+
const { autoExpandLevels } = usePathAnalysisConfig();
|
|
4470
4491
|
const { processedPathAnalytics } = usePathAnalyticsMerger({ pathAnalytics, dataFirstLevels });
|
|
4471
4492
|
const pathAnalysisFunnelData = usePathAnalysisFunnel({
|
|
4472
4493
|
pathAnalytics: processedPathAnalytics,
|
|
4473
4494
|
pathAnalysisCacheKey,
|
|
4474
4495
|
dataFirstLevels,
|
|
4475
4496
|
locationPath,
|
|
4497
|
+
autoExpandLevels,
|
|
4476
4498
|
});
|
|
4477
4499
|
const isLoading = isLoadingMetric || isFetchingFirstLevelPaths;
|
|
4478
4500
|
return (jsx(PathAnalysisContext.Provider, { value: {
|
|
@@ -23848,7 +23870,7 @@ const FunnelSelectionPopover = (props) => {
|
|
|
23848
23870
|
const FunnelChartActionIcon = ({ level, isLastLevel, isFinalFixedLevel, actionProps, }) => {
|
|
23849
23871
|
const { t } = useTranslation();
|
|
23850
23872
|
const { isMobileView } = useWindowSize();
|
|
23851
|
-
const { listFunnelSelection, onAddNextFunnel, onNotify, isDisabledAddICon } = actionProps || {};
|
|
23873
|
+
const { listFunnelSelection, onAddNextFunnel, onNotify, isDisabledAddICon, hideAddIcon } = actionProps || {};
|
|
23852
23874
|
const lengthDisplayedLevels = actionProps?.lengthDisplayedLevels || 0;
|
|
23853
23875
|
const [isOpenPathSelectionPopover, setIsOpenPathSelectionPopover] = useState(false);
|
|
23854
23876
|
if (isLastLevel)
|
|
@@ -23856,7 +23878,7 @@ const FunnelChartActionIcon = ({ level, isLastLevel, isFinalFixedLevel, actionPr
|
|
|
23856
23878
|
if (level < lengthDisplayedLevels || isFinalFixedLevel) {
|
|
23857
23879
|
return jsx(Icon, { source: SvgArrowRightIcon });
|
|
23858
23880
|
}
|
|
23859
|
-
if (isMobileView)
|
|
23881
|
+
if (isMobileView || hideAddIcon)
|
|
23860
23882
|
return null;
|
|
23861
23883
|
const tooltip = isDisabledAddICon ? t('Funnel step limit reached.') : t('Add funnel step');
|
|
23862
23884
|
return (jsx(FunnelSelectionPopover, { open: isOpenPathSelectionPopover, onClose: () => setIsOpenPathSelectionPopover(false), listFunnelSelection: listFunnelSelection, onAddNextFunnel: onAddNextFunnel, onNotify: onNotify, activator: jsx(GTooltip, { content: tooltip, children: jsx(Button, { icon: jsx(Icon, { source: SvgPlusIcon }), onClick: () => setIsOpenPathSelectionPopover((prev) => !prev), disabled: isDisabledAddICon }) }) }));
|
|
@@ -24091,7 +24113,7 @@ const NON_HEATMAP_PAGE_TYPES = new Set([TemplateType.CHECKOUT]);
|
|
|
24091
24113
|
const usePathAnalysisChart = () => {
|
|
24092
24114
|
const { t } = useTranslation();
|
|
24093
24115
|
const { getTextPrice } = useConvertMoneyContext();
|
|
24094
|
-
const { heatmap } = usePathAnalysisConfig();
|
|
24116
|
+
const { heatmap, autoExpandLevels } = usePathAnalysisConfig();
|
|
24095
24117
|
const { shopifyPageType, pageWithMetric, nextLevelPages, dynamicLevels, previousPathAnalyticsMap, handleAddNextLevel, handleChangeLevel, getPagesByParentID, handleDeleteLevel, } = usePathAnalysisContext();
|
|
24096
24118
|
const orderedPages = useMemo(() => [pageWithMetric, ...dynamicLevels].filter(Boolean), [pageWithMetric, dynamicLevels]);
|
|
24097
24119
|
const chartTooltipPrimaryAction = useMemo(() => {
|
|
@@ -24158,12 +24180,15 @@ const usePathAnalysisChart = () => {
|
|
|
24158
24180
|
getTextPrice,
|
|
24159
24181
|
}),
|
|
24160
24182
|
chartTooltipPrimaryAction: heatmap.isEnabledV2 ? getTooltipAction(item?.pageType ?? undefined) : undefined,
|
|
24161
|
-
|
|
24162
|
-
|
|
24163
|
-
|
|
24164
|
-
|
|
24165
|
-
|
|
24166
|
-
|
|
24183
|
+
// Auto-expand mode is a read-only view: hide the delete (trash) action.
|
|
24184
|
+
secondaryActions: autoExpandLevels
|
|
24185
|
+
? undefined
|
|
24186
|
+
: [
|
|
24187
|
+
{
|
|
24188
|
+
onAction: () => onDeleteFunnel(item.id),
|
|
24189
|
+
icon: SvgDeleteIcon,
|
|
24190
|
+
},
|
|
24191
|
+
],
|
|
24167
24192
|
title: item.pageTitle ?? undefined,
|
|
24168
24193
|
});
|
|
24169
24194
|
// Previous data
|
|
@@ -24173,7 +24198,15 @@ const usePathAnalysisChart = () => {
|
|
|
24173
24198
|
title: item.pageTitle ?? undefined,
|
|
24174
24199
|
});
|
|
24175
24200
|
return acc;
|
|
24176
|
-
}, { currentData: [], previousData: [] }), [
|
|
24201
|
+
}, { currentData: [], previousData: [] }), [
|
|
24202
|
+
dynamicLevels,
|
|
24203
|
+
previousPathAnalyticsMap,
|
|
24204
|
+
onDeleteFunnel,
|
|
24205
|
+
getTextPrice,
|
|
24206
|
+
getTooltipAction,
|
|
24207
|
+
heatmap.isEnabledV2,
|
|
24208
|
+
autoExpandLevels,
|
|
24209
|
+
]);
|
|
24177
24210
|
const lastLevelPreviousData = previousPathAnalyticsMap[lastLevel?.id ?? ''];
|
|
24178
24211
|
const funnelData = useMemo(() => {
|
|
24179
24212
|
const firstLevelKey = pageWithMetric?.pageTitle ||
|
|
@@ -24257,6 +24290,9 @@ const usePathAnalysisChart = () => {
|
|
|
24257
24290
|
}, [nextLevelPages]);
|
|
24258
24291
|
//list funnel selection to change funnel
|
|
24259
24292
|
const getListFunnelByID = (data) => {
|
|
24293
|
+
// Auto-expand mode is read-only: collapse the change-path popover to a static label.
|
|
24294
|
+
if (autoExpandLevels)
|
|
24295
|
+
return [];
|
|
24260
24296
|
const { level, parentID } = data;
|
|
24261
24297
|
const availableChildPages = getPagesByParentID({ level, parentID });
|
|
24262
24298
|
// if (level === 0) {
|
|
@@ -24276,6 +24312,7 @@ const usePathAnalysisChart = () => {
|
|
|
24276
24312
|
lengthDisplayedLevels,
|
|
24277
24313
|
listFunnelSelection,
|
|
24278
24314
|
isDisabledAddICon,
|
|
24315
|
+
hideAddIcon: !!autoExpandLevels,
|
|
24279
24316
|
funnelData,
|
|
24280
24317
|
onDeleteFunnel,
|
|
24281
24318
|
onAddNextFunnel,
|
|
@@ -24285,7 +24322,7 @@ const usePathAnalysisChart = () => {
|
|
|
24285
24322
|
};
|
|
24286
24323
|
|
|
24287
24324
|
const PathAnalysisChart = ({ funnelColors, isEnabled }) => {
|
|
24288
|
-
const { lengthDisplayedLevels, listFunnelSelection, isDisabledAddICon, funnelData, getListFunnelByID, onAddNextFunnel, onChangeFunnel, } = usePathAnalysisChart();
|
|
24325
|
+
const { lengthDisplayedLevels, listFunnelSelection, isDisabledAddICon, hideAddIcon, funnelData, getListFunnelByID, onAddNextFunnel, onChangeFunnel, } = usePathAnalysisChart();
|
|
24289
24326
|
const dataSeries = useMemo(() => {
|
|
24290
24327
|
if (!isEnabled)
|
|
24291
24328
|
return MOCK_DATA_PATH_ANALYSIS;
|
|
@@ -24296,6 +24333,7 @@ const PathAnalysisChart = ({ funnelColors, isEnabled }) => {
|
|
|
24296
24333
|
lengthDisplayedLevels,
|
|
24297
24334
|
listFunnelSelection,
|
|
24298
24335
|
isDisabledAddICon,
|
|
24336
|
+
hideAddIcon,
|
|
24299
24337
|
getListFunnelByID,
|
|
24300
24338
|
onAddNextFunnel,
|
|
24301
24339
|
onChangeFunnel,
|
package/dist/esm/index.mjs
CHANGED
|
@@ -3792,10 +3792,11 @@ const DEFAULT_CONFIG = {
|
|
|
3792
3792
|
isEnabledV2: false,
|
|
3793
3793
|
onView: () => { },
|
|
3794
3794
|
},
|
|
3795
|
+
autoExpandLevels: false,
|
|
3795
3796
|
};
|
|
3796
3797
|
const PathAnalysisConfigContext = createContext(DEFAULT_CONFIG);
|
|
3797
|
-
const PathAnalysisConfigProvider = ({ children, pricing, heatmap }) => {
|
|
3798
|
-
const value = useMemo(() => ({ pricing, heatmap }), [pricing, heatmap]);
|
|
3798
|
+
const PathAnalysisConfigProvider = ({ children, pricing, heatmap, autoExpandLevels, }) => {
|
|
3799
|
+
const value = useMemo(() => ({ pricing, heatmap, autoExpandLevels }), [pricing, heatmap, autoExpandLevels]);
|
|
3799
3800
|
return jsx(PathAnalysisConfigContext.Provider, { value: value, children: children });
|
|
3800
3801
|
};
|
|
3801
3802
|
const usePathAnalysisConfig = () => useContext(PathAnalysisConfigContext);
|
|
@@ -4298,7 +4299,7 @@ const calculateConversionFunnelTrends = ({ pageWithMetric, previousPathAnalytics
|
|
|
4298
4299
|
return trends;
|
|
4299
4300
|
};
|
|
4300
4301
|
|
|
4301
|
-
const usePathAnalysisFunnel = ({ pathAnalytics, pathAnalysisCacheKey, dataFirstLevels, locationPath, }) => {
|
|
4302
|
+
const usePathAnalysisFunnel = ({ pathAnalytics, pathAnalysisCacheKey, dataFirstLevels, locationPath, autoExpandLevels, }) => {
|
|
4302
4303
|
const setFirstLevelLocationPath = usePathAnalysisStore((state) => state.setFirstLevelLocationPath);
|
|
4303
4304
|
const firstLevelLocationPath = usePathAnalysisStore((state) => state.firstLevelLocationPath) || locationPath;
|
|
4304
4305
|
const setCachedFunnelChartData = useFunnelChartStore((state) => state.setCachedFunnelChartData);
|
|
@@ -4409,6 +4410,25 @@ const usePathAnalysisFunnel = ({ pathAnalytics, pathAnalysisCacheKey, dataFirstL
|
|
|
4409
4410
|
dynamicLevels: dynamicLevels,
|
|
4410
4411
|
});
|
|
4411
4412
|
}, [dynamicLevels]);
|
|
4413
|
+
// Auto-expand the dominant path down every level when the flag is enabled:
|
|
4414
|
+
// first level → highest-traffic child → ... up to MAX_FUNNEL_ADDITIONAL_LEVEL,
|
|
4415
|
+
// stopping as soon as a level has no further paths.
|
|
4416
|
+
useEffect(() => {
|
|
4417
|
+
if (!autoExpandLevels || !pageWithMetric)
|
|
4418
|
+
return;
|
|
4419
|
+
const expandedLevels = [];
|
|
4420
|
+
let currentPage = pageWithMetric;
|
|
4421
|
+
while (expandedLevels.length < MAX_FUNNEL_ADDITIONAL_LEVEL) {
|
|
4422
|
+
const childrenPages = getFunnelChildrenPages(currentPage);
|
|
4423
|
+
if (!childrenPages.length)
|
|
4424
|
+
break;
|
|
4425
|
+
// Pick the dominant child (highest sessions) — matches the top of the "+" popover.
|
|
4426
|
+
const nextPage = childrenPages.reduce((prev, curr) => (curr.metric?.totalSessions || 0) > (prev.metric?.totalSessions || 0) ? curr : prev);
|
|
4427
|
+
expandedLevels.push(nextPage);
|
|
4428
|
+
currentPage = nextPage;
|
|
4429
|
+
}
|
|
4430
|
+
setDynamicLevels(expandedLevels);
|
|
4431
|
+
}, [autoExpandLevels, pageWithMetric]);
|
|
4412
4432
|
useEffect(() => {
|
|
4413
4433
|
return () => {
|
|
4414
4434
|
setFirstLevelLocationPath(undefined);
|
|
@@ -4467,12 +4487,14 @@ const PathAnalysisProvider = (props) => {
|
|
|
4467
4487
|
const locationPath = analyticsData?.locationPath;
|
|
4468
4488
|
const shopifyPageType = analyticsData?.shopifyPageType;
|
|
4469
4489
|
const pathAnalysisCacheKey = JSON.stringify({ mode, campaignVariantID, campaignVersionID });
|
|
4490
|
+
const { autoExpandLevels } = usePathAnalysisConfig();
|
|
4470
4491
|
const { processedPathAnalytics } = usePathAnalyticsMerger({ pathAnalytics, dataFirstLevels });
|
|
4471
4492
|
const pathAnalysisFunnelData = usePathAnalysisFunnel({
|
|
4472
4493
|
pathAnalytics: processedPathAnalytics,
|
|
4473
4494
|
pathAnalysisCacheKey,
|
|
4474
4495
|
dataFirstLevels,
|
|
4475
4496
|
locationPath,
|
|
4497
|
+
autoExpandLevels,
|
|
4476
4498
|
});
|
|
4477
4499
|
const isLoading = isLoadingMetric || isFetchingFirstLevelPaths;
|
|
4478
4500
|
return (jsx(PathAnalysisContext.Provider, { value: {
|
|
@@ -23848,7 +23870,7 @@ const FunnelSelectionPopover = (props) => {
|
|
|
23848
23870
|
const FunnelChartActionIcon = ({ level, isLastLevel, isFinalFixedLevel, actionProps, }) => {
|
|
23849
23871
|
const { t } = useTranslation();
|
|
23850
23872
|
const { isMobileView } = useWindowSize();
|
|
23851
|
-
const { listFunnelSelection, onAddNextFunnel, onNotify, isDisabledAddICon } = actionProps || {};
|
|
23873
|
+
const { listFunnelSelection, onAddNextFunnel, onNotify, isDisabledAddICon, hideAddIcon } = actionProps || {};
|
|
23852
23874
|
const lengthDisplayedLevels = actionProps?.lengthDisplayedLevels || 0;
|
|
23853
23875
|
const [isOpenPathSelectionPopover, setIsOpenPathSelectionPopover] = useState(false);
|
|
23854
23876
|
if (isLastLevel)
|
|
@@ -23856,7 +23878,7 @@ const FunnelChartActionIcon = ({ level, isLastLevel, isFinalFixedLevel, actionPr
|
|
|
23856
23878
|
if (level < lengthDisplayedLevels || isFinalFixedLevel) {
|
|
23857
23879
|
return jsx(Icon, { source: SvgArrowRightIcon });
|
|
23858
23880
|
}
|
|
23859
|
-
if (isMobileView)
|
|
23881
|
+
if (isMobileView || hideAddIcon)
|
|
23860
23882
|
return null;
|
|
23861
23883
|
const tooltip = isDisabledAddICon ? t('Funnel step limit reached.') : t('Add funnel step');
|
|
23862
23884
|
return (jsx(FunnelSelectionPopover, { open: isOpenPathSelectionPopover, onClose: () => setIsOpenPathSelectionPopover(false), listFunnelSelection: listFunnelSelection, onAddNextFunnel: onAddNextFunnel, onNotify: onNotify, activator: jsx(GTooltip, { content: tooltip, children: jsx(Button, { icon: jsx(Icon, { source: SvgPlusIcon }), onClick: () => setIsOpenPathSelectionPopover((prev) => !prev), disabled: isDisabledAddICon }) }) }));
|
|
@@ -24091,7 +24113,7 @@ const NON_HEATMAP_PAGE_TYPES = new Set([TemplateType.CHECKOUT]);
|
|
|
24091
24113
|
const usePathAnalysisChart = () => {
|
|
24092
24114
|
const { t } = useTranslation();
|
|
24093
24115
|
const { getTextPrice } = useConvertMoneyContext();
|
|
24094
|
-
const { heatmap } = usePathAnalysisConfig();
|
|
24116
|
+
const { heatmap, autoExpandLevels } = usePathAnalysisConfig();
|
|
24095
24117
|
const { shopifyPageType, pageWithMetric, nextLevelPages, dynamicLevels, previousPathAnalyticsMap, handleAddNextLevel, handleChangeLevel, getPagesByParentID, handleDeleteLevel, } = usePathAnalysisContext();
|
|
24096
24118
|
const orderedPages = useMemo(() => [pageWithMetric, ...dynamicLevels].filter(Boolean), [pageWithMetric, dynamicLevels]);
|
|
24097
24119
|
const chartTooltipPrimaryAction = useMemo(() => {
|
|
@@ -24158,12 +24180,15 @@ const usePathAnalysisChart = () => {
|
|
|
24158
24180
|
getTextPrice,
|
|
24159
24181
|
}),
|
|
24160
24182
|
chartTooltipPrimaryAction: heatmap.isEnabledV2 ? getTooltipAction(item?.pageType ?? undefined) : undefined,
|
|
24161
|
-
|
|
24162
|
-
|
|
24163
|
-
|
|
24164
|
-
|
|
24165
|
-
|
|
24166
|
-
|
|
24183
|
+
// Auto-expand mode is a read-only view: hide the delete (trash) action.
|
|
24184
|
+
secondaryActions: autoExpandLevels
|
|
24185
|
+
? undefined
|
|
24186
|
+
: [
|
|
24187
|
+
{
|
|
24188
|
+
onAction: () => onDeleteFunnel(item.id),
|
|
24189
|
+
icon: SvgDeleteIcon,
|
|
24190
|
+
},
|
|
24191
|
+
],
|
|
24167
24192
|
title: item.pageTitle ?? undefined,
|
|
24168
24193
|
});
|
|
24169
24194
|
// Previous data
|
|
@@ -24173,7 +24198,15 @@ const usePathAnalysisChart = () => {
|
|
|
24173
24198
|
title: item.pageTitle ?? undefined,
|
|
24174
24199
|
});
|
|
24175
24200
|
return acc;
|
|
24176
|
-
}, { currentData: [], previousData: [] }), [
|
|
24201
|
+
}, { currentData: [], previousData: [] }), [
|
|
24202
|
+
dynamicLevels,
|
|
24203
|
+
previousPathAnalyticsMap,
|
|
24204
|
+
onDeleteFunnel,
|
|
24205
|
+
getTextPrice,
|
|
24206
|
+
getTooltipAction,
|
|
24207
|
+
heatmap.isEnabledV2,
|
|
24208
|
+
autoExpandLevels,
|
|
24209
|
+
]);
|
|
24177
24210
|
const lastLevelPreviousData = previousPathAnalyticsMap[lastLevel?.id ?? ''];
|
|
24178
24211
|
const funnelData = useMemo(() => {
|
|
24179
24212
|
const firstLevelKey = pageWithMetric?.pageTitle ||
|
|
@@ -24257,6 +24290,9 @@ const usePathAnalysisChart = () => {
|
|
|
24257
24290
|
}, [nextLevelPages]);
|
|
24258
24291
|
//list funnel selection to change funnel
|
|
24259
24292
|
const getListFunnelByID = (data) => {
|
|
24293
|
+
// Auto-expand mode is read-only: collapse the change-path popover to a static label.
|
|
24294
|
+
if (autoExpandLevels)
|
|
24295
|
+
return [];
|
|
24260
24296
|
const { level, parentID } = data;
|
|
24261
24297
|
const availableChildPages = getPagesByParentID({ level, parentID });
|
|
24262
24298
|
// if (level === 0) {
|
|
@@ -24276,6 +24312,7 @@ const usePathAnalysisChart = () => {
|
|
|
24276
24312
|
lengthDisplayedLevels,
|
|
24277
24313
|
listFunnelSelection,
|
|
24278
24314
|
isDisabledAddICon,
|
|
24315
|
+
hideAddIcon: !!autoExpandLevels,
|
|
24279
24316
|
funnelData,
|
|
24280
24317
|
onDeleteFunnel,
|
|
24281
24318
|
onAddNextFunnel,
|
|
@@ -24285,7 +24322,7 @@ const usePathAnalysisChart = () => {
|
|
|
24285
24322
|
};
|
|
24286
24323
|
|
|
24287
24324
|
const PathAnalysisChart = ({ funnelColors, isEnabled }) => {
|
|
24288
|
-
const { lengthDisplayedLevels, listFunnelSelection, isDisabledAddICon, funnelData, getListFunnelByID, onAddNextFunnel, onChangeFunnel, } = usePathAnalysisChart();
|
|
24325
|
+
const { lengthDisplayedLevels, listFunnelSelection, isDisabledAddICon, hideAddIcon, funnelData, getListFunnelByID, onAddNextFunnel, onChangeFunnel, } = usePathAnalysisChart();
|
|
24289
24326
|
const dataSeries = useMemo(() => {
|
|
24290
24327
|
if (!isEnabled)
|
|
24291
24328
|
return MOCK_DATA_PATH_ANALYSIS;
|
|
@@ -24296,6 +24333,7 @@ const PathAnalysisChart = ({ funnelColors, isEnabled }) => {
|
|
|
24296
24333
|
lengthDisplayedLevels,
|
|
24297
24334
|
listFunnelSelection,
|
|
24298
24335
|
isDisabledAddICon,
|
|
24336
|
+
hideAddIcon,
|
|
24299
24337
|
getListFunnelByID,
|
|
24300
24338
|
onAddNextFunnel,
|
|
24301
24339
|
onChangeFunnel,
|
|
@@ -10,6 +10,7 @@ export type OnChangeFunnelType = (data: IOnChangeFunnelParams) => void;
|
|
|
10
10
|
export interface IFunnelChartAction {
|
|
11
11
|
fixedLevel?: number;
|
|
12
12
|
isDisabledAddICon?: boolean;
|
|
13
|
+
hideAddIcon?: boolean;
|
|
13
14
|
lengthDisplayedLevels: number;
|
|
14
15
|
listFunnelSelection?: IFunnelSelectionItem[];
|
|
15
16
|
isFetchingNextPage?: boolean;
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.GPathSelectionItem{cursor:pointer;padding:8px 12px 12px;transition:background-color .2s ease}.GPathSelectionItem--selected{background-color:#f7f7f7}.GPathSelectionItem .GPathSelectionItem__view-icon{background-color:#ebebeb;border-radius:8px;display:none;margin-left:8px;padding:4px}.GPathSelectionItem:hover{background-color:#f7f7f7}.GPathSelectionItem:hover .GPathSelectionItem__percentage{display:none}.GPathSelectionItem:hover .GPathSelectionItem__view-icon{display:block}.GAnalytic-Badge-Logo{position:relative}.GAnalytic-Badge-Logo:before{background-image:url("data:image/png;base64,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");background-position:50%;background-repeat:no-repeat;background-size:contain;content:" ";height:84px;left:auto;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:18px;z-index:1}.GAnalytic-Badge-Logo.GAnalytic-Badge-Logo--in-group:before{content:" ";position:absolute;top:48px;transform:translateY(0)}.GPath-Badge-Logo:before{right:-11px}.GFunnelChartNextTooltip-container{left:0;max-width:300px;pointer-events:auto;position:absolute;top:0;z-index:520}.GFunnelChartNextTooltip-rows{display:flex;flex-direction:column;gap:8px}.GFunnelChartNextTooltip-rows>:not(:last-child):after{background:#e3e3e3;content:"";display:block;grid-column:1/-1;height:1px;margin:8px 0 0}.GFunnelChartNextTooltip-row{align-items:center;color:#616161;-moz-column-gap:4px;column-gap:4px;display:grid;font-size:12px;grid-template-columns:8px auto;line-height:16px}.GFunnelChartNextTooltip-keys{align-items:center;display:grid;grid-column:1/-1;grid-template-columns:subgrid}.GFunnelChartNextTooltip-values{align-items:flex-start;display:flex;font-weight:600;gap:8px;grid-column:2;padding-top:2px}.GFunnelChartNextTooltip-values>span{flex:0 0 auto}.GFunnelChartNextTooltip-values .GFunnelChartNextTooltip-trendIndicator{margin-left:auto}.GFunnelChartNextTooltip-values strong{color:#1f2124;font-weight:500}.Polaris-GInlineCenter{--gp-inline-center-box-align:center;--gp-inline-center-box-inline-align:center;--gp-inline-center-box-gap:0;--gp-inline-center-box-flex-direction:row;--gp-inline-center-width:auto;width:var(--gp-inline-center-width)}.Polaris-GInlineCenter>.Polaris-Box{align-items:var(--gp-inline-center-box-align);display:flex;flex-direction:var(--gp-inline-center-box-flex-direction);gap:var(--gp-inline-center-box-gap);justify-content:var(--gp-inline-center-box-inline-align)}.GReportTable__Container{--p-z-index-sticky-header:300;--p-z-index-sticky-footer:301;--p-z-index-dimension:50;position:relative;scrollbar-color:auto}.GReportTable__Container--border-top{border-top:1px solid var(--p-color-border)}.GReportTable__Container--pagination-hidden .GReportTable__Wrapper{border-bottom-left-radius:12px;border-bottom-right-radius:12px;overflow:hidden}.GReportTable__Container .GReportTable__Wrapper{--column-cell-min-width:200px;--column-cell-max-width:unset;--column-cell-height:40px;--column-cell-justify-content:start;--column-cell-padding-inline:12px;--column-first-padding-inline:16px;--column-summary-cell-padding-inline:12px;--column-summary-cell-height:36px;--column-cell-padding-right:12px;--column-header-cell-padding-right:12px;--column-dimension-box-shadow:var(--p-space-025) 0 0 0 var(--p-color-border-secondary);--column-border-right-width:1px;background:var(--p-color-bg-surface);position:relative}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader{overflow:hidden;overflow-x:auto;overscroll-behavior-x:none;position:sticky;top:0;z-index:var(--p-z-index-sticky-header);-ms-overflow-style:none;scrollbar-width:none}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header{background:var(--p-color-bg-surface);display:flex}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header--hide-summary .GReportTable__Header-Cell{background:var(--p-color-bg-surface-secondary)!important;border-bottom:none!important}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header>.GReportTable__Header-Cell:first-child{border-right:var(--column-border-right-width) solid var(--p-color-border);left:0;position:sticky;z-index:var(--p-z-index-1)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header .GReportTable__Header-Cell{align-items:center;background:var(--p-color-bg-surface);border-bottom:1px solid var(--p-color-border);display:flex;flex:1;font-weight:800;gap:4px;justify-content:var(--column-cell-justify-content);max-width:var(--column-cell-max-width);min-height:var(--column-cell-height);min-width:var(--column-cell-min-width);overflow:hidden;padding-inline:var(--column-cell-padding-inline);padding-right:var(--column-header-cell-padding-right)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header .GReportTable__Header-Cell .GReportTable-SortableHeaderButton{align-items:center;background:transparent;border:none;border-radius:var(--p-border-radius-100);color:var(--p-color-text);cursor:pointer;display:flex;justify-content:center;min-width:0;padding:2px 4px}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header .GReportTable__Header-Cell .GReportTable-SortableHeaderButton:hover{background:var(--p-color-bg-fill-transparent-hover)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Summary-Row{display:flex}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Summary-Row>.GReportTable__Summary-Cell:first-child{border-right:var(--column-border-right-width) solid var(--p-color-border);left:0;position:sticky;z-index:var(--p-z-index-1)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Summary-Row .GReportTable__Summary-Cell{align-items:center;background-color:var(--p-color-bg-surface-secondary);display:flex;flex:1;font-weight:800;justify-content:var(--column-cell-justify-content);max-width:var(--column-cell-max-width);min-height:var(--column-summary-cell-height);min-width:var(--column-cell-min-width);padding-inline:var(--column-summary-cell-padding-inline);padding-right:var(--column-cell-padding-right)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Summary-Row .GReportTable__Summary-Cell span{white-space:nowrap}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap{overflow-x:auto;overscroll-behavior-x:none;-ms-overflow-style:none;scrollbar-width:none}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row{display:flex}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row:hover,.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row:hover>.GReportTable__Cell,.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row:hover>.GReportTable__Cell:first-child{background-color:var(--p-color-bg-surface-hover)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell{align-items:center;border-top:1px solid var(--p-color-border);display:flex;flex:1;justify-content:var(--column-cell-justify-content);max-width:var(--column-cell-max-width);min-height:var(--column-cell-height);min-width:var(--column-cell-min-width)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent{align-items:center;display:flex;height:100%;justify-content:var(--column-cell-justify-content);width:100%}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent>:first-child{align-items:center;display:flex;height:100%}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent>:first-child:not(:has(.GReportTable__CellContent--clickable)){padding-inline:var(--column-cell-padding-inline);padding-right:var(--column-cell-padding-right)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent>:first-child:has(.GReportTable__CellContent--clickable){width:100%}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent--clickable{border-radius:0}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent--clickable:hover{background-color:var(--p-color-bg-surface-selected)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent--noClick{background-color:transparent!important}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell--dimension{border-right:var(--column-border-right-width) solid var(--p-color-border)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row>.GReportTable__Cell:first-child{background:var(--p-color-bg-surface);border-right:var(--column-border-right-width) solid var(--p-color-border);left:0;position:sticky;z-index:var(--p-z-index-1)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row>.GReportTable__Cell:first-child .GReportTable__CellContent>:first-child:not(:has(.GReportTable__CellContent--clickable)){padding-inline:var(--column-cell-padding-inline)}.GReportTable__Container .GReportTable__FooterWrapper{bottom:0;position:sticky;z-index:var(--p-z-index-sticky-footer)}.GReportTable__Container .GReportTable__ScrollBarContainer{background-color:var(--p-color-bg-surface);bottom:44px;position:sticky;z-index:var(--p-z-index-sticky-footer)}.GReportTable__Container .GReportTable__ScrollBarContainer--pagination-hidden{border-bottom-left-radius:12px;border-bottom-right-radius:12px;bottom:0;overflow:hidden}.GReportTable__Container .GReportTable__ScrollBarContainer .GReportTable__ScrollBar{margin:0;overflow-x:scroll;padding:0;width:100%}.GReportTable__Container .GReportTable__ScrollBarContainer .GReportTable__ScrollBarContent{height:.0625rem}.GReportTable__Container .GReportTable__Pagination{align-items:center;background-color:var(--p-color-bg-surface-secondary);border-bottom-left-radius:8px;border-bottom-right-radius:8px;display:flex;height:44px;padding-inline:16px}.GReportTable__Container .GReportTable--shadow,.GReportTable__Container .GReportTable__LeftShadow,.GReportTable__Container .GReportTable__RightShadow{--scrollbar-container-height:18px;content:"";height:calc(100% - var(--scrollbar-container-height)/2);opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity var(--p-motion-duration-300) var(--p-motion-ease);width:var(--p-space-150);z-index:var(--p-z-index-sticky-header)}.GReportTable__Container .GReportTable__LeftShadow{background:linear-gradient(90deg,rgba(26,26,26,.1),transparent)}.GReportTable__Container .GReportTable__RightShadow{background:linear-gradient(270deg,rgba(26,26,26,.1),transparent)}.Polaris-Box[aria-label=shadow-outset-200]{box-shadow:0 4px 6px -2px rgba(26,26,26,.2),inset 0 -1px rgba(0,0,0,.169),inset 0 0 rgba(0,0,0,.129),inset 0 0 rgba(0,0,0,.129)}.Polaris-Box[aria-label=shadow-drop-outset-100]{box-shadow:0 0 6px 1px rgba(26,26,26,.2)}.Polaris-Box[aria-label=shadow-top-100]{box-shadow:0 -2px 4px -1px rgba(26,26,26,.078)}.Polaris-Box[aria-label=shadow-bottom-100]{box-shadow:0 2px 4px -1px rgba(26,26,26,.141)}.Polaris-Box[aria-description=height-full]{height:100%}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.z-\[1000\]{z-index:1000}.-mb-1{margin-bottom:-.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.size-10{height:2.5rem;width:2.5rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-\[20px\]{height:20px}.h-\[2px\]{height:2px}.h-\[80px\]{height:80px}.h-\[8px\]{height:8px}.h-\[92px\]{height:92px}.h-full{height:100%}.max-h-\[216px\]{max-height:216px}.max-h-\[250px\]{max-height:250px}.max-h-\[325px\]{max-height:325px}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-\[11px\]{width:11px}.w-\[12px\]{width:12px}.w-\[20px\]{width:20px}.w-\[210px\]{width:210px}.w-\[320px\]{width:320px}.w-\[328px\]{width:328px}.w-\[50px\]{width:50px}.w-\[80px\]{width:80px}.w-\[8px\]{width:8px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[175px\]{min-width:175px}.min-w-\[184px\]{min-width:184px}.max-w-40{max-width:10rem}.max-w-\[100\%\]{max-width:100%}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-\[2px\]{gap:2px}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.\!border-r-0{border-right-width:0!important}.border-dashed{border-style:dashed}.border-\[\#A1CAE7\]{--tw-border-opacity:1;border-color:rgb(161 202 231/var(--tw-border-opacity))}.bg-\[\#4FA9EA\]{--tw-bg-opacity:1;background-color:rgb(79 169 234/var(--tw-bg-opacity))}.bg-\[\#8A8A8A\]{--tw-bg-opacity:1;background-color:rgb(138 138 138/var(--tw-bg-opacity))}.bg-\[\#F1F1F1\]{--tw-bg-opacity:1;background-color:rgb(241 241 241/var(--tw-bg-opacity))}.bg-\[\#f7f7f7\]{--tw-bg-opacity:1;background-color:rgb(247 247 247/var(--tw-bg-opacity))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[8px\]{padding-left:8px;padding-right:8px}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-1{padding-right:.25rem}.pr-\[5px\]{padding-right:5px}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.capitalize{text-transform:capitalize}.text-\[var\(--p-color-text\)\]{color:var(--p-color-text)}.text-\[var\(--p-color-text-disabled\)\]{color:var(--p-color-text-disabled)}.text-\[var\(--p-color-text-subdued\)\]{color:var(--p-color-text-subdued)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:\!bg-\[\#f7f7f7\]:hover{--tw-bg-opacity:1!important;background-color:rgb(247 247 247/var(--tw-bg-opacity))!important}.hover\:bg-\[\#F1F1F1\]:hover{--tw-bg-opacity:1;background-color:rgb(241 241 241/var(--tw-bg-opacity))}.hover\:text-\[--p-color-text-link-hover\]:hover{color:var(--p-color-text-link-hover)}.group\/GReportTable__Row:hover .group-hover\/GReportTable__Row\:opacity-100{opacity:1}
|
|
1
|
+
.GPathSelectionItem{cursor:pointer;padding:8px 12px 12px;transition:background-color .2s ease}.GPathSelectionItem--selected{background-color:#f7f7f7}.GPathSelectionItem .GPathSelectionItem__view-icon{background-color:#ebebeb;border-radius:8px;display:none;margin-left:8px;padding:4px}.GPathSelectionItem:hover{background-color:#f7f7f7}.GPathSelectionItem:hover .GPathSelectionItem__percentage{display:none}.GPathSelectionItem:hover .GPathSelectionItem__view-icon{display:block}.GAnalytic-Badge-Logo{position:relative}.GAnalytic-Badge-Logo:before{background-image:url("data:image/png;base64,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");background-position:50%;background-repeat:no-repeat;background-size:contain;content:" ";height:84px;left:auto;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:18px;z-index:1}.GAnalytic-Badge-Logo.GAnalytic-Badge-Logo--in-group:before{content:" ";position:absolute;top:48px;transform:translateY(0)}.GPath-Badge-Logo:before{right:-11px}.GFunnelChartNextTooltip-container{left:0;max-width:300px;pointer-events:auto;position:absolute;top:0;z-index:520}.GFunnelChartNextTooltip-rows{display:flex;flex-direction:column;gap:8px}.GFunnelChartNextTooltip-rows>:not(:last-child):after{background:#e3e3e3;content:"";display:block;grid-column:1/-1;height:1px;margin:8px 0 0}.GFunnelChartNextTooltip-row{align-items:center;color:#616161;-moz-column-gap:4px;column-gap:4px;display:grid;font-size:12px;grid-template-columns:8px auto;line-height:16px}.GFunnelChartNextTooltip-keys{align-items:center;display:grid;grid-column:1/-1;grid-template-columns:subgrid}.GFunnelChartNextTooltip-values{align-items:flex-start;display:flex;font-weight:600;gap:8px;grid-column:2;padding-top:2px}.GFunnelChartNextTooltip-values>span{flex:0 0 auto}.GFunnelChartNextTooltip-values .GFunnelChartNextTooltip-trendIndicator{margin-left:auto}.GFunnelChartNextTooltip-values strong{color:#1f2124;font-weight:500}.Polaris-GInlineCenter{--gp-inline-center-box-align:center;--gp-inline-center-box-inline-align:center;--gp-inline-center-box-gap:0;--gp-inline-center-box-flex-direction:row;--gp-inline-center-width:auto;width:var(--gp-inline-center-width)}.Polaris-GInlineCenter>.Polaris-Box{align-items:var(--gp-inline-center-box-align);display:flex;flex-direction:var(--gp-inline-center-box-flex-direction);gap:var(--gp-inline-center-box-gap);justify-content:var(--gp-inline-center-box-inline-align)}.GReportTable__Container{--p-z-index-sticky-header:300;--p-z-index-sticky-footer:301;--p-z-index-dimension:50;position:relative;scrollbar-color:auto}.GReportTable__Container--border-top{border-top:1px solid var(--p-color-border)}.GReportTable__Container--pagination-hidden .GReportTable__Wrapper{border-bottom-left-radius:12px;border-bottom-right-radius:12px;overflow:hidden}.GReportTable__Container .GReportTable__Wrapper{--column-cell-min-width:200px;--column-cell-max-width:unset;--column-cell-height:40px;--column-cell-justify-content:start;--column-cell-padding-inline:12px;--column-first-padding-inline:16px;--column-summary-cell-padding-inline:12px;--column-summary-cell-height:36px;--column-cell-padding-right:12px;--column-header-cell-padding-right:12px;--column-dimension-box-shadow:var(--p-space-025) 0 0 0 var(--p-color-border-secondary);--column-border-right-width:1px;background:var(--p-color-bg-surface);position:relative}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader{overflow:hidden;overflow-x:auto;overscroll-behavior-x:none;position:sticky;top:0;z-index:var(--p-z-index-sticky-header);-ms-overflow-style:none;scrollbar-width:none}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header{background:var(--p-color-bg-surface);display:flex}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header--hide-summary .GReportTable__Header-Cell{background:var(--p-color-bg-surface-secondary)!important;border-bottom:none!important}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header>.GReportTable__Header-Cell:first-child{border-right:var(--column-border-right-width) solid var(--p-color-border);left:0;position:sticky;z-index:var(--p-z-index-1)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header .GReportTable__Header-Cell{align-items:center;background:var(--p-color-bg-surface);border-bottom:1px solid var(--p-color-border);display:flex;flex:1;font-weight:800;gap:4px;justify-content:var(--column-cell-justify-content);max-width:var(--column-cell-max-width);min-height:var(--column-cell-height);min-width:var(--column-cell-min-width);overflow:hidden;padding-inline:var(--column-cell-padding-inline);padding-right:var(--column-header-cell-padding-right)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header .GReportTable__Header-Cell .GReportTable-SortableHeaderButton{align-items:center;background:transparent;border:none;border-radius:var(--p-border-radius-100);color:var(--p-color-text);cursor:pointer;display:flex;justify-content:center;min-width:0;padding:2px 4px}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Header .GReportTable__Header-Cell .GReportTable-SortableHeaderButton:hover{background:var(--p-color-bg-fill-transparent-hover)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Summary-Row{display:flex}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Summary-Row>.GReportTable__Summary-Cell:first-child{border-right:var(--column-border-right-width) solid var(--p-color-border);left:0;position:sticky;z-index:var(--p-z-index-1)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Summary-Row .GReportTable__Summary-Cell{align-items:center;background-color:var(--p-color-bg-surface-secondary);display:flex;flex:1;font-weight:800;justify-content:var(--column-cell-justify-content);max-width:var(--column-cell-max-width);min-height:var(--column-summary-cell-height);min-width:var(--column-cell-min-width);padding-inline:var(--column-summary-cell-padding-inline);padding-right:var(--column-cell-padding-right)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__StickyHeader .GReportTable__Summary-Row .GReportTable__Summary-Cell span{white-space:nowrap}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap{overflow-x:auto;overscroll-behavior-x:none;-ms-overflow-style:none;scrollbar-width:none}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row{display:flex}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row:hover,.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row:hover>.GReportTable__Cell,.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row:hover>.GReportTable__Cell:first-child{background-color:var(--p-color-bg-surface-hover)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell{align-items:center;border-top:1px solid var(--p-color-border);display:flex;flex:1;justify-content:var(--column-cell-justify-content);max-width:var(--column-cell-max-width);min-height:var(--column-cell-height);min-width:var(--column-cell-min-width)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent{align-items:center;display:flex;height:100%;justify-content:var(--column-cell-justify-content);width:100%}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent>:first-child{align-items:center;display:flex;height:100%}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent>:first-child:not(:has(.GReportTable__CellContent--clickable)){padding-inline:var(--column-cell-padding-inline);padding-right:var(--column-cell-padding-right)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent>:first-child:has(.GReportTable__CellContent--clickable){width:100%}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent--clickable{border-radius:0}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent--clickable:hover{background-color:var(--p-color-bg-surface-selected)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell .GReportTable__CellContent--noClick{background-color:transparent!important}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row .GReportTable__Cell--dimension{border-right:var(--column-border-right-width) solid var(--p-color-border)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row>.GReportTable__Cell:first-child{background:var(--p-color-bg-surface);border-right:var(--column-border-right-width) solid var(--p-color-border);left:0;position:sticky;z-index:var(--p-z-index-1)}.GReportTable__Container .GReportTable__Wrapper .GReportTable__ScrollWrap .GReportTable__Row>.GReportTable__Cell:first-child .GReportTable__CellContent>:first-child:not(:has(.GReportTable__CellContent--clickable)){padding-inline:var(--column-cell-padding-inline)}.GReportTable__Container .GReportTable__FooterWrapper{bottom:0;position:sticky;z-index:var(--p-z-index-sticky-footer)}.GReportTable__Container .GReportTable__ScrollBarContainer{background-color:var(--p-color-bg-surface);bottom:44px;position:sticky;z-index:var(--p-z-index-sticky-footer)}.GReportTable__Container .GReportTable__ScrollBarContainer--pagination-hidden{border-bottom-left-radius:12px;border-bottom-right-radius:12px;bottom:0;overflow:hidden}.GReportTable__Container .GReportTable__ScrollBarContainer .GReportTable__ScrollBar{margin:0;overflow-x:scroll;padding:0;width:100%}.GReportTable__Container .GReportTable__ScrollBarContainer .GReportTable__ScrollBarContent{height:.0625rem}.GReportTable__Container .GReportTable__Pagination{align-items:center;background-color:var(--p-color-bg-surface-secondary);border-bottom-left-radius:8px;border-bottom-right-radius:8px;display:flex;height:44px;padding-inline:16px}.GReportTable__Container .GReportTable--shadow,.GReportTable__Container .GReportTable__LeftShadow,.GReportTable__Container .GReportTable__RightShadow{--scrollbar-container-height:18px;content:"";height:calc(100% - var(--scrollbar-container-height)/2);opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity var(--p-motion-duration-300) var(--p-motion-ease);width:var(--p-space-150);z-index:var(--p-z-index-sticky-header)}.GReportTable__Container .GReportTable__LeftShadow{background:linear-gradient(90deg,rgba(26,26,26,.1),transparent)}.GReportTable__Container .GReportTable__RightShadow{background:linear-gradient(270deg,rgba(26,26,26,.1),transparent)}.Polaris-Box[aria-label=shadow-outset-200]{box-shadow:0 4px 6px -2px rgba(26,26,26,.2),inset 0 -1px rgba(0,0,0,.169),inset 0 0 rgba(0,0,0,.129),inset 0 0 rgba(0,0,0,.129)}.Polaris-Box[aria-label=shadow-drop-outset-100]{box-shadow:0 0 6px 1px rgba(26,26,26,.2)}.Polaris-Box[aria-label=shadow-top-100]{box-shadow:0 -2px 4px -1px rgba(26,26,26,.078)}.Polaris-Box[aria-label=shadow-bottom-100]{box-shadow:0 2px 4px -1px rgba(26,26,26,.141)}.Polaris-Box[aria-description=height-full]{height:100%}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.z-\[1000\]{z-index:1000}.-mb-1{margin-bottom:-.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.size-10{height:2.5rem;width:2.5rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-\[20px\]{height:20px}.h-\[2px\]{height:2px}.h-\[80px\]{height:80px}.h-\[8px\]{height:8px}.h-\[92px\]{height:92px}.h-full{height:100%}.max-h-\[216px\]{max-height:216px}.max-h-\[250px\]{max-height:250px}.max-h-\[325px\]{max-height:325px}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-\[11px\]{width:11px}.w-\[12px\]{width:12px}.w-\[20px\]{width:20px}.w-\[210px\]{width:210px}.w-\[320px\]{width:320px}.w-\[328px\]{width:328px}.w-\[50px\]{width:50px}.w-\[80px\]{width:80px}.w-\[8px\]{width:8px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[175px\]{min-width:175px}.min-w-\[184px\]{min-width:184px}.max-w-40{max-width:10rem}.max-w-\[100\%\]{max-width:100%}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-\[2px\]{gap:2px}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.\!border-r-0{border-right-width:0!important}.border-dashed{border-style:dashed}.border-\[\#A1CAE7\]{--tw-border-opacity:1;border-color:rgb(161 202 231/var(--tw-border-opacity))}.bg-\[\#4FA9EA\]{--tw-bg-opacity:1;background-color:rgb(79 169 234/var(--tw-bg-opacity))}.bg-\[\#8A8A8A\]{--tw-bg-opacity:1;background-color:rgb(138 138 138/var(--tw-bg-opacity))}.bg-\[\#F1F1F1\]{--tw-bg-opacity:1;background-color:rgb(241 241 241/var(--tw-bg-opacity))}.bg-\[\#f7f7f7\]{--tw-bg-opacity:1;background-color:rgb(247 247 247/var(--tw-bg-opacity))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[8px\]{padding-left:8px;padding-right:8px}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-1{padding-right:.25rem}.pr-\[5px\]{padding-right:5px}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.capitalize{text-transform:capitalize}.text-\[var\(--p-color-text\)\]{color:var(--p-color-text)}.text-\[var\(--p-color-text-disabled\)\]{color:var(--p-color-text-disabled)}.text-\[var\(--p-color-text-subdued\)\]{color:var(--p-color-text-subdued)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:\!bg-\[\#f7f7f7\]:hover{--tw-bg-opacity:1!important;background-color:rgb(247 247 247/var(--tw-bg-opacity))!important}.hover\:bg-\[\#F1F1F1\]:hover{--tw-bg-opacity:1;background-color:rgb(241 241 241/var(--tw-bg-opacity))}.hover\:text-\[--p-color-text-link-hover\]:hover{color:var(--p-color-text-link-hover)}.group\/GReportTable__Row:hover .group-hover\/GReportTable__Row\:opacity-100{opacity:1}
|
|
@@ -13,11 +13,18 @@ export interface IPathAnalysisHeatmapConfig {
|
|
|
13
13
|
export interface IPathAnalysisConfig {
|
|
14
14
|
pricing: IPathAnalysisPricingConfig;
|
|
15
15
|
heatmap: IPathAnalysisHeatmapConfig;
|
|
16
|
+
/**
|
|
17
|
+
* When enabled, the funnel auto-expands every level along the dominant path
|
|
18
|
+
* (first level → highest-traffic child → ... up to MAX_FUNNEL_ADDITIONAL_LEVEL,
|
|
19
|
+
* stopping early when a level has no further paths) and the "+" add button is hidden.
|
|
20
|
+
*/
|
|
21
|
+
autoExpandLevels?: boolean;
|
|
16
22
|
}
|
|
17
23
|
export interface IPathAnalysisConfigProviderProps {
|
|
18
24
|
children: ReactNode;
|
|
19
25
|
pricing: IPathAnalysisPricingConfig;
|
|
20
26
|
heatmap: IPathAnalysisHeatmapConfig;
|
|
27
|
+
autoExpandLevels?: boolean;
|
|
21
28
|
}
|
|
22
|
-
export declare const PathAnalysisConfigProvider: ({ children, pricing, heatmap }: IPathAnalysisConfigProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare const PathAnalysisConfigProvider: ({ children, pricing, heatmap, autoExpandLevels, }: IPathAnalysisConfigProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
30
|
export declare const usePathAnalysisConfig: () => IPathAnalysisConfig;
|
|
@@ -4,6 +4,7 @@ export declare const usePathAnalysisChart: () => {
|
|
|
4
4
|
lengthDisplayedLevels: number;
|
|
5
5
|
listFunnelSelection: IFunnelSelectionItem[];
|
|
6
6
|
isDisabledAddICon: boolean;
|
|
7
|
+
hideAddIcon: boolean;
|
|
7
8
|
funnelData: import("@shopify/polaris-viz-core").DataSeries[];
|
|
8
9
|
onDeleteFunnel: (id?: string) => void;
|
|
9
10
|
onAddNextFunnel: (id: string) => void;
|
|
@@ -6,8 +6,9 @@ interface IUsePathAnalysisFunnelProps {
|
|
|
6
6
|
pathAnalysisCacheKey: string;
|
|
7
7
|
dataFirstLevels?: IPathAnalysisFirstLevel[];
|
|
8
8
|
locationPath?: string;
|
|
9
|
+
autoExpandLevels?: boolean;
|
|
9
10
|
}
|
|
10
|
-
export declare const usePathAnalysisFunnel: ({ pathAnalytics, pathAnalysisCacheKey, dataFirstLevels, locationPath, }: IUsePathAnalysisFunnelProps) => {
|
|
11
|
+
export declare const usePathAnalysisFunnel: ({ pathAnalytics, pathAnalysisCacheKey, dataFirstLevels, locationPath, autoExpandLevels, }: IUsePathAnalysisFunnelProps) => {
|
|
11
12
|
pageWithMetric: IBasePathAnalyticPageWithChild | undefined;
|
|
12
13
|
dynamicLevels: IBasePathAnalyticPageWithChild[];
|
|
13
14
|
nextLevelPages: IBasePathAnalyticPageWithChild[];
|
|
@@ -10,6 +10,7 @@ export type OnChangeFunnelType = (data: IOnChangeFunnelParams) => void;
|
|
|
10
10
|
export interface IFunnelChartAction {
|
|
11
11
|
fixedLevel?: number;
|
|
12
12
|
isDisabledAddICon?: boolean;
|
|
13
|
+
hideAddIcon?: boolean;
|
|
13
14
|
lengthDisplayedLevels: number;
|
|
14
15
|
listFunnelSelection?: IFunnelSelectionItem[];
|
|
15
16
|
isFetchingNextPage?: boolean;
|