se-design 1.0.83-dev.4 → 1.0.83-r-dev.1

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 (269) hide show
  1. package/dist/assets/icons/tag.svg +2 -2
  2. package/dist/assets/style.css +1 -1
  3. package/dist/components/AccessibleDiv/index.d.ts +1 -23
  4. package/dist/components/Dropdown/index.d.ts +0 -2
  5. package/dist/components/DropdownWithInputTags/index.d.ts +0 -3
  6. package/dist/components/Link/index.d.ts +2 -6
  7. package/dist/components/NLSearch/ClearAiFiltersBar.d.ts +21 -0
  8. package/dist/components/NLSearch/NLDynamicChip.d.ts +26 -0
  9. package/dist/components/NLSearch/NLSearchInput.d.ts +46 -0
  10. package/dist/components/NLSearch/index.d.ts +6 -0
  11. package/dist/components/index.d.ts +2 -0
  12. package/dist/index.js +139 -140
  13. package/dist/index.js.map +1 -1
  14. package/dist/index100.js.map +1 -1
  15. package/dist/index101.js.map +1 -1
  16. package/dist/index102.js.map +1 -1
  17. package/dist/index103.js.map +1 -1
  18. package/dist/index104.js.map +1 -1
  19. package/dist/index105.js.map +1 -1
  20. package/dist/index106.js.map +1 -1
  21. package/dist/index107.js.map +1 -1
  22. package/dist/index108.js.map +1 -1
  23. package/dist/index109.js.map +1 -1
  24. package/dist/index11.js +1 -1
  25. package/dist/index110.js.map +1 -1
  26. package/dist/index111.js.map +1 -1
  27. package/dist/index112.js.map +1 -1
  28. package/dist/index113.js.map +1 -1
  29. package/dist/index114.js.map +1 -1
  30. package/dist/index115.js.map +1 -1
  31. package/dist/index116.js.map +1 -1
  32. package/dist/index117.js.map +1 -1
  33. package/dist/index118.js.map +1 -1
  34. package/dist/index119.js.map +1 -1
  35. package/dist/index12.js +1 -1
  36. package/dist/index120.js.map +1 -1
  37. package/dist/index121.js.map +1 -1
  38. package/dist/index122.js.map +1 -1
  39. package/dist/index123.js.map +1 -1
  40. package/dist/index124.js.map +1 -1
  41. package/dist/index125.js.map +1 -1
  42. package/dist/index126.js.map +1 -1
  43. package/dist/index127.js.map +1 -1
  44. package/dist/index128.js.map +1 -1
  45. package/dist/index129.js.map +1 -1
  46. package/dist/index13.js +1 -1
  47. package/dist/index130.js.map +1 -1
  48. package/dist/index131.js.map +1 -1
  49. package/dist/index132.js.map +1 -1
  50. package/dist/index133.js.map +1 -1
  51. package/dist/index134.js.map +1 -1
  52. package/dist/index135.js.map +1 -1
  53. package/dist/index136.js.map +1 -1
  54. package/dist/index137.js.map +1 -1
  55. package/dist/index138.js.map +1 -1
  56. package/dist/index139.js.map +1 -1
  57. package/dist/index140.js.map +1 -1
  58. package/dist/index141.js.map +1 -1
  59. package/dist/index142.js.map +1 -1
  60. package/dist/index143.js.map +1 -1
  61. package/dist/index144.js.map +1 -1
  62. package/dist/index145.js.map +1 -1
  63. package/dist/index146.js.map +1 -1
  64. package/dist/index147.js.map +1 -1
  65. package/dist/index148.js.map +1 -1
  66. package/dist/index149.js.map +1 -1
  67. package/dist/index150.js.map +1 -1
  68. package/dist/index151.js.map +1 -1
  69. package/dist/index152.js.map +1 -1
  70. package/dist/index153.js.map +1 -1
  71. package/dist/index154.js.map +1 -1
  72. package/dist/index155.js.map +1 -1
  73. package/dist/index156.js.map +1 -1
  74. package/dist/index157.js.map +1 -1
  75. package/dist/index158.js.map +1 -1
  76. package/dist/index159.js.map +1 -1
  77. package/dist/index16.js +23 -25
  78. package/dist/index16.js.map +1 -1
  79. package/dist/index160.js.map +1 -1
  80. package/dist/index161.js.map +1 -1
  81. package/dist/index162.js.map +1 -1
  82. package/dist/index163.js.map +1 -1
  83. package/dist/index164.js.map +1 -1
  84. package/dist/index165.js.map +1 -1
  85. package/dist/index166.js.map +1 -1
  86. package/dist/index167.js.map +1 -1
  87. package/dist/index168.js.map +1 -1
  88. package/dist/index169.js.map +1 -1
  89. package/dist/index17.js +29 -29
  90. package/dist/index17.js.map +1 -1
  91. package/dist/index170.js.map +1 -1
  92. package/dist/index171.js.map +1 -1
  93. package/dist/index172.js.map +1 -1
  94. package/dist/index173.js.map +1 -1
  95. package/dist/index174.js.map +1 -1
  96. package/dist/index175.js.map +1 -1
  97. package/dist/index176.js.map +1 -1
  98. package/dist/index177.js.map +1 -1
  99. package/dist/index178.js.map +1 -1
  100. package/dist/index179.js.map +1 -1
  101. package/dist/index18.js +63 -85
  102. package/dist/index18.js.map +1 -1
  103. package/dist/index180.js.map +1 -1
  104. package/dist/index181.js.map +1 -1
  105. package/dist/index182.js.map +1 -1
  106. package/dist/index183.js.map +1 -1
  107. package/dist/index184.js.map +1 -1
  108. package/dist/index185.js.map +1 -1
  109. package/dist/index186.js.map +1 -1
  110. package/dist/index187.js.map +1 -1
  111. package/dist/index188.js.map +1 -1
  112. package/dist/index189.js.map +1 -1
  113. package/dist/index19.js +167 -182
  114. package/dist/index19.js.map +1 -1
  115. package/dist/index190.js.map +1 -1
  116. package/dist/index191.js.map +1 -1
  117. package/dist/index192.js.map +1 -1
  118. package/dist/index193.js +1 -1
  119. package/dist/index193.js.map +1 -1
  120. package/dist/index194.js.map +1 -1
  121. package/dist/index195.js.map +1 -1
  122. package/dist/index196.js.map +1 -1
  123. package/dist/index197.js.map +1 -1
  124. package/dist/index198.js.map +1 -1
  125. package/dist/index199.js.map +1 -1
  126. package/dist/index200.js.map +1 -1
  127. package/dist/index201.js.map +1 -1
  128. package/dist/index202.js.map +1 -1
  129. package/dist/index203.js.map +1 -1
  130. package/dist/index207.js +2 -2
  131. package/dist/index208.js +3 -3
  132. package/dist/index208.js.map +1 -1
  133. package/dist/index216.js +9 -13
  134. package/dist/index216.js.map +1 -1
  135. package/dist/index23.js +2 -2
  136. package/dist/index244.js +1 -1
  137. package/dist/index25.js +160 -174
  138. package/dist/index25.js.map +1 -1
  139. package/dist/index27.js +1 -1
  140. package/dist/index28.js +4 -4
  141. package/dist/index28.js.map +1 -1
  142. package/dist/index29.js +30 -34
  143. package/dist/index29.js.map +1 -1
  144. package/dist/index3.js +50 -60
  145. package/dist/index3.js.map +1 -1
  146. package/dist/index30.js +3 -3
  147. package/dist/index32.js +10 -11
  148. package/dist/index35.js +3 -3
  149. package/dist/index36.js +4 -4
  150. package/dist/index38.js +195 -210
  151. package/dist/index38.js.map +1 -1
  152. package/dist/index39.js +2 -2
  153. package/dist/index4.js +3 -3
  154. package/dist/index42.js +7 -8
  155. package/dist/index43.js +13 -14
  156. package/dist/index43.js.map +1 -1
  157. package/dist/index45.js +60 -61
  158. package/dist/index45.js.map +1 -1
  159. package/dist/index46.js +198 -194
  160. package/dist/index46.js.map +1 -1
  161. package/dist/index47.js +40 -38
  162. package/dist/index47.js.map +1 -1
  163. package/dist/index48.js +36 -33
  164. package/dist/index48.js.map +1 -1
  165. package/dist/index50.js +189 -78
  166. package/dist/index50.js.map +1 -1
  167. package/dist/index51.js +36 -459
  168. package/dist/index51.js.map +1 -1
  169. package/dist/index52.js +33 -98
  170. package/dist/index52.js.map +1 -1
  171. package/dist/index53.js +151 -36
  172. package/dist/index53.js.map +1 -1
  173. package/dist/index54.js +84 -36
  174. package/dist/index54.js.map +1 -1
  175. package/dist/index55.js +456 -88
  176. package/dist/index55.js.map +1 -1
  177. package/dist/index56.js +96 -161
  178. package/dist/index56.js.map +1 -1
  179. package/dist/index57.js +35 -146
  180. package/dist/index57.js.map +1 -1
  181. package/dist/index58.js +38 -33
  182. package/dist/index58.js.map +1 -1
  183. package/dist/index59.js +89 -83
  184. package/dist/index59.js.map +1 -1
  185. package/dist/index6.js +237 -239
  186. package/dist/index6.js.map +1 -1
  187. package/dist/index60.js +157 -113
  188. package/dist/index60.js.map +1 -1
  189. package/dist/index61.js +143 -62
  190. package/dist/index61.js.map +1 -1
  191. package/dist/index62.js +33 -152
  192. package/dist/index62.js.map +1 -1
  193. package/dist/index63.js +80 -312
  194. package/dist/index63.js.map +1 -1
  195. package/dist/index64.js +118 -46
  196. package/dist/index64.js.map +1 -1
  197. package/dist/index65.js +62 -140
  198. package/dist/index65.js.map +1 -1
  199. package/dist/index66.js +152 -12
  200. package/dist/index66.js.map +1 -1
  201. package/dist/index67.js +316 -44
  202. package/dist/index67.js.map +1 -1
  203. package/dist/index68.js +44 -104
  204. package/dist/index68.js.map +1 -1
  205. package/dist/index69.js +143 -18
  206. package/dist/index69.js.map +1 -1
  207. package/dist/index7.js +8 -9
  208. package/dist/index70.js +9 -63
  209. package/dist/index70.js.map +1 -1
  210. package/dist/index71.js +45 -26
  211. package/dist/index71.js.map +1 -1
  212. package/dist/index72.js +78 -102
  213. package/dist/index72.js.map +1 -1
  214. package/dist/index73.js +18 -61
  215. package/dist/index73.js.map +1 -1
  216. package/dist/index74.js +63 -18
  217. package/dist/index74.js.map +1 -1
  218. package/dist/index75.js +24 -105
  219. package/dist/index75.js.map +1 -1
  220. package/dist/index76.js +108 -18
  221. package/dist/index76.js.map +1 -1
  222. package/dist/index77.js +61 -10
  223. package/dist/index77.js.map +1 -1
  224. package/dist/index78.js +21 -5
  225. package/dist/index78.js.map +1 -1
  226. package/dist/index79.js +5 -56
  227. package/dist/index79.js.map +1 -1
  228. package/dist/index80.js +50 -23
  229. package/dist/index80.js.map +1 -1
  230. package/dist/index81.js +22 -7
  231. package/dist/index81.js.map +1 -1
  232. package/dist/index82.js +12 -0
  233. package/dist/index82.js.map +1 -0
  234. package/dist/index84.js +2 -2
  235. package/dist/index84.js.map +1 -1
  236. package/dist/index85.js +2 -2
  237. package/dist/index85.js.map +1 -1
  238. package/dist/index86.js +2 -2
  239. package/dist/index86.js.map +1 -1
  240. package/dist/index87.js +2 -2
  241. package/dist/index87.js.map +1 -1
  242. package/dist/index88.js +1 -1
  243. package/dist/index88.js.map +1 -1
  244. package/dist/index89.js +1 -1
  245. package/dist/index89.js.map +1 -1
  246. package/dist/index9.js +3 -3
  247. package/dist/index90.js +1 -1
  248. package/dist/index90.js.map +1 -1
  249. package/dist/index91.js +1 -1
  250. package/dist/index91.js.map +1 -1
  251. package/dist/index92.js +1 -1
  252. package/dist/index92.js.map +1 -1
  253. package/dist/index93.js +1 -1
  254. package/dist/index93.js.map +1 -1
  255. package/dist/index94.js +1 -1
  256. package/dist/index94.js.map +1 -1
  257. package/dist/index95.js +1 -1
  258. package/dist/index95.js.map +1 -1
  259. package/dist/index96.js +1 -1
  260. package/dist/index96.js.map +1 -1
  261. package/dist/index97.js.map +1 -1
  262. package/dist/index98.js.map +1 -1
  263. package/dist/index99.js.map +1 -1
  264. package/package.json +1 -1
  265. package/dist/assets/icons/chat.svg +0 -4
  266. package/dist/index49.js +0 -152
  267. package/dist/index49.js.map +0 -1
  268. package/dist/index83.js +0 -5
  269. package/dist/index83.js.map +0 -1
