@rpcbase/ui 0.157.0 → 0.159.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 (727) hide show
  1. package/dist/components/DayPicker/index.d.ts.map +1 -1
  2. package/dist/components/HoursPicker/index.d.ts.map +1 -1
  3. package/dist/index.js +67 -24680
  4. package/dist/index.js.map +1 -1
  5. package/dist/index10.js +73 -0
  6. package/dist/index10.js.map +1 -0
  7. package/dist/index100.js +134 -0
  8. package/dist/index100.js.map +1 -0
  9. package/dist/index101.js +24 -0
  10. package/dist/index101.js.map +1 -0
  11. package/dist/index102.js +79 -0
  12. package/dist/index102.js.map +1 -0
  13. package/dist/index103.js +22 -0
  14. package/dist/index103.js.map +1 -0
  15. package/dist/index104.js +105 -0
  16. package/dist/index104.js.map +1 -0
  17. package/dist/index105.js +8 -0
  18. package/dist/index105.js.map +1 -0
  19. package/dist/index106.js +18 -0
  20. package/dist/index106.js.map +1 -0
  21. package/dist/index107.js +5 -0
  22. package/dist/index107.js.map +1 -0
  23. package/dist/index108.js +11 -0
  24. package/dist/index108.js.map +1 -0
  25. package/dist/index109.js +330 -0
  26. package/dist/index109.js.map +1 -0
  27. package/dist/index11.js +484 -0
  28. package/dist/index11.js.map +1 -0
  29. package/dist/index110.js +53 -0
  30. package/dist/index110.js.map +1 -0
  31. package/dist/index111.js +9 -0
  32. package/dist/index111.js.map +1 -0
  33. package/dist/index112.js +72 -0
  34. package/dist/index112.js.map +1 -0
  35. package/dist/index113.js +5 -0
  36. package/dist/index113.js.map +1 -0
  37. package/dist/index114.js +367 -0
  38. package/dist/index114.js.map +1 -0
  39. package/dist/index115.js +265 -0
  40. package/dist/index115.js.map +1 -0
  41. package/dist/index116.js +64 -0
  42. package/dist/index116.js.map +1 -0
  43. package/dist/index117.js +50 -0
  44. package/dist/index117.js.map +1 -0
  45. package/dist/index118.js +173 -0
  46. package/dist/index118.js.map +1 -0
  47. package/dist/index119.js +113 -0
  48. package/dist/index119.js.map +1 -0
  49. package/dist/index12.js +130 -0
  50. package/dist/index12.js.map +1 -0
  51. package/dist/index120.js +28 -0
  52. package/dist/index120.js.map +1 -0
  53. package/dist/index121.js +11 -0
  54. package/dist/index121.js.map +1 -0
  55. package/dist/index122.js +8 -0
  56. package/dist/index122.js.map +1 -0
  57. package/dist/index123.js +9 -0
  58. package/dist/index123.js.map +1 -0
  59. package/dist/index124.js +8 -0
  60. package/dist/index124.js.map +1 -0
  61. package/dist/index125.js +470 -0
  62. package/dist/index125.js.map +1 -0
  63. package/dist/index126.js +189 -0
  64. package/dist/index126.js.map +1 -0
  65. package/dist/index127.js +111 -0
  66. package/dist/index127.js.map +1 -0
  67. package/dist/index128.js +266 -0
  68. package/dist/index128.js.map +1 -0
  69. package/dist/index129.js +13 -0
  70. package/dist/index129.js.map +1 -0
  71. package/dist/index13.js +79 -0
  72. package/dist/index13.js.map +1 -0
  73. package/dist/index130.js +46 -0
  74. package/dist/index130.js.map +1 -0
  75. package/dist/index131.js +8 -0
  76. package/dist/index131.js.map +1 -0
  77. package/dist/index132.js +55 -0
  78. package/dist/index132.js.map +1 -0
  79. package/dist/index133.js +8 -0
  80. package/dist/index133.js.map +1 -0
  81. package/dist/index134.js +8 -0
  82. package/dist/index134.js.map +1 -0
  83. package/dist/index135.js +19 -0
  84. package/dist/index135.js.map +1 -0
  85. package/dist/index136.js +9 -0
  86. package/dist/index136.js.map +1 -0
  87. package/dist/index137.js +11 -0
  88. package/dist/index137.js.map +1 -0
  89. package/dist/index138.js +20 -0
  90. package/dist/index138.js.map +1 -0
  91. package/dist/index139.js +8 -0
  92. package/dist/index139.js.map +1 -0
  93. package/dist/index14.js +735 -0
  94. package/dist/index14.js.map +1 -0
  95. package/dist/index140.js +8 -0
  96. package/dist/index140.js.map +1 -0
  97. package/dist/index141.js +9 -0
  98. package/dist/index141.js.map +1 -0
  99. package/dist/index142.js +9 -0
  100. package/dist/index142.js.map +1 -0
  101. package/dist/index143.js +8 -0
  102. package/dist/index143.js.map +1 -0
  103. package/dist/index144.js +8 -0
  104. package/dist/index144.js.map +1 -0
  105. package/dist/index145.js +10 -0
  106. package/dist/index145.js.map +1 -0
  107. package/dist/index146.js +28 -0
  108. package/dist/index146.js.map +1 -0
  109. package/dist/index147.js +10 -0
  110. package/dist/index147.js.map +1 -0
  111. package/dist/index148.js +8 -0
  112. package/dist/index148.js.map +1 -0
  113. package/dist/index149.js +10 -0
  114. package/dist/index149.js.map +1 -0
  115. package/dist/index15.js +26 -0
  116. package/dist/index15.js.map +1 -0
  117. package/dist/index150.js +9 -0
  118. package/dist/index150.js.map +1 -0
  119. package/dist/index151.js +8 -0
  120. package/dist/index151.js.map +1 -0
  121. package/dist/index152.js +9 -0
  122. package/dist/index152.js.map +1 -0
  123. package/dist/index153.js +8 -0
  124. package/dist/index153.js.map +1 -0
  125. package/dist/index154.js +12 -0
  126. package/dist/index154.js.map +1 -0
  127. package/dist/index155.js +9 -0
  128. package/dist/index155.js.map +1 -0
  129. package/dist/index156.js +8 -0
  130. package/dist/index156.js.map +1 -0
  131. package/dist/index157.js +8 -0
  132. package/dist/index157.js.map +1 -0
  133. package/dist/index158.js +10 -0
  134. package/dist/index158.js.map +1 -0
  135. package/dist/index159.js +149 -0
  136. package/dist/index159.js.map +1 -0
  137. package/dist/index16.js +21 -0
  138. package/dist/index16.js.map +1 -0
  139. package/dist/index160.js +43 -0
  140. package/dist/index160.js.map +1 -0
  141. package/dist/index161.js +8 -0
  142. package/dist/index161.js.map +1 -0
  143. package/dist/index162.js +11 -0
  144. package/dist/index162.js.map +1 -0
  145. package/dist/index163.js +17 -0
  146. package/dist/index163.js.map +1 -0
  147. package/dist/index164.js +17 -0
  148. package/dist/index164.js.map +1 -0
  149. package/dist/index165.js +11 -0
  150. package/dist/index165.js.map +1 -0
  151. package/dist/index166.js +35 -0
  152. package/dist/index166.js.map +1 -0
  153. package/dist/index167.js +14 -0
  154. package/dist/index167.js.map +1 -0
  155. package/dist/index168.js +14 -0
  156. package/dist/index168.js.map +1 -0
  157. package/dist/index169.js +12 -0
  158. package/dist/index169.js.map +1 -0
  159. package/dist/index17.js +390 -0
  160. package/dist/index17.js.map +1 -0
  161. package/dist/index170.js +17 -0
  162. package/dist/index170.js.map +1 -0
  163. package/dist/index171.js +105 -0
  164. package/dist/index171.js.map +1 -0
  165. package/dist/index172.js +23 -0
  166. package/dist/index172.js.map +1 -0
  167. package/dist/index173.js +57 -0
  168. package/dist/index173.js.map +1 -0
  169. package/dist/index174.js +76 -0
  170. package/dist/index174.js.map +1 -0
  171. package/dist/index175.js +13 -0
  172. package/dist/index175.js.map +1 -0
  173. package/dist/index176.js +24 -0
  174. package/dist/index176.js.map +1 -0
  175. package/dist/index177.js +20 -0
  176. package/dist/index177.js.map +1 -0
  177. package/dist/index178.js +27 -0
  178. package/dist/index178.js.map +1 -0
  179. package/dist/index179.js +10 -0
  180. package/dist/index179.js.map +1 -0
  181. package/dist/index18.js +663 -0
  182. package/dist/index18.js.map +1 -0
  183. package/dist/index180.js +9 -0
  184. package/dist/index180.js.map +1 -0
  185. package/dist/index181.js +27 -0
  186. package/dist/index181.js.map +1 -0
  187. package/dist/index182.js +38 -0
  188. package/dist/index182.js.map +1 -0
  189. package/dist/index183.js +19 -0
  190. package/dist/index183.js.map +1 -0
  191. package/dist/index184.js +10 -0
  192. package/dist/index184.js.map +1 -0
  193. package/dist/index185.js +8 -0
  194. package/dist/index185.js.map +1 -0
  195. package/dist/index186.js +8 -0
  196. package/dist/index186.js.map +1 -0
  197. package/dist/index187.js +8 -0
  198. package/dist/index187.js.map +1 -0
  199. package/dist/index188.js +8 -0
  200. package/dist/index188.js.map +1 -0
  201. package/dist/index189.js +7 -0
  202. package/dist/index189.js.map +1 -0
  203. package/dist/index19.js +661 -0
  204. package/dist/index19.js.map +1 -0
  205. package/dist/index190.js +10 -0
  206. package/dist/index190.js.map +1 -0
  207. package/dist/index191.js +27 -0
  208. package/dist/index191.js.map +1 -0
  209. package/dist/index192.js +11 -0
  210. package/dist/index192.js.map +1 -0
  211. package/dist/index193.js +10 -0
  212. package/dist/index193.js.map +1 -0
  213. package/dist/index194.js +9 -0
  214. package/dist/index194.js.map +1 -0
  215. package/dist/index195.js +7 -0
  216. package/dist/index195.js.map +1 -0
  217. package/dist/index196.js +7 -0
  218. package/dist/index196.js.map +1 -0
  219. package/dist/index197.js +8 -0
  220. package/dist/index197.js.map +1 -0
  221. package/dist/index198.js +7 -0
  222. package/dist/index198.js.map +1 -0
  223. package/dist/index199.js +8 -0
  224. package/dist/index199.js.map +1 -0
  225. package/dist/index2.js +9 -0
  226. package/dist/index2.js.map +1 -0
  227. package/dist/index20.js +204 -0
  228. package/dist/index20.js.map +1 -0
  229. package/dist/index200.js +7 -0
  230. package/dist/index200.js.map +1 -0
  231. package/dist/index201.js +7 -0
  232. package/dist/index201.js.map +1 -0
  233. package/dist/index202.js +7 -0
  234. package/dist/index202.js.map +1 -0
  235. package/dist/index203.js +609 -0
  236. package/dist/index203.js.map +1 -0
  237. package/dist/index204.js +28 -0
  238. package/dist/index204.js.map +1 -0
  239. package/dist/index205.js +32 -0
  240. package/dist/index205.js.map +1 -0
  241. package/dist/index206.js +8 -0
  242. package/dist/index206.js.map +1 -0
  243. package/dist/index207.js +7 -0
  244. package/dist/index207.js.map +1 -0
  245. package/dist/index208.js +5 -0
  246. package/dist/index208.js.map +1 -0
  247. package/dist/index209.js +71 -0
  248. package/dist/index209.js.map +1 -0
  249. package/dist/index21.js +8 -0
  250. package/dist/index21.js.map +1 -0
  251. package/dist/index210.js +88 -0
  252. package/dist/index210.js.map +1 -0
  253. package/dist/index211.js +50 -0
  254. package/dist/index211.js.map +1 -0
  255. package/dist/index212.js +11 -0
  256. package/dist/index212.js.map +1 -0
  257. package/dist/index213.js +8 -0
  258. package/dist/index213.js.map +1 -0
  259. package/dist/index214.js +55 -0
  260. package/dist/index214.js.map +1 -0
  261. package/dist/index215.js +68 -0
  262. package/dist/index215.js.map +1 -0
  263. package/dist/index216.js +52 -0
  264. package/dist/index216.js.map +1 -0
  265. package/dist/index217.js +43 -0
  266. package/dist/index217.js.map +1 -0
  267. package/dist/index218.js +104 -0
  268. package/dist/index218.js.map +1 -0
  269. package/dist/index219.js +101 -0
  270. package/dist/index219.js.map +1 -0
  271. package/dist/index22.js +38 -0
  272. package/dist/index22.js.map +1 -0
  273. package/dist/index220.js +103 -0
  274. package/dist/index220.js.map +1 -0
  275. package/dist/index221.js +17 -0
  276. package/dist/index221.js.map +1 -0
  277. package/dist/index222.js +158 -0
  278. package/dist/index222.js.map +1 -0
  279. package/dist/index223.js +34 -0
  280. package/dist/index223.js.map +1 -0
  281. package/dist/index224.js +13 -0
  282. package/dist/index224.js.map +1 -0
  283. package/dist/index225.js +51 -0
  284. package/dist/index225.js.map +1 -0
  285. package/dist/index226.js +15 -0
  286. package/dist/index226.js.map +1 -0
  287. package/dist/index227.js +48 -0
  288. package/dist/index227.js.map +1 -0
  289. package/dist/index228.js +99 -0
  290. package/dist/index228.js.map +1 -0
  291. package/dist/index229.js +90 -0
  292. package/dist/index229.js.map +1 -0
  293. package/dist/index23.js +272 -0
  294. package/dist/index23.js.map +1 -0
  295. package/dist/index230.js +109 -0
  296. package/dist/index230.js.map +1 -0
  297. package/dist/index231.js +56 -0
  298. package/dist/index231.js.map +1 -0
  299. package/dist/index232.js +15 -0
  300. package/dist/index232.js.map +1 -0
  301. package/dist/index233.js +41 -0
  302. package/dist/index233.js.map +1 -0
  303. package/dist/index234.js +12 -0
  304. package/dist/index234.js.map +1 -0
  305. package/dist/index235.js +120 -0
  306. package/dist/index235.js.map +1 -0
  307. package/dist/index236.js +21 -0
  308. package/dist/index236.js.map +1 -0
  309. package/dist/index237.js +19 -0
  310. package/dist/index237.js.map +1 -0
  311. package/dist/index238.js +7 -0
  312. package/dist/index238.js.map +1 -0
  313. package/dist/index239.js +40 -0
  314. package/dist/index239.js.map +1 -0
  315. package/dist/index24.js +184 -0
  316. package/dist/index24.js.map +1 -0
  317. package/dist/index240.js +24 -0
  318. package/dist/index240.js.map +1 -0
  319. package/dist/index241.js +13 -0
  320. package/dist/index241.js.map +1 -0
  321. package/dist/index242.js +12 -0
  322. package/dist/index242.js.map +1 -0
  323. package/dist/index243.js +23 -0
  324. package/dist/index243.js.map +1 -0
  325. package/dist/index244.js +32 -0
  326. package/dist/index244.js.map +1 -0
  327. package/dist/index245.js +20 -0
  328. package/dist/index245.js.map +1 -0
  329. package/dist/index246.js +62 -0
  330. package/dist/index246.js.map +1 -0
  331. package/dist/index247.js +12 -0
  332. package/dist/index247.js.map +1 -0
  333. package/dist/index248.js +70 -0
  334. package/dist/index248.js.map +1 -0
  335. package/dist/index249.js +23 -0
  336. package/dist/index249.js.map +1 -0
  337. package/dist/index25.js +18 -0
  338. package/dist/index25.js.map +1 -0
  339. package/dist/index250.js +20 -0
  340. package/dist/index250.js.map +1 -0
  341. package/dist/index251.js +9 -0
  342. package/dist/index251.js.map +1 -0
  343. package/dist/index252.js +9 -0
  344. package/dist/index252.js.map +1 -0
  345. package/dist/index253.js +10 -0
  346. package/dist/index253.js.map +1 -0
  347. package/dist/index254.js +8 -0
  348. package/dist/index254.js.map +1 -0
  349. package/dist/index255.js +11 -0
  350. package/dist/index255.js.map +1 -0
  351. package/dist/index256.js +21 -0
  352. package/dist/index256.js.map +1 -0
  353. package/dist/index257.js +9 -0
  354. package/dist/index257.js.map +1 -0
  355. package/dist/index258.js +9 -0
  356. package/dist/index258.js.map +1 -0
  357. package/dist/index259.js +17 -0
  358. package/dist/index259.js.map +1 -0
  359. package/dist/index26.js +2766 -0
  360. package/dist/index26.js.map +1 -0
  361. package/dist/index260.js +14 -0
  362. package/dist/index260.js.map +1 -0
  363. package/dist/index261.js +18 -0
  364. package/dist/index261.js.map +1 -0
  365. package/dist/index262.js +18 -0
  366. package/dist/index262.js.map +1 -0
  367. package/dist/index263.js +9 -0
  368. package/dist/index263.js.map +1 -0
  369. package/dist/index264.js +10 -0
  370. package/dist/index264.js.map +1 -0
  371. package/dist/index265.js +11 -0
  372. package/dist/index265.js.map +1 -0
  373. package/dist/index266.js +10 -0
  374. package/dist/index266.js.map +1 -0
  375. package/dist/index267.js +13 -0
  376. package/dist/index267.js.map +1 -0
  377. package/dist/index268.js +9 -0
  378. package/dist/index268.js.map +1 -0
  379. package/dist/index269.js +9 -0
  380. package/dist/index269.js.map +1 -0
  381. package/dist/index27.js +40 -0
  382. package/dist/index27.js.map +1 -0
  383. package/dist/index270.js +13 -0
  384. package/dist/index270.js.map +1 -0
  385. package/dist/index271.js +9 -0
  386. package/dist/index271.js.map +1 -0
  387. package/dist/index272.js +9 -0
  388. package/dist/index272.js.map +1 -0
  389. package/dist/index273.js +8 -0
  390. package/dist/index273.js.map +1 -0
  391. package/dist/index274.js +15 -0
  392. package/dist/index274.js.map +1 -0
  393. package/dist/index275.js +14 -0
  394. package/dist/index275.js.map +1 -0
  395. package/dist/index276.js +14 -0
  396. package/dist/index276.js.map +1 -0
  397. package/dist/index277.js +15 -0
  398. package/dist/index277.js.map +1 -0
  399. package/dist/index278.js +15 -0
  400. package/dist/index278.js.map +1 -0
  401. package/dist/index279.js +14 -0
  402. package/dist/index279.js.map +1 -0
  403. package/dist/index28.js +6 -0
  404. package/dist/index28.js.map +1 -0
  405. package/dist/index280.js +11 -0
  406. package/dist/index280.js.map +1 -0
  407. package/dist/index281.js +10 -0
  408. package/dist/index281.js.map +1 -0
  409. package/dist/index282.js +9 -0
  410. package/dist/index282.js.map +1 -0
  411. package/dist/index283.js +10 -0
  412. package/dist/index283.js.map +1 -0
  413. package/dist/index284.js +11 -0
  414. package/dist/index284.js.map +1 -0
  415. package/dist/index285.js +10 -0
  416. package/dist/index285.js.map +1 -0
  417. package/dist/index286.js +59 -0
  418. package/dist/index286.js.map +1 -0
  419. package/dist/index287.js +27 -0
  420. package/dist/index287.js.map +1 -0
  421. package/dist/index288.js +20 -0
  422. package/dist/index288.js.map +1 -0
  423. package/dist/index289.js +11 -0
  424. package/dist/index289.js.map +1 -0
  425. package/dist/index29.js +128 -0
  426. package/dist/index29.js.map +1 -0
  427. package/dist/index290.js +14 -0
  428. package/dist/index290.js.map +1 -0
  429. package/dist/index291.js +14 -0
  430. package/dist/index291.js.map +1 -0
  431. package/dist/index292.js +25 -0
  432. package/dist/index292.js.map +1 -0
  433. package/dist/index293.js +14 -0
  434. package/dist/index293.js.map +1 -0
  435. package/dist/index294.js +13 -0
  436. package/dist/index294.js.map +1 -0
  437. package/dist/index295.js +13 -0
  438. package/dist/index295.js.map +1 -0
  439. package/dist/index296.js +8 -0
  440. package/dist/index296.js.map +1 -0
  441. package/dist/index297.js +9 -0
  442. package/dist/index297.js.map +1 -0
  443. package/dist/index298.js +20 -0
  444. package/dist/index298.js.map +1 -0
  445. package/dist/index299.js +13 -0
  446. package/dist/index299.js.map +1 -0
  447. package/dist/index3.js +5 -0
  448. package/dist/index3.js.map +1 -0
  449. package/dist/index30.js +51 -0
  450. package/dist/index30.js.map +1 -0
  451. package/dist/index300.js +22 -0
  452. package/dist/index300.js.map +1 -0
  453. package/dist/index301.js +19 -0
  454. package/dist/index301.js.map +1 -0
  455. package/dist/index302.js +16 -0
  456. package/dist/index302.js.map +1 -0
  457. package/dist/index303.js +33 -0
  458. package/dist/index303.js.map +1 -0
  459. package/dist/index304.js +16 -0
  460. package/dist/index304.js.map +1 -0
  461. package/dist/index305.js +29 -0
  462. package/dist/index305.js.map +1 -0
  463. package/dist/index306.js +9 -0
  464. package/dist/index306.js.map +1 -0
  465. package/dist/index307.js +71 -0
  466. package/dist/index307.js.map +1 -0
  467. package/dist/index308.js +184 -0
  468. package/dist/index308.js.map +1 -0
  469. package/dist/index309.js +50 -0
  470. package/dist/index309.js.map +1 -0
  471. package/dist/index31.js +223 -0
  472. package/dist/index31.js.map +1 -0
  473. package/dist/index310.js +8 -0
  474. package/dist/index310.js.map +1 -0
  475. package/dist/index311.js +6 -0
  476. package/dist/index311.js.map +1 -0
  477. package/dist/index312.js +27 -0
  478. package/dist/index312.js.map +1 -0
  479. package/dist/index313.js +116 -0
  480. package/dist/index313.js.map +1 -0
  481. package/dist/index314.js +19 -0
  482. package/dist/index314.js.map +1 -0
  483. package/dist/index315.js +528 -0
  484. package/dist/index315.js.map +1 -0
  485. package/dist/index316.js +131 -0
  486. package/dist/index316.js.map +1 -0
  487. package/dist/index317.js +137 -0
  488. package/dist/index317.js.map +1 -0
  489. package/dist/index318.js +5 -0
  490. package/dist/index318.js.map +1 -0
  491. package/dist/index319.js +5 -0
  492. package/dist/index319.js.map +1 -0
  493. package/dist/index32.js +47 -0
  494. package/dist/index32.js.map +1 -0
  495. package/dist/index320.js +24 -0
  496. package/dist/index320.js.map +1 -0
  497. package/dist/index321.js +8 -0
  498. package/dist/index321.js.map +1 -0
  499. package/dist/index322.js +22 -0
  500. package/dist/index322.js.map +1 -0
  501. package/dist/index323.js +16 -0
  502. package/dist/index323.js.map +1 -0
  503. package/dist/index324.js +68 -0
  504. package/dist/index324.js.map +1 -0
  505. package/dist/index325.js +72 -0
  506. package/dist/index325.js.map +1 -0
  507. package/dist/index326.js +12 -0
  508. package/dist/index326.js.map +1 -0
  509. package/dist/index327.js +17 -0
  510. package/dist/index327.js.map +1 -0
  511. package/dist/index328.js +69 -0
  512. package/dist/index328.js.map +1 -0
  513. package/dist/index329.js +9 -0
  514. package/dist/index329.js.map +1 -0
  515. package/dist/index33.js +44 -0
  516. package/dist/index33.js.map +1 -0
  517. package/dist/index330.js +9 -0
  518. package/dist/index330.js.map +1 -0
  519. package/dist/index331.js +7 -0
  520. package/dist/index331.js.map +1 -0
  521. package/dist/index332.js +19 -0
  522. package/dist/index332.js.map +1 -0
  523. package/dist/index333.js +12 -0
  524. package/dist/index333.js.map +1 -0
  525. package/dist/index334.js +9 -0
  526. package/dist/index334.js.map +1 -0
  527. package/dist/index335.js +8 -0
  528. package/dist/index335.js.map +1 -0
  529. package/dist/index336.js +549 -0
  530. package/dist/index336.js.map +1 -0
  531. package/dist/index337.js +50 -0
  532. package/dist/index337.js.map +1 -0
  533. package/dist/index338.js +21 -0
  534. package/dist/index338.js.map +1 -0
  535. package/dist/index339.js +10 -0
  536. package/dist/index339.js.map +1 -0
  537. package/dist/index34.js +32 -0
  538. package/dist/index34.js.map +1 -0
  539. package/dist/index340.js +12 -0
  540. package/dist/index340.js.map +1 -0
  541. package/dist/index341.js +11 -0
  542. package/dist/index341.js.map +1 -0
  543. package/dist/index342.js +12 -0
  544. package/dist/index342.js.map +1 -0
  545. package/dist/index343.js +16 -0
  546. package/dist/index343.js.map +1 -0
  547. package/dist/index344.js +13 -0
  548. package/dist/index344.js.map +1 -0
  549. package/dist/index345.js +17 -0
  550. package/dist/index345.js.map +1 -0
  551. package/dist/index346.js +7 -0
  552. package/dist/index346.js.map +1 -0
  553. package/dist/index347.js +26 -0
  554. package/dist/index347.js.map +1 -0
  555. package/dist/index348.js +8 -0
  556. package/dist/index348.js.map +1 -0
  557. package/dist/index349.js +59 -0
  558. package/dist/index349.js.map +1 -0
  559. package/dist/index35.js +49 -0
  560. package/dist/index35.js.map +1 -0
  561. package/dist/index350.js +71 -0
  562. package/dist/index350.js.map +1 -0
  563. package/dist/index351.js +34 -0
  564. package/dist/index351.js.map +1 -0
  565. package/dist/index352.js +12 -0
  566. package/dist/index352.js.map +1 -0
  567. package/dist/index353.js +156 -0
  568. package/dist/index353.js.map +1 -0
  569. package/dist/index354.js +111 -0
  570. package/dist/index354.js.map +1 -0
  571. package/dist/index355.js +26 -0
  572. package/dist/index355.js.map +1 -0
  573. package/dist/index356.js +16 -0
  574. package/dist/index356.js.map +1 -0
  575. package/dist/index357.js +31 -0
  576. package/dist/index357.js.map +1 -0
  577. package/dist/index358.js +8 -0
  578. package/dist/index358.js.map +1 -0
  579. package/dist/index359.js +19 -0
  580. package/dist/index359.js.map +1 -0
  581. package/dist/index36.js +35 -0
  582. package/dist/index36.js.map +1 -0
  583. package/dist/index360.js +32 -0
  584. package/dist/index360.js.map +1 -0
  585. package/dist/index361.js +16 -0
  586. package/dist/index361.js.map +1 -0
  587. package/dist/index362.js +10 -0
  588. package/dist/index362.js.map +1 -0
  589. package/dist/index37.js +31 -0
  590. package/dist/index37.js.map +1 -0
  591. package/dist/index38.js +26 -0
  592. package/dist/index38.js.map +1 -0
  593. package/dist/index39.js +132 -0
  594. package/dist/index39.js.map +1 -0
  595. package/dist/index4.js +27 -0
  596. package/dist/index4.js.map +1 -0
  597. package/dist/index40.js +235 -0
  598. package/dist/index40.js.map +1 -0
  599. package/dist/index41.js +54 -0
  600. package/dist/index41.js.map +1 -0
  601. package/dist/index42.js +2644 -0
  602. package/dist/index42.js.map +1 -0
  603. package/dist/index43.js +397 -0
  604. package/dist/index43.js.map +1 -0
  605. package/dist/index44.js +236 -0
  606. package/dist/index44.js.map +1 -0
  607. package/dist/index45.js +25 -0
  608. package/dist/index45.js.map +1 -0
  609. package/dist/index46.js +145 -0
  610. package/dist/index46.js.map +1 -0
  611. package/dist/index47.js +190 -0
  612. package/dist/index47.js.map +1 -0
  613. package/dist/index48.js +80 -0
  614. package/dist/index48.js.map +1 -0
  615. package/dist/index49.js +94 -0
  616. package/dist/index49.js.map +1 -0
  617. package/dist/index5.js +48 -0
  618. package/dist/index5.js.map +1 -0
  619. package/dist/index50.js +9 -0
  620. package/dist/index50.js.map +1 -0
  621. package/dist/index51.js +847 -0
  622. package/dist/index51.js.map +1 -0
  623. package/dist/index52.js +69 -0
  624. package/dist/index52.js.map +1 -0
  625. package/dist/index53.js +11 -0
  626. package/dist/index53.js.map +1 -0
  627. package/dist/index54.js +5 -0
  628. package/dist/index54.js.map +1 -0
  629. package/dist/index55.js +27 -0
  630. package/dist/index55.js.map +1 -0
  631. package/dist/index56.js +237 -0
  632. package/dist/index56.js.map +1 -0
  633. package/dist/index57.js +7 -0
  634. package/dist/index57.js.map +1 -0
  635. package/dist/index58.js +10 -0
  636. package/dist/index58.js.map +1 -0
  637. package/dist/index59.js +51 -0
  638. package/dist/index59.js.map +1 -0
  639. package/dist/index6.js +33 -0
  640. package/dist/index6.js.map +1 -0
  641. package/dist/index60.js +30 -0
  642. package/dist/index60.js.map +1 -0
  643. package/dist/index61.js +54 -0
  644. package/dist/index61.js.map +1 -0
  645. package/dist/index62.js +11 -0
  646. package/dist/index62.js.map +1 -0
  647. package/dist/index63.js +18 -0
  648. package/dist/index63.js.map +1 -0
  649. package/dist/index64.js +137 -0
  650. package/dist/index64.js.map +1 -0
  651. package/dist/index65.js +14 -0
  652. package/dist/index65.js.map +1 -0
  653. package/dist/index66.js +220 -0
  654. package/dist/index66.js.map +1 -0
  655. package/dist/index67.js +16 -0
  656. package/dist/index67.js.map +1 -0
  657. package/dist/index68.js +37 -0
  658. package/dist/index68.js.map +1 -0
  659. package/dist/index69.js +50 -0
  660. package/dist/index69.js.map +1 -0
  661. package/dist/index7.js +36 -0
  662. package/dist/index7.js.map +1 -0
  663. package/dist/index70.js +11 -0
  664. package/dist/index70.js.map +1 -0
  665. package/dist/index71.js +53 -0
  666. package/dist/index71.js.map +1 -0
  667. package/dist/index72.js +7 -0
  668. package/dist/index72.js.map +1 -0
  669. package/dist/index73.js +9 -0
  670. package/dist/index73.js.map +1 -0
  671. package/dist/index74.js +31 -0
  672. package/dist/index74.js.map +1 -0
  673. package/dist/index75.js +53 -0
  674. package/dist/index75.js.map +1 -0
  675. package/dist/index76.js +12 -0
  676. package/dist/index76.js.map +1 -0
  677. package/dist/index77.js +208 -0
  678. package/dist/index77.js.map +1 -0
  679. package/dist/index78.js +15 -0
  680. package/dist/index78.js.map +1 -0
  681. package/dist/index79.js +9 -0
  682. package/dist/index79.js.map +1 -0
  683. package/dist/index8.js +230 -0
  684. package/dist/index8.js.map +1 -0
  685. package/dist/index80.js +11 -0
  686. package/dist/index80.js.map +1 -0
  687. package/dist/index81.js +9 -0
  688. package/dist/index81.js.map +1 -0
  689. package/dist/index82.js +5 -0
  690. package/dist/index82.js.map +1 -0
  691. package/dist/index83.js +5 -0
  692. package/dist/index83.js.map +1 -0
  693. package/dist/index84.js +50 -0
  694. package/dist/index84.js.map +1 -0
  695. package/dist/index85.js +209 -0
  696. package/dist/index85.js.map +1 -0
  697. package/dist/index86.js +25 -0
  698. package/dist/index86.js.map +1 -0
  699. package/dist/index87.js +28 -0
  700. package/dist/index87.js.map +1 -0
  701. package/dist/index88.js +403 -0
  702. package/dist/index88.js.map +1 -0
  703. package/dist/index89.js +50 -0
  704. package/dist/index89.js.map +1 -0
  705. package/dist/index9.js +27 -0
  706. package/dist/index9.js.map +1 -0
  707. package/dist/index90.js +57 -0
  708. package/dist/index90.js.map +1 -0
  709. package/dist/index91.js +7 -0
  710. package/dist/index91.js.map +1 -0
  711. package/dist/index92.js +37 -0
  712. package/dist/index92.js.map +1 -0
  713. package/dist/index93.js +253 -0
  714. package/dist/index93.js.map +1 -0
  715. package/dist/index94.js +118 -0
  716. package/dist/index94.js.map +1 -0
  717. package/dist/index95.js +223 -0
  718. package/dist/index95.js.map +1 -0
  719. package/dist/index96.js +70 -0
  720. package/dist/index96.js.map +1 -0
  721. package/dist/index97.js +24 -0
  722. package/dist/index97.js.map +1 -0
  723. package/dist/index98.js +213 -0
  724. package/dist/index98.js.map +1 -0
  725. package/dist/index99.js +323 -0
  726. package/dist/index99.js.map +1 -0
  727. package/package.json +5 -1
