bitboss-ui 2.0.5 → 2.0.8

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 (431) 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 +89 -87
  4. package/dist/index.js.map +1 -1
  5. package/dist/index10.js +7 -39
  6. package/dist/index10.js.map +1 -1
  7. package/dist/index101.js +60 -87
  8. package/dist/index101.js.map +1 -1
  9. package/dist/index103.js +113 -258
  10. package/dist/index103.js.map +1 -1
  11. package/dist/index105.js +254 -388
  12. package/dist/index105.js.map +1 -1
  13. package/dist/index107.js +387 -98
  14. package/dist/index107.js.map +1 -1
  15. package/dist/index109.js +52 -48
  16. package/dist/index109.js.map +1 -1
  17. package/dist/index11.js +74 -188
  18. package/dist/index11.js.map +1 -1
  19. package/dist/index111.js +35 -34
  20. package/dist/index111.js.map +1 -1
  21. package/dist/index113.js +105 -23
  22. package/dist/index113.js.map +1 -1
  23. package/dist/index115.js +23 -156
  24. package/dist/index115.js.map +1 -1
  25. package/dist/index117.js +153 -112
  26. package/dist/index117.js.map +1 -1
  27. package/dist/index119.js +115 -39
  28. package/dist/index119.js.map +1 -1
  29. package/dist/index12.js +38 -80
  30. package/dist/index12.js.map +1 -1
  31. package/dist/index121.js +36 -40
  32. package/dist/index121.js.map +1 -1
  33. package/dist/index122.js +34 -37
  34. package/dist/index122.js.map +1 -1
  35. package/dist/index123.js +30 -21
  36. package/dist/index123.js.map +1 -1
  37. package/dist/index124.js +47 -2
  38. package/dist/index124.js.map +1 -1
  39. package/dist/index125.js +35 -21
  40. package/dist/index125.js.map +1 -1
  41. package/dist/index126.js +2 -2
  42. package/dist/index126.js.map +1 -1
  43. package/dist/index127.js +21 -312
  44. package/dist/index127.js.map +1 -1
  45. package/dist/index128.js +2 -24
  46. package/dist/index128.js.map +1 -1
  47. package/dist/index129.js +312 -2
  48. package/dist/index129.js.map +1 -1
  49. package/dist/index13.js +196 -0
  50. package/dist/index13.js.map +1 -0
  51. package/dist/index130.js +24 -5
  52. package/dist/index130.js.map +1 -1
  53. package/dist/index131.js +2 -9
  54. package/dist/index131.js.map +1 -1
  55. package/dist/index132.js +5 -6
  56. package/dist/index132.js.map +1 -1
  57. package/dist/index133.js +9 -3
  58. package/dist/index133.js.map +1 -1
  59. package/dist/index134.js +6 -3
  60. package/dist/index134.js.map +1 -1
  61. package/dist/index135.js +1 -1
  62. package/dist/index136.js +1 -1
  63. package/dist/index137.js +1 -1
  64. package/dist/index138.js +1 -1
  65. package/dist/index139.js +1 -1
  66. package/dist/index14.js +73 -121
  67. package/dist/index14.js.map +1 -1
  68. package/dist/index140.js +1 -1
  69. package/dist/index141.js +1 -1
  70. package/dist/index142.js +1 -1
  71. package/dist/index143.js +1 -1
  72. package/dist/index144.js +1 -1
  73. package/dist/index145.js +1 -1
  74. package/dist/index146.js +1 -1
  75. package/dist/index147.js +1 -1
  76. package/dist/index148.js +1 -1
  77. package/dist/index149.js +1 -1
  78. package/dist/index150.js +1 -1
  79. package/dist/index151.js +1 -1
  80. package/dist/index152.js +1 -1
  81. package/dist/index153.js +1 -1
  82. package/dist/index154.js +1 -1
  83. package/dist/index155.js +1 -1
  84. package/dist/index156.js +1 -1
  85. package/dist/index157.js +1 -1
  86. package/dist/index158.js +1 -1
  87. package/dist/index159.js +2 -2
  88. package/dist/index16.js +119 -118
  89. package/dist/index16.js.map +1 -1
  90. package/dist/index160.js +6 -0
  91. package/dist/index160.js.map +1 -0
  92. package/dist/index161.js +1 -1
  93. package/dist/index163.js +2 -2
  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/index170.js +6 -0
  100. package/dist/index170.js.map +1 -0
  101. package/dist/index171.js +3 -2
  102. package/dist/index171.js.map +1 -1
  103. package/dist/index173.js +2 -3
  104. package/dist/index173.js.map +1 -1
  105. package/dist/index174.js +1 -1
  106. package/dist/index175.js +1 -1
  107. package/dist/index176.js +1 -1
  108. package/dist/index177.js +1 -1
  109. package/dist/index178.js +1 -1
  110. package/dist/index179.js +1 -1
  111. package/dist/index18.js +120 -208
  112. package/dist/index18.js.map +1 -1
  113. package/dist/index180.js +1 -1
  114. package/dist/index181.js +1 -1
  115. package/dist/index182.js +1 -1
  116. package/dist/index183.js +2 -2
  117. package/dist/index184.js +6 -0
  118. package/dist/index184.js.map +1 -0
  119. package/dist/index185.js +1 -1
  120. package/dist/index187.js +1 -1
  121. package/dist/index189.js +1 -1
  122. package/dist/index190.js +1 -1
  123. package/dist/index191.js +1 -1
  124. package/dist/index192.js +1 -1
  125. package/dist/index193.js +1 -1
  126. package/dist/index194.js +1 -1
  127. package/dist/index195.js +1 -1
  128. package/dist/index196.js +1 -1
  129. package/dist/index197.js +3 -81
  130. package/dist/index197.js.map +1 -1
  131. package/dist/index198.js +3 -3
  132. package/dist/index198.js.map +1 -1
  133. package/dist/index199.js +81 -5
  134. package/dist/index199.js.map +1 -1
  135. package/dist/index20.js +193 -275
  136. package/dist/index20.js.map +1 -1
  137. package/dist/index200.js +2 -16
  138. package/dist/index200.js.map +1 -1
  139. package/dist/index201.js +3 -16
  140. package/dist/index201.js.map +1 -1
  141. package/dist/index202.js +124 -17
  142. package/dist/index202.js.map +1 -1
  143. package/dist/index203.js +5 -19
  144. package/dist/index203.js.map +1 -1
  145. package/dist/index204.js +119 -23
  146. package/dist/index204.js.map +1 -1
  147. package/dist/index205.js +19 -3
  148. package/dist/index205.js.map +1 -1
  149. package/dist/index206.js +16 -2
  150. package/dist/index206.js.map +1 -1
  151. package/dist/index207.js +16 -8
  152. package/dist/index207.js.map +1 -1
  153. package/dist/index208.js +2 -249
  154. package/dist/index208.js.map +1 -1
  155. package/dist/index209.js +5 -0
  156. package/dist/index209.js.map +1 -0
  157. package/dist/index210.js +35 -52
  158. package/dist/index210.js.map +1 -1
  159. package/dist/index211.js +173 -36
  160. package/dist/index211.js.map +1 -1
  161. package/dist/index212.js +6 -5
  162. package/dist/index212.js.map +1 -1
  163. package/dist/index213.js +39 -36
  164. package/dist/index213.js.map +1 -1
  165. package/dist/index215.js +13 -4
  166. package/dist/index215.js.map +1 -1
  167. package/dist/index216.js +5 -2
  168. package/dist/index216.js.map +1 -1
  169. package/dist/index217.js +369 -2
  170. package/dist/index217.js.map +1 -1
  171. package/dist/index218.js +6 -40
  172. package/dist/index218.js.map +1 -1
  173. package/dist/{index214.js → index219.js} +1 -1
  174. package/dist/{index214.js.map → index219.js.map} +1 -1
  175. package/dist/index22.js +287 -247
  176. package/dist/index22.js.map +1 -1
  177. package/dist/index220.js +4 -13
  178. package/dist/index220.js.map +1 -1
  179. package/dist/index221.js +2 -158
  180. package/dist/index221.js.map +1 -1
  181. package/dist/index222.js +3 -84
  182. package/dist/index222.js.map +1 -1
  183. package/dist/index223.js +10 -0
  184. package/dist/index223.js.map +1 -0
  185. package/dist/index224.js +19 -3
  186. package/dist/index224.js.map +1 -1
  187. package/dist/index225.js +26 -34
  188. package/dist/index225.js.map +1 -1
  189. package/dist/index226.js +3 -6
  190. package/dist/index226.js.map +1 -1
  191. package/dist/index227.js +249 -7
  192. package/dist/index227.js.map +1 -1
  193. package/dist/index228.js +49 -123
  194. package/dist/index228.js.map +1 -1
  195. package/dist/index229.js +44 -123
  196. package/dist/index229.js.map +1 -1
  197. package/dist/index230.js +5 -2
  198. package/dist/index230.js.map +1 -1
  199. package/dist/index231.js +49 -174
  200. package/dist/index231.js.map +1 -1
  201. package/dist/index232.js +158 -5
  202. package/dist/index232.js.map +1 -1
  203. package/dist/index233.js +83 -368
  204. package/dist/index233.js.map +1 -1
  205. package/dist/index235.js +2 -18
  206. package/dist/index235.js.map +1 -1
  207. package/dist/index236.js +17 -105
  208. package/dist/index236.js.map +1 -1
  209. package/dist/index237.js +109 -0
  210. package/dist/index237.js.map +1 -0
  211. package/dist/{index238.js → index239.js} +3 -3
  212. package/dist/{index238.js.map → index239.js.map} +1 -1
  213. package/dist/index24.js +249 -120
  214. package/dist/index24.js.map +1 -1
  215. package/dist/index241.js +2 -10
  216. package/dist/index241.js.map +1 -1
  217. package/dist/index242.js +9 -2
  218. package/dist/index242.js.map +1 -1
  219. package/dist/index243.js +3 -224
  220. package/dist/index243.js.map +1 -1
  221. package/dist/index244.js +9 -281
  222. package/dist/index244.js.map +1 -1
  223. package/dist/index245.js +23 -6
  224. package/dist/index245.js.map +1 -1
  225. package/dist/index246.js +6 -2
  226. package/dist/index246.js.map +1 -1
  227. package/dist/index247.js +16 -2
  228. package/dist/index247.js.map +1 -1
  229. package/dist/index248.js +224 -2
  230. package/dist/index248.js.map +1 -1
  231. package/dist/index249.js +281 -2
  232. package/dist/index249.js.map +1 -1
  233. package/dist/index250.js +6 -2
  234. package/dist/index250.js.map +1 -1
  235. package/dist/index251.js +2 -2
  236. package/dist/index252.js +2 -3
  237. package/dist/index252.js.map +1 -1
  238. package/dist/index253.js +2 -2
  239. package/dist/index254.js +2 -2
  240. package/dist/index255.js +2 -2
  241. package/dist/index256.js +122 -24
  242. package/dist/index256.js.map +1 -1
  243. package/dist/index257.js +429 -20
  244. package/dist/index257.js.map +1 -1
  245. package/dist/index258.js +6 -0
  246. package/dist/index258.js.map +1 -0
  247. package/dist/index26.js +119 -142
  248. package/dist/index26.js.map +1 -1
  249. package/dist/index260.js +6 -3
  250. package/dist/index260.js.map +1 -1
  251. package/dist/index261.js +21 -8
  252. package/dist/index261.js.map +1 -1
  253. package/dist/index263.js +9 -3
  254. package/dist/index263.js.map +1 -1
  255. package/dist/index264.js +439 -0
  256. package/dist/index264.js.map +1 -0
  257. package/dist/index265.js +127 -6
  258. package/dist/index265.js.map +1 -1
  259. package/dist/index266.js +199 -15
  260. package/dist/index266.js.map +1 -1
  261. package/dist/index267.js +4 -9
  262. package/dist/index267.js.map +1 -1
  263. package/dist/index268.js +89 -3
  264. package/dist/index268.js.map +1 -1
  265. package/dist/index269.js +2 -12
  266. package/dist/index269.js.map +1 -1
  267. package/dist/index270.js +2 -9
  268. package/dist/index270.js.map +1 -1
  269. package/dist/index271.js +2 -9
  270. package/dist/index271.js.map +1 -1
  271. package/dist/index272.js +2 -17
  272. package/dist/index272.js.map +1 -1
  273. package/dist/index273.js +2 -431
  274. package/dist/index273.js.map +1 -1
  275. package/dist/index274.js +2 -89
  276. package/dist/index274.js.map +1 -1
  277. package/dist/index275.js +28 -2
  278. package/dist/index275.js.map +1 -1
  279. package/dist/index276.js +17 -64
  280. package/dist/index276.js.map +1 -1
  281. package/dist/index278.js +3 -200
  282. package/dist/index278.js.map +1 -1
  283. package/dist/index279.js +12 -2
  284. package/dist/index279.js.map +1 -1
  285. package/dist/index28.js +138 -83
  286. package/dist/index28.js.map +1 -1
  287. package/dist/index280.js +7 -124
  288. package/dist/index280.js.map +1 -1
  289. package/dist/index281.js +7 -20
  290. package/dist/index281.js.map +1 -1
  291. package/dist/index282.js +20 -0
  292. package/dist/index282.js.map +1 -0
  293. package/dist/index283.js +2 -436
  294. package/dist/index283.js.map +1 -1
  295. package/dist/index284.js +68 -126
  296. package/dist/index284.js.map +1 -1
  297. package/dist/index285.js +5 -3
  298. package/dist/index285.js.map +1 -1
  299. package/dist/index286.js +1 -1
  300. package/dist/index287.js +3 -211
  301. package/dist/index287.js.map +1 -1
  302. package/dist/index288.js +214 -0
  303. package/dist/index288.js.map +1 -0
  304. package/dist/index290.js +4 -7
  305. package/dist/index290.js.map +1 -1
  306. package/dist/index291.js +4 -19
  307. package/dist/index291.js.map +1 -1
  308. package/dist/index292.js +58 -6
  309. package/dist/index292.js.map +1 -1
  310. package/dist/index293.js +35 -4
  311. package/dist/index293.js.map +1 -1
  312. package/dist/index294.js +7 -4
  313. package/dist/index294.js.map +1 -1
  314. package/dist/index295.js +6 -58
  315. package/dist/index295.js.map +1 -1
  316. package/dist/index296.js +18 -34
  317. package/dist/index296.js.map +1 -1
  318. package/dist/index297.js +2 -11
  319. package/dist/index297.js.map +1 -1
  320. package/dist/index298.js +47 -2
  321. package/dist/index298.js.map +1 -1
  322. package/dist/index299.js +10 -46
  323. package/dist/index299.js.map +1 -1
  324. package/dist/index30.js +85 -115
  325. package/dist/index30.js.map +1 -1
  326. package/dist/index32.js +111 -112
  327. package/dist/index32.js.map +1 -1
  328. package/dist/index34.js +114 -365
  329. package/dist/index34.js.map +1 -1
  330. package/dist/index36.js +361 -283
  331. package/dist/index36.js.map +1 -1
  332. package/dist/index38.js +288 -106
  333. package/dist/index38.js.map +1 -1
  334. package/dist/index40.js +114 -121
  335. package/dist/index40.js.map +1 -1
  336. package/dist/index42.js +113 -200
  337. package/dist/index42.js.map +1 -1
  338. package/dist/index44.js +180 -90
  339. package/dist/index44.js.map +1 -1
  340. package/dist/index46.js +110 -78
  341. package/dist/index46.js.map +1 -1
  342. package/dist/index48.js +89 -54
  343. package/dist/index48.js.map +1 -1
  344. package/dist/index5.js +14 -78
  345. package/dist/index5.js.map +1 -1
  346. package/dist/index50.js +54 -84
  347. package/dist/index50.js.map +1 -1
  348. package/dist/index52.js +86 -60
  349. package/dist/index52.js.map +1 -1
  350. package/dist/index54.js +59 -40
  351. package/dist/index54.js.map +1 -1
  352. package/dist/index56.js +42 -55
  353. package/dist/index56.js.map +1 -1
  354. package/dist/index58.js +53 -103
  355. package/dist/index58.js.map +1 -1
  356. package/dist/index6.js +36 -58
  357. package/dist/index6.js.map +1 -1
  358. package/dist/index60.js +103 -89
  359. package/dist/index60.js.map +1 -1
  360. package/dist/index62.js +61 -88
  361. package/dist/index62.js.map +1 -1
  362. package/dist/index64.js +119 -77
  363. package/dist/index64.js.map +1 -1
  364. package/dist/index66.js +77 -91
  365. package/dist/index66.js.map +1 -1
  366. package/dist/index68.js +88 -49
  367. package/dist/index68.js.map +1 -1
  368. package/dist/index7.js +78 -20
  369. package/dist/index7.js.map +1 -1
  370. package/dist/index70.js +51 -304
  371. package/dist/index70.js.map +1 -1
  372. package/dist/index72.js +299 -115
  373. package/dist/index72.js.map +1 -1
  374. package/dist/index74.js +120 -214
  375. package/dist/index74.js.map +1 -1
  376. package/dist/index76.js +213 -36
  377. package/dist/index76.js.map +1 -1
  378. package/dist/index78.js +47 -0
  379. package/dist/index78.js.map +1 -0
  380. package/dist/index79.js +119 -230
  381. package/dist/index79.js.map +1 -1
  382. package/dist/index8.js +61 -7
  383. package/dist/index8.js.map +1 -1
  384. package/dist/index81.js +227 -154
  385. package/dist/index81.js.map +1 -1
  386. package/dist/index83.js +154 -207
  387. package/dist/index83.js.map +1 -1
  388. package/dist/index85.js +215 -26
  389. package/dist/index85.js.map +1 -1
  390. package/dist/index87.js +27 -88
  391. package/dist/index87.js.map +1 -1
  392. package/dist/index89.js +53 -88
  393. package/dist/index89.js.map +1 -1
  394. package/dist/index9.js +17 -76
  395. package/dist/index9.js.map +1 -1
  396. package/dist/index91.js +75 -44
  397. package/dist/index91.js.map +1 -1
  398. package/dist/index93.js +89 -15
  399. package/dist/index93.js.map +1 -1
  400. package/dist/index95.js +15 -166
  401. package/dist/index95.js.map +1 -1
  402. package/dist/index97.js +120 -59
  403. package/dist/index97.js.map +1 -1
  404. package/dist/index99.js +66 -52
  405. package/dist/index99.js.map +1 -1
  406. package/dist/style.css +1 -1
  407. package/package.json +2 -2
  408. package/dist/index120.js +0 -47
  409. package/dist/index120.js.map +0 -1
  410. package/dist/index164.js +0 -6
  411. package/dist/index164.js.map +0 -1
  412. package/dist/index172.js +0 -6
  413. package/dist/index172.js.map +0 -1
  414. package/dist/index188.js +0 -6
  415. package/dist/index188.js.map +0 -1
  416. package/dist/index234.js +0 -6
  417. package/dist/index234.js.map +0 -1
  418. package/dist/index240.js +0 -5
  419. package/dist/index240.js.map +0 -1
  420. package/dist/index259.js +0 -10
  421. package/dist/index259.js.map +0 -1
  422. package/dist/index262.js +0 -26
  423. package/dist/index262.js.map +0 -1
  424. package/dist/index277.js +0 -8
  425. package/dist/index277.js.map +0 -1
  426. package/dist/index3.js +0 -17
  427. package/dist/index3.js.map +0 -1
  428. package/dist/index4.js +0 -43
  429. package/dist/index4.js.map +0 -1
  430. package/dist/index77.js +0 -130
  431. package/dist/index77.js.map +0 -1