package/dist/index62.js CHANGED
@@ -1,155 +1,36 @@
1
- import o, { useState as B, useRef as C, useCallback as m, useEffect as w } from "react";
2
- import { Button as L } from "./index4.js";
3
- import { Tooltip as D } from "./index16.js";
4
- /* empty css */
5
- const u = {
6
- gotIt: "got_it",
7
- finish: "finish",
8
- next: "next",
9
- back: "back"
10
- }, Q = ({
11
- steps: e = [],
12
- screenBaseElementSelector: T = "",
13
- handleCloseProductTour: d,
14
- tourType: g = "",
15
- automationId: f = "onboarding-tour",
16
- highlightBorderRadius: E = 6,
17
- labels: A
18
- }) => {
19
- const [t, k] = B(0), c = C(null), l = C(null), {
20
- next: H = "Next",
21
- gotIt: P = "Got It",
22
- finish: M = "Finish",
23
- skip: W = "Skip tour",
24
- stepInfo: O = "Step {step} of {total}"
25
- } = A || {}, s = document.querySelector(T), y = m(() => {
26
- let n;
27
- if (t >= e.length)
28
- return n;
29
- const i = document.querySelector(e[t]?.targetElementContainerSelector ? e[t].targetElementContainerSelector : e[t]?.targetElementSelector);
30
- if (!i)
31
- return n;
32
- const r = i.getBoundingClientRect();
33
- return r.top >= 0 && r.left >= 0 && r.bottom <= window.innerHeight && r.right <= window.innerWidth || (r.top < 0 ? i.scrollIntoView({
34
- behavior: "auto",
35
- block: "start"
36
- }) : r.bottom > window.innerHeight && i.scrollIntoView({
37
- behavior: "auto",
38
- block: "end"
39
- })), n = setTimeout(() => {
40
- const x = document.querySelector(e[t]?.targetElementSelector);
41
- if (!x || !c.current || !l.current)
42
- return;
43
- const a = x.getBoundingClientRect(), p = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);
44
- c.current.style.height = `${p}px`;
45
- const h = e[t]?.targetElementGap || {
46
- horizontal: 0,
47
- vertical: 0
48
- }, S = E * 2, I = a.left - h.horizontal, N = a.top + window.scrollY - h.vertical, z = a.right + h.horizontal, F = a.bottom + window.scrollY + h.vertical, G = z - I, q = F - N, R = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth), _ = encodeURIComponent(`
49
- <svg width="${R}" height="${p}" xmlns="http://www.w3.org/2000/svg">
50
- <defs>
51
- <mask id="highlight-mask-${t}">
52
- <rect x="0" y="0" width="${R}" height="${p}" fill="white"/>
53
- <rect x="${I}" y="${N}" width="${G}" height="${q}" rx="${S}" ry="${S}" fill="black"/>
54
- </mask>
55
- </defs>
56
- </svg>
57
- `);
58
- c.current.style.maskImage = `url("data:image/svg+xml,${_}#highlight-mask-${t}")`, c.current.style.webkitMaskImage = `url("data:image/svg+xml,${_}#highlight-mask-${t}")`, l.current.style.top = `${a.top}px`, l.current.style.left = `${a.left}px`, l.current.style.width = `${a.width}px`, l.current.style.height = `${a.height}px`, l.current.style.borderRadius = `${E}px`;
59
- }, 50), n;
60
- }, [t, e]), V = m(() => {
61
- d(), s && s.scrollTo({
62
- top: 0,
63
- behavior: "smooth"
64
- });
65
- }, [d, s]), v = m((n) => {
66
- n?.preventDefault(), n?.stopPropagation(), t < e.length - 1 ? k((i) => i + 1) : (d(n), s && s.scrollTo({
67
- top: 0,
68
- behavior: "smooth"
69
- })), e[t]?.tourMixPanelHandler?.({
70
- user_path: g,
71
- action_type: `clicked_${t === e.length - 1 ? e.length === 1 ? u.gotIt : u.finish : u.next}`
72
- });
73
- }, [t, e, d, g, s]), $ = m(() => {
74
- t > 0 && k((n) => n - 1), e[t]?.tourMixPanelHandler?.({
75
- user_path: g,
76
- action_type: `clicked_${u.back}`
77
- });
78
- }, [t, e, g]), b = m((n) => {
79
- (n.keyCode === 37 || n.key === "ArrowLeft") && t > 0 && $(), (n.keyCode === 39 || n.key === "ArrowRight") && v();
80
- }, [t, v, $]);
81
- return w(() => (window.addEventListener("keydown", b), () => {
82
- window.removeEventListener("keydown", b);
83
- }), [b]), w(() => {
84
- let n;
85
- return t < e.length && (n = y()), () => {
86
- n && clearTimeout(n);
87
- };
88
- }, [t, e, y]), w(() => {
89
- if (t < e.length && c.current) {
90
- const n = c.current, i = (r) => {
91
- r.preventDefault(), r.stopPropagation();
92
- };
93
- return n.addEventListener("wheel", i, {
94
- passive: !1
95
- }), n.addEventListener("touchmove", i, {
96
- passive: !1
97
- }), n.addEventListener("scroll", i, {
98
- passive: !1
99
- }), () => {
100
- n.removeEventListener("wheel", i), n.removeEventListener("touchmove", i), n.removeEventListener("scroll", i);
101
- };
102
- }
103
- }, [t]), !e || e.length === 0 ? null : /* @__PURE__ */ o.createElement(o.Fragment, null, /* @__PURE__ */ o.createElement("div", {
104
- className: "se-design-onboarding-tour-overlay",
105
- ref: c,
106
- "data-automation-id": `${f}-overlay`
107
- }), /* @__PURE__ */ o.createElement(D, {
108
- content: /* @__PURE__ */ o.createElement("div", {
109
- className: "se-design-onboarding-tour-tooltip-content"
110
- }, e[t]?.content?.illustration && /* @__PURE__ */ o.createElement("img", {
111
- src: e[t].content.illustration,
112
- className: "se-design-onboarding-tour-illustration",
113
- alt: "illustration"
114
- }), /* @__PURE__ */ o.createElement("div", {
115
- className: "se-design-onboarding-tour-content"
116
- }, e[t]?.content?.title && /* @__PURE__ */ o.createElement("p", {
117
- className: "se-design-onboarding-tour-title"
118
- }, e[t].content.title), e[t]?.content?.description && /* @__PURE__ */ o.createElement("p", {
119
- className: "se-design-onboarding-tour-description"
120
- }, e[t].content.description)), /* @__PURE__ */ o.createElement("div", {
121
- className: "se-design-onboarding-tour-actions"
122
- }, e.length > 1 && /* @__PURE__ */ o.createElement("span", {
123
- className: "steps"
124
- }, O.replace("{step}", `${t + 1}`).replace("{total}", `${e.length}`)), /* @__PURE__ */ o.createElement("div", {
125
- className: "btns-container"
126
- }, t !== e.length - 1 && /* @__PURE__ */ o.createElement(L, {
127
- theme: "white",
128
- type: "link",
129
- label: W,
130
- automationId: `${f}-skip-button`,
131
- onClick: V
132
- }), /* @__PURE__ */ o.createElement(L, {
133
- theme: "white",
134
- type: "primary",
135
- size: "sm",
136
- label: t === e.length - 1 ? e.length === 1 ? P : M : H,
137
- automationId: `${f}-next-button`,
138
- onClick: v
139
- })))),
140
- tooltipSrc: /* @__PURE__ */ o.createElement("div", {
141
- className: "blocker",
142
- ref: l
143
- }),
144
- tooltipSrcRef: l,
145
- position: e[t]?.tooltipPosition || "bottom-center",
146
- tooltipOffset: 16,
147
- displayOn: "always-on",
148
- isWithPortal: !0,
149
- maxWidth: 384
150
- }));
151
- };
1
+ import e from "react";
2
+ import { Icon as c } from "./index6.js";
3
+ const i = ({
4
+ className: a = "",
5
+ message: t = "",
6
+ backgroundColor: l = "var(--color-yellow-50)",
7
+ textColor: r = "var(--color-yellow-800)",
8
+ borderColor: o = "var(--color-yellow-200)",
9
+ actionJSX: n = () => /* @__PURE__ */ e.createElement(e.Fragment, null)
10
+ }) => /* @__PURE__ */ e.createElement("div", {
11
+ className: `se-design-info-bar ${a} px-3 py-2 border rounded-[6px]`,
12
+ style: {
13
+ backgroundColor: l,
14
+ borderColor: o,
15
+ color: r
16
+ }
17
+ }, /* @__PURE__ */ e.createElement("div", {
18
+ className: "info-bar-message flex items-center gap-2"
19
+ }, /* @__PURE__ */ e.createElement("div", {
20
+ style: {
21
+ transform: "rotate(180deg)"
22
+ }
23
+ }, /* @__PURE__ */ e.createElement(c, {
24
+ name: "info",
25
+ stroke: r
26
+ })), /* @__PURE__ */ e.createElement("span", {
27
+ style: {
28
+ color: r
29
+ }
30
+ }, t)), /* @__PURE__ */ e.createElement("div", {
31
+ className: "info-bar-action ml-[22px]"
32
+ }, n()));
152
33
  export {
153
- Q as OnboardingTour
34
+ i as InfoBar
154
35
  };