@@ -0,0 +1,99 @@
1
+ import N from "./index238.js";
2
+ import g from "./index120.js";
3
+ import m, { getCountryCallingCode as s } from "./index125.js";
4
+ import h from "./index241.js";
5
+ import { formatRFC3966 as I } from "./index234.js";
6
+ var l = {
7
+ formatExtension: function(t, r, e) {
8
+ return "".concat(t).concat(e.ext()).concat(r);
9
+ }
10
+ };
11
+ function O(n, t, r, e) {
12
+ if (r ? r = E({}, l, r) : r = l, e = new m(e), n.country && n.country !== "001") {
13
+ if (!e.hasCountry(n.country))
14
+ throw new Error("Unknown country: ".concat(n.country));
15
+ e.selectNumberingPlan(n.country);
16
+ } else if (n.countryCallingCode)
17
+ e.selectNumberingPlan(n.countryCallingCode);
18
+ else return n.phone || "";
19
+ var o = e.countryCallingCode(), a = r.v2 ? n.nationalNumber : n.phone, c;
20
+ switch (t) {
21
+ case "NATIONAL":
22
+ return a ? (c = f(a, n.carrierCode, "NATIONAL", e, r), u(c, n.ext, e, r.formatExtension)) : "";
23
+ case "INTERNATIONAL":
24
+ return a ? (c = f(a, null, "INTERNATIONAL", e, r), c = "+".concat(o, " ").concat(c), u(c, n.ext, e, r.formatExtension)) : "+".concat(o);
25
+ case "E.164":
26
+ return "+".concat(o).concat(a);
27
+ case "RFC3966":
28
+ return I({
29
+ number: "+".concat(o).concat(a),
30
+ ext: n.ext
31
+ });
32
+ // For reference, here's Google's IDD formatter:
33
+ // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546
34
+ // Not saying that this IDD formatter replicates it 1:1, but it seems to work.
35
+ // Who would even need to format phone numbers in IDD format anyway?
36
+ case "IDD":
37
+ if (!r.fromCountry)
38
+ return;
39
+ var i = A(a, n.carrierCode, o, r.fromCountry, e);
40
+ return u(i, n.ext, e, r.formatExtension);
41
+ default:
42
+ throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(t, '"'));
43
+ }
44
+ }
45
+ function f(n, t, r, e, o) {
46
+ var a = x(e.formats(), n);
47
+ return a ? g(n, a, {
48
+ useInternationalFormat: r === "INTERNATIONAL",
49
+ withNationalPrefix: !(a.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && o && o.nationalPrefix === !1),
50
+ carrierCode: t,
51
+ metadata: e
52
+ }) : n;
53
+ }
54
+ function x(n, t) {
55
+ return v(n, function(r) {
56
+ if (r.leadingDigitsPatterns().length > 0) {
57
+ var e = r.leadingDigitsPatterns()[r.leadingDigitsPatterns().length - 1];
58
+ if (t.search(e) !== 0)
59
+ return !1;
60
+ }
61
+ return N(t, r.pattern());
62
+ });
63
+ }
64
+ function u(n, t, r, e) {
65
+ return t ? e(n, t, r) : n;
66
+ }
67
+ function A(n, t, r, e, o) {
68
+ var a = s(e, o.metadata);
69
+ if (a === r) {
70
+ var c = f(n, t, "NATIONAL", o);
71
+ return r === "1" ? r + " " + c : c;
72
+ }
73
+ var i = h(e, void 0, o.metadata);
74
+ if (i)
75
+ return "".concat(i, " ").concat(r, " ").concat(f(n, null, "INTERNATIONAL", o));
76
+ }
77
+ function E() {
78
+ for (var n = 1, t = arguments.length, r = new Array(t), e = 0; e < t; e++)
79
+ r[e] = arguments[e];
80
+ for (; n < r.length; ) {
81
+ if (r[n])
82
+ for (var o in r[n])
83
+ r[0][o] = r[n][o];
84
+ n++;
85
+ }
86
+ return r[0];
87
+ }
88
+ function v(n, t) {
89
+ for (var r = 0; r < n.length; ) {
90
+ if (t(n[r]))
91
+ return n[r];
92
+ r++;
93
+ }
94
+ }
95
+ export {
96
+ x as chooseFormatForNumber,
97
+ O as default
98
+ };
99
+ //# sourceMappingURL=index228.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index228.js","sources":["../../../node_modules/libphonenumber-js/es6/format.js"],"sourcesContent":["// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\n\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n }\n};\n\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\nexport default function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n // Using ES6 \"rest spread\" syntax here didn't work with `babel`/`istanbul`\n // for some weird reason: this line of code would cause the code coverage\n // to show as not 100%. That's because `babel`/`istanbul`, for some weird reason,\n // apparently doesn't know how to properly exclude Babel polyfills from code coverage.\n //\n // options = { ...DEFAULT_OPTIONS, ...options }\n //\n options = merge({}, DEFAULT_OPTIONS, options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n metadata = new Metadata(metadata);\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n metadata.selectNumberingPlan(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n\n // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n var number;\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n case 'IDD':\n if (!options.fromCountry) {\n return;\n // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n if (!format) {\n return number;\n }\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n}\nexport function chooseFormatForNumber(availableFormats, nationalNumber) {\n // Using a `for ... of` loop here didn't work with `babel`/`istanbul`:\n // for some weird reason, it showed code coverage less than 100%.\n // That's because `babel`/`istanbul`, for some weird reason,\n // apparently doesn't know how to properly exclude Babel polyfills from code coverage.\n //\n // for (const format of availableFormats) { ... }\n //\n return pickFirstMatchingElement(availableFormats, function (format) {\n // Validate leading digits.\n // The test case for \"else path\" could be found by searching for\n // \"format.leadingDigitsPatterns().length === 0\".\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1];\n // If leading digits don't match then move on to the next phone number format\n if (nationalNumber.search(lastLeadingDigitsPattern) !== 0) {\n return false;\n }\n }\n // Check that the national number matches the phone number format regular expression\n return matchesEntirely(nationalNumber, format.pattern());\n });\n}\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata);\n // When calling within the same country calling code.\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata);\n // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n }\n // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n return formattedNumber;\n }\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\nfunction merge() {\n var i = 1;\n for (var _len = arguments.length, objects = new Array(_len), _key = 0; _key < _len; _key++) {\n objects[_key] = arguments[_key];\n }\n while (i < objects.length) {\n if (objects[i]) {\n for (var key in objects[i]) {\n objects[0][key] = objects[i][key];\n }\n }\n i++;\n }\n return objects[0];\n}\nfunction pickFirstMatchingElement(elements, testFunction) {\n var i = 0;\n while (i < elements.length) {\n if (testFunction(elements[i])) {\n return elements[i];\n }\n i++;\n }\n}\n//# sourceMappingURL=format.js.map"],"names":["DEFAULT_OPTIONS","formattedNumber","extension","metadata","formatNumber","input","format","options","merge","Metadata","countryCallingCode","nationalNumber","number","formatNationalNumber","addExtension","formatRFC3966","formatIDD","carrierCode","formatAs","chooseFormatForNumber","formatNationalNumberUsingFormat","availableFormats","pickFirstMatchingElement","lastLeadingDigitsPattern","matchesEntirely","ext","formatExtension","fromCountry","fromCountryCallingCode","getCountryCallingCode","iddPrefix","getIddPrefix","i","_len","objects","_key","key","elements","testFunction"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,90 @@
1
+ function i(r) {
2
+ "@babel/helpers - typeof";
3
+ return i = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
4
+ return typeof t;
5
+ } : function(t) {
6
+ return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
7
+ }, i(r);
8
+ }
9
+ function a(r, t, n) {
10
+ return Object.defineProperty(r, "prototype", { writable: !1 }), r;
11
+ }
12
+ function s(r, t) {
13
+ if (!(r instanceof t)) throw new TypeError("Cannot call a class as a function");
14
+ }
15
+ function l(r, t, n) {
16
+ return t = c(t), y(r, p() ? Reflect.construct(t, n || [], c(r).constructor) : t.apply(r, n));
17
+ }
18
+ function y(r, t) {
19
+ if (t && (i(t) == "object" || typeof t == "function")) return t;
20
+ if (t !== void 0) throw new TypeError("Derived constructors may only return object or undefined");
21
+ return b(r);
22
+ }
23
+ function b(r) {
24
+ if (r === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
25
+ return r;
26
+ }
27
+ function _(r, t) {
28
+ if (typeof t != "function" && t !== null) throw new TypeError("Super expression must either be null or a function");
29
+ r.prototype = Object.create(t && t.prototype, { constructor: { value: r, writable: !0, configurable: !0 } }), Object.defineProperty(r, "prototype", { writable: !1 }), t && u(r, t);
30
+ }
31
+ function f(r) {
32
+ var t = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
33
+ return f = function(e) {
34
+ if (e === null || !v(e)) return e;
35
+ if (typeof e != "function") throw new TypeError("Super expression must either be null or a function");
36
+ if (t !== void 0) {
37
+ if (t.has(e)) return t.get(e);
38
+ t.set(e, o);
39
+ }
40
+ function o() {
41
+ return h(e, arguments, c(this).constructor);
42
+ }
43
+ return o.prototype = Object.create(e.prototype, { constructor: { value: o, enumerable: !1, writable: !0, configurable: !0 } }), u(o, e);
44
+ }, f(r);
45
+ }
46
+ function h(r, t, n) {
47
+ if (p()) return Reflect.construct.apply(null, arguments);
48
+ var e = [null];
49
+ e.push.apply(e, t);
50
+ var o = new (r.bind.apply(r, e))();
51
+ return n && u(o, n.prototype), o;
52
+ }
53
+ function p() {
54
+ try {
55
+ var r = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
56
+ }));
57
+ } catch {
58
+ }
59
+ return (p = function() {
60
+ return !!r;
61
+ })();
62
+ }
63
+ function v(r) {
64
+ try {
65
+ return Function.toString.call(r).indexOf("[native code]") !== -1;
66
+ } catch {
67
+ return typeof r == "function";
68
+ }
69
+ }
70
+ function u(r, t) {
71
+ return u = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(n, e) {
72
+ return n.__proto__ = e, n;
73
+ }, u(r, t);
74
+ }
75
+ function c(r) {
76
+ return c = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
77
+ return t.__proto__ || Object.getPrototypeOf(t);
78
+ }, c(r);
79
+ }
80
+ var O = /* @__PURE__ */ (function(r) {
81
+ function t(n) {
82
+ var e;
83
+ return s(this, t), e = l(this, t, [n]), Object.setPrototypeOf(e, t.prototype), e.name = e.constructor.name, e;
84
+ }
85
+ return _(t, r), a(t);
86
+ })(/* @__PURE__ */ f(Error));
87
+ export {
88
+ O as default
89
+ };
90
+ //# sourceMappingURL=index229.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index229.js","sources":["../../../node_modules/libphonenumber-js/es6/ParseError.js"],"sourcesContent":["function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _wrapNativeSuper(t) { var r = \"function\" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf(\"[native code]\"); } catch (n) { return \"function\" == typeof t; } }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\n// https://stackoverflow.com/a/46971044/970769\n// \"Breaking changes in Typescript 2.1\"\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\nvar ParseError = /*#__PURE__*/function (_Error) {\n function ParseError(code) {\n var _this;\n _classCallCheck(this, ParseError);\n _this = _callSuper(this, ParseError, [code]);\n // Set the prototype explicitly.\n // Any subclass of FooError will have to manually set the prototype as well.\n Object.setPrototypeOf(_this, ParseError.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n _inherits(ParseError, _Error);\n return _createClass(ParseError);\n}(/*#__PURE__*/_wrapNativeSuper(Error));\nexport { ParseError as default };\n//# sourceMappingURL=ParseError.js.map"],"names":["_typeof","o","_createClass","e","r","t","_classCallCheck","a","n","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","_assertThisInitialized","_inherits","_setPrototypeOf","_wrapNativeSuper","_isNativeFunction","Wrapper","_construct","p","ParseError","_Error","code","_this"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,272 @@
1
+ import { j as e } from "./index28.js";
2
+ import { useContext as H, createContext as Q, useState as p, useMemo as y, useCallback as W, useEffect as L } from "react";
3
+ import * as b from "@radix-ui/react-dialog";
4
+ import { Root as Z, Trigger as _, Portal as ee, Content as te, Item as E } from "./index77.js";
5
+ import { X as ne, Loader2 as se, MoreVertical as re } from "lucide-react";
6
+ import { cn as w } from "./index2.js";
7
+ const G = (t) => {
8
+ const s = Date.parse(t);
9
+ return Number.isFinite(s) ? s : 0;
10
+ }, oe = (t) => {
11
+ const s = new Date(G(t));
12
+ if (!Number.isFinite(s.getTime())) return "unknown";
13
+ const m = s.getFullYear(), o = String(s.getMonth() + 1).padStart(2, "0"), a = String(s.getDate()).padStart(2, "0");
14
+ return `${m}-${o}-${a}`;
15
+ }, ae = (t) => {
16
+ if (t === "unknown") return "Unknown date";
17
+ const [s, m, o] = t.split("-"), a = Number(s), x = Number(m), r = Number(o);
18
+ if (!Number.isFinite(a) || !Number.isFinite(x) || !Number.isFinite(r)) return "Unknown date";
19
+ const j = new Date(a, x - 1, r);
20
+ if (!Number.isFinite(j.getTime())) return "Unknown date";
21
+ const k = (/* @__PURE__ */ new Date()).getFullYear() !== a;
22
+ return j.toLocaleDateString(void 0, k ? { weekday: "short", month: "short", day: "numeric", year: "numeric" } : { weekday: "short", month: "short", day: "numeric" });
23
+ }, Y = (t) => {
24
+ const s = [];
25
+ let m = null;
26
+ for (const o of t) {
27
+ const a = oe(o.createdAt);
28
+ a !== m && (m = a, s.push({ key: a, label: ae(a), items: [] })), s[s.length - 1].items.push(o);
29
+ }
30
+ return s;
31
+ }, ie = Q(null);
32
+ function xe({
33
+ open: t,
34
+ onOpenChange: s,
35
+ className: m,
36
+ limit: o = 50,
37
+ defaultUnreadOnly: a = !1,
38
+ realtimeContext: x
39
+ }) {
40
+ const r = H(x ?? ie), [j, v] = p([]), [k, C] = p(0), [J, A] = p(0), [K, U] = p(!1), [V, S] = p(null), [f, X] = p(a), M = r?.notifications ?? j, D = r?.unreadCount ?? k, O = r?.unseenCount ?? J, q = r?.loading ?? K, R = r?.error ? r.error instanceof Error ? r.error.message : String(r.error) : V, g = y(() => M.slice(0, o), [o, M]), T = y(() => g.filter((n) => !n.readAt), [g]), F = y(() => g.filter((n) => !!n.readAt), [g]), I = y(() => Y(T), [T]), z = y(() => Y(F), [F]), N = W(async ({ unreadOnly: n, markSeen: d }) => {
41
+ U(!0), S(null);
42
+ try {
43
+ const h = await fetch("/api/rb/notifications", {
44
+ method: "POST",
45
+ headers: { "Content-Type": "application/json" },
46
+ credentials: "include",
47
+ body: JSON.stringify({ limit: o, unreadOnly: n, markSeen: d })
48
+ }), i = await h.json().catch(() => null);
49
+ if (!h.ok || !i?.ok) {
50
+ S(i?.error || "Unable to load notifications.");
51
+ return;
52
+ }
53
+ const u = Array.isArray(i.notifications) ? i.notifications : [];
54
+ v(u), C(Number.isFinite(i.unreadCount) ? Math.max(0, Math.floor(i.unreadCount ?? 0)) : 0), A(Number.isFinite(i.unseenCount) ? Math.max(0, Math.floor(i.unseenCount ?? 0)) : 0);
55
+ } catch {
56
+ S("Unable to load notifications.");
57
+ } finally {
58
+ U(!1);
59
+ }
60
+ }, [o]);
61
+ L(() => {
62
+ if (t) {
63
+ if (r) {
64
+ (async () => {
65
+ try {
66
+ await fetch("/api/rb/notifications", {
67
+ method: "POST",
68
+ headers: { "Content-Type": "application/json" },
69
+ credentials: "include",
70
+ keepalive: !0,
71
+ body: JSON.stringify({ limit: 1, markSeen: !0 })
72
+ });
73
+ } catch {
74
+ return;
75
+ }
76
+ })();
77
+ return;
78
+ }
79
+ N({ unreadOnly: f, markSeen: !0 });
80
+ }
81
+ }, [t, r, N, f]), L(() => {
82
+ t && (r || N({ unreadOnly: f, markSeen: !1 }));
83
+ }, [t, r, N, f]);
84
+ const P = async (n) => {
85
+ try {
86
+ const d = await fetch(`/api/rb/notifications/${encodeURIComponent(n)}/read`, {
87
+ method: "POST",
88
+ headers: { "Content-Type": "application/json" },
89
+ credentials: "include",
90
+ keepalive: !0,
91
+ body: "{}"
92
+ }), h = await d.json().catch(() => null);
93
+ if (!d.ok || !h?.ok) return;
94
+ const i = (/* @__PURE__ */ new Date()).toISOString();
95
+ if (r) return;
96
+ v((u) => {
97
+ const c = u.find((l) => l.id === n);
98
+ return c && !c.readAt && C((l) => Math.max(0, l - 1)), c && !c.seenAt && A((l) => Math.max(0, l - 1)), u.map((l) => l.id === n && !l.readAt ? { ...l, readAt: i, ...l.seenAt ? {} : { seenAt: i } } : l);
99
+ });
100
+ } catch {
101
+ return;
102
+ }
103
+ }, $ = async (n) => {
104
+ try {
105
+ const d = await fetch(`/api/rb/notifications/${encodeURIComponent(n)}/archive`, {
106
+ method: "POST",
107
+ headers: { "Content-Type": "application/json" },
108
+ credentials: "include",
109
+ body: "{}"
110
+ }), h = await d.json().catch(() => null);
111
+ if (!d.ok || !h?.ok || r) return;
112
+ v((i) => {
113
+ const u = i.find((c) => c.id === n);
114
+ return u && !u.readAt && C((c) => Math.max(0, c - 1)), u && !u.seenAt && A((c) => Math.max(0, c - 1)), i.filter((c) => c.id !== n);
115
+ });
116
+ } catch {
117
+ return;
118
+ }
119
+ };
120
+ return /* @__PURE__ */ e.jsx(b.Root, { open: t, onOpenChange: s, children: /* @__PURE__ */ e.jsxs(b.Portal, { children: [
121
+ /* @__PURE__ */ e.jsx(b.Overlay, { className: "fixed inset-0 z-50 bg-black/50" }),
122
+ /* @__PURE__ */ e.jsxs(
123
+ b.Content,
124
+ {
125
+ className: w(
126
+ "fixed right-0 top-0 z-50 flex h-full w-full max-w-md flex-col border-l bg-background shadow-xl outline-none",
127
+ m
128
+ ),
129
+ children: [
130
+ /* @__PURE__ */ e.jsxs("header", { className: "flex items-center justify-between gap-2 border-b px-4 py-3", children: [
131
+ /* @__PURE__ */ e.jsxs("div", { className: "flex min-w-0 flex-col", children: [
132
+ /* @__PURE__ */ e.jsx(b.Title, { className: "text-sm font-semibold", children: "Notifications" }),
133
+ /* @__PURE__ */ e.jsx("span", { className: "text-xs text-muted-foreground", children: D > 0 ? `${D} unread` : O > 0 ? `${O} new` : "All caught up" })
134
+ ] }),
135
+ /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
136
+ /* @__PURE__ */ e.jsx(
137
+ "button",
138
+ {
139
+ type: "button",
140
+ onClick: () => X((n) => !n),
141
+ className: w(
142
+ "rounded-md border px-2 py-1 text-xs",
143
+ f ? "bg-accent text-foreground" : "bg-background text-muted-foreground hover:bg-accent"
144
+ ),
145
+ children: f ? "Unread" : "All"
146
+ }
147
+ ),
148
+ /* @__PURE__ */ e.jsx(b.Close, { asChild: !0, children: /* @__PURE__ */ e.jsx("button", { type: "button", className: "inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent", children: /* @__PURE__ */ e.jsx(ne, { className: "h-4 w-4" }) }) })
149
+ ] })
150
+ ] }),
151
+ /* @__PURE__ */ e.jsx("div", { className: "flex-1 overflow-y-auto px-4 pb-3", children: q ? /* @__PURE__ */ e.jsx("div", { className: "flex items-center justify-center py-10 text-muted-foreground", children: /* @__PURE__ */ e.jsx(se, { className: "h-4 w-4 animate-spin" }) }) : R ? /* @__PURE__ */ e.jsx("div", { className: "py-10 text-center text-sm text-muted-foreground", children: R }) : g.length === 0 ? /* @__PURE__ */ e.jsx("div", { className: "py-10 text-center text-sm text-muted-foreground", children: "No notifications." }) : /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-4", children: [
152
+ /* @__PURE__ */ e.jsxs("div", { children: [
153
+ /* @__PURE__ */ e.jsx("div", { className: "sticky top-0 z-20 -mx-4 flex h-8 items-center border-b bg-background px-4 text-xs font-semibold text-muted-foreground", children: "Unread notifications" }),
154
+ I.length === 0 ? /* @__PURE__ */ e.jsx("div", { className: "py-6 text-center text-sm text-muted-foreground", children: "No unread notifications." }) : I.map((n) => /* @__PURE__ */ e.jsxs("div", { children: [
155
+ /* @__PURE__ */ e.jsx("div", { className: "sticky top-8 z-10 -mx-4 flex h-7 items-center bg-background px-4 text-[11px] font-semibold text-muted-foreground", children: n.label }),
156
+ /* @__PURE__ */ e.jsx("div", { className: "-mx-4 flex flex-col divide-y divide-border", children: n.items.map((d) => /* @__PURE__ */ e.jsx(
157
+ B,
158
+ {
159
+ notification: d,
160
+ onMarkRead: P,
161
+ onArchive: $
162
+ },
163
+ d.id
164
+ )) })
165
+ ] }, `unread:${n.key}`))
166
+ ] }),
167
+ f ? null : /* @__PURE__ */ e.jsxs("div", { children: [
168
+ /* @__PURE__ */ e.jsx("div", { className: "sticky top-0 z-20 -mx-4 flex h-8 items-center border-b bg-background px-4 text-xs font-semibold text-muted-foreground", children: "Previous notifications" }),
169
+ z.length === 0 ? /* @__PURE__ */ e.jsx("div", { className: "py-6 text-center text-sm text-muted-foreground", children: "No previous notifications." }) : z.map((n) => /* @__PURE__ */ e.jsxs("div", { children: [
170
+ /* @__PURE__ */ e.jsx("div", { className: "sticky top-8 z-10 -mx-4 flex h-7 items-center bg-background px-4 text-[11px] font-semibold text-muted-foreground", children: n.label }),
171
+ /* @__PURE__ */ e.jsx("div", { className: "-mx-4 flex flex-col divide-y divide-border", children: n.items.map((d) => /* @__PURE__ */ e.jsx(
172
+ B,
173
+ {
174
+ notification: d,
175
+ onMarkRead: P,
176
+ onArchive: $
177
+ },
178
+ d.id
179
+ )) })
180
+ ] }, `previous:${n.key}`))
181
+ ] })
182
+ ] }) })
183
+ ]
184
+ }
185
+ )
186
+ ] }) });
187
+ }
188
+ function B({
189
+ notification: t,
190
+ onMarkRead: s,
191
+ onArchive: m
192
+ }) {
193
+ const o = !t.readAt, a = (() => {
194
+ const x = new Date(G(t.createdAt));
195
+ return Number.isFinite(x.getTime()) ? x.toLocaleString() : "";
196
+ })();
197
+ return /* @__PURE__ */ e.jsxs(
198
+ "div",
199
+ {
200
+ className: w(
201
+ "group flex w-full gap-3 px-4 py-3 hover:bg-accent/40",
202
+ o ? "bg-primary/5" : "bg-background"
203
+ ),
204
+ children: [
205
+ /* @__PURE__ */ e.jsxs(
206
+ "button",
207
+ {
208
+ type: "button",
209
+ className: "min-w-0 flex-1 text-left",
210
+ onClick: () => {
211
+ o && s(t.id), t.url && (window.location.href = t.url);
212
+ },
213
+ children: [
214
+ /* @__PURE__ */ e.jsxs("div", { className: "min-w-0", children: [
215
+ /* @__PURE__ */ e.jsx("div", { className: "truncate text-sm font-semibold", children: t.title }),
216
+ t.body ? /* @__PURE__ */ e.jsx("div", { className: "mt-0.5 line-clamp-2 text-xs text-muted-foreground", children: t.body }) : null
217
+ ] }),
218
+ t.url ? /* @__PURE__ */ e.jsx("div", { className: "mt-2 truncate text-xs text-primary", children: t.url }) : null,
219
+ a ? /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-[11px] text-muted-foreground", children: a }) : null
220
+ ]
221
+ }
222
+ ),
223
+ /* @__PURE__ */ e.jsx("div", { className: "flex items-start", children: /* @__PURE__ */ e.jsxs(Z, { children: [
224
+ /* @__PURE__ */ e.jsx(_, { asChild: !0, children: /* @__PURE__ */ e.jsx(
225
+ "button",
226
+ {
227
+ type: "button",
228
+ className: "inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent",
229
+ "aria-label": "Notification options",
230
+ children: /* @__PURE__ */ e.jsx(re, { className: "h-4 w-4" })
231
+ }
232
+ ) }),
233
+ /* @__PURE__ */ e.jsx(ee, { children: /* @__PURE__ */ e.jsxs(
234
+ te,
235
+ {
236
+ align: "end",
237
+ sideOffset: 6,
238
+ className: w(
239
+ "z-50 min-w-[10rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
240
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
241
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"
242
+ ),
243
+ children: [
244
+ /* @__PURE__ */ e.jsx(
245
+ E,
246
+ {
247
+ className: "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
248
+ onSelect: () => m(t.id),
249
+ children: "Archive"
250
+ }
251
+ ),
252
+ /* @__PURE__ */ e.jsx(
253
+ E,
254
+ {
255
+ className: "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
256
+ disabled: !o,
257
+ onSelect: () => s(t.id),
258
+ children: "Mark as read"
259
+ }
260
+ )
261
+ ]
262
+ }
263
+ ) })
264
+ ] }) })
265
+ ]
266
+ }
267
+ );
268
+ }
269
+ export {
270
+ xe as NotificationsDrawer
271
+ };
272
+ //# sourceMappingURL=index23.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index23.js","sources":["../src/components/Notifications/NotificationsDrawer.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useState, type Context } from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { Loader2, MoreVertical, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport type { NotificationItem, NotificationsRealtimeState } from \"./types\"\n\n\ntype ListResponse = {\n ok?: boolean\n error?: string\n notifications?: NotificationItem[]\n unreadCount?: number\n unseenCount?: number\n}\n\ntype DayGroup = {\n key: string\n label: string\n items: NotificationItem[]\n}\n\nconst toMs = (iso: string): number => {\n const ms = Date.parse(iso)\n return Number.isFinite(ms) ? ms : 0\n}\n\nconst getDayKey = (iso: string): string => {\n const date = new Date(toMs(iso))\n if (!Number.isFinite(date.getTime())) return \"unknown\"\n\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, \"0\")\n const day = String(date.getDate()).padStart(2, \"0\")\n\n return `${year}-${month}-${day}`\n}\n\nconst formatDayLabel = (key: string): string => {\n if (key === \"unknown\") return \"Unknown date\"\n const [yearRaw, monthRaw, dayRaw] = key.split(\"-\")\n const year = Number(yearRaw)\n const month = Number(monthRaw)\n const day = Number(dayRaw)\n\n if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) return \"Unknown date\"\n\n const date = new Date(year, month - 1, day)\n if (!Number.isFinite(date.getTime())) return \"Unknown date\"\n\n const now = new Date()\n const includeYear = now.getFullYear() !== year\n return date.toLocaleDateString(undefined, includeYear\n ? { weekday: \"short\", month: \"short\", day: \"numeric\", year: \"numeric\" }\n : { weekday: \"short\", month: \"short\", day: \"numeric\" })\n}\n\nconst groupByDay = (items: NotificationItem[]): DayGroup[] => {\n const groups: DayGroup[] = []\n let currentKey: string | null = null\n\n for (const item of items) {\n const key = getDayKey(item.createdAt)\n if (key !== currentKey) {\n currentKey = key\n groups.push({ key, label: formatDayLabel(key), items: [] })\n }\n groups[groups.length - 1]!.items.push(item)\n }\n\n return groups\n}\n\nconst EmptyRealtimeContext = createContext<NotificationsRealtimeState | null>(null)\n\nexport function NotificationsDrawer({\n open,\n onOpenChange,\n className,\n limit = 50,\n defaultUnreadOnly = false,\n realtimeContext,\n}: {\n open: boolean\n onOpenChange: (open: boolean) => void\n className?: string\n limit?: number\n defaultUnreadOnly?: boolean\n realtimeContext?: Context<NotificationsRealtimeState | null>\n}) {\n const realtime = useContext(realtimeContext ?? EmptyRealtimeContext)\n\n const [items, setItems] = useState<NotificationItem[]>([])\n const [unreadCount, setUnreadCount] = useState<number>(0)\n const [unseenCount, setUnseenCount] = useState<number>(0)\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n const [unreadOnly, setUnreadOnly] = useState<boolean>(defaultUnreadOnly)\n\n const mergedItems = realtime?.notifications ?? items\n const mergedUnreadCount = realtime?.unreadCount ?? unreadCount\n const mergedUnseenCount = realtime?.unseenCount ?? unseenCount\n const mergedLoading = realtime?.loading ?? loading\n const mergedError = realtime?.error\n ? (realtime.error instanceof Error ? realtime.error.message : String(realtime.error))\n : error\n\n const visibleItems = useMemo(() => mergedItems.slice(0, limit), [limit, mergedItems])\n\n const unread = useMemo(() => visibleItems.filter((n) => !n.readAt), [visibleItems])\n const read = useMemo(() => visibleItems.filter((n) => Boolean(n.readAt)), [visibleItems])\n const unreadGroups = useMemo(() => groupByDay(unread), [unread])\n const readGroups = useMemo(() => groupByDay(read), [read])\n\n const refresh = useCallback(async ({ unreadOnly, markSeen }: { unreadOnly: boolean; markSeen: boolean }) => {\n setLoading(true)\n setError(null)\n\n try {\n const res = await fetch(\"/api/rb/notifications\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n body: JSON.stringify({ limit, unreadOnly, markSeen }),\n })\n\n const json = (await res.json().catch(() => null)) as ListResponse | null\n if (!res.ok || !json?.ok) {\n setError(json?.error || \"Unable to load notifications.\")\n return\n }\n\n const nextItems = Array.isArray(json.notifications) ? json.notifications : []\n setItems(nextItems)\n setUnreadCount(Number.isFinite(json.unreadCount) ? Math.max(0, Math.floor(json.unreadCount ?? 0)) : 0)\n setUnseenCount(Number.isFinite(json.unseenCount) ? Math.max(0, Math.floor(json.unseenCount ?? 0)) : 0)\n } catch {\n setError(\"Unable to load notifications.\")\n } finally {\n setLoading(false)\n }\n }, [limit])\n\n useEffect(() => {\n if (!open) return\n if (realtime) {\n void (async () => {\n try {\n await fetch(\"/api/rb/notifications\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n keepalive: true,\n body: JSON.stringify({ limit: 1, markSeen: true }),\n })\n } catch {\n return\n }\n })()\n return\n }\n void refresh({ unreadOnly, markSeen: true })\n }, [open, realtime, refresh, unreadOnly])\n\n useEffect(() => {\n if (!open) return\n if (realtime) return\n void refresh({ unreadOnly, markSeen: false })\n }, [open, realtime, refresh, unreadOnly])\n\n const markAsRead = async (id: string) => {\n try {\n const res = await fetch(`/api/rb/notifications/${encodeURIComponent(id)}/read`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n keepalive: true,\n body: \"{}\",\n })\n\n const json = (await res.json().catch(() => null)) as { ok?: boolean } | null\n if (!res.ok || !json?.ok) return\n\n const nowIso = new Date().toISOString()\n if (realtime) return\n setItems((current) => {\n const target = current.find((n) => n.id === id)\n if (target && !target.readAt) {\n setUnreadCount((count) => Math.max(0, count - 1))\n }\n if (target && !target.seenAt) {\n setUnseenCount((count) => Math.max(0, count - 1))\n }\n return current.map((n) => (n.id === id && !n.readAt ? { ...n, readAt: nowIso, ...(n.seenAt ? {} : { seenAt: nowIso }) } : n))\n })\n } catch {\n return\n }\n }\n\n const archive = async (id: string) => {\n try {\n const res = await fetch(`/api/rb/notifications/${encodeURIComponent(id)}/archive`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n body: \"{}\",\n })\n\n const json = (await res.json().catch(() => null)) as { ok?: boolean } | null\n if (!res.ok || !json?.ok) return\n\n if (realtime) return\n setItems((current) => {\n const target = current.find((n) => n.id === id)\n if (target && !target.readAt) {\n setUnreadCount((count) => Math.max(0, count - 1))\n }\n if (target && !target.seenAt) {\n setUnseenCount((count) => Math.max(0, count - 1))\n }\n return current.filter((n) => n.id !== id)\n })\n } catch {\n return\n }\n }\n\n return (\n <DialogPrimitive.Root open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay className=\"fixed inset-0 z-50 bg-black/50\" />\n <DialogPrimitive.Content\n className={cn(\n \"fixed right-0 top-0 z-50 flex h-full w-full max-w-md flex-col border-l bg-background shadow-xl outline-none\",\n className,\n )}\n >\n <header className=\"flex items-center justify-between gap-2 border-b px-4 py-3\">\n <div className=\"flex min-w-0 flex-col\">\n <DialogPrimitive.Title className=\"text-sm font-semibold\">Notifications</DialogPrimitive.Title>\n <span className=\"text-xs text-muted-foreground\">\n {mergedUnreadCount > 0 ? `${mergedUnreadCount} unread` : mergedUnseenCount > 0 ? `${mergedUnseenCount} new` : \"All caught up\"}\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n onClick={() => setUnreadOnly((v) => !v)}\n className={cn(\n \"rounded-md border px-2 py-1 text-xs\",\n unreadOnly ? \"bg-accent text-foreground\" : \"bg-background text-muted-foreground hover:bg-accent\",\n )}\n >\n {unreadOnly ? \"Unread\" : \"All\"}\n </button>\n <DialogPrimitive.Close asChild>\n <button type=\"button\" className=\"inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent\">\n <X className=\"h-4 w-4\" />\n </button>\n </DialogPrimitive.Close>\n </div>\n </header>\n\n <div className=\"flex-1 overflow-y-auto px-4 pb-3\">\n {mergedLoading ? (\n <div className=\"flex items-center justify-center py-10 text-muted-foreground\">\n <Loader2 className=\"h-4 w-4 animate-spin\" />\n </div>\n ) : mergedError ? (\n <div className=\"py-10 text-center text-sm text-muted-foreground\">{mergedError}</div>\n ) : visibleItems.length === 0 ? (\n <div className=\"py-10 text-center text-sm text-muted-foreground\">No notifications.</div>\n ) : (\n <div className=\"flex flex-col gap-4\">\n <div>\n <div className=\"sticky top-0 z-20 -mx-4 flex h-8 items-center border-b bg-background px-4 text-xs font-semibold text-muted-foreground\">\n Unread notifications\n </div>\n {unreadGroups.length === 0 ? (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">No unread notifications.</div>\n ) : (\n unreadGroups.map((group) => (\n <div key={`unread:${group.key}`}>\n <div className=\"sticky top-8 z-10 -mx-4 flex h-7 items-center bg-background px-4 text-[11px] font-semibold text-muted-foreground\">\n {group.label}\n </div>\n <div className=\"-mx-4 flex flex-col divide-y divide-border\">\n {group.items.map((n) => (\n <NotificationRow\n key={n.id}\n notification={n}\n onMarkRead={markAsRead}\n onArchive={archive}\n />\n ))}\n </div>\n </div>\n ))\n )}\n </div>\n\n {unreadOnly ? null : (\n <div>\n <div className=\"sticky top-0 z-20 -mx-4 flex h-8 items-center border-b bg-background px-4 text-xs font-semibold text-muted-foreground\">\n Previous notifications\n </div>\n {readGroups.length === 0 ? (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">No previous notifications.</div>\n ) : (\n readGroups.map((group) => (\n <div key={`previous:${group.key}`}>\n <div className=\"sticky top-8 z-10 -mx-4 flex h-7 items-center bg-background px-4 text-[11px] font-semibold text-muted-foreground\">\n {group.label}\n </div>\n <div className=\"-mx-4 flex flex-col divide-y divide-border\">\n {group.items.map((n) => (\n <NotificationRow\n key={n.id}\n notification={n}\n onMarkRead={markAsRead}\n onArchive={archive}\n />\n ))}\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n )}\n </div>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n )\n}\n\nfunction NotificationRow({\n notification,\n onMarkRead,\n onArchive,\n}: {\n notification: NotificationItem\n onMarkRead: (id: string) => void\n onArchive: (id: string) => void\n}) {\n const isUnread = !notification.readAt\n const createdAtLabel = (() => {\n const date = new Date(toMs(notification.createdAt))\n if (!Number.isFinite(date.getTime())) return \"\"\n return date.toLocaleString()\n })()\n\n return (\n <div\n className={cn(\n \"group flex w-full gap-3 px-4 py-3 hover:bg-accent/40\",\n isUnread ? \"bg-primary/5\" : \"bg-background\",\n )}\n >\n <button\n type=\"button\"\n className=\"min-w-0 flex-1 text-left\"\n onClick={() => {\n if (isUnread) {\n void onMarkRead(notification.id)\n }\n if (notification.url) {\n window.location.href = notification.url\n }\n }}\n >\n <div className=\"min-w-0\">\n <div className=\"truncate text-sm font-semibold\">{notification.title}</div>\n {notification.body ? (\n <div className=\"mt-0.5 line-clamp-2 text-xs text-muted-foreground\">{notification.body}</div>\n ) : null}\n </div>\n {notification.url ? <div className=\"mt-2 truncate text-xs text-primary\">{notification.url}</div> : null}\n {createdAtLabel ? (\n <div className=\"mt-2 text-[11px] text-muted-foreground\">{createdAtLabel}</div>\n ) : null}\n </button>\n <div className=\"flex items-start\">\n <DropdownMenuPrimitive.Root>\n <DropdownMenuPrimitive.Trigger asChild>\n <button\n type=\"button\"\n className=\"inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent\"\n aria-label=\"Notification options\"\n >\n <MoreVertical className=\"h-4 w-4\" />\n </button>\n </DropdownMenuPrimitive.Trigger>\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n align=\"end\"\n sideOffset={6}\n className={cn(\n \"z-50 min-w-[10rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n )}\n >\n <DropdownMenuPrimitive.Item\n className=\"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n onSelect={() => onArchive(notification.id)}\n >\n Archive\n </DropdownMenuPrimitive.Item>\n <DropdownMenuPrimitive.Item\n className=\"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n disabled={!isUnread}\n onSelect={() => onMarkRead(notification.id)}\n >\n Mark as read\n </DropdownMenuPrimitive.Item>\n </DropdownMenuPrimitive.Content>\n </DropdownMenuPrimitive.Portal>\n </DropdownMenuPrimitive.Root>\n </div>\n </div>\n )\n}\n"],"names":["toMs","iso","ms","getDayKey","date","year","month","day","formatDayLabel","key","yearRaw","monthRaw","dayRaw","includeYear","groupByDay","items","groups","currentKey","item","EmptyRealtimeContext","createContext","NotificationsDrawer","open","onOpenChange","className","limit","defaultUnreadOnly","realtimeContext","realtime","useContext","setItems","useState","unreadCount","setUnreadCount","unseenCount","setUnseenCount","loading","setLoading","error","setError","unreadOnly","setUnreadOnly","mergedItems","mergedUnreadCount","mergedUnseenCount","mergedLoading","mergedError","visibleItems","useMemo","unread","read","unreadGroups","readGroups","refresh","useCallback","markSeen","res","json","nextItems","useEffect","markAsRead","id","nowIso","current","target","n","count","archive","jsx","DialogPrimitive","jsxs","cn","v","X","Loader2","group","NotificationRow","notification","onMarkRead","onArchive","isUnread","createdAtLabel","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Trigger","MoreVertical","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Content","DropdownMenuPrimitive.Item"],"mappings":"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"}