@gem-sdk/analytics 1.0.2-dev.1 → 1.0.2-dev.2

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 (26) hide show
  1. package/dist/esm/components/OrderAnalytic/OrderListingLatestTable.d.ts +1 -1
  2. package/dist/esm/components/OrderAnalytic/components/OrderListing/OrderListingTable.d.ts +1 -1
  3. package/dist/esm/index.d.ts +3 -0
  4. package/dist/esm/index.js +261 -258
  5. package/dist/esm/index.mjs +261 -258
  6. package/dist/esm/shared/reports/ui/ReportTable/ReportTable.d.ts +4 -4
  7. package/dist/esm/shared/reports/ui/ReportTable/components/Body/Cell/CampaignsCell/CampaignsCell.d.ts +1 -1
  8. package/dist/esm/shared/reports/ui/ReportTable/components/Body/Cell/Cell.d.ts +3 -2
  9. package/dist/esm/shared/reports/ui/ReportTable/components/Body/Cell/OrderIdCell.d.ts +1 -1
  10. package/dist/esm/shared/reports/ui/ReportTable/components/Body/Cell/type.d.ts +2 -1
  11. package/dist/esm/shared/reports/ui/ReportTable/components/Body/Row.d.ts +1 -1
  12. package/dist/esm/shared/reports/ui/ReportTable/context/ReportTableActionsContext.d.ts +1 -1
  13. package/dist/esm/shared/reports/ui/ReportTable/types/index.d.ts +1 -0
  14. package/dist/umd/esm/components/OrderAnalytic/OrderListingLatestTable.d.ts +1 -1
  15. package/dist/umd/esm/components/OrderAnalytic/components/OrderListing/OrderListingTable.d.ts +1 -1
  16. package/dist/umd/esm/index.d.ts +3 -0
  17. package/dist/umd/esm/shared/reports/ui/ReportTable/ReportTable.d.ts +4 -4
  18. package/dist/umd/esm/shared/reports/ui/ReportTable/components/Body/Cell/CampaignsCell/CampaignsCell.d.ts +1 -1
  19. package/dist/umd/esm/shared/reports/ui/ReportTable/components/Body/Cell/Cell.d.ts +3 -2
  20. package/dist/umd/esm/shared/reports/ui/ReportTable/components/Body/Cell/OrderIdCell.d.ts +1 -1
  21. package/dist/umd/esm/shared/reports/ui/ReportTable/components/Body/Cell/type.d.ts +2 -1
  22. package/dist/umd/esm/shared/reports/ui/ReportTable/components/Body/Row.d.ts +1 -1
  23. package/dist/umd/esm/shared/reports/ui/ReportTable/context/ReportTableActionsContext.d.ts +1 -1
  24. package/dist/umd/esm/shared/reports/ui/ReportTable/types/index.d.ts +1 -0
  25. package/dist/umd/index.js +1 -1
  26. package/package.json +1 -1
@@ -23053,110 +23053,6 @@ const CardJourneyAnalysis = ({ analyticMode, config, ...props }) => {
23053
23053
  return (jsx(PathAnalysisConfigProvider, { ...config, children: jsx(CardPathAnalysis, { analyticMode: analyticMode || EAnalyticMode.ALL_SESSION, ...props, children: jsx(InlineStack, { gap: "200", children: jsx(GTooltipCard, { tooltip: ANALYTICS_METRIC_TOOLTIP[EMetricKey.PAGE_PATH_ANALYSIS], children: jsx(Text, { as: "h3", variant: "headingMd", children: t('Journey analysis') }) }) }) }) }));
23054
23054
  };
23055
23055
 
23056
- var EDimensionKey;
23057
- (function (EDimensionKey) {
23058
- EDimensionKey["TIME"] = "time";
23059
- EDimensionKey["EXPERIMENT_ID"] = "experiment_id";
23060
- EDimensionKey["VERSION"] = "version";
23061
- EDimensionKey["VISITOR"] = "visitor_type";
23062
- EDimensionKey["TRAFFIC_SOURCE"] = "traffic_source";
23063
- EDimensionKey["DEVICE"] = "device";
23064
- })(EDimensionKey || (EDimensionKey = {}));
23065
-
23066
- var ETooltipCategory;
23067
- (function (ETooltipCategory) {
23068
- ETooltipCategory["ALPHABETICAL"] = "ALPHABETICAL";
23069
- ETooltipCategory["NUMERIC"] = "NUMERIC";
23070
- ETooltipCategory["DATE"] = "DATE";
23071
- })(ETooltipCategory || (ETooltipCategory = {}));
23072
- const TooltipPresets = {
23073
- [ETooltipCategory.ALPHABETICAL]: { ASC: 'A-Z', DESC: 'Z-A' },
23074
- [ETooltipCategory.NUMERIC]: { ASC: 'Lowest first', DESC: 'Highest first' },
23075
- [ETooltipCategory.DATE]: { ASC: 'Oldest first', DESC: 'Newest first' },
23076
- };
23077
- const DEFAULT_TOOLTIP = TooltipPresets[ETooltipCategory.NUMERIC];
23078
- const reportOrderTooltip = {
23079
- day: TooltipPresets[ETooltipCategory.DATE],
23080
- order_date: TooltipPresets[ETooltipCategory.DATE],
23081
- month: TooltipPresets[ETooltipCategory.DATE],
23082
- year: TooltipPresets[ETooltipCategory.DATE],
23083
- hour: TooltipPresets[ETooltipCategory.DATE],
23084
- quarter: TooltipPresets[ETooltipCategory.DATE],
23085
- week: TooltipPresets[ETooltipCategory.DATE],
23086
- [EDimensionKey.DEVICE]: TooltipPresets[ETooltipCategory.ALPHABETICAL],
23087
- [EDimensionKey.VISITOR]: TooltipPresets[ETooltipCategory.ALPHABETICAL],
23088
- [EDimensionKey.VERSION]: TooltipPresets[ETooltipCategory.ALPHABETICAL],
23089
- [EDimensionKey.TRAFFIC_SOURCE]: TooltipPresets[ETooltipCategory.ALPHABETICAL],
23090
- };
23091
-
23092
- const DEFAULT_DIMENSION_LAYOUT = {
23093
- width: '200px',
23094
- minWidth: '200px',
23095
- align: 'start',
23096
- paddingRight: '28px',
23097
- headerPaddingRight: '0',
23098
- };
23099
- const DEFAULT_METRIC_LAYOUT = {
23100
- minWidth: '140px',
23101
- align: 'end',
23102
- paddingRight: '28px',
23103
- headerPaddingRight: '0',
23104
- };
23105
- const IS_TOTAL_ROW_FIELD = 'isTotalRow';
23106
-
23107
- const ReportTableActionsContext = createContext({});
23108
- const ReportTableActionsProvider = ({ children, onViewOrderJourney, onViewOrderDetails, onViewAllStoreOrders, }) => {
23109
- return (jsx(ReportTableActionsContext.Provider, { value: { onViewOrderJourney, onViewOrderDetails, onViewAllStoreOrders }, children: children }));
23110
- };
23111
- const useReportTableActionsContext = () => useContext(ReportTableActionsContext);
23112
-
23113
- var GEMX_LOGO = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCAzOCA0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzM4MzQzXzMwMTI3KSI+CjxwYXRoIGQ9Ik0yMi43Nzc4IDEuODk4NjdMMTkuNTU5IDcuNzcyMDZDMTkuNTMyNCA3LjgyNDYyIDE5LjUzMjQgNy44OTAzMiAxOS41NTkgNy45NDI4OEwyNi40NjIyIDIwLjU0MzdDMjYuNTI4NyAyMC42Njg2IDI2LjcwODMgMjAuNjY4NiAyNi43NzQ4IDIwLjU0MzdMMzcuODg3NyAwLjI2Mjc5MkMzNy45NTQyIDAuMTQ0NTM1IDM3Ljg2NzggMCAzNy43MjgxIDBIMjYuMDAzM0MyNC42NTMzIDAgMjMuNDE2MyAwLjcyOTI0NyAyMi43Nzc4IDEuODk4NjdaIiBmaWxsPSIjQ0NDQ0NDIi8+CjxwYXRoIGQ9Ik0xMi4zODI5IDBIMC40NTE5OTVDMC4xMTI4MjEgMCAtMC4xMDY2NDUgMC4zNjEzMzggMC4wNTk2MTY4IDAuNjU2OTc5TDExLjA5OTQgMjAuODEzMUwwLjA1Mjk2NjMgNDAuOTgyNEMtMC4xMDY2NDUgNDEuMjc4IDAuMTA2MTcgNDEuNjM5MyAwLjQ1MTk5NSA0MS42MzkzSDEyLjM1NjNDMTIuNjIyNCA0MS42MzkzIDEyLjg3NTEgNDEuNDk0OCAxMy4wMDE0IDQxLjI1ODNMMjQuMDQxMiAyMS4xMDIyQzI0LjE0NzYgMjAuOTExNiAyNC4xNDc2IDIwLjY3NTEgMjQuMDQxMiAyMC40ODQ2TDEzLjAyOCAwLjM4MTA0OEMxMi45MDE3IDAuMTQ0NTM1IDEyLjY1NTYgMCAxMi4zODI5IDBaIiBmaWxsPSIjQ0NDQ0NDIi8+CjxwYXRoIGQ9Ik0yMi43Nzc4IDM5Ljc5OTdMMTkuNTU5IDMzLjkyNjNDMTkuNTMyNCAzMy44NzM4IDE5LjUzMjQgMzMuODA4MSAxOS41NTkgMzMuNzU1NUwyNi40NjIyIDIxLjE1NDdDMjYuNTI4NyAyMS4wMjk4IDI2LjcwODMgMjEuMDI5OCAyNi43NzQ4IDIxLjE1NDdMMzcuODgxMSA0MS40MzU2QzM3Ljk0NzYgNDEuNTUzOSAzNy44NjExIDQxLjY5ODQgMzcuNzIxNSA0MS42OTg0SDI1Ljk5NjdDMjQuNjQ2NiA0MS42OTg0IDIzLjQwOTYgNDAuOTY5MSAyMi43NzEyIDM5Ljc5OTdIMjIuNzc3OFoiIGZpbGw9IiNDQ0NDQ0MiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8zODM0M18zMDEyNyI+CjxyZWN0IHdpZHRoPSIzNy45MDc3IiBoZWlnaHQ9IjQxLjY5ODUiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==";
23114
-
23115
- const getColumnLayoutStyles = (columnLayout, hasTooltipCard) => {
23116
- return {
23117
- '--column-cell-min-width': columnLayout.minWidth,
23118
- '--column-cell-max-width': columnLayout.maxWidth,
23119
- '--column-cell-justify-content': columnLayout.align,
23120
- '--column-cell-padding-inline': columnLayout.paddingInline,
23121
- '--column-first-padding-inline': columnLayout.columnFirstPaddingInline,
23122
- '--column-wrapper-width': columnLayout.columnWrapperWidth,
23123
- '--column-cell-padding-right': !hasTooltipCard ? columnLayout.paddingRight : columnLayout.paddingInline,
23124
- '--column-header-cell-padding-right': !hasTooltipCard
23125
- ? columnLayout.headerPaddingRight
23126
- : columnLayout.paddingInline,
23127
- '--column-dimension-box-shadow': columnLayout.dimensionBoxShadow,
23128
- '--column-border-right-width': columnLayout.borderRightWidth,
23129
- };
23130
- };
23131
-
23132
- var EOrderDirectionType;
23133
- (function (EOrderDirectionType) {
23134
- EOrderDirectionType["ASC"] = "ASC";
23135
- EOrderDirectionType["DESC"] = "DESC";
23136
- })(EOrderDirectionType || (EOrderDirectionType = {}));
23137
-
23138
- const formatReportTableDate = (dateString) => {
23139
- if (!dateString)
23140
- return 'None';
23141
- const date = dayjsTz(dateString);
23142
- const now = dayjsTz();
23143
- const yesterday = dayjsTz().subtract(1, 'day');
23144
- const isToday = date.format('YYYY-MM-DD') === now.format('YYYY-MM-DD');
23145
- const isYesterday = date.format('YYYY-MM-DD') === yesterday.format('YYYY-MM-DD');
23146
- if (isToday) {
23147
- return `Today at ${date.format('HH:mm')}`;
23148
- }
23149
- if (isYesterday) {
23150
- return `Yesterday at ${date.format('HH:mm')}`;
23151
- }
23152
- const daysDiff = now.diff(date, 'day');
23153
- const isWithinWeek = daysDiff >= 0 && daysDiff < 7;
23154
- if (isWithinWeek) {
23155
- return `${date.format('dddd')} at ${date.format('HH:mm')}`;
23156
- }
23157
- return `${date.format('MMM D')} at ${date.format('hh:mm a')}`;
23158
- };
23159
-
23160
23056
  var EReportDataType;
