@gem-sdk/analytics 0.1.0-staging.3 → 0.1.0-staging.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/esm/components/GModalOrderJourney/GModalOrderJourney.d.ts +20 -0
  2. package/dist/esm/components/GModalOrderJourney/components/OrderJourneySkeleton.d.ts +1 -0
  3. package/dist/esm/components/GModalOrderJourney/components/index.d.ts +1 -0
  4. package/dist/esm/components/GModalOrderJourney/context/OrderJourneyContext.d.ts +6 -0
  5. package/dist/esm/components/GModalOrderJourney/context/index.d.ts +1 -0
  6. package/dist/esm/components/GModalOrderJourney/hooks/index.d.ts +1 -0
  7. package/dist/esm/components/GModalOrderJourney/hooks/useGModalOrderJourney.d.ts +7 -0
  8. package/dist/esm/components/GModalOrderJourney/index.d.ts +4 -0
  9. package/dist/esm/components/GModalOrderJourney/types/index.d.ts +4 -0
  10. package/dist/esm/components/GModalOrderJourney/utils/index.d.ts +28 -0
  11. package/dist/esm/components/OrderAnalytic/types/order.d.ts +32 -0
  12. package/dist/esm/components/index.d.ts +1 -0
  13. package/dist/esm/gemxql.js +5 -0
  14. package/dist/esm/gemxql.mjs +5 -0
  15. package/dist/esm/hooks/index.d.ts +1 -0
  16. package/dist/esm/hooks/usePreventBodyScroll.d.ts +3 -0
  17. package/dist/esm/index.js +596 -9
  18. package/dist/esm/index.mjs +596 -9
  19. package/dist/esm/shared/components/GDotInline/GDotInline.d.ts +5 -0
  20. package/dist/esm/shared/components/GDotInline/index.d.ts +1 -0
  21. package/dist/esm/shared/components/GModal/GModal.d.ts +14 -0
  22. package/dist/esm/shared/components/GModal/index.d.ts +1 -0
  23. package/dist/esm/shared/components/GSpinner/GSpinner.d.ts +5 -0
  24. package/dist/esm/shared/components/GSpinner/index.d.ts +1 -0
  25. package/dist/esm/shared/components/index.d.ts +3 -0
  26. package/dist/esm/shared/journey/common/JourneyContainer/components/JourneyContainer.d.ts +10 -0
  27. package/dist/esm/shared/journey/common/JourneyContainer/components/JourneyTimeline.d.ts +1 -0
  28. package/dist/esm/shared/journey/common/JourneyContainer/components/index.d.ts +2 -0
  29. package/dist/esm/shared/journey/common/JourneyContainer/index.d.ts +1 -0
  30. package/dist/esm/shared/journey/common/index.d.ts +1 -0
  31. package/dist/esm/shared/journey/index.d.ts +2 -0
  32. package/dist/esm/shared/journey/ui/JourneyEvents/components/AcceptedPostPurchaseOffer/AcceptedPostPurchaseOffer.d.ts +10 -0
  33. package/dist/esm/shared/journey/ui/JourneyEvents/components/AcceptedPostPurchaseOffer/index.d.ts +1 -0
  34. package/dist/esm/shared/journey/ui/JourneyEvents/components/CheckoutCompleted/CheckoutCompleted.d.ts +9 -0
  35. package/dist/esm/shared/journey/ui/JourneyEvents/components/CheckoutCompleted/index.d.ts +1 -0
  36. package/dist/esm/shared/journey/ui/JourneyEvents/components/CheckoutItems.d.ts +6 -0
  37. package/dist/esm/shared/journey/ui/JourneyEvents/components/CheckoutStarted/CheckoutStarted.d.ts +10 -0
  38. package/dist/esm/shared/journey/ui/JourneyEvents/components/CheckoutStarted/CheckoutStartedDetail.d.ts +8 -0
  39. package/dist/esm/shared/journey/ui/JourneyEvents/components/CheckoutStarted/index.d.ts +2 -0
  40. package/dist/esm/shared/journey/ui/JourneyEvents/components/PageViewed/PageViewed.d.ts +9 -0
  41. package/dist/esm/shared/journey/ui/JourneyEvents/components/PageViewed/index.d.ts +1 -0
  42. package/dist/esm/shared/journey/ui/JourneyEvents/components/ProductAddedToCart/ProductAddedToCart.d.ts +10 -0
  43. package/dist/esm/shared/journey/ui/JourneyEvents/components/ProductAddedToCart/index.d.ts +1 -0
  44. package/dist/esm/shared/journey/ui/JourneyEvents/components/ProductQuantity/ProductQuantity.d.ts +6 -0
  45. package/dist/esm/shared/journey/ui/JourneyEvents/components/ProductQuantity/index.d.ts +1 -0
  46. package/dist/esm/shared/journey/ui/JourneyEvents/components/ProductRemovedFromCart/ProductRemovedFromCart.d.ts +10 -0
  47. package/dist/esm/shared/journey/ui/JourneyEvents/components/ProductRemovedFromCart/index.d.ts +1 -0
  48. package/dist/esm/shared/journey/ui/JourneyEvents/components/index.d.ts +6 -0
  49. package/dist/esm/shared/journey/ui/JourneyEvents/constants/event.d.ts +13 -0
  50. package/dist/esm/shared/journey/ui/JourneyEvents/constants/index.d.ts +1 -0
  51. package/dist/esm/shared/journey/ui/JourneyEvents/index.d.ts +2 -0
  52. package/dist/esm/shared/journey/ui/JourneyEvents/types.d.ts +2 -0
  53. package/dist/esm/shared/journey/ui/JourneyGroup/JourneyGroup.d.ts +7 -0
  54. package/dist/esm/shared/journey/ui/JourneyGroup/index.d.ts +1 -0
  55. package/dist/esm/shared/journey/ui/JourneyItem/components/EventMarkerIcon.d.ts +2 -0
  56. package/dist/esm/shared/journey/ui/JourneyItem/components/JourneyDetail.d.ts +5 -0
  57. package/dist/esm/shared/journey/ui/JourneyItem/components/JourneyItem.d.ts +9 -0
  58. package/dist/esm/shared/journey/ui/JourneyItem/components/JourneyTime.d.ts +9 -0
  59. package/dist/esm/shared/journey/ui/JourneyItem/components/QuantityWrapper.d.ts +5 -0
  60. package/dist/esm/shared/journey/ui/JourneyItem/components/index.d.ts +3 -0
  61. package/dist/esm/shared/journey/ui/JourneyItem/index.d.ts +2 -0
  62. package/dist/esm/shared/journey/ui/JourneyItem/types/events.d.ts +18 -0
  63. package/dist/esm/shared/journey/ui/JourneyItem/types/index.d.ts +1 -0
  64. package/dist/esm/shared/journey/ui/JourneyTitle/components/JourneyDateBadge.d.ts +5 -0
  65. package/dist/esm/shared/journey/ui/JourneyTitle/components/JourneyIdBadge.d.ts +6 -0
  66. package/dist/esm/shared/journey/ui/JourneyTitle/components/JourneyLoadMore.d.ts +6 -0
  67. package/dist/esm/shared/journey/ui/JourneyTitle/components/JourneyTitle.d.ts +9 -0
  68. package/dist/esm/shared/journey/ui/JourneyTitle/components/index.d.ts +1 -0
  69. package/dist/esm/shared/journey/ui/JourneyTitle/index.d.ts +1 -0
  70. package/dist/esm/shared/journey/ui/index.d.ts +3 -0
  71. package/dist/esm/shared/journey/ui/type.d.ts +2 -0
  72. package/dist/esm/types/campaign.d.ts +4 -0
  73. package/dist/esm/types.js +6 -1
  74. package/dist/esm/types.mjs +6 -1
  75. package/dist/esm/utils/array.d.ts +1 -0
  76. package/dist/esm/utils/date-time.d.ts +1 -0
  77. package/dist/esm/utils/index.d.ts +3 -0
  78. package/dist/esm/utils/is-browser.d.ts +1 -0
  79. package/dist/style.css +1 -1
  80. package/dist/umd/esm/components/GModalOrderJourney/GModalOrderJourney.d.ts +20 -0
  81. package/dist/umd/esm/components/GModalOrderJourney/components/OrderJourneySkeleton.d.ts +1 -0
  82. package/dist/umd/esm/components/GModalOrderJourney/components/index.d.ts +1 -0
  83. package/dist/umd/esm/components/GModalOrderJourney/context/OrderJourneyContext.d.ts +6 -0
  84. package/dist/umd/esm/components/GModalOrderJourney/context/index.d.ts +1 -0
  85. package/dist/umd/esm/components/GModalOrderJourney/hooks/index.d.ts +1 -0
  86. package/dist/umd/esm/components/GModalOrderJourney/hooks/useGModalOrderJourney.d.ts +7 -0
  87. package/dist/umd/esm/components/GModalOrderJourney/index.d.ts +4 -0
  88. package/dist/umd/esm/components/GModalOrderJourney/types/index.d.ts +4 -0
  89. package/dist/umd/esm/components/GModalOrderJourney/utils/index.d.ts +28 -0
  90. package/dist/umd/esm/components/OrderAnalytic/types/order.d.ts +32 -0
  91. package/dist/umd/esm/components/index.d.ts +1 -0
  92. package/dist/umd/esm/hooks/index.d.ts +1 -0
  93. package/dist/umd/esm/hooks/usePreventBodyScroll.d.ts +3 -0
  94. package/dist/umd/esm/shared/components/GDotInline/GDotInline.d.ts +5 -0
  95. package/dist/umd/esm/shared/components/GDotInline/index.d.ts +1 -0
  96. package/dist/umd/esm/shared/components/GModal/GModal.d.ts +14 -0
  97. package/dist/umd/esm/shared/components/GModal/index.d.ts +1 -0
  98. package/dist/umd/esm/shared/components/GSpinner/GSpinner.d.ts +5 -0
  99. package/dist/umd/esm/shared/components/GSpinner/index.d.ts +1 -0
  100. package/dist/umd/esm/shared/components/index.d.ts +3 -0
  101. package/dist/umd/esm/shared/journey/common/JourneyContainer/components/JourneyContainer.d.ts +10 -0
  102. package/dist/umd/esm/shared/journey/common/JourneyContainer/components/JourneyTimeline.d.ts +1 -0
  103. package/dist/umd/esm/shared/journey/common/JourneyContainer/components/index.d.ts +2 -0
  104. package/dist/umd/esm/shared/journey/common/JourneyContainer/index.d.ts +1 -0
  105. package/dist/umd/esm/shared/journey/common/index.d.ts +1 -0
  106. package/dist/umd/esm/shared/journey/index.d.ts +2 -0
  107. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/AcceptedPostPurchaseOffer/AcceptedPostPurchaseOffer.d.ts +10 -0
  108. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/AcceptedPostPurchaseOffer/index.d.ts +1 -0
  109. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/CheckoutCompleted/CheckoutCompleted.d.ts +9 -0
  110. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/CheckoutCompleted/index.d.ts +1 -0
  111. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/CheckoutItems.d.ts +6 -0
  112. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/CheckoutStarted/CheckoutStarted.d.ts +10 -0
  113. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/CheckoutStarted/CheckoutStartedDetail.d.ts +8 -0
  114. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/CheckoutStarted/index.d.ts +2 -0
  115. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/PageViewed/PageViewed.d.ts +9 -0
  116. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/PageViewed/index.d.ts +1 -0
  117. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/ProductAddedToCart/ProductAddedToCart.d.ts +10 -0
  118. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/ProductAddedToCart/index.d.ts +1 -0
  119. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/ProductQuantity/ProductQuantity.d.ts +6 -0
  120. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/ProductQuantity/index.d.ts +1 -0
  121. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/ProductRemovedFromCart/ProductRemovedFromCart.d.ts +10 -0
  122. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/ProductRemovedFromCart/index.d.ts +1 -0
  123. package/dist/umd/esm/shared/journey/ui/JourneyEvents/components/index.d.ts +6 -0
  124. package/dist/umd/esm/shared/journey/ui/JourneyEvents/constants/event.d.ts +13 -0
  125. package/dist/umd/esm/shared/journey/ui/JourneyEvents/constants/index.d.ts +1 -0
  126. package/dist/umd/esm/shared/journey/ui/JourneyEvents/index.d.ts +2 -0
  127. package/dist/umd/esm/shared/journey/ui/JourneyEvents/types.d.ts +2 -0
  128. package/dist/umd/esm/shared/journey/ui/JourneyGroup/JourneyGroup.d.ts +7 -0
  129. package/dist/umd/esm/shared/journey/ui/JourneyGroup/index.d.ts +1 -0
  130. package/dist/umd/esm/shared/journey/ui/JourneyItem/components/EventMarkerIcon.d.ts +2 -0
  131. package/dist/umd/esm/shared/journey/ui/JourneyItem/components/JourneyDetail.d.ts +5 -0
  132. package/dist/umd/esm/shared/journey/ui/JourneyItem/components/JourneyItem.d.ts +9 -0
  133. package/dist/umd/esm/shared/journey/ui/JourneyItem/components/JourneyTime.d.ts +9 -0
  134. package/dist/umd/esm/shared/journey/ui/JourneyItem/components/QuantityWrapper.d.ts +5 -0
  135. package/dist/umd/esm/shared/journey/ui/JourneyItem/components/index.d.ts +3 -0
  136. package/dist/umd/esm/shared/journey/ui/JourneyItem/index.d.ts +2 -0
  137. package/dist/umd/esm/shared/journey/ui/JourneyItem/types/events.d.ts +18 -0
  138. package/dist/umd/esm/shared/journey/ui/JourneyItem/types/index.d.ts +1 -0
  139. package/dist/umd/esm/shared/journey/ui/JourneyTitle/components/JourneyDateBadge.d.ts +5 -0
  140. package/dist/umd/esm/shared/journey/ui/JourneyTitle/components/JourneyIdBadge.d.ts +6 -0
  141. package/dist/umd/esm/shared/journey/ui/JourneyTitle/components/JourneyLoadMore.d.ts +6 -0
  142. package/dist/umd/esm/shared/journey/ui/JourneyTitle/components/JourneyTitle.d.ts +9 -0
  143. package/dist/umd/esm/shared/journey/ui/JourneyTitle/components/index.d.ts +1 -0
  144. package/dist/umd/esm/shared/journey/ui/JourneyTitle/index.d.ts +1 -0
  145. package/dist/umd/esm/shared/journey/ui/index.d.ts +3 -0
  146. package/dist/umd/esm/shared/journey/ui/type.d.ts +2 -0
  147. package/dist/umd/esm/types/campaign.d.ts +4 -0
  148. package/dist/umd/esm/utils/array.d.ts +1 -0
  149. package/dist/umd/esm/utils/date-time.d.ts +1 -0
  150. package/dist/umd/esm/utils/index.d.ts +3 -0
  151. package/dist/umd/esm/utils/is-browser.d.ts +1 -0
  152. package/dist/umd/gemxql.js +1 -1
  153. package/dist/umd/index.js +1 -1
  154. package/dist/umd/types.js +1 -1
  155. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use client"