package/dist/index83.js CHANGED
@@ -1,223 +1,170 @@
1
- import { defineComponent as W, ref as a, computed as _, openBlock as d, createElementBlock as g, mergeProps as D, createElementVNode as b, renderSlot as S, normalizeProps as I, guardReactiveProps as R, unref as y, createBlock as E, Teleport as U, normalizeClass as j, normalizeStyle as G, createCommentVNode as k, withCtx as J, nextTick as K, watch as Q } from "vue";
2
- import { useFloating as X, arrow as Y } from "./index228.js";
3
- import { useFocusTrap as Z } from "./index225.js";
4
- import { useId as ee } from "./index7.js";
5
- import { wait as M } from "./index126.js";
6
- import te from "./index12.js";
1
+ import { defineComponent as W, computed as y, ref as c, onMounted as w, onBeforeUnmount as R, openBlock as k, createElementBlock as V, normalizeClass as C, createElementVNode as o, createVNode as v, unref as g, withCtx as S, renderSlot as m, Fragment as F, renderList as L, toDisplayString as M, nextTick as N } from "vue";
2
+ import { debounce as T } from "./index263.js";
3
+ /* empty css */
4
+ /* empty css */
5
+ /* empty css */
6
+ import $ from "./index14.js";
7
7
  /* empty css */
