@rpcbase/ui 0.236.0 → 0.237.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 (628) hide show
  1. package/dist/components/Notifications/NotificationsDrawer.d.ts.map +1 -1
  2. package/dist/index100.js +5 -52
  3. package/dist/index100.js.map +1 -1
  4. package/dist/index101.js +7 -3
  5. package/dist/index101.js.map +1 -1
  6. package/dist/index102.js +5 -4
  7. package/dist/index102.js.map +1 -1
  8. package/dist/index103.js +4 -15
  9. package/dist/index103.js.map +1 -1
  10. package/dist/index104.js +4 -5
  11. package/dist/index104.js.map +1 -1
  12. package/dist/index105.js +6 -7
  13. package/dist/index105.js.map +1 -1
  14. package/dist/index106.js +145 -16
  15. package/dist/index106.js.map +1 -1
  16. package/dist/index107.js +39 -4
  17. package/dist/index107.js.map +1 -1
  18. package/dist/index108.js +4 -4
  19. package/dist/index108.js.map +1 -1
  20. package/dist/index109.js +7 -5
  21. package/dist/index109.js.map +1 -1
  22. package/dist/index110.js +13 -5
  23. package/dist/index110.js.map +1 -1
  24. package/dist/index111.js +13 -4
  25. package/dist/index111.js.map +1 -1
  26. package/dist/index112.js +7 -4
  27. package/dist/index112.js.map +1 -1
  28. package/dist/index113.js +31 -6
  29. package/dist/index113.js.map +1 -1
  30. package/dist/index114.js +10 -24
  31. package/dist/index114.js.map +1 -1
  32. package/dist/index115.js +10 -6
  33. package/dist/index115.js.map +1 -1
  34. package/dist/index116.js +8 -4
  35. package/dist/index116.js.map +1 -1
  36. package/dist/index117.js +13 -6
  37. package/dist/index117.js.map +1 -1
  38. package/dist/index118.js +101 -5
  39. package/dist/index118.js.map +1 -1
  40. package/dist/index119.js +20 -5
  41. package/dist/index119.js.map +1 -1
  42. package/dist/index120.js +53 -5
  43. package/dist/index120.js.map +1 -1
  44. package/dist/index121.js +72 -4
  45. package/dist/index121.js.map +1 -1
  46. package/dist/index122.js +9 -8
  47. package/dist/index122.js.map +1 -1
  48. package/dist/index123.js +20 -5
  49. package/dist/index123.js.map +1 -1
  50. package/dist/index124.js +16 -4
  51. package/dist/index124.js.map +1 -1
  52. package/dist/index125.js +23 -4
  53. package/dist/index125.js.map +1 -1
  54. package/dist/index126.js +6 -6
  55. package/dist/index126.js.map +1 -1
  56. package/dist/index127.js +5 -145
  57. package/dist/index127.js.map +1 -1
  58. package/dist/index128.js +23 -39
  59. package/dist/index128.js.map +1 -1
  60. package/dist/index129.js +35 -5
  61. package/dist/index129.js.map +1 -1
  62. package/dist/index130.js +16 -8
  63. package/dist/index130.js.map +1 -1
  64. package/dist/index131.js +6 -13
  65. package/dist/index131.js.map +1 -1
  66. package/dist/index132.js +4 -13
  67. package/dist/index132.js.map +1 -1
  68. package/dist/index133.js +4 -7
  69. package/dist/index133.js.map +1 -1
  70. package/dist/index134.js +4 -31
  71. package/dist/index134.js.map +1 -1
  72. package/dist/index135.js +4 -10
  73. package/dist/index135.js.map +1 -1
  74. package/dist/index136.js +3 -10
  75. package/dist/index136.js.map +1 -1
  76. package/dist/index137.js +6 -8
  77. package/dist/index137.js.map +1 -1
  78. package/dist/index138.js +24 -14
  79. package/dist/index138.js.map +1 -1
  80. package/dist/index139.js +7 -101
  81. package/dist/index139.js.map +1 -1
  82. package/dist/index140.js +7 -20
  83. package/dist/index140.js.map +1 -1
  84. package/dist/index141.js +5 -53
  85. package/dist/index141.js.map +1 -1
  86. package/dist/index142.js +3 -72
  87. package/dist/index142.js.map +1 -1
  88. package/dist/index143.js +3 -9
  89. package/dist/index143.js.map +1 -1
  90. package/dist/index144.js +4 -20
  91. package/dist/index144.js.map +1 -1
  92. package/dist/index145.js +3 -16
  93. package/dist/index145.js.map +1 -1
  94. package/dist/index146.js +4 -23
  95. package/dist/index146.js.map +1 -1
  96. package/dist/index147.js +3 -6
  97. package/dist/index147.js.map +1 -1
  98. package/dist/index148.js +3 -5
  99. package/dist/index148.js.map +1 -1
  100. package/dist/index149.js +3 -23
  101. package/dist/index149.js.map +1 -1
  102. package/dist/index150.js +6 -35
  103. package/dist/index150.js.map +1 -1
  104. package/dist/index151.js +69 -16
  105. package/dist/index151.js.map +1 -1
  106. package/dist/index152.js +2 -7
  107. package/dist/index152.js.map +1 -1
  108. package/dist/index153.js +363 -4
  109. package/dist/index153.js.map +1 -1
  110. package/dist/index154.js +261 -4
  111. package/dist/index154.js.map +1 -1
  112. package/dist/index155.js +60 -4
  113. package/dist/index155.js.map +1 -1
  114. package/dist/index156.js +46 -4
  115. package/dist/index156.js.map +1 -1
  116. package/dist/index157.js +169 -3
  117. package/dist/index157.js.map +1 -1
  118. package/dist/index158.js +109 -6
  119. package/dist/index158.js.map +1 -1
  120. package/dist/index159.js +25 -24
  121. package/dist/index159.js.map +1 -1
  122. package/dist/index16.js +240 -176
  123. package/dist/index16.js.map +1 -1
  124. package/dist/index160.js +8 -8
  125. package/dist/index160.js.map +1 -1
  126. package/dist/index161.js +4 -6
  127. package/dist/index161.js.map +1 -1
  128. package/dist/index162.js +5 -5
  129. package/dist/index162.js.map +1 -1
  130. package/dist/index163.js +4 -3
  131. package/dist/index163.js.map +1 -1
  132. package/dist/index164.js +466 -3
  133. package/dist/index164.js.map +1 -1
  134. package/dist/index165.js +185 -4
  135. package/dist/index165.js.map +1 -1
  136. package/dist/index166.js +107 -3
  137. package/dist/index166.js.map +1 -1
  138. package/dist/index167.js +262 -4
  139. package/dist/index167.js.map +1 -1
  140. package/dist/index168.js +9 -3
  141. package/dist/index168.js.map +1 -1
  142. package/dist/index169.js +42 -3
  143. package/dist/index169.js.map +1 -1
  144. package/dist/index170.js +4 -3
  145. package/dist/index170.js.map +1 -1
  146. package/dist/index172.js +3 -3
  147. package/dist/index175.js +1 -1
  148. package/dist/index176.js +4 -4
  149. package/dist/index182.js +1 -1
  150. package/dist/index184.js +12 -12
  151. package/dist/index187.js +5 -5
  152. package/dist/index189.js +3 -3
  153. package/dist/index190.js +1 -1
  154. package/dist/index193.js +3 -3
  155. package/dist/index194.js +5 -5
  156. package/dist/index196.js +59 -20
  157. package/dist/index196.js.map +1 -1
  158. package/dist/index197.js +8 -66
  159. package/dist/index197.js.map +1 -1
  160. package/dist/index198.js +87 -6
  161. package/dist/index198.js.map +1 -1
  162. package/dist/index199.js +19 -11
  163. package/dist/index199.js.map +1 -1
  164. package/dist/index200.js +14 -48
  165. package/dist/index200.js.map +1 -1
  166. package/dist/index201.js +6 -4
  167. package/dist/index201.js.map +1 -1
  168. package/dist/index202.js +5 -29
  169. package/dist/index202.js.map +1 -1
  170. package/dist/index203.js +6 -16
  171. package/dist/index203.js.map +1 -1
  172. package/dist/index204.js +4 -5
  173. package/dist/index204.js.map +1 -1
  174. package/dist/index205.js +6 -21
  175. package/dist/index205.js.map +1 -1
  176. package/dist/index206.js +16 -51
  177. package/dist/index206.js.map +1 -1
  178. package/dist/index207.js +4 -25
  179. package/dist/index207.js.map +1 -1
  180. package/dist/index208.js +4 -41
  181. package/dist/index208.js.map +1 -1
  182. package/dist/index209.js +12 -39
  183. package/dist/index209.js.map +1 -1
  184. package/dist/index210.js +10 -45
  185. package/dist/index210.js.map +1 -1
  186. package/dist/index211.js +13 -20
  187. package/dist/index211.js.map +1 -1
  188. package/dist/index212.js +13 -70
  189. package/dist/index212.js.map +1 -1
  190. package/dist/index213.js +4 -17
  191. package/dist/index213.js.map +1 -1
  192. package/dist/index214.js +5 -11
  193. package/dist/index214.js.map +1 -1
  194. package/dist/index215.js +6 -27
  195. package/dist/index215.js.map +1 -1
  196. package/dist/index216.js +5 -13
  197. package/dist/index216.js.map +1 -1
  198. package/dist/index217.js +53 -17
  199. package/dist/index217.js.map +1 -1
  200. package/dist/index218.js +8 -36
  201. package/dist/index218.js.map +1 -1
  202. package/dist/index219.js +4 -262
  203. package/dist/index219.js.map +1 -1
  204. package/dist/index220.js +4 -278
  205. package/dist/index220.js.map +1 -1
  206. package/dist/index221.js +8 -68
  207. package/dist/index221.js.map +1 -1
  208. package/dist/index222.js +4 -99
  209. package/dist/index222.js.map +1 -1
  210. package/dist/index223.js +4 -83
  211. package/dist/index223.js.map +1 -1
  212. package/dist/index224.js +3 -3
  213. package/dist/index224.js.map +1 -1
  214. package/dist/index225.js +10 -29
  215. package/dist/index225.js.map +1 -1
  216. package/dist/index226.js +9 -16
  217. package/dist/index226.js.map +1 -1
  218. package/dist/index227.js +10 -35
  219. package/dist/index227.js.map +1 -1
  220. package/dist/index228.js +10 -16
  221. package/dist/index228.js.map +1 -1
  222. package/dist/index229.js +10 -3
  223. package/dist/index229.js.map +1 -1
  224. package/dist/index230.js +9 -26
  225. package/dist/index230.js.map +1 -1
  226. package/dist/index231.js +6 -28
  227. package/dist/index231.js.map +1 -1
  228. package/dist/index232.js +6 -4
  229. package/dist/index232.js.map +1 -1
  230. package/dist/index233.js +4 -78
  231. package/dist/index233.js.map +1 -1
  232. package/dist/index234.js +5 -269
  233. package/dist/index234.js.map +1 -1
  234. package/dist/index235.js +6 -11
  235. package/dist/index235.js.map +1 -1
  236. package/dist/index236.js +5 -10
  237. package/dist/index236.js.map +1 -1
  238. package/dist/index237.js +16 -25
  239. package/dist/index237.js.map +1 -1
  240. package/dist/index238.js +7 -16
  241. package/dist/index238.js.map +1 -1
  242. package/dist/index239.js +9 -124
  243. package/dist/index239.js.map +1 -1
  244. package/dist/index240.js +10 -5
  245. package/dist/index240.js.map +1 -1
  246. package/dist/index241.js +21 -40
  247. package/dist/index241.js.map +1 -1
  248. package/dist/index242.js +10 -65
  249. package/dist/index242.js.map +1 -1
  250. package/dist/index243.js +10 -14
  251. package/dist/index243.js.map +1 -1
  252. package/dist/index244.js +9 -7
  253. package/dist/index244.js.map +1 -1
  254. package/dist/index245.js +4 -5
  255. package/dist/index245.js.map +1 -1
  256. package/dist/index246.js +5 -3
  257. package/dist/index246.js.map +1 -1
  258. package/dist/index247.js +16 -10
  259. package/dist/index247.js.map +1 -1
  260. package/dist/index248.js +9 -7
  261. package/dist/index248.js.map +1 -1
  262. package/dist/index249.js +17 -132
  263. package/dist/index249.js.map +1 -1
  264. package/dist/index250.js +13 -397
  265. package/dist/index250.js.map +1 -1
  266. package/dist/index251.js +12 -52
  267. package/dist/index251.js.map +1 -1
  268. package/dist/index252.js +28 -10
  269. package/dist/index252.js.map +1 -1
  270. package/dist/index253.js +12 -11
  271. package/dist/index253.js.map +1 -1
  272. package/dist/index254.js +25 -13
  273. package/dist/index254.js.map +1 -1
  274. package/dist/index255.js +5 -154
  275. package/dist/index255.js.map +1 -1
  276. package/dist/index256.js +20 -31
  277. package/dist/index256.js.map +1 -1
  278. package/dist/index257.js +66 -9
  279. package/dist/index257.js.map +1 -1
  280. package/dist/index258.js +6 -48
  281. package/dist/index258.js.map +1 -1
  282. package/dist/index259.js +11 -11
  283. package/dist/index259.js.map +1 -1
  284. package/dist/index260.js +48 -42
  285. package/dist/index260.js.map +1 -1
  286. package/dist/index261.js +4 -96
  287. package/dist/index261.js.map +1 -1
  288. package/dist/index262.js +27 -84
  289. package/dist/index262.js.map +1 -1
  290. package/dist/index263.js +14 -103
  291. package/dist/index263.js.map +1 -1
  292. package/dist/index264.js +5 -52
  293. package/dist/index264.js.map +1 -1
  294. package/dist/index265.js +21 -11
  295. package/dist/index265.js.map +1 -1
  296. package/dist/index266.js +50 -36
  297. package/dist/index266.js.map +1 -1
  298. package/dist/index267.js +25 -8
  299. package/dist/index267.js.map +1 -1
  300. package/dist/index268.js +38 -113
  301. package/dist/index268.js.map +1 -1
  302. package/dist/index269.js +39 -17
  303. package/dist/index269.js.map +1 -1
  304. package/dist/index270.js +45 -16
  305. package/dist/index270.js.map +1 -1
  306. package/dist/index271.js +20 -3
  307. package/dist/index271.js.map +1 -1
  308. package/dist/index272.js +66 -32
  309. package/dist/index272.js.map +1 -1
  310. package/dist/index273.js +17 -20
  311. package/dist/index273.js.map +1 -1
  312. package/dist/index274.js +11 -9
  313. package/dist/index274.js.map +1 -1
  314. package/dist/index275.js +27 -8
  315. package/dist/index275.js.map +1 -1
  316. package/dist/index276.js +13 -58
  317. package/dist/index276.js.map +1 -1
  318. package/dist/index277.js +18 -8
  319. package/dist/index277.js.map +1 -1
  320. package/dist/index278.js +36 -87
  321. package/dist/index278.js.map +1 -1
  322. package/dist/index279.js +261 -18
  323. package/dist/index279.js.map +1 -1
  324. package/dist/index280.js +277 -15
  325. package/dist/index280.js.map +1 -1
  326. package/dist/index281.js +68 -5
  327. package/dist/index281.js.map +1 -1
  328. package/dist/index282.js +98 -4
  329. package/dist/index282.js.map +1 -1
  330. package/dist/index283.js +83 -6
  331. package/dist/index283.js.map +1 -1
  332. package/dist/index284.js +3 -4
  333. package/dist/index284.js.map +1 -1
  334. package/dist/index285.js +29 -6
  335. package/dist/index285.js.map +1 -1
  336. package/dist/index286.js +16 -16
  337. package/dist/index286.js.map +1 -1
  338. package/dist/index287.js +35 -5
  339. package/dist/index287.js.map +1 -1
  340. package/dist/index288.js +16 -4
  341. package/dist/index288.js.map +1 -1
  342. package/dist/index289.js +3 -12
  343. package/dist/index289.js.map +1 -1
  344. package/dist/index290.js +26 -9
  345. package/dist/index290.js.map +1 -1
  346. package/dist/index291.js +28 -13
  347. package/dist/index291.js.map +1 -1
  348. package/dist/index292.js +4 -14
  349. package/dist/index292.js.map +1 -1
  350. package/dist/index293.js +78 -4
  351. package/dist/index293.js.map +1 -1
  352. package/dist/index294.js +269 -5
  353. package/dist/index294.js.map +1 -1
  354. package/dist/index295.js +11 -6
  355. package/dist/index295.js.map +1 -1
  356. package/dist/index296.js +10 -5
  357. package/dist/index296.js.map +1 -1
  358. package/dist/index297.js +24 -53
  359. package/dist/index297.js.map +1 -1
  360. package/dist/index298.js +16 -8
  361. package/dist/index298.js.map +1 -1
  362. package/dist/index299.js +125 -4
  363. package/dist/index299.js.map +1 -1
  364. package/dist/index300.js +5 -4
  365. package/dist/index300.js.map +1 -1
  366. package/dist/index301.js +40 -8
  367. package/dist/index301.js.map +1 -1
  368. package/dist/index302.js +65 -4
  369. package/dist/index302.js.map +1 -1
  370. package/dist/index303.js +14 -5
  371. package/dist/index303.js.map +1 -1
  372. package/dist/index304.js +7 -3
  373. package/dist/index304.js.map +1 -1
  374. package/dist/index305.js +5 -10
  375. package/dist/index305.js.map +1 -1
  376. package/dist/index306.js +3 -9
  377. package/dist/index306.js.map +1 -1
  378. package/dist/index307.js +10 -9
  379. package/dist/index307.js.map +1 -1
  380. package/dist/index308.js +7 -10
  381. package/dist/index308.js.map +1 -1
  382. package/dist/index309.js +133 -10
  383. package/dist/index309.js.map +1 -1
  384. package/dist/index31.js +24 -24
  385. package/dist/index310.js +399 -9
  386. package/dist/index310.js.map +1 -1
  387. package/dist/index311.js +52 -6
  388. package/dist/index311.js.map +1 -1
  389. package/dist/index312.js +11 -5
  390. package/dist/index312.js.map +1 -1
  391. package/dist/index313.js +11 -4
  392. package/dist/index313.js.map +1 -1
  393. package/dist/index314.js +13 -5
  394. package/dist/index314.js.map +1 -1
  395. package/dist/index315.js +154 -6
  396. package/dist/index315.js.map +1 -1
  397. package/dist/index316.js +30 -5
  398. package/dist/index316.js.map +1 -1
  399. package/dist/index317.js +9 -19
  400. package/dist/index317.js.map +1 -1
  401. package/dist/index318.js +45 -25
  402. package/dist/index318.js.map +1 -1
  403. package/dist/index319.js +11 -16
  404. package/dist/index319.js.map +1 -1
  405. package/dist/index32.js +3 -3
  406. package/dist/index320.js +42 -14
  407. package/dist/index320.js.map +1 -1
  408. package/dist/index321.js +95 -7
  409. package/dist/index321.js.map +1 -1
  410. package/dist/index322.js +85 -9
  411. package/dist/index322.js.map +1 -1
  412. package/dist/index323.js +104 -9
  413. package/dist/index323.js.map +1 -1
  414. package/dist/index324.js +52 -21
  415. package/dist/index324.js.map +1 -1
  416. package/dist/index325.js +11 -10
  417. package/dist/index325.js.map +1 -1
  418. package/dist/index326.js +37 -9
  419. package/dist/index326.js.map +1 -1
  420. package/dist/index327.js +7 -8
  421. package/dist/index327.js.map +1 -1
  422. package/dist/index328.js +116 -4
  423. package/dist/index328.js.map +1 -1
  424. package/dist/index329.js +17 -5
  425. package/dist/index329.js.map +1 -1
  426. package/dist/index330.js +14 -15
  427. package/dist/index330.js.map +1 -1
  428. package/dist/index331.js +3 -9
  429. package/dist/index331.js.map +1 -1
  430. package/dist/index332.js +34 -16
  431. package/dist/index332.js.map +1 -1
  432. package/dist/index333.js +20 -15
  433. package/dist/index333.js.map +1 -1
  434. package/dist/index334.js +9 -12
  435. package/dist/index334.js.map +1 -1
  436. package/dist/index335.js +8 -29
  437. package/dist/index335.js.map +1 -1
  438. package/dist/index336.js +18 -11
  439. package/dist/index336.js.map +1 -1
  440. package/dist/index337.js +26 -23
  441. package/dist/index337.js.map +1 -1
  442. package/dist/index338.js +16 -5
  443. package/dist/index338.js.map +1 -1
  444. package/dist/index346.js +2 -2
  445. package/dist/index348.js +8 -8
  446. package/dist/index349.js +3 -3
  447. package/dist/index350.js +2 -2
  448. package/dist/index351.js +5 -5
  449. package/dist/index353.js +1 -1
  450. package/dist/index359.js +5 -4
  451. package/dist/index359.js.map +1 -1
  452. package/dist/index360.js +17 -11
  453. package/dist/index360.js.map +1 -1
  454. package/dist/index361.js +12 -16
  455. package/dist/index361.js.map +1 -1
  456. package/dist/index362.js +4 -6
  457. package/dist/index362.js.map +1 -1
  458. package/dist/index363.js +10 -19
  459. package/dist/index363.js.map +1 -1
  460. package/dist/index364.js +17 -45
  461. package/dist/index364.js.map +1 -1
  462. package/dist/index365.js +6 -18
  463. package/dist/index365.js.map +1 -1
  464. package/dist/index366.js +21 -5
  465. package/dist/index366.js.map +1 -1
  466. package/dist/index367.js +44 -200
  467. package/dist/index367.js.map +1 -1
  468. package/dist/index368.js +17 -77
  469. package/dist/index368.js.map +1 -1
  470. package/dist/index369.js +5 -21
  471. package/dist/index369.js.map +1 -1
  472. package/dist/index370.js +200 -4
  473. package/dist/index370.js.map +1 -1
  474. package/dist/index371.js +78 -18
  475. package/dist/index371.js.map +1 -1
  476. package/dist/index372.js +20 -12
  477. package/dist/index372.js.map +1 -1
  478. package/dist/index374.js +3 -3
  479. package/dist/index375.js +1 -1
  480. package/dist/index376.js +3 -3
  481. package/dist/index378.js +2 -2
  482. package/dist/index380.js +1 -1
  483. package/dist/index381.js +2 -2
  484. package/dist/index387.js +5 -3
  485. package/dist/index387.js.map +1 -1
  486. package/dist/index388.js +5 -3
  487. package/dist/index388.js.map +1 -1
  488. package/dist/index389.js +4 -5
  489. package/dist/index389.js.map +1 -1
  490. package/dist/index390.js +15 -4
  491. package/dist/index390.js.map +1 -1
  492. package/dist/index391.js +9 -4
  493. package/dist/index391.js.map +1 -1
  494. package/dist/index392.js +5 -15
  495. package/dist/index392.js.map +1 -1
  496. package/dist/index393.js +4 -8
  497. package/dist/index393.js.map +1 -1
  498. package/dist/index394.js +545 -5
  499. package/dist/index394.js.map +1 -1
  500. package/dist/index395.js +47 -5
  501. package/dist/index395.js.map +1 -1
  502. package/dist/index396.js +15 -543
  503. package/dist/index396.js.map +1 -1
  504. package/dist/index397.js +6 -47
  505. package/dist/index397.js.map +1 -1
  506. package/dist/index398.js +7 -17
  507. package/dist/index398.js.map +1 -1
  508. package/dist/index399.js +6 -5
  509. package/dist/index399.js.map +1 -1
  510. package/dist/index400.js +7 -7
  511. package/dist/index400.js.map +1 -1
  512. package/dist/index401.js +11 -6
  513. package/dist/index401.js.map +1 -1
  514. package/dist/index402.js +8 -7
  515. package/dist/index402.js.map +1 -1
  516. package/dist/index403.js +12 -11
  517. package/dist/index403.js.map +1 -1
  518. package/dist/index404.js +3 -9
  519. package/dist/index404.js.map +1 -1
  520. package/dist/index405.js +3 -13
  521. package/dist/index405.js.map +1 -1
  522. package/dist/index407.js +1 -1
  523. package/dist/index408.js +4 -7
  524. package/dist/index408.js.map +1 -1
  525. package/dist/index409.js +56 -2
  526. package/dist/index409.js.map +1 -1
  527. package/dist/index410.js +67 -43
  528. package/dist/index410.js.map +1 -1
  529. package/dist/index411.js +31 -56
  530. package/dist/index411.js.map +1 -1
  531. package/dist/index412.js +9 -8
  532. package/dist/index412.js.map +1 -1
  533. package/dist/index413.js +153 -2
  534. package/dist/index413.js.map +1 -1
  535. package/dist/index414.js +107 -54
  536. package/dist/index414.js.map +1 -1
  537. package/dist/index415.js +7 -55
  538. package/dist/index415.js.map +1 -1
  539. package/dist/index416.js +2 -5
  540. package/dist/index416.js.map +1 -1
  541. package/dist/index417.js +42 -54
  542. package/dist/index417.js.map +1 -1
  543. package/dist/index418.js +56 -68
  544. package/dist/index418.js.map +1 -1
  545. package/dist/index419.js +8 -31
  546. package/dist/index419.js.map +1 -1
  547. package/dist/index420.js +2 -9
  548. package/dist/index420.js.map +1 -1
  549. package/dist/index421.js +54 -152
  550. package/dist/index421.js.map +1 -1
  551. package/dist/index422.js +56 -108
  552. package/dist/index422.js.map +1 -1
  553. package/dist/index423.js +16 -2
  554. package/dist/index423.js.map +1 -1
  555. package/dist/index424.js +29 -2
  556. package/dist/index424.js.map +1 -1
  557. package/dist/index425.js +13 -2
  558. package/dist/index425.js.map +1 -1
  559. package/dist/index426.js +7 -2
  560. package/dist/index426.js.map +1 -1
  561. package/dist/index427.js +2 -16
  562. package/dist/index427.js.map +1 -1
  563. package/dist/index428.js +2 -29
  564. package/dist/index428.js.map +1 -1
  565. package/dist/index429.js +2 -13
  566. package/dist/index429.js.map +1 -1
  567. package/dist/index430.js +2 -7
  568. package/dist/index430.js.map +1 -1
  569. package/dist/index48.js +2 -2
  570. package/dist/index49.js +28 -28
  571. package/dist/index50.js +21 -21
  572. package/dist/index51.js +1 -1
  573. package/dist/index52.js +8 -8
  574. package/dist/index53.js +2 -2
  575. package/dist/index55.js +17 -17
  576. package/dist/index56.js +4 -4
  577. package/dist/index57.js +3 -3
  578. package/dist/index58.js +7 -7
  579. package/dist/index59.js +4 -4
  580. package/dist/index60.js +12 -12
  581. package/dist/index61.js +2 -2
  582. package/dist/index62.js +2 -2
  583. package/dist/index74.js +1 -1
  584. package/dist/index75.js +2 -2
  585. package/dist/index76.js +2 -2
  586. package/dist/index79.js +52 -6
  587. package/dist/index79.js.map +1 -1
  588. package/dist/index80.js +4 -68
  589. package/dist/index80.js.map +1 -1
  590. package/dist/index81.js +5 -2
  591. package/dist/index81.js.map +1 -1
  592. package/dist/index82.js +15 -363
  593. package/dist/index82.js.map +1 -1
  594. package/dist/index83.js +5 -261
  595. package/dist/index83.js.map +1 -1
  596. package/dist/index84.js +7 -60
  597. package/dist/index84.js.map +1 -1
  598. package/dist/index85.js +16 -46
  599. package/dist/index85.js.map +1 -1
  600. package/dist/index86.js +4 -169
  601. package/dist/index86.js.map +1 -1
  602. package/dist/index87.js +4 -109
  603. package/dist/index87.js.map +1 -1
  604. package/dist/index88.js +5 -24
  605. package/dist/index88.js.map +1 -1
  606. package/dist/index89.js +6 -8
  607. package/dist/index89.js.map +1 -1
  608. package/dist/index90.js +4 -4
  609. package/dist/index90.js.map +1 -1
  610. package/dist/index91.js +4 -5
  611. package/dist/index91.js.map +1 -1
  612. package/dist/index92.js +6 -4
  613. package/dist/index92.js.map +1 -1
  614. package/dist/index93.js +24 -466
  615. package/dist/index93.js.map +1 -1
  616. package/dist/index94.js +6 -185
  617. package/dist/index94.js.map +1 -1
  618. package/dist/index95.js +4 -107
  619. package/dist/index95.js.map +1 -1
  620. package/dist/index96.js +6 -262
  621. package/dist/index96.js.map +1 -1
  622. package/dist/index97.js +5 -9
  623. package/dist/index97.js.map +1 -1
  624. package/dist/index98.js +4 -42
  625. package/dist/index98.js.map +1 -1
  626. package/dist/index99.js +5 -4
  627. package/dist/index99.js.map +1 -1
  628. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index16.js","sources":["../src/components/Notifications/NotificationsDrawer.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, type Context } from \"react\"\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\"\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 getWebpushLink = (item: NotificationItem): string => {\n const platformWebpush = item.platform?.webpush\n if (!platformWebpush || typeof platformWebpush !== \"object\" || Array.isArray(platformWebpush)) return \"\"\n const fcmOptions = (platformWebpush as { fcmOptions?: unknown }).fcmOptions\n if (!fcmOptions || typeof fcmOptions !== \"object\" || Array.isArray(fcmOptions)) return \"\"\n return typeof (fcmOptions as { link?: unknown }).link === \"string\" ? (fcmOptions as { link: string }).link : \"\"\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.Backdrop className=\"fixed inset-0 z-50 bg-black/50\" />\n <DialogPrimitive.Popup\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\n render={<button type=\"button\" className=\"inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent\" />}\n >\n <X className=\"h-4 w-4\" />\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.Popup>\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 [menuOpen, setMenuOpen] = useState(false)\n const menuRef = useRef<HTMLDivElement | null>(null)\n const menuButtonRef = useRef<HTMLButtonElement | null>(null)\n const isUnread = !notification.readAt\n const link = getWebpushLink(notification)\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 useEffect(() => {\n if (!menuOpen) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (menuRef.current?.contains(target) || menuButtonRef.current?.contains(target)) return\n setMenuOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setMenuOpen(false)\n menuButtonRef.current?.focus()\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown)\n document.addEventListener(\"keydown\", handleKeyDown)\n\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown)\n document.removeEventListener(\"keydown\", handleKeyDown)\n }\n }, [menuOpen])\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 (link) {\n window.location.href = link\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 {link ? <div className=\"mt-2 truncate text-xs text-primary\">{link}</div> : null}\n {createdAtLabel ? (\n <div className=\"mt-2 text-[11px] text-muted-foreground\">{createdAtLabel}</div>\n ) : null}\n </button>\n <div className=\"relative flex items-start\">\n <button\n ref={menuButtonRef}\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 aria-haspopup=\"menu\"\n aria-expanded={menuOpen}\n onClick={() => {\n setMenuOpen((open) => !open)\n }}\n >\n <MoreVertical className=\"h-4 w-4\" />\n </button>\n {menuOpen ? (\n <div\n ref={menuRef}\n role=\"menu\"\n className={cn(\n \"absolute right-0 top-full z-50 mt-1 min-w-[10rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"animate-in fade-in-0 zoom-in-95\",\n )}\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n className=\"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent focus:bg-accent focus:text-accent-foreground\"\n onClick={() => {\n setMenuOpen(false)\n onArchive(notification.id)\n }}\n >\n Archive\n </button>\n <button\n type=\"button\"\n role=\"menuitem\"\n className=\"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50\"\n disabled={!isUnread}\n onClick={() => {\n setMenuOpen(false)\n onMarkRead(notification.id)\n }}\n >\n Mark as read\n </button>\n </div>\n ) : null}\n </div>\n </div>\n )\n}\n"],"names":["toMs","iso","ms","Date","parse","Number","isFinite","getDayKey","date","getTime","year","getFullYear","month","String","getMonth","padStart","day","getDate","formatDayLabel","key","yearRaw","monthRaw","dayRaw","split","includeYear","toLocaleDateString","undefined","weekday","getWebpushLink","item","platformWebpush","platform","webpush","Array","isArray","fcmOptions","link","groupByDay","items","groups","currentKey","createdAt","push","label","length","EmptyRealtimeContext","createContext","NotificationsDrawer","open","onOpenChange","className","limit","defaultUnreadOnly","realtimeContext","realtime","useContext","setItems","useState","unreadCount","setUnreadCount","unseenCount","setUnseenCount","loading","setLoading","error","setError","unreadOnly","setUnreadOnly","mergedItems","notifications","mergedUnreadCount","mergedUnseenCount","mergedLoading","mergedError","Error","message","visibleItems","useMemo","slice","unread","filter","n","readAt","read","Boolean","unreadGroups","readGroups","refresh","useCallback","markSeen","res","fetch","method","headers","credentials","body","JSON","stringify","json","catch","ok","nextItems","Math","max","floor","useEffect","keepalive","markAsRead","id","encodeURIComponent","nowIso","toISOString","current","target","find","count","seenAt","map","archive","jsx","DialogPrimitive.Root","jsxs","DialogPrimitive.Portal","DialogPrimitive.Backdrop","DialogPrimitive.Popup","cn","DialogPrimitive.Title","v","DialogPrimitive.Close","X","Loader2","group","NotificationRow","t0","$","_c","notification","onMarkRead","onArchive","menuOpen","setMenuOpen","menuRef","useRef","menuButtonRef","isUnread","t1","t2","bb0","toLocaleString","createdAtLabel","t3","t4","handlePointerDown","event","Node","contains","handleKeyDown","event_0","focus","document","addEventListener","removeEventListener","t5","t6","t7","window","location","href","t8","title","t9","t10","t11","t12","t13","t14","t15","Symbol","for","_temp","MoreVertical","t16","t17","t18","t19"],"mappings":"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"}