2
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
- import { Text, Box, InlineStack, Icon, InlineGrid, Tooltip as Tooltip$1, Popover, BlockStack, List, Button, Checkbox, RadioButton, ActionList, Link, SkeletonDisplayText, Pagination as Pagination$1, Card, SkeletonBodyText, TextField, Collapsible, useBreakpoints, Select, Scrollable, OptionList, DatePicker, ButtonGroup, Divider, Spinner, Badge } from '@shopify/polaris';
3
+ import { Text, Box, InlineStack, Icon, InlineGrid, Tooltip as Tooltip$1, Popover, BlockStack, List, Button, Checkbox, RadioButton, ActionList, Link, SkeletonDisplayText, Pagination as Pagination$1, Spinner, Modal, Card, SkeletonBodyText, TextField, Collapsible, useBreakpoints, Select, Scrollable, OptionList, DatePicker, ButtonGroup, Divider, Badge } from '@shopify/polaris';
4
4
  import * as React from 'react';
5
5
  import React__default, { useMemo, useCallback, forwardRef, useState, useRef, useImperativeHandle, useEffect, Fragment as Fragment$1, createContext, useContext, createElement, useLayoutEffect, memo, Component } from 'react';
6
6
  import dayjs from 'dayjs';
@@ -213,6 +213,11 @@ var ICampaignType;
213
213
  ICampaignType["TEMPLATE_BUNDLE"] = "TEMPLATE_BUNDLE";
214
214
  // THEME = 'THEME',
215
215
  })(ICampaignType || (ICampaignType = {}));
216
+ var IVariantType$1;
217
+ (function (IVariantType) {
218
+ IVariantType["VARIANT_A"] = "A";
219
+ IVariantType["VARIANT_B"] = "B";
220
+ })(IVariantType$1 || (IVariantType$1 = {}));
216
221
 
