se-design 1.0.97 → 1.0.98-dev.0

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 (501) hide show
  1. package/dist/assets/icons/envelope.svg +2 -2
  2. package/dist/assets/icons/envelopes-outline.svg +3 -0
  3. package/dist/assets/icons/home-outline.svg +3 -0
  4. package/dist/assets/icons/library-outline.svg +3 -0
  5. package/dist/assets/icons/magicpen.svg +11 -0
  6. package/dist/assets/icons/move-folder.svg +1 -1
  7. package/dist/assets/icons/plus.svg +2 -2
  8. package/dist/assets/icons/reports-outline.svg +3 -0
  9. package/dist/assets/icons/repository-outline.svg +3 -0
  10. package/dist/assets/icons/sign-doc.svg +10 -0
  11. package/dist/assets/icons/template.svg +3 -0
  12. package/dist/assets/icons/upload.svg +5 -0
  13. package/dist/assets/icons/views-outline.svg +3 -0
  14. package/dist/assets/style.css +1 -1
  15. package/dist/components/GetStartedWidget/index.d.ts +28 -5
  16. package/dist/components/Tabs/index.d.ts +2 -1
  17. package/dist/components/UpgradeBanner/index.d.ts +31 -0
  18. package/dist/components/index.d.ts +1 -0
  19. package/dist/index.js +94 -92
  20. package/dist/index.js.map +1 -1
  21. package/dist/index100.js +1 -1
  22. package/dist/index100.js.map +1 -1
  23. package/dist/index101.js +1 -1
  24. package/dist/index101.js.map +1 -1
  25. package/dist/index102.js +1 -1
  26. package/dist/index102.js.map +1 -1
  27. package/dist/index103.js +1 -1
  28. package/dist/index103.js.map +1 -1
  29. package/dist/index104.js +1 -1
  30. package/dist/index104.js.map +1 -1
  31. package/dist/index105.js +1 -1
  32. package/dist/index105.js.map +1 -1
  33. package/dist/index106.js +1 -1
  34. package/dist/index106.js.map +1 -1
  35. package/dist/index107.js +1 -1
  36. package/dist/index107.js.map +1 -1
  37. package/dist/index108.js +1 -1
  38. package/dist/index108.js.map +1 -1
  39. package/dist/index109.js +1 -1
  40. package/dist/index109.js.map +1 -1
  41. package/dist/index11.js +1 -1
  42. package/dist/index110.js +1 -1
  43. package/dist/index110.js.map +1 -1
  44. package/dist/index111.js +1 -1
  45. package/dist/index111.js.map +1 -1
  46. package/dist/index112.js +1 -1
  47. package/dist/index112.js.map +1 -1
  48. package/dist/index113.js +1 -1
  49. package/dist/index113.js.map +1 -1
  50. package/dist/index114.js +1 -1
  51. package/dist/index114.js.map +1 -1
  52. package/dist/index115.js +1 -1
  53. package/dist/index115.js.map +1 -1
  54. package/dist/index116.js +1 -1
  55. package/dist/index116.js.map +1 -1
  56. package/dist/index117.js +1 -1
  57. package/dist/index117.js.map +1 -1
  58. package/dist/index118.js +1 -1
  59. package/dist/index118.js.map +1 -1
  60. package/dist/index119.js +2 -2
  61. package/dist/index119.js.map +1 -1
  62. package/dist/index12.js +3 -3
  63. package/dist/index120.js +1 -1
  64. package/dist/index120.js.map +1 -1
  65. package/dist/index121.js +2 -2
  66. package/dist/index121.js.map +1 -1
  67. package/dist/index122.js +1 -1
  68. package/dist/index122.js.map +1 -1
  69. package/dist/index123.js +1 -1
  70. package/dist/index123.js.map +1 -1
  71. package/dist/index124.js +2 -2
  72. package/dist/index124.js.map +1 -1
  73. package/dist/index125.js +1 -1
  74. package/dist/index125.js.map +1 -1
  75. package/dist/index126.js +2 -2
  76. package/dist/index126.js.map +1 -1
  77. package/dist/index127.js +1 -1
  78. package/dist/index127.js.map +1 -1
  79. package/dist/index128.js +1 -1
  80. package/dist/index128.js.map +1 -1
  81. package/dist/index129.js +1 -1
  82. package/dist/index129.js.map +1 -1
  83. package/dist/index13.js +3 -3
  84. package/dist/index130.js +1 -1
  85. package/dist/index130.js.map +1 -1
  86. package/dist/index131.js +2 -2
  87. package/dist/index131.js.map +1 -1
  88. package/dist/index132.js +2 -2
  89. package/dist/index132.js.map +1 -1
  90. package/dist/index133.js +2 -2
  91. package/dist/index133.js.map +1 -1
  92. package/dist/index134.js +2 -2
  93. package/dist/index134.js.map +1 -1
  94. package/dist/index135.js +2 -2
  95. package/dist/index135.js.map +1 -1
  96. package/dist/index136.js +2 -2
  97. package/dist/index136.js.map +1 -1
  98. package/dist/index137.js +1 -1
  99. package/dist/index137.js.map +1 -1
  100. package/dist/index138.js +2 -2
  101. package/dist/index138.js.map +1 -1
  102. package/dist/index139.js +1 -1
  103. package/dist/index139.js.map +1 -1
  104. package/dist/index140.js +1 -1
  105. package/dist/index140.js.map +1 -1
  106. package/dist/index141.js +2 -2
  107. package/dist/index141.js.map +1 -1
  108. package/dist/index142.js +2 -2
  109. package/dist/index142.js.map +1 -1
  110. package/dist/index143.js +2 -2
  111. package/dist/index143.js.map +1 -1
  112. package/dist/index144.js +2 -2
  113. package/dist/index144.js.map +1 -1
  114. package/dist/index145.js +1 -1
  115. package/dist/index145.js.map +1 -1
  116. package/dist/index146.js +1 -1
  117. package/dist/index146.js.map +1 -1
  118. package/dist/index147.js +1 -1
  119. package/dist/index147.js.map +1 -1
  120. package/dist/index148.js +1 -1
  121. package/dist/index148.js.map +1 -1
  122. package/dist/index149.js +1 -1
  123. package/dist/index149.js.map +1 -1
  124. package/dist/index150.js +1 -1
  125. package/dist/index150.js.map +1 -1
  126. package/dist/index151.js +1 -1
  127. package/dist/index151.js.map +1 -1
  128. package/dist/index152.js +2 -2
  129. package/dist/index152.js.map +1 -1
  130. package/dist/index153.js +1 -1
  131. package/dist/index153.js.map +1 -1
  132. package/dist/index154.js +1 -1
  133. package/dist/index154.js.map +1 -1
  134. package/dist/index155.js +2 -2
  135. package/dist/index155.js.map +1 -1
  136. package/dist/index156.js +1 -1
  137. package/dist/index156.js.map +1 -1
  138. package/dist/index157.js +1 -1
  139. package/dist/index157.js.map +1 -1
  140. package/dist/index158.js +1 -1
  141. package/dist/index158.js.map +1 -1
  142. package/dist/index159.js +1 -1
  143. package/dist/index159.js.map +1 -1
  144. package/dist/index16.js +3 -3
  145. package/dist/index160.js +1 -1
  146. package/dist/index160.js.map +1 -1
  147. package/dist/index161.js +2 -2
  148. package/dist/index161.js.map +1 -1
  149. package/dist/index162.js +2 -2
  150. package/dist/index162.js.map +1 -1
  151. package/dist/index163.js +1 -1
  152. package/dist/index163.js.map +1 -1
  153. package/dist/index164.js +2 -2
  154. package/dist/index164.js.map +1 -1
  155. package/dist/index165.js +2 -2
  156. package/dist/index165.js.map +1 -1
  157. package/dist/index166.js +2 -2
  158. package/dist/index166.js.map +1 -1
  159. package/dist/index167.js +2 -2
  160. package/dist/index167.js.map +1 -1
  161. package/dist/index168.js +1 -1
  162. package/dist/index168.js.map +1 -1
  163. package/dist/index169.js +2 -2
  164. package/dist/index169.js.map +1 -1
  165. package/dist/index170.js +2 -2
  166. package/dist/index170.js.map +1 -1
  167. package/dist/index171.js +1 -1
  168. package/dist/index171.js.map +1 -1
  169. package/dist/index172.js +1 -1
  170. package/dist/index172.js.map +1 -1
  171. package/dist/index173.js +1 -1
  172. package/dist/index173.js.map +1 -1
  173. package/dist/index174.js +1 -1
  174. package/dist/index174.js.map +1 -1
  175. package/dist/index175.js +1 -1
  176. package/dist/index175.js.map +1 -1
  177. package/dist/index176.js +1 -1
  178. package/dist/index176.js.map +1 -1
  179. package/dist/index177.js +1 -1
  180. package/dist/index177.js.map +1 -1
  181. package/dist/index178.js +1 -1
  182. package/dist/index178.js.map +1 -1
  183. package/dist/index179.js +2 -2
  184. package/dist/index179.js.map +1 -1
  185. package/dist/index18.js +3 -3
  186. package/dist/index180.js +1 -1
  187. package/dist/index180.js.map +1 -1
  188. package/dist/index181.js +1 -1
  189. package/dist/index181.js.map +1 -1
  190. package/dist/index182.js +1 -1
  191. package/dist/index182.js.map +1 -1
  192. package/dist/index183.js +1 -1
  193. package/dist/index183.js.map +1 -1
  194. package/dist/index184.js +1 -1
  195. package/dist/index184.js.map +1 -1
  196. package/dist/index185.js +1 -1
  197. package/dist/index185.js.map +1 -1
  198. package/dist/index186.js +1 -1
  199. package/dist/index186.js.map +1 -1
  200. package/dist/index187.js +1 -1
  201. package/dist/index187.js.map +1 -1
  202. package/dist/index188.js +1 -1
  203. package/dist/index188.js.map +1 -1
  204. package/dist/index189.js +1 -1
  205. package/dist/index189.js.map +1 -1
  206. package/dist/index19.js +5 -5
  207. package/dist/index190.js +1 -1
  208. package/dist/index190.js.map +1 -1
  209. package/dist/index191.js +1 -1
  210. package/dist/index191.js.map +1 -1
  211. package/dist/index192.js +2 -2
  212. package/dist/index192.js.map +1 -1
  213. package/dist/index193.js +1 -1
  214. package/dist/index193.js.map +1 -1
  215. package/dist/index194.js +1 -1
  216. package/dist/index194.js.map +1 -1
  217. package/dist/index195.js +1 -1
  218. package/dist/index195.js.map +1 -1
  219. package/dist/index196.js +2 -2
  220. package/dist/index196.js.map +1 -1
  221. package/dist/index197.js +1 -1
  222. package/dist/index197.js.map +1 -1
  223. package/dist/index198.js +1 -1
  224. package/dist/index198.js.map +1 -1
  225. package/dist/index199.js +1 -1
  226. package/dist/index199.js.map +1 -1
  227. package/dist/index200.js +2 -2
  228. package/dist/index200.js.map +1 -1
  229. package/dist/index201.js +1 -1
  230. package/dist/index201.js.map +1 -1
  231. package/dist/index202.js +1 -1
  232. package/dist/index202.js.map +1 -1
  233. package/dist/index203.js +1 -1
  234. package/dist/index203.js.map +1 -1
  235. package/dist/index204.js +2 -2
  236. package/dist/index204.js.map +1 -1
  237. package/dist/index205.js +1 -1
  238. package/dist/index205.js.map +1 -1
  239. package/dist/index206.js +1 -1
  240. package/dist/index206.js.map +1 -1
  241. package/dist/index207.js +2 -2
  242. package/dist/index207.js.map +1 -1
  243. package/dist/index208.js +1 -1
  244. package/dist/index208.js.map +1 -1
  245. package/dist/index209.js +2 -2
  246. package/dist/index209.js.map +1 -1
  247. package/dist/index210.js +2 -2
  248. package/dist/index210.js.map +1 -1
  249. package/dist/index211.js +2 -2
  250. package/dist/index211.js.map +1 -1
  251. package/dist/index212.js +2 -149
  252. package/dist/index212.js.map +1 -1
  253. package/dist/index213.js +2 -9
  254. package/dist/index213.js.map +1 -1
  255. package/dist/index214.js +2 -6
  256. package/dist/index214.js.map +1 -1
  257. package/dist/index215.js +2 -43
  258. package/dist/index215.js.map +1 -1
  259. package/dist/index216.js +2 -21
  260. package/dist/index216.js.map +1 -1
  261. package/dist/index217.js +5 -0
  262. package/dist/index217.js.map +1 -0
  263. package/dist/index218.js +5 -0
  264. package/dist/index218.js.map +1 -0
  265. package/dist/index219.js +5 -0
  266. package/dist/index219.js.map +1 -0
  267. package/dist/index220.js +5 -0
  268. package/dist/index220.js.map +1 -0
  269. package/dist/index221.js +5 -0
  270. package/dist/index221.js.map +1 -0
  271. package/dist/index222.js +5 -0
  272. package/dist/index222.js.map +1 -0
  273. package/dist/index223.js +148 -27
  274. package/dist/index223.js.map +1 -1
  275. package/dist/index224.js +8 -71
  276. package/dist/index224.js.map +1 -1
  277. package/dist/index225.js +9 -0
  278. package/dist/index225.js.map +1 -0
  279. package/dist/index226.js +46 -0
  280. package/dist/index226.js.map +1 -0
  281. package/dist/index227.js +24 -0
  282. package/dist/index227.js.map +1 -0
  283. package/dist/index23.js +1 -1
  284. package/dist/index234.js +31 -0
  285. package/dist/index234.js.map +1 -0
  286. package/dist/index235.js +75 -0
  287. package/dist/index235.js.map +1 -0
  288. package/dist/index24.js +3 -3
  289. package/dist/{index231.js → index242.js} +1 -1
  290. package/dist/{index231.js.map → index242.js.map} +1 -1
  291. package/dist/index244.js +11 -42
  292. package/dist/index244.js.map +1 -1
  293. package/dist/index253.js +1232 -169
  294. package/dist/index253.js.map +1 -1
  295. package/dist/index256.js +42 -18
  296. package/dist/index256.js.map +1 -1
  297. package/dist/index26.js +6 -6
  298. package/dist/index265.js +170 -2
  299. package/dist/index265.js.map +1 -1
  300. package/dist/index266.js +3 -7
  301. package/dist/index266.js.map +1 -1
  302. package/dist/index268.js +18 -49
  303. package/dist/index268.js.map +1 -1
  304. package/dist/index269.js +10 -2
  305. package/dist/index269.js.map +1 -1
  306. package/dist/index270.js +8 -74
  307. package/dist/index270.js.map +1 -1
  308. package/dist/index271.js +4 -92
  309. package/dist/index271.js.map +1 -1
  310. package/dist/index272.js +166 -48
  311. package/dist/index272.js.map +1 -1
  312. package/dist/index273.js +11 -8
  313. package/dist/index273.js.map +1 -1
  314. package/dist/index274.js +5 -4
  315. package/dist/index274.js.map +1 -1
  316. package/dist/index275.js +5 -51
  317. package/dist/index275.js.map +1 -1
  318. package/dist/index276.js +38 -2
  319. package/dist/index276.js.map +1 -1
  320. package/dist/index277.js +2 -2
  321. package/dist/index278.js +11 -0
  322. package/dist/index278.js.map +1 -0
  323. package/dist/{index267.js → index279.js} +6 -6
  324. package/dist/{index267.js.map → index279.js.map} +1 -1
  325. package/dist/index28.js +1 -1
  326. package/dist/index280.js +53 -0
  327. package/dist/index280.js.map +1 -0
  328. package/dist/index281.js +5 -0
  329. package/dist/index281.js.map +1 -0
  330. package/dist/index282.js +79 -0
  331. package/dist/index282.js.map +1 -0
  332. package/dist/index283.js +96 -0
  333. package/dist/index283.js.map +1 -0
  334. package/dist/index284.js +55 -0
  335. package/dist/index284.js.map +1 -0
  336. package/dist/index285.js +11 -0
  337. package/dist/index285.js.map +1 -0
  338. package/dist/index286.js +8 -0
  339. package/dist/index286.js.map +1 -0
  340. package/dist/index287.js +55 -0
  341. package/dist/index287.js.map +1 -0
  342. package/dist/index288.js +5 -0
  343. package/dist/index288.js.map +1 -0
  344. package/dist/index289.js +5 -0
  345. package/dist/index289.js.map +1 -0
  346. package/dist/index29.js +4 -4
  347. package/dist/index3.js +3 -3
  348. package/dist/index30.js +48 -46
  349. package/dist/index30.js.map +1 -1
  350. package/dist/index31.js +4 -4
  351. package/dist/index32.js +1 -1
  352. package/dist/index33.js +11 -10
  353. package/dist/index34.js +1 -1
  354. package/dist/index36.js +4 -4
  355. package/dist/index37.js +5 -5
  356. package/dist/index38.js +3 -3
  357. package/dist/index39.js +5 -5
  358. package/dist/index4.js +4 -4
  359. package/dist/index40.js +4 -4
  360. package/dist/index41.js +1 -1
  361. package/dist/index43.js +125 -42
  362. package/dist/index43.js.map +1 -1
  363. package/dist/index44.js +139 -101
  364. package/dist/index44.js.map +1 -1
  365. package/dist/index45.js +105 -50
  366. package/dist/index45.js.map +1 -1
  367. package/dist/index46.js +53 -142
  368. package/dist/index46.js.map +1 -1
  369. package/dist/index47.js +140 -194
  370. package/dist/index47.js.map +1 -1
  371. package/dist/index48.js +187 -26
  372. package/dist/index48.js.map +1 -1
  373. package/dist/index49.js +30 -26
  374. package/dist/index49.js.map +1 -1
  375. package/dist/index50.js +39 -0
  376. package/dist/index50.js.map +1 -0
  377. package/dist/index52.js +195 -35
  378. package/dist/index52.js.map +1 -1
  379. package/dist/index53.js +34 -32
  380. package/dist/index53.js.map +1 -1
  381. package/dist/index54.js +34 -151
  382. package/dist/index54.js.map +1 -1
  383. package/dist/index55.js +140 -72
  384. package/dist/index55.js.map +1 -1
  385. package/dist/index56.js +78 -453
  386. package/dist/index56.js.map +1 -1
  387. package/dist/index57.js +459 -96
  388. package/dist/index57.js.map +1 -1
  389. package/dist/index58.js +98 -43
  390. package/dist/index58.js.map +1 -1
  391. package/dist/index59.js +40 -35
  392. package/dist/index59.js.map +1 -1
  393. package/dist/index6.js +238 -218
  394. package/dist/index6.js.map +1 -1
  395. package/dist/index60.js +33 -87
  396. package/dist/index60.js.map +1 -1
  397. package/dist/index61.js +89 -159
  398. package/dist/index61.js.map +1 -1
  399. package/dist/index62.js +157 -143
  400. package/dist/index62.js.map +1 -1
  401. package/dist/index63.js +149 -33
  402. package/dist/index63.js.map +1 -1
  403. package/dist/index64.js +33 -86
  404. package/dist/index64.js.map +1 -1
  405. package/dist/index65.js +80 -113
  406. package/dist/index65.js.map +1 -1
  407. package/dist/index66.js +114 -73
  408. package/dist/index66.js.map +1 -1
  409. package/dist/index67.js +73 -158
  410. package/dist/index67.js.map +1 -1
  411. package/dist/index68.js +157 -312
  412. package/dist/index68.js.map +1 -1
  413. package/dist/index69.js +317 -46
  414. package/dist/index69.js.map +1 -1
  415. package/dist/index7.js +10 -9
  416. package/dist/index70.js +45 -142
  417. package/dist/index70.js.map +1 -1
  418. package/dist/index71.js +145 -12
  419. package/dist/index71.js.map +1 -1
  420. package/dist/index72.js +10 -53
  421. package/dist/index72.js.map +1 -1
  422. package/dist/index73.js +52 -110
  423. package/dist/index73.js.map +1 -1
  424. package/dist/index74.js +111 -17
  425. package/dist/index74.js.map +1 -1
  426. package/dist/index75.js +17 -64
  427. package/dist/index75.js.map +1 -1
  428. package/dist/index76.js +64 -25
  429. package/dist/index76.js.map +1 -1
  430. package/dist/index77.js +24 -105
  431. package/dist/index77.js.map +1 -1
  432. package/dist/index78.js +104 -58
  433. package/dist/index78.js.map +1 -1
  434. package/dist/index79.js +60 -19
  435. package/dist/index79.js.map +1 -1
  436. package/dist/index80.js +18 -168
  437. package/dist/index80.js.map +1 -1
  438. package/dist/index81.js +171 -18
  439. package/dist/index81.js.map +1 -1
  440. package/dist/index82.js +17 -10
  441. package/dist/index82.js.map +1 -1
  442. package/dist/index83.js +11 -5
  443. package/dist/index83.js.map +1 -1
  444. package/dist/index84.js +5 -62
  445. package/dist/index84.js.map +1 -1
  446. package/dist/index85.js +58 -23
  447. package/dist/index85.js.map +1 -1
  448. package/dist/index86.js +25 -9
  449. package/dist/index86.js.map +1 -1
  450. package/dist/index87.js +14 -0
  451. package/dist/index87.js.map +1 -0
  452. package/dist/index89.js +2 -2
  453. package/dist/index89.js.map +1 -1
  454. package/dist/index9.js +4 -4
  455. package/dist/index90.js +2 -2
  456. package/dist/index90.js.map +1 -1
  457. package/dist/index91.js +2 -2
  458. package/dist/index91.js.map +1 -1
  459. package/dist/index92.js +2 -2
  460. package/dist/index92.js.map +1 -1
  461. package/dist/index93.js +1 -1
  462. package/dist/index93.js.map +1 -1
  463. package/dist/index94.js +1 -1
  464. package/dist/index94.js.map +1 -1
  465. package/dist/index95.js +1 -1
  466. package/dist/index95.js.map +1 -1
  467. package/dist/index96.js +1 -1
  468. package/dist/index96.js.map +1 -1
  469. package/dist/index97.js +1 -1
  470. package/dist/index97.js.map +1 -1
  471. package/dist/index98.js +1 -1
  472. package/dist/index98.js.map +1 -1
  473. package/dist/index99.js +1 -1
  474. package/dist/index99.js.map +1 -1
  475. package/package.json +1 -1
  476. package/dist/index233.js +0 -15
  477. package/dist/index233.js.map +0 -1
  478. package/dist/index241.js +0 -1236
  479. package/dist/index241.js.map +0 -1
  480. package/dist/index254.js +0 -7
  481. package/dist/index254.js.map +0 -1
  482. package/dist/index257.js +0 -13
  483. package/dist/index257.js.map +0 -1
  484. package/dist/index258.js +0 -13
  485. package/dist/index258.js.map +0 -1
  486. package/dist/index259.js +0 -8
  487. package/dist/index259.js.map +0 -1
  488. package/dist/index260.js +0 -173
  489. package/dist/index260.js.map +0 -1
  490. package/dist/index261.js +0 -14
  491. package/dist/index261.js.map +0 -1
  492. package/dist/index262.js +0 -9
  493. package/dist/index262.js.map +0 -1
  494. package/dist/index263.js +0 -9
  495. package/dist/index263.js.map +0 -1
  496. package/dist/index264.js +0 -41
  497. package/dist/index264.js.map +0 -1
  498. package/dist/index51.js +0 -201
  499. package/dist/index51.js.map +0 -1
  500. package/dist/index88.js +0 -5
  501. package/dist/index88.js.map +0 -1