1
+ {"version":3,"file":"index16.js","sources":["../src/components/Notifications/NotificationsDrawer.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, type Context } from \"react\"\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\"\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\ntype BrowserNotificationPermission = NotificationPermission | \"unsupported\"\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 getWebpushLink = (item: NotificationItem): string => {\n const platformWebpush = item.platform?.webpush\n if (!platformWebpush || typeof platformWebpush !== \"object\" || Array.isArray(platformWebpush)) return \"\"\n const fcmOptions = (platformWebpush as { fcmOptions?: unknown }).fcmOptions\n if (!fcmOptions || typeof fcmOptions !== \"object\" || Array.isArray(fcmOptions)) return \"\"\n return typeof (fcmOptions as { link?: unknown }).link === \"string\" ? (fcmOptions as { link: string }).link : \"\"\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 getBrowserNotificationPermission = (): BrowserNotificationPermission => {\n if (typeof window === \"undefined\") return \"unsupported\"\n if (!(\"Notification\" in window)) return \"unsupported\"\n return window.Notification.permission\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 const [browserNotificationPermission, setBrowserNotificationPermission] = useState<BrowserNotificationPermission>(() =>\n getBrowserNotificationPermission(),\n )\n const [browserNotificationPermissionRequesting, setBrowserNotificationPermissionRequesting] = useState(false)\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 useEffect(() => {\n if (!open) return\n\n setBrowserNotificationPermission(getBrowserNotificationPermission())\n\n if (typeof navigator === \"undefined\" || !navigator.permissions?.query) return\n\n let permissionStatus: PermissionStatus | null = null\n let disposed = false\n const syncPermission = () => {\n setBrowserNotificationPermission(getBrowserNotificationPermission())\n }\n\n try {\n void navigator.permissions.query({ name: \"notifications\" as PermissionName }).then((status) => {\n if (disposed) return\n permissionStatus = status\n syncPermission()\n status.addEventListener(\"change\", syncPermission)\n }).catch(() => {\n // Notifications are not exposed through the Permissions API in every browser.\n })\n } catch {\n return\n }\n\n return () => {\n disposed = true\n permissionStatus?.removeEventListener(\"change\", syncPermission)\n }\n }, [open])\n\n const requestBrowserNotificationPermission = async () => {\n if (typeof window === \"undefined\" || !(\"Notification\" in window)) {\n setBrowserNotificationPermission(\"unsupported\")\n return\n }\n\n setBrowserNotificationPermissionRequesting(true)\n try {\n const nextPermission = await window.Notification.requestPermission()\n setBrowserNotificationPermission(nextPermission)\n } catch {\n setBrowserNotificationPermission(getBrowserNotificationPermission())\n } finally {\n setBrowserNotificationPermissionRequesting(false)\n }\n }\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.Backdrop className=\"fixed inset-0 z-50 bg-black/50\" />\n <DialogPrimitive.Popup\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\n render={<button type=\"button\" className=\"inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent\" />}\n >\n <X className=\"h-4 w-4\" />\n </DialogPrimitive.Close>\n </div>\n </header>\n\n <div className=\"flex-1 overflow-y-auto px-4 pb-3\">\n <BrowserNotificationPermissionNotice\n permission={browserNotificationPermission}\n requesting={browserNotificationPermissionRequesting}\n onEnable={requestBrowserNotificationPermission}\n />\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.Popup>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n )\n}\n\nfunction BrowserNotificationPermissionNotice({\n permission,\n requesting,\n onEnable,\n}: {\n permission: BrowserNotificationPermission\n requesting: boolean\n onEnable: () => void\n}) {\n if (permission === \"granted\") return null\n\n if (permission === \"unsupported\") {\n return (\n <div className=\"mt-3 rounded-md border bg-muted/40 p-3 text-sm text-muted-foreground\">\n Browser notifications are not supported by this browser.\n </div>\n )\n }\n\n const isDenied = permission === \"denied\"\n\n return (\n <div className=\"mt-3 rounded-md border bg-muted/40 p-3\">\n <div className=\"text-sm font-medium\">\n {isDenied ? \"Browser notifications are blocked.\" : \"Browser notifications are not enabled.\"}\n </div>\n <div className=\"mt-1 text-xs text-muted-foreground\">\n {isDenied\n ? \"Enable notifications for this site in your browser settings, then click again.\"\n : \"Enable browser notifications to receive important alerts.\"}\n </div>\n <button\n type=\"button\"\n className=\"mt-3 inline-flex h-8 items-center rounded-md border bg-background px-2.5 text-xs font-medium hover:bg-accent disabled:pointer-events-none disabled:opacity-50\"\n disabled={requesting}\n onClick={onEnable}\n >\n {requesting ? \"Enabling...\" : \"Enable browser notifications\"}\n </button>\n </div>\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 [menuOpen, setMenuOpen] = useState(false)\n const menuRef = useRef<HTMLDivElement | null>(null)\n const menuButtonRef = useRef<HTMLButtonElement | null>(null)\n const isUnread = !notification.readAt\n const link = getWebpushLink(notification)\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 useEffect(() => {\n if (!menuOpen) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (menuRef.current?.contains(target) || menuButtonRef.current?.contains(target)) return\n setMenuOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setMenuOpen(false)\n menuButtonRef.current?.focus()\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown)\n document.addEventListener(\"keydown\", handleKeyDown)\n\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown)\n document.removeEventListener(\"keydown\", handleKeyDown)\n }\n }, [menuOpen])\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 (link) {\n window.location.href = link\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 {link ? <div className=\"mt-2 truncate text-xs text-primary\">{link}</div> : null}\n {createdAtLabel ? (\n <div className=\"mt-2 text-[11px] text-muted-foreground\">{createdAtLabel}</div>\n ) : null}\n </button>\n <div className=\"relative flex items-start\">\n <button\n ref={menuButtonRef}\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 aria-haspopup=\"menu\"\n aria-expanded={menuOpen}\n onClick={() => {\n setMenuOpen((open) => !open)\n }}\n >\n <MoreVertical className=\"h-4 w-4\" />\n </button>\n {menuOpen ? (\n <div\n ref={menuRef}\n role=\"menu\"\n className={cn(\n \"absolute right-0 top-full z-50 mt-1 min-w-[10rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"animate-in fade-in-0 zoom-in-95\",\n )}\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n className=\"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent focus:bg-accent focus:text-accent-foreground\"\n onClick={() => {\n setMenuOpen(false)\n onArchive(notification.id)\n }}\n >\n Archive\n </button>\n <button\n type=\"button\"\n role=\"menuitem\"\n className=\"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50\"\n disabled={!isUnread}\n onClick={() => {\n setMenuOpen(false)\n onMarkRead(notification.id)\n }}\n >\n Mark as read\n </button>\n </div>\n ) : null}\n </div>\n </div>\n )\n}\n"],"names":["toMs","iso","ms","Date","parse","Number","isFinite","getDayKey","date","getTime","year","getFullYear","month","String","getMonth","padStart","day","getDate","formatDayLabel","key","yearRaw","monthRaw","dayRaw","split","includeYear","toLocaleDateString","undefined","weekday","getWebpushLink","item","platformWebpush","platform","webpush","Array","isArray","fcmOptions","link","groupByDay","items","groups","currentKey","createdAt","push","label","length","getBrowserNotificationPermission","window","Notification","permission","EmptyRealtimeContext","createContext","NotificationsDrawer","open","onOpenChange","className","limit","defaultUnreadOnly","realtimeContext","realtime","useContext","setItems","useState","unreadCount","setUnreadCount","unseenCount","setUnseenCount","loading","setLoading","error","setError","unreadOnly","setUnreadOnly","browserNotificationPermission","setBrowserNotificationPermission","browserNotificationPermissionRequesting","setBrowserNotificationPermissionRequesting","mergedItems","notifications","mergedUnreadCount","mergedUnseenCount","mergedLoading","mergedError","Error","message","visibleItems","useMemo","slice","unread","filter","n","readAt","read","Boolean","unreadGroups","readGroups","refresh","useCallback","markSeen","res","fetch","method","headers","credentials","body","JSON","stringify","json","catch","ok","nextItems","Math","max","floor","useEffect","keepalive","navigator","permissions","query","permissionStatus","disposed","syncPermission","name","then","status","addEventListener","removeEventListener","requestBrowserNotificationPermission","nextPermission","requestPermission","markAsRead","id","encodeURIComponent","nowIso","toISOString","current","target","find","count","seenAt","map","archive","jsx","DialogPrimitive.Root","jsxs","DialogPrimitive.Portal","DialogPrimitive.Backdrop","DialogPrimitive.Popup","cn","DialogPrimitive.Title","v","DialogPrimitive.Close","X","BrowserNotificationPermissionNotice","Loader2","group","NotificationRow","t0","$","_c","requesting","onEnable","t1","Symbol","for","isDenied","t2","t3","t4","t5","t6","t7","notification","onMarkRead","onArchive","menuOpen","setMenuOpen","menuRef","useRef","menuButtonRef","isUnread","bb0","toLocaleString","createdAtLabel","handlePointerDown","event","Node","contains","handleKeyDown","event_0","focus","document","location","href","t8","title","t9","t10","t11","t12","t13","t14","t15","_temp","MoreVertical","t16","t17","t18","t19"],"mappings":"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"}
package/dist/index160.js CHANGED
@@ -1,11 +1,11 @@
1
- import { DateLib as n } from "./index127.js";
2
- function r(a, t, l, o) {
3
- let e = (o ?? new n(l)).format(a, "PPPP");
4
- return t.today && (e = `Today, ${e}`), t.selected && (e = `${e}, selected`), e;
5
- }
6
- const c = r;
1
+ var v = 2, A = 17, E = 3, _ = "0-90-9٠-٩۰-۹", F = "-‐-―−ー-", u = "//", a = "..", S = "  ­​⁠ ", r = "()()[]\\[\\]", c = "~⁓∼~", N = "".concat(F).concat(u).concat(a).concat(S).concat(r).concat(c), T = "++";
7
2
  export {
8
- c as labelDay,
9
- r as labelDayButton
3
+ E as MAX_LENGTH_COUNTRY_CODE,
4
+ A as MAX_LENGTH_FOR_NSN,
5
+ v as MIN_LENGTH_FOR_NSN,
6
+ T as PLUS_CHARS,
7
+ _ as VALID_DIGITS,
8
+ N as VALID_PUNCTUATION,
9
+ S as WHITESPACE
10
10
  };