217
222
  const TARGET_VISITOR = [
218
223
  { value: EVisitorType.NEW, label: 'New' },
@@ -307,6 +312,20 @@ var SvgCaretDownIcon = function SvgCaretDownIcon(props) {
307
312
  };
308
313
  SvgCaretDownIcon.displayName = "CaretDownIcon";
309
314
 
315
+ var SvgCartIcon = function SvgCartIcon(props) {
316
+ return /*#__PURE__*/React__default.createElement("svg", Object.assign({
317
+ viewBox: "0 0 20 20"
318
+ }, props), /*#__PURE__*/React__default.createElement("path", {
319
+ fillRule: "evenodd",
320
+ d: "M2.5 3.75a.75.75 0 0 1 .75-.75h1.612a1.75 1.75 0 0 1 1.732 1.5h9.656a.75.75 0 0 1 .748.808l-.358 4.653a2.75 2.75 0 0 1-2.742 2.539h-6.351l.093.78a.25.25 0 0 0 .248.22h6.362a.75.75 0 0 1 0 1.5h-6.362a1.75 1.75 0 0 1-1.738-1.543l-1.04-8.737a.25.25 0 0 0-.248-.22h-1.612a.75.75 0 0 1-.75-.75Zm4.868 7.25h6.53a1.25 1.25 0 0 0 1.246-1.154l.296-3.846h-8.667l.595 5Z"
321
+ }), /*#__PURE__*/React__default.createElement("path", {
322
+ d: "M10 17a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"
323
+ }), /*#__PURE__*/React__default.createElement("path", {
324
+ d: "M15 17a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"
325
+ }));
326
+ };
327
+ SvgCartIcon.displayName = "CartIcon";
328
+
310
329
  var SvgChartLineIcon = function SvgChartLineIcon(props) {
311
330
  return /*#__PURE__*/React__default.createElement("svg", Object.assign({
312
331
  viewBox: "0 0 20 20"
@@ -357,6 +376,39 @@ var SvgChevronUpIcon = function SvgChevronUpIcon(props) {
357
376
  };
358
377
  SvgChevronUpIcon.displayName = "ChevronUpIcon";
359
378
 
379
+ var SvgCursorIcon = function SvgCursorIcon(props) {
380
+ return /*#__PURE__*/React__default.createElement("svg", Object.assign({
381
+ viewBox: "0 0 20 20"
382
+ }, props), /*#__PURE__*/React__default.createElement("path", {
383
+ d: "M10.5 3.75a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0v-2.5Z"
384
+ }), /*#__PURE__*/React__default.createElement("path", {
385
+ d: "M14.28 6.28a.75.75 0 0 0-1.06-1.06l-1 1a.75.75 0 0 0 1.06 1.06l1-1Z"
386
+ }), /*#__PURE__*/React__default.createElement("path", {
387
+ d: "M7.28 13.28a.75.75 0 0 0-1.06-1.06l-1 1a.75.75 0 1 0 1.06 1.06l1-1Z"
388
+ }), /*#__PURE__*/React__default.createElement("path", {
389
+ d: "M7 9.75a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h2.5a.75.75 0 0 1 .75.75Z"
390
+ }), /*#__PURE__*/React__default.createElement("path", {
391
+ d: "M5.97 7.03a.75.75 0 0 0 1.06-1.06l-1.75-1.75a.75.75 0 0 0-1.06 1.06l1.75 1.75Z"
392
+ }), /*#__PURE__*/React__default.createElement("path", {
393
+ fillRule: "evenodd",
394
+ d: "M8.22 8.22a.75.75 0 0 1 .767-.181l7.5 2.5a.75.75 0 0 1 .293 1.241l-1.97 1.97 1.97 1.97a.75.75 0 1 1-1.06 1.06l-1.97-1.97-1.97 1.97a.75.75 0 0 1-1.241-.293l-2.5-7.5a.75.75 0 0 1 .18-.767Zm4.998 5.001.002-.001.001-.002 1.64-1.64-4.925-1.642 1.642 4.926 1.64-1.64Z"
395
+ }), /*#__PURE__*/React__default.createElement("path", {
396
+ d: "M10.5 3.75a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0v-2.5Z"
397
+ }), /*#__PURE__*/React__default.createElement("path", {
398
+ d: "M14.28 6.28a.75.75 0 0 0-1.06-1.06l-1 1a.75.75 0 0 0 1.06 1.06l1-1Z"
399
+ }), /*#__PURE__*/React__default.createElement("path", {
400
+ d: "M7.28 13.28a.75.75 0 0 0-1.06-1.06l-1 1a.75.75 0 1 0 1.06 1.06l1-1Z"
401
+ }), /*#__PURE__*/React__default.createElement("path", {
402
+ d: "M7 9.75a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h2.5a.75.75 0 0 1 .75.75Z"
403
+ }), /*#__PURE__*/React__default.createElement("path", {
404
+ d: "M5.97 7.03a.75.75 0 0 0 1.06-1.06l-1.75-1.75a.75.75 0 0 0-1.06 1.06l1.75 1.75Z"
405
+ }), /*#__PURE__*/React__default.createElement("path", {
406
+ fillRule: "evenodd",
407
+ d: "M8.22 8.22a.75.75 0 0 1 .767-.181l7.5 2.5a.75.75 0 0 1 .293 1.241l-1.97 1.97 1.97 1.97a.75.75 0 1 1-1.06 1.06l-1.97-1.97-1.97 1.97a.75.75 0 0 1-1.241-.293l-2.5-7.5a.75.75 0 0 1 .18-.767Zm4.998 5.001.002-.001.001-.002 1.64-1.64-4.925-1.642 1.642 4.926 1.64-1.64Z"
408
+ }));
409
+ };
410
+ SvgCursorIcon.displayName = "CursorIcon";
411
+
360
412
  var SvgDeleteIcon = function SvgDeleteIcon(props) {
361
413
  return /*#__PURE__*/React__default.createElement("svg", Object.assign({
362
414
  viewBox: "0 0 20 20"
@@ -371,6 +423,17 @@ var SvgDeleteIcon = function SvgDeleteIcon(props) {
371
423
  };
372
424
  SvgDeleteIcon.displayName = "DeleteIcon";
373
425
 
426
+ var SvgExternalSmallIcon = function SvgExternalSmallIcon(props) {
427
+ return /*#__PURE__*/React__default.createElement("svg", Object.assign({
428
+ viewBox: "0 0 20 20"
429
+ }, props), /*#__PURE__*/React__default.createElement("path", {
430
+ d: "M11.75 4.5a.75.75 0 0 0 0 1.5h1.19l-2.72 2.72a.75.75 0 1 0 1.06 1.06l2.72-2.72v1.19a.75.75 0 0 0 1.5 0v-3a.75.75 0 0 0-.75-.75h-3Z"
431
+ }), /*#__PURE__*/React__default.createElement("path", {
432
+ d: "M15 11.25a.75.75 0 0 0-1.5 0v1c0 .69-.56 1.25-1.25 1.25h-4.5c-.69 0-1.25-.56-1.25-1.25v-4.5c0-.69.56-1.25 1.25-1.25h1a.75.75 0 0 0 0-1.5h-1a2.75 2.75 0 0 0-2.75 2.75v4.5a2.75 2.75 0 0 0 2.75 2.75h4.5a2.75 2.75 0 0 0 2.75-2.75v-1Z"
433
+ }));
434
+ };
435
+ SvgExternalSmallIcon.displayName = "ExternalSmallIcon";
436
+
374
437
  var SvgInfoIcon = function SvgInfoIcon(props) {
375
438
  return /*#__PURE__*/React__default.createElement("svg", Object.assign({
376
439
  viewBox: "0 0 20 20"
@@ -407,6 +470,16 @@ var SvgOrderIcon = function SvgOrderIcon(props) {
407
470
  };
408
471
  SvgOrderIcon.displayName = "OrderIcon";
409
472
 
473
+ var SvgPaymentIcon = function SvgPaymentIcon(props) {
474
+ return /*#__PURE__*/React__default.createElement("svg", Object.assign({
475
+ viewBox: "0 0 20 20"
476
+ }, props), /*#__PURE__*/React__default.createElement("path", {
477
+ fillRule: "evenodd",
478
+ d: "M9.621 4h5.258c.395 0 .736 0 1.017.023.297.024.592.078.875.222.424.216.768.56.984.984.144.283.198.578.222.875.023.28.023.622.023 1.017v2.258c0 .395 0 .736-.023 1.017a2.29 2.29 0 0 1-.222.875 2.25 2.25 0 0 1-.983.984c-.284.144-.58.198-.876.222-.28.023-.622.023-1.017.023h-2.58c-.08.083-.169.16-.265.23l-2.73 1.965c-.565.407-.93.67-1.335.859-.358.167-.736.29-1.125.363-.44.083-.889.083-1.586.083h-1.508a.75.75 0 0 1 0-1.5h1.436c.794 0 1.095-.003 1.379-.057.266-.05.524-.134.77-.248.261-.122.508-.296 1.152-.76l2.67-1.923a.423.423 0 0 0-.35-.753l-4.875 1.219a.75.75 0 0 1-.364-1.456l.932-.233v-2.289c-.59.002-.821.011-1.033.062a2.25 2.25 0 0 0-.65.27c-.21.128-.398.31-.943.854l-.594.594a.75.75 0 0 1-1.06-1.06l.654-.655c.46-.46.78-.78 1.16-1.012a3.75 3.75 0 0 1 1.083-.45c.397-.095.813-.103 1.387-.103a6.79 6.79 0 0 1 .019-.396 2.29 2.29 0 0 1 .222-.875 2.25 2.25 0 0 1 .984-.984 2.29 2.29 0 0 1 .875-.222c.28-.023.622-.023 1.017-.023Zm5.229 7h-2.024a1.925 1.925 0 0 0-2.382-1.697l-2.444.611v-1.414h8.5v.85c0 .432 0 .712-.018.924-.017.204-.045.28-.064.317a.75.75 0 0 1-.328.327c-.037.02-.112.047-.316.064-.212.017-.492.018-.924.018Zm1.645-4.5h-8.49c.002-.104.006-.194.013-.274.017-.204.045-.28.064-.316a.75.75 0 0 1 .328-.328c.037-.02.112-.047.316-.064.212-.017.492-.018.924-.018h5.2c.432 0 .712 0 .924.018.204.017.28.045.316.064a.75.75 0 0 1 .328.328c.02.037.047.112.064.316.007.08.01.17.013.274Z"
479
+ }));
480
+ };
481
+ SvgPaymentIcon.displayName = "PaymentIcon";
482
+
410
483
  var SvgPlusIcon = function SvgPlusIcon(props) {
411
484
  return /*#__PURE__*/React__default.createElement("svg", Object.assign({
412
485
  viewBox: "0 0 20 20"
@@ -416,6 +489,19 @@ var SvgPlusIcon = function SvgPlusIcon(props) {
416
489
  };
417
490
  SvgPlusIcon.displayName = "PlusIcon";
418
491
 
492
+ var SvgProductRemoveIcon = function SvgProductRemoveIcon(props) {
493
+ return /*#__PURE__*/React__default.createElement("svg", Object.assign({
494
+ viewBox: "0 0 20 20"
495
+ }, props), /*#__PURE__*/React__default.createElement("path", {
496
+ d: "M8.575 4.649a3.75 3.75 0 0 1 2.7-1.149h1.975a3.25 3.25 0 0 1 3.25 3.25v2.371c0 .766-.311 1.498-.863 2.029a.75.75 0 1 1-1.04-1.08c.258-.249.403-.591.403-.949v-2.371a1.75 1.75 0 0 0-1.75-1.75h-1.974a2.25 2.25 0 0 0-1.62.69l-4.254 4.417a1.25 1.25 0 0 0 .016 1.75l2.898 2.898a1 1 0 0 0 1.4.014l.451-.434a.75.75 0 1 1 1.04 1.08l-.45.434a2.5 2.5 0 0 1-3.502-.033l-2.898-2.898a2.75 2.75 0 0 1-.036-3.852l4.254-4.417Z"
497
+ }), /*#__PURE__*/React__default.createElement("path", {
498
+ d: "M14 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"
499
+ }), /*#__PURE__*/React__default.createElement("path", {
500
+ d: "M12.25 12.25a.75.75 0 0 0 0 1.5h4a.75.75 0 0 0 0-1.5h-4Z"
501
+ }));
502
+ };
503
+ SvgProductRemoveIcon.displayName = "ProductRemoveIcon";
504
+
419
505
  var SvgSearchIcon = function SvgSearchIcon(props) {
420
506
  return /*#__PURE__*/React__default.createElement("svg", Object.assign({
421
507
  viewBox: "0 0 20 20"
@@ -757,6 +843,25 @@ const toCapitalize = (string) => {
757
843
  return string.charAt(0).toUpperCase() + string.slice(1);
758
844
  };
759
845
 
846
+ function findLastIndex(array, predicate, thisArg) {
847
+ for (let i = array.length - 1; i >= 0; i--) {
848
+ if (predicate.call(thisArg, array[i], i, array)) {
849
+ return i;
850
+ }
851
+ }
852
+ return -1;
853
+ }
854
+
855
+ const isBrowser$1 = () => {
856
+ return typeof window !== 'undefined';
857
+ };
858
+
859
+ const formatDateBy = (format, date) => {
860
+ if (!date)
861
+ date = new Date();
862
+ return dayjsTz(date).format(format) ?? '-';
863
+ };
864
+
760
865
  const GClickable = ({ children, fullWidth = false, cursor = 'pointer', onClick, onMouseEnter, onMouseLeave, }) => {
761
866
  return (jsx("div", { role: "button", tabIndex: 0, className: cls({
762
867
  'w-full': fullWidth,
@@ -1831,15 +1936,25 @@ const getPriceByCurrency = (price, currency = DEFAULT_CURRENCY_ANALYTIC, options
1831
1936
  // Support legacy 3rd arg as locale string
1832
1937
  const opts = typeof options === 'string' ? { locale: options } : options;
1833
1938
  const locale = opts?.locale ?? 'en-US';
1834
- // Let Intl pick fraction digits per currency (e.g. JPY/KRW have 0) instead of hardcoding.
1835
- const formatCurrency = (value) => new Intl.NumberFormat(locale, { style: 'currency', currency }).format(value);
1939
+ // Currency's natural minimum (USD 2, JPY/KRW/VND 0); used as the floor for scaled tiers.
1940
+ const currencyMinDigits = new Intl.NumberFormat(locale, { style: 'currency', currency }).resolvedOptions().minimumFractionDigits ?? 0;
1941
+ // For scaled tiers, allow extra precision but never force decimals on zero-decimal currencies.
1942
+ const formatCurrency = (value, maxDigits) => new Intl.NumberFormat(locale, {
1943
+ style: 'currency',
1944
+ currency,
1945
+ ...(maxDigits != null && {
1946
+ minimumFractionDigits: Math.min(currencyMinDigits, maxDigits),
1947
+ maximumFractionDigits: maxDigits,
1948
+ }),
1949
+ }).format(value);
1836
1950
  const magnitude = Math.abs(price);
1837
1951
  if (magnitude >= 1_000_000_000)
1838
- return `${formatCurrency(price / 1_000_000_000)}B`;
1952
+ return `${formatCurrency(price / 1_000_000_000, 2)}B`;
1839
1953
  if (magnitude >= 1_000_000)
1840
- return `${formatCurrency(price / 1_000_000)}M`;
1954
+ return `${formatCurrency(price / 1_000_000, 2)}M`;
1841
1955
  if (opts?.compact && magnitude >= 1_000)
1842
- return `${formatCurrency(price / 1_000)}K`;
1956
+ return `${formatCurrency(price / 1_000, 1)}K`;
1957
+ // Let Intl pick fraction digits per currency (e.g. JPY/KRW have 0) instead of hardcoding.
1843
1958
  return formatCurrency(price);
1844
1959
  };
1845
1960
 
@@ -2254,6 +2369,18 @@ const useWindowSize = () => {
2254
2369
  return { windowSize, windowWidth, isMobileTabletView, isMobileView };
2255
2370
  };
2256
2371
 
2372
+ const usePreventBodyScroll = ({ enable }) => {
2373
+ useEffect(() => {
2374
+ if (!enable || !isBrowser$1())
2375
+ return;
2376
+ // Prevent layout shift from scrollbar removal
2377
+ document.body.style.overflowY = 'hidden';
2378
+ return () => {
2379
+ document.body.style.overflowY = 'unset';
2380
+ };
2381
+ }, [enable]);
2382
+ };
2383
+
2257
2384
  // This default value is used in our tests so that consumers of Polaris Viz don't need to mock or fire a ResizeObserver event
2258
2385
  const defaultEntry = process.env.NODE_ENV === 'test' ? { contentRect: { width: 500, height: 500 } } : null;
2259
2386
  function resizeObserver(callback) {
@@ -2462,6 +2589,32 @@ const GMockDataTooltip = ({ isMockData, content, children, ...props }) => {
2462
2589
  return (jsx(GTooltip, { isEnabled: isMockData, content: content ?? t('This is just a demo experiment. Create a real one to view order listing.'), dismissOnMouseOut: true, ...props, children: children }));
2463
2590
  };
2464
2591
 
2592
+ const GDotInline = ({ tone }) => {
2593
+ const textColor = getTextColorByTone();
2594
+ return jsx("span", { className: textColor, children: "\u2022" });
2595
+ function getTextColorByTone() {
2596
+ switch (tone) {
2597
+ case 'inherit':
2598
+ return 'text-inherit';
2599
+ case 'disabled':
2600
+ return 'text-[#B5B5B5]';
2601
+ default:
2602
+ return 'text-inherit';
2603
+ }
2604
+ }
2605
+ };
2606
+
2607
+ const GSpinner = (props) => {
2608
+ return (jsx("div", { className: cls('Polaris-GSpinner', props.tone ? `Polaris-GSpinner--${props.tone}` : undefined), children: jsx(Spinner, { ...props }) }));
2609
+ };
2610
+
2611
+ const GModal = ({ children, primaryAction, secondaryActions, ...props }) => {
2612
+ const { isMobileView } = useWindowSize();
2613
+ const resolvedSecondaryActions = secondaryActions ?? [];
2614
+ const showMobileFooter = isMobileView && (primaryAction || resolvedSecondaryActions.length > 0);
2615
+ return (jsxs(Modal, { ...props, size: isMobileView ? 'small' : props.size, primaryAction: showMobileFooter ? undefined : primaryAction, secondaryActions: showMobileFooter ? undefined : secondaryActions, children: [children, showMobileFooter && (jsx(Box, { padding: "400", borderBlockStartWidth: "025", borderColor: "border-secondary", children: jsxs(BlockStack, { gap: "200", children: [jsx(Button, { ...primaryAction, onClick: primaryAction?.onAction, variant: "primary", fullWidth: true, children: primaryAction?.content ?? 'Save' }), resolvedSecondaryActions.map((action, index) => (createElement(Button, { ...action, key: index, fullWidth: true, onClick: action.onAction }, action.content)))] }) }))] }));
2616
+ };
2617
+
2465
2618
  const GChartSkeleton = () => {
2466
2619
  return jsx(GSkeletonDisplayText, { height: "188px" });
2467
2620
  };
@@ -23978,7 +24131,7 @@ const OrderIdCell = ({ value, isMockData }) => {
23978
24131
 
23979
24132
  const DateCell = ({ value, isMergedWithPrev }) => (jsx(Text, { as: "span", variant: "bodySm", children: isMergedWithPrev ? '' : value }));
23980
24133
 
23981
- const CheckoutStartedDetail = ({ lineItems = [], activatorWrapperProps }) => {
24134
+ const CheckoutStartedDetail$1 = ({ lineItems = [], activatorWrapperProps }) => {
23982
24135
  const { t } = useTranslation();
23983
24136
  const [active, setActive] = useState(false);
23984
24137
  const toggleActive = useCallback(() => setActive((active) => !active), []);
@@ -24011,7 +24164,7 @@ const ItemsCell = ({ value }) => {
24011
24164
  return t('{{itemQuantity}} item', { itemQuantity });
24012
24165
  return t('{{itemQuantity}} items', { itemQuantity });
24013
24166
  };
24014
- return (jsx("div", { onMouseEnter: setTrue, onMouseLeave: setFalse, children: jsxs(InlineStack, { gap: "200", blockAlign: "center", children: [jsx(Text, { as: "span", variant: "bodyMd", tone: "subdued", children: getItemText() }), jsx(CheckoutStartedDetail, { lineItems: lineItems, activatorWrapperProps: {
24167
+ return (jsx("div", { onMouseEnter: setTrue, onMouseLeave: setFalse, children: jsxs(InlineStack, { gap: "200", blockAlign: "center", children: [jsx(Text, { as: "span", variant: "bodyMd", tone: "subdued", children: getItemText() }), jsx(CheckoutStartedDetail$1, { lineItems: lineItems, activatorWrapperProps: {
24015
24168
  paddingBlockStart: '100',
24016
24169
  opacity: itemHovering ? '1' : '0',
24017
24170
  } })] }) }));
@@ -24344,6 +24497,440 @@ var EJourneyEvent;
24344
24497
  EJourneyEvent["SEARCH_SUBMITTED"] = "SEARCH_SUBMITTED";
24345
24498
  })(EJourneyEvent || (EJourneyEvent = {}));
24346
24499
 
24500
+ const useGModalOrderJourney = () => {
24501
+ const [isOpen, setIsOpen] = useState(false);
24502
+ const [initialValues, setInitialValues] = useState(null);
24503
+ const handleOpenModalOrderJourney = useCallback((data) => {
24504
+ setInitialValues(data);
24505
+ setIsOpen(true);
24506
+ }, []);
24507
+ const handleCloseModalOrderJourney = useCallback(() => {
24508
+ setIsOpen(false);
24509
+ setInitialValues(null);
24510
+ }, []);
24511
+ return {
24512
+ isOpen,
24513
+ initialValues,
24514
+ handleOpenModalOrderJourney,
24515
+ handleCloseModalOrderJourney,
24516
+ };
24517
+ };
24518
+
24519
+ const OrderJourneyContext = createContext(undefined);
24520
+ const OrderJourneyProvider = OrderJourneyContext.Provider;
24521
+ const useOrderJourneyContext = () => {
24522
+ const context = useContext(OrderJourneyContext);
24523
+ if (!context)
24524
+ throw new Error('useOrderJourneyContext must be used within OrderJourneyProvider');
24525
+ return context;
24526
+ };
24527
+
24528
+ const EventMarkerIcon = ({ icon, tone = 'base', hasPadding = true }) => {
24529
+ const wrapperBackground = getWrapperBackground();
24530
+ const iconSource = isIconSource(icon) ? jsx(Icon, { source: icon, tone: tone }) : icon;
24531
+ return (jsx(Box, { padding: hasPadding ? '100' : '0', background: wrapperBackground, borderRadius: "full", children: iconSource }));
24532
+ function getWrapperBackground() {
24533
+ switch (tone) {
24534
+ case 'success':
24535
+ return 'bg-surface-success';
24536
+ default:
24537
+ return 'bg-surface-secondary';
24538
+ }
24539
+ }
24540
+ function isIconSource(x) {
24541
+ return typeof x === 'string' || (typeof x === 'object' && x.body) || typeof x === 'function';
24542
+ }
24543
+ };
24544
+
24545
+ const JourneyDetail = ({ title, children }) => {
24546
+ return (jsx(Box, { padding: "300", overflowX: "hidden", children: jsxs(BlockStack, { gap: "050", children: [typeof title === 'string' ? (jsx(Text, { as: "span", variant: "bodyMd", fontWeight: "medium", children: title })) : (title), children] }) }));
24547
+ };
24548
+
24549
+ var JourneyTimeFormat;
24550
+ (function (JourneyTimeFormat) {
24551
+ JourneyTimeFormat["HH_MM_SS"] = "HH:mm:ss";
24552
+ })(JourneyTimeFormat || (JourneyTimeFormat = {}));
24553
+ const JourneyTime = ({ time, format = JourneyTimeFormat.HH_MM_SS }) => {
24554
+ const formattedTime = formatDateBy(format, time);
24555
+ const width = getWidthByFormat();
24556
+ return (jsx("div", { style: { minWidth: width, maxWidth: width }, children: jsx(Text, { as: "span", variant: "bodyXs", children: formattedTime }) }));
24557
+ function getWidthByFormat() {
24558
+ switch (format) {
24559
+ case JourneyTimeFormat.HH_MM_SS:
24560
+ return '48px';
24561
+ default:
24562
+ return '48px';
24563
+ }
24564
+ }
24565
+ };
24566
+
24567
+ const JourneyItem = ({ time, title, eventMarker, children }) => {
24568
+ return (jsx(Box, { paddingInlineStart: "600", children: jsxs(InlineStack, { blockAlign: "center", gap: "400", wrap: false, children: [jsx(JourneyTime, { time: time }), jsx(EventMarkerIcon, { ...eventMarker }), jsx(JourneyDetail, { title: title, children: children })] }) }));
24569
+ };
24570
+
24571
+ const QuantityWrapper = ({ quantity }) => {
24572
+ if (!quantity)
24573
+ return null;
24574
+ return (jsx(Box, { paddingBlock: "050", paddingInline: "200", borderRadius: "200", background: "bg-fill-secondary", minWidth: "24px", children: jsx(Text, { as: "span", variant: "bodySm", fontWeight: "medium", tone: "subdued", alignment: "center", children: quantity }) }));
24575
+ };
24576
+
24577
+ const CheckoutStarted = ({ event }) => {
24578
+ const { t } = useTranslation();
24579
+ return (jsx(JourneyItem, { time: event.date, title: t('Started checkout'), eventMarker: { icon: SvgPaymentIcon }, children: jsx(CheckoutItems, { lineItems: event.lineItems ?? [] }) }));
24580
+ };
24581
+
24582
+ const CheckoutStartedDetail = ({ lineItems = [], activatorWrapperProps }) => {
24583
+ const { t } = useTranslation();
24584
+ const [active, setActive] = useState(false);
24585
+ const toggleActive = useCallback(() => setActive((active) => !active), []);
24586
+ if (!lineItems || lineItems.length === 0) {
24587
+ return null;
24588
+ }
24589
+ return (jsx(Popover, { active: active, activator: jsx(Box, { ...activatorWrapperProps, children: jsx(Button, { variant: "tertiary", icon: active ? SvgChevronUpIcon : SvgChevronDownIcon, onClick: toggleActive }) }), onClose: toggleActive, children: jsx(Box, { padding: "300", width: "340px", children: jsx(BlockStack, { gap: "300", children: lineItems.map((product, index, self) => {
24590
+ const isLast = index === self.length - 1;
24591
+ const boxProps = {
24592
+ borderBlockEndWidth: '025',
24593
+ borderColor: 'border-secondary',
24594
+ paddingBlockEnd: '300',
24595
+ };
24596
+ return (jsx(Box, { ...(!isLast && boxProps), children: jsxs(InlineStack, { gap: "300", wrap: false, children: [jsx("div", { className: "size-10", children: jsx(GThumbnail, { source: product.imageURL ?? '', alt: product.productTitle ?? '', size: "small" }) }), jsxs("div", { className: "flex flex-col gap-1 w-full", children: [jsxs(InlineStack, { gap: "200", align: "space-between", wrap: false, children: [jsx(Text, { as: "span", variant: "bodyMd", fontWeight: "medium", children: product.productTitle }), jsx("div", { className: "text-nowrap", children: jsx(Text, { as: "span", variant: "bodyMd", tone: "subdued", children: t('x {{quantity}}', { quantity: product.quantity }) }) })] }), product.title && (jsx("span", { children: jsx(Badge, { children: product.title }) }))] })] }) }, product.productID));
24597
+ }) }) }) }));
24598
+ };
24599
+
24600
+ const CheckoutItems = ({ lineItems }) => {
24601
+ const { t } = useTranslation();
24602
+ const cartQuantity = lineItems.reduce((acc, curr) => acc + (curr.quantity ?? 0), 0);
24603
+ return (jsxs(InlineStack, { gap: "100", children: [jsx(QuantityWrapper, { quantity: cartQuantity }), jsx(Text, { as: "span", variant: "bodyMd", tone: "subdued", children: cartQuantity > 1 ? t('items') : t('item') }), jsx(CheckoutStartedDetail, { lineItems: lineItems })] }));
24604
+ };
24605
+
24606
+ const CheckoutCompleted = ({ event }) => {
24607
+ const { t } = useTranslation();
24608
+ const { orderId } = useOrderJourneyContext();
24609
+ const isCheckoutCompletedEventOfCurrentOrder = event.orderID === orderId;
24610
+ const titleMarkup = renderTitleMarkup();
24611
+ return (jsx(JourneyItem, { time: event.date, title: titleMarkup, eventMarker: {
24612
+ icon: SvgCheckIcon,
24613
+ tone: isCheckoutCompletedEventOfCurrentOrder ? 'success' : 'base',
24614
+ }, children: jsx(CheckoutItems, { lineItems: event.lineItems ?? [] }) }));
24615
+ function renderTitleMarkup() {
24616
+ return (jsxs(InlineStack, { gap: "200", blockAlign: "center", wrap: false, children: [jsx(Text, { as: "span", variant: "bodyMd", fontWeight: "medium", children: t('Completed checkout') }), event.orderID && (jsxs(Fragment, { children: [jsx(GDotInline, { tone: "disabled" }), jsxs(InlineStack, { gap: "025", blockAlign: "center", wrap: false, children: [jsx(Icon, { source: SvgOrderIcon, tone: "base" }), jsx(Text, { as: "span", variant: "bodySm", tone: "subdued", children: event.orderID })] })] }))] }));
24617
+ }
24618
+ };
24619
+
24620
+ /**
24621
+ * Slices journey items based on the analytic metric mode.
24622
+ *
24623
+ * - FIRST_SESSION: Returns all items (no slicing)
24624
+ * - PAGE_ONLY: Slices from the LAST matching event (most recent relevant interaction)
24625
+ * - ALL_SESSION: Slices from the FIRST matching event (entire journey from first interaction)
24626
+ */
24627
+ const sliceJourneyItems = ({ journeyItems, mode, source, filteredCampaignId, pageAnalytic, }) => {
24628
+ if (mode === EAnalyticMode.FIRST_SESSION)
24629
+ return journeyItems;
24630
+ const isCampaignVariant = ({ campaignGroupID = '', campaignID = '' }) => !isCampaignOfAnother({ campaignGroupID: campaignGroupID ?? '', campaignID: campaignID ?? '', filteredCampaignId });
24631
+ const isMatchingPage = ({ locationPath = '' }) => locationPath === pageAnalytic?.path;
24632
+ const sliceFromIndex = (index) => (index !== -1 ? journeyItems.slice(index) : journeyItems);
24633
+ const predicate = source === EReportSource.CAMPAIGN ? isCampaignVariant : isMatchingPage;
24634
+ // PAGE_ONLY: slice from LAST matching event (most recent relevant interaction)
24635
+ if (mode === EAnalyticMode.PAGE_ONLY) {
24636
+ return sliceFromIndex(findLastIndex(journeyItems, predicate));
24637
+ }
24638
+ // ALL_SESSION: slice from FIRST matching event (entire journey from first interaction)
24639
+ if (mode === EAnalyticMode.ALL_SESSION) {
24640
+ return sliceFromIndex(journeyItems.findIndex(predicate));
24641
+ }
24642
+ return journeyItems;
24643
+ };
24644
+ const getEventCampaignIdByType = ({ campaignGroupID, campaignID, }) => {
24645
+ return campaignGroupID !== '0' ? campaignGroupID : campaignID;
24646
+ };
24647
+ const isCampaignOfAnother = ({ campaignGroupID, campaignID, filteredCampaignId, }) => {
24648
+ const eventCampaignIdByType = getEventCampaignIdByType({ campaignGroupID, campaignID });
24649
+ const isEventOfAnotherCampaign = filteredCampaignId && eventCampaignIdByType !== filteredCampaignId;
24650
+ return isEventOfAnotherCampaign;
24651
+ };
24652
+
24653
+ const PageViewed = ({ event }) => {
24654
+ const { t } = useTranslation();
24655
+ const { date, locationPath, campaignGroupID = '', campaignID = '', filteredCampaignId, campaignName, campaignGroupName, campaignVariantType, } = event;
24656
+ const eventCampaignName = filteredCampaignId ? '' : campaignGroupName || campaignName;
24657
+ const isEventWithNoCampaign = !campaignVariantType;
24658
+ const eventCampaignIdByType = getEventCampaignIdByType({
24659
+ campaignGroupID: campaignGroupID ?? '',
24660
+ campaignID: campaignID ?? '',
24661
+ });
24662
+ const isEventOfAnotherCampaign = isCampaignOfAnother({
24663
+ campaignGroupID: campaignGroupID ?? '',
24664
+ campaignID: campaignID ?? '',
24665
+ filteredCampaignId,
24666
+ });
24667
+ const pageViewEventMarkerIcon = getPageViewEventMarkerIcon();
24668
+ const titleMarkup = renderTitleMarkup();
24669
+ const hasPadding = useMemo(() => {
24670
+ if (isEventWithNoCampaign)
24671
+ return true;
24672
+ if (!filteredCampaignId)
24673
+ return false;
24674
+ return eventCampaignIdByType !== filteredCampaignId;
24675
+ }, [filteredCampaignId, eventCampaignIdByType, isEventWithNoCampaign]);
24676
+ return (jsx(JourneyItem, { time: date, title: titleMarkup, eventMarker: { icon: pageViewEventMarkerIcon, hasPadding }, children: jsx(InlineStack, { gap: "200", wrap: false, blockAlign: "center", children: jsx("div", { className: "min-w-0 w-full", children: jsx(GTextTruncated, { as: "span", variant: "bodySm", tone: "subdued", children: locationPath ?? '' }) }) }) }));
24677
+ function getPageViewEventMarkerIcon() {
24678
+ if (isEventOfAnotherCampaign)
24679
+ return SvgCursorIcon;
24680
+ switch (campaignVariantType) {
24681
+ case IVariantType$1.VARIANT_A:
24682
+ return jsx(GVariantBadge, { variant: "A", size: "md", tone: "active" });
24683
+ case IVariantType$1.VARIANT_B:
24684
+ return jsx(GVariantBadge, { variant: "B", size: "md" });
24685
+ default:
24686
+ return SvgCursorIcon;
24687
+ }
24688
+ }
24689
+ function renderTitleMarkup() {
24690
+ return (jsxs(InlineStack, { gap: "200", blockAlign: "center", wrap: false, children: [jsx("span", { className: "text-nowrap", children: jsx(Text, { as: "span", variant: "bodyMd", fontWeight: "medium", breakWord: false, children: t('Visited page') }) }), eventCampaignName && !isEventOfAnotherCampaign && (jsxs(Fragment, { children: [jsx(GDotInline, { tone: "disabled" }), jsx("div", { className: "min-w-0 w-full", children: jsx(GI18NText, { as: "span", variant: "bodySm", tone: "subdued", truncate: true, transformers: {
24691
+ 1: (name) => (jsx(Text, { as: "span", variant: "bodySm", tone: "subdued", fontWeight: "medium", children: name })),
24692
+ }, children: t('Experiment: [1]{{name}}[]', { name: eventCampaignName }) }) })] }))] }));
24693
+ }
24694
+ };
24695
+
24696
+ const ProductAddedToCart = ({ event }) => {
24697
+ const { t } = useTranslation();
24698
+ return (jsx(JourneyItem, { time: event.date, title: t('Added product to cart'), eventMarker: { icon: SvgCartIcon }, children: jsx(CheckoutItems, { lineItems: event.lineItems ?? [] }) }));
24699
+ };
24700
+
24701
+ const ProductRemovedFromCart = ({ event }) => {
24702
+ const { t } = useTranslation();
24703
+ return (jsx(JourneyItem, { time: event.date, title: t('Remove product from cart'), eventMarker: { icon: SvgProductRemoveIcon }, children: jsx(CheckoutItems, { lineItems: event.lineItems ?? [] }) }));
24704
+ };
24705
+
24706
+ const DefaultEventComponent = () => null;
24707
+ const JOURNEY_EVENT_COMPONENTS_MAP = {
24708
+ [EJourneyEvent.ADDED_TO_CART]: DefaultEventComponent,
24709
+ [EJourneyEvent.CHECKOUT_ADDRESS_INFO_SUBMITTED]: DefaultEventComponent,
24710
+ [EJourneyEvent.CHECKOUT_COMPLETED]: CheckoutCompleted,
24711
+ [EJourneyEvent.CHECKOUT_CONTACT_INFO_SUBMITTED]: DefaultEventComponent,
24712
+ [EJourneyEvent.CHECKOUT_SHIPPING_INFO_SUBMITTED]: DefaultEventComponent,
24713
+ [EJourneyEvent.CHECKOUT_STARTED]: CheckoutStarted,
24714
+ [EJourneyEvent.COLLECTION_VIEWED]: DefaultEventComponent,
24715
+ [EJourneyEvent.ORDER]: DefaultEventComponent,
24716
+ [EJourneyEvent.PAGE_VIEWED]: PageViewed,
24717
+ [EJourneyEvent.PAYMENT_INFO_SUBMITTED]: DefaultEventComponent,
24718
+ [EJourneyEvent.PRODUCT_ADDED_TO_CART]: ProductAddedToCart,
24719
+ [EJourneyEvent.PRODUCT_REMOVED_FROM_CART]: ProductRemovedFromCart,
24720
+ [EJourneyEvent.PRODUCT_VIEWED]: DefaultEventComponent,
24721
+ [EJourneyEvent.SEARCH_SUBMITTED]: DefaultEventComponent,
24722
+ };
24723
+
24724
+ const JourneyDateBadge = ({ content }) => {
24725
+ 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 }) }) }));
24726
+ };
24727
+
24728
+ const BOX_BACKGROUND = {
24729
+ default: 'bg-surface-secondary-active',
24730
+ onHover: 'bg-surface-secondary',
24731
+ };
24732
+ const JourneyLoadMore = ({ isFetching, onLoadMode }) => {
24733
+ const [boxBackground, setBoxBackground] = useState(BOX_BACKGROUND.default);
24734
+ const { t } = useTranslation();
24735
+ if (isFetching) {
24736
+ return (jsx(Box, { paddingBlock: "100", paddingInline: "300", background: BOX_BACKGROUND.onHover, borderRadius: "200", children: jsx(GSpinner, { size: "small" }) }));
24737
+ }
24738
+ return (jsx("div", { className: "cursor-pointer", onMouseEnter: () => setBoxBackground(BOX_BACKGROUND.onHover), onMouseLeave: () => setBoxBackground(BOX_BACKGROUND.default), onClick: onLoadMode, children: jsx(Box, { paddingBlock: "100", paddingInline: "200", background: boxBackground, borderRadius: "200", children: jsxs(InlineStack, { gap: "050", wrap: false, blockAlign: "center", children: [jsx(Icon, { source: SvgChevronUpIcon }), jsx(Text, { as: "p", variant: "bodySm", fontWeight: "medium", children: t('More steps') })] }) }) }));
24739
+ };
24740
+
24741
+ const JourneyIdBadge = ({ id, type = 'order' }) => {
24742
+ const { t } = useTranslation();
24743
+ const idContent = getIdContent();
24744
+ const { onViewOrderDetails } = useOrderJourneyContext();
24745
+ return (jsx(GTooltip, { content: t('View order details'), children: jsx("div", { className: "cursor-pointer", onClick: () => onViewOrderDetails?.(id), children: jsx(Box, { background: "bg-surface-secondary-active", paddingBlock: "100", paddingInline: "200", borderRadius: "200", children: jsxs(InlineStack, { gap: "100", blockAlign: "center", children: [jsx(GI18NText, { as: "p", variant: "bodyMd", fontWeight: "medium", tone: "subdued", transformers: {
24746
+ 1: (text) => {
24747
+ return (jsx(Text, { as: "span", tone: "base", children: text }));
24748
+ },
24749
+ }, children: idContent }), jsx(Icon, { source: SvgExternalSmallIcon })] }) }) }) }));
24750
+ function getIdContent() {
24751
+ switch (type) {
24752
+ case 'order':
24753
+ return t('Order ID: [1]{{id}}[]', { id });
24754
+ default:
24755
+ return id;
24756
+ }
24757
+ }
24758
+ };
24759
+
24760
+ const JourneyTitle = ({ content, id, hasMoreSteps, isFetching = false, onLoadMode }) => {
24761
+ const isStickyHeader = !!id;
24762
+ const isShowLoadMore = isStickyHeader && hasMoreSteps && onLoadMode;
24763
+ return (jsxs(Box, { paddingBlock: "300", paddingInline: "400", position: "relative", children: [jsxs(InlineStack, { align: "space-between", gap: "100", children: [jsxs(InlineStack, { gap: "400", children: [jsx(JourneyDateBadge, { content: content }), id && jsx(JourneyIdBadge, { id: id })] }), isShowLoadMore && jsx(JourneyLoadMore, { isFetching: isFetching, onLoadMode: onLoadMode })] }), jsx(JourneyTitleLine, {})] }));
24764
+ };
24765
+ const JourneyTitleLine = () => {
24766
+ return jsx("div", { className: "absolute top-[50%] right-0 left-0 translate-y-[-50%] h-[1px] bg-border -z-[1]" });
24767
+ };
24768
+
24769
+ const JourneyGroup = ({ eventsByDate, sectionRefs }) => {
24770
+ return eventsByDate.map(({ dateKey, date, events }, index) => {
24771
+ const isLatestDate = index === 0;
24772
+ return (jsxs("div", { ref: (el) => {
24773
+ if (el)
24774
+ sectionRefs.current.set(dateKey, el);
24775
+ }, className: "relative", children: [!isLatestDate && jsx(JourneyTitle, { content: date }), events.map((event, eventIndex) => (jsx(JourneyEventRenderer, { event: event }, `${event.eventType}-${event.date}-${eventIndex}`))), jsx(JourneyTimeline, {})] }, dateKey));
24776
+ });
24777
+ };
24778
+ function JourneyEventRenderer({ event }) {
24779
+ const Component = JOURNEY_EVENT_COMPONENTS_MAP[event.eventType];
24780
+ if (!Component)
24781
+ return null;
24782
+ return jsx(Component, { event: event });
24783
+ }
24784
+
24785
+ const JourneyContainer = ({ orderId, eventsByDate, hasMoreSteps, isFetchingMoreSteps, onLoadMore, }) => {
24786
+ const firstEventsByDate = eventsByDate[0];
24787
+ const { isMobileView } = useWindowSize();
24788
+ const [currentDate, setCurrentDate] = useState(firstEventsByDate?.date || '');
24789
+ const [showShadow, setShowShadow] = useState(false);
24790
+ const scrollContainerRef = useRef(null);
24791
+ const sectionRefs = useRef(new Map());
24792
+ const scrollableRef = useRef(null);
24793
+ const prevIsFetchingRef = useRef(isFetchingMoreSteps);
24794
+ useEffect(() => {
24795
+ // Find the Polaris Scrollable container after mount
24796
+ if (!isBrowser$1() || !scrollContainerRef.current)
24797
+ return;
24798
+ let element = scrollContainerRef.current.parentElement;
24799
+ // Traverse up to find the scrollable container
24800
+ while (element) {
24801
+ const overflow = getComputedStyle(element).overflowY;
24802
+ if (overflow === 'auto' || overflow === 'scroll') {
24803
+ scrollableRef.current = element;
24804
+ break;
24805
+ }
24806
+ element = element.parentElement;
24807
+ }
24808
+ const scrollableElement = scrollableRef.current;
24809
+ if (!scrollableElement)
24810
+ return;
24811
+ const handleScroll = () => {
24812
+ const scrollTop = scrollableElement.scrollTop;
24813
+ setShowShadow(scrollTop > 10);
24814
+ // Find which date section is currently visible at the top
24815
+ let currentSection = firstEventsByDate;
24816
+ const headerOffset = 20; // Account for fixed header height
24817
+ const scrollableContainerRect = scrollableElement.getBoundingClientRect();
24818
+ for (const dateGroup of eventsByDate) {
24819
+ const element = sectionRefs.current.get(dateGroup.dateKey);
24820
+ if (!element)
24821
+ continue;
24822
+ const rect = element.getBoundingClientRect();
24823
+ // If section top is above or near the header position
24824
+ if (rect.top - scrollableContainerRect.top <= headerOffset) {
24825
+ currentSection = dateGroup;
24826
+ }
24827
+ }
24828
+ setCurrentDate(currentSection?.date || firstEventsByDate?.date || '');
24829
+ };
24830
+ scrollableElement.addEventListener('scroll', handleScroll);
24831
+ handleScroll(); // Initial call
24832
+ return () => scrollableElement.removeEventListener('scroll', handleScroll);
24833
+ }, [eventsByDate, firstEventsByDate]);
24834
+ const handleScrollToTop = () => {
24835
+ if (!scrollableRef.current)
24836
+ return;
24837
+ scrollableRef.current.scrollTo({ top: 0, behavior: 'smooth' });
24838
+ };
24839
+ // Auto-scroll to top when more steps are fetched
24840
+ useEffect(() => {
24841
+ const wasFetching = prevIsFetchingRef.current;
24842
+ const isNowDone = !isFetchingMoreSteps;
24843
+ // If we were fetching and now we're done, scroll to top
24844
+ if (wasFetching && isNowDone) {
24845
+ handleScrollToTop();
24846
+ }
24847
+ // Update ref for next render
24848
+ prevIsFetchingRef.current = isFetchingMoreSteps;
24849
+ }, [isFetchingMoreSteps]);
24850
+ return (jsxs(Scrollable, { scrollbarWidth: "thin", vertical: true, horizontal: true, className: "pb-5", style: { maxHeight: isMobileView ? '100vh' : 'calc(100vh - 120px)' }, children: [jsx(GBox, { ariaShadow: showShadow ? 'shadow-outset-200' : undefined, position: "sticky", insetBlockStart: "0", zIndex: "10", background: "bg-fill", children: jsx(JourneyTitle, { content: currentDate, id: orderId, hasMoreSteps: hasMoreSteps, isFetching: isFetchingMoreSteps, onLoadMode: () => {
24851
+ onLoadMore();
24852
+ handleScrollToTop();
24853
+ } }) }), jsx("div", { ref: scrollContainerRef, className: "min-h-[100vh] md:min-h-[calc(100vh-192px)]", children: jsx(JourneyGroup, { eventsByDate: eventsByDate, sectionRefs: sectionRefs }) })] }));
24854
+ };
24855
+
24856
+ const JourneyTimeline = () => {
24857
+ const journeyItemPaddingInlineStart = 24;
24858
+ const journeyItemTimeWidth = 48;
24859
+ const journeyItemInlineGap = 16;
24860
+ const eventMarkerIconSize = 28;
24861
+ const journeyTimeLineWidth = 2;
24862
+ const timelineLeft = journeyItemPaddingInlineStart +
24863
+ journeyItemTimeWidth +
24864
+ journeyItemInlineGap +
24865
+ eventMarkerIconSize / 2 -
24866
+ journeyTimeLineWidth / 2;
24867
+ return jsx("div", { className: cls('w-[2px] absolute top-5 bottom-7 bg-[#F3F3F3] -z-[1]'), style: { left: timelineLeft } });
24868
+ };
24869
+
24870
+ const OrderJourneySkeleton = () => {
24871
+ return (jsxs(Scrollable, { scrollbarWidth: "thin", vertical: true, horizontal: true, className: "max-h-[100vh] md:max-h-[calc(100vh-120px)] pb-5", children: [jsx(GBox, { position: "sticky", insetBlockStart: "0", zIndex: "10", background: "bg-fill", children: jsxs(Box, { paddingBlock: "300", paddingInline: "400", position: "relative", children: [jsx(InlineStack, { align: "space-between", gap: "100", children: jsxs(InlineStack, { gap: "400", children: [jsx("div", { className: "bg-surface-secondary rounded-md px-3 py-1.5", children: jsx("div", { className: "w-24", children: jsx(SkeletonBodyText, { lines: 1 }) }) }), jsx("div", { className: "bg-surface-secondary rounded-md px-3 py-1.5", children: jsx("div", { className: "w-40", children: jsx(SkeletonBodyText, { lines: 1 }) }) })] }) }), jsx("div", { className: "absolute top-[50%] right-0 left-0 translate-y-[-50%] h-[1px] bg-border -z-[1]" })] }) }), jsxs("div", { className: "min-h-[100vh] md:min-h-[calc(100vh-120px)] relative mt-4", children: [jsx("div", { className: "w-[2px] absolute top-4 bottom-4 bg-[#F3F3F3] -z-[1]", style: { left: 110 } }), Array.from({ length: 8 }).map((_, index) => (jsx(JourneyEventSkeleton, { isLast: index === 7 }, index)))] })] }));
24872
+ };
24873
+ const JourneyEventSkeleton = ({ isLast }) => {
24874
+ return (jsx(Box, { paddingInlineStart: "600", children: jsxs(InlineStack, { blockAlign: "start", gap: "400", wrap: false, children: [jsx("div", { className: "w-12 pt-1", children: jsx(SkeletonBodyText, { lines: 1 }) }), jsx("div", { className: "shrink-0 mt-0.5", children: jsx("div", { className: "w-7 h-7 bg-border-secondary rounded-full animate-pulse" }) }), jsxs(Box, { paddingBlockEnd: "400", width: "100%", children: [jsx("div", { className: "mb-2", children: jsx(SkeletonDisplayText, { size: "small" }) }), !isLast ? (jsx("div", { className: "max-w-[70%]", children: jsx(SkeletonBodyText, { lines: Math.random() > 0.5 ? 1 : 2 }) })) : (jsx("div", { className: "max-w-[40%]", children: jsx(SkeletonBodyText, { lines: 1 }) }))] })] }) }));
24875
+ };
24876
+
24877
+ const GModalOrderJourney = ({ open, onClose, title, orderId, journeyItems, isLoading = false, hasNextPage = false, isFetchingNextPage = false, fetchNextPage, reportCampaign, pageAnalytic, mode, journeySource, onViewOrderDetails, }) => {
24878
+ const [isExpanded, setIsExpanded] = useState(false);
24879
+ usePreventBodyScroll({ enable: open });
24880
+ const source = useMemo(() => {
24881
+ if (journeySource)
24882
+ return journeySource;
24883
+ if (reportCampaign)
24884
+ return EReportSource.CAMPAIGN;
24885
+ if (pageAnalytic)
24886
+ return EReportSource.PAGE;
24887
+ }, [reportCampaign, pageAnalytic, journeySource]);
24888
+ const filteredCampaignId = reportCampaign?.id;
24889
+ const slicedJourneyItems = useMemo(() => {
24890
+ if (!source)
24891
+ return journeyItems;
24892
+ return sliceJourneyItems({
24893
+ journeyItems,
24894
+ mode,
24895
+ source,
24896
+ pageAnalytic,
24897
+ filteredCampaignId,
24898
+ });
24899
+ }, [journeyItems, mode, source, pageAnalytic, filteredCampaignId]);
24900
+ const isSliced = slicedJourneyItems.length < journeyItems.length;
24901
+ const displayedItems = isExpanded ? journeyItems : slicedJourneyItems;
24902
+ const hasMoreSteps = (!isExpanded && isSliced) || hasNextPage;
24903
+ const handleLoadMore = useCallback(() => {
24904
+ if (!isExpanded && isSliced) {
24905
+ setIsExpanded(true);
24906
+ }
24907
+ else if (hasNextPage) {
24908
+ fetchNextPage?.();
24909
+ }
24910
+ }, [isExpanded, isSliced, hasNextPage, fetchNextPage]);
24911
+ const eventsByDate = useMemo(() => {
24912
+ const grouped = new Map();
24913
+ displayedItems?.forEach((journeyItem) => {
24914
+ const dateKey = formatDateBy('MMMM D', journeyItem.date);
24915
+ if (!grouped.has(dateKey))
24916
+ grouped.set(dateKey, []);
24917
+ grouped.get(dateKey)?.push(journeyItem);
24918
+ });
24919
+ return Array.from(grouped.entries()).map(([date, events]) => ({
24920
+ date,
24921
+ dateKey: date,
24922
+ events: events.map((event) => ({ ...event, filteredCampaignId })),
24923
+ }));
24924
+ }, [displayedItems, filteredCampaignId]);
24925
+ useEffect(() => {
24926
+ if (!open)
24927
+ setIsExpanded(false);
24928
+ }, [open]);
24929
+ if (!orderId)
24930
+ return null;
24931
+ return (jsx(GModal, { open: open, title: title, onClose: onClose, children: jsx(OrderJourneyProvider, { value: { orderId, onViewOrderDetails }, children: isLoading ? (jsx(OrderJourneySkeleton, {})) : (jsx(JourneyContainer, { orderId: orderId, eventsByDate: eventsByDate, hasMoreSteps: hasMoreSteps, isFetchingMoreSteps: isFetchingNextPage, onLoadMore: handleLoadMore })) }) }));
24932
+ };
24933
+
24347
24934
  function isBrowser() {
24348
24935
  return typeof window !== 'undefined';
24349
24936
  }
@@ -24387,4 +24974,4 @@ const useStickyFilterBoxProps = ({ id }) => {
24387
24974
  };
24388
24975
  };
24389
24976
 
24390
- 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, 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, OrderListingLatestTable, 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, useIsStickyById, useOrderColumnsSelectorStore, useOrderControlStore, usePathAnalysisCampaignStore, usePathAnalysisConfig, usePathAnalysisContext, usePathAnalysisStore, useStickyFilterBoxProps, useTimezoneContext, useVersionDateTimeFilters };
24977
+ 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, 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 };