23161
23057
  (function (EReportDataType) {
23162
23058
  EReportDataType["DATE"] = "DATE";
@@ -23211,91 +23107,6 @@ var IRMetricKey;
23211
23107
  IRMetricKey["VISITOR_BY_TYPE"] = "visitor_type";
23212
23108
  })(IRMetricKey || (IRMetricKey = {}));
23213
23109
 
23214
- const formatReportData = ({ value, formatter, getTextPrice, name, }) => {
23215
- const dataTypeIsObjectOrArray = value !== null && (typeof value === 'object' || Array.isArray(value));
23216
- if (dataTypeIsObjectOrArray)
23217
- return value;
23218
- switch (formatter) {
23219
- case EReportDataType.INTEGER: {
23220
- return numberWithCommas((value ?? 0).toString());
23221
- }
23222
- case EReportDataType.CURRENCY: {
23223
- return getTextPrice(value, false);
23224
- }
23225
- case EReportDataType.DATE: {
23226
- return formatReportTableDate(value);
23227
- }
23228
- case EReportDataType.PERCENT: {
23229
- if (typeof value !== 'number')
23230
- return calcPercentageString(0, 1, 2) ?? '';
23231
- return calcPercentageString(value / 100, 1, 2) ?? '';
23232
- }
23233
- case EReportDataType.DURATION: {
23234
- return getTimeDurationLabel(Number(value));
23235
- }
23236
- case EReportDataType.STRING: {
23237
- const fallbackValue = name === EReportColumnKey.CAMPAIGNS ? '' : NONE_VALUE;
23238
- return value ?? fallbackValue;
23239
- }
23240
- case EReportDataType.DAY: {
23241
- return getFormattedByInterval(value, AnalyticInterval.DAY, {
23242
- isExpandDetail: true,
23243
- });
23244
- }
23245
- case EReportDataType.HOUR: {
23246
- return getFormattedByInterval(value, AnalyticInterval.HOUR, {
23247
- isExpandDetail: true,
23248
- });
23249
- }
23250
- case EReportDataType.MONTH: {
23251
- return getFormattedByInterval(value, AnalyticInterval.MONTH, {
23252
- isExpandDetail: true,
23253
- });
23254
- }
23255
- case EReportDataType.YEAR: {
23256
- return getFormattedByInterval(value, AnalyticInterval.YEAR);
23257
- }
23258
- case EReportDataType.WEEK: {
23259
- return getFormattedByInterval(value, AnalyticInterval.WEEK, {
23260
- isExpandDetail: true,
23261
- });
23262
- }
23263
- case EReportDataType.QUARTER: {
23264
- return getFormattedByInterval(value, AnalyticInterval.QUARTER, {
23265
- isExpandDetail: true,
23266
- });
23267
- }
23268
- case EReportDataType.OBJECT:
23269
- case EReportDataType.ARRAY: {
23270
- return value;
23271
- }
23272
- default:
23273
- return `${value}`;
23274
- }
23275
- };
23276
-
23277
- const COLOR_NORMAL = '#FFFFFF';
23278
- const COLOR_ACTIVE = '#F8F8F8';
23279
- const ReportTableSkeleton = ({ rows = 3, columns = 2, startBackgroundColor = 'normal', hiddenPagination = true, showLogo = false, }) => {
23280
- const colors = startBackgroundColor === 'normal' ? [COLOR_NORMAL, COLOR_ACTIVE] : [COLOR_ACTIVE, COLOR_NORMAL];
23281
- const getRowColor = (index) => colors[index % 2];
23282
- const getColJustify = (colIndex) => {
23283
- if (colIndex === 0)
23284
- return 'start';
23285
- if (colIndex === columns - 1)
23286
- return 'end';
23287
- return 'center';
23288
- };
23289
- return (jsxs(Fragment, { children: [jsx("div", { className: cls('GReportTable__Container', {
23290
- 'GReportTable__Container--pagination-hidden': hiddenPagination,
23291
- }), children: jsx("div", { className: "GReportTable__Wrapper", children: jsx("div", { className: "GReportTable__ScrollWrap", children: Array.from({ length: rows }).map((_, rowIndex) => (jsx("div", { className: "GReportTable__Row", children: Array.from({ length: columns }).map((_, colIndex) => (jsx("div", { className: "GReportTable__Cell !border-r-0 px-5", style: {
23292
- backgroundColor: getRowColor(rowIndex),
23293
- ...getColumnLayoutStyles({
23294
- align: getColJustify(colIndex),
23295
- }),
23296
- }, children: jsx(Box, { width: "92px", children: jsx(SkeletonBodyText, { lines: 1 }) }) }, colIndex))) }, rowIndex))) }) }) }), showLogo && (jsx(GInlineCenter, { align: "center", inlineAlign: "center", minHeight: "320px", children: jsx("img", { src: GEMX_LOGO, alt: "Gemx", width: 38, height: 42 }) }))] }));
23297
- };
23298
-
23299
23110
  [IRVariantType.VARIANT_A, IRVariantType.VARIANT_B];