11
11
  //# sourceMappingURL=index160.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index160.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelDayButton.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Generates the ARIA label for a day button.\n *\n * Use the `modifiers` argument to provide additional context for the label,\n * such as indicating if the day is \"today\" or \"selected.\"\n *\n * @defaultValue The formatted date.\n * @param date - The date to format.\n * @param modifiers - The modifiers providing context for the day.\n * @param options - Optional configuration for the date formatting library.\n * @param dateLib - An optional instance of the date formatting library.\n * @returns The ARIA label for the day button.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelDayButton(date, modifiers, options, dateLib) {\n let label = (dateLib ?? new DateLib(options)).format(date, \"PPPP\");\n if (modifiers.today)\n label = `Today, ${label}`;\n if (modifiers.selected)\n label = `${label}, selected`;\n return label;\n}\n/**\n * @ignore\n * @deprecated Use `labelDayButton` instead.\n */\nexport const labelDay = labelDayButton;\n"],"names":["labelDayButton","date","modifiers","options","dateLib","label","DateLib","labelDay"],"mappings":";AAgBO,SAASA,EAAeC,GAAMC,GAAWC,GAASC,GAAS;AAC9D,MAAIC,KAASD,KAAW,IAAIE,EAAQH,CAAO,GAAG,OAAOF,GAAM,MAAM;AACjE,SAAIC,EAAU,UACVG,IAAQ,UAAUA,CAAK,KACvBH,EAAU,aACVG,IAAQ,GAAGA,CAAK,eACbA;AACX;AAKY,MAACE,IAAWP;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index160.js","sources":["../../../node_modules/libphonenumber-js/es6/constants.js"],"sourcesContent":["// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2;\n\n// The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\nexport var MAX_LENGTH_FOR_NSN = 17;\n\n// The maximum length of the country calling code.\nexport var MAX_LENGTH_COUNTRY_CODE = 3;\n\n// Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\";\n\n// `DASHES` will be right after the opening square bracket of the \"character class\"\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\";\n// export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\";\n\n// Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\";\n// const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map"],"names":["MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","DASHES","SLASHES","DOTS","WHITESPACE","BRACKETS","TILDES","VALID_PUNCTUATION","PLUS_CHARS"],"mappings":"AACU,IAACA,IAAqB,GAIrBC,IAAqB,IAGrBC,IAA0B,GAI1BC,IAAe,gBAGtBC,IAAS,WACTC,IAAU,MACVC,IAAO,MACAC,IAAa,UACpBC,IAAW,gBAEXC,IAAS,QAMFC,IAAoB,GAAG,OAAON,CAAM,EAAE,OAAOC,CAAO,EAAE,OAAOC,CAAI,EAAE,OAAOC,CAAU,EAAE,OAAOC,CAAQ,EAAE,OAAOC,CAAM,GACpHE,IAAa;","x_google_ignoreList":[0]}