package/dist/index64.js CHANGED
@@ -1,89 +1,36 @@
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 = () => {
9
- },
10
- showCloseIcon: l = !1,
11
- showBackButton: a = !1,
12
- onBack: m = () => {
13
- },
14
- className: i = "",
15
- automationId: r = "",
16
- minHeight: u = "auto"
17
- }) => {
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);
27
- };
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,
36
- style: {
37
- minHeight: u
38
- }
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
- });
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()));
86
33
  export {
87
- I as BottomSheet
34
+ i as InfoBar
88
35
  };
89
36
  //# sourceMappingURL=index64.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index64.js","sources":["../src/components/BottomSheet/index.tsx"],"sourcesContent":["import React, { FC, useState, useRef } from 'react';\nimport { CustomModal } from '../CustomModal';\nimport { Icon } from '../Icon';\n\nimport './style.scss';\n\nexport interface BottomSheetProps {\n isOpen: boolean;\n title?: string;\n onClose: () => void;\n showCloseIcon?: boolean;\n showBackButton?: boolean;\n onBack?: () => void;\n children: React.ReactNode;\n className?: string;\n automationId?: string;\n minHeight?: string;\n}\n\ninterface BottomSheetContentProps {\n title?: string;\n onClose: () => void;\n showCloseIcon?: boolean;\n showBackButton?: boolean;\n onBack?: () => void;\n children: React.ReactNode;\n className?: string;\n automationId?: string;\n minHeight?: string;\n}\n\nconst BottomSheetContent: FC<BottomSheetContentProps> = ({\n children = null,\n title = '',\n onClose = () => {},\n showCloseIcon = false,\n showBackButton = false,\n onBack = () => {},\n className = '',\n automationId = '',\n minHeight = 'auto'\n}) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const [startY, setStartY] = useState<number>(0);\n const [currentY, setCurrentY] = useState<number>(0);\n const [isDragging, setIsDragging] = useState<boolean>(false);\n\n const handleTouchStart = (e: React.TouchEvent) => {\n setStartY(e.touches[0].clientY);\n setCurrentY(e.touches[0].clientY);\n setIsDragging(true);\n };\n\n const handleTouchMove = (e: React.TouchEvent) => {\n if (!isDragging) return;\n\n const touchY = e.touches[0].clientY;\n const deltaY = touchY - startY;\n\n // Only allow dragging down\n if (deltaY > 0) {\n setCurrentY(touchY);\n if (contentRef.current) {\n contentRef.current.style.transform = `translateY(${deltaY}px)`;\n }\n }\n };\n\n const handleTouchEnd = () => {\n if (!isDragging) return;\n\n const deltaY = currentY - startY;\n const threshold = 60; // pixels to swipe down to trigger close\n\n if (deltaY > threshold) {\n // Trigger close\n onClose();\n } else {\n // Reset position\n if (contentRef.current) {\n contentRef.current.style.transform = 'translateY(0)';\n }\n }\n\n setIsDragging(false);\n setStartY(0);\n setCurrentY(0);\n };\n\n return (\n <div\n ref={contentRef}\n className={`se-design-bottom-sheet relative h-max max-h-[98vh] rounded-t-2xl flex flex-col pt-5 ${className}`}\n onClick={(e) => e.stopPropagation()}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n data-automation-id={automationId}\n style={{ minHeight }}\n >\n {(title || showBackButton) && (\n <div className=\"se-design-bottom-sheet-header flex items-center justify-left gap-3 mr-6 px-4\">\n {showBackButton && (\n <Icon\n name=\"back\"\n stroke=\"var(--color-gray-700)\"\n onClick={onBack}\n className=\"se-design-bottom-sheet-back-icon cursor-pointer\"\n automationId={`${automationId}-back-icon`}\n />\n )}\n {title && <div className=\"se-design-bottom-sheet-title text-lg font-semibold\">{title}</div>}\n </div>\n )}\n {showCloseIcon && (\n <Icon\n name=\"close\"\n onClick={onClose}\n className=\"se-design-bottom-sheet-close-icon absolute top-6 right-4 cursor-pointer z-10\"\n automationId={`${automationId}-close-icon`}\n />\n )}\n <div className=\"se-design-bottom-sheet-content px-4 pb-5 flex-1 min-h-0 overflow-y-auto\">{children}</div>\n </div>\n );\n};\n\nexport const BottomSheet: FC<BottomSheetProps> = ({\n isOpen = false,\n title = '',\n onClose = () => {},\n children = null,\n showCloseIcon = true,\n showBackButton = false,\n onBack = () => {},\n className = '',\n automationId = 'bottomsheet',\n minHeight = ''\n}) => {\n return (\n <CustomModal\n isOpen={isOpen}\n onClose={onClose}\n onModalClick={onClose}\n className=\"custom-bottom-sheet\"\n renderModalContent={() => (\n <BottomSheetContent\n title={title}\n onClose={onClose}\n showCloseIcon={showCloseIcon}\n showBackButton={showBackButton}\n onBack={onBack}\n className={className}\n automationId={automationId}\n minHeight={minHeight}\n >\n {children}\n </BottomSheetContent>\n )}\n />\n );\n};\n"],"names":["BottomSheetContent","children","title","onClose","showCloseIcon","showBackButton","onBack","className","automationId","minHeight","contentRef","useRef","startY","setStartY","useState","currentY","setCurrentY","isDragging","setIsDragging","handleTouchStart","e","touches","clientY","handleTouchMove","touchY","deltaY","current","style","transform","handleTouchEnd","React","createElement","ref","onClick","stopPropagation","onTouchStart","onTouchMove","onTouchEnd","Icon","name","stroke","BottomSheet","isOpen","CustomModal","onModalClick","renderModalContent"],"mappings":"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"}
