bitboss-ui 2.0.4 → 2.0.7

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 (442) hide show
  1. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +1 -3
  2. package/dist/composables/useOptions.d.ts +1 -1
  3. package/dist/index.js +138 -137
  4. package/dist/index.js.map +1 -1
  5. package/dist/index10.js +74 -35
  6. package/dist/index10.js.map +1 -1
  7. package/dist/{index99.js → index100.js} +3 -3
  8. package/dist/index100.js.map +1 -0
  9. package/dist/{index101.js → index102.js} +3 -3
  10. package/dist/{index101.js.map → index102.js.map} +1 -1
  11. package/dist/{index103.js → index104.js} +8 -8
  12. package/dist/{index103.js.map → index104.js.map} +1 -1
  13. package/dist/{index105.js → index106.js} +10 -10
  14. package/dist/{index105.js.map → index106.js.map} +1 -1
  15. package/dist/{index107.js → index108.js} +3 -3
  16. package/dist/{index107.js.map → index108.js.map} +1 -1
  17. package/dist/index11.js +36 -189
  18. package/dist/index11.js.map +1 -1
  19. package/dist/{index109.js → index110.js} +3 -3
  20. package/dist/{index109.js.map → index110.js.map} +1 -1
  21. package/dist/{index111.js → index112.js} +3 -3
  22. package/dist/{index111.js.map → index112.js.map} +1 -1
  23. package/dist/{index113.js → index114.js} +3 -3
  24. package/dist/{index113.js.map → index114.js.map} +1 -1
  25. package/dist/{index115.js → index116.js} +8 -8
  26. package/dist/{index115.js.map → index116.js.map} +1 -1
  27. package/dist/{index117.js → index118.js} +2 -2
  28. package/dist/{index117.js.map → index118.js.map} +1 -1
  29. package/dist/index12.js +189 -78
  30. package/dist/index12.js.map +1 -1
  31. package/dist/index120.js +34 -38
  32. package/dist/index120.js.map +1 -1
  33. package/dist/index121.js +38 -38
  34. package/dist/index121.js.map +1 -1
  35. package/dist/index122.js +39 -42
  36. package/dist/index122.js.map +1 -1
  37. package/dist/index123.js +43 -31
  38. package/dist/index123.js.map +1 -1
  39. package/dist/index124.js +35 -2
  40. package/dist/index124.js.map +1 -1
  41. package/dist/index125.js +2 -21
  42. package/dist/index125.js.map +1 -1
  43. package/dist/index126.js +21 -2
  44. package/dist/index126.js.map +1 -1
  45. package/dist/index127.js +2 -312
  46. package/dist/index127.js.map +1 -1
  47. package/dist/index128.js +309 -21
  48. package/dist/index128.js.map +1 -1
  49. package/dist/index129.js +24 -2
  50. package/dist/index129.js.map +1 -1
  51. package/dist/index13.js +85 -0
  52. package/dist/index13.js.map +1 -0
  53. package/dist/index130.js +2 -5
  54. package/dist/index130.js.map +1 -1
  55. package/dist/index131.js +5 -9
  56. package/dist/index131.js.map +1 -1
  57. package/dist/index132.js +8 -5
  58. package/dist/index132.js.map +1 -1
  59. package/dist/index133.js +6 -3
  60. package/dist/index133.js.map +1 -1
  61. package/dist/index134.js +1 -1
  62. package/dist/index135.js +1 -1
  63. package/dist/index136.js +1 -1
  64. package/dist/index137.js +1 -1
  65. package/dist/index138.js +1 -1
  66. package/dist/index139.js +1 -1
  67. package/dist/index140.js +1 -1
  68. package/dist/index141.js +1 -1
  69. package/dist/index142.js +1 -1
  70. package/dist/index143.js +1 -1
  71. package/dist/index144.js +1 -1
  72. package/dist/index145.js +1 -1
  73. package/dist/index146.js +1 -1
  74. package/dist/index147.js +1 -1
  75. package/dist/index148.js +1 -1
  76. package/dist/index149.js +1 -1
  77. package/dist/{index14.js → index15.js} +4 -4
  78. package/dist/{index14.js.map → index15.js.map} +1 -1
  79. package/dist/index150.js +1 -1
  80. package/dist/index151.js +1 -1
  81. package/dist/index152.js +1 -1
  82. package/dist/index153.js +1 -1
  83. package/dist/index154.js +1 -1
  84. package/dist/index155.js +1 -1
  85. package/dist/index156.js +1 -1
  86. package/dist/index157.js +1 -1
  87. package/dist/index158.js +1 -1
  88. package/dist/index159.js +2 -2
  89. package/dist/{index161.js → index160.js} +1 -1
  90. package/dist/index160.js.map +1 -0
  91. package/dist/index162.js +6 -0
  92. package/dist/index162.js.map +1 -0
  93. package/dist/index164.js +1 -1
  94. package/dist/index165.js +1 -1
  95. package/dist/index166.js +1 -1
  96. package/dist/index167.js +1 -1
  97. package/dist/index168.js +1 -1
  98. package/dist/index169.js +2 -2
  99. package/dist/{index16.js → index17.js} +4 -4
  100. package/dist/{index16.js.map → index17.js.map} +1 -1
  101. package/dist/index170.js +6 -0
  102. package/dist/index170.js.map +1 -0
  103. package/dist/index172.js +2 -3
  104. package/dist/index172.js.map +1 -1
  105. package/dist/index173.js +1 -1
  106. package/dist/index174.js +1 -1
  107. package/dist/index175.js +1 -1
  108. package/dist/index176.js +1 -1
  109. package/dist/index177.js +1 -1
  110. package/dist/index178.js +1 -1
  111. package/dist/index179.js +1 -1
  112. package/dist/index180.js +1 -1
  113. package/dist/index181.js +1 -1
  114. package/dist/index182.js +1 -1
  115. package/dist/index183.js +2 -2
  116. package/dist/{index185.js → index184.js} +1 -1
  117. package/dist/index184.js.map +1 -0
  118. package/dist/index186.js +6 -0
  119. package/dist/index186.js.map +1 -0
  120. package/dist/index188.js +1 -1
  121. package/dist/index189.js +1 -1
  122. package/dist/{index18.js → index19.js} +76 -74
  123. package/dist/index19.js.map +1 -0
  124. package/dist/index190.js +1 -1
  125. package/dist/index191.js +1 -1
  126. package/dist/index192.js +1 -1
  127. package/dist/index193.js +1 -1
  128. package/dist/index194.js +1 -1
  129. package/dist/index195.js +1 -1
  130. package/dist/index196.js +1 -1
  131. package/dist/index197.js +3 -2
  132. package/dist/index197.js.map +1 -1
  133. package/dist/index198.js +77 -154
  134. package/dist/index198.js.map +1 -1
  135. package/dist/index199.js +2 -84
  136. package/dist/index199.js.map +1 -1
  137. package/dist/index200.js +5 -0
  138. package/dist/index200.js.map +1 -0
  139. package/dist/index201.js +4 -2
  140. package/dist/index201.js.map +1 -1
  141. package/dist/index202.js +2 -4
  142. package/dist/index202.js.map +1 -1
  143. package/dist/index203.js +8 -2
  144. package/dist/index203.js.map +1 -1
  145. package/dist/index204.js +117 -72
  146. package/dist/index204.js.map +1 -1
  147. package/dist/index205.js +5 -126
  148. package/dist/index205.js.map +1 -1
  149. package/dist/index206.js +123 -5
  150. package/dist/index206.js.map +1 -1
  151. package/dist/index207.js +17 -121
  152. package/dist/index207.js.map +1 -1
  153. package/dist/index208.js +15 -18
  154. package/dist/index208.js.map +1 -1
  155. package/dist/index209.js +10 -10
  156. package/dist/index209.js.map +1 -1
  157. package/dist/{index20.js → index21.js} +26 -27
  158. package/dist/index21.js.map +1 -0
  159. package/dist/index210.js +2 -16
  160. package/dist/index210.js.map +1 -1
  161. package/dist/index211.js +2 -2
  162. package/dist/index211.js.map +1 -1
  163. package/dist/index212.js +35 -2
  164. package/dist/index212.js.map +1 -1
  165. package/dist/index213.js +172 -33
  166. package/dist/index213.js.map +1 -1
  167. package/dist/index214.js +6 -174
  168. package/dist/index214.js.map +1 -1
  169. package/dist/index215.js +42 -5
  170. package/dist/index215.js.map +1 -1
  171. package/dist/index217.js +16 -0
  172. package/dist/index217.js.map +1 -0
  173. package/dist/index218.js +4 -12
  174. package/dist/index218.js.map +1 -1
  175. package/dist/index219.js +369 -5
  176. package/dist/index219.js.map +1 -1
  177. package/dist/index220.js +17 -367
  178. package/dist/index220.js.map +1 -1
  179. package/dist/index221.js +27 -8
  180. package/dist/index221.js.map +1 -1
  181. package/dist/index222.js +3 -3
  182. package/dist/index222.js.map +1 -1
  183. package/dist/index223.js +249 -7
  184. package/dist/index223.js.map +1 -1
  185. package/dist/index224.js +51 -18
  186. package/dist/index224.js.map +1 -1
  187. package/dist/index225.js +44 -27
  188. package/dist/index225.js.map +1 -1
  189. package/dist/index226.js +5 -3
  190. package/dist/index226.js.map +1 -1
  191. package/dist/index227.js +43 -243
  192. package/dist/index227.js.map +1 -1
  193. package/dist/index228.js +6 -0
  194. package/dist/{index233.js.map → index228.js.map} +1 -1
  195. package/dist/index229.js +3 -52
  196. package/dist/index229.js.map +1 -1
  197. package/dist/{index22.js → index23.js} +74 -76
  198. package/dist/index23.js.map +1 -0
  199. package/dist/index230.js +7 -37
  200. package/dist/index230.js.map +1 -1
  201. package/dist/index231.js +158 -5
  202. package/dist/index231.js.map +1 -1
  203. package/dist/index232.js +77 -34
  204. package/dist/index232.js.map +1 -1
  205. package/dist/index234.js +2 -2
  206. package/dist/index234.js.map +1 -1
  207. package/dist/index235.js +18 -3
  208. package/dist/index235.js.map +1 -1
  209. package/dist/index236.js +105 -17
  210. package/dist/index236.js.map +1 -1
  211. package/dist/{index239.js → index238.js} +3 -3
  212. package/dist/{index239.js.map → index238.js.map} +1 -1
  213. package/dist/index240.js +5 -0
  214. package/dist/index240.js.map +1 -0
  215. package/dist/index244.js +3 -3
  216. package/dist/index248.js +9 -3
  217. package/dist/index248.js.map +1 -1
  218. package/dist/index249.js +281 -12
  219. package/dist/index249.js.map +1 -1
  220. package/dist/{index24.js → index25.js} +6 -6
  221. package/dist/{index24.js.map → index25.js.map} +1 -1
  222. package/dist/index250.js +5 -8
  223. package/dist/index250.js.map +1 -1
  224. package/dist/index251.js +2 -9
  225. package/dist/index251.js.map +1 -1
  226. package/dist/index252.js +2 -17
  227. package/dist/index252.js.map +1 -1
  228. package/dist/index253.js +2 -281
  229. package/dist/index253.js.map +1 -1
  230. package/dist/index254.js +2 -6
  231. package/dist/index254.js.map +1 -1
  232. package/dist/index255.js +2 -2
  233. package/dist/index256.js +126 -2
  234. package/dist/index256.js.map +1 -1
  235. package/dist/index257.js +431 -2
  236. package/dist/index257.js.map +1 -1
  237. package/dist/index258.js +3 -2
  238. package/dist/index258.js.map +1 -1
  239. package/dist/index260.js +7 -126
  240. package/dist/index260.js.map +1 -1
  241. package/dist/index261.js +20 -429
  242. package/dist/index261.js.map +1 -1
  243. package/dist/{index259.js → index263.js} +1 -1
  244. package/dist/index263.js.map +1 -0
  245. package/dist/index264.js +2 -7
  246. package/dist/index264.js.map +1 -1
  247. package/dist/index265.js +1 -21
  248. package/dist/index265.js.map +1 -1
  249. package/dist/index266.js +5 -0
  250. package/dist/index266.js.map +1 -0
  251. package/dist/index267.js +2 -9
  252. package/dist/index267.js.map +1 -1
  253. package/dist/index268.js +2 -200
  254. package/dist/index268.js.map +1 -1
  255. package/dist/index269.js +23 -431
  256. package/dist/index269.js.map +1 -1
  257. package/dist/{index26.js → index27.js} +4 -4
  258. package/dist/{index26.js.map → index27.js.map} +1 -1
  259. package/dist/index270.js +21 -126
  260. package/dist/index270.js.map +1 -1
  261. package/dist/index272.js +224 -2
  262. package/dist/index272.js.map +1 -1
  263. package/dist/index273.js +89 -2
  264. package/dist/index273.js.map +1 -1
  265. package/dist/index274.js +200 -3
  266. package/dist/index274.js.map +1 -1
  267. package/dist/index275.js +436 -2
  268. package/dist/index275.js.map +1 -1
  269. package/dist/index276.js +127 -2
  270. package/dist/index276.js.map +1 -1
  271. package/dist/index277.js +5 -2
  272. package/dist/index277.js.map +1 -1
  273. package/dist/index278.js +2 -28
  274. package/dist/index278.js.map +1 -1
  275. package/dist/index279.js +7 -20
  276. package/dist/index279.js.map +1 -1
  277. package/dist/index280.js +72 -0
  278. package/dist/index280.js.map +1 -0
  279. package/dist/index281.js +3 -2
  280. package/dist/index281.js.map +1 -1
  281. package/dist/index282.js +12 -5
  282. package/dist/index282.js.map +1 -1
  283. package/dist/index283.js +8 -68
  284. package/dist/index283.js.map +1 -1
  285. package/dist/index284.js +17 -224
  286. package/dist/index284.js.map +1 -1
  287. package/dist/index285.js +1 -1
  288. package/dist/index286.js +1 -1
  289. package/dist/index287.js +12 -12
  290. package/dist/index287.js.map +1 -1
  291. package/dist/index288.js +18 -0
  292. package/dist/index288.js.map +1 -0
  293. package/dist/index289.js +4 -15
  294. package/dist/index289.js.map +1 -1
  295. package/dist/{index28.js → index29.js} +19 -19
  296. package/dist/index29.js.map +1 -0
  297. package/dist/index290.js +4 -4
  298. package/dist/index290.js.map +1 -1
  299. package/dist/index291.js +59 -4
  300. package/dist/index291.js.map +1 -1
  301. package/dist/index292.js +34 -58
  302. package/dist/index292.js.map +1 -1
  303. package/dist/index293.js +6 -10
  304. package/dist/index293.js.map +1 -1
  305. package/dist/index294.js +18 -34
  306. package/dist/index294.js.map +1 -1
  307. package/dist/index295.js +6 -6
  308. package/dist/index295.js.map +1 -1
  309. package/dist/index296.js +2 -19
  310. package/dist/index296.js.map +1 -1
  311. package/dist/index297.js +10 -6
  312. package/dist/index297.js.map +1 -1
  313. package/dist/index298.js +47 -2
  314. package/dist/index298.js.map +1 -1
  315. package/dist/index300.js +424 -0
  316. package/dist/index300.js.map +1 -0
  317. package/dist/index301.js +42 -416
  318. package/dist/index301.js.map +1 -1
  319. package/dist/{index30.js → index31.js} +4 -4
  320. package/dist/{index30.js.map → index31.js.map} +1 -1
  321. package/dist/{index32.js → index33.js} +41 -40
  322. package/dist/index33.js.map +1 -0
  323. package/dist/{index34.js → index35.js} +23 -22
  324. package/dist/{index34.js.map → index35.js.map} +1 -1
  325. package/dist/{index36.js → index37.js} +9 -8
  326. package/dist/index37.js.map +1 -0
  327. package/dist/{index38.js → index39.js} +4 -3
  328. package/dist/index39.js.map +1 -0
  329. package/dist/index4.js +14 -40
  330. package/dist/index4.js.map +1 -1
  331. package/dist/{index40.js → index41.js} +4 -4
  332. package/dist/{index40.js.map → index41.js.map} +1 -1
  333. package/dist/{index42.js → index43.js} +34 -33
  334. package/dist/{index42.js.map → index43.js.map} +1 -1
  335. package/dist/{index44.js → index45.js} +9 -9
  336. package/dist/index45.js.map +1 -0
  337. package/dist/{index46.js → index47.js} +3 -3
  338. package/dist/{index46.js.map → index47.js.map} +1 -1
  339. package/dist/{index48.js → index49.js} +4 -4
  340. package/dist/{index48.js.map → index49.js.map} +1 -1
  341. package/dist/index5.js +38 -76
  342. package/dist/index5.js.map +1 -1
  343. package/dist/index51.js +95 -0
  344. package/dist/index51.js.map +1 -0
  345. package/dist/{index52.js → index53.js} +3 -3
  346. package/dist/{index52.js.map → index53.js.map} +1 -1
  347. package/dist/{index54.js → index55.js} +3 -3
  348. package/dist/{index54.js.map → index55.js.map} +1 -1
  349. package/dist/{index56.js → index57.js} +2 -2
  350. package/dist/{index56.js.map → index57.js.map} +1 -1
  351. package/dist/{index58.js → index59.js} +7 -6
  352. package/dist/{index58.js.map → index59.js.map} +1 -1
  353. package/dist/index6.js +78 -62
  354. package/dist/index6.js.map +1 -1
  355. package/dist/{index60.js → index61.js} +3 -3
  356. package/dist/{index60.js.map → index61.js.map} +1 -1
  357. package/dist/{index62.js → index63.js} +3 -3
  358. package/dist/{index62.js.map → index63.js.map} +1 -1
  359. package/dist/{index64.js → index65.js} +5 -5
  360. package/dist/{index64.js.map → index65.js.map} +1 -1
  361. package/dist/{index66.js → index67.js} +3 -3
  362. package/dist/{index66.js.map → index67.js.map} +1 -1
  363. package/dist/{index68.js → index69.js} +2 -2
  364. package/dist/{index68.js.map → index69.js.map} +1 -1
  365. package/dist/index7.js +60 -18
  366. package/dist/index7.js.map +1 -1
  367. package/dist/{index70.js → index71.js} +7 -7
  368. package/dist/{index70.js.map → index71.js.map} +1 -1
  369. package/dist/{index72.js → index73.js} +3 -3
  370. package/dist/{index72.js.map → index73.js.map} +1 -1
  371. package/dist/{index74.js → index75.js} +3 -3
  372. package/dist/{index74.js.map → index75.js.map} +1 -1
  373. package/dist/index77.js +37 -120
  374. package/dist/index77.js.map +1 -1
  375. package/dist/index78.js +130 -0
  376. package/dist/index78.js.map +1 -0
  377. package/dist/index8.js +19 -7
  378. package/dist/index8.js.map +1 -1
  379. package/dist/{index79.js → index80.js} +5 -5
  380. package/dist/{index79.js.map → index80.js.map} +1 -1
  381. package/dist/{index81.js → index82.js} +7 -6
  382. package/dist/{index81.js.map → index82.js.map} +1 -1
  383. package/dist/{index83.js → index84.js} +7 -7
  384. package/dist/{index83.js.map → index84.js.map} +1 -1
  385. package/dist/{index85.js → index86.js} +3 -3
  386. package/dist/{index85.js.map → index86.js.map} +1 -1
  387. package/dist/{index87.js → index88.js} +3 -3
  388. package/dist/{index87.js.map → index88.js.map} +1 -1
  389. package/dist/index9.js +7 -78
  390. package/dist/index9.js.map +1 -1
  391. package/dist/{index89.js → index90.js} +3 -3
  392. package/dist/{index89.js.map → index90.js.map} +1 -1
  393. package/dist/{index91.js → index92.js} +3 -3
  394. package/dist/{index91.js.map → index92.js.map} +1 -1
  395. package/dist/{index93.js → index94.js} +1 -1
  396. package/dist/index94.js.map +1 -0
  397. package/dist/{index95.js → index96.js} +3 -3
  398. package/dist/{index95.js.map → index96.js.map} +1 -1
  399. package/dist/{index97.js → index98.js} +3 -3
  400. package/dist/{index97.js.map → index98.js.map} +1 -1
  401. package/dist/style.css +1 -1
  402. package/package.json +1 -1
  403. package/dist/index119.js +0 -47
  404. package/dist/index119.js.map +0 -1
  405. package/dist/index161.js.map +0 -1
  406. package/dist/index163.js +0 -6
  407. package/dist/index163.js.map +0 -1
  408. package/dist/index171.js +0 -5
  409. package/dist/index171.js.map +0 -1
  410. package/dist/index18.js.map +0 -1
  411. package/dist/index185.js.map +0 -1
  412. package/dist/index187.js +0 -6
  413. package/dist/index187.js.map +0 -1
  414. package/dist/index20.js.map +0 -1
  415. package/dist/index216.js +0 -45
  416. package/dist/index216.js.map +0 -1
  417. package/dist/index22.js.map +0 -1
  418. package/dist/index233.js +0 -6
  419. package/dist/index237.js +0 -109
  420. package/dist/index237.js.map +0 -1
  421. package/dist/index259.js.map +0 -1
  422. package/dist/index262.js +0 -6
  423. package/dist/index262.js.map +0 -1
  424. package/dist/index271.js +0 -92
  425. package/dist/index271.js.map +0 -1
  426. package/dist/index28.js.map +0 -1
  427. package/dist/index299.js +0 -50
  428. package/dist/index299.js.map +0 -1
  429. package/dist/index3.js +0 -17
  430. package/dist/index3.js.map +0 -1
  431. package/dist/index302.js +0 -50
  432. package/dist/index302.js.map +0 -1
  433. package/dist/index32.js.map +0 -1
  434. package/dist/index36.js.map +0 -1
  435. package/dist/index38.js.map +0 -1
  436. package/dist/index44.js.map +0 -1
  437. package/dist/index50.js +0 -97
  438. package/dist/index50.js.map +0 -1
  439. package/dist/index76.js +0 -47
  440. package/dist/index76.js.map +0 -1
  441. package/dist/index93.js.map +0 -1
  442. package/dist/index99.js.map +0 -1