155
36
  //# sourceMappingURL=index62.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index62.js","sources":["../src/components/OnboardingTour/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useRef, useState, useCallback } from 'react';\n\nimport { Button } from 'components/Button';\nimport { Tooltip } from 'components/Tooltip';\n\nimport './style.scss';\n\nconst TOUR_NAVIGATION_STEPS = {\n gotIt: 'got_it',\n finish: 'finish',\n next: 'next',\n back: 'back'\n};\n\nexport interface TourStep {\n targetElementSelector: string;\n targetElementContainerSelector?: string;\n targetElementGap?: {\n horizontal: number;\n vertical: number;\n };\n tooltipPosition?:\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right'\n | 'left-top'\n | 'left-center'\n | 'left-bottom'\n | 'right-top'\n | 'right-center'\n | 'right-bottom';\n content: {\n title?: string;\n description?: string;\n illustration?: any;\n };\n tourMixPanelHandler?: (data: { user_path: string; action_type: string }) => void;\n}\n\nexport interface OnboardingTourProps {\n steps: TourStep[];\n screenBaseElementSelector: string;\n handleCloseProductTour: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n tourType?: string;\n highlightBorderRadius?: number;\n automationId?: string;\n labels?: {\n next: string;\n gotIt: string;\n finish: string;\n skip: string;\n stepInfo: string;\n };\n}\n\nexport const OnboardingTour: FC<OnboardingTourProps> = ({\n steps = [],\n screenBaseElementSelector = '',\n handleCloseProductTour,\n tourType = '',\n automationId = 'onboarding-tour',\n highlightBorderRadius = 6,\n labels\n}) => {\n const [currentStep, setCurrentStep] = useState(0);\n const overlayRef = useRef<HTMLDivElement>(null);\n const blockerRef = useRef<HTMLDivElement>(null);\n\n const {\n next = 'Next',\n gotIt = 'Got It',\n finish = 'Finish',\n skip = 'Skip tour',\n stepInfo = 'Step {step} of {total}'\n } = labels || {};\n\n const parentScreenElement = document.querySelector(screenBaseElementSelector) as HTMLElement | null;\n\n const clipTargetElementAndPositionTooltip = useCallback(() => {\n let timerId: any;\n\n if (currentStep >= steps.length) {\n return timerId;\n }\n\n // get the target element\n const initialTargetElement = document.querySelector(\n steps[currentStep]?.targetElementContainerSelector\n ? steps[currentStep].targetElementContainerSelector\n : steps[currentStep]?.targetElementSelector\n ) as HTMLElement | null;\n\n if (!initialTargetElement) {\n return timerId;\n }\n\n const initialTargetArea = initialTargetElement.getBoundingClientRect();\n\n // check whether target element is fully visible in viewport\n const isFullyVisible =\n initialTargetArea.top >= 0 &&\n initialTargetArea.left >= 0 &&\n initialTargetArea.bottom <= window.innerHeight &&\n initialTargetArea.right <= window.innerWidth;\n\n if (!isFullyVisible) {\n if (initialTargetArea.top < 0) {\n initialTargetElement.scrollIntoView({ behavior: 'auto', block: 'start' });\n } else if (initialTargetArea.bottom > window.innerHeight) {\n initialTargetElement.scrollIntoView({ behavior: 'auto', block: 'end' });\n }\n }\n\n // if the target element is visible, then clip the target element and position the tooltip\n timerId = setTimeout(() => {\n const targetElement = document.querySelector(steps[currentStep]?.targetElementSelector) as HTMLElement | null;\n\n if (!targetElement || !overlayRef.current || !blockerRef.current) {\n return;\n }\n\n const targetArea = targetElement.getBoundingClientRect();\n\n const documentHeight = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n\n // Update overlay dimensions and calculate target element area to focus\n overlayRef.current.style.height = `${documentHeight}px`;\n\n // Providing gap around target element\n const targetElementGap = steps[currentStep]?.targetElementGap || { horizontal: 0, vertical: 0 };\n\n // clip the target element with rounded corners\n const borderRadius = highlightBorderRadius * 2;\n const left = targetArea.left - targetElementGap.horizontal;\n const top = targetArea.top + window.scrollY - targetElementGap.vertical;\n const right = targetArea.right + targetElementGap.horizontal;\n const bottom = targetArea.bottom + window.scrollY + targetElementGap.vertical;\n const width = right - left;\n const height = bottom - top;\n const documentWidth = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);\n\n // Create SVG mask with rounded rectangle hole\n const svgMask = encodeURIComponent(`\n <svg width=\"${documentWidth}\" height=\"${documentHeight}\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <mask id=\"highlight-mask-${currentStep}\">\n <rect x=\"0\" y=\"0\" width=\"${documentWidth}\" height=\"${documentHeight}\" fill=\"white\"/>\n <rect x=\"${left}\" y=\"${top}\" width=\"${width}\" height=\"${height}\" rx=\"${borderRadius}\" ry=\"${borderRadius}\" fill=\"black\"/>\n </mask>\n </defs>\n </svg>\n `);\n\n // Apply created mask to the overlay\n overlayRef.current.style.maskImage = `url(\"data:image/svg+xml,${svgMask}#highlight-mask-${currentStep}\")`;\n overlayRef.current.style.webkitMaskImage = `url(\"data:image/svg+xml,${svgMask}#highlight-mask-${currentStep}\")`;\n\n // Position blocker over clipped area to avoid clicks on the target element\n blockerRef.current.style.top = `${targetArea.top}px`;\n blockerRef.current.style.left = `${targetArea.left}px`;\n blockerRef.current.style.width = `${targetArea.width}px`;\n blockerRef.current.style.height = `${targetArea.height}px`;\n blockerRef.current.style.borderRadius = `${highlightBorderRadius}px`;\n }, 50);\n\n return timerId;\n }, [currentStep, steps]);\n\n const handleSkipTour = useCallback(() => {\n handleCloseProductTour();\n if (parentScreenElement) {\n parentScreenElement.scrollTo({ top: 0, behavior: 'smooth' });\n }\n }, [handleCloseProductTour, parentScreenElement]);\n\n const handleNextClick = useCallback(\n (e?: React.MouseEvent<HTMLButtonElement>) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n if (currentStep < steps.length - 1) {\n setCurrentStep((prev) => prev + 1);\n } else {\n handleCloseProductTour(e);\n if (parentScreenElement) {\n parentScreenElement.scrollTo({ top: 0, behavior: 'smooth' });\n }\n }\n steps[currentStep]?.tourMixPanelHandler?.({\n user_path: tourType,\n action_type: `clicked_${\n currentStep === steps.length - 1\n ? steps.length === 1\n ? TOUR_NAVIGATION_STEPS.gotIt\n : TOUR_NAVIGATION_STEPS.finish\n : TOUR_NAVIGATION_STEPS.next\n }`\n });\n },\n [currentStep, steps, handleCloseProductTour, tourType, parentScreenElement]\n );\n\n const handlePrevClick = useCallback(() => {\n if (currentStep > 0) {\n setCurrentStep((prev) => prev - 1);\n }\n steps[currentStep]?.tourMixPanelHandler?.({\n user_path: tourType,\n action_type: `clicked_${TOUR_NAVIGATION_STEPS.back}`\n });\n }, [currentStep, steps, tourType]);\n\n const handleKeyPress = useCallback(\n (e: KeyboardEvent) => {\n if (e.keyCode === 37 || e.key === 'ArrowLeft') {\n // for previous navigation\n if (currentStep > 0) {\n handlePrevClick();\n }\n }\n if (e.keyCode === 39 || e.key === 'ArrowRight') {\n // for next navigation\n handleNextClick();\n }\n },\n [currentStep, handleNextClick, handlePrevClick]\n );\n\n useEffect(() => {\n // Adding event listener for keydown\n window.addEventListener('keydown', handleKeyPress);\n\n return () => {\n window.removeEventListener('keydown', handleKeyPress);\n };\n }, [handleKeyPress]);\n\n useEffect(() => {\n let timerId: any;\n if (currentStep < steps.length) {\n timerId = clipTargetElementAndPositionTooltip();\n }\n\n return () => {\n if (timerId) {\n clearTimeout(timerId);\n }\n };\n }, [currentStep, steps, clipTargetElementAndPositionTooltip]);\n\n // To prevent scroll when tour is active\n useEffect(() => {\n if (currentStep < steps.length && overlayRef.current) {\n const overlay = overlayRef.current;\n\n const preventScroll = (e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n overlay.addEventListener('wheel', preventScroll, { passive: false });\n overlay.addEventListener('touchmove', preventScroll, { passive: false });\n overlay.addEventListener('scroll', preventScroll, { passive: false });\n\n return () => {\n overlay.removeEventListener('wheel', preventScroll);\n overlay.removeEventListener('touchmove', preventScroll);\n overlay.removeEventListener('scroll', preventScroll);\n };\n }\n }, [currentStep]);\n\n if (!steps || steps.length === 0) {\n return null;\n }\n\n return (\n <>\n <div\n className=\"se-design-onboarding-tour-overlay\"\n ref={overlayRef}\n data-automation-id={`${automationId}-overlay`}\n />\n\n <Tooltip\n content={\n <div className=\"se-design-onboarding-tour-tooltip-content\">\n {steps[currentStep]?.content?.illustration && (\n <img\n src={steps[currentStep].content.illustration}\n className=\"se-design-onboarding-tour-illustration\"\n alt=\"illustration\"\n />\n )}\n <div className=\"se-design-onboarding-tour-content\">\n {steps[currentStep]?.content?.title && (\n <p className=\"se-design-onboarding-tour-title\">{steps[currentStep].content.title}</p>\n )}\n {steps[currentStep]?.content?.description && (\n <p className=\"se-design-onboarding-tour-description\">{steps[currentStep].content.description}</p>\n )}\n </div>\n\n <div className=\"se-design-onboarding-tour-actions\">\n {steps.length > 1 && (\n <span className=\"steps\">\n {stepInfo.replace('{step}', `${currentStep + 1}`).replace('{total}', `${steps.length}`)}\n </span>\n )}\n <div className=\"btns-container\">\n {currentStep !== steps.length - 1 && (\n <Button\n theme=\"white\"\n type=\"link\"\n label={skip}\n automationId={`${automationId}-skip-button`}\n onClick={handleSkipTour}\n />\n )}\n <Button\n theme=\"white\"\n type=\"primary\"\n size=\"sm\"\n label={currentStep === steps.length - 1 ? (steps.length === 1 ? gotIt : finish) : next}\n automationId={`${automationId}-next-button`}\n onClick={handleNextClick}\n />\n </div>\n </div>\n </div>\n }\n tooltipSrc={<div className=\"blocker\" ref={blockerRef} />}\n tooltipSrcRef={blockerRef as React.RefObject<HTMLDivElement>}\n position={steps[currentStep]?.tooltipPosition || 'bottom-center'}\n tooltipOffset={16}\n displayOn=\"always-on\"\n isWithPortal={true}\n maxWidth={384}\n />\n </>\n );\n};\n"],"names":["React__default","useState","useRef","useCallback","useEffect","Button","Tooltip","TOUR_NAVIGATION_STEPS","gotIt","finish","next","back","OnboardingTour","steps","screenBaseElementSelector","handleCloseProductTour","tourType","automationId","highlightBorderRadius","labels","currentStep","setCurrentStep","overlayRef","blockerRef","skip","stepInfo","parentScreenElement","document","querySelector","clipTargetElementAndPositionTooltip","timerId","length","initialTargetElement","targetElementContainerSelector","targetElementSelector","initialTargetArea","getBoundingClientRect","top","left","bottom","window","innerHeight","right","innerWidth","scrollIntoView","behavior","block","setTimeout","targetElement","current","targetArea","documentHeight","Math","max","documentElement","scrollHeight","body","style","height","targetElementGap","horizontal","vertical","borderRadius","scrollY","width","documentWidth","scrollWidth","svgMask","encodeURIComponent","maskImage","webkitMaskImage","handleSkipTour","scrollTo","handleNextClick","e","preventDefault","stopPropagation","prev","tourMixPanelHandler","user_path","action_type","handlePrevClick","handleKeyPress","keyCode","key","addEventListener","removeEventListener","clearTimeout","overlay","preventScroll","passive","createElement","React","Fragment","className","ref","content","illustration","src","alt","title","description","replace","theme","type","label","onClick","size","tooltipSrc","tooltipSrcRef","position","tooltipPosition","tooltipOffset","displayOn","isWithPortal","maxWidth"],"mappings":"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"}