1
+ {"version":3,"file":"index64.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/index65.js CHANGED
@@ -1,122 +1,89 @@
1
- import e, { useState as p, useRef as g, useEffect as I } from "react";
2
- import { Button as x } from "./index4.js";
3
- const n = 40, f = 7, y = 3, T = Array.from({
4
- length: 12
5
- }, (r, o) => String(o + 1).padStart(2, "0")), w = Array.from({
6
- length: 60
7
- }, (r, o) => String(o).padStart(2, "0")), M = ["AM", "PM"], h = ({
8
- items: r,
9
- selectedIndex: o,
10
- onSelect: d,
11
- automationId: u = ""
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 = () => {
9
+ },
10
+ showCloseIcon: l = !1,
11
+ showBackButton: a = !1,
12
+ onBack: m = () => {
13
+ },
14
+ className: i = "",
15
+ automationId: r = "",
16
+ minHeight: u = "auto"
12
17
  }) => {
13
- const l = g(null), s = g(null);
14
- I(() => {
15
- l.current && l.current.scrollTo({
16
- top: o * n,
17
- behavior: "smooth"
18
- });
19
- }, [o]);
20
- const a = () => {
21
- l.current && (s.current && clearTimeout(s.current), s.current = setTimeout(() => {
22
- const t = l.current;
23
- if (!t) return;
24
- const c = Math.round(t.scrollTop / n), m = Math.max(0, Math.min(r.length - 1, c));
25
- t.scrollTo({
26
- top: m * n,
27
- behavior: "smooth"
28
- }), m !== o && d(m);
29
- }, 100));
30
- }, i = (t) => {
31
- d(t), l.current?.scrollTo({
32
- top: t * n,
33
- behavior: "smooth"
34
- });
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);
35
27
  };
36
28
  return /* @__PURE__ */ e.createElement("div", {
37
- className: "w-14"
38
- }, /* @__PURE__ */ e.createElement("div", {
39
- ref: l,
40
- className: "overflow-y-auto [&::-webkit-scrollbar]:hidden",
41
- onScroll: a,
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,
42
36
  style: {
43
- height: f * n,
44
- paddingTop: y * n,
45
- paddingBottom: y * n,
46
- scrollSnapType: "y mandatory",
47
- scrollbarWidth: "none"
37
+ minHeight: u
48
38
  }
49
- }, r.map((t, c) => /* @__PURE__ */ e.createElement("div", {
50
- key: t,
51
- className: `flex items-center justify-center cursor-pointer select-none transition-colors h-10 ${c === o ? "text-[var(--color-blue-500)] font-semibold" : "text-[var(--color-gray-700)] hover:text-[var(--color-blue-500)]"}`,
52
- onClick: () => i(c),
53
- style: {
54
- scrollSnapAlign: "center"
55
- },
56
- "data-automation-id": `${u}-item-${c}`
57
- }, t))));
58
- }, $ = ({
59
- initialHour: r = 12,
60
- initialMinute: o = 0,
61
- onApply: d,
62
- ctaLabel: u = "Apply",
63
- onClose: l,
64
- className: s = "",
65
- automationId: a = "timepicker"
66
- }) => {
67
- const [i, t] = p(() => r === 0 ? 11 : r > 12 ? r - 12 - 1 : r - 1), [c, m] = p(Math.max(0, Math.min(59, o ?? 0))), [v, E] = p(
68
- () => r >= 12 ? 1 : 0
69
- // 0-11 = AM, 12-23 = PM
70
- ), b = () => {
71
- const S = v === 1 ? i + 12 : i;
72
- d?.({
73
- hour: S + 1,
74
- minute: c
75
- }), l?.();
76
- };
77
- return /* @__PURE__ */ e.createElement("div", {
78
- className: `se-design-timepicker-container w-full min-w-[216px] bg-[var(--color-white)] rounded-xl shadow-md border border-[var(--color-gray-400)] overflow-hidden ${s}`
79
- }, /* @__PURE__ */ e.createElement("div", {
80
- className: "se-design-timepicker-content w-full relative p-4"
81
- }, /* @__PURE__ */ e.createElement("div", {
82
- className: "absolute left-4 right-4 top-1/2 -translate-y-1/2 h-10 bg-[var(--color-blue-50)] rounded-lg pointer-events-none z-0"
83
- }), /* @__PURE__ */ e.createElement("div", {
84
- className: "flex justify-between gap-2 relative z-10"
85
- }, /* @__PURE__ */ e.createElement(h, {
86
- items: T,
87
- selectedIndex: i,
88
- onSelect: t,
89
- automationId: `${a}-hours`
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`
90
54
  }), /* @__PURE__ */ e.createElement("div", {
91
- className: "w-px bg-[var(--color-gray-200)]",
92
- style: {
93
- height: f * n
94
- }
95
- }), /* @__PURE__ */ e.createElement(h, {
96
- items: w,
97
- selectedIndex: c,
98
- onSelect: m,
99
- automationId: `${a}-minutes`
100
- }), /* @__PURE__ */ e.createElement("div", {
101
- className: "w-px bg-[var(--color-gray-200)]",
102
- style: {
103
- height: f * n
104
- }
105
- }), /* @__PURE__ */ e.createElement(h, {
106
- items: M,
107
- selectedIndex: v,
108
- onSelect: E,
109
- automationId: `${a}-periods`
110
- }))), /* @__PURE__ */ e.createElement("div", {
111
- className: "se-design-timepicker-footer flex justify-end p-3 border-t border-[var(--color-gray-200)]"
112
- }, /* @__PURE__ */ e.createElement(x, {
113
- label: u,
114
- type: "primary",
115
- onClick: b,
116
- automationId: `${a}-apply-button`
117
- })));
118
- };
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
+ });
119
86
  export {
120
- $ as TimePicker
87
+ I as BottomSheet
121
88
  };
122
89
  //# sourceMappingURL=index65.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index65.js","sources":["../src/components/TimePicker/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport { Button } from '../Button';\n\nexport interface TimePickerProps {\n initialHour?: number;\n initialMinute?: number;\n onApply?: (time: { hour: number; minute: number }) => void;\n ctaLabel?: string;\n onClose?: () => void;\n className?: string;\n automationId?: string;\n}\n\nconst ITEM_HEIGHT = 40;\nconst VISIBLE_ITEMS = 7;\nconst BUFFER_ITEMS = 3;\n\nconst HOURS = Array.from({ length: 12 }, (_, i) => String(i + 1).padStart(2, '0'));\nconst MINUTES = Array.from({ length: 60 }, (_, i) => String(i).padStart(2, '0'));\nconst PERIODS: ('AM' | 'PM')[] = ['AM', 'PM'];\n\ninterface ScrollColumnProps {\n items: readonly string[];\n selectedIndex: number;\n onSelect: (index: number) => void;\n automationId?: string;\n}\n\nconst ScrollColumn: React.FC<ScrollColumnProps> = ({ items, selectedIndex, onSelect, automationId = '' }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n if (containerRef.current) {\n containerRef.current.scrollTo({ top: selectedIndex * ITEM_HEIGHT, behavior: 'smooth' });\n }\n }, [selectedIndex]);\n\n const handleScroll = () => {\n if (!containerRef.current) return;\n\n if (scrollTimeout.current) clearTimeout(scrollTimeout.current);\n\n scrollTimeout.current = setTimeout(() => {\n const container = containerRef.current;\n if (!container) return;\n\n const newIndex = Math.round(container.scrollTop / ITEM_HEIGHT);\n const clampedIndex = Math.max(0, Math.min(items.length - 1, newIndex));\n\n container.scrollTo({ top: clampedIndex * ITEM_HEIGHT, behavior: 'smooth' });\n\n if (clampedIndex !== selectedIndex) onSelect(clampedIndex);\n }, 100);\n };\n\n const handleItemClick = (index: number) => {\n onSelect(index);\n containerRef.current?.scrollTo({ top: index * ITEM_HEIGHT, behavior: 'smooth' });\n };\n\n return (\n <div className=\"w-14\">\n <div\n ref={containerRef}\n className=\"overflow-y-auto [&::-webkit-scrollbar]:hidden\"\n onScroll={handleScroll}\n style={{\n height: VISIBLE_ITEMS * ITEM_HEIGHT,\n paddingTop: BUFFER_ITEMS * ITEM_HEIGHT,\n paddingBottom: BUFFER_ITEMS * ITEM_HEIGHT,\n scrollSnapType: 'y mandatory',\n scrollbarWidth: 'none'\n }}\n >\n {items.map((item, index) => (\n <div\n key={item}\n className={`flex items-center justify-center cursor-pointer select-none transition-colors h-10 ${\n index === selectedIndex\n ? 'text-[var(--color-blue-500)] font-semibold'\n : 'text-[var(--color-gray-700)] hover:text-[var(--color-blue-500)]'\n }`}\n onClick={() => handleItemClick(index)}\n style={{ scrollSnapAlign: 'center' }}\n data-automation-id={`${automationId}-item-${index}`}\n >\n {item}\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport const TimePicker: React.FC<TimePickerProps> = ({\n initialHour = 12,\n initialMinute = 0,\n onApply,\n ctaLabel = 'Apply',\n onClose,\n className = '',\n automationId = 'timepicker'\n}) => {\n const [selectedHourIndex, setSelectedHourIndex] = useState(() => {\n if (initialHour === 0) return 11; // 0 = 12 AM\n if (initialHour > 12) return initialHour - 12 - 1; // 13-23 → 1-11 (PM hours)\n return initialHour - 1; // 1-12 → 0-11\n });\n const [selectedMinuteIndex, setSelectedMinuteIndex] = useState(Math.max(0, Math.min(59, initialMinute ?? 0)));\n const [selectedPeriodIndex, setSelectedPeriodIndex] = useState(\n () => (initialHour >= 12 ? 1 : 0) // 0-11 = AM, 12-23 = PM\n );\n\n const handleApply = () => {\n const hourIn24Format = selectedPeriodIndex === 1 ? selectedHourIndex + 12 : selectedHourIndex;\n onApply?.({\n hour: hourIn24Format + 1,\n minute: selectedMinuteIndex\n });\n onClose?.();\n };\n\n return (\n <div\n className={`se-design-timepicker-container w-full min-w-[216px] bg-[var(--color-white)] rounded-xl shadow-md border border-[var(--color-gray-400)] overflow-hidden ${className}`}\n >\n <div className=\"se-design-timepicker-content w-full relative p-4\">\n <div className=\"absolute left-4 right-4 top-1/2 -translate-y-1/2 h-10 bg-[var(--color-blue-50)] rounded-lg pointer-events-none z-0\" />\n <div className=\"flex justify-between gap-2 relative z-10\">\n <ScrollColumn\n items={HOURS}\n selectedIndex={selectedHourIndex}\n onSelect={setSelectedHourIndex}\n automationId={`${automationId}-hours`}\n />\n <div className=\"w-px bg-[var(--color-gray-200)]\" style={{ height: VISIBLE_ITEMS * ITEM_HEIGHT }} />\n <ScrollColumn\n items={MINUTES}\n selectedIndex={selectedMinuteIndex}\n onSelect={setSelectedMinuteIndex}\n automationId={`${automationId}-minutes`}\n />\n <div className=\"w-px bg-[var(--color-gray-200)]\" style={{ height: VISIBLE_ITEMS * ITEM_HEIGHT }} />\n <ScrollColumn\n items={PERIODS}\n selectedIndex={selectedPeriodIndex}\n onSelect={setSelectedPeriodIndex}\n automationId={`${automationId}-periods`}\n />\n </div>\n </div>\n <div className=\"se-design-timepicker-footer flex justify-end p-3 border-t border-[var(--color-gray-200)]\">\n <Button label={ctaLabel} type=\"primary\" onClick={handleApply} automationId={`${automationId}-apply-button`} />\n </div>\n </div>\n );\n};\n"],"names":["ITEM_HEIGHT","VISIBLE_ITEMS","BUFFER_ITEMS","HOURS","Array","from","length","_","i","String","padStart","MINUTES","PERIODS","ScrollColumn","items","selectedIndex","onSelect","automationId","containerRef","useRef","scrollTimeout","useEffect","current","scrollTo","top","behavior","handleScroll","clearTimeout","setTimeout","container","newIndex","Math","round","scrollTop","clampedIndex","max","min","handleItemClick","index","React","createElement","className","ref","onScroll","style","height","paddingTop","paddingBottom","scrollSnapType","scrollbarWidth","map","item","key","onClick","scrollSnapAlign","TimePicker","initialHour","initialMinute","onApply","ctaLabel","onClose","selectedHourIndex","setSelectedHourIndex","useState","selectedMinuteIndex","setSelectedMinuteIndex","selectedPeriodIndex","setSelectedPeriodIndex","handleApply","hourIn24Format","hour","minute","Button","label","type"],"mappings":"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"}
1
+ {"version":3,"file":"index65.js","sources":["../src/components/BottomSheet/index.tsx"],"sourcesContent":["import React, { FC, useState, useRef } from 'react';\nimport { CustomModal } from '../CustomModal';\nimport { Icon } from '../Icon';\n\nimport './style.scss';\n\nexport interface BottomSheetProps {\n isOpen: boolean;\n title?: string;\n onClose: () => void;\n showCloseIcon?: boolean;\n showBackButton?: boolean;\n onBack?: () => void;\n children: React.ReactNode;\n className?: string;\n automationId?: string;\n minHeight?: string;\n}\n\ninterface BottomSheetContentProps {\n title?: string;\n onClose: () => void;\n showCloseIcon?: boolean;\n showBackButton?: boolean;\n onBack?: () => void;\n children: React.ReactNode;\n className?: string;\n automationId?: string;\n minHeight?: string;\n}\n\nconst BottomSheetContent: FC<BottomSheetContentProps> = ({\n children = null,\n title = '',\n onClose = () => {},\n showCloseIcon = false,\n showBackButton = false,\n onBack = () => {},\n className = '',\n automationId = '',\n minHeight = 'auto'\n}) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const [startY, setStartY] = useState<number>(0);\n const [currentY, setCurrentY] = useState<number>(0);\n const [isDragging, setIsDragging] = useState<boolean>(false);\n\n const handleTouchStart = (e: React.TouchEvent) => {\n setStartY(e.touches[0].clientY);\n setCurrentY(e.touches[0].clientY);\n setIsDragging(true);\n };\n\n const handleTouchMove = (e: React.TouchEvent) => {\n if (!isDragging) return;\n\n const touchY = e.touches[0].clientY;\n const deltaY = touchY - startY;\n\n // Only allow dragging down\n if (deltaY > 0) {\n setCurrentY(touchY);\n if (contentRef.current) {\n contentRef.current.style.transform = `translateY(${deltaY}px)`;\n }\n }\n };\n\n const handleTouchEnd = () => {\n if (!isDragging) return;\n\n const deltaY = currentY - startY;\n const threshold = 60; // pixels to swipe down to trigger close\n\n if (deltaY > threshold) {\n // Trigger close\n onClose();\n } else {\n // Reset position\n if (contentRef.current) {\n contentRef.current.style.transform = 'translateY(0)';\n }\n }\n\n setIsDragging(false);\n setStartY(0);\n setCurrentY(0);\n };\n\n return (\n <div\n ref={contentRef}\n className={`se-design-bottom-sheet relative h-max max-h-[98vh] rounded-t-2xl flex flex-col pt-5 ${className}`}\n onClick={(e) => e.stopPropagation()}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n data-automation-id={automationId}\n style={{ minHeight }}\n >\n {(title || showBackButton) && (\n <div className=\"se-design-bottom-sheet-header flex items-center justify-left gap-3 mr-6 px-4\">\n {showBackButton && (\n <Icon\n name=\"back\"\n stroke=\"var(--color-gray-700)\"\n onClick={onBack}\n className=\"se-design-bottom-sheet-back-icon cursor-pointer\"\n automationId={`${automationId}-back-icon`}\n />\n )}\n {title && <div className=\"se-design-bottom-sheet-title text-lg font-semibold\">{title}</div>}\n </div>\n )}\n {showCloseIcon && (\n <Icon\n name=\"close\"\n onClick={onClose}\n className=\"se-design-bottom-sheet-close-icon absolute top-6 right-4 cursor-pointer z-10\"\n automationId={`${automationId}-close-icon`}\n />\n )}\n <div className=\"se-design-bottom-sheet-content px-4 pb-5 flex-1 min-h-0 overflow-y-auto\">{children}</div>\n </div>\n );\n};\n\nexport const BottomSheet: FC<BottomSheetProps> = ({\n isOpen = false,\n title = '',\n onClose = () => {},\n children = null,\n showCloseIcon = true,\n showBackButton = false,\n onBack = () => {},\n className = '',\n automationId = 'bottomsheet',\n minHeight = ''\n}) => {\n return (\n <CustomModal\n isOpen={isOpen}\n onClose={onClose}\n onModalClick={onClose}\n className=\"custom-bottom-sheet\"\n renderModalContent={() => (\n <BottomSheetContent\n title={title}\n onClose={onClose}\n showCloseIcon={showCloseIcon}\n showBackButton={showBackButton}\n onBack={onBack}\n className={className}\n automationId={automationId}\n minHeight={minHeight}\n >\n {children}\n </BottomSheetContent>\n )}\n />\n );\n};\n"],"names":["BottomSheetContent","children","title","onClose","showCloseIcon","showBackButton","onBack","className","automationId","minHeight","contentRef","useRef","startY","setStartY","useState","currentY","setCurrentY","isDragging","setIsDragging","handleTouchStart","e","touches","clientY","handleTouchMove","touchY","deltaY","current","style","transform","handleTouchEnd","React","createElement","ref","onClick","stopPropagation","onTouchStart","onTouchMove","onTouchEnd","Icon","name","stroke","BottomSheet","isOpen","CustomModal","onModalClick","renderModalContent"],"mappings":"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"}
package/dist/index66.js CHANGED
@@ -1,81 +1,122 @@
1
- import n, { useState as u, useCallback as y, useEffect as P } from "react";
2
- import { Popover as I } from "./index19.js";
3
- import { useStableId as k } from "./index214.js";
4
- /* empty css */
5
- function p() {
6
- return p = Object.assign ? Object.assign.bind() : function(r) {
7
- for (var o = 1; o < arguments.length; o++) {
8
- var s = arguments[o];
9
- for (var t in s) ({}).hasOwnProperty.call(s, t) && (r[t] = s[t]);
10
- }
11
- return r;
12
- }, p.apply(null, arguments);
13
- }
14
- const N = ({
15
- label: r,
16
- children: o,
17
- iconColor: s = "",
18
- hoverBackgroundColor: t,
19
- isDisabled: i = !1,
20
- noPadding: m = !1,
21
- noDescribedBy: g = !1
1
+ import e, { useState as p, useRef as g, useEffect as I } from "react";
2
+ import { Button as x } from "./index4.js";
3
+ const n = 40, f = 7, y = 3, T = Array.from({
4
+ length: 12
5
+ }, (r, o) => String(o + 1).padStart(2, "0")), w = Array.from({
6
+ length: 60
7
+ }, (r, o) => String(o).padStart(2, "0")), M = ["AM", "PM"], h = ({
8
+ items: r,
9
+ selectedIndex: o,
10
+ onSelect: d,
11
+ automationId: u = ""
22
12
  }) => {
23
- const c = k(void 0, "info-tooltip"), [v, a] = u(!1), [E, l] = u(!1), d = v || E, f = y((e) => {
24
- e.key === "Escape" && (a(!1), l(!1), e.stopImmediatePropagation());
25
- }, []);
26
- P(() => {
27
- if (d)
28
- return document.addEventListener("keydown", f), () => document.removeEventListener("keydown", f);
29
- }, [d, f]);
30
- const b = {
31
- onMouseEnter: () => a(!0),
32
- onMouseLeave: () => a(!1),
33
- onFocus: (e) => {
34
- e.target.matches(":focus-visible") && l(!0);
35
- },
36
- onBlur: () => l(!1)
13
+ const l = g(null), s = g(null);
14
+ I(() => {
15
+ l.current && l.current.scrollTo({
16
+ top: o * n,
17
+ behavior: "smooth"
18
+ });
19
+ }, [o]);
20
+ const a = () => {
21
+ l.current && (s.current && clearTimeout(s.current), s.current = setTimeout(() => {
22
+ const t = l.current;
23
+ if (!t) return;
24
+ const c = Math.round(t.scrollTop / n), m = Math.max(0, Math.min(r.length - 1, c));
25
+ t.scrollTo({
26
+ top: m * n,
27
+ behavior: "smooth"
28
+ }), m !== o && d(m);
29
+ }, 100));
30
+ }, i = (t) => {
31
+ d(t), l.current?.scrollTo({
32
+ top: t * n,
33
+ behavior: "smooth"
34
+ });
37
35
  };
38
- return /* @__PURE__ */ n.createElement("div", p({
39
- className: `se-design-info-tooltip-outer ${i ? "se-design-info-tooltip-wrapper-disabled" : ""}`
40
- }, i ? {} : b), /* @__PURE__ */ n.createElement(I, {
41
- className: "inline-flex items-center",
42
- position: "bottom-center",
43
- isPopoverOpen: d,
44
- onPopoverToggle: (e) => {
45
- e || (a(!1), l(!1));
46
- },
47
- renderPopoverSrcElement: () => {
48
- const e = !g && /* @__PURE__ */ n.isValidElement(o) ? /* @__PURE__ */ n.cloneElement(o, {
49
- "aria-describedby": c,
50
- ariaDescribedBy: c
51
- }) : o;
52
- return /* @__PURE__ */ n.createElement("div", {
53
- className: `se-design-info-tooltip-src ${m ? "no-padding" : ""} ${i ? "se-design-info-tooltip-disabled" : ""}`,
54
- style: {
55
- "--info-tooltip-icon-color": s,
56
- ...t ? {
57
- "--info-tooltip-hover-bg": t
58
- } : {},
59
- cursor: i ? "not-allowed" : "pointer"
60
- }
61
- }, e);
36
+ return /* @__PURE__ */ e.createElement("div", {
37
+ className: "w-14"
38
+ }, /* @__PURE__ */ e.createElement("div", {
39
+ ref: l,
40
+ className: "overflow-y-auto [&::-webkit-scrollbar]:hidden",
41
+ onScroll: a,
42
+ style: {
43
+ height: f * n,
44
+ paddingTop: y * n,
45
+ paddingBottom: y * n,
46
+ scrollSnapType: "y mandatory",
47
+ scrollbarWidth: "none"
48
+ }
49
+ }, r.map((t, c) => /* @__PURE__ */ e.createElement("div", {
50
+ key: t,
51
+ className: `flex items-center justify-center cursor-pointer select-none transition-colors h-10 ${c === o ? "text-[var(--color-blue-500)] font-semibold" : "text-[var(--color-gray-700)] hover:text-[var(--color-blue-500)]"}`,
52
+ onClick: () => i(c),
53
+ style: {
54
+ scrollSnapAlign: "center"
62
55
  },
63
- renderPopoverContents: () => /* @__PURE__ */ n.createElement("div", {
64
- id: c,
65
- role: "tooltip",
66
- className: "se-design-info-tooltip-content",
67
- "data-automation-id": "se-design-info-tooltip-content"
68
- }, r),
69
- isWithPortal: !0,
70
- noBorder: !0,
71
- disableClickToggle: !0,
72
- popoverContentStyleProperty: {
73
- zIndex: 2e3,
74
- backgroundColor: ""
56
+ "data-automation-id": `${u}-item-${c}`
57
+ }, t))));
58
+ }, $ = ({
59
+ initialHour: r = 12,
60
+ initialMinute: o = 0,
61
+ onApply: d,
62
+ ctaLabel: u = "Apply",
63
+ onClose: l,
64
+ className: s = "",
65
+ automationId: a = "timepicker"
66
+ }) => {
67
+ const [i, t] = p(() => r === 0 ? 11 : r > 12 ? r - 12 - 1 : r - 1), [c, m] = p(Math.max(0, Math.min(59, o ?? 0))), [v, E] = p(
68
+ () => r >= 12 ? 1 : 0
69
+ // 0-11 = AM, 12-23 = PM
70
+ ), b = () => {
71
+ const S = v === 1 ? i + 12 : i;
72
+ d?.({
73
+ hour: S + 1,
74
+ minute: c
75
+ }), l?.();
76
+ };
77
+ return /* @__PURE__ */ e.createElement("div", {
78
+ className: `se-design-timepicker-container w-full min-w-[216px] bg-[var(--color-white)] rounded-xl shadow-md border border-[var(--color-gray-400)] overflow-hidden ${s}`
79
+ }, /* @__PURE__ */ e.createElement("div", {
80
+ className: "se-design-timepicker-content w-full relative p-4"
81
+ }, /* @__PURE__ */ e.createElement("div", {
82
+ className: "absolute left-4 right-4 top-1/2 -translate-y-1/2 h-10 bg-[var(--color-blue-50)] rounded-lg pointer-events-none z-0"
83
+ }), /* @__PURE__ */ e.createElement("div", {
84
+ className: "flex justify-between gap-2 relative z-10"
85
+ }, /* @__PURE__ */ e.createElement(h, {
86
+ items: T,
87
+ selectedIndex: i,
88
+ onSelect: t,
89
+ automationId: `${a}-hours`
90
+ }), /* @__PURE__ */ e.createElement("div", {
91
+ className: "w-px bg-[var(--color-gray-200)]",
92
+ style: {
93
+ height: f * n
94
+ }
95
+ }), /* @__PURE__ */ e.createElement(h, {
96
+ items: w,
97
+ selectedIndex: c,
98
+ onSelect: m,
99
+ automationId: `${a}-minutes`
100
+ }), /* @__PURE__ */ e.createElement("div", {
101
+ className: "w-px bg-[var(--color-gray-200)]",
102
+ style: {
103
+ height: f * n
75
104
  }
76
- }));
105
+ }), /* @__PURE__ */ e.createElement(h, {
106
+ items: M,
107
+ selectedIndex: v,
108
+ onSelect: E,
109
+ automationId: `${a}-periods`
110
+ }))), /* @__PURE__ */ e.createElement("div", {
111
+ className: "se-design-timepicker-footer flex justify-end p-3 border-t border-[var(--color-gray-200)]"
112
+ }, /* @__PURE__ */ e.createElement(x, {
113
+ label: u,
114
+ type: "primary",
115
+ onClick: b,
116
+ automationId: `${a}-apply-button`
117
+ })));
77
118
  };
78
119
  export {
79
- N as InfoTooltip
120
+ $ as TimePicker
80
121
  };
81
122
  //# sourceMappingURL=index66.js.map