package/dist/index5.js CHANGED
@@ -1,81 +1,43 @@
1
- import { ref as u, watch as c, reactive as x, computed as f } from "vue";
2
- import { isNil as l } from "./index124.js";
3
- let r = [];
4
- const i = u(null);
5
- c(
6
- () => i.value,
7
- () => {
8
- typeof i.value == "boolean" && (r.forEach((s) => s()), r = []);
9
- }
10
- );
11
- const o = {
12
- actions: !0,
13
- description: "",
14
- loading: !1,
15
- no: !0,
16
- noText: "",
17
- open: !1,
18
- size: "sm",
19
- text: "",
20
- theme: "default",
21
- title: "",
22
- yes: !0,
23
- yesText: ""
24
- }, d = {
25
- actions: !0,
26
- description: "",
27
- no: !0,
28
- noText: "Annulla",
29
- text: "",
30
- theme: "default",
31
- title: "",
32
- yes: !0,
33
- yesText: "OK"
34
- }, e = x({
35
- ...o
36
- }), m = f(() => [
37
- {
38
- text: e.noText,
39
- handler: () => {
40
- i.value = !1;
1
+ import { ref as i, onBeforeUnmount as h } from "vue";
2
+ const b = (l = "bitboss-ui") => {
3
+ let r = 0;
4
+ return { useBroadCastChannel: () => {
5
+ r++;
6
+ const f = i(!1), o = i(), s = {};
7
+ function d(e, n = void 0) {
8
+ o.value && o.value.postMessage({ type: e, params: n });
41
9
  }
42
- },
43
- {
44
- text: e.yesText,
45
- handler: () => {
46
- i.value = !0;
10
+ const v = () => {
11
+ r--, o.value && !r && o.value.close(), f.value = !0;
12
+ }, p = (e, n, a = {
13
+ removeonUnmount: !0
14
+ }) => {
15
+ var t;
16
+ s[e] === void 0 && (s[e] = []), (t = s[e]) == null || t.push(n), a.removeonUnmount && s[e] && h(() => {
17
+ const c = s[e], u = c.indexOf(n);
18
+ u !== -1 && c.splice(u, 1);
19
+ });
20
+ };
21
+ try {
22
+ o.value = new BroadcastChannel(l), o.value.addEventListener(
23
+ "message",
24
+ (e) => {
25
+ const n = e.data, a = s[n.type] ?? [];
26
+ "params" in n ? a.forEach((t) => t(n.params)) : a.forEach((t) => t());
27
+ },
28
+ { passive: !0 }
29
+ );
30
+ } catch (e) {
31
+ console.error(e);
47
32
  }
48
- }
49
- ]), y = () => ({
50
- /**
51
- * The confirm function. It accepts a set of options defining
52
- * the behavior of the modal and returns `Promise<boolean>`
53
- * when the user accepts, declines, or ignores the modal.
54
- */
55
- confirm: (s) => {
56
- i.value = null;
57
- const n = { ...d, ...s }, t = { ...o };
58
- return t.title = n.title, t.text = n.text, n.description && (t.description = n.description), n.noText && (t.noText = n.noText), n.yesText && (t.yesText = n.yesText), n.size && (t.size = n.size), n.theme && (t.theme = n.theme), l(n.yes) || (t.yes = !!n.yes), l(n.no) || (t.no = !!n.no), l(n.actions) || (t.actions = !!n.actions), e.actions = t.actions, e.description = t.description, e.no = t.no, e.noText = t.noText, e.open = !0, e.size = t.size, e.text = t.text, e.theme = t.theme, e.title = t.title, e.yes = t.yes, e.yesText = t.yesText, new Promise((a) => {
59
- r.push(() => a(i.value));
60
- });
61
- },
62
- /**
63
- * Sets the state of the confirm to loading and displays a spinner.
64
- */
65
- setLoading: (s = !0) => {
66
- e.loading = s;
67
- },
68
- /**
69
- * Closes the confirmation modal. It is a manual operation
70
- * so you can update the state while the modal is still open.
71
- */
72
- close: () => (e.description = o.description, e.loading = o.loading, e.noText = o.noText, e.open = o.open, e.text = o.text, e.theme = o.theme, e.title = o.title, e.yesText = o.yesText, i.value = !1, Promise.resolve().then(() => {
73
- i.value = null;
74
- }))
75
- });
33
+ return {
34
+ on: p,
35
+ post: d,
36
+ close: v
37
+ };
38
+ } };
39
+ };
76
40
  export {
77
- m as actions,
78
- e as state,
79
- y as useConfirm
41
+ b as useBroadcastChannelInstance
80
42
  };
81
43
  //# sourceMappingURL=index5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index5.js","sources":["../src/composables/useConfirm.ts"],"sourcesContent":["import { computed, reactive, ref, watch } from 'vue';\nimport { isNil } from '@/utilities/functions/isNil';\nimport type { Sizes } from '@/components/BaseDialog/BaseDialog.vue';\n\ntype State = {\n\tdescription: string;\n\ttheme: string;\n\tloading: boolean;\n\tnoText: string;\n\topen: boolean;\n\ttext: string;\n\ttitle: string;\n\tyesText: string;\n\tyes: boolean;\n\tno: boolean;\n\tactions: boolean;\n\tsize: keyof Sizes;\n};\n\ntype UserOptions = {\n\t/**\n\t * Boolean that sets whether to display or hide the buttons.\n\t * Confirms without actions can only be dismissed by clicking on the overlay or the close button.\n\t */\n\tactions?: State['actions'];\n\t/**\n\t * Description of the content of the modal for accessibility purposes.\n\t */\n\tdescription?: State['description'];\n\t/**\n\t * Boolean that defines whether to display or hide the \"No\" action.\n\t */\n\tno?: State['no'];\n\t/**\n\t * Text content of the \"No\" action.\n\t */\n\tnoText?: State['noText'];\n\t/**\n\t * Text content of the modal.\n\t */\n\ttext: State['text'];\n\t/**\n\t * The name of the theme it applies a css class to BbConfirm for styling.\n\t */\n\ttheme?: State['theme'];\n\t/**\n\t * Tittle of the modal\n\t */\n\ttitle: State['title'];\n\t/**\n\t * Boolean that defines whether to display or hide the \"Yes\" action.\n\t */\n\tyes?: State['yes'];\n\t/**\n\t * Text content of the \"Yes\" action.\n\t */\n\tyesText?: State['yesText'];\n\t/**\n\t * Size of the confirm modal. Use any sizes valid for `BbModal`.\n\t */\n\tsize?: State['size'];\n};\n\n// Stash all instances of current dialogs\nlet subscribers: ((...args: any[]) => any)[] = [];\n\nconst value = ref<boolean | null>(null);\n\nwatch(\n\t() => value.value,\n\t() => {\n\t\tif (typeof value.value === 'boolean') {\n\t\t\t// Every time a dialog is resolved resolve all dialogs\n\t\t\tsubscribers.forEach((fn) => fn());\n\t\t\tsubscribers = [];\n\t\t}\n\t}\n);\n\nconst defaultState: State = {\n\tactions: true,\n\tdescription: '',\n\tloading: false,\n\tno: true,\n\tnoText: '',\n\topen: false,\n\tsize: 'sm',\n\ttext: '',\n\ttheme: 'default',\n\ttitle: '',\n\tyes: true,\n\tyesText: '',\n};\nconst defaultOption: UserOptions = {\n\tactions: true,\n\tdescription: '',\n\tno: true,\n\tnoText: 'Annulla',\n\ttext: '',\n\ttheme: 'default',\n\ttitle: '',\n\tyes: true,\n\tyesText: 'OK',\n};\n\nexport const state = reactive<State>({\n\t...defaultState,\n});\n\nexport const actions = computed(() => [\n\t{\n\t\ttext: state.noText,\n\t\thandler: () => {\n\t\t\tvalue.value = false;\n\t\t},\n\t},\n\t{\n\t\ttext: state.yesText,\n\t\thandler: () => {\n\t\t\tvalue.value = true;\n\t\t},\n\t},\n]);\n\nexport const useConfirm = () => {\n\treturn {\n\t\t/**\n\t\t * The confirm function. It accepts a set of options defining\n\t\t * the behavior of the modal and returns `Promise<boolean>`\n\t\t * when the user accepts, declines, or ignores the modal.\n\t\t */\n\t\tconfirm: (options: UserOptions) => {\n\t\t\tvalue.value = null;\n\t\t\tconst newOptions = { ...defaultOption, ...options };\n\t\t\tconst newState = { ...defaultState };\n\t\t\tnewState.title = newOptions.title;\n\t\t\tnewState.text = newOptions.text;\n\t\t\tif (newOptions.description) newState.description = newOptions.description;\n\t\t\tif (newOptions.noText) newState.noText = newOptions.noText;\n\t\t\tif (newOptions.yesText) newState.yesText = newOptions.yesText;\n\t\t\tif (newOptions.size) newState.size = newOptions.size;\n\t\t\tif (newOptions.theme) newState.theme = newOptions.theme;\n\t\t\tif (!isNil(newOptions.yes)) newState.yes = !!newOptions.yes;\n\t\t\tif (!isNil(newOptions.no)) newState.no = !!newOptions.no;\n\t\t\tif (!isNil(newOptions.actions)) newState.actions = !!newOptions.actions;\n\n\t\t\tstate.actions = newState.actions;\n\t\t\tstate.description = newState.description;\n\t\t\tstate.no = newState.no;\n\t\t\tstate.noText = newState.noText;\n\t\t\tstate.open = true;\n\t\t\tstate.size = newState.size;\n\t\t\tstate.text = newState.text;\n\t\t\tstate.theme = newState.theme;\n\t\t\tstate.title = newState.title;\n\t\t\tstate.yes = newState.yes;\n\t\t\tstate.yesText = newState.yesText;\n\n\t\t\treturn new Promise<boolean>((resolve) => {\n\t\t\t\tsubscribers.push(() => resolve(value.value as boolean));\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Sets the state of the confirm to loading and displays a spinner.\n\t\t */\n\t\tsetLoading: (value: boolean = true) => {\n\t\t\tstate.loading = value;\n\t\t},\n\t\t/**\n\t\t * Closes the confirmation modal. It is a manual operation\n\t\t * so you can update the state while the modal is still open.\n\t\t */\n\t\tclose: () => {\n\t\t\tstate.description = defaultState.description;\n\t\t\tstate.loading = defaultState.loading;\n\t\t\tstate.noText = defaultState.noText;\n\t\t\tstate.open = defaultState.open;\n\t\t\tstate.text = defaultState.text;\n\t\t\tstate.theme = defaultState.theme;\n\t\t\tstate.title = defaultState.title;\n\t\t\tstate.yesText = defaultState.yesText;\n\t\t\tvalue.value = false;\n\t\t\treturn Promise.resolve().then(() => {\n\t\t\t\tvalue.value = null;\n\t\t\t});\n\t\t},\n\t};\n};\n"],"names":["subscribers","value","ref","watch","fn","defaultState","defaultOption","state","reactive","actions","computed","useConfirm","options","newOptions","newState","isNil","resolve"],"mappings":";;AAgEA,IAAIA,IAA2C,CAAA;AAE/C,MAAMC,IAAQC,EAAoB,IAAI;AAEtCC;AAAA,EACC,MAAMF,EAAM;AAAA,EACZ,MAAM;AACD,IAAA,OAAOA,EAAM,SAAU,cAE1BD,EAAY,QAAQ,CAACI,MAAOA,EAAI,CAAA,GAChCJ,IAAc,CAAA;AAAA,EAEhB;AACD;AAEA,MAAMK,IAAsB;AAAA,EAC3B,SAAS;AAAA,EACT,aAAa;AAAA,EACb,SAAS;AAAA,EACT,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,KAAK;AAAA,EACL,SAAS;AACV,GACMC,IAA6B;AAAA,EAClC,SAAS;AAAA,EACT,aAAa;AAAA,EACb,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,KAAK;AAAA,EACL,SAAS;AACV,GAEaC,IAAQC,EAAgB;AAAA,EACpC,GAAGH;AACJ,CAAC,GAEYI,IAAUC,EAAS,MAAM;AAAA,EACrC;AAAA,IACC,MAAMH,EAAM;AAAA,IACZ,SAAS,MAAM;AACd,MAAAN,EAAM,QAAQ;AAAA,IACf;AAAA,EACD;AAAA,EACA;AAAA,IACC,MAAMM,EAAM;AAAA,IACZ,SAAS,MAAM;AACd,MAAAN,EAAM,QAAQ;AAAA,IACf;AAAA,EACD;AACD,CAAC,GAEYU,IAAa,OAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMN,SAAS,CAACC,MAAyB;AAClC,IAAAX,EAAM,QAAQ;AACd,UAAMY,IAAa,EAAE,GAAGP,GAAe,GAAGM,EAAQ,GAC5CE,IAAW,EAAE,GAAGT;AACtB,WAAAS,EAAS,QAAQD,EAAW,OAC5BC,EAAS,OAAOD,EAAW,MACvBA,EAAW,gBAAsBC,EAAA,cAAcD,EAAW,cAC1DA,EAAW,WAAiBC,EAAA,SAASD,EAAW,SAChDA,EAAW,YAAkBC,EAAA,UAAUD,EAAW,UAClDA,EAAW,SAAeC,EAAA,OAAOD,EAAW,OAC5CA,EAAW,UAAgBC,EAAA,QAAQD,EAAW,QAC7CE,EAAMF,EAAW,GAAG,MAAYC,EAAA,MAAM,CAAC,CAACD,EAAW,MACnDE,EAAMF,EAAW,EAAE,MAAYC,EAAA,KAAK,CAAC,CAACD,EAAW,KACjDE,EAAMF,EAAW,OAAO,MAAYC,EAAA,UAAU,CAAC,CAACD,EAAW,UAEhEN,EAAM,UAAUO,EAAS,SACzBP,EAAM,cAAcO,EAAS,aAC7BP,EAAM,KAAKO,EAAS,IACpBP,EAAM,SAASO,EAAS,QACxBP,EAAM,OAAO,IACbA,EAAM,OAAOO,EAAS,MACtBP,EAAM,OAAOO,EAAS,MACtBP,EAAM,QAAQO,EAAS,OACvBP,EAAM,QAAQO,EAAS,OACvBP,EAAM,MAAMO,EAAS,KACrBP,EAAM,UAAUO,EAAS,SAElB,IAAI,QAAiB,CAACE,MAAY;AACxC,MAAAhB,EAAY,KAAK,MAAMgB,EAAQf,EAAM,KAAgB,CAAC;AAAA,IAAA,CACtD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,YAAY,CAACA,IAAiB,OAAS;AACtC,IAAAM,EAAM,UAAUN;AAAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,OACNM,EAAM,cAAcF,EAAa,aACjCE,EAAM,UAAUF,EAAa,SAC7BE,EAAM,SAASF,EAAa,QAC5BE,EAAM,OAAOF,EAAa,MAC1BE,EAAM,OAAOF,EAAa,MAC1BE,EAAM,QAAQF,EAAa,OAC3BE,EAAM,QAAQF,EAAa,OAC3BE,EAAM,UAAUF,EAAa,SAC7BJ,EAAM,QAAQ,IACP,QAAQ,UAAU,KAAK,MAAM;AACnC,IAAAA,EAAM,QAAQ;AAAA,EAAA,CACd;AACF;"}
1
+ {"version":3,"file":"index5.js","sources":["../src/composables/useBroadcastChannelInstance.ts"],"sourcesContent":["import { onBeforeUnmount, ref } from 'vue';\n\ntype MessageMap = { [key: string]: any };\n\ntype Message<T extends MessageMap> = {\n\t[Name in keyof T]: T[Name] extends void\n\t\t? { type: Name }\n\t\t: { type: Name; params: T[Name] };\n}[keyof T];\n\nexport const useBroadcastChannelInstance = <T extends MessageMap>(\n\tname = 'bitboss-ui'\n) => {\n\tlet instances = 0;\n\tconst useBroadCastChannel = () => {\n\t\tinstances++;\n\n\t\tconst isClosed = ref(false);\n\t\tconst channel = ref<BroadcastChannel | undefined>();\n\t\tconst subscribers: Partial<Record<keyof T, ((...args: any[]) => any)[]>> =\n\t\t\t{};\n\n\t\tfunction post<Key extends keyof T>(message: Key, params: T[Key]): void;\n\t\tfunction post<Key extends keyof T>(message: Key, params?: never): void;\n\t\tfunction post(message: keyof T, params: any = undefined) {\n\t\t\tif (channel.value) channel.value.postMessage({ type: message, params });\n\t\t}\n\n\t\tconst close = () => {\n\t\t\tinstances--;\n\t\t\tif (channel.value && !instances) {\n\t\t\t\tchannel.value.close();\n\t\t\t}\n\t\t\tisClosed.value = true;\n\t\t};\n\n\t\tconst on = <Key extends keyof T>(\n\t\t\tmessage: Key,\n\t\t\tfn: T[Key] extends void ? () => any : (arg: T[Key]) => any,\n\t\t\toptions: {\n\t\t\t\tremoveonUnmount: boolean;\n\t\t\t} = {\n\t\t\t\tremoveonUnmount: true,\n\t\t\t}\n\t\t) => {\n\t\t\tif (subscribers[message] === undefined) subscribers[message] = [];\n\n\t\t\tsubscribers[message]?.push(fn);\n\t\t\tif (options.removeonUnmount && subscribers[message]) {\n\t\t\t\tonBeforeUnmount(() => {\n\t\t\t\t\tconst arr = subscribers[message]!;\n\t\t\t\t\tconst indexOfFn = arr.indexOf(fn);\n\t\t\t\t\tif (indexOfFn !== -1) {\n\t\t\t\t\t\tarr.splice(indexOfFn, 1);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\ttry {\n\t\t\tchannel.value = new BroadcastChannel(name);\n\n\t\t\tchannel.value.addEventListener(\n\t\t\t\t'message',\n\t\t\t\t(e: MessageEvent) => {\n\t\t\t\t\tconst data = e.data as Message<T>;\n\t\t\t\t\tconst subs = subscribers[data.type] ?? [];\n\t\t\t\t\tif ('params' in data) {\n\t\t\t\t\t\tsubs.forEach((s) => s(data.params));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsubs.forEach((s) => s());\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ passive: true }\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\n\t\treturn {\n\t\t\ton,\n\t\t\tpost,\n\t\t\tclose,\n\t\t};\n\t};\n\treturn { useBroadCastChannel };\n};\n"],"names":["useBroadcastChannelInstance","name","instances","isClosed","ref","channel","subscribers","post","message","params","close","on","fn","options","_a","onBeforeUnmount","arr","indexOfFn","data","subs","s","error"],"mappings":";AAUa,MAAAA,IAA8B,CAC1CC,IAAO,iBACH;AACJ,MAAIC,IAAY;AAwEhB,SAAO,EAAE,qBAvEmB,MAAM;AACjC,IAAAA;AAEM,UAAAC,IAAWC,EAAI,EAAK,GACpBC,IAAUD,KACVE,IACL,CAAA;AAIQ,aAAAC,EAAKC,GAAkBC,IAAc,QAAW;AACpD,MAAAJ,EAAQ,SAAeA,EAAA,MAAM,YAAY,EAAE,MAAMG,GAAS,QAAAC,EAAA,CAAQ;AAAA,IACvE;AAEA,UAAMC,IAAQ,MAAM;AACnB,MAAAR,KACIG,EAAQ,SAAS,CAACH,KACrBG,EAAQ,MAAM,SAEfF,EAAS,QAAQ;AAAA,IAAA,GAGZQ,IAAK,CACVH,GACAI,GACAC,IAEI;AAAA,MACH,iBAAiB;AAAA,IAAA,MAEd;;AACJ,MAAIP,EAAYE,CAAO,MAAM,WAAuBF,EAAAE,CAAO,IAAI,MAEnDM,IAAAR,EAAAE,CAAO,MAAP,QAAAM,EAAU,KAAKF,IACvBC,EAAQ,mBAAmBP,EAAYE,CAAO,KACjDO,EAAgB,MAAM;AACf,cAAAC,IAAMV,EAAYE,CAAO,GACzBS,IAAYD,EAAI,QAAQJ,CAAE;AAChC,QAAIK,MAAc,MACbD,EAAA,OAAOC,GAAW,CAAC;AAAA,MACxB,CACA;AAAA,IACF;AAGG,QAAA;AACK,MAAAZ,EAAA,QAAQ,IAAI,iBAAiBJ,CAAI,GAEzCI,EAAQ,MAAM;AAAA,QACb;AAAA,QACA,CAAC,MAAoB;AACpB,gBAAMa,IAAO,EAAE,MACTC,IAAOb,EAAYY,EAAK,IAAI,KAAK,CAAA;AACvC,UAAI,YAAYA,IACfC,EAAK,QAAQ,CAACC,MAAMA,EAAEF,EAAK,MAAM,CAAC,IAElCC,EAAK,QAAQ,CAACC,MAAMA,EAAG,CAAA;AAAA,QAEzB;AAAA,QACA,EAAE,SAAS,GAAK;AAAA,MAAA;AAAA,aAETC,GAAO;AACf,cAAQ,MAAMA,CAAK;AAAA,IACpB;AAEO,WAAA;AAAA,MACN,IAAAV;AAAA,MACA,MAAAJ;AAAA,MACA,OAAAG;AAAA,IAAA;AAAA,EACD,EAE4B;AAC9B;"}
@@ -0,0 +1,95 @@
1
+ import { defineComponent as h, ref as f, watch as v, openBlock as s, createBlock as a, normalizeClass as k, withCtx as C, createElementVNode as t, createCommentVNode as i, renderSlot as n, normalizeProps as r, guardReactiveProps as c, createTextVNode as d, toDisplayString as m, createElementBlock as w } from "vue";
2
+ import V from "./index121.js";
3
+ /* empty css */
4
+ import y from "./index122.js";
5
+ /* empty css */
6
+ const z = {
7
+ class: "bb-alert__inner-container",
8
+ role: "alert"
9
+ }, B = { class: "bb-alert__icon-container" }, g = { class: "bb-alert__content" }, $ = { class: "bb-alert__title" }, L = {
10
+ key: 0,
11
+ class: "bb-alert__close"
12
+ }, S = ["aria-label"], N = /* @__PURE__ */ t("svg", {
13
+ fill: "none",
14
+ viewBox: "0 0 24 24",
15
+ xmlns: "http://www.w3.org/2000/svg"
16
+ }, [
17
+ /* @__PURE__ */ t("path", {
18
+ d: "M23 23L1 1M23 1L1 23",
19
+ stroke: "currentColor",
20
+ "stroke-linecap": "round",
21
+ "stroke-width": "2"
22
+ })
23
+ ], -1), E = [
24
+ N
25
+ ], M = { class: "bb-alert__text" }, q = /* @__PURE__ */ h({
26
+ __name: "BbAlert",
27
+ props: {
28
+ closeLabel: { default: "Chiudi" },
29
+ showClose: { type: Boolean },
30
+ text: {},
31
+ theme: { default: "default" },
32
+ title: {},
33
+ icon: {},
34
+ iconSize: {},
35
+ modelValue: {}
36
+ },
37
+ emits: ["update:modelValue"],
38
+ setup(u, { emit: _ }) {
39
+ const l = u, b = _, o = f(
40
+ l.modelValue === void 0 ? !0 : !!l.modelValue
41
+ );
42
+ v(
43
+ () => l.modelValue,
44
+ (e) => {
45
+ o.value !== !!e && (o.value = !!e);
46
+ }
47
+ );
48
+ const p = () => {
49
+ o.value = !1, b("update:modelValue", !1);
50
+ };
51
+ return (e, P) => (s(), a(V, {
52
+ class: k(["bb-alert", { [`bb-alert--${e.theme}`]: e.theme }]),
53
+ "model-value": o.value
54
+ }, {
55
+ default: C(() => [
56
+ t("div", z, [
57
+ t("div", B, [
58
+ e.icon ? (s(), a(y, {
59
+ key: 0,
60
+ class: "bb-alert__icon",
61
+ size: e.iconSize,
62
+ type: e.icon
63
+ }, null, 8, ["size", "type"])) : i("", !0)
64
+ ]),
65
+ t("div", g, [
66
+ t("div", $, [
67
+ n(e.$slots, "title", r(c({ text: e.title })), () => [
68
+ d(m(e.title), 1)
69
+ ]),
70
+ e.showClose ? (s(), w("div", L, [
71
+ t("button", {
72
+ "aria-label": e.closeLabel,
73
+ block: "",
74
+ class: "bb-alert__close-btn",
75
+ type: "button",
76
+ onClick: p
77
+ }, E, 8, S)
78
+ ])) : i("", !0)
79
+ ]),
80
+ t("p", M, [
81
+ n(e.$slots, "text", r(c({ text: e.text })), () => [
82
+ d(m(e.text), 1)
83
+ ])
84
+ ])
85
+ ])
86
+ ])
87
+ ]),
88
+ _: 3
89
+ }, 8, ["class", "model-value"]));
90
+ }
91
+ });
92
+ export {
93
+ q as default
94
+ };
95
+ //# sourceMappingURL=index51.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index51.js","sources":["../src/components/BbAlert/BbAlert.vue"],"sourcesContent":["<template>\n\t<BbCollapsible\n\t\tclass=\"bb-alert\"\n\t\t:class=\"{ [`bb-alert--${theme}`]: theme }\"\n\t\t:model-value=\"innerValue\"\n\t>\n\t\t<div class=\"bb-alert__inner-container\" role=\"alert\">\n\t\t\t<div class=\"bb-alert__icon-container\">\n\t\t\t\t<BbIcon\n\t\t\t\t\tv-if=\"icon\"\n\t\t\t\t\tclass=\"bb-alert__icon\"\n\t\t\t\t\t:size=\"iconSize\"\n\t\t\t\t\t:type=\"icon\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div class=\"bb-alert__content\">\n\t\t\t\t<div class=\"bb-alert__title\">\n\t\t\t\t\t<slot name=\"title\" v-bind=\"{ text: title }\">{{ title }}</slot>\n\t\t\t\t\t<div v-if=\"showClose\" class=\"bb-alert__close\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t:aria-label=\"closeLabel\"\n\t\t\t\t\t\t\tblock\n\t\t\t\t\t\t\tclass=\"bb-alert__close-btn\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t@click=\"onClickClose\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\td=\"M23 23L1 1M23 1L1 23\"\n\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<p class=\"bb-alert__text\">\n\t\t\t\t\t<slot name=\"text\" v-bind=\"{ text: text }\">{{ text }}</slot>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</BbCollapsible>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport BbCollapsible from '../BbCollapsible/BbCollapsible.vue';\nimport BbIcon from '../BbIcon/BbIcon.vue';\nimport type { BbIconProps } from '../BbIcon/BbIcon.vue';\nimport type { CommonProps } from '@/types/CommonProps';\n\nexport type BbAlertProps = Pick<\n\tCommonProps,\n\t'closeLabel' | 'showClose' | 'text' | 'theme' | 'title'\n> & {\n\t/**\n\t * Name of the icon to use\n\t */\n\ticon?: BbIconProps['type'];\n\t/**\n\t * Size of the icon to use\n\t */\n\ticonSize?: BbIconProps['size'];\n\t/**\n\t * Used by v-model, set type to any to avoid Vue casting it as false\n\t */\n\tmodelValue?: any;\n};\n\nconst props = withDefaults(defineProps<BbAlertProps>(), {\n\tcloseLabel: 'Chiudi',\n\ttheme: 'default',\n});\n\nexport type BbAlertEvents = {\n\t(e: 'update:modelValue', value: boolean): void;\n};\nconst emit = defineEmits<BbAlertEvents>();\n\ndefineSlots<{\n\ttitle?: (props: { text: BbAlertProps['title'] }) => any;\n\ttext?: (props: { text: BbAlertProps['title'] }) => any;\n}>();\n\nconst innerValue = ref(\n\tprops.modelValue === undefined ? true : !!props.modelValue\n);\n\nwatch(\n\t() => props.modelValue,\n\t(value) => {\n\t\tif (innerValue.value !== !!value) {\n\t\t\tinnerValue.value = !!value;\n\t\t}\n\t}\n);\n\nconst onClickClose = () => {\n\tinnerValue.value = false;\n\temit('update:modelValue', false);\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbAlert';\n</style>\n"],"names":["props","__props","emit","__emit","innerValue","ref","watch","value","onClickClose"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2EA,UAAMA,IAAQC,GAQRC,IAAOC,GAOPC,IAAaC;AAAA,MAClBL,EAAM,eAAe,SAAY,KAAO,CAAC,CAACA,EAAM;AAAA,IAAA;AAGjD,IAAAM;AAAA,MACC,MAAMN,EAAM;AAAA,MACZ,CAACO,MAAU;AACV,QAAIH,EAAW,UAAU,CAAC,CAACG,MACfH,EAAA,QAAQ,CAAC,CAACG;AAAA,MAEvB;AAAA,IAAA;AAGD,UAAMC,IAAe,MAAM;AAC1B,MAAAJ,EAAW,QAAQ,IACnBF,EAAK,qBAAqB,EAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as z, computed as b, ref as o, onMounted as g, openBlock as l, createElementBlock as i, normalizeProps as h, guardReactiveProps as k, renderSlot as y } from "vue";
2
- import { isCssColor as _ } from "./index201.js";
3
- import { wait as C } from "./index126.js";
2
+ import { isCssColor as _ } from "./index200.js";
3
+ import { wait as C } from "./index127.js";
4
4
  const w = ["alt", "sizes", "src", "srcset"], B = {
5
5
  key: 1,
6
6
  class: "bb-avatar__fallback"
@@ -66,4 +66,4 @@ const w = ["alt", "sizes", "src", "srcset"], B = {
66
66
  export {
67
67
  P as default
68
68
  };
69
- //# sourceMappingURL=index52.js.map
69
+ //# sourceMappingURL=index53.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index52.js","sources":["../src/components/BbAvatar/BbAvatar.vue"],"sourcesContent":["<template>\n\t<span v-bind=\"attributes\">\n\t\t<img\n\t\t\tv-if=\"(src || srcset) && !imageErrored\"\n\t\t\tref=\"image\"\n\t\t\t:alt=\"alt\"\n\t\t\t:sizes=\"sizes\"\n\t\t\t:src=\"src\"\n\t\t\t:srcset=\"srcset\"\n\t\t\t@error=\"onError\"\n\t\t\t@load=\"onLoad\"\n\t\t/>\n\t\t<span v-else class=\"bb-avatar__fallback\">\n\t\t\t<slot></slot>\n\t\t</span>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, type ImgHTMLAttributes, onMounted } from 'vue';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport type { Classes } from '@/types/Classes';\nimport type { CommonProps } from '@/types/CommonProps';\nimport type { BbIconProps, Size } from '../BbIcon/BbIcon.vue';\nimport { wait } from '@/utilities/functions/wait';\n\nexport type BbAvatarProps = Pick<CommonProps, 'color'> &\n\tPick<BbIconProps, 'size'> & {\n\t\talt?: ImgHTMLAttributes['alt'];\n\t\tsrc?: ImgHTMLAttributes['src'];\n\t\tsrcset?: ImgHTMLAttributes['srcset'];\n\t\tsizes?: ImgHTMLAttributes['sizes'];\n\t\ttimeout?: number;\n\t};\n\nconst props = withDefaults(defineProps<BbAvatarProps>(), {\n\ttimeout: 400,\n});\n\ndefineSlots<{\n\tdefault?: (props: object) => any;\n}>();\n\nconst sizeMap: Size = {\n\txs: 24,\n\tsm: 32,\n\tmd: 40,\n\tlg: 56,\n\txl: 80,\n\txxl: 104,\n};\n\nconst attributes = computed(() => {\n\tconst classes: Classes = {\n\t\t'bb-avatar': true,\n\t};\n\tlet dimension: any;\n\tif (props.size) {\n\t\tif (typeof props.size === 'string') {\n\t\t\tdimension = sizeMap[props.size as keyof Size] ?? parseInt(props.size, 10);\n\t\t} else {\n\t\t\tdimension = props.size;\n\t\t}\n\t\tdimension += `px`;\n\t}\n\n\tlet style: { [key: string]: any } = {\n\t\twidth: dimension,\n\t\theight: dimension,\n\t};\n\tif (props.color) {\n\t\tif (isCssColor(props.color)) {\n\t\t\tstyle.backgroundColor = props.color;\n\t\t} else {\n\t\t\tclasses[`bb-avatar--${props.color}`] = true;\n\t\t}\n\t}\n\treturn {\n\t\tclass: classes,\n\t\tstyle,\n\t};\n});\n\nconst imageHasLoadedCorrectly = (img: HTMLImageElement) => {\n\tif (!img) return false;\n\t// During the onload event, IE correctly identifies any images that\n\t// weren’t downloaded as not complete. Others should too. Gecko-based\n\t// browsers act like NS4 in that they report this incorrectly.\n\tif (!img.complete) {\n\t\treturn false;\n\t}\n\n\t// However, they do have two very useful properties: naturalWidth and\n\t// naturalHeight. These give the true size of the image. If it failed\n\t// to load, either of these should be zero.\n\tif (img.naturalWidth === 0) {\n\t\treturn false;\n\t}\n\n\t// No other way of checking: assume it’s ok.\n\treturn true;\n};\n\nconst image = ref<HTMLImageElement | null>();\nconst imageLoaded = ref(false);\nconst imageErrored = ref(false);\n\nonMounted(async () => {\n\t// Only run when events don't fire (when the page is SSR)\n\tif (!imageErrored.value && !imageLoaded.value) {\n\t\tif (image.value) {\n\t\t\tawait wait(props.timeout);\n\t\t\timageErrored.value = !imageHasLoadedCorrectly(image.value);\n\t\t}\n\t}\n});\nconst onLoad = () => {\n\timageLoaded.value = true;\n};\nconst onError = () => {\n\timageErrored.value = true;\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbAvatar';\n</style>\n"],"names":["props","__props","sizeMap","attributes","computed","classes","dimension","style","isCssColor","imageHasLoadedCorrectly","img","image","ref","imageLoaded","imageErrored","onMounted","wait","onLoad","onError"],"mappings":";;;;;;;;;;;;;;;;;;AAmCA,UAAMA,IAAQC,GAQRC,IAAgB;AAAA,MACrB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IAAA,GAGAC,IAAaC,EAAS,MAAM;AACjC,YAAMC,IAAmB;AAAA,QACxB,aAAa;AAAA,MAAA;AAEV,UAAAC;AACJ,MAAIN,EAAM,SACL,OAAOA,EAAM,QAAS,WACzBM,IAAYJ,EAAQF,EAAM,IAAkB,KAAK,SAASA,EAAM,MAAM,EAAE,IAExEM,IAAYN,EAAM,MAENM,KAAA;AAGd,UAAIC,IAAgC;AAAA,QACnC,OAAOD;AAAA,QACP,QAAQA;AAAA,MAAA;AAET,aAAIN,EAAM,UACLQ,EAAWR,EAAM,KAAK,IACzBO,EAAM,kBAAkBP,EAAM,QAE9BK,EAAQ,cAAcL,EAAM,KAAK,EAAE,IAAI,KAGlC;AAAA,QACN,OAAOK;AAAA,QACP,OAAAE;AAAA,MAAA;AAAA,IACD,CACA,GAEKE,IAA0B,CAACC,MAC5B,GAACA,KAID,CAACA,EAAI,YAOLA,EAAI,iBAAiB,IAQpBC,IAAQC,KACRC,IAAcD,EAAI,EAAK,GACvBE,IAAeF,EAAI,EAAK;AAE9B,IAAAG,EAAU,YAAY;AAErB,MAAI,CAACD,EAAa,SAAS,CAACD,EAAY,SACnCF,EAAM,UACH,MAAAK,EAAKhB,EAAM,OAAO,GACxBc,EAAa,QAAQ,CAACL,EAAwBE,EAAM,KAAK;AAAA,IAE3D,CACA;AACD,UAAMM,IAAS,MAAM;AACpB,MAAAJ,EAAY,QAAQ;AAAA,IAAA,GAEfK,IAAU,MAAM;AACrB,MAAAJ,EAAa,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index53.js","sources":["../src/components/BbAvatar/BbAvatar.vue"],"sourcesContent":["<template>\n\t<span v-bind=\"attributes\">\n\t\t<img\n\t\t\tv-if=\"(src || srcset) && !imageErrored\"\n\t\t\tref=\"image\"\n\t\t\t:alt=\"alt\"\n\t\t\t:sizes=\"sizes\"\n\t\t\t:src=\"src\"\n\t\t\t:srcset=\"srcset\"\n\t\t\t@error=\"onError\"\n\t\t\t@load=\"onLoad\"\n\t\t/>\n\t\t<span v-else class=\"bb-avatar__fallback\">\n\t\t\t<slot></slot>\n\t\t</span>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, type ImgHTMLAttributes, onMounted } from 'vue';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport type { Classes } from '@/types/Classes';\nimport type { CommonProps } from '@/types/CommonProps';\nimport type { BbIconProps, Size } from '../BbIcon/BbIcon.vue';\nimport { wait } from '@/utilities/functions/wait';\n\nexport type BbAvatarProps = Pick<CommonProps, 'color'> &\n\tPick<BbIconProps, 'size'> & {\n\t\talt?: ImgHTMLAttributes['alt'];\n\t\tsrc?: ImgHTMLAttributes['src'];\n\t\tsrcset?: ImgHTMLAttributes['srcset'];\n\t\tsizes?: ImgHTMLAttributes['sizes'];\n\t\ttimeout?: number;\n\t};\n\nconst props = withDefaults(defineProps<BbAvatarProps>(), {\n\ttimeout: 400,\n});\n\ndefineSlots<{\n\tdefault?: (props: object) => any;\n}>();\n\nconst sizeMap: Size = {\n\txs: 24,\n\tsm: 32,\n\tmd: 40,\n\tlg: 56,\n\txl: 80,\n\txxl: 104,\n};\n\nconst attributes = computed(() => {\n\tconst classes: Classes = {\n\t\t'bb-avatar': true,\n\t};\n\tlet dimension: any;\n\tif (props.size) {\n\t\tif (typeof props.size === 'string') {\n\t\t\tdimension = sizeMap[props.size as keyof Size] ?? parseInt(props.size, 10);\n\t\t} else {\n\t\t\tdimension = props.size;\n\t\t}\n\t\tdimension += `px`;\n\t}\n\n\tlet style: { [key: string]: any } = {\n\t\twidth: dimension,\n\t\theight: dimension,\n\t};\n\tif (props.color) {\n\t\tif (isCssColor(props.color)) {\n\t\t\tstyle.backgroundColor = props.color;\n\t\t} else {\n\t\t\tclasses[`bb-avatar--${props.color}`] = true;\n\t\t}\n\t}\n\treturn {\n\t\tclass: classes,\n\t\tstyle,\n\t};\n});\n\nconst imageHasLoadedCorrectly = (img: HTMLImageElement) => {\n\tif (!img) return false;\n\t// During the onload event, IE correctly identifies any images that\n\t// weren’t downloaded as not complete. Others should too. Gecko-based\n\t// browsers act like NS4 in that they report this incorrectly.\n\tif (!img.complete) {\n\t\treturn false;\n\t}\n\n\t// However, they do have two very useful properties: naturalWidth and\n\t// naturalHeight. These give the true size of the image. If it failed\n\t// to load, either of these should be zero.\n\tif (img.naturalWidth === 0) {\n\t\treturn false;\n\t}\n\n\t// No other way of checking: assume it’s ok.\n\treturn true;\n};\n\nconst image = ref<HTMLImageElement | null>();\nconst imageLoaded = ref(false);\nconst imageErrored = ref(false);\n\nonMounted(async () => {\n\t// Only run when events don't fire (when the page is SSR)\n\tif (!imageErrored.value && !imageLoaded.value) {\n\t\tif (image.value) {\n\t\t\tawait wait(props.timeout);\n\t\t\timageErrored.value = !imageHasLoadedCorrectly(image.value);\n\t\t}\n\t}\n});\nconst onLoad = () => {\n\timageLoaded.value = true;\n};\nconst onError = () => {\n\timageErrored.value = true;\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbAvatar';\n</style>\n"],"names":["props","__props","sizeMap","attributes","computed","classes","dimension","style","isCssColor","imageHasLoadedCorrectly","img","image","ref","imageLoaded","imageErrored","onMounted","wait","onLoad","onError"],"mappings":";;;;;;;;;;;;;;;;;;AAmCA,UAAMA,IAAQC,GAQRC,IAAgB;AAAA,MACrB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IAAA,GAGAC,IAAaC,EAAS,MAAM;AACjC,YAAMC,IAAmB;AAAA,QACxB,aAAa;AAAA,MAAA;AAEV,UAAAC;AACJ,MAAIN,EAAM,SACL,OAAOA,EAAM,QAAS,WACzBM,IAAYJ,EAAQF,EAAM,IAAkB,KAAK,SAASA,EAAM,MAAM,EAAE,IAExEM,IAAYN,EAAM,MAENM,KAAA;AAGd,UAAIC,IAAgC;AAAA,QACnC,OAAOD;AAAA,QACP,QAAQA;AAAA,MAAA;AAET,aAAIN,EAAM,UACLQ,EAAWR,EAAM,KAAK,IACzBO,EAAM,kBAAkBP,EAAM,QAE9BK,EAAQ,cAAcL,EAAM,KAAK,EAAE,IAAI,KAGlC;AAAA,QACN,OAAOK;AAAA,QACP,OAAAE;AAAA,MAAA;AAAA,IACD,CACA,GAEKE,IAA0B,CAACC,MAC5B,GAACA,KAID,CAACA,EAAI,YAOLA,EAAI,iBAAiB,IAQpBC,IAAQC,KACRC,IAAcD,EAAI,EAAK,GACvBE,IAAeF,EAAI,EAAK;AAE9B,IAAAG,EAAU,YAAY;AAErB,MAAI,CAACD,EAAa,SAAS,CAACD,EAAY,SACnCF,EAAM,UACH,MAAAK,EAAKhB,EAAM,OAAO,GACxBc,EAAa,QAAQ,CAACL,EAAwBE,EAAM,KAAK;AAAA,IAE3D,CACA;AACD,UAAMM,IAAS,MAAM;AACpB,MAAAJ,EAAY,QAAQ;AAAA,IAAA,GAEfK,IAAU,MAAM;AACrB,MAAAJ,EAAa,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as p, useSlots as d, computed as n, openBlock as m, createElementBlock as u, normalizeClass as g, createElementVNode as s, renderSlot as l, mergeProps as f, createTextVNode as _, toDisplayString as y } from "vue";
2
- import { isCssColor as r } from "./index201.js";
3
- import { isNil as B } from "./index124.js";
2
+ import { isCssColor as r } from "./index200.js";
3
+ import { isNil as B } from "./index125.js";
4
4
  const C = { class: "bb-badge__wrapper" }, h = { class: "bb-badge__content-inner" }, S = /* @__PURE__ */ p({
5
5
  __name: "BbBadge",
6
6
  props: {
@@ -47,4 +47,4 @@ const C = { class: "bb-badge__wrapper" }, h = { class: "bb-badge__content-inner"
47
47
  export {
48
48
  S as default
49
49
  };
50
- //# sourceMappingURL=index54.js.map
50
+ //# sourceMappingURL=index55.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index54.js","sources":["../src/components/BbBadge/BbBadge.vue"],"sourcesContent":["<template>\n\t<span :class=\"classes\">\n\t\t<span class=\"bb-badge__wrapper\">\n\t\t\t<slot></slot>\n\t\t\t<span class=\"bb-badge__content-container\" v-bind=\"contentAttributes\">\n\t\t\t\t<span class=\"bb-badge__content-inner\"\n\t\t\t\t\t><slot name=\"content\">{{ content }}</slot></span\n\t\t\t\t>\n\t\t\t</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, useSlots } from 'vue';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport { isNil } from '@/utilities/functions/isNil';\nimport type { CommonProps } from '@/types/CommonProps';\n\nconst slots = useSlots();\n\nexport type BbBadgeProps = Pick<CommonProps, 'color'> & {\n\t/**\n\t * Displays the badge on the bottom of the wrapped component.\n\t */\n\tbottom?: boolean;\n\t/**\n\t * Text content of the badge\n\t */\n\tcontent?: string | number | null;\n\t/**\n\t * Renders the badge i little further from the wrapped\n\t * component making it look like it's floating\n\t * and not stacked.\n\t */\n\tfloating?: boolean;\n\t/**\n\t * Displays the badge on the left of the wrapped component.\n\t */\n\tleft?: boolean;\n};\n\nconst props = withDefaults(defineProps<BbBadgeProps>(), {});\n\ndefineSlots<{\n\tdefault?: (props: object) => any;\n\tcontent?: (props: object) => any;\n}>();\n\nconst classes = computed(() => {\n\treturn {\n\t\t'bb-badge': true,\n\t\t'bb-badge--bottom': props.bottom,\n\t\t'bb-badge--left': props.left,\n\t\t'bb-badge--positioned': slots.default,\n\t\t'bb-badge--floating': props.floating,\n\t\t'bb-badge--empty': isNil(props.content),\n\t\t[`bb-badge--${props.color}`]: props.color && !isCssColor(props.color),\n\t};\n});\n\nconst contentAttributes = computed(() => {\n\tlet style: Record<string, string> = {};\n\tif (props.color && isCssColor(props.color)) {\n\t\tstyle.backgroundColor = props.color;\n\t}\n\n\tlet accessibilityAttributes: Record<string, string | boolean> = {};\n\tif (slots.wrap) {\n\t\taccessibilityAttributes['aria-atomic'] = true;\n\t\taccessibilityAttributes['aria-live'] = 'polite';\n\t\taccessibilityAttributes['role'] = 'status';\n\t}\n\treturn {\n\t\tstyle,\n\t\t...accessibilityAttributes,\n\t};\n});\n</script>\n<style lang=\"postcss\">\n@import '@/assets/css/BbBadge';\n</style>\n"],"names":["slots","useSlots","props","__props","classes","computed","isNil","isCssColor","contentAttributes","style","accessibilityAttributes"],"mappings":";;;;;;;;;;;;;AAmBA,UAAMA,IAAQC,KAuBRC,IAAQC,GAORC,IAAUC,EAAS,OACjB;AAAA,MACN,YAAY;AAAA,MACZ,oBAAoBH,EAAM;AAAA,MAC1B,kBAAkBA,EAAM;AAAA,MACxB,wBAAwBF,EAAM;AAAA,MAC9B,sBAAsBE,EAAM;AAAA,MAC5B,mBAAmBI,EAAMJ,EAAM,OAAO;AAAA,MACtC,CAAC,aAAaA,EAAM,KAAK,EAAE,GAAGA,EAAM,SAAS,CAACK,EAAWL,EAAM,KAAK;AAAA,IAAA,EAErE,GAEKM,IAAoBH,EAAS,MAAM;AACxC,UAAII,IAAgC,CAAA;AACpC,MAAIP,EAAM,SAASK,EAAWL,EAAM,KAAK,MACxCO,EAAM,kBAAkBP,EAAM;AAG/B,UAAIQ,IAA4D,CAAA;AAChE,aAAIV,EAAM,SACTU,EAAwB,aAAa,IAAI,IACzCA,EAAwB,WAAW,IAAI,UACvCA,EAAwB,OAAU,WAE5B;AAAA,QACN,OAAAD;AAAA,QACA,GAAGC;AAAA,MAAA;AAAA,IACJ,CACA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index55.js","sources":["../src/components/BbBadge/BbBadge.vue"],"sourcesContent":["<template>\n\t<span :class=\"classes\">\n\t\t<span class=\"bb-badge__wrapper\">\n\t\t\t<slot></slot>\n\t\t\t<span class=\"bb-badge__content-container\" v-bind=\"contentAttributes\">\n\t\t\t\t<span class=\"bb-badge__content-inner\"\n\t\t\t\t\t><slot name=\"content\">{{ content }}</slot></span\n\t\t\t\t>\n\t\t\t</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, useSlots } from 'vue';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport { isNil } from '@/utilities/functions/isNil';\nimport type { CommonProps } from '@/types/CommonProps';\n\nconst slots = useSlots();\n\nexport type BbBadgeProps = Pick<CommonProps, 'color'> & {\n\t/**\n\t * Displays the badge on the bottom of the wrapped component.\n\t */\n\tbottom?: boolean;\n\t/**\n\t * Text content of the badge\n\t */\n\tcontent?: string | number | null;\n\t/**\n\t * Renders the badge i little further from the wrapped\n\t * component making it look like it's floating\n\t * and not stacked.\n\t */\n\tfloating?: boolean;\n\t/**\n\t * Displays the badge on the left of the wrapped component.\n\t */\n\tleft?: boolean;\n};\n\nconst props = withDefaults(defineProps<BbBadgeProps>(), {});\n\ndefineSlots<{\n\tdefault?: (props: object) => any;\n\tcontent?: (props: object) => any;\n}>();\n\nconst classes = computed(() => {\n\treturn {\n\t\t'bb-badge': true,\n\t\t'bb-badge--bottom': props.bottom,\n\t\t'bb-badge--left': props.left,\n\t\t'bb-badge--positioned': slots.default,\n\t\t'bb-badge--floating': props.floating,\n\t\t'bb-badge--empty': isNil(props.content),\n\t\t[`bb-badge--${props.color}`]: props.color && !isCssColor(props.color),\n\t};\n});\n\nconst contentAttributes = computed(() => {\n\tlet style: Record<string, string> = {};\n\tif (props.color && isCssColor(props.color)) {\n\t\tstyle.backgroundColor = props.color;\n\t}\n\n\tlet accessibilityAttributes: Record<string, string | boolean> = {};\n\tif (slots.wrap) {\n\t\taccessibilityAttributes['aria-atomic'] = true;\n\t\taccessibilityAttributes['aria-live'] = 'polite';\n\t\taccessibilityAttributes['role'] = 'status';\n\t}\n\treturn {\n\t\tstyle,\n\t\t...accessibilityAttributes,\n\t};\n});\n</script>\n<style lang=\"postcss\">\n@import '@/assets/css/BbBadge';\n</style>\n"],"names":["slots","useSlots","props","__props","classes","computed","isNil","isCssColor","contentAttributes","style","accessibilityAttributes"],"mappings":";;;;;;;;;;;;;AAmBA,UAAMA,IAAQC,KAuBRC,IAAQC,GAORC,IAAUC,EAAS,OACjB;AAAA,MACN,YAAY;AAAA,MACZ,oBAAoBH,EAAM;AAAA,MAC1B,kBAAkBA,EAAM;AAAA,MACxB,wBAAwBF,EAAM;AAAA,MAC9B,sBAAsBE,EAAM;AAAA,MAC5B,mBAAmBI,EAAMJ,EAAM,OAAO;AAAA,MACtC,CAAC,aAAaA,EAAM,KAAK,EAAE,GAAGA,EAAM,SAAS,CAACK,EAAWL,EAAM,KAAK;AAAA,IAAA,EAErE,GAEKM,IAAoBH,EAAS,MAAM;AACxC,UAAII,IAAgC,CAAA;AACpC,MAAIP,EAAM,SAASK,EAAWL,EAAM,KAAK,MACxCO,EAAM,kBAAkBP,EAAM;AAG/B,UAAIQ,IAA4D,CAAA;AAChE,aAAIV,EAAM,SACTU,EAAwB,aAAa,IAAI,IACzCA,EAAwB,WAAW,IAAI,UACvCA,EAAwB,OAAU,WAE5B;AAAA,QACN,OAAAD;AAAA,QACA,GAAGC;AAAA,MAAA;AAAA,IACJ,CACA;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as n, openBlock as a, createElementBlock as t, Fragment as b, renderList as m, createElementVNode as l, renderSlot as r, createVNode as p, mergeProps as u, withCtx as c, createTextVNode as f, toDisplayString as _ } from "vue";
2
- import h from "./index12.js";
2
+ import h from "./index13.js";
3
3
  /* empty css */
4
4
  const B = {
5
5
  "aria-label": "Breadcrumbs",
@@ -60,4 +60,4 @@ const B = {
60
60
  export {
61
61
  V as default
62
62
  };
63
- //# sourceMappingURL=index56.js.map
63
+ //# sourceMappingURL=index57.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index56.js","sources":["../src/components/BbBreadcrumbs/BbBreadcrumbs.vue"],"sourcesContent":["<template>\n\t<nav aria-label=\"Breadcrumbs\" class=\"bb-breadcrumbs\">\n\t\t<template v-for=\"(item, index) in items\" :key=\"item.key\">\n\t\t\t<span class=\"bb-breadcrumbs__breadcrumb-container\">\n\t\t\t\t<slot\n\t\t\t\t\t:disabled=\"!!(item.disabled || disabled)\"\n\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t:item=\"items[index]\"\n\t\t\t\t\t:name=\"`item:prepend`\"\n\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t></slot>\n\t\t\t\t<BaseButton\n\t\t\t\t\tv-bind=\"item\"\n\t\t\t\t\tclass=\"bb-breadcrumbs__breadcrumb\"\n\t\t\t\t\t:disabled=\"item.disabled || disabled\"\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t:disabled=\"!!(item.disabled || disabled)\"\n\t\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t\t:item=\"items[index]\"\n\t\t\t\t\t\t:name=\"`${item.key}`\"\n\t\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t\t></slot>\n\t\t\t\t</BaseButton>\n\t\t\t\t<slot\n\t\t\t\t\t:disabled=\"!!(item.disabled || disabled)\"\n\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t:item=\"items[index]\"\n\t\t\t\t\t:name=\"`item:append`\"\n\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t></slot>\n\t\t\t</span>\n\t\t\t<span aria-hidden=\"true\" class=\"bb-breadcrumbs__divider\"\n\t\t\t\t><slot name=\"divider\">{{ props.divider }}</slot></span\n\t\t\t>\n\t\t</template>\n\t</nav>\n</template>\n\n<script setup lang=\"ts\">\nimport type { CommonProps } from '@/types/CommonProps';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport type { BaseButtonProps } from '../BaseButton/BaseButton.vue';\n\nexport type Item = Omit<BaseButtonProps, 'block' | 'tag' | 'type'> & {\n\t/**\n\t * Click handler of the button\n\t */\n\tonClick?: (...args: any[]) => any;\n\t/**\n\t * Key that uniquely identifies the breadcrumb\n\t */\n\tkey: string | number;\n};\n\nexport type BbBreadcrumbsProps = Pick<CommonProps, 'disabled'> & {\n\t/**\n\t * Array of items that describe how the breadcrumbs\n\t * should behave. It is compatible with navigating\n\t * through `a` or `router-link`.\n\t */\n\titems: Item[];\n\t/**\n\t * Text content of the divider\n\t */\n\tdivider?: string;\n};\n\nconst props = withDefaults(defineProps<BbBreadcrumbsProps>(), {\n\tdivider: '/',\n});\n\ndefineSlots<\n\t{\n\t\t'item:prepend'?: (props: {\n\t\t\tdisabled: boolean;\n\t\t\tindex: number;\n\t\t\titem: Item;\n\t\t\ttext?: string;\n\t\t}) => any;\n\t\t'item:append'?: (props: {\n\t\t\tdisabled: boolean;\n\t\t\tindex: number;\n\t\t\titem: Item;\n\t\t\ttext?: string;\n\t\t}) => any;\n\t\tdivider?: (props: object) => any;\n\t} & {\n\t\t[key: string]: (props: {\n\t\t\tdisabled: boolean;\n\t\t\tindex: number;\n\t\t\titem: Item;\n\t\t\ttext?: string;\n\t\t}) => any;\n\t}\n>();\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbBreadcrumbs';\n</style>\n"],"names":["props","__props"],"mappings":";;;;;;;;;;;;;;;;;AAoEA,UAAMA,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index57.js","sources":["../src/components/BbBreadcrumbs/BbBreadcrumbs.vue"],"sourcesContent":["<template>\n\t<nav aria-label=\"Breadcrumbs\" class=\"bb-breadcrumbs\">\n\t\t<template v-for=\"(item, index) in items\" :key=\"item.key\">\n\t\t\t<span class=\"bb-breadcrumbs__breadcrumb-container\">\n\t\t\t\t<slot\n\t\t\t\t\t:disabled=\"!!(item.disabled || disabled)\"\n\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t:item=\"items[index]\"\n\t\t\t\t\t:name=\"`item:prepend`\"\n\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t></slot>\n\t\t\t\t<BaseButton\n\t\t\t\t\tv-bind=\"item\"\n\t\t\t\t\tclass=\"bb-breadcrumbs__breadcrumb\"\n\t\t\t\t\t:disabled=\"item.disabled || disabled\"\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t:disabled=\"!!(item.disabled || disabled)\"\n\t\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t\t:item=\"items[index]\"\n\t\t\t\t\t\t:name=\"`${item.key}`\"\n\t\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t\t></slot>\n\t\t\t\t</BaseButton>\n\t\t\t\t<slot\n\t\t\t\t\t:disabled=\"!!(item.disabled || disabled)\"\n\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t:item=\"items[index]\"\n\t\t\t\t\t:name=\"`item:append`\"\n\t\t\t\t\t:text=\"item.text\"\n\t\t\t\t></slot>\n\t\t\t</span>\n\t\t\t<span aria-hidden=\"true\" class=\"bb-breadcrumbs__divider\"\n\t\t\t\t><slot name=\"divider\">{{ props.divider }}</slot></span\n\t\t\t>\n\t\t</template>\n\t</nav>\n</template>\n\n<script setup lang=\"ts\">\nimport type { CommonProps } from '@/types/CommonProps';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport type { BaseButtonProps } from '../BaseButton/BaseButton.vue';\n\nexport type Item = Omit<BaseButtonProps, 'block' | 'tag' | 'type'> & {\n\t/**\n\t * Click handler of the button\n\t */\n\tonClick?: (...args: any[]) => any;\n\t/**\n\t * Key that uniquely identifies the breadcrumb\n\t */\n\tkey: string | number;\n};\n\nexport type BbBreadcrumbsProps = Pick<CommonProps, 'disabled'> & {\n\t/**\n\t * Array of items that describe how the breadcrumbs\n\t * should behave. It is compatible with navigating\n\t * through `a` or `router-link`.\n\t */\n\titems: Item[];\n\t/**\n\t * Text content of the divider\n\t */\n\tdivider?: string;\n};\n\nconst props = withDefaults(defineProps<BbBreadcrumbsProps>(), {\n\tdivider: '/',\n});\n\ndefineSlots<\n\t{\n\t\t'item:prepend'?: (props: {\n\t\t\tdisabled: boolean;\n\t\t\tindex: number;\n\t\t\titem: Item;\n\t\t\ttext?: string;\n\t\t}) => any;\n\t\t'item:append'?: (props: {\n\t\t\tdisabled: boolean;\n\t\t\tindex: number;\n\t\t\titem: Item;\n\t\t\ttext?: string;\n\t\t}) => any;\n\t\tdivider?: (props: object) => any;\n\t} & {\n\t\t[key: string]: (props: {\n\t\t\tdisabled: boolean;\n\t\t\tindex: number;\n\t\t\titem: Item;\n\t\t\ttext?: string;\n\t\t}) => any;\n\t}\n>();\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbBreadcrumbs';\n</style>\n"],"names":["props","__props"],"mappings":";;;;;;;;;;;;;;;;;AAoEA,UAAMA,IAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,17 +1,18 @@
1
1
  import { defineComponent as f, ref as g, computed as c, useAttrs as v, toRef as B, openBlock as n, createBlock as a, unref as d, mergeProps as k, withCtx as h, createVNode as C, createCommentVNode as l, createElementVNode as L, renderSlot as S, createTextVNode as x, toDisplayString as A, createElementBlock as V } from "vue";
2
2
  /* empty css */
3
- import F from "./index12.js";
3
+ /* empty css */
4
+ import F from "./index13.js";
4
5
  /* empty css */
5
- import r from "./index121.js";
6
+ import r from "./index122.js";
6
7
  /* empty css */
7
- import N from "./index123.js";
8
+ import N from "./index124.js";
8
9
  /* empty css */
9
10
  import { pickBy as $ } from "./index241.js";
10
11
  import { noop as P } from "./index242.js";
11
12
  const T = { class: "bb-button__content" }, W = {
12
13
  key: 2,
13
14
  class: "bb-button__loading-label"
14
- }, I = /* @__PURE__ */ f({
15
+ }, J = /* @__PURE__ */ f({
15
16
  inheritAttrs: !1,
16
17
  __name: "BbButton",
17
18
  props: {
@@ -108,6 +109,6 @@ const T = { class: "bb-button__content" }, W = {
108
109
  }
109
110
  });
110
111
  export {
111
- I as default
112
+ J as default
112
113
  };
113
- //# sourceMappingURL=index58.js.map
114
+ //# sourceMappingURL=index59.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index58.js","sources":["../src/components/BbButton/BbButton.vue"],"sourcesContent":["<template>\n\t<BaseButton\n\t\tv-bind=\"propsToPass\"\n\t\t:aria-disabled=\"loading ? true : undefined\"\n\t\t:class=\"{\n\t\t\t'bb-button': true,\n\t\t\t'bb-button--loading': loading,\n\t\t\t'bb-button--icon': !!icon,\n\t\t}\"\n\t\t:disabled=\"disabled\"\n\t\t:tabindex=\"loading ? -1 : undefined\"\n\t\t@click=\"onClick\"\n\t>\n\t\t<BbSpinner class=\"bb-button__spinner\" />\n\t\t<BbIcon\n\t\t\tv-if=\"props['icon']\"\n\t\t\tclass=\"bb-button__icon\"\n\t\t\t:type=\"props['icon']\"\n\t\t/>\n\t\t<BbIcon\n\t\t\tv-else-if=\"props['prepend:icon']\"\n\t\t\tclass=\"bb-button__prepend-icon\"\n\t\t\t:type=\"props['prepend:icon']\"\n\t\t/>\n\t\t<span class=\"bb-button__content\"\n\t\t\t><slot>{{ text }}</slot></span\n\t\t>\n\t\t<span v-if=\"loading\" class=\"bb-button__loading-label\">caricamento</span>\n\n\t\t<BbIcon\n\t\t\tv-if=\"!icon && props['append:icon']\"\n\t\t\tclass=\"bb-button__append-icon\"\n\t\t\t:type=\"props['append:icon']\"\n\t\t/>\n\t</BaseButton>\n</template>\n\n<script setup lang=\"ts\">\nimport { BaseButton, BbSpinner } from '@/index';\nimport type { RouteLocationRaw } from 'vue-router';\nimport BbIcon from '../BbIcon/BbIcon.vue';\nimport { computed, ref, toRef, useAttrs } from 'vue';\nimport { pickBy } from '@/utilities/functions/pickBy';\nimport { noop } from '@/utilities/functions/noop';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nexport type BbButtonProps = {\n\t/**\n\t * Tracks tha loading status internally.\n\t */\n\tautoLoading?: boolean;\n\t/**\n\t * Class to apply when the link is active\n\t */\n\tactiveClass?: string;\n\n\t/**\n\t * Value passed to the attribute `aria-current` when the link is exact active.\n\t *\n\t * @defaultValue `'page'`\n\t */\n\tariaCurrentValue?:\n\t\t| 'page'\n\t\t| 'step'\n\t\t| 'location'\n\t\t| 'date'\n\t\t| 'time'\n\t\t| 'true'\n\t\t| 'false';\n\t/**\n\t * Icon to be added on the right of the text\n\t */\n\t// eslint-disable-next-line vue/prop-name-casing\n\t'append:icon'?: string;\n\t/**\n\t * Displays the component as full width.\n\t */\n\tblock?: boolean;\n\n\tdata?: object;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Disables the click handler while the component is loading.\n\t */\n\tdisabledWhileLoading?: boolean;\n\n\t/**\n\t * Class to apply when the link is exact active\n\t */\n\texactActiveClass?: string;\n\n\theaders?: object;\n\n\t/**\n\t * Returns the hyperlink's URL.\n\t *\n\t * Can be set, to change the URL.\n\t */\n\thref?: HTMLAnchorElement['href'];\n\t/**\n\t * Used when only an icon with no text should be displayed\n\t */\n\ticon?: string;\n\n\t/**\n\t * Triggers a loading indicator\n\t */\n\tloading?: boolean;\n\n\tmethod?: 'get' | 'post' | 'put' | 'patch' | 'delete';\n\n\tonBefore?: () => void;\n\n\tonCancel?: () => void;\n\n\tonCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void;\n\n\tonFinish?: () => void;\n\n\tonly?: string[];\n\n\tonProgress?: (progress: { percentage: number | undefined }) => void;\n\n\tonStart?: () => void;\n\n\tonSuccess?: () => void;\n\n\t/**\n\t * Icon to be added on the left of the text\n\t */\n\t// eslint-disable-next-line vue/prop-name-casing\n\t'prepend:icon'?: string;\n\n\tpreserveScroll?: boolean | ((props: { [key: string]: unknown }) => boolean);\n\n\tpreserveState?:\n\t\t| boolean\n\t\t| ((props: { [key: string]: unknown }) => boolean)\n\t\t| null;\n\n\tqueryStringArrayFormat?: 'brackets' | 'indices';\n\n\t/**\n\t * Sets or retrieves the relationship between the object and the destination of the link.\n\t */\n\trel?: HTMLAnchorElement['rel'];\n\n\t/**\n\t * Calls `router.replace` instead of `router.push`.\n\t */\n\treplace?: boolean;\n\n\t/**\n\t * Any HTML tag corresponding to a non-void HTMl element.\n\t */\n\ttag?: string;\n\n\t/**\n\t * Sets or retrieves the window or frame at which to target content.\n\t */\n\ttarget?: HTMLAnchorElement['target'];\n\n\t/**\n\t * Text content of the component.\n\t */\n\ttext?: string;\n\n\t/**\n\t * Route Location the link should navigate to when clicked on.\n\t */\n\tto?: RouteLocationRaw;\n\n\t/**\n\t * Gets the classification and default behavior of the button.\n\t */\n\ttype?: HTMLButtonElement['type'];\n};\nconst props = withDefaults(defineProps<BbButtonProps>(), {\n\tautoLoading: true,\n\tdisabledWhileLoading: true,\n});\n\ndefineSlots<{\n\tdefault?: (props: object) => any;\n}>();\n\nconst internalLoading = ref(0);\n\nconst loading = computed(\n\t() => props.loading || (!!internalLoading.value && props.autoLoading)\n);\n\nconst disabled = computed(() => props.disabled);\n\nconst { onClick: baseOnClick = noop, ...restAttrs } = useAttrs();\n\nconst onClick = async (...args: any[]) => {\n\tif (loading.value && props.disabledWhileLoading) return;\n\tinternalLoading.value++;\n\tawait (<(...args: any[]) => any>baseOnClick)(...args);\n\tinternalLoading.value--;\n};\n\nconst propsToPass = toRef(() => ({\n\t...pickBy(\n\t\tprops,\n\t\t(_, key) =>\n\t\t\t![\n\t\t\t\t'append:icon',\n\t\t\t\t'disabled',\n\t\t\t\t'autoLoading',\n\t\t\t\t'disabledWhileLoading',\n\t\t\t\t'icon',\n\t\t\t\t'loading',\n\t\t\t\t'prepend:icon',\n\t\t\t].includes(key)\n\t),\n\t...restAttrs,\n}));\n</script>\n<style lang=\"postcss\">\n@import '@/assets/css/BbButton';\n</style>\n"],"names":["props","__props","internalLoading","ref","loading","computed","disabled","baseOnClick","noop","restAttrs","useAttrs","onClick","args","propsToPass","toRef","pickBy","_","key"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyLA,UAAMA,IAAQC,GASRC,IAAkBC,EAAI,CAAC,GAEvBC,IAAUC;AAAA,MACf,MAAML,EAAM,WAAY,CAAC,CAACE,EAAgB,SAASF,EAAM;AAAA,IAAA,GAGpDM,IAAWD,EAAS,MAAML,EAAM,QAAQ,GAExC,EAAE,SAASO,IAAcC,GAAM,GAAGC,EAAA,IAAcC,KAEhDC,IAAU,UAAUC,MAAgB;AACrC,MAAAR,EAAQ,SAASJ,EAAM,yBACXE,EAAA,SACgB,MAAAK,EAAa,GAAGK,CAAI,GACpCV,EAAA;AAAA,IAAA,GAGXW,IAAcC,EAAM,OAAO;AAAA,MAChC,GAAGC;AAAA,QACFf;AAAA,QACA,CAACgB,GAAGC,MACH,CAAC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,EACC,SAASA,CAAG;AAAA,MAChB;AAAA,MACA,GAAGR;AAAA,IACF,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index59.js","sources":["../src/components/BbButton/BbButton.vue"],"sourcesContent":["<template>\n\t<BaseButton\n\t\tv-bind=\"propsToPass\"\n\t\t:aria-disabled=\"loading ? true : undefined\"\n\t\t:class=\"{\n\t\t\t'bb-button': true,\n\t\t\t'bb-button--loading': loading,\n\t\t\t'bb-button--icon': !!icon,\n\t\t}\"\n\t\t:disabled=\"disabled\"\n\t\t:tabindex=\"loading ? -1 : undefined\"\n\t\t@click=\"onClick\"\n\t>\n\t\t<BbSpinner class=\"bb-button__spinner\" />\n\t\t<BbIcon\n\t\t\tv-if=\"props['icon']\"\n\t\t\tclass=\"bb-button__icon\"\n\t\t\t:type=\"props['icon']\"\n\t\t/>\n\t\t<BbIcon\n\t\t\tv-else-if=\"props['prepend:icon']\"\n\t\t\tclass=\"bb-button__prepend-icon\"\n\t\t\t:type=\"props['prepend:icon']\"\n\t\t/>\n\t\t<span class=\"bb-button__content\"\n\t\t\t><slot>{{ text }}</slot></span\n\t\t>\n\t\t<span v-if=\"loading\" class=\"bb-button__loading-label\">caricamento</span>\n\n\t\t<BbIcon\n\t\t\tv-if=\"!icon && props['append:icon']\"\n\t\t\tclass=\"bb-button__append-icon\"\n\t\t\t:type=\"props['append:icon']\"\n\t\t/>\n\t</BaseButton>\n</template>\n\n<script setup lang=\"ts\">\nimport { BaseButton, BbSpinner } from '@/index';\nimport type { RouteLocationRaw } from 'vue-router';\nimport BbIcon from '../BbIcon/BbIcon.vue';\nimport { computed, ref, toRef, useAttrs } from 'vue';\nimport { pickBy } from '@/utilities/functions/pickBy';\nimport { noop } from '@/utilities/functions/noop';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nexport type BbButtonProps = {\n\t/**\n\t * Tracks tha loading status internally.\n\t */\n\tautoLoading?: boolean;\n\t/**\n\t * Class to apply when the link is active\n\t */\n\tactiveClass?: string;\n\n\t/**\n\t * Value passed to the attribute `aria-current` when the link is exact active.\n\t *\n\t * @defaultValue `'page'`\n\t */\n\tariaCurrentValue?:\n\t\t| 'page'\n\t\t| 'step'\n\t\t| 'location'\n\t\t| 'date'\n\t\t| 'time'\n\t\t| 'true'\n\t\t| 'false';\n\t/**\n\t * Icon to be added on the right of the text\n\t */\n\t// eslint-disable-next-line vue/prop-name-casing\n\t'append:icon'?: string;\n\t/**\n\t * Displays the component as full width.\n\t */\n\tblock?: boolean;\n\n\tdata?: object;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Disables the click handler while the component is loading.\n\t */\n\tdisabledWhileLoading?: boolean;\n\n\t/**\n\t * Class to apply when the link is exact active\n\t */\n\texactActiveClass?: string;\n\n\theaders?: object;\n\n\t/**\n\t * Returns the hyperlink's URL.\n\t *\n\t * Can be set, to change the URL.\n\t */\n\thref?: HTMLAnchorElement['href'];\n\t/**\n\t * Used when only an icon with no text should be displayed\n\t */\n\ticon?: string;\n\n\t/**\n\t * Triggers a loading indicator\n\t */\n\tloading?: boolean;\n\n\tmethod?: 'get' | 'post' | 'put' | 'patch' | 'delete';\n\n\tonBefore?: () => void;\n\n\tonCancel?: () => void;\n\n\tonCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void;\n\n\tonFinish?: () => void;\n\n\tonly?: string[];\n\n\tonProgress?: (progress: { percentage: number | undefined }) => void;\n\n\tonStart?: () => void;\n\n\tonSuccess?: () => void;\n\n\t/**\n\t * Icon to be added on the left of the text\n\t */\n\t// eslint-disable-next-line vue/prop-name-casing\n\t'prepend:icon'?: string;\n\n\tpreserveScroll?: boolean | ((props: { [key: string]: unknown }) => boolean);\n\n\tpreserveState?:\n\t\t| boolean\n\t\t| ((props: { [key: string]: unknown }) => boolean)\n\t\t| null;\n\n\tqueryStringArrayFormat?: 'brackets' | 'indices';\n\n\t/**\n\t * Sets or retrieves the relationship between the object and the destination of the link.\n\t */\n\trel?: HTMLAnchorElement['rel'];\n\n\t/**\n\t * Calls `router.replace` instead of `router.push`.\n\t */\n\treplace?: boolean;\n\n\t/**\n\t * Any HTML tag corresponding to a non-void HTMl element.\n\t */\n\ttag?: string;\n\n\t/**\n\t * Sets or retrieves the window or frame at which to target content.\n\t */\n\ttarget?: HTMLAnchorElement['target'];\n\n\t/**\n\t * Text content of the component.\n\t */\n\ttext?: string;\n\n\t/**\n\t * Route Location the link should navigate to when clicked on.\n\t */\n\tto?: RouteLocationRaw;\n\n\t/**\n\t * Gets the classification and default behavior of the button.\n\t */\n\ttype?: HTMLButtonElement['type'];\n};\nconst props = withDefaults(defineProps<BbButtonProps>(), {\n\tautoLoading: true,\n\tdisabledWhileLoading: true,\n});\n\ndefineSlots<{\n\tdefault?: (props: object) => any;\n}>();\n\nconst internalLoading = ref(0);\n\nconst loading = computed(\n\t() => props.loading || (!!internalLoading.value && props.autoLoading)\n);\n\nconst disabled = computed(() => props.disabled);\n\nconst { onClick: baseOnClick = noop, ...restAttrs } = useAttrs();\n\nconst onClick = async (...args: any[]) => {\n\tif (loading.value && props.disabledWhileLoading) return;\n\tinternalLoading.value++;\n\tawait (<(...args: any[]) => any>baseOnClick)(...args);\n\tinternalLoading.value--;\n};\n\nconst propsToPass = toRef(() => ({\n\t...pickBy(\n\t\tprops,\n\t\t(_, key) =>\n\t\t\t![\n\t\t\t\t'append:icon',\n\t\t\t\t'disabled',\n\t\t\t\t'autoLoading',\n\t\t\t\t'disabledWhileLoading',\n\t\t\t\t'icon',\n\t\t\t\t'loading',\n\t\t\t\t'prepend:icon',\n\t\t\t].includes(key)\n\t),\n\t...restAttrs,\n}));\n</script>\n<style lang=\"postcss\">\n@import '@/assets/css/BbButton';\n</style>\n"],"names":["props","__props","internalLoading","ref","loading","computed","disabled","baseOnClick","noop","restAttrs","useAttrs","onClick","args","propsToPass","toRef","pickBy","_","key"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyLA,UAAMA,IAAQC,GASRC,IAAkBC,EAAI,CAAC,GAEvBC,IAAUC;AAAA,MACf,MAAML,EAAM,WAAY,CAAC,CAACE,EAAgB,SAASF,EAAM;AAAA,IAAA,GAGpDM,IAAWD,EAAS,MAAML,EAAM,QAAQ,GAExC,EAAE,SAASO,IAAcC,GAAM,GAAGC,EAAA,IAAcC,KAEhDC,IAAU,UAAUC,MAAgB;AACrC,MAAAR,EAAQ,SAASJ,EAAM,yBACXE,EAAA,SACgB,MAAAK,EAAa,GAAGK,CAAI,GACpCV,EAAA;AAAA,IAAA,GAGXW,IAAcC,EAAM,OAAO;AAAA,MAChC,GAAGC;AAAA,QACFf;AAAA,QACA,CAACgB,GAAGC,MACH,CAAC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,EACC,SAASA,CAAG;AAAA,MAChB;AAAA,MACA,GAAGR;AAAA,IACF,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index6.js CHANGED
@@ -1,65 +1,81 @@
1
- import { getAsPercentage as p } from "./index125.js";
2
- import { wait as w } from "./index126.js";
3
- import { ref as c, computed as o, onBeforeUnmount as H } from "vue";
4
- const Y = ({
5
- duration: t,
6
- onStart: f,
7
- onFinish: i,
8
- onStop: s
9
- }) => {
10
- if (!t)
11
- throw new Error("You must define a duration for the coundown");
12
- const e = c(t), u = c(0), M = o(() => p(u.value, t)), m = 100, r = c(!1), n = c(!1);
13
- let a;
14
- const I = () => {
15
- u.value === t || r.value && !n.value || (f && f(), n.value = !1, r.value = !0, a = setInterval(() => {
16
- e.value = Math.max(e.value - m, 0), u.value = Math.min(u.value + m, t), e.value === 0 && w(0).then(() => {
17
- clearInterval(a), r.value = !1, s && s(), i && i();
18
- });
19
- }, m));
20
- }, d = () => {
21
- A(), I();
22
- }, A = () => {
23
- a && clearInterval(a), n.value || s && s(), e.value = t, u.value = 0, r.value = !1, n.value = !1;
24
- }, g = () => {
25
- a && clearInterval(a), n.value || s && s(), n.value = !0;
26
- }, y = o(() => {
27
- const l = Math.trunc(e.value / 864e5), v = Math.trunc((e.value - l * 864e5) / 36e5), h = Math.trunc(
28
- (e.value - v * 36e5 - l * 864e5) / 6e4
29
- ), D = Math.trunc(
30
- (e.value - h * 6e4 - v * 36e5 - l * 864e5) / 1e3
31
- );
32
- return {
33
- days: l,
34
- hours: v,
35
- minutes: h,
36
- seconds: D
37
- };
38
- });
39
- return H(() => clearInterval(a)), {
40
- /** Elapsed milliseconds since starting the timer */
41
- elapsed: o(() => u.value),
42
- /** Remaining milliseconds */
43
- remaining: o(() => e.value),
44
- /** Remaining as a formatted object for display */
45
- remainingFormatted: y,
46
- /** Percentage of elapsed time against duration */
47
- progress: M,
48
- /** Starts the timer */
49
- start: I,
50
- /** Reset the timer to intiial state and starts again */
51
- restart: d,
52
- /** Pauses the timer */
53
- pause: g,
54
- /** Reset the timer to initial state, if the timer is running it is stopped */
55
- reset: A,
56
- /** Boolean, is the timer running (paused doesn't change running state) */
57
- running: r,
58
- /** Boolean is the timer paused */
59
- paused: n
60
- };
61
- };
1
+ import { ref as u, watch as c, reactive as x, computed as f } from "vue";
2
+ import { isNil as l } from "./index125.js";
3
+ let r = [];
4
+ const i = u(null);
5
+ c(
6
+ () => i.value,
7
+ () => {
8
+ typeof i.value == "boolean" && (r.forEach((s) => s()), r = []);
9
+ }
10
+ );
11
+ const o = {
12
+ actions: !0,
13
+ description: "",
14
+ loading: !1,
15
+ no: !0,
16
+ noText: "",
17
+ open: !1,
18
+ size: "sm",
19
+ text: "",
20
+ theme: "default",
21
+ title: "",
22
+ yes: !0,
23
+ yesText: ""
24
+ }, d = {
25
+ actions: !0,
26
+ description: "",
27
+ no: !0,
28
+ noText: "Annulla",
29
+ text: "",
30
+ theme: "default",
31
+ title: "",
32
+ yes: !0,
33
+ yesText: "OK"
34
+ }, e = x({
35
+ ...o
36
+ }), m = f(() => [
37
+ {
38
+ text: e.noText,
39
+ handler: () => {
40
+ i.value = !1;
41
+ }
42
+ },
43
+ {
44
+ text: e.yesText,
45
+ handler: () => {
46
+ i.value = !0;
47
+ }
48
+ }
49
+ ]), y = () => ({
50
+ /**
51
+ * The confirm function. It accepts a set of options defining
52
+ * the behavior of the modal and returns `Promise<boolean>`
53
+ * when the user accepts, declines, or ignores the modal.
54
+ */
55
+ confirm: (s) => {
56
+ i.value = null;
57
+ const n = { ...d, ...s }, t = { ...o };
58
+ return t.title = n.title, t.text = n.text, n.description && (t.description = n.description), n.noText && (t.noText = n.noText), n.yesText && (t.yesText = n.yesText), n.size && (t.size = n.size), n.theme && (t.theme = n.theme), l(n.yes) || (t.yes = !!n.yes), l(n.no) || (t.no = !!n.no), l(n.actions) || (t.actions = !!n.actions), e.actions = t.actions, e.description = t.description, e.no = t.no, e.noText = t.noText, e.open = !0, e.size = t.size, e.text = t.text, e.theme = t.theme, e.title = t.title, e.yes = t.yes, e.yesText = t.yesText, new Promise((a) => {
59
+ r.push(() => a(i.value));
60
+ });
61
+ },
62
+ /**
63
+ * Sets the state of the confirm to loading and displays a spinner.
64
+ */
65
+ setLoading: (s = !0) => {
66
+ e.loading = s;
67
+ },
68
+ /**
69
+ * Closes the confirmation modal. It is a manual operation
70
+ * so you can update the state while the modal is still open.
71
+ */
72
+ close: () => (e.description = o.description, e.loading = o.loading, e.noText = o.noText, e.open = o.open, e.text = o.text, e.theme = o.theme, e.title = o.title, e.yesText = o.yesText, i.value = !1, Promise.resolve().then(() => {
73
+ i.value = null;
74
+ }))
75
+ });
62
76
  export {
63
- Y as useCountdown
77
+ m as actions,
78
+ e as state,
79
+ y as useConfirm
64
80
  };
65
81
  //# sourceMappingURL=index6.js.map