8
- import { autoUpdate as oe, flip as ae, offset as re, shift as ne, hide as le } from "./index233.js";
9
- const se = ["id"], ie = {
10
- key: 1,
11
- class: "bb-popover__bubble"
12
- }, ue = /* @__PURE__ */ b("span", { class: "bb-popover__close-label" }, "Chiudi", -1), ce = /* @__PURE__ */ b("svg", {
13
- fill: "none",
14
- viewBox: "0 0 24 24",
15
- xmlns: "http://www.w3.org/2000/svg"
16
- }, [
17
- /* @__PURE__ */ b("path", {
18
- d: "M23 23L1 1M23 1L1 23",
19
- stroke: "currentColor",
20
- "stroke-linecap": "round",
21
- "stroke-width": "2"
22
- })
23
- ], -1), _e = /* @__PURE__ */ W({
24
- __name: "BbPopover",
8
+ import A from "./index123.js";
9
+ /* empty css */
10
+ const D = { "aria-label": "Navigazione" }, G = /* @__PURE__ */ o("span", { class: "bb-pagination__page-label" }, "Precedente", -1), I = { class: "bb-pagination__page-label" }, O = { class: "bb-pagination__page-label" }, j = /* @__PURE__ */ o("span", { class: "bb-pagination__page-label" }, "Successivo", -1), ee = /* @__PURE__ */ W({
11
+ __name: "BbPagination",
25
12
  props: {
26
- arrowPadding: { default: 10 },
27
- block: { type: Boolean },
28
13
  disabled: { type: Boolean },
29
- eager: { type: Boolean },
30
- offset: { default: 3 },
31
- padding: { default: 10 },
32
- placement: { default: "bottom" },
33
- showClose: { type: Boolean, default: !0 },
34
- theme: { default: "default" },
35
- transitionDuration: { default: 150 },
36
- focusTarget: {},
37
- width: {}
14
+ loading: { type: Boolean },
15
+ align: { default: "right" },
16
+ ellipsis: { default: "..." },
17
+ maxSize: { default: 6 },
18
+ modelValue: { default: 1 },
19
+ totalPages: { default: 1 }
38
20
  },
39
- emits: ["shown", "hidden"],
40
- setup(N, { emit: L }) {
41
- const t = N, u = L, { id: H } = ee(), v = `bbp_${H.value}`, s = a(), c = a(), $ = a(), { activate: O, deactivate: C } = Z(c, {
42
- /**
43
- * This traps all clicks outside so we are pressing
44
- * the trigger we just allow and process that in its
45
- * own click handler.
46
- * If we are pressing anything random on the page
47
- * close the popover and be done
48
- */
49
- clickOutsideDeactivates: (e) => {
50
- var P;
51
- const o = e.target;
52
- return o instanceof HTMLElement && (P = s.value) != null && P.contains(o) || (p(), u("hidden")), !0;
53
- },
54
- escapeDeactivates: () => (K(async () => {
55
- await p(), f(), u("hidden");
56
- }), !0),
57
- /* We don't return focus so that when
58
- * we press a button on tyhe page we can focus
59
- * THAT button and not the current trigger
60
- */
61
- returnFocusOnDeactivate: !1
62
- }), { floatingStyles: z, placement: m, middlewareData: w } = X(
63
- s,
64
- c,
65
- {
66
- placement: t.placement,
67
- whileElementsMounted: oe,
68
- middleware: [
69
- ae(),
70
- re(t.offset),
71
- ne({ padding: t.padding }),
72
- Y({
73
- element: $,
74
- padding: t.arrowPadding
75
- }),
76
- le()
77
- ]
78
- }
79
- );
80
- let T = () => {
21
+ emits: ["update:modelValue"],
22
+ setup(B, { emit: E }) {
23
+ const a = B, _ = E, i = y(() => +a.totalPages), r = c(1), n = c(+a.maxSize), u = c(), d = c(), z = c(1 / 0), f = () => {
24
+ u.value && d.value && (u.value.clientWidth < d.value.clientWidth ? n.value - 1 > 3 ? (n.value--, N(f)) : n.value = 3 : n.value < +a.maxSize && /* If there is enough space to fit one */
25
+ u.value.clientWidth - d.value.clientWidth > z.value && (n.value = Math.min(n.value + 1, +a.maxSize), N(f)));
81
26
  };
82
- const F = _(() => ({
83
- class: {
84
- "bb-popover--block": t.block,
85
- [`bb-popover--${t.theme}`]: !0
86
- }
87
- })), r = a(!1), n = a(!1), l = a(!1), i = a(!0), q = _(() => {
88
- if (w.value.arrow) {
89
- const { x: e, y: o } = w.value.arrow;
90
- return {
91
- style: {
92
- left: `${e}px`,
93
- top: `${o}px`
94
- }
95
- };
96
- }
97
- }), x = _(() => {
98
- const e = {
99
- ...z.value,
100
- transitionDuration: `${t.transitionDuration}ms`
101
- };
102
- if (t.width) {
103
- let o;
104
- if (typeof t.width == "string" && Number.isNaN(Number(t.width)))
105
- if (t.width.includes("%")) {
106
- if (!s.value) return;
107
- o = `${s.value.clientWidth * (+t.width.replace("%", "") / 100)}px`;
108
- } else
109
- o = t.width;
110
- else
111
- o = `${t.width}px`;
112
- e.width = o;
113
- }
114
- return e;
115
- }), A = async () => {
116
- i.value = !1, l.value = !1, r.value = !0, await M(50), n.value = !0, r.value = !1, T = Q(
117
- () => {
118
- var e;
119
- return (e = w.value.hide) == null ? void 0 : e.referenceHidden;
120
- },
121
- async (e) => {
122
- !l.value && !i.value && e && (await p(), C(), f());
123
- }
124
- );
125
- }, p = async () => {
126
- n.value = !1, r.value = !1, l.value = !0, await M(t.transitionDuration), l.value = !1, i.value = !0, T();
127
- }, h = a(!1), V = async () => {
128
- if (n.value) {
129
- await p(), f(), u("hidden");
130
- return;
131
- }
132
- if (r.value || t.disabled) return;
133
- h.value = !0, await A();
134
- let e = t.focusTarget ?? ".bb-popover__close";
135
- O({
136
- onPostActivate: () => {
137
- if (c.value) {
138
- const o = c.value.querySelector(e);
139
- o instanceof HTMLElement && (o.focus(), u("shown"));
27
+ if (globalThis.ResizeObserver) {
28
+ const e = new ResizeObserver(T(f, 200));
29
+ w(() => {
30
+ if (u.value && d.value) {
31
+ const t = u.value.querySelectorAll(
32
+ ".bb-pagination__page"
33
+ )[1];
34
+ if (t) {
35
+ const p = getComputedStyle(d.value).columnGap.replaceAll(/\D/g, ""), s = Number(p);
36
+ z.value = t.clientWidth + s;
140
37
  }
38
+ e.observe(u.value);
141
39
  }
40
+ }), R(() => {
41
+ e.disconnect();
142
42
  });
143
- }, f = () => {
144
- var o;
145
- const e = (o = s.value) == null ? void 0 : o.querySelector(`[aria-controls=popover_${v}]`);
146
- e instanceof HTMLElement && e.focus({ preventScroll: !0 });
147
- }, B = async () => {
148
- C(), await p(), f(), u("hidden");
149
- };
150
- return (e, o) => (d(), g("span", D({ class: "bb-popover" }, F.value), [
151
- b("span", {
152
- ref_key: "wrapper",
153
- ref: s,
154
- class: "bb-popover__wrapper"
155
- }, [
156
- S(e.$slots, "activator", I(R({
157
- props: {
158
- "aria-controls": `popover_${v}`,
159
- "aria-expanded": n.value,
160
- onClick: V,
161
- id: v,
162
- disabled: !!e.disabled
163
- },
164
- closed: i.value,
165
- closing: l.value,
166
- disabled: !!e.disabled,
167
- open: n.value,
168
- opening: r.value,
169
- placement: y(m)
170
- })))
171
- ], 512),
172
- (d(), E(U, { to: "body" }, [
173
- b("span", {
174
- id: `popover_${v}`,
175
- ref_key: "content",
176
- ref: c,
177
- class: j(["bb-popover__bubble-container", {
178
- [`bb-popover__bubble-container--${y(m)}`]: !0,
179
- [`bb-popover__bubble-container--${e.theme}`]: e.theme,
180
- "bb-popover__bubble-container--hidden": i.value,
181
- "bb-popover__bubble-container--closing": l.value,
182
- "bb-popover__bubble-container--opening": r.value,
183
- "bb-popover__bubble-container--open": n.value
184
- }]),
185
- style: G(x.value)
43
+ }
44
+ const P = y(() => {
45
+ if (i.value <= 0 || isNaN(i.value) || i.value > Number.MAX_SAFE_INTEGER)
46
+ return [];
47
+ if (n.value <= 1) return [a.modelValue];
48
+ if (i.value <= n.value)
49
+ return b(i.value, r.value);
50
+ const e = n.value % 2 === 0, t = e ? n.value / 2 : Math.floor(n.value / 2), l = e ? t : t + 1, p = i.value - t;
51
+ if (l - a.modelValue >= 0)
52
+ return [
53
+ ...b(Math.max(1, n.value - 1), r.value),
54
+ a.ellipsis,
55
+ i.value
56
+ ];
57
+ if (a.modelValue - p >= (e ? 1 : 0)) {
58
+ const s = n.value - 1, h = i.value - s + r.value;
59
+ return [
60
+ r.value,
61
+ a.ellipsis,
62
+ ...b(s, h)
63
+ ];
64
+ } else {
65
+ const s = Math.max(1, n.value - 3), h = s === 1 ? a.modelValue : a.modelValue - Math.ceil(s / 2) + r.value;
66
+ return [
67
+ r.value,
68
+ a.ellipsis,
69
+ ...b(s, h),
70
+ a.ellipsis,
71
+ i.value
72
+ ];
73
+ }
74
+ }), x = y(() => P.value.map((e, t) => typeof e == "string" ? {
75
+ active: !1,
76
+ key: `ellipsis-${t}`,
77
+ page: e,
78
+ ellipsis: !0,
79
+ disabled: !0
80
+ } : {
81
+ active: e === a.modelValue,
82
+ key: e,
83
+ page: e,
84
+ ellipsis: !1,
85
+ disabled: !!a.disabled || +a.totalPages < 2 || a.loading
86
+ })), b = (e, t = 0) => Array.from({ length: e }, (l, p) => t + p);
87
+ return (e, t) => (k(), V("div", {
88
+ ref_key: "outercontainer",
89
+ ref: u,
90
+ class: C(["bb-pagination", {
91
+ [`bb-pagination--${e.align}`]: !0
92
+ }])
93
+ }, [
94
+ o("nav", D, [
95
+ o("ul", {
96
+ ref_key: "innercontainer",
97
+ ref: d,
98
+ class: "bb-pagination__pages"
186
99
  }, [
187
- h.value || e.eager ? (d(), g("span", D({
188
- key: 0,
189
- ref_key: "bubblearrow",
190
- ref: $,
191
- class: "bb-popover__arrow"
192
- }, q.value), null, 16)) : k("", !0),
193
- h.value || e.eager ? (d(), g("span", ie, [
194
- e.showClose ? (d(), E(te, {
195
- key: 0,
196
- class: "bb-popover__close",
197
- onClick: B
100
+ o("li", null, [
101
+ v(g($), {
102
+ class: "bb-pagination__page bb-pagination__page--previous",
103
+ disabled: a.modelValue <= 1 || e.loading || e.disabled,
104
+ onClick: t[0] || (t[0] = (l) => _("update:modelValue", a.modelValue - 1))
105
+ }, {
106
+ default: S(() => [
107
+ m(e.$slots, "previous", {}, () => [
108
+ G,
109
+ v(g(A), {
110
+ class: "bb-pagination__page-chevron",
111
+ type: "chevron_down"
112
+ })
113
+ ])
114
+ ]),
115
+ _: 3
116
+ }, 8, ["disabled"])
117
+ ]),
118
+ (k(!0), V(F, null, L(x.value, (l) => (k(), V("li", {
119
+ key: l.key
120
+ }, [
121
+ v(g($), {
122
+ class: C(["bb-pagination__page", {
123
+ "bb-pagination__page--active": l.active,
124
+ "bb-pagination__page--ellipsis": l.ellipsis
125
+ }]),
126
+ disabled: l.disabled,
127
+ onClick: (p) => _("update:modelValue", l.key)
128
+ }, {
129
+ default: S(() => [
130
+ l.ellipsis === !0 ? m(e.$slots, "ellipsis", { key: 0 }, () => [
131
+ o("span", I, M(a.ellipsis), 1)
132
+ ]) : m(e.$slots, "item", {
133
+ key: 1,
134
+ active: l.active,
135
+ disabled: l.disabled,
136
+ item: l.key
137
+ }, () => [
138
+ o("span", O, M(l.key), 1)
139
+ ])
140
+ ]),
141
+ _: 2
142
+ }, 1032, ["class", "disabled", "onClick"])
143
+ ]))), 128)),
144
+ o("li", null, [
145
+ v(g($), {
146
+ class: "bb-pagination__page bb-pagination__page--next",
147
+ disabled: a.modelValue >= +i.value || e.loading || e.disabled,
148
+ onClick: t[1] || (t[1] = (l) => _("update:modelValue", a.modelValue + 1))
198
149
  }, {
199
- default: J(() => [
200
- ue,
201
- ce
150
+ default: S(() => [
151
+ m(e.$slots, "next", {}, () => [
152
+ j,
153
+ v(g(A), {
154
+ class: "bb-pagination__page-chevron",
155
+ type: "chevron_down"
156
+ })
157
+ ])
202
158
  ]),
203
- _: 1
204
- })) : k("", !0),
205
- S(e.$slots, "default", {
206
- close: B,
207
- closed: i.value,
208
- closing: l.value,
209
- disabled: !!e.disabled,
210
- open: n.value,
211
- opening: r.value,
212
- placement: y(m)
213
- })
214
- ])) : k("", !0)
215
- ], 14, se)
216
- ]))
217
- ], 16));
159
+ _: 3
160
+ }, 8, ["disabled"])
161
+ ])
162
+ ], 512)
163
+ ])
164
+ ], 2));
218
165
  }
219
166
  });
220
167
  export {
221
- _e as default
168
+ ee as default
222
169
  };
223
170
  //# sourceMappingURL=index83.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index83.js","sources":["../src/components/BbPopover/BbPopover.vue"],"sourcesContent":["<template>\n\t<span class=\"bb-popover\" v-bind=\"attributes\">\n\t\t<span ref=\"wrapper\" class=\"bb-popover__wrapper\">\n\t\t\t<slot\n\t\t\t\tname=\"activator\"\n\t\t\t\tv-bind=\"{\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t'aria-controls': `popover_${id}`,\n\t\t\t\t\t\t'aria-expanded': open,\n\t\t\t\t\t\tonClick: onTriggerClick,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tdisabled: !!disabled,\n\t\t\t\t\t},\n\t\t\t\t\tclosed: closed,\n\t\t\t\t\tclosing: closing,\n\t\t\t\t\tdisabled: !!disabled,\n\t\t\t\t\topen: open,\n\t\t\t\t\topening: opening,\n\t\t\t\t\tplacement: placement,\n\t\t\t\t}\"\n\t\t\t></slot>\n\t\t</span>\n\t\t<teleport to=\"body\">\n\t\t\t<span\n\t\t\t\t:id=\"`popover_${id}`\"\n\t\t\t\tref=\"content\"\n\t\t\t\tclass=\"bb-popover__bubble-container\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t[`bb-popover__bubble-container--${placement}`]: true,\n\t\t\t\t\t[`bb-popover__bubble-container--${theme}`]: theme,\n\t\t\t\t\t'bb-popover__bubble-container--hidden': closed,\n\t\t\t\t\t'bb-popover__bubble-container--closing': closing,\n\t\t\t\t\t'bb-popover__bubble-container--opening': opening,\n\t\t\t\t\t'bb-popover__bubble-container--open': open,\n\t\t\t\t}\"\n\t\t\t\t:style=\"containerStyle\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tv-if=\"hasOpenedOnce || eager\"\n\t\t\t\t\tref=\"bubblearrow\"\n\t\t\t\t\tclass=\"bb-popover__arrow\"\n\t\t\t\t\tv-bind=\"arrowAttributes\"\n\t\t\t\t></span>\n\t\t\t\t<span v-if=\"hasOpenedOnce || eager\" class=\"bb-popover__bubble\">\n\t\t\t\t\t<BaseButton\n\t\t\t\t\t\tv-if=\"showClose\"\n\t\t\t\t\t\tclass=\"bb-popover__close\"\n\t\t\t\t\t\t@click=\"onClickClose\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"bb-popover__close-label\">Chiudi</span>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M23 23L1 1M23 1L1 23\"\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</BaseButton>\n\t\t\t\t\t<slot\n\t\t\t\t\t\t:close=\"onClickClose\"\n\t\t\t\t\t\t:closed=\"closed\"\n\t\t\t\t\t\t:closing=\"closing\"\n\t\t\t\t\t\t:disabled=\"!!disabled\"\n\t\t\t\t\t\t:open=\"open\"\n\t\t\t\t\t\t:opening=\"opening\"\n\t\t\t\t\t\t:placement=\"placement\"\n\t\t\t\t\t></slot>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</teleport>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, watch } from 'vue';\nimport {\n\tuseFloating,\n\tautoUpdate,\n\tflip,\n\tshift,\n\toffset,\n\tarrow,\n\thide,\n} from '@floating-ui/vue';\nimport { useFocusTrap } from '@vueuse/integrations/useFocusTrap';\nimport { useId } from '@/composables/useId';\nimport { wait } from '@/utilities/functions/wait';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport type { CommonProps } from '@/types/CommonProps';\nimport type { Placement } from '@floating-ui/vue';\n\nexport type BbPopoverProps = Pick<\n\tCommonProps,\n\t| 'arrowPadding'\n\t| 'block'\n\t| 'disabled'\n\t| 'eager'\n\t| 'offset'\n\t| 'padding'\n\t| 'placement'\n\t| 'showClose'\n\t| 'theme'\n\t| 'transitionDuration'\n> & {\n\t/**\n\t * Elements that obtains focus immediately after opening the popover.\n\t * By default it's the first tabbable item.\n\t */\n\tfocusTarget?: string;\n\t/**\n\t * Width of the dropdown in pixels.\n\t */\n\twidth?: number | string;\n};\n\nconst props = withDefaults(defineProps<BbPopoverProps>(), {\n\tarrowPadding: 10,\n\toffset: 3,\n\tpadding: 10,\n\tplacement: 'bottom',\n\tshowClose: true,\n\ttheme: 'default',\n\ttransitionDuration: 150,\n});\n\nexport type BbPopoverEvents = {\n\t(e: 'shown'): void;\n\t(e: 'hidden'): void;\n};\n\nconst emit = defineEmits<BbPopoverEvents>();\n\ndefineSlots<{\n\tactivator?: (props: {\n\t\tprops: {\n\t\t\t'aria-controls': string;\n\t\t\t'aria-expanded': boolean;\n\t\t\tonClick: typeof onTriggerClick;\n\t\t\tid: string;\n\t\t\tdisabled: boolean;\n\t\t};\n\t\tclosed: boolean;\n\t\tclosing: boolean;\n\t\tdisabled: boolean;\n\t\topen: boolean;\n\t\topening: boolean;\n\t\tplacement: Placement;\n\t}) => any;\n\tdefault?: (props: {\n\t\tclose: typeof onClickClose;\n\t\tclosed: boolean;\n\t\tclosing: boolean;\n\t\tdisabled: boolean;\n\t\topen: boolean;\n\t\topening: boolean;\n\t\tplacement: Placement;\n\t}) => any;\n}>();\n\nconst { id: _id } = useId();\nconst id = `bbp_${_id.value}`;\n\nconst wrapper = ref<HTMLElement>();\nconst content = ref<HTMLElement>();\nconst bubblearrow = ref<HTMLElement>();\n\nconst { activate, deactivate } = useFocusTrap(content, {\n\t/**\n\t * This traps all clicks outside so we are pressing\n\t * the trigger we just allow and process that in its\n\t * own click handler.\n\t * If we are pressing anything random on the page\n\t * close the popover and be done\n\t */\n\tclickOutsideDeactivates: (event) => {\n\t\tconst target = event.target;\n\t\tif (target instanceof HTMLElement) {\n\t\t\tif (wrapper.value?.contains(target)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tclosePopover();\n\t\temit('hidden');\n\t\treturn true;\n\t},\n\tescapeDeactivates: () => {\n\t\tnextTick(async () => {\n\t\t\tawait closePopover();\n\t\t\tfocusTrigger();\n\t\t\temit('hidden');\n\t\t});\n\t\treturn true;\n\t},\n\t/* We don't return focus so that when\n\t * we press a button on tyhe page we can focus\n\t * THAT button and not the current trigger\n\t */\n\treturnFocusOnDeactivate: false,\n});\n\nconst { floatingStyles, placement, middlewareData } = useFloating(\n\twrapper,\n\tcontent,\n\t{\n\t\tplacement: props.placement,\n\t\twhileElementsMounted: autoUpdate,\n\t\tmiddleware: [\n\t\t\tflip(),\n\t\t\toffset(props.offset),\n\t\t\tshift({ padding: props.padding }),\n\t\t\tarrow({\n\t\t\t\telement: bubblearrow,\n\t\t\t\tpadding: props.arrowPadding,\n\t\t\t}),\n\t\t\thide(),\n\t\t],\n\t}\n);\n\nlet stopWatcher = () => {};\n\nconst attributes = computed(() => {\n\tconst classes = {\n\t\t'bb-popover--block': props.block,\n\t\t[`bb-popover--${props.theme}`]: true,\n\t};\n\treturn {\n\t\tclass: classes,\n\t};\n});\n\nconst opening = ref(false);\nconst open = ref(false);\nconst closing = ref(false);\nconst closed = ref(true);\n\nconst arrowAttributes = computed(() => {\n\tif (middlewareData.value.arrow) {\n\t\tconst { x, y } = middlewareData.value.arrow;\n\t\treturn {\n\t\t\tstyle: {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t},\n\t\t};\n\t}\n\treturn undefined;\n});\n\nconst containerStyle = computed(() => {\n\tconst base: Record<string, any> = {\n\t\t...floatingStyles.value,\n\t\ttransitionDuration: `${props.transitionDuration}ms`,\n\t};\n\tif (props.width) {\n\t\tlet width: string;\n\t\t// If the width is a css unit string use it, if it is a number or number string add px\n\t\tif (typeof props.width === 'string' && Number.isNaN(Number(props.width))) {\n\t\t\tif (props.width.includes('%')) {\n\t\t\t\tif (!wrapper.value) return;\n\t\t\t\twidth = `${\n\t\t\t\t\twrapper.value.clientWidth * (+props.width.replace('%', '') / 100)\n\t\t\t\t}px`;\n\t\t\t} else {\n\t\t\t\twidth = props.width;\n\t\t\t}\n\t\t} else {\n\t\t\twidth = `${props.width}px`;\n\t\t}\n\t\tbase.width = width;\n\t}\n\treturn base;\n});\n\nconst openPopover = async () => {\n\tclosed.value = false;\n\tclosing.value = false;\n\topening.value = true;\n\tawait wait(50);\n\topen.value = true;\n\topening.value = false;\n\tstopWatcher = watch(\n\t\t() => middlewareData.value.hide?.referenceHidden,\n\t\tasync (value) => {\n\t\t\tif (!closing.value && !closed.value && value) {\n\t\t\t\tawait closePopover();\n\t\t\t\tdeactivate();\n\t\t\t\tfocusTrigger();\n\t\t\t}\n\t\t}\n\t);\n};\n\nconst closePopover = async () => {\n\topen.value = false;\n\topening.value = false;\n\tclosing.value = true;\n\tawait wait(props.transitionDuration);\n\tclosing.value = false;\n\tclosed.value = true;\n\tstopWatcher();\n};\nconst hasOpenedOnce = ref(false);\nconst onTriggerClick = async () => {\n\tif (open.value) {\n\t\tawait closePopover();\n\t\tfocusTrigger();\n\t\temit('hidden');\n\t\treturn;\n\t}\n\tif (opening.value || props.disabled) return;\n\thasOpenedOnce.value = true;\n\tawait openPopover();\n\tlet focusTarget = props.focusTarget ?? '.bb-popover__close';\n\n\tactivate({\n\t\tonPostActivate: () => {\n\t\t\tif (content.value) {\n\t\t\t\tconst target = content.value.querySelector(focusTarget);\n\t\t\t\tif (target instanceof HTMLElement) {\n\t\t\t\t\ttarget.focus();\n\t\t\t\t\temit('shown');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n};\n\nconst focusTrigger = () => {\n\tconst trigger = wrapper.value?.querySelector(`[aria-controls=popover_${id}]`);\n\tif (trigger instanceof HTMLElement) {\n\t\ttrigger.focus({ preventScroll: true });\n\t}\n};\n\nconst onClickClose = async () => {\n\tdeactivate();\n\tawait closePopover();\n\tfocusTrigger();\n\temit('hidden');\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbPopover';\n</style>\n"],"names":["props","__props","emit","__emit","_id","useId","id","wrapper","ref","content","bubblearrow","activate","deactivate","useFocusTrap","event","target","_a","closePopover","nextTick","focusTrigger","floatingStyles","placement","middlewareData","useFloating","autoUpdate","flip","offset","shift","arrow","hide","stopWatcher","attributes","computed","opening","open","closing","closed","arrowAttributes","x","y","containerStyle","base","width","openPopover","wait","watch","value","hasOpenedOnce","onTriggerClick","focusTarget","trigger","onClickClose"],"mappings":"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"}
1
+ {"version":3,"file":"index83.js","sources":["../src/components/BbPagination/BbPagination.vue"],"sourcesContent":["<template>\n\t<div\n\t\tref=\"outercontainer\"\n\t\tclass=\"bb-pagination\"\n\t\t:class=\"{\n\t\t\t[`bb-pagination--${align}`]: true,\n\t\t}\"\n\t>\n\t\t<nav aria-label=\"Navigazione\">\n\t\t\t<ul ref=\"innercontainer\" class=\"bb-pagination__pages\">\n\t\t\t\t<li>\n\t\t\t\t\t<BaseButton\n\t\t\t\t\t\tclass=\"bb-pagination__page bb-pagination__page--previous\"\n\t\t\t\t\t\t:disabled=\"props.modelValue <= 1 || loading || disabled\"\n\t\t\t\t\t\t@click=\"emit('update:modelValue', props.modelValue - 1)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"previous\">\n\t\t\t\t\t\t\t<span class=\"bb-pagination__page-label\">Precedente</span>\n\t\t\t\t\t\t\t<BbIcon class=\"bb-pagination__page-chevron\" type=\"chevron_down\" />\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</BaseButton>\n\t\t\t\t</li>\n\t\t\t\t<li v-for=\"item in items\" :key=\"item.key\">\n\t\t\t\t\t<BaseButton\n\t\t\t\t\t\tclass=\"bb-pagination__page\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'bb-pagination__page--active': item.active,\n\t\t\t\t\t\t\t'bb-pagination__page--ellipsis': item.ellipsis,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t@click=\"emit('update:modelValue', item.key)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-if=\"item.ellipsis === true\">\n\t\t\t\t\t\t\t<slot name=\"ellipsis\">\n\t\t\t\t\t\t\t\t<span class=\"bb-pagination__page-label\">{{\n\t\t\t\t\t\t\t\t\tprops.ellipsis\n\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:active=\"item.active\"\n\t\t\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t\t\t:item=\"item.key\"\n\t\t\t\t\t\t\t\tname=\"item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span class=\"bb-pagination__page-label\">{{ item.key }}</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</BaseButton>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<BaseButton\n\t\t\t\t\t\tclass=\"bb-pagination__page bb-pagination__page--next\"\n\t\t\t\t\t\t:disabled=\"props.modelValue >= +totalPages || loading || disabled\"\n\t\t\t\t\t\t@click=\"emit('update:modelValue', props.modelValue + 1)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"next\">\n\t\t\t\t\t\t\t<span class=\"bb-pagination__page-label\">Successivo</span>\n\t\t\t\t\t\t\t<BbIcon class=\"bb-pagination__page-chevron\" type=\"chevron_down\" />\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</BaseButton>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</nav>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref } from 'vue';\nimport { debounce } from '@/utilities/functions/debounce';\nimport type { CommonProps } from '@/types/CommonProps';\nimport { BaseButton, BbIcon } from '@/index';\n\nexport type BbPaginationProps = Pick<CommonProps, 'disabled' | 'loading'> & {\n\talign?: 'left' | 'right' | 'center';\n\t/**\n\t * String of text displayed in place of hidden pages\n\t */\n\tellipsis?: string;\n\t/**\n\t * Maximum number of clickable pages displayed at all times.\n\t * This has a tolerance of +/- 1 for odd / even numbering.\n\t * It does not include ellipses.\n\t */\n\tmaxSize?: number | string;\n\t/**\n\t * Used by v-model. Indicates the current page.\n\t */\n\tmodelValue: number;\n\t/**\n\t * Total number of pages there is.\n\t */\n\ttotalPages?: number | string;\n};\n\nconst props = withDefaults(defineProps<BbPaginationProps>(), {\n\talign: 'right',\n\tmodelValue: 1,\n\ttotalPages: 1,\n\tellipsis: '...',\n\tmaxSize: 6,\n});\n\nexport type BbPaginationEvents = {\n\t(e: 'update:modelValue', value: number): void;\n};\n\nconst emit = defineEmits(['update:modelValue']);\n\ndefineSlots<{\n\tprevious?: (props: object) => any;\n\tnext?: (props: object) => any;\n\titem?: (props: { active: boolean; disabled: boolean; item: number }) => any;\n\tellipsis?: (props: object) => any;\n}>();\n\nconst totalPages = computed(() => +props.totalPages);\nconst start = ref(1);\nconst maxSize = ref(+props.maxSize);\n\nconst outercontainer = ref<HTMLElement>();\nconst innercontainer = ref<HTMLElement>();\n\nconst buttonFootprint = ref<number>(Infinity);\n\n/**\n * Adjusts how many buttons to show.\n * if current buttons can't fit subtract maxSize until they do or until minimum is reached\n * if more buttons could fit add buttons until the don't\n * If minimum or maximum is reached just quit until next resize\n */\nconst adjustMaxElements = () => {\n\tif (outercontainer.value && innercontainer.value) {\n\t\t/* If some buttons do not fit */\n\t\tif (outercontainer.value.clientWidth < innercontainer.value.clientWidth) {\n\t\t\tif (maxSize.value - 1 > 3) {\n\t\t\t\tmaxSize.value--;\n\t\t\t\tnextTick(adjustMaxElements);\n\t\t\t} else {\n\t\t\t\tmaxSize.value = 3;\n\t\t\t}\n\t\t\t/* If all current buttons do fit */\n\t\t} else {\n\t\t\t/* If some buttons have been hidden */\n\t\t\tif (maxSize.value < +props.maxSize) {\n\t\t\t\tif (\n\t\t\t\t\t/* If there is enough space to fit one */\n\t\t\t\t\toutercontainer.value.clientWidth - innercontainer.value.clientWidth >\n\t\t\t\t\tbuttonFootprint.value\n\t\t\t\t) {\n\t\t\t\t\tmaxSize.value = Math.min(maxSize.value + 1, +props.maxSize);\n\t\t\t\t\tnextTick(adjustMaxElements);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\nif (globalThis.ResizeObserver) {\n\tconst observer = new ResizeObserver(debounce(adjustMaxElements, 200));\n\tonMounted(() => {\n\t\tif (outercontainer.value && innercontainer.value) {\n\t\t\tconst button = outercontainer.value.querySelectorAll(\n\t\t\t\t'.bb-pagination__page'\n\t\t\t)[1];\n\t\t\tif (button) {\n\t\t\t\t/* Compute the footprint necessary to render a new button */\n\t\t\t\tconst gapString = getComputedStyle(innercontainer.value).columnGap;\n\t\t\t\tconst numberAsString = gapString.replaceAll(/\\D/g, '');\n\t\t\t\tconst gap = Number(numberAsString);\n\t\t\t\tbuttonFootprint.value = button.clientWidth + gap;\n\t\t\t}\n\t\t\tobserver.observe(outercontainer.value);\n\t\t}\n\t});\n\tonBeforeUnmount(() => {\n\t\tobserver.disconnect();\n\t});\n}\n\nconst range = computed(() => {\n\tif (\n\t\ttotalPages.value <= 0 ||\n\t\tisNaN(totalPages.value) ||\n\t\ttotalPages.value > Number.MAX_SAFE_INTEGER\n\t)\n\t\treturn [];\n\n\tif (maxSize.value <= 1) return [props.modelValue];\n\n\tif (totalPages.value <= maxSize.value) {\n\t\treturn createRange(totalPages.value, start.value);\n\t}\n\n\tconst even = maxSize.value % 2 === 0;\n\tconst middle = even ? maxSize.value / 2 : Math.floor(maxSize.value / 2);\n\tconst left = even ? middle : middle + 1;\n\tconst right = totalPages.value - middle;\n\n\tif (left - props.modelValue >= 0) {\n\t\treturn [\n\t\t\t...createRange(Math.max(1, maxSize.value - 1), start.value),\n\t\t\tprops.ellipsis,\n\t\t\ttotalPages.value,\n\t\t];\n\t} else if (props.modelValue - right >= (even ? 1 : 0)) {\n\t\tconst rangeLength = maxSize.value - 1;\n\t\tconst rangeStart = totalPages.value - rangeLength + start.value;\n\t\treturn [\n\t\t\tstart.value,\n\t\t\tprops.ellipsis,\n\t\t\t...createRange(rangeLength, rangeStart),\n\t\t];\n\t} else {\n\t\tconst rangeLength = Math.max(1, maxSize.value - 3);\n\t\tconst rangeStart =\n\t\t\trangeLength === 1\n\t\t\t\t? props.modelValue\n\t\t\t\t: props.modelValue - Math.ceil(rangeLength / 2) + start.value;\n\t\treturn [\n\t\t\tstart.value,\n\t\t\tprops.ellipsis,\n\t\t\t...createRange(rangeLength, rangeStart),\n\t\t\tprops.ellipsis,\n\t\t\ttotalPages.value,\n\t\t];\n\t}\n});\n\ntype Item =\n\t| {\n\t\t\tactive: boolean;\n\t\t\tkey: string;\n\t\t\tpage: string;\n\t\t\tellipsis: true;\n\t\t\tdisabled: boolean;\n\t }\n\t| {\n\t\t\tactive: boolean;\n\t\t\tkey: number;\n\t\t\tpage: number;\n\t\t\tellipsis: false;\n\t\t\tdisabled: boolean;\n\t };\n\nconst items = computed<Item[]>(() => {\n\treturn range.value.map((item, index) => {\n\t\tif (typeof item === 'string') {\n\t\t\treturn {\n\t\t\t\tactive: false,\n\t\t\t\tkey: `ellipsis-${index}`,\n\t\t\t\tpage: item,\n\t\t\t\tellipsis: true,\n\t\t\t\tdisabled: true,\n\t\t\t};\n\t\t} else {\n\t\t\tconst active = item === props.modelValue;\n\t\t\treturn {\n\t\t\t\tactive,\n\t\t\t\tkey: item,\n\t\t\t\tpage: item,\n\t\t\t\tellipsis: false,\n\t\t\t\tdisabled: !!props.disabled || +props.totalPages < 2 || props.loading,\n\t\t\t};\n\t\t}\n\t});\n});\n\nconst createRange = (length: number, start = 0): number[] => {\n\treturn Array.from({ length }, (_, k) => start + k);\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbPagination';\n</style>\n"],"names":["props","__props","emit","__emit","totalPages","computed","start","ref","maxSize","outercontainer","innercontainer","buttonFootprint","adjustMaxElements","nextTick","observer","debounce","onMounted","button","numberAsString","gap","onBeforeUnmount","range","createRange","even","middle","left","right","rangeLength","rangeStart","items","item","index","length","_","k"],"mappings":"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"}