package/dist/index161.js CHANGED
@@ -1,10 +1,8 @@
1
- import { DateLib as r } from "./index127.js";
2
- function e(t, o, n) {
3
- return (n ?? new r(o)).formatMonthYear(t);
1
+ import { VALID_PUNCTUATION as e } from "./index160.js";
2
+ function a(t) {
3
+ return t.replace(new RegExp("[".concat(e, "]+"), "g"), " ").trim();
4
4
  }
5
- const l = e;
6
5
  export {
7
- l as labelCaption,
8
- e as labelGrid
6
+ a as default
9
7
  };
10
8
  //# sourceMappingURL=index161.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index161.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelGrid.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Generates the ARIA label for the month grid, which is announced when entering\n * the grid.\n *\n * @defaultValue Locale-specific month/year order (e.g., \"November 2022\").\n * @param date - The date representing the month.\n * @param options - Optional configuration for the date formatting library.\n * @param dateLib - An optional instance of the date formatting library.\n * @returns The ARIA label for the month grid.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelGrid(date, options, dateLib) {\n const lib = dateLib ?? new DateLib(options);\n return lib.formatMonthYear(date);\n}\n/**\n * @ignore\n * @deprecated Use {@link labelGrid} instead.\n */\nexport const labelCaption = labelGrid;\n"],"names":["labelGrid","date","options","dateLib","DateLib","labelCaption"],"mappings":";AAaO,SAASA,EAAUC,GAAMC,GAASC,GAAS;AAE9C,UADYA,KAAW,IAAIC,EAAQF,CAAO,GAC/B,gBAAgBD,CAAI;AACnC;AAKY,MAACI,IAAeL;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index161.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js"],"sourcesContent":["import { VALID_PUNCTUATION } from '../constants.js';\n\n// Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains `<intlFormat/>`s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `<intlFormat/>` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map"],"names":["applyInternationalSeparatorStyle","formattedNumber","VALID_PUNCTUATION"],"mappings":";AAgCe,SAASA,EAAiCC,GAAiB;AACxE,SAAOA,EAAgB,QAAQ,IAAI,OAAO,IAAI,OAAOC,GAAmB,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,KAAI;AAChG;","x_google_ignoreList":[0]}
package/dist/index162.js CHANGED
@@ -1,9 +1,9 @@
1
- import { DateLib as a } from "./index127.js";
2
- function f(t, l, o, r) {
3
- let e = (r ?? new a(o)).format(t, "PPPP");
4
- return l?.today && (e = `Today, ${e}`), e;
1
+ import t from "./index150.js";
2
+ import r from "./index163.js";
3
+ function n() {
4
+ return t(r, arguments);
5
5
  }
6
6
  export {
7
- f as labelGridcell
7
+ n as getCountries
8
8
  };
9
9
  //# sourceMappingURL=index162.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index162.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelGridcell.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Generates the label for a day grid cell when the calendar is not interactive.\n *\n * @param date - The date to format.\n * @param modifiers - Optional modifiers providing context for the day.\n * @param options - Optional configuration for the date formatting library.\n * @param dateLib - An optional instance of the date formatting library.\n * @returns The label for the day grid cell.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelGridcell(date, modifiers, options, dateLib) {\n let label = (dateLib ?? new DateLib(options)).format(date, \"PPPP\");\n if (modifiers?.today) {\n label = `Today, ${label}`;\n }\n return label;\n}\n"],"names":["labelGridcell","date","modifiers","options","dateLib","label","DateLib"],"mappings":";AAYO,SAASA,EAAcC,GAAMC,GAAWC,GAASC,GAAS;AAC7D,MAAIC,KAASD,KAAW,IAAIE,EAAQH,CAAO,GAAG,OAAOF,GAAM,MAAM;AACjE,SAAIC,GAAW,UACXG,IAAQ,UAAUA,CAAK,KAEpBA;AACX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index162.js","sources":["../../../node_modules/libphonenumber-js/min/exports/getCountries.js"],"sourcesContent":["import withMetadataArgument from './withMetadataArgument.js'\r\nimport { getCountries as _getCountries } from '../../core/index.js'\r\n\r\nexport function getCountries() {\r\n\treturn withMetadataArgument(_getCountries, arguments)\r\n}"],"names":["getCountries","withMetadataArgument","_getCountries"],"mappings":";;AAGO,SAASA,IAAe;AAC9B,SAAOC,EAAqBC,GAAe,SAAS;AACrD;","x_google_ignoreList":[0]}
package/dist/index163.js CHANGED
@@ -1,7 +1,8 @@
1
- function n(o) {
2
- return "Choose the Month";
1
+ import e from "./index164.js";
2
+ function n(t) {
3
+ return new e(t).getCountries();
3
4
  }
4
5
  export {
5
- n as labelMonthDropdown
6
+ n as default
6
7
  };
7
8
  //# sourceMappingURL=index163.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index163.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js"],"sourcesContent":["/**\n * Generates the ARIA label for the months dropdown.\n *\n * @defaultValue `\"Choose the Month\"`\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the months dropdown.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelMonthDropdown(_options) {\n return \"Choose the Month\";\n}\n"],"names":["labelMonthDropdown","_options"],"mappings":"AASO,SAASA,EAAmBC,GAAU;AACzC,SAAO;AACX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index163.js","sources":["../../../node_modules/libphonenumber-js/es6/getCountries.js"],"sourcesContent":["import Metadata from './metadata.js';\nexport default function getCountries(metadata) {\n return new Metadata(metadata).getCountries();\n}\n//# sourceMappingURL=getCountries.js.map"],"names":["getCountries","metadata","Metadata"],"mappings":";AACe,SAASA,EAAaC,GAAU;AAC7C,SAAO,IAAIC,EAASD,CAAQ,EAAE,aAAY;AAC5C;","x_google_ignoreList":[0]}