1
+ {"version":3,"file":"index62.js","sources":["../src/components/InfoBar/index.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { Icon } from \"../Icon\";\n\nexport interface InfoBarProps {\n className?: string;\n message: string;\n backgroundColor?: string;\n textColor?: string;\n borderColor?: string;\n actionJSX?: () => React.ReactNode;\n}\n\nexport const InfoBar: FC<InfoBarProps> = ({\n className = \"\",\n message = \"\",\n backgroundColor = 'var(--color-yellow-50)',\n textColor = 'var(--color-yellow-800)',\n borderColor = 'var(--color-yellow-200)',\n actionJSX = () => <></>\n}) => {\n\n return (\n <div\n className={`se-design-info-bar ${className} px-3 py-2 border rounded-[6px]`}\n style={{ backgroundColor, borderColor, color: textColor }}\n >\n <div className={`info-bar-message flex items-center gap-2`}>\n <div style={{ transform: 'rotate(180deg)' }}><Icon name=\"info\" stroke={textColor} /></div>\n <span style={{ color: textColor }}>{message}</span>\n </div>\n <div className={`info-bar-action ml-[22px]`}>\n {actionJSX()}\n </div>\n </div>\n );\n};"],"names":["InfoBar","className","message","backgroundColor","textColor","borderColor","actionJSX","React","createElement","Fragment","style","color","transform","Icon","name","stroke"],"mappings":";;AAYO,MAAMA,IAA4BA,CAAC;AAAA,EACxCC,WAAAA,IAAY;AAAA,EACZC,SAAAA,IAAU;AAAA,EACVC,iBAAAA,IAAkB;AAAA,EAClBC,WAAAA,IAAY;AAAA,EACZC,aAAAA,IAAc;AAAA,EACdC,WAAAA,IAAYA,MAAMC,gBAAAA,EAAAC,cAAAD,EAAAE,UAAA,IAAI;AACxB,MAGIF,gBAAAA,EAAAC,cAAA,OAAA;AAAA,EACEP,WAAW,sBAAsBA,CAAS;AAAA,EAC1CS,OAAO;AAAA,IAAEP,iBAAAA;AAAAA,IAAiBE,aAAAA;AAAAA,IAAaM,OAAOP;AAAAA,EAAAA;AAAU,GAExDG,gBAAAA,EAAAC,cAAA,OAAA;AAAA,EAAKP,WAAW;AAAA,GACdM,gBAAAA,EAAAC,cAAA,OAAA;AAAA,EAAKE,OAAO;AAAA,IAAEE,WAAW;AAAA,EAAA;AAAiB,GAAGL,gBAAAA,EAAAC,cAACK,GAAI;AAAA,EAACC,MAAK;AAAA,EAAOC,QAAQX;AAAAA,CAAY,CAAM,GACzFG,gBAAAA,EAAAC,cAAA,QAAA;AAAA,EAAME,OAAO;AAAA,IAAEC,OAAOP;AAAAA,EAAAA;AAAU,GAAIF,CAAc,CAC/C,GACLK,gBAAAA,EAAAC,cAAA,OAAA;AAAA,EAAKP,WAAW;AAAA,GACbK,EAAAA,CACE,CACF;"}
package/dist/index63.js CHANGED
@@ -1,321 +1,89 @@
1
- import F, { useState as ot, useRef as X, useEffect as $ } from "react";
2
- import { createPortal as nt } from "react-dom";
3
- import { Icon as it } from "./index6.js";
4
- import { Button as rt } from "./index4.js";
5
- import { debounce as lt } from "./index224.js";
6
- const q = 500, S = 50, U = 150, st = {
7
- "top-left": {
8
- rotate: "315",
9
- class: "-top-5 left-0"
1
+ import e, { useRef as S, useState as f } from "react";
2
+ import { CustomModal as T } from "./index13.js";
3
+ import { Icon as v } from "./index6.js";
4
+ /* empty css */
5
+ const C = ({
6
+ children: c = null,
7
+ title: n = "",
8
+ onClose: s = () => {
10
9
  },
11
- "top-right": {
12
- rotate: "45",
13
- class: "-top-5 right-0"
10
+ showCloseIcon: l = !1,
11
+ showBackButton: a = !1,
12
+ onBack: m = () => {
14
13
  },
15
- "bottom-left": {
16
- rotate: "225",
17
- class: "-bottom-5 left-0"
18
- },
19
- "bottom-right": {
20
- rotate: "135",
21
- class: "-bottom-5 right-0"
22
- }
23
- }, V = (s) => {
24
- const d = document.querySelector(s);
25
- if (!d)
26
- return console.warn(`Iframe not found: ${s}`), null;
27
- try {
28
- return d.contentDocument || d.contentWindow?.document || null;
29
- } catch (u) {
30
- return console.error("Cannot access iframe document:", u), null;
31
- }
32
- }, C = (s, d) => {
33
- if (!d)
34
- return document.querySelector(s);
35
- const u = V(d);
36
- return u ? u.querySelector(s) : null;
37
- }, j = (s, d) => {
38
- const u = s.getBoundingClientRect();
39
- if (!d)
40
- return u;
41
- const h = document.querySelector(d);
42
- if (!h)
43
- return u;
44
- const E = h.getBoundingClientRect(), x = h.clientLeft || 0, y = h.clientTop || 0;
45
- return new DOMRect(u.left + E.left + x, u.top + E.top + y, u.width, u.height);
46
- }, ct = (s) => {
47
- switch (s) {
48
- case "left-bottom":
49
- case "left-center":
50
- case "bottom-left":
51
- return "top-right";
52
- case "right-bottom":
53
- case "right-center":
54
- case "bottom-right":
55
- case "bottom-center":
56
- return "top-left";
57
- case "top-left":
58
- case "left-top":
59
- return "bottom-right";
60
- case "top-right":
61
- case "top-center":
62
- case "right-top":
63
- return "bottom-left";
64
- default:
65
- return "top-left";
66
- }
67
- }, z = () => ({
68
- x: window.scrollX || window.pageXOffset,
69
- y: window.scrollY || window.pageYOffset
70
- }), at = (s, d, u) => {
71
- let h;
72
- const E = () => {
73
- const x = C(s, u);
74
- x ? d(x) : h = requestAnimationFrame(E);
75
- };
76
- return h = requestAnimationFrame(E), () => {
77
- h && cancelAnimationFrame(h);
78
- };
79
- }, pt = ({
80
- steps: s,
81
- screenBaseElementSelector: d,
82
- onClose: u,
83
- tooltipBackgroundColor: h = "#E04E05",
84
- tooltipTextColor: E = "var(--color-white)",
85
- maxWidth: x = 350
14
+ className: i = "",
15
+ automationId: r = "",
16
+ minHeight: u = "auto"
86
17
  }) => {
87
- const [y, W] = ot(0), g = X(null), M = X(null), Y = () => {
88
- y < s.length - 1 ? W(y + 1) : u?.();
89
- }, H = () => {
90
- Y();
18
+ const t = S(null), [g, p] = f(0), [E, h] = f(0), [b, Y] = f(!1), k = (o) => {
19
+ p(o.touches[0].clientY), h(o.touches[0].clientY), Y(!0);
20
+ }, N = (o) => {
21
+ if (!b) return;
22
+ const d = o.touches[0].clientY, x = d - g;
23
+ x > 0 && (h(d), t.current && (t.current.style.transform = `translateY(${x}px)`));
24
+ }, y = () => {
25
+ if (!b) return;
26
+ E - g > 60 ? s() : t.current && (t.current.style.transform = "translateY(0)"), Y(!1), p(0), h(0);
91
27
  };
92
- if ($(() => {
93
- const r = s[y], c = (b) => {
94
- const v = b.target, w = C(r?.targetElementSelector, r?.iframeSelector), T = M.current;
95
- if (!(T && T.contains(v)) && w && !w.contains(v)) {
96
- if (r?.isDropdownStep) {
97
- Y();
98
- return;
99
- }
100
- const P = s[s.length - 1], A = C(P.targetElementSelector, P.iframeSelector);
101
- A && A.contains(v) && u();
102
- }
103
- }, m = setTimeout(() => {
104
- document.body.addEventListener("mousedown", c, !0);
105
- }, q + U);
106
- return () => {
107
- clearTimeout(m), document.body.removeEventListener("mousedown", c, !0);
108
- };
109
- }, [y, s, u]), $(() => {
110
- W(0), g.current = null;
111
- const r = M.current;
112
- r && (r.style.maxWidth = `${x}px`, r.style.backgroundColor = h, r.style.color = E);
113
- }, [x, h, E]), $(() => {
114
- const r = s[y];
115
- if (!r?.targetElementSelector) {
116
- u?.();
117
- return;
118
- }
119
- const c = d ? document.querySelector(d) : null, m = M.current;
120
- if (!m) return;
121
- let b = null, v = null, w = null;
122
- const T = !!(c && c.scrollHeight > c.clientHeight), P = {
123
- height: c?.clientHeight || window.innerHeight,
124
- width: c?.clientWidth || window.innerWidth
125
- }, A = (D) => {
126
- b = D, b.addEventListener("click", H);
127
- const I = (t, o, f, e) => {
128
- const p = r.tooltipPosition || "bottom-center", n = r.tooltipPositionOffset?.vertical || 0, i = r.tooltipPositionOffset?.horizontal || 0;
129
- let l = 0, a = 0;
130
- switch (p) {
131
- case "bottom-center":
132
- l = t.bottom + e.y + n, a = t.left + e.x + t.width / 2 + i;
133
- break;
134
- case "bottom-left":
135
- l = t.bottom + e.y + n, a = t.left + e.x - o + i;
136
- break;
137
- case "bottom-right":
138
- l = t.bottom + e.y + n, a = t.right + e.x + i;
139
- break;
140
- case "top-center":
141
- l = t.top - f + e.y + n, a = t.left + e.x + t.width / 2 + i;
142
- break;
143
- case "top-left":
144
- l = t.top - f + e.y + n, a = t.left + e.x - o + i;
145
- break;
146
- case "top-right":
147
- l = t.top - f + e.y + n, a = t.right + e.x + i;
148
- break;
149
- case "left-top":
150
- l = t.top - f + e.y + n, a = t.left + e.x - o + i;
151
- break;
152
- case "left-center":
153
- l = t.top + e.y + t.height / 2 + n, a = t.left + e.x - o + i;
154
- break;
155
- case "left-bottom":
156
- l = t.bottom + e.y + n, a = t.left + e.x - o + i;
157
- break;
158
- case "right-top":
159
- l = t.top - f + e.y + n, a = t.right + e.x + i;
160
- break;
161
- case "right-center":
162
- l = t.top + e.y + t.height / 2 + n, a = t.right + e.x + i;
163
- break;
164
- case "right-bottom":
165
- l = t.bottom + e.y + n, a = t.right + e.x + i;
166
- break;
167
- default:
168
- l = t.bottom + e.y + n, a = t.left + e.x + t.width / 2 + i;
169
- break;
170
- }
171
- return {
172
- top: l,
173
- left: a
174
- };
175
- }, N = (t, o) => {
176
- m.style.position = "absolute";
177
- const f = () => {
178
- m.style.top = `${t.top}px`, m.style.left = `${t.left}px`;
179
- };
180
- o && g.current ? (m.style.transition = `top ${q}ms ease-in-out, left ${q}ms ease-in-out`, f(), g.current = t) : (f(), g.current = t);
181
- }, B = () => {
182
- if (!m || !b) return;
183
- const t = {
184
- width: m.offsetWidth || 0,
185
- height: m.offsetHeight || 0
186
- };
187
- if (t.width === 0 && t.height === 0) {
188
- requestAnimationFrame(B);
189
- return;
190
- }
191
- const o = j(b, r.iframeSelector), f = z(), e = I(o, t.width, t.height, f), p = g.current !== null;
192
- N(e, p);
193
- };
194
- w = lt(() => {
195
- if (!b || !m) return;
196
- const t = {
197
- top: parseFloat(m.style.top) || 0,
198
- left: parseFloat(m.style.left) || 0
199
- };
200
- !g.current && (t.top !== 0 || t.left !== 0) && (g.current = t), B(), g.current && setTimeout(() => {
201
- const o = {
202
- top: parseFloat(m.style.top) || 0,
203
- left: parseFloat(m.style.left) || 0
204
- };
205
- (o.top !== 0 || o.left !== 0) && (g.current = o);
206
- }, q);
207
- }, U);
208
- const K = (t, o, f, e, p) => {
209
- const n = {
210
- top: Math.min(t.top, o),
211
- bottom: Math.max(t.bottom, o + p),
212
- left: Math.min(t.left, f),
213
- right: Math.max(t.right, f + e)
214
- };
215
- if (c) {
216
- const i = c.getBoundingClientRect();
217
- return n.top >= i.top + S && n.bottom <= i.top + i.height - S && n.left >= i.left + S && n.right <= i.left + i.width - S && t.width > 0 && t.height > 0;
218
- }
219
- return n.top >= S && n.bottom <= P.height - S && n.left >= S && n.right <= P.width - S && t.width > 0 && t.height > 0;
220
- }, Q = (t, o, f) => {
221
- const e = Math.min(t.top, o), p = Math.max(t.bottom, o + f), n = p - e, i = !!(c && T), l = i ? c.getBoundingClientRect() : null, a = i ? l.height : window.innerHeight, O = i ? c.scrollTop : z().y, R = i ? c.scrollHeight - c.clientHeight : document.documentElement.scrollHeight - window.innerHeight, tt = a - 2 * S;
222
- let _;
223
- if (n > tt) {
224
- const L = (t.top + t.bottom) / 2;
225
- _ = i ? L - l.top + O : L + O;
226
- } else {
227
- const L = (e + p) / 2;
228
- _ = i ? L - l.top + O : L + O;
229
- }
230
- const et = _ - a / 2;
231
- return Math.max(0, Math.min(et, R));
232
- }, Z = () => {
233
- if (!m || !b) return;
234
- const t = () => {
235
- if (!m || !b) return;
236
- const o = {
237
- width: m.offsetWidth || 0,
238
- height: m.offsetHeight || 0
239
- };
240
- if (o.width === 0 && o.height === 0) {
241
- requestAnimationFrame(t);
242
- return;
243
- }
244
- const f = j(b, r.iframeSelector), e = z(), p = I(f, o.width, o.height, e), n = {
245
- top: p.top - e.y,
246
- left: p.left - e.x
247
- };
248
- if (K(f, n.top, n.left, o.width, o.height)) {
249
- const l = g.current !== null;
250
- N(p, l);
251
- } else {
252
- const l = Q(f, n.top, o.height);
253
- if (l !== null)
254
- (T && c ? c : window).scrollTo({
255
- top: l,
256
- behavior: "auto"
257
- }), requestAnimationFrame(() => B());
258
- else {
259
- const a = g.current !== null;
260
- N(p, a);
261
- }
262
- }
263
- };
264
- t();
265
- };
266
- if (window.addEventListener("scroll", w, {
267
- passive: !0
268
- }), T && c && c.addEventListener("scroll", w, {
269
- passive: !0
270
- }), r.iframeSelector) {
271
- const o = V(r.iframeSelector)?.defaultView;
272
- o && o.addEventListener("scroll", w, {
273
- passive: !0
274
- });
275
- }
276
- Z();
277
- };
278
- if (r.waitForElement)
279
- v = at(r.targetElementSelector, A, r.iframeSelector);
280
- else {
281
- const D = C(r.targetElementSelector, r.iframeSelector);
282
- if (!D) return;
283
- A(D);
284
- }
285
- return () => {
286
- if (v && v(), b && b.removeEventListener("click", H), w) {
287
- if (window.removeEventListener("scroll", w), T && c && c.removeEventListener("scroll", w), r.iframeSelector) {
288
- const I = V(r.iframeSelector)?.defaultView;
289
- I && I.removeEventListener("scroll", w);
290
- }
291
- w.cancel();
292
- }
293
- };
294
- }, [y, s, u, d, x]), y >= s.length)
295
- return null;
296
- const k = s[y], J = ct(k?.tooltipPosition), G = st[J];
297
- return /* @__PURE__ */ nt(/* @__PURE__ */ F.createElement("div", {
298
- ref: M,
299
- className: "guided-tour-tooltip relative rounded-md p-1",
300
- "data-automation-id": `${k?.automationId || "guided-tour"}-tooltip`,
28
+ return /* @__PURE__ */ e.createElement("div", {
29
+ ref: t,
30
+ className: `se-design-bottom-sheet relative h-max max-h-[98vh] rounded-t-2xl flex flex-col pt-5 ${i}`,
31
+ onClick: (o) => o.stopPropagation(),
32
+ onTouchStart: k,
33
+ onTouchMove: N,
34
+ onTouchEnd: y,
35
+ "data-automation-id": r,
301
36
  style: {
302
- zIndex: k?.zIndex || 1300
37
+ minHeight: u
303
38
  }
304
- }, /* @__PURE__ */ F.createElement(it, {
305
- name: "arrow-head",
306
- fill: h,
307
- rotation: G.rotate,
308
- className: `guided-tour-tooltip-arrow absolute ${G.class}`
309
- }), /* @__PURE__ */ F.createElement("div", {
310
- className: "guided-tour-tooltip-content flex flex-col gap-2"
311
- }, /* @__PURE__ */ F.createElement("p", null, k?.content), k?.isOptionalStep && /* @__PURE__ */ F.createElement(rt, {
312
- type: "link",
313
- label: "Got it",
314
- className: "!text-white !underline",
315
- onClick: H
316
- }))), document.body);
317
- };
39
+ }, (n || a) && /* @__PURE__ */ e.createElement("div", {
40
+ className: "se-design-bottom-sheet-header flex items-center justify-left gap-3 mr-6 px-4"
41
+ }, a && /* @__PURE__ */ e.createElement(v, {
42
+ name: "back",
43
+ stroke: "var(--color-gray-700)",
44
+ onClick: m,
45
+ className: "se-design-bottom-sheet-back-icon cursor-pointer",
46
+ automationId: `${r}-back-icon`
47
+ }), n && /* @__PURE__ */ e.createElement("div", {
48
+ className: "se-design-bottom-sheet-title text-lg font-semibold"
49
+ }, n)), l && /* @__PURE__ */ e.createElement(v, {
50
+ name: "close",
51
+ onClick: s,
52
+ className: "se-design-bottom-sheet-close-icon absolute top-6 right-4 cursor-pointer z-10",
53
+ automationId: `${r}-close-icon`
54
+ }), /* @__PURE__ */ e.createElement("div", {
55
+ className: "se-design-bottom-sheet-content px-4 pb-5 flex-1 min-h-0 overflow-y-auto"
56
+ }, c));
57
+ }, I = ({
58
+ isOpen: c = !1,
59
+ title: n = "",
60
+ onClose: s = () => {
61
+ },
62
+ children: l = null,
63
+ showCloseIcon: a = !0,
64
+ showBackButton: m = !1,
65
+ onBack: i = () => {
66
+ },
67
+ className: r = "",
68
+ automationId: u = "bottomsheet",
69
+ minHeight: t = ""
70
+ }) => /* @__PURE__ */ e.createElement(T, {
71
+ isOpen: c,
72
+ onClose: s,
73
+ onModalClick: s,
74
+ className: "custom-bottom-sheet",
75
+ renderModalContent: () => /* @__PURE__ */ e.createElement(C, {
76
+ title: n,
77
+ onClose: s,
78
+ showCloseIcon: a,
79
+ showBackButton: m,
80
+ onBack: i,
81
+ className: r,
82
+ automationId: u,
83
+ minHeight: t
84
+ }, l)
85
+ });
318
86
  export {
319
- pt as GuidedTour
87
+ I as BottomSheet
320
88
  };
321
89
  //# sourceMappingURL=index63.js.map