23300
23111
  ({
23301
23112
  [IRVariantType.VARIANT_A]: 'Control',
@@ -23329,6 +23140,57 @@ function getMetricPreviousValue(row, key) {
23329
23140
  return row[getPreviousColumnName(key)];
23330
23141
  }
23331
23142
 
23143
+ var EDimensionKey;
23144
+ (function (EDimensionKey) {
23145
+ EDimensionKey["TIME"] = "time";
23146
+ EDimensionKey["EXPERIMENT_ID"] = "experiment_id";
23147
+ EDimensionKey["VERSION"] = "version";
23148
+ EDimensionKey["VISITOR"] = "visitor_type";
23149
+ EDimensionKey["TRAFFIC_SOURCE"] = "traffic_source";
23150
+ EDimensionKey["DEVICE"] = "device";
23151
+ })(EDimensionKey || (EDimensionKey = {}));
23152
+
23153
+ var ETooltipCategory;
23154
+ (function (ETooltipCategory) {
23155
+ ETooltipCategory["ALPHABETICAL"] = "ALPHABETICAL";
23156
+ ETooltipCategory["NUMERIC"] = "NUMERIC";
23157
+ ETooltipCategory["DATE"] = "DATE";
23158
+ })(ETooltipCategory || (ETooltipCategory = {}));
23159
+ const TooltipPresets = {
23160
+ [ETooltipCategory.ALPHABETICAL]: { ASC: 'A-Z', DESC: 'Z-A' },
23161
+ [ETooltipCategory.NUMERIC]: { ASC: 'Lowest first', DESC: 'Highest first' },
23162
+ [ETooltipCategory.DATE]: { ASC: 'Oldest first', DESC: 'Newest first' },
23163
+ };
23164
+ const DEFAULT_TOOLTIP = TooltipPresets[ETooltipCategory.NUMERIC];
23165
+ const reportOrderTooltip = {
23166
+ day: TooltipPresets[ETooltipCategory.DATE],
23167
+ order_date: TooltipPresets[ETooltipCategory.DATE],
23168
+ month: TooltipPresets[ETooltipCategory.DATE],
23169
+ year: TooltipPresets[ETooltipCategory.DATE],
23170
+ hour: TooltipPresets[ETooltipCategory.DATE],
23171
+ quarter: TooltipPresets[ETooltipCategory.DATE],
23172
+ week: TooltipPresets[ETooltipCategory.DATE],
23173
+ [EDimensionKey.DEVICE]: TooltipPresets[ETooltipCategory.ALPHABETICAL],
23174
+ [EDimensionKey.VISITOR]: TooltipPresets[ETooltipCategory.ALPHABETICAL],
23175
+ [EDimensionKey.VERSION]: TooltipPresets[ETooltipCategory.ALPHABETICAL],
23176
+ [EDimensionKey.TRAFFIC_SOURCE]: TooltipPresets[ETooltipCategory.ALPHABETICAL],
23177
+ };
23178
+
23179
+ const DEFAULT_DIMENSION_LAYOUT = {
23180
+ width: '200px',
23181
+ minWidth: '200px',
23182
+ align: 'start',
23183
+ paddingRight: '28px',
23184
+ headerPaddingRight: '0',
23185
+ };
23186
+ const DEFAULT_METRIC_LAYOUT = {
23187
+ minWidth: '140px',
23188
+ align: 'end',
23189
+ paddingRight: '28px',
23190
+ headerPaddingRight: '0',
23191
+ };
23192
+ const IS_TOTAL_ROW_FIELD = 'isTotalRow';
23193
+
23332
23194
  const useReportTable = ({ dimensions, tableData, metrics }) => {
23333
23195
  const columnsByName = useMemo(() => {
23334
23196
  return tableData.columns.reduce((lookup, column) => {
@@ -23501,6 +23363,114 @@ const useSyncedScroll = ({ columns }) => {
23501
23363
  return { headerRef, bodyRef, scrollbarContainerRef, leftShadowRef, rightShadowRef };
23502
23364
  };
23503
23365
 
23366
+ const getColumnLayoutStyles = (columnLayout, hasTooltipCard) => {
23367
+ return {
23368
+ '--column-cell-min-width': columnLayout.minWidth,
23369
+ '--column-cell-max-width': columnLayout.maxWidth,
23370
+ '--column-cell-justify-content': columnLayout.align,
23371
+ '--column-cell-padding-inline': columnLayout.paddingInline,
23372
+ '--column-first-padding-inline': columnLayout.columnFirstPaddingInline,
23373
+ '--column-wrapper-width': columnLayout.columnWrapperWidth,
23374
+ '--column-cell-padding-right': !hasTooltipCard ? columnLayout.paddingRight : columnLayout.paddingInline,
23375
+ '--column-header-cell-padding-right': !hasTooltipCard
23376
+ ? columnLayout.headerPaddingRight
23377
+ : columnLayout.paddingInline,
23378
+ '--column-dimension-box-shadow': columnLayout.dimensionBoxShadow,
23379
+ '--column-border-right-width': columnLayout.borderRightWidth,
23380
+ };
23381
+ };
23382
+
23383
+ var EOrderDirectionType;
23384
+ (function (EOrderDirectionType) {
23385
+ EOrderDirectionType["ASC"] = "ASC";
23386
+ EOrderDirectionType["DESC"] = "DESC";
23387
+ })(EOrderDirectionType || (EOrderDirectionType = {}));
23388
+
23389
+ const formatReportTableDate = (dateString) => {
23390
+ if (!dateString)
23391
+ return 'None';
23392
+ const date = dayjsTz(dateString);
23393
+ const now = dayjsTz();
23394
+ const yesterday = dayjsTz().subtract(1, 'day');
23395
+ const isToday = date.format('YYYY-MM-DD') === now.format('YYYY-MM-DD');
23396
+ const isYesterday = date.format('YYYY-MM-DD') === yesterday.format('YYYY-MM-DD');
23397
+ if (isToday) {
23398
+ return `Today at ${date.format('HH:mm')}`;
23399
+ }
23400
+ if (isYesterday) {
23401
+ return `Yesterday at ${date.format('HH:mm')}`;
23402
+ }
23403
+ const daysDiff = now.diff(date, 'day');
23404
+ const isWithinWeek = daysDiff >= 0 && daysDiff < 7;
23405
+ if (isWithinWeek) {
23406
+ return `${date.format('dddd')} at ${date.format('HH:mm')}`;
23407
+ }
23408
+ return `${date.format('MMM D')} at ${date.format('hh:mm a')}`;
23409
+ };
23410
+
23411
+ const formatReportData = ({ value, formatter, getTextPrice, name, }) => {
23412
+ const dataTypeIsObjectOrArray = value !== null && (typeof value === 'object' || Array.isArray(value));
23413
+ if (dataTypeIsObjectOrArray)
23414
+ return value;
23415
+ switch (formatter) {
23416
+ case EReportDataType.INTEGER: {
23417
+ return numberWithCommas((value ?? 0).toString());
23418
+ }
23419
+ case EReportDataType.CURRENCY: {
23420
+ return getTextPrice(value, false);
23421
+ }
23422
+ case EReportDataType.DATE: {
23423
+ return formatReportTableDate(value);
23424
+ }
23425
+ case EReportDataType.PERCENT: {
23426
+ if (typeof value !== 'number')
23427
+ return calcPercentageString(0, 1, 2) ?? '';
23428
+ return calcPercentageString(value / 100, 1, 2) ?? '';
23429
+ }
23430
+ case EReportDataType.DURATION: {
23431
+ return getTimeDurationLabel(Number(value));
23432
+ }
23433
+ case EReportDataType.STRING: {
23434
+ const fallbackValue = name === EReportColumnKey.CAMPAIGNS ? '' : NONE_VALUE;
23435
+ return value ?? fallbackValue;
23436
+ }
23437
+ case EReportDataType.DAY: {
23438
+ return getFormattedByInterval(value, AnalyticInterval.DAY, {
23439
+ isExpandDetail: true,
23440
+ });
23441
+ }
23442
+ case EReportDataType.HOUR: {
23443
+ return getFormattedByInterval(value, AnalyticInterval.HOUR, {
23444
+ isExpandDetail: true,
23445
+ });
23446
+ }
23447
+ case EReportDataType.MONTH: {
23448
+ return getFormattedByInterval(value, AnalyticInterval.MONTH, {
23449
+ isExpandDetail: true,
23450
+ });
23451
+ }
23452
+ case EReportDataType.YEAR: {
23453
+ return getFormattedByInterval(value, AnalyticInterval.YEAR);
23454
+ }
23455
+ case EReportDataType.WEEK: {
23456
+ return getFormattedByInterval(value, AnalyticInterval.WEEK, {
23457
+ isExpandDetail: true,
23458
+ });
23459
+ }
23460
+ case EReportDataType.QUARTER: {
23461
+ return getFormattedByInterval(value, AnalyticInterval.QUARTER, {
23462
+ isExpandDetail: true,
23463
+ });
23464
+ }
23465
+ case EReportDataType.OBJECT:
23466
+ case EReportDataType.ARRAY: {
23467
+ return value;
23468
+ }
23469
+ default:
23470
+ return `${value}`;
23471
+ }
23472
+ };
23473
+
23504
23474
  const useReportData = () => {
23505
23475
  const { getTextPrice } = useConvertMoneyContext();
23506
23476
  const formatData = ({ value, formatter, name, }) => {
@@ -23516,58 +23486,11 @@ const useReportData = () => {
23516
23486
  };
23517
23487
  };
23518
23488
 
23519
- const Pagination = ({ totalRows, itemCount, viewAllMetricContent = 'order', showViewAllButton, paginationProps, isPaginationHidden, isMockData, }) => {
23520
- const { t } = useTranslation();
23521
- const { onViewAllStoreOrders } = useReportTableActionsContext();
23522
- const isHasTotalRows = Boolean(totalRows && totalRows > 0);
23523
- const isHasTotalStoreOrders = Boolean(itemCount && itemCount > 0);
23524
- const isShowViewAllStoreOrders = isHasTotalStoreOrders && showViewAllButton;
23525
- const handleClickViewAllStoreOrders = () => {
23526
- onViewAllStoreOrders?.();
23527
- };
23528
- if (isPaginationHidden)
23529
- return null;
23530
- return (jsxs("div", { className: cls('GReportTable__Pagination', {
23531
- 'justify-end': isShowViewAllStoreOrders,
23532
- 'justify-center': isHasTotalRows,
23533
- 'justify-between': (isHasTotalRows || paginationProps) && isShowViewAllStoreOrders,
23534
- }), children: [paginationProps && jsx(GPagination, { ...paginationProps }), isHasTotalRows && (jsx(Text, { variant: "bodyMd", as: "span", children: t('{{count}} rows', { count: totalRows }) })), isShowViewAllStoreOrders && (jsx(GMockDataTooltip, { isMockData: isMockData, children: jsx(Button, { variant: "plain", disabled: isMockData, onClick: handleClickViewAllStoreOrders, children: getViewAllStoreOrdersText() }) }))] }));
23535
- function getViewAllStoreOrdersText() {
23536
- if (itemCount && itemCount > 1) {
23537
- return t('View all store {{metric}}s by date range ({{itemCount}})', {
23538
- itemCount,
23539
- metric: viewAllMetricContent,
23540
- });
23541
- }
23542
- return t('View all store {{metric}} by date range(1)', { metric: viewAllMetricContent });
23543
- }
23544
- };
23545
-
23546
- const ScrollBar = forwardRef(({ isPaginationHidden }, ref) => {
23547
- return (jsx("div", { className: cls('GReportTable__ScrollBarContainer', {
23548
- 'GReportTable__ScrollBarContainer--pagination-hidden': isPaginationHidden,
23549
- }), ref: ref, children: jsx("div", { className: "GReportTable__ScrollBar", children: jsx("div", { className: "GReportTable__ScrollBarContent" }) }) }));
23550
- });
23551
- ScrollBar.displayName = 'ScrollBar';
23552
-
23553
- const WrapperFooter = ({ scrollbarContainerRef, itemCount, totalPaginationRows, showViewAllButton, paginationProps, isPaginationHidden, isMockData, }) => {
23554
- return (jsxs("div", { className: "GReportTable__FooterWrapper", children: [scrollbarContainerRef && jsx(ScrollBar, { ref: scrollbarContainerRef, isPaginationHidden: isPaginationHidden }), jsx(Pagination, { totalRows: totalPaginationRows, itemCount: itemCount, showViewAllButton: showViewAllButton, paginationProps: paginationProps, isPaginationHidden: isPaginationHidden, isMockData: isMockData })] }));
23555
- };
23556
-
23557
- const PreviousCell = ({ previousValue, isMergedWithPrev }) => {
23558
- if (isMergedWithPrev || typeof previousValue !== 'string')
23559
- return null;
23560
- return (jsx(Text, { as: "span", variant: "bodySm", tone: "subdued", children: previousValue }));
23561
- };
23562
-
23563
- const WrapperCell = ({ children, previousValue, isMergedWithPrev, columnLayout, }) => {
23564
- return (jsxs(GInlineCenter, { flexDirection: "column", align: columnLayout?.align, gap: "100", paddingBlock: "200", width: columnLayout?.columnWrapperWidth, children: [children, jsx(PreviousCell, { previousValue: previousValue, isMergedWithPrev: isMergedWithPrev })] }));
23565
- };
23566
-
23567
- const DefaultCell = ({ isMergedWithPrev, value, previousValue, columnLayout, isTotalRow, isDimensionCol, }) => {
23568
- const valueString = typeof value === 'string' ? value : String(value);
23569
- return (jsx(WrapperCell, { previousValue: previousValue, isMergedWithPrev: isMergedWithPrev, columnLayout: columnLayout, children: jsx("div", { className: "w-full min-w-0", children: jsx(GTextTruncated, { as: "span", variant: "bodySm", truncate: true, fontWeight: isTotalRow && !isDimensionCol ? 'semibold' : 'regular', alignment: columnLayout?.align, children: isMergedWithPrev ? '' : toCapitalize(valueString) }) }) }));
23489
+ const ReportTableActionsContext = createContext({});
23490
+ const ReportTableActionsProvider = ({ children, onViewOrderJourney, onViewOrderDetails, onViewAllStoreOrders, }) => {
23491
+ return (jsx(ReportTableActionsContext.Provider, { value: { onViewOrderJourney, onViewOrderDetails, onViewAllStoreOrders }, children: children }));
23570
23492
  };
23493
+ const useReportTableActionsContext = () => useContext(ReportTableActionsContext);
23571
23494
 
23572
23495
  var GVariantBadgeType;
23573
23496
  (function (GVariantBadgeType) {
@@ -23650,7 +23573,7 @@ const CampaignsCellVersion = ({ version }) => {
23650
23573
  };
23651
23574
 
23652
23575
  const CampaignsCell = ({ value, campaignsCellProps, }) => {
23653
- const { orderId, isHideCampaignContent } = campaignsCellProps ?? {};
23576
+ const { orderId, gxId, isHideCampaignContent } = campaignsCellProps ?? {};
23654
23577
  const { t } = useTranslation();
23655
23578
  const { onViewOrderJourney } = useReportTableActionsContext();
23656
23579
  const [active, setActive] = useState(false);
@@ -23664,11 +23587,21 @@ const CampaignsCell = ({ value, campaignsCellProps, }) => {
23664
23587
  'hover:!bg-[#f7f7f7]': !isShowPopupCampaigns,
23665
23588
  }), onClick: isShowPopupCampaigns ? toggleActive : undefined, children: [jsx(CampaignsCellVersion, { version: campaignLeadingToOrder.version }), !isHideCampaignContent && (jsxs(Fragment, { children: [jsx(Box, { minWidth: "0", paddingInlineStart: campaignLeadingToOrder.version ? '200' : '0', children: jsx(GTextTruncated, { as: "span", variant: "bodyMd", tone: "subdued", useWrapper: true, tooltip: { hoverDelay: 300 }, children: campaignLeadingToOrder.campaign_group_name || campaignLeadingToOrder.campaign_name }) }), isShowPopupCampaigns && (jsx("span", { className: "opacity-0 group-hover/GReportTable__Row:opacity-100", children: jsx(Icon, { source: SvgCaretDownIcon }) }))] }))] }), onClose: toggleActive, children: jsxs(Box, { padding: "0", width: "340px", overflowX: "hidden", children: [jsx(Box, { padding: "300", children: jsx(Text, { as: "p", variant: "bodyMd", fontWeight: "semibold", children: t('Experiments visited before order') }) }), jsx(Box, { borderBlockEndWidth: "025", borderBlockStartWidth: "025", borderColor: "border-secondary", children: jsx(Scrollable, { vertical: true, scrollbarWidth: "thin", horizontal: false, className: 'max-h-[216px]', children: jsx(Box, { paddingBlock: "200", children: value.map((campaign, index) => {
23666
23589
  return (jsx(Box, { paddingInline: "300", paddingBlock: "200", children: jsx(Box, { paddingBlock: "050", children: jsxs(InlineStack, { gap: "200", wrap: false, children: [jsx(CampaignsCellVersion, { version: campaign.version }), jsx(Box, { minWidth: "0", children: jsx(GTextTruncated, { as: "span", variant: "bodyMd", tone: "subdued", useWrapper: true, children: campaign.campaign_group_name || campaign.campaign_name }) })] }) }) }, index));
23667
- }) }) }) }), jsx(Box, { padding: "300", children: jsx(Button, { icon: SvgChartLineIcon, fullWidth: true, onClick: () => onViewOrderJourney?.(orderId ?? ''), children: t('View order journey') }) })] }) }));
23590
+ }) }) }) }), jsx(Box, { padding: "300", children: jsx(Button, { icon: SvgChartLineIcon, fullWidth: true, onClick: () => onViewOrderJourney?.(orderId ?? '', gxId), children: t('View order journey') }) })] }) }));
23668
23591
  };
23669
23592
 
23670
23593
  const DateCell = ({ value, isMergedWithPrev }) => (jsx(Text, { as: "span", variant: "bodySm", children: isMergedWithPrev ? '' : value }));
23671
23594
 
23595
+ const PreviousCell = ({ previousValue, isMergedWithPrev }) => {
23596
+ if (isMergedWithPrev || typeof previousValue !== 'string')
23597
+ return null;
23598
+ return (jsx(Text, { as: "span", variant: "bodySm", tone: "subdued", children: previousValue }));
23599
+ };
23600
+
23601
+ const WrapperCell = ({ children, previousValue, isMergedWithPrev, columnLayout, }) => {
23602
+ return (jsxs(GInlineCenter, { flexDirection: "column", align: columnLayout?.align, gap: "100", paddingBlock: "200", width: columnLayout?.columnWrapperWidth, children: [children, jsx(PreviousCell, { previousValue: previousValue, isMergedWithPrev: isMergedWithPrev })] }));
23603
+ };
23604
+
23672
23605
  const GemxIdCell = ({ value, isMergedWithPrev, previousValue, columnLayout }) => {
23673
23606
  const valueString = typeof value === 'string' ? value : String(value);
23674
23607
  return (jsx(WrapperCell, { previousValue: previousValue, isMergedWithPrev: isMergedWithPrev, columnLayout: columnLayout, children: jsx("div", { className: "w-full min-w-0", children: jsx(GTextTruncated, { as: "span", variant: "bodySm", truncate: true, alignment: columnLayout?.align, children: isMergedWithPrev ? '' : valueString }) }) }));
@@ -23735,10 +23668,12 @@ const OrderItem = ({ order }) => {
23735
23668
  return dayjsTz(date).format('MMMM D, YYYY [at] h:mm a');
23736
23669
  };
23737
23670
  const orderId = `${order[EReportColumnKey.ORDER_ID]}`;
23671
+ const rawGxId = order[EReportColumnKey.GEMX_ID];
23672
+ const gxId = rawGxId ? `${rawGxId}` : '';
23738
23673
  const date = `${order[EReportColumnKey.ORDER_DATE]}`;
23739
23674
  if (!orderId)
23740
23675
  return null;
23741
- return (jsx(Box, { padding: "300", borderBlockEndWidth: "025", borderColor: "border", children: jsxs(InlineStack, { align: "space-between", blockAlign: "center", gap: "200", children: [jsxs(BlockStack, { gap: "200", children: [jsx(Text, { as: "p", variant: "bodyMd", children: `ID: ${orderId}` }), jsx(Text, { as: "p", variant: "bodyXs", tone: "subdued", children: formatDate(date) })] }), jsxs(InlineStack, { gap: "100", children: [jsx(Tooltip$1, { content: t('View order details'), children: jsx(Button, { icon: jsx(Icon, { source: SvgOrderIcon, tone: "critical" }), variant: "tertiary", size: "slim", onClick: () => onViewOrderDetails?.(orderId) }) }), jsx(Tooltip$1, { content: t('View order journey'), children: jsx(Button, { icon: jsx(Icon, { source: SvgChartLineIcon, tone: "primary" }), variant: "tertiary", size: "slim", onClick: () => onViewOrderJourney?.(orderId) }) })] })] }) }));
23676
+ return (jsx(Box, { padding: "300", borderBlockEndWidth: "025", borderColor: "border", children: jsxs(InlineStack, { align: "space-between", blockAlign: "center", gap: "200", children: [jsxs(BlockStack, { gap: "200", children: [jsx(Text, { as: "p", variant: "bodyMd", children: `ID: ${orderId}` }), jsx(Text, { as: "p", variant: "bodyXs", tone: "subdued", children: formatDate(date) }), gxId && (jsxs(InlineStack, { gap: "100", blockAlign: "center", children: [jsx(Text, { as: "span", variant: "bodyXs", children: t('GemX ID:') }), jsx(Box, { background: "bg-surface-emphasis-active", paddingBlock: "050", paddingInline: "150", borderRadius: "200", children: jsx(Text, { as: "span", variant: "bodySm", children: jsx("span", { style: { color: 'var(--p-color-text-emphasis-active)' }, children: gxId }) }) })] }))] }), jsxs(InlineStack, { gap: "100", children: [jsx(Tooltip$1, { content: t('View order details'), children: jsx(Button, { icon: jsx(Icon, { source: SvgOrderIcon, tone: "critical" }), variant: "tertiary", size: "slim", onClick: () => onViewOrderDetails?.(orderId) }) }), jsx(Tooltip$1, { content: t('View order journey'), children: jsx(Button, { icon: jsx(Icon, { source: SvgChartLineIcon, tone: "primary" }), variant: "tertiary", size: "slim", onClick: () => onViewOrderJourney?.(orderId, gxId) }) })] })] }) }));
23742
23677
  };
23743
23678
 
23744
23679
  const OrderCell = ({ value, columnLayout, orderCellProps, isPrevious, isTotalRow, isMockData, }) => {
@@ -23772,7 +23707,7 @@ const OrderCellContainer = ({ value, columnLayout, orderCellProps, previousValue
23772
23707
  return (jsxs(BlockStack, { align: "center", children: [jsx(Box, { width: "100%", children: jsx(OrderCell, { value: value, columnLayout: columnLayout, orderCellProps: orderCellProps, isTotalRow: isTotalRow, isMockData: isMockData }) }), typeof previousValue === 'string' && (jsx(Box, { width: "100%", children: jsx(OrderCell, { value: previousValue, columnLayout: columnLayout, orderCellProps: orderCellProps, isPrevious: true, isTotalRow: isTotalRow, isMockData: isMockData }) }))] }));
23773
23708
  };
23774
23709
 
23775
- const OrderIdCell = ({ value, isMockData }) => {
23710
+ const OrderIdCell = ({ value, isMockData, gxId, }) => {
23776
23711
  const { t } = useTranslation();
23777
23712
  const [active, setActive] = useState(false);
23778
23713
  const { onViewOrderJourney, onViewOrderDetails } = useReportTableActionsContext();
@@ -23785,7 +23720,7 @@ const OrderIdCell = ({ value, isMockData }) => {
23785
23720
  id: 'view_order_journey',
23786
23721
  content: t('View order journey'),
23787
23722
  icon: SvgChartLineIcon,
23788
- onAction: () => onViewOrderJourney?.(value),
23723
+ onAction: () => onViewOrderJourney?.(value, gxId),
23789
23724
  },
23790
23725
  {
23791
23726
  id: 'view_order_details',
@@ -23845,10 +23780,10 @@ const cellMap = {
23845
23780
  return null;
23846
23781
  return jsx(CampaignsCell, { value: value, campaignsCellProps: campaignsCellProps });
23847
23782
  },
23848
- [EReportColumnKey.ORDER_ID]: ({ value, isMockData }) => {
23783
+ [EReportColumnKey.ORDER_ID]: ({ value, isMockData, gxId }) => {
23849
23784
  if (!isString(value))
23850
23785
  return null;
23851
- return jsx(OrderIdCell, { value: value, isMockData: isMockData });
23786
+ return jsx(OrderIdCell, { value: value, isMockData: isMockData, gxId: gxId });
23852
23787
  },
23853
23788
  [EReportColumnKey.GEMX_ID]: ({ value, isMergedWithPrev, previousValue, columnLayout }) => {
23854
23789
  if (!isString(value))
@@ -23857,13 +23792,18 @@ const cellMap = {
23857
23792
  },
23858
23793
  };
23859
23794
 
23860
- const TotalCell = ({ value, isTotalRow }) => (jsx(Text, { as: "span", variant: "bodySm", fontWeight: isTotalRow ? 'semibold' : 'regular', children: value }));
23795
+ const DefaultCell = ({ isMergedWithPrev, value, previousValue, columnLayout, isTotalRow, isDimensionCol, }) => {
23796
+ const valueString = typeof value === 'string' ? value : String(value);
23797
+ return (jsx(WrapperCell, { previousValue: previousValue, isMergedWithPrev: isMergedWithPrev, columnLayout: columnLayout, children: jsx("div", { className: "w-full min-w-0", children: jsx(GTextTruncated, { as: "span", variant: "bodySm", truncate: true, fontWeight: isTotalRow && !isDimensionCol ? 'semibold' : 'regular', alignment: columnLayout?.align, children: isMergedWithPrev ? '' : toCapitalize(valueString) }) }) }));
23798
+ };
23861
23799
 
23862
23800
  const NoneCell = ({ isMergedWithPrev, previousValue, columnLayout }) => {
23863
23801
  return (jsx(WrapperCell, { previousValue: previousValue, isMergedWithPrev: isMergedWithPrev, columnLayout: columnLayout, children: jsx("div", { className: "w-[11px] h-[2px] bg-[#8A8A8A]" }) }));
23864
23802
  };
23865
23803
 
23866
- const Cell = ({ value, isMergedWithPrev, columnLayout, name, isDimensionCol, formatter, hasTooltipCard, previousValue, orderCellProps, campaignsCellProps, isTotalRow, isMockData, }) => {
23804
+ const TotalCell = ({ value, isTotalRow }) => (jsx(Text, { as: "span", variant: "bodySm", fontWeight: isTotalRow ? 'semibold' : 'regular', children: value }));
23805
+
23806
+ const Cell = ({ value, gxId, isMergedWithPrev, columnLayout, name, isDimensionCol, formatter, hasTooltipCard, previousValue, orderCellProps, campaignsCellProps, isTotalRow, isMockData, }) => {
23867
23807
  const columnLayoutStyles = getColumnLayoutStyles(columnLayout, hasTooltipCard);
23868
23808
  const { formatData } = useReportData();
23869
23809
  const formattedValue = formatData({ value, formatter, name });
@@ -23880,7 +23820,7 @@ const Cell = ({ value, isMergedWithPrev, columnLayout, name, isDimensionCol, for
23880
23820
  if (formattedValue === NONE_VALUE) {
23881
23821
  Renderer = NoneCell;
23882
23822
  }
23883
- return (jsx(Renderer, { value: formattedValue, name: name, isMergedWithPrev: isMergedWithPrev, previousValue: formattedPreviousValue, columnLayout: columnLayout, orderCellProps: orderCellProps, campaignsCellProps: campaignsCellProps, isTotalRow: isTotalRow, isDimensionCol: isDimensionCol, isMockData: isMockData }));
23823
+ return (jsx(Renderer, { value: formattedValue, gxId: gxId, name: name, isMergedWithPrev: isMergedWithPrev, previousValue: formattedPreviousValue, columnLayout: columnLayout, orderCellProps: orderCellProps, campaignsCellProps: campaignsCellProps, isTotalRow: isTotalRow, isDimensionCol: isDimensionCol, isMockData: isMockData }));
23884
23824
  };
23885
23825
  return (jsx("div", { className: cls('GReportTable__Cell', { 'GReportTable__Cell--dimension': isDimensionCol }), style: cellStyles, children: jsx("div", { className: "GReportTable__CellContent", style: columnLayoutStyles, children: renderContent() }) }));
23886
23826
  };
@@ -23905,7 +23845,8 @@ const Row = ({ row, rowIndex, columns, dimensions, prevRow, columnLayoutMap, ord
23905
23845
  return (jsx("div", { className: "GReportTable__Row group/GReportTable__Row", style: { minWidth }, children: columns.map((col) => {
23906
23846
  const hasTooltipCard = !!col.tooltipCardProps;
23907
23847
  const orderId = row[EReportColumnKey.ORDER_ID]?.toString() ?? '';
23908
- return (jsx(Cell, { value: row[col.name], isTotalRow: row[IS_TOTAL_ROW_FIELD], previousValue: getMetricPreviousValue(row, col.name), isMergedWithPrev: checkMergedWithPrev(col.name), columnLayout: columnLayoutMap[col.name], name: col.name, campaignsCellProps: { orderId, isHideCampaignContent }, isDimensionCol: dimensions.includes(col.name), formatter: col.dataType, hasTooltipCard: hasTooltipCard, orderCellProps: customOrderCellProps, isMockData: isMockData }, col.name));
23848
+ const gxId = row[EReportColumnKey.GEMX_ID]?.toString() ?? '';
23849
+ return (jsx(Cell, { value: row[col.name], gxId: gxId, isTotalRow: row[IS_TOTAL_ROW_FIELD], previousValue: getMetricPreviousValue(row, col.name), isMergedWithPrev: checkMergedWithPrev(col.name), columnLayout: columnLayoutMap[col.name], name: col.name, campaignsCellProps: { orderId, gxId, isHideCampaignContent }, isDimensionCol: dimensions.includes(col.name), formatter: col.dataType, hasTooltipCard: hasTooltipCard, orderCellProps: customOrderCellProps, isMockData: isMockData }, col.name));
23909
23850
  }) }));
23910
23851
  };
23911
23852
 
@@ -24000,6 +23941,68 @@ const WrapperHeader = forwardRef(({ columns, dimensions, row, columnLayoutMap, a
24000
23941
  });
24001
23942
  WrapperHeader.displayName = 'WrapperHeader';
24002
23943
 
23944
+ const Pagination = ({ totalRows, itemCount, viewAllMetricContent = 'order', showViewAllButton, paginationProps, isPaginationHidden, isMockData, }) => {
23945
+ const { t } = useTranslation();
23946
+ const { onViewAllStoreOrders } = useReportTableActionsContext();
23947
+ const isHasTotalRows = Boolean(totalRows && totalRows > 0);
23948
+ const isHasTotalStoreOrders = Boolean(itemCount && itemCount > 0);
23949
+ const isShowViewAllStoreOrders = isHasTotalStoreOrders && showViewAllButton;
23950
+ const handleClickViewAllStoreOrders = () => {
23951
+ onViewAllStoreOrders?.();
23952
+ };
23953
+ if (isPaginationHidden)
23954
+ return null;
23955
+ return (jsxs("div", { className: cls('GReportTable__Pagination', {
23956
+ 'justify-end': isShowViewAllStoreOrders,
23957
+ 'justify-center': isHasTotalRows,
23958
+ 'justify-between': (isHasTotalRows || paginationProps) && isShowViewAllStoreOrders,
23959
+ }), children: [paginationProps && jsx(GPagination, { ...paginationProps }), isHasTotalRows && (jsx(Text, { variant: "bodyMd", as: "span", children: t('{{count}} rows', { count: totalRows }) })), isShowViewAllStoreOrders && (jsx(GMockDataTooltip, { isMockData: isMockData, children: jsx(Button, { variant: "plain", disabled: isMockData, onClick: handleClickViewAllStoreOrders, children: getViewAllStoreOrdersText() }) }))] }));
23960
+ function getViewAllStoreOrdersText() {
23961
+ if (itemCount && itemCount > 1) {
23962
+ return t('View all store {{metric}}s by date range ({{itemCount}})', {
23963
+ itemCount,
23964
+ metric: viewAllMetricContent,
23965
+ });
23966
+ }
23967
+ return t('View all store {{metric}} by date range(1)', { metric: viewAllMetricContent });
23968
+ }
23969
+ };
23970
+
23971
+ const ScrollBar = forwardRef(({ isPaginationHidden }, ref) => {
23972
+ return (jsx("div", { className: cls('GReportTable__ScrollBarContainer', {
23973
+ 'GReportTable__ScrollBarContainer--pagination-hidden': isPaginationHidden,
23974
+ }), ref: ref, children: jsx("div", { className: "GReportTable__ScrollBar", children: jsx("div", { className: "GReportTable__ScrollBarContent" }) }) }));
23975
+ });
23976
+ ScrollBar.displayName = 'ScrollBar';
23977
+
23978
+ const WrapperFooter = ({ scrollbarContainerRef, itemCount, totalPaginationRows, showViewAllButton, paginationProps, isPaginationHidden, isMockData, }) => {
23979
+ return (jsxs("div", { className: "GReportTable__FooterWrapper", children: [scrollbarContainerRef && jsx(ScrollBar, { ref: scrollbarContainerRef, isPaginationHidden: isPaginationHidden }), jsx(Pagination, { totalRows: totalPaginationRows, itemCount: itemCount, showViewAllButton: showViewAllButton, paginationProps: paginationProps, isPaginationHidden: isPaginationHidden, isMockData: isMockData })] }));
23980
+ };
23981
+
23982
+ var GEMX_LOGO = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCAzOCA0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzM4MzQzXzMwMTI3KSI+CjxwYXRoIGQ9Ik0yMi43Nzc4IDEuODk4NjdMMTkuNTU5IDcuNzcyMDZDMTkuNTMyNCA3LjgyNDYyIDE5LjUzMjQgNy44OTAzMiAxOS41NTkgNy45NDI4OEwyNi40NjIyIDIwLjU0MzdDMjYuNTI4NyAyMC42Njg2IDI2LjcwODMgMjAuNjY4NiAyNi43NzQ4IDIwLjU0MzdMMzcuODg3NyAwLjI2Mjc5MkMzNy45NTQyIDAuMTQ0NTM1IDM3Ljg2NzggMCAzNy43MjgxIDBIMjYuMDAzM0MyNC42NTMzIDAgMjMuNDE2MyAwLjcyOTI0NyAyMi43Nzc4IDEuODk4NjdaIiBmaWxsPSIjQ0NDQ0NDIi8+CjxwYXRoIGQ9Ik0xMi4zODI5IDBIMC40NTE5OTVDMC4xMTI4MjEgMCAtMC4xMDY2NDUgMC4zNjEzMzggMC4wNTk2MTY4IDAuNjU2OTc5TDExLjA5OTQgMjAuODEzMUwwLjA1Mjk2NjMgNDAuOTgyNEMtMC4xMDY2NDUgNDEuMjc4IDAuMTA2MTcgNDEuNjM5MyAwLjQ1MTk5NSA0MS42MzkzSDEyLjM1NjNDMTIuNjIyNCA0MS42MzkzIDEyLjg3NTEgNDEuNDk0OCAxMy4wMDE0IDQxLjI1ODNMMjQuMDQxMiAyMS4xMDIyQzI0LjE0NzYgMjAuOTExNiAyNC4xNDc2IDIwLjY3NTEgMjQuMDQxMiAyMC40ODQ2TDEzLjAyOCAwLjM4MTA0OEMxMi45MDE3IDAuMTQ0NTM1IDEyLjY1NTYgMCAxMi4zODI5IDBaIiBmaWxsPSIjQ0NDQ0NDIi8+CjxwYXRoIGQ9Ik0yMi43Nzc4IDM5Ljc5OTdMMTkuNTU5IDMzLjkyNjNDMTkuNTMyNCAzMy44NzM4IDE5LjUzMjQgMzMuODA4MSAxOS41NTkgMzMuNzU1NUwyNi40NjIyIDIxLjE1NDdDMjYuNTI4NyAyMS4wMjk4IDI2LjcwODMgMjEuMDI5OCAyNi43NzQ4IDIxLjE1NDdMMzcuODgxMSA0MS40MzU2QzM3Ljk0NzYgNDEuNTUzOSAzNy44NjExIDQxLjY5ODQgMzcuNzIxNSA0MS42OTg0SDI1Ljk5NjdDMjQuNjQ2NiA0MS42OTg0IDIzLjQwOTYgNDAuOTY5MSAyMi43NzEyIDM5Ljc5OTdIMjIuNzc3OFoiIGZpbGw9IiNDQ0NDQ0MiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8zODM0M18zMDEyNyI+CjxyZWN0IHdpZHRoPSIzNy45MDc3IiBoZWlnaHQ9IjQxLjY5ODUiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==";
23983
+
23984
+ const COLOR_NORMAL = '#FFFFFF';
23985
+ const COLOR_ACTIVE = '#F8F8F8';
23986
+ const ReportTableSkeleton = ({ rows = 3, columns = 2, startBackgroundColor = 'normal', hiddenPagination = true, showLogo = false, }) => {
23987
+ const colors = startBackgroundColor === 'normal' ? [COLOR_NORMAL, COLOR_ACTIVE] : [COLOR_ACTIVE, COLOR_NORMAL];
23988
+ const getRowColor = (index) => colors[index % 2];
23989
+ const getColJustify = (colIndex) => {
23990
+ if (colIndex === 0)
23991
+ return 'start';
23992
+ if (colIndex === columns - 1)
23993
+ return 'end';
23994
+ return 'center';
23995
+ };
23996
+ return (jsxs(Fragment, { children: [jsx("div", { className: cls('GReportTable__Container', {
23997
+ 'GReportTable__Container--pagination-hidden': hiddenPagination,
23998
+ }), children: jsx("div", { className: "GReportTable__Wrapper", children: jsx("div", { className: "GReportTable__ScrollWrap", children: Array.from({ length: rows }).map((_, rowIndex) => (jsx("div", { className: "GReportTable__Row", children: Array.from({ length: columns }).map((_, colIndex) => (jsx("div", { className: "GReportTable__Cell !border-r-0 px-5", style: {
23999
+ backgroundColor: getRowColor(rowIndex),
24000
+ ...getColumnLayoutStyles({
24001
+ align: getColJustify(colIndex),
24002
+ }),
24003
+ }, children: jsx(Box, { width: "92px", children: jsx(SkeletonBodyText, { lines: 1 }) }) }, colIndex))) }, rowIndex))) }) }) }), showLogo && (jsx(GInlineCenter, { align: "center", inlineAlign: "center", minHeight: "320px", children: jsx("img", { src: GEMX_LOGO, alt: "Gemx", width: 38, height: 42 }) }))] }));
24004
+ };
24005
+
24003
24006
  const mockDimensions = ['session_device_type', 'month', 'session_country', 'session_device_os'];
24004
24007
  const mockMetrics = ['online_store_visitors', 'sessions', 'bounces'];
24005
24008
  const ReportTable = ({ dimensions = mockDimensions, metrics = mockMetrics, data, activeColumn, orderBy, options, paginationProps, itemCount, dimensionLayout, metricLayouts, orderCellProps, isHideCampaignContent = false, showViewAllButton, emptyStateComponent, isLoading, isMockData, onChangeOrderBy, onViewAllStoreOrders, onViewOrderJourney, onViewOrderDetails, skeletons, }) => {
@@ -24055,23 +24058,23 @@ const ORDER_LISTING_DIMENSION_LAYOUT = {
24055
24058
  const METRIC_COLUMN_MAX_WIDTH = `max(var(--column-cell-min-width), calc(100% - ${ORDER_LISTING_DIMENSION_LAYOUT.width}))`;
24056
24059
  const ORDER_LISTING_METRIC_LAYOUTS = {
24057
24060
  [EReportColumnKey.GEMX_ID]: {
24058
- minWidth: '119.5px',
24061
+ minWidth: '120px',
24059
24062
  maxWidth: METRIC_COLUMN_MAX_WIDTH,
24060
24063
  align: 'start',
24061
24064
  columnWrapperWidth: '100%',
24062
24065
  },
24063
24066
  [EReportColumnKey.ORDER_DATE]: {
24064
- minWidth: '180px',
24067
+ minWidth: '170px',
24065
24068
  maxWidth: METRIC_COLUMN_MAX_WIDTH,
24066
24069
  align: 'start',
24067
24070
  },
24068
24071
  [EReportColumnKey.TOTAL]: {
24069
- minWidth: '120px',
24072
+ minWidth: '96px',
24070
24073
  maxWidth: METRIC_COLUMN_MAX_WIDTH,
24071
24074
  align: 'end',
24072
24075
  },
24073
24076
  [EReportColumnKey.CAMPAIGNS]: {
24074
- minWidth: '246px',
24077
+ minWidth: '128px',
24075
24078
  maxWidth: METRIC_COLUMN_MAX_WIDTH,
24076
24079
  align: 'start',
24077
24080
  columnWrapperWidth: '100%',
@@ -24092,7 +24095,7 @@ const ORDER_LISTING_METRIC_LAYOUTS = {
24092
24095
  align: 'start',
24093
24096
  },
24094
24097
  [EReportColumnKey.ITEMS]: {
24095
- minWidth: '140px',
24098
+ minWidth: '120px',
24096
24099
  maxWidth: METRIC_COLUMN_MAX_WIDTH,
24097
24100
  align: 'start',
24098
24101
  },
@@ -24771,7 +24774,7 @@ const GemxIdBadge = () => {
24771
24774
  };
24772
24775
 
24773
24776
  const JourneyDateBadge = ({ content }) => {
24774
- return (jsx(Box, { background: "bg-surface-secondary", paddingBlock: "100", paddingInline: "200", borderRadius: "200", minWidth: "110px", children: jsx(GBlockCenter, { children: jsx(Text, { as: "p", variant: "bodyMd", fontWeight: "medium", children: content }) }) }));
24777
+ return (jsx(Box, { background: "bg-surface-secondary", paddingBlock: "100", paddingInline: "200", borderRadius: "200", minWidth: "97px", children: jsx(GBlockCenter, { children: jsx(Text, { as: "p", variant: "bodyMd", fontWeight: "medium", children: content }) }) }));
24775
24778
  };
24776
24779
 
24777
24780
  const JourneyIdBadge = ({ id, type = 'order' }) => {
@@ -25023,4 +25026,4 @@ const useStickyFilterBoxProps = ({ id }) => {
25023
25026
  };
25024
25027
  };
25025
25028
 
25026
- export { ANALYTICS_METRIC_TOOLTIP, AnalyticModeSelector, CAMPAIGN_BACKGROUND_MAIN, CHART_MIN_HEIGHT, COMPARE_DATE_TIME_FILTERS_MAP, CardJourneyAnalysis, CardPathAnalysis, CompareDateTimePickerAlias, ConvertMoneyProvider, CurrencySelector, DATE_TIME_COMPARISON_FILTERS, DEFAULT_CURRENCY_ANALYTIC, DEFAULT_CURRENT_PERIOD_LABEL, DEFAULT_PREVIOUS_PERIOD_LABEL, DEFAULT_SELECTED_COLUMNS_FOR_EXPERIMENT, DateTimeFilterInputs, DateTimeFilters, DateTimePickerContext, DateTimePickerProvider, EJourneyEvent, EReportSource, FUNNEL_POPOVER_KEY, GModalOrderJourney, GSelectableMetricChartCard, GTimePicker, IVariantType, MOCK_DATA_PATH_ANALYSIS, MainDateTimePickerAlias, MetricChartProvider, MetricDonutChartCard, ORDER_COLUMN_MAPPING, ORDER_LISTING_COLUMNS, ORDER_LISTING_CONFIG, ORDER_LISTING_DIMENSIONS, ORDER_LISTING_DIMENSION_LAYOUT, ORDER_LISTING_LATEST_COLUMNS_FOR_PAGE, ORDER_LISTING_METRICS, ORDER_LISTING_METRIC_LAYOUTS, OrderJourneyProvider, OrderListingLatestTable, OrderListingTable$1 as OrderListingTable, PLACEHOLDER_VALUE$1 as PLACEHOLDER_VALUE, PREVIOUS_PERIOD_FILTER, PathAnalysisConfigProvider, PathAnalysisContext, PathAnalysisProvider, SERIES_COLORS, SORT_ORDER_LISTING_DEFAULT, SingleMetricChartCard, TARGET_CHANNEL, TARGET_DEVICES, TARGET_VISITOR, THUMB_PRODUCT_DEFAULT, TREND_TONE, TimezoneProvider, convertDateToTz, convertToDateTimeFilters, createLastDaysRange, dayjsTz, dayjsTzToDate, dayjsTzToLocalTZ, formatDate, formatDateTimeRange, formatDayjs, formatMs, formatTime, formatTimeRange, getDateRangeTitle, getDateTimeFilterBase, getDateTimeFilterByAlias, getDateTimeFilterMapping, getEndOfDayBy, getInitialTimezone, getLast12Months, getLast30Days, getLast365Days, getLast7Days, getLast90Days, getLastMonth, getLastYear, getMonthAndYearByDateFilter, getNoComparison, getPreviousMonth, getPreviousPeriod, getPreviousQuarter, getPreviousWeek, getPreviousYear, getToday, getVersionDateDescription, getVersionDateRangeTitle, getYesterday, isDate, isMidnight, isSameDayTimestamp, isValidDate, isValidYearMonthDayDateString, parseYearMonthDayDateString, setTz, useConvertMoneyContext, useCurrencyRatesStore, useDateTimeFilter, useDateTimePicker, useDateTimePickerContext, useFunnelChartStore, useGModalOrderJourney, useIsStickyById, useOrderColumnsSelectorStore, useOrderControlStore, useOrderJourneyContext, usePathAnalysisCampaignStore, usePathAnalysisConfig, usePathAnalysisContext, usePathAnalysisStore, useStickyFilterBoxProps, useTimezoneContext, useVersionDateTimeFilters };
25029
+ export { ANALYTICS_METRIC_TOOLTIP, AnalyticModeSelector, CAMPAIGN_BACKGROUND_MAIN, CHART_MIN_HEIGHT, COMPARE_DATE_TIME_FILTERS_MAP, CardJourneyAnalysis, CardPathAnalysis, CompareDateTimePickerAlias, ConvertMoneyProvider, CurrencySelector, DATE_TIME_COMPARISON_FILTERS, DEFAULT_CURRENCY_ANALYTIC, DEFAULT_CURRENT_PERIOD_LABEL, DEFAULT_PREVIOUS_PERIOD_LABEL, DEFAULT_SELECTED_COLUMNS_FOR_EXPERIMENT, DateTimeFilterInputs, DateTimeFilters, DateTimePickerContext, DateTimePickerProvider, EJourneyEvent, EReportSource, FUNNEL_POPOVER_KEY, GModalOrderJourney, GSelectableMetricChartCard, GTimePicker, IVariantType, MOCK_DATA_PATH_ANALYSIS, MainDateTimePickerAlias, MetricChartProvider, MetricDonutChartCard, ORDER_COLUMN_MAPPING, ORDER_LISTING_COLUMNS, ORDER_LISTING_CONFIG, ORDER_LISTING_DIMENSIONS, ORDER_LISTING_DIMENSION_LAYOUT, ORDER_LISTING_LATEST_COLUMNS_FOR_PAGE, ORDER_LISTING_METRICS, ORDER_LISTING_METRIC_LAYOUTS, OrderJourneyProvider, OrderListingLatestTable, OrderListingTable$1 as OrderListingTable, PLACEHOLDER_VALUE$1 as PLACEHOLDER_VALUE, PREVIOUS_PERIOD_FILTER, PathAnalysisConfigProvider, PathAnalysisContext, PathAnalysisProvider, ReportTable, ReportTableSkeleton, SERIES_COLORS, SORT_ORDER_LISTING_DEFAULT, SingleMetricChartCard, TARGET_CHANNEL, TARGET_DEVICES, TARGET_VISITOR, THUMB_PRODUCT_DEFAULT, TREND_TONE, TimezoneProvider, convertDateToTz, convertToDateTimeFilters, createLastDaysRange, dayjsTz, dayjsTzToDate, dayjsTzToLocalTZ, formatDate, formatDateTimeRange, formatDayjs, formatMs, formatReportData, formatTime, formatTimeRange, getDateRangeTitle, getDateTimeFilterBase, getDateTimeFilterByAlias, getDateTimeFilterMapping, getEndOfDayBy, getInitialTimezone, getLast12Months, getLast30Days, getLast365Days, getLast7Days, getLast90Days, getLastMonth, getLastYear, getMonthAndYearByDateFilter, getNoComparison, getPreviousMonth, getPreviousPeriod, getPreviousQuarter, getPreviousWeek, getPreviousYear, getToday, getVersionDateDescription, getVersionDateRangeTitle, getYesterday, isDate, isMidnight, isSameDayTimestamp, isValidDate, isValidYearMonthDayDateString, parseYearMonthDayDateString, setTz, useConvertMoneyContext, useCurrencyRatesStore, useDateTimeFilter, useDateTimePicker, useDateTimePickerContext, useFunnelChartStore, useGModalOrderJourney, useIsStickyById, useOrderColumnsSelectorStore, useOrderControlStore, useOrderJourneyContext, usePathAnalysisCampaignStore, usePathAnalysisConfig, usePathAnalysisContext, usePathAnalysisStore, useStickyFilterBoxProps, useTimezoneContext, useVersionDateTimeFilters };