bitboss-ui 2.0.5 → 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 (435) 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} +1 -1
  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 -81
  132. package/dist/index197.js.map +1 -1
  133. package/dist/index198.js +81 -3
  134. package/dist/index198.js.map +1 -1
  135. package/dist/index199.js +2 -5
  136. package/dist/index199.js.map +1 -1
  137. package/dist/index200.js +2 -16
  138. package/dist/index200.js.map +1 -1
  139. package/dist/index201.js +4 -16
  140. package/dist/index201.js.map +1 -1
  141. package/dist/index202.js +2 -19
  142. package/dist/index202.js.map +1 -1
  143. package/dist/index203.js +8 -19
  144. package/dist/index203.js.map +1 -1
  145. package/dist/index204.js +124 -25
  146. package/dist/index204.js.map +1 -1
  147. package/dist/index205.js +5 -3
  148. package/dist/index205.js.map +1 -1
  149. package/dist/index206.js +123 -2
  150. package/dist/index206.js.map +1 -1
  151. package/dist/index207.js +19 -8
  152. package/dist/index207.js.map +1 -1
  153. package/dist/index208.js +14 -247
  154. package/dist/index208.js.map +1 -1
  155. package/dist/index209.js +19 -0
  156. package/dist/index209.js.map +1 -0
  157. package/dist/{index20.js → index21.js} +26 -27
  158. package/dist/index21.js.map +1 -0
  159. package/dist/index210.js +2 -52
  160. package/dist/index210.js.map +1 -1
  161. package/dist/index211.js +2 -37
  162. package/dist/index211.js.map +1 -1
  163. package/dist/index212.js +35 -5
  164. package/dist/index212.js.map +1 -1
  165. package/dist/index213.js +174 -41
  166. package/dist/index213.js.map +1 -1
  167. package/dist/index214.js +6 -2
  168. package/dist/index214.js.map +1 -1
  169. package/dist/index215.js +43 -4
  170. package/dist/index215.js.map +1 -1
  171. package/dist/index217.js +13 -2
  172. package/dist/index217.js.map +1 -1
  173. package/dist/index218.js +4 -41
  174. package/dist/index218.js.map +1 -1
  175. package/dist/{index233.js → index219.js} +4 -4
  176. package/dist/{index233.js.map → index219.js.map} +1 -1
  177. package/dist/index220.js +19 -13
  178. package/dist/index220.js.map +1 -1
  179. package/dist/index221.js +25 -156
  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 +252 -0
  184. package/dist/index223.js.map +1 -0
  185. package/dist/index224.js +52 -3
  186. package/dist/index224.js.map +1 -1
  187. package/dist/index225.js +44 -35
  188. package/dist/index225.js.map +1 -1
  189. package/dist/index226.js +5 -6
  190. package/dist/index226.js.map +1 -1
  191. package/dist/index227.js +49 -7
  192. package/dist/index227.js.map +1 -1
  193. package/dist/index228.js +3 -126
  194. package/dist/index228.js.map +1 -1
  195. package/dist/index229.js +3 -123
  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 -2
  200. package/dist/index230.js.map +1 -1
  201. package/dist/index231.js +152 -168
  202. package/dist/index231.js.map +1 -1
  203. package/dist/index232.js +84 -5
  204. package/dist/index232.js.map +1 -1
  205. package/dist/index234.js +2 -3
  206. package/dist/index234.js.map +1 -1
  207. package/dist/index235.js +1 -1
  208. package/dist/index236.js +3 -3
  209. package/dist/index238.js +2 -2
  210. package/dist/index243.js +4 -224
  211. package/dist/index243.js.map +1 -1
  212. package/dist/index244.js +6 -281
  213. package/dist/index244.js.map +1 -1
  214. package/dist/index245.js +16 -6
  215. package/dist/index245.js.map +1 -1
  216. package/dist/index246.js +9 -2
  217. package/dist/index246.js.map +1 -1
  218. package/dist/index247.js +23 -2
  219. package/dist/index247.js.map +1 -1
  220. package/dist/index248.js +9 -2
  221. package/dist/index248.js.map +1 -1
  222. package/dist/index249.js +281 -2
  223. package/dist/index249.js.map +1 -1
  224. package/dist/{index24.js → index25.js} +6 -6
  225. package/dist/{index24.js.map → index25.js.map} +1 -1
  226. package/dist/index250.js +6 -2
  227. package/dist/index250.js.map +1 -1
  228. package/dist/index251.js +2 -2
  229. package/dist/index252.js +2 -3
  230. package/dist/index252.js.map +1 -1
  231. package/dist/index253.js +2 -2
  232. package/dist/index254.js +2 -2
  233. package/dist/index255.js +2 -2
  234. package/dist/index256.js +122 -24
  235. package/dist/index256.js.map +1 -1
  236. package/dist/index257.js +429 -20
  237. package/dist/index257.js.map +1 -1
  238. package/dist/index258.js +6 -0
  239. package/dist/index258.js.map +1 -0
  240. package/dist/index260.js +6 -3
  241. package/dist/index260.js.map +1 -1
  242. package/dist/index261.js +21 -8
  243. package/dist/index261.js.map +1 -1
  244. package/dist/index263.js +2 -3
  245. package/dist/index263.js.map +1 -1
  246. package/dist/index264.js +5 -0
  247. package/dist/index264.js.map +1 -0
  248. package/dist/index265.js +1 -5
  249. package/dist/index265.js.map +1 -1
  250. package/dist/index266.js +2 -16
  251. package/dist/index266.js.map +1 -1
  252. package/dist/index267.js +2 -9
  253. package/dist/index267.js.map +1 -1
  254. package/dist/index268.js +2 -3
  255. package/dist/index268.js.map +1 -1
  256. package/dist/index269.js +28 -12
  257. package/dist/index269.js.map +1 -1
  258. package/dist/{index26.js → index27.js} +4 -4
  259. package/dist/{index26.js.map → index27.js.map} +1 -1
  260. package/dist/index270.js +21 -8
  261. package/dist/index270.js.map +1 -1
  262. package/dist/index272.js +224 -17
  263. package/dist/index272.js.map +1 -1
  264. package/dist/index273.js +82 -424
  265. package/dist/index273.js.map +1 -1
  266. package/dist/index274.js +197 -86
  267. package/dist/index274.js.map +1 -1
  268. package/dist/index275.js +436 -2
  269. package/dist/index275.js.map +1 -1
  270. package/dist/index276.js +126 -68
  271. package/dist/index276.js.map +1 -1
  272. package/dist/index278.js +2 -200
  273. package/dist/index278.js.map +1 -1
  274. package/dist/index279.js +9 -2
  275. package/dist/index279.js.map +1 -1
  276. package/dist/index280.js +68 -125
  277. package/dist/index280.js.map +1 -1
  278. package/dist/index281.js +3 -22
  279. package/dist/index281.js.map +1 -1
  280. package/dist/index282.js +15 -0
  281. package/dist/index282.js.map +1 -0
  282. package/dist/index283.js +7 -434
  283. package/dist/index283.js.map +1 -1
  284. package/dist/index284.js +16 -126
  285. package/dist/index284.js.map +1 -1
  286. package/dist/index287.js +12 -12
  287. package/dist/index287.js.map +1 -1
  288. package/dist/index288.js +18 -0
  289. package/dist/index288.js.map +1 -0
  290. package/dist/index289.js +4 -15
  291. package/dist/index289.js.map +1 -1
  292. package/dist/{index28.js → index29.js} +19 -19
  293. package/dist/index29.js.map +1 -0
  294. package/dist/index290.js +4 -7
  295. package/dist/index290.js.map +1 -1
  296. package/dist/index291.js +57 -17
  297. package/dist/index291.js.map +1 -1
  298. package/dist/index292.js +34 -6
  299. package/dist/index292.js.map +1 -1
  300. package/dist/index293.js +7 -4
  301. package/dist/index293.js.map +1 -1
  302. package/dist/index294.js +19 -4
  303. package/dist/index294.js.map +1 -1
  304. package/dist/index295.js +6 -58
  305. package/dist/index295.js.map +1 -1
  306. package/dist/index296.js +2 -35
  307. package/dist/index296.js.map +1 -1
  308. package/dist/index298.js +47 -2
  309. package/dist/index298.js.map +1 -1
  310. package/dist/index300.js +424 -0
  311. package/dist/index300.js.map +1 -0
  312. package/dist/index301.js +42 -416
  313. package/dist/index301.js.map +1 -1
  314. package/dist/{index30.js → index31.js} +4 -4
  315. package/dist/{index30.js.map → index31.js.map} +1 -1
  316. package/dist/{index32.js → index33.js} +41 -40
  317. package/dist/index33.js.map +1 -0
  318. package/dist/{index34.js → index35.js} +19 -18
  319. package/dist/{index34.js.map → index35.js.map} +1 -1
  320. package/dist/{index36.js → index37.js} +8 -7
  321. package/dist/index37.js.map +1 -0
  322. package/dist/{index38.js → index39.js} +4 -3
  323. package/dist/index39.js.map +1 -0
  324. package/dist/index4.js +14 -40
  325. package/dist/index4.js.map +1 -1
  326. package/dist/{index40.js → index41.js} +4 -4
  327. package/dist/{index40.js.map → index41.js.map} +1 -1
  328. package/dist/{index42.js → index43.js} +32 -31
  329. package/dist/{index42.js.map → index43.js.map} +1 -1
  330. package/dist/{index44.js → index45.js} +9 -9
  331. package/dist/index45.js.map +1 -0
  332. package/dist/{index46.js → index47.js} +3 -3
  333. package/dist/{index46.js.map → index47.js.map} +1 -1
  334. package/dist/{index48.js → index49.js} +4 -4
  335. package/dist/{index48.js.map → index49.js.map} +1 -1
  336. package/dist/index5.js +38 -76
  337. package/dist/index5.js.map +1 -1
  338. package/dist/index51.js +95 -0
  339. package/dist/index51.js.map +1 -0
  340. package/dist/{index52.js → index53.js} +3 -3
  341. package/dist/{index52.js.map → index53.js.map} +1 -1
  342. package/dist/{index54.js → index55.js} +3 -3
  343. package/dist/{index54.js.map → index55.js.map} +1 -1
  344. package/dist/{index56.js → index57.js} +2 -2
  345. package/dist/{index56.js.map → index57.js.map} +1 -1
  346. package/dist/{index58.js → index59.js} +7 -6
  347. package/dist/{index58.js.map → index59.js.map} +1 -1
  348. package/dist/index6.js +78 -62
  349. package/dist/index6.js.map +1 -1
  350. package/dist/{index60.js → index61.js} +3 -3
  351. package/dist/{index60.js.map → index61.js.map} +1 -1
  352. package/dist/{index62.js → index63.js} +3 -3
  353. package/dist/{index62.js.map → index63.js.map} +1 -1
  354. package/dist/{index64.js → index65.js} +5 -5
  355. package/dist/{index64.js.map → index65.js.map} +1 -1
  356. package/dist/{index66.js → index67.js} +3 -3
  357. package/dist/{index66.js.map → index67.js.map} +1 -1
  358. package/dist/{index68.js → index69.js} +2 -2
  359. package/dist/{index68.js.map → index69.js.map} +1 -1
  360. package/dist/index7.js +60 -18
  361. package/dist/index7.js.map +1 -1
  362. package/dist/{index70.js → index71.js} +9 -9
  363. package/dist/{index70.js.map → index71.js.map} +1 -1
  364. package/dist/{index72.js → index73.js} +3 -3
  365. package/dist/{index72.js.map → index73.js.map} +1 -1
  366. package/dist/{index74.js → index75.js} +5 -5
  367. package/dist/{index74.js.map → index75.js.map} +1 -1
  368. package/dist/index77.js +37 -120
  369. package/dist/index77.js.map +1 -1
  370. package/dist/index78.js +130 -0
  371. package/dist/index78.js.map +1 -0
  372. package/dist/index8.js +19 -7
  373. package/dist/index8.js.map +1 -1
  374. package/dist/{index79.js → index80.js} +5 -5
  375. package/dist/{index79.js.map → index80.js.map} +1 -1
  376. package/dist/{index81.js → index82.js} +7 -6
  377. package/dist/{index81.js.map → index82.js.map} +1 -1
  378. package/dist/{index83.js → index84.js} +7 -7
  379. package/dist/{index83.js.map → index84.js.map} +1 -1
  380. package/dist/{index85.js → index86.js} +3 -3
  381. package/dist/{index85.js.map → index86.js.map} +1 -1
  382. package/dist/{index87.js → index88.js} +3 -3
  383. package/dist/{index87.js.map → index88.js.map} +1 -1
  384. package/dist/index9.js +7 -78
  385. package/dist/index9.js.map +1 -1
  386. package/dist/{index89.js → index90.js} +3 -3
  387. package/dist/{index89.js.map → index90.js.map} +1 -1
  388. package/dist/{index91.js → index92.js} +3 -3
  389. package/dist/{index91.js.map → index92.js.map} +1 -1
  390. package/dist/{index93.js → index94.js} +1 -1
  391. package/dist/index94.js.map +1 -0
  392. package/dist/{index95.js → index96.js} +3 -3
  393. package/dist/{index95.js.map → index96.js.map} +1 -1
  394. package/dist/{index97.js → index98.js} +3 -3
  395. package/dist/{index97.js.map → index98.js.map} +1 -1
  396. package/dist/style.css +1 -1
  397. package/package.json +2 -2
  398. package/dist/index119.js +0 -47
  399. package/dist/index119.js.map +0 -1
  400. package/dist/index161.js.map +0 -1
  401. package/dist/index163.js +0 -6
  402. package/dist/index163.js.map +0 -1
  403. package/dist/index171.js +0 -5
  404. package/dist/index171.js.map +0 -1
  405. package/dist/index18.js.map +0 -1
  406. package/dist/index185.js.map +0 -1
  407. package/dist/index187.js +0 -6
  408. package/dist/index187.js.map +0 -1
  409. package/dist/index20.js.map +0 -1
  410. package/dist/index216.js +0 -5
  411. package/dist/index216.js.map +0 -1
  412. package/dist/index22.js.map +0 -1
  413. package/dist/index259.js +0 -10
  414. package/dist/index259.js.map +0 -1
  415. package/dist/index262.js +0 -26
  416. package/dist/index262.js.map +0 -1
  417. package/dist/index271.js +0 -12
  418. package/dist/index271.js.map +0 -1
  419. package/dist/index28.js.map +0 -1
  420. package/dist/index299.js +0 -50
  421. package/dist/index299.js.map +0 -1
  422. package/dist/index3.js +0 -17
  423. package/dist/index3.js.map +0 -1
  424. package/dist/index302.js +0 -50
  425. package/dist/index302.js.map +0 -1
  426. package/dist/index32.js.map +0 -1
  427. package/dist/index36.js.map +0 -1
  428. package/dist/index38.js.map +0 -1
  429. package/dist/index44.js.map +0 -1
  430. package/dist/index50.js +0 -97
  431. package/dist/index50.js.map +0 -1
  432. package/dist/index76.js +0 -47
  433. package/dist/index76.js.map +0 -1
  434. package/dist/index93.js.map +0 -1
  435. package/dist/index99.js.map +0 -1
package/dist/index119.js DELETED
@@ -1,47 +0,0 @@
1
- import { defineComponent as c, openBlock as t, createElementBlock as o, createElementVNode as l, renderSlot as r, createTextVNode as i, toDisplayString as p, withModifiers as _, createCommentVNode as d } from "vue";
2
- const b = { class: "bb-chip" }, h = { class: "bb-chip__content" }, m = ["aria-label"], u = {
3
- "aria-hidden": "true",
4
- class: "v-icon__svg",
5
- role: "img",
6
- style: { height: "20px", width: "20px" },
7
- viewBox: "0 0 20 20",
8
- xmlns: "http://www.w3.org/2000/svg"
9
- }, L = /* @__PURE__ */ l("path", {
10
- d: "M15 6.375L14.125 5.5L10 9.625L5.875 5.5L5 6.375L9.125 10.5L5 14.625L5.875 15.5L10 11.375L14.125 15.5L15 14.625L10.875 10.5L15 6.375Z",
11
- fill: "currentColor"
12
- }, null, -1), f = [
13
- L
14
- ], v = /* @__PURE__ */ c({
15
- __name: "BbChip",
16
- props: {
17
- text: {},
18
- clearable: { type: Boolean, default: !0 },
19
- clearableLabel: { default: "Elimina" }
20
- },
21
- emits: ["click:clear"],
22
- setup(g, { emit: a }) {
23
- const s = a, n = (e) => {
24
- s("click:clear", e);
25
- };
26
- return (e, w) => (t(), o("span", b, [
27
- l("span", h, [
28
- r(e.$slots, "default", {}, () => [
29
- i(p(e.text), 1)
30
- ])
31
- ]),
32
- e.clearable ? (t(), o("button", {
33
- key: 0,
34
- "aria-label": e.clearableLabel,
35
- class: "bb-chip__clear-button",
36
- type: "button",
37
- onClick: _(n, ["stop", "prevent"])
38
- }, [
39
- (t(), o("svg", u, f))
40
- ], 8, m)) : d("", !0)
41
- ]));
42
- }
43
- });
44
- export {
45
- v as default
46
- };
47
- //# sourceMappingURL=index119.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index119.js","sources":["../src/components/BbChip/BbChip.vue"],"sourcesContent":["<template>\n\t<span class=\"bb-chip\"\n\t\t><span class=\"bb-chip__content\"\n\t\t\t><slot>{{ text }}</slot></span\n\t\t><button\n\t\t\tv-if=\"clearable\"\n\t\t\t:aria-label=\"clearableLabel\"\n\t\t\tclass=\"bb-chip__clear-button\"\n\t\t\ttype=\"button\"\n\t\t\t@click.stop.prevent=\"onClear\"\n\t\t>\n\t\t\t<svg\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclass=\"v-icon__svg\"\n\t\t\t\trole=\"img\"\n\t\t\t\tstyle=\"height: 20px; width: 20px\"\n\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\td=\"M15 6.375L14.125 5.5L10 9.625L5.875 5.5L5 6.375L9.125 10.5L5 14.625L5.875 15.5L10 11.375L14.125 15.5L15 14.625L10.875 10.5L15 6.375Z\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t/>\n\t\t\t</svg></button\n\t></span>\n</template>\n\n<script setup lang=\"ts\">\nimport type { CommonProps } from '@/types/CommonProps';\n\nexport type BbChipProps = Pick<CommonProps, 'text'> & {\n\t/**\n\t * Renders a button with a close icon. Used to indicate the possibility of deleting the item.\n\t */\n\tclearable?: boolean;\n\t/**\n\t * The label the clearing button must have\n\t */\n\tclearableLabel?: string;\n};\n\nwithDefaults(defineProps<BbChipProps>(), {\n\tclearable: true,\n\tclearableLabel: 'Elimina',\n});\n\nexport type BbChipEvents = {\n\t(e: 'click:clear', event: MouseEvent): void;\n};\n\ndefineSlots<{\n\tdefault?: (props: object) => any;\n}>();\n\nconst emit = defineEmits(['click:clear']);\nconst onClear = (event: MouseEvent) => {\n\temit('click:clear', event);\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbChip';\n</style>\n"],"names":["emit","__emit","onClear","event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAsDA,UAAMA,IAAOC,GACPC,IAAU,CAACC,MAAsB;AACtC,MAAAH,EAAK,eAAeG,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index161.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/dist/index163.js DELETED
@@ -1,6 +0,0 @@
1
- import o from "./index64.js";
2
- /* empty css */
3
- export {
4
- o as default
5
- };
6
- //# sourceMappingURL=index163.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index163.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/dist/index171.js DELETED
@@ -1,5 +0,0 @@
1
- import f from "./index76.js";
2
- export {
3
- f as default
4
- };
5
- //# sourceMappingURL=index171.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index171.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index18.js","sources":["../src/components/BaseDatePicker/BaseDatePicker.vue"],"sourcesContent":["<template>\n\t<div class=\"bb-base-date-picker\">\n\t\t<Header :cursor=\"cursor\" :disabled=\"!!disabled\" :hidden=\"!header\" />\n\t\t<div class=\"bb-base-date-picker__body\">\n\t\t\t<div class=\"bb-base-date-picker__controls\">\n\t\t\t\t<BaseButton\n\t\t\t\t\tclass=\"bb-base-date-picker__left-control bb-base-date-picker__month-control\"\n\t\t\t\t\t@click=\"toggleMode('month')\"\n\t\t\t\t>\n\t\t\t\t\t{{ cursor.format('MMMM YYYY') }}\n\t\t\t\t\t<span>Seleziona un mese</span>\n\t\t\t\t</BaseButton>\n\t\t\t\t<BaseButton\n\t\t\t\t\tclass=\"bb-base-date-picker__left-control bb-base-date-picker__year-control\"\n\t\t\t\t\t@click=\"toggleMode('year')\"\n\t\t\t\t>\n\t\t\t\t\t<svg\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\theight=\"6\"\n\t\t\t\t\t\tviewBox=\"0 0 10 6\"\n\t\t\t\t\t\twidth=\"10\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M5.24124 5.81871L9.52771 1.39839C9.79517 1.12257 9.63305 0.595276 9.28077 0.595276H0.707839C0.355562 0.595276 0.193433 1.12257 0.460901 1.39839L4.74736 5.81871C4.88946 5.96524 5.09914 5.96524 5.24124 5.81871Z\"\n\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t<span>Seleziona anno</span>\n\t\t\t\t</BaseButton>\n\t\t\t\t<BaseButton\n\t\t\t\t\tclass=\"bb-base-date-picker__previous-month-button\"\n\t\t\t\t\t:disabled=\"disabled || mode !== 'day'\"\n\t\t\t\t\t@click=\"decreaseMonth\"\n\t\t\t\t>\n\t\t\t\t\t<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M13.939 4.939 6.879 12l7.06 7.061 2.122-2.122L11.121 12l4.94-4.939z\"\n\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t<span>Vai indietro di un mese</span>\n\t\t\t\t</BaseButton>\n\t\t\t\t<BaseButton\n\t\t\t\t\tclass=\"bb-base-date-picker__next-month-button\"\n\t\t\t\t\t:disabled=\"disabled || mode !== 'day'\"\n\t\t\t\t\t@click=\"increaseMonth\"\n\t\t\t\t>\n\t\t\t\t\t<svg\n\t\t\t\t\t\tstyle=\"transform: rotate(180deg)\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M13.939 4.939 6.879 12l7.06 7.061 2.122-2.122L11.121 12l4.94-4.939z\"\n\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t<span>Vai avanti di un mese</span>\n\t\t\t\t</BaseButton>\n\t\t\t</div>\n\t\t\t<div class=\"bb-base-date-picker__content\">\n\t\t\t\t<DaySelector\n\t\t\t\t\t:current=\"mode === 'day'\"\n\t\t\t\t\t:cursor=\"cursor\"\n\t\t\t\t\t:disabled=\"!!disabled\"\n\t\t\t\t\t:first-day-of-week=\"firstDayOfWeek!\"\n\t\t\t\t\t:inert=\"mode !== 'day'\"\n\t\t\t\t\t:max=\"max\"\n\t\t\t\t\t:min=\"min\"\n\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t:multiple=\"multiple\"\n\t\t\t\t\t:range=\"range\"\n\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t:selectable=\"selectable\"\n\t\t\t\t\t@update:cursor=\"(value) => (cursor = value)\"\n\t\t\t\t\t@update:model-value=\"updateModelValue\"\n\t\t\t\t/>\n\t\t\t\t<SlideTransition direction=\"right\" :duration=\"500\" :gap=\"30\">\n\t\t\t\t\t<MonthSelector\n\t\t\t\t\t\tv-if=\"mode === 'month'\"\n\t\t\t\t\t\t:cursor=\"cursor\"\n\t\t\t\t\t\t:disabled=\"!!disabled\"\n\t\t\t\t\t\t@update:month=\"\n\t\t\t\t\t\t\t(month) => {\n\t\t\t\t\t\t\t\tupdateMonth(month);\n\t\t\t\t\t\t\t\tmode = 'day';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\"\n\t\t\t\t\t/>\n\t\t\t\t</SlideTransition>\n\t\t\t\t<SlideTransition direction=\"top\" :duration=\"500\" :gap=\"30\">\n\t\t\t\t\t<YearSelector\n\t\t\t\t\t\tv-if=\"mode === 'year'\"\n\t\t\t\t\t\t:cursor=\"cursor\"\n\t\t\t\t\t\t:disabled=\"!!disabled\"\n\t\t\t\t\t\t@update:year=\"\n\t\t\t\t\t\t\t(year) => {\n\t\t\t\t\t\t\t\tupdateYear(year);\n\t\t\t\t\t\t\t\tmode = 'day';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\"\n\t\t\t\t\t/>\n\t\t\t\t</SlideTransition>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { BaseButton } from '@/index';\nimport { Dayjs, default as dayjs } from 'dayjs';\nimport { default as isSameOrAfter } from 'dayjs/plugin/isSameOrAfter';\nimport { default as isSameOrBefore } from 'dayjs/plugin/isSameOrBefore';\nimport { default as it } from 'dayjs/locale/it';\nimport { default as updateLocale } from 'dayjs/plugin/updateLocale';\nimport { default as weekOfYear } from 'dayjs/plugin/weekOfYear';\nimport { hash } from '@/utilities/functions/hash';\nimport { last } from '@/utilities/functions/last';\nimport { ref } from 'vue';\nimport { useLogger } from '@/composables/useLogger';\nimport { watch } from 'vue';\nimport DaySelector from './BaseDatePickerInputDaySelector.vue';\nimport Header from './BaseDatePickerHeader.vue';\nimport MonthSelector from './BaseDatePickerMonthSelector.vue';\nimport SlideTransition from '@/components/Transitions/Slide.vue';\nimport YearSelector from './BaseDatePickerYearSelector.vue';\n\ndayjs.extend(weekOfYear);\ndayjs.extend(updateLocale);\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\ndayjs.locale(it);\n\nexport type BaseDatePickerProps = {\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Shows or hides the header of the component\n\t */\n\theader?: boolean;\n\n\t/**\n\t * Defines the first day of the week with `0` meaning Sunday and `6` meaning Saturday\n\t */\n\tfirstDayOfWeek?: (typeof it)['weekStart'];\n\n\t/**\n\t * Maximum selectable date\n\t */\n\tmax?: Date | string | number;\n\n\t/**\n\t * Minimum selectable date\n\t */\n\tmin?: Date | string | number;\n\n\t/**\n\t * Used by v-model. Can be null, a single string, or an array of strings based on whether a range or single date is needed\n\t */\n\tmodelValue: string | string[] | null;\n\n\t/**\n\t * Allows the selection of multiple items.\n\t */\n\tmultiple?: boolean;\n\n\t/**\n\t * Selects a range of dates between two dates. It selects all of the days between start and end\n\t */\n\trange?: boolean;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: boolean;\n\n\t/**\n\t * Function that accepts a `Date` object and returns a boolean. `false` meaning the date cannot be selected\n\t * @param date\n\t */\n\tselectable?: (date: Date) => boolean;\n};\n\nconst emit = defineEmits<{\n\t(event: 'update:modelValue', value: any): void;\n}>();\n\nconst props = withDefaults(defineProps<BaseDatePickerProps>(), {\n\tfirstDayOfWeek: 1,\n});\n\ndayjs.updateLocale('it', {\n\tweekStart: props.firstDayOfWeek,\n});\n\nconst logger = useLogger();\nif (props.multiple && props.range) {\n\tlogger.throw('Date picker cannot be both multiple and range.');\n}\nif (props.multiple || props.range) {\n\tif (!Array.isArray(props.modelValue)) {\n\t\tlogger.throw(\n\t\t\t'Date picker is set to select multiple dates but modelValue is not an array.'\n\t\t);\n\t}\n}\n\nconst cursor = ref<Dayjs>(dayjs());\nconst setCursor = (value: typeof props.modelValue) => {\n\tif (value) {\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length) {\n\t\t\t\tconst datesAsNumber = value.map((el) => dayjs(el).valueOf());\n\t\t\t\tif (datesAsNumber.includes(cursor.value.valueOf())) {\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tcursor.value = dayjs(last(value)).startOf('day');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tcursor.value = dayjs(value).startOf('day');\n\t\t}\n\t} else {\n\t\tcursor.value = dayjs().startOf('day');\n\t}\n};\nsetCursor(props.modelValue);\ntype Mode = 'day' | 'month' | 'year';\nconst mode = ref<Mode>('day');\nconst toggleMode = (target: Mode) => {\n\tif (mode.value === target) mode.value = 'day';\n\telse mode.value = target;\n};\n\nconst updateMonth = (monthNumber: number) => {\n\tcursor.value = cursor.value.set('month', monthNumber);\n};\n\nconst increaseMonth = () => {\n\tcursor.value = cursor.value.add(1, 'month');\n};\nconst decreaseMonth = () => {\n\tcursor.value = cursor.value.subtract(1, 'month');\n};\n\nconst updateYear = (yearNumber: number) => {\n\tcursor.value = cursor.value.set('year', yearNumber);\n};\n\nconst lastValue = ref(props.modelValue);\nconst updateModelValue = (value: any) => {\n\tlastValue.value = value;\n\temit('update:modelValue', value);\n};\n\nwatch(\n\t() => props.modelValue,\n\t() => {\n\t\tif (hash(props.modelValue) !== hash(lastValue.value)) {\n\t\t\tlastValue.value = props.modelValue;\n\t\t\tsetCursor(props.modelValue);\n\t\t}\n\t}\n);\n\nconst resetStatus = () => {\n\tmode.value = 'day';\n};\n\ndefineExpose({\n\tresetStatus,\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BaseDatePicker';\n</style>\n"],"names":["dayjs","weekOfYear","updateLocale","isSameOrAfter","isSameOrBefore","it","emit","__emit","props","__props","logger","useLogger","cursor","ref","setCursor","value","el","last","mode","toggleMode","target","updateMonth","monthNumber","increaseMonth","decreaseMonth","updateYear","yearNumber","lastValue","updateModelValue","watch","hash","__expose"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgIA,IAAAA,EAAM,OAAOC,CAAU,GACvBD,EAAM,OAAOE,CAAY,GACzBF,EAAM,OAAOG,CAAa,GAC1BH,EAAM,OAAOI,CAAc,GAC3BJ,EAAM,OAAOK,CAAE;AAuDf,UAAMC,IAAOC,GAIPC,IAAQC;AAId,IAAAT,EAAM,aAAa,MAAM;AAAA,MACxB,WAAWQ,EAAM;AAAA,IAAA,CACjB;AAED,UAAME,IAASC;AACX,IAAAH,EAAM,YAAYA,EAAM,SAC3BE,EAAO,MAAM,gDAAgD,IAE1DF,EAAM,YAAYA,EAAM,WACtB,MAAM,QAAQA,EAAM,UAAU,KAC3BE,EAAA;AAAA,MACN;AAAA,IAAA;AAKG,UAAAE,IAASC,EAAWb,EAAA,CAAO,GAC3Bc,IAAY,CAACC,MAAmC;AACrD,UAAIA;AACC,YAAA,MAAM,QAAQA,CAAK;AACtB,cAAIA,EAAM,QAAQ;AAEjB,gBADsBA,EAAM,IAAI,CAACC,MAAOhB,EAAMgB,CAAE,EAAE,QAAA,CAAS,EACzC,SAASJ,EAAO,MAAM,QAAS,CAAA;AAChD;AAEA,YAAAA,EAAO,QAAQZ,EAAMiB,EAAKF,CAAK,CAAC,EAAE,QAAQ,KAAK;AAC/C;AAAA,UAEF;AAAA;AAEA,UAAAH,EAAO,QAAQZ,EAAMe,CAAK,EAAE,QAAQ,KAAK;AAAA;AAG1C,QAAAH,EAAO,QAAQZ,EAAQ,EAAA,QAAQ,KAAK;AAAA,IACrC;AAED,IAAAc,EAAUN,EAAM,UAAU;AAEpB,UAAAU,IAAOL,EAAU,KAAK,GACtBM,IAAa,CAACC,MAAiB;AACpC,MAAIF,EAAK,UAAUE,IAAQF,EAAK,QAAQ,UAC9B,QAAQE;AAAA,IAAA,GAGbC,IAAc,CAACC,MAAwB;AAC5C,MAAAV,EAAO,QAAQA,EAAO,MAAM,IAAI,SAASU,CAAW;AAAA,IAAA,GAG/CC,IAAgB,MAAM;AAC3B,MAAAX,EAAO,QAAQA,EAAO,MAAM,IAAI,GAAG,OAAO;AAAA,IAAA,GAErCY,IAAgB,MAAM;AAC3B,MAAAZ,EAAO,QAAQA,EAAO,MAAM,SAAS,GAAG,OAAO;AAAA,IAAA,GAG1Ca,IAAa,CAACC,MAAuB;AAC1C,MAAAd,EAAO,QAAQA,EAAO,MAAM,IAAI,QAAQc,CAAU;AAAA,IAAA,GAG7CC,IAAYd,EAAIL,EAAM,UAAU,GAChCoB,IAAmB,CAACb,MAAe;AACxC,MAAAY,EAAU,QAAQZ,GAClBT,EAAK,qBAAqBS,CAAK;AAAA,IAAA;AAGhC,WAAAc;AAAA,MACC,MAAMrB,EAAM;AAAA,MACZ,MAAM;AACL,QAAIsB,EAAKtB,EAAM,UAAU,MAAMsB,EAAKH,EAAU,KAAK,MAClDA,EAAU,QAAQnB,EAAM,YACxBM,EAAUN,EAAM,UAAU;AAAA,MAE5B;AAAA,IAAA,GAOYuB,EAAA;AAAA,MACZ,aALmB,MAAM;AACzB,QAAAb,EAAK,QAAQ;AAAA,MAAA;AAAA,IAIb,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index185.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/dist/index187.js DELETED
@@ -1,6 +0,0 @@
1
- import o from "./index99.js";
2
- /* empty css */
3
- export {
4
- o as default
5
- };
6
- //# sourceMappingURL=index187.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index187.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index20.js","sources":["../src/components/BaseDatePickerInput/BaseDatePickerInput.vue"],"sourcesContent":["<template>\n\t<CommonInputOuterContainer\n\t\tref=\"outerContainer\"\n\t\t:class=\"classes\"\n\t\t@focusin=\"onFocusIn\"\n\t>\n\t\t<template #prepend-outer><slot name=\"prepend-outer\"></slot></template>\n\t\t<CommonInputInnerContainer\n\t\t\tref=\"innerContainer\"\n\t\t\t:append:icon=\"props['append:icon']\"\n\t\t\t:prepend:icon=\"props['prepend:icon']\"\n\t\t>\n\t\t\t<template #prepend><slot name=\"prepend\" /></template>\n\t\t\t<template #prefix><slot name=\"prefix\" /></template>\n\n\t\t\t<input\n\t\t\t\t:id=\"id\"\n\t\t\t\tref=\"input\"\n\t\t\t\tv-maska\n\t\t\t\t:aria-describedby=\"`bdpi_description_${id}`\"\n\t\t\t\t:autocomplete=\"autocomplete\"\n\t\t\t\t:autofocus=\"autofocus\"\n\t\t\t\t:data-maska=\"props.range ? '##/##/#### - ##/##/####' : '##/##/####'\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:inputmode=\"inputmode\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:readonly=\"readonly || range || !allowWriting\"\n\t\t\t\t:required=\"required\"\n\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t\tsize=\"1\"\n\t\t\t\t:type=\"'text'\"\n\t\t\t\t:value=\"displayValue\"\n\t\t\t\t@focus=\"onFocus\"\n\t\t\t/>\n\t\t\t<button\n\t\t\t\tclass=\"bb-base-date-picker-input__calendar-btn\"\n\t\t\t\t:disabled=\"disabled || readonly || !canOpenCalendar\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t@click=\"onOpenCalendar\"\n\t\t\t>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M12.6667 2.66667H3.33333C2.59695 2.66667 2 3.26363 2 4.00001V13.3333C2 14.0697 2.59695 14.6667 3.33333 14.6667H12.6667C13.403 14.6667 14 14.0697 14 13.3333V4.00001C14 3.26363 13.403 2.66667 12.6667 2.66667Z\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10.6667 1.33333V3.99999\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M5.33333 1.33333V3.99999\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M2 6.66667H14\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\n\t\t\t\t<span>{{ accessibleButtonLabel }}</span>\n\t\t\t</button>\n\t\t\t<span\n\t\t\t\t:id=\"`bdpi_description_${id}`\"\n\t\t\t\tclass=\"bb-base-date-picker-input__accessible-description\"\n\t\t\t\t>Formato della data\n\t\t\t\t{{ props.range ? 'GG/MM/AAAA - GG/MM/AAAA' : 'GG/MM/AAAA' }}</span\n\t\t\t>\n\t\t\t<template #append><slot name=\"append\" /></template>\n\t\t\t<template #suffix><slot name=\"suffix\" /></template>\n\t\t</CommonInputInnerContainer>\n\t\t<template #append-outer><slot name=\"append-outer\"></slot></template>\n\n\t\t<teleport v-if=\"shouldRenderCalendar\" to=\"body\">\n\t\t\t<span\n\t\t\t\tref=\"calendar\"\n\t\t\t\tclass=\"bb-base-date-picker-input__calendar\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t'bb-base-date-picker-input__calendar--shown': shown,\n\t\t\t\t}\"\n\t\t\t\t:style=\"calendarStyles\"\n\t\t\t>\n\t\t\t\t<SlideBack\n\t\t\t\t\t:direction=\"placement?.includes('top') ? 'bottom' : 'top'\"\n\t\t\t\t\t:duration=\"300\"\n\t\t\t\t>\n\t\t\t\t\t<KeepAlive>\n\t\t\t\t\t\t<BaseDatePicker\n\t\t\t\t\t\t\tv-if=\"shown\"\n\t\t\t\t\t\t\t:id=\"id\"\n\t\t\t\t\t\t\tv-bind=\"calendarEventListeners\"\n\t\t\t\t\t\t\tref=\"basedatepicker\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:first-day-of-week=\"firstDayOfWeek\"\n\t\t\t\t\t\t\t:max=\"max\"\n\t\t\t\t\t\t\t:min=\"min\"\n\t\t\t\t\t\t\t:model-value=\"modelValue\"\n\t\t\t\t\t\t\t:range=\"range\"\n\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t:selectable=\"selectable\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</KeepAlive>\n\t\t\t\t</SlideBack>\n\t\t\t</span>\n\t\t</teleport>\n\t</CommonInputOuterContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n\tautoUpdate,\n\tflip,\n\thide,\n\toffset,\n\tshift,\n\tuseFloating,\n} from '@floating-ui/vue';\nimport { computed, ref, watch } from 'vue';\nimport { Dayjs, default as dayjs } from 'dayjs';\nimport { default as customParseFormat } from 'dayjs/plugin/customParseFormat';\nimport { default as it } from 'dayjs/locale/it';\nimport { default as isSameOrAfter } from 'dayjs/plugin/isSameOrAfter';\nimport { default as isSameOrBefore } from 'dayjs/plugin/isSameOrBefore';\nimport { identity } from '@/utilities/functions/identity';\nimport { last } from '@/utilities/functions/last';\nimport { useFocusTrap } from '@vueuse/integrations/useFocusTrap';\nimport { useId } from '@/composables/useId';\nimport { useIntersectionObserver } from '@vueuse/core';\nimport { useMobile } from '@/composables/useMobile';\nimport { vMaska } from 'maska';\nimport { wait } from '@/utilities/functions/wait';\nimport { waitFor } from '@/utilities/functions/waitFor';\nimport BaseDatePicker from '../BaseDatePicker/BaseDatePicker.vue';\nimport CommonInputInnerContainer from '../CommonInputInnerContainer.vue';\nimport CommonInputOuterContainer from '../CommonInputOuterContainer.vue';\nimport SlideBack from '../Transitions/SlideBack.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\ndayjs.extend(customParseFormat);\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\ndayjs.locale(it);\n\nexport type BaseDatePickerInputProps = {\n\t/**\n\t * Allows typing into the input.\n\t */\n\tallowWriting?: boolean | 'not-mobile';\n\n\t/**\n\t * Name of the icon to be added at the end of the input.\n\t */\n\t// eslint-disable-next-line vue/prop-name-casing\n\t'append:icon'?: string;\n\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tautocomplete?: InputHTMLAttributes['autocomplete'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Defines the first day of the week with `0` meaning Sunday and `6` meaning Saturday\n\t */\n\tfirstDayOfWeek?: (typeof it)['weekStart'];\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Sets the component in a loading state, usually triggering some visual styles.\n\t */\n\tloading?: boolean;\n\n\t/**\n\t * Maximum selectable date\n\t */\n\tmax?: Date | string | number;\n\n\t/**\n\t * Minimum selectable date\n\t */\n\tmin?: Date | string | number;\n\n\t/**\n\t * Used by v-model. Can be null, a single string, or an array of strings based on whether a range or single date is needed\n\t */\n\tmodelValue: string | string[] | null;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there's no data.\n\t */\n\tplaceholder?: InputHTMLAttributes['placeholder'];\n\n\t/**\n\t * Name of the icon to be added at the start of the input.\n\t */\n\t// eslint-disable-next-line vue/prop-name-casing\n\t'prepend:icon'?: string;\n\n\t/**\n\t * Selects a range of dates between two dates. It selects all of the days between start and end\n\t */\n\trange?: boolean;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: boolean;\n\n\t/**\n\t * Sets the input as required.\n\t */\n\trequired?: boolean;\n\n\t/**\n\t * Function that accepts a `Date` object and returns a boolean. `false` meaning the date cannot be selected\n\t * @param date\n\t */\n\tselectable?: (date: Date) => boolean;\n\n\t/**\n\t * Width of the calendar\n\t */\n\twidth?: number | string;\n};\n\nconst props = withDefaults(defineProps<BaseDatePickerInputProps>(), {\n\tallowWriting: true,\n\tautocomplete: 'off',\n\twidth: 290,\n});\n\nexport type BaseDatePickerInputEvents = {\n\t(e: 'active'): void;\n\t(e: 'error', message: string): void;\n\t(e: 'focus', event: FocusEvent): void;\n\t(e: 'inactive'): void;\n\t(e: 'update:modelValue', value: BaseDatePickerInputProps['modelValue']): void;\n};\n\nconst emit = defineEmits<BaseDatePickerInputEvents>();\n\ndefineSlots<{\n\t'prepend-outer'?: (props: object) => any;\n\tprepend?: (props: object) => any;\n\tprefix?: (props: object) => any;\n\tappend?: (props: object) => any;\n\t'append-outer'?: (props: object) => any;\n\tsuffix?: (props: object) => any;\n}>();\n\nconst calendar = ref<HTMLElement | null>(null);\nconst outerContainer = ref<InstanceType<\n\ttypeof CommonInputOuterContainer\n> | null>(null);\nconst innerContainer = ref<InstanceType<\n\ttypeof CommonInputInnerContainer\n> | null>(null);\nconst input = ref<HTMLElement | null>(null);\nconst inputValue = ref<string | null>(null);\nconst basedatepicker = ref();\nconst id = props.id || `bdpi_${useId().id.value}`;\n\nconst { isMobile } = useMobile();\nconst inputmode = computed(() =>\n\tprops.allowWriting === 'not-mobile' && isMobile.value ? 'none' : 'numeric'\n);\n\nconst canOpenCalendar = ref(true);\nuseIntersectionObserver(\n\tinnerContainer,\n\t([{ intersectionRatio }]) => {\n\t\tif (intersectionRatio === 1) canOpenCalendar.value = true;\n\t\telse {\n\t\t\tcanOpenCalendar.value = false;\n\t\t\tif (shown.value) {\n\t\t\t\tdeactivate();\n\t\t\t\tif (innerContainer.value) {\n\t\t\t\t\tconst ic = innerContainer.value.$el;\n\t\t\t\t\tconst button: HTMLElement = ic.querySelector(\n\t\t\t\t\t\t'.bb-base-date-picker-input__calendar-btn'\n\t\t\t\t\t);\n\t\t\t\t\tbutton.focus();\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t}\n\t\t}\n\t},\n\t{ threshold: [0, 1] }\n);\n\nconst classes = computed(() => ({\n\t'bb-base-date-picker-input': true,\n\t'bb-base-date-picker-input--active': active.value,\n\t'bb-base-date-picker-input--errors': props.hasErrors,\n\t'bb-base-date-picker-input--loading': props.loading,\n\t'bb-base-date-picker-input--readonly': props.readonly,\n\t'bb-base-date-picker-input--disabled': props.disabled,\n}));\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n\tonInput: (event: Event) => {\n\t\tif (props.range) return;\n\t\tif (event.target instanceof HTMLInputElement) {\n\t\t\tinputValue.value = event.target.value;\n\t\t\tif (/\\d{2}\\/\\d{2}\\/\\d{4}/.test(event.target.value)) {\n\t\t\t\tconst date = dayjs(event.target.value, 'DD/MM/YYYY');\n\t\t\t\tif (!isDateDisabled(date)) {\n\t\t\t\t\temit('update:modelValue', date.toISOString());\n\t\t\t\t} else {\n\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\temit('update:modelValue', null);\n\t\t\t\t\temit('error', 'invalid_date_typed');\n\t\t\t\t}\n\t\t\t} else if (event.target.value === '') {\n\t\t\t\temit('update:modelValue', null);\n\t\t\t}\n\t\t}\n\t},\n};\n\n/**\n * Applies a class when the user is inside this whole component.\n * We cannot use focus within as it doesn't work for elements that are teleported.\n * Also we cannot use the <input/> if we physically move focus to the calendar so\n * we track it manually.\n */\nconst active = ref(false);\n\nconst onFocusIn = () => {\n\tif (active.value) return;\n\temit('active');\n\tactive.value = true;\n\tdocument.addEventListener('focusin', onDocumentInteraction);\n\tdocument.addEventListener('click', onDocumentInteraction);\n};\n\nconst onDocumentInteraction = (event: FocusEvent) => {\n\tif (trapIsActive.value) return;\n\tif (event.target instanceof HTMLElement) {\n\t\tif (\n\t\t\touterContainer.value?.$el &&\n\t\t\t!outerContainer.value.$el.contains(event.target) &&\n\t\t\t!calendar.value?.contains(event.target)\n\t\t) {\n\t\t\tactive.value = false;\n\t\t\temit('inactive');\n\t\t\tdocument.removeEventListener('focusin', onDocumentInteraction);\n\t\t\tdocument.removeEventListener('click', onDocumentInteraction);\n\t\t}\n\t}\n};\n\nconst getStringFromModelValue = (value: typeof props.modelValue) => {\n\tif (value) {\n\t\tif (Array.isArray(value)) {\n\t\t\tlet head;\n\t\t\tlet tail;\n\t\t\tif (value.length) head = value[0];\n\t\t\tif (value.length > 1) tail = last(value);\n\t\t\treturn [head, tail]\n\t\t\t\t.filter(identity)\n\t\t\t\t.map((el) => dayjs(el).format('DD/MM/YYYY'))\n\t\t\t\t.join(' - ');\n\t\t} else {\n\t\t\treturn dayjs(value).format('DD/MM/YYYY');\n\t\t}\n\t}\n\treturn null;\n};\n\nconst displayValue = computed(() => {\n\tif (inputValue.value) return inputValue.value;\n\treturn getStringFromModelValue(props.modelValue);\n});\n\nwatch(\n\t() => props.modelValue,\n\t(value) => {\n\t\tinputValue.value = getStringFromModelValue(value);\n\t}\n);\n\nconst { floatingStyles, placement } = useFloating(innerContainer, calendar, {\n\tplacement: 'bottom',\n\twhileElementsMounted: autoUpdate,\n\tmiddleware: [flip(), offset(5), shift({ padding: 6 }), hide()],\n});\n\nconst calendarStyles = computed(() => {\n\tconst base: Record<string, any> = {\n\t\t...floatingStyles.value,\n\t};\n\tif (!calendar.value) return base;\n\n\treturn base;\n});\n\n/**\n * We need the transitions because elements must be hidden and shown\n * to accessibility tools when they are fully closed or fully open,\n * while still being animated for sighted users.\n */\n\n// Option panel is open\nconst shown = ref(false);\n\nconst open = async () => {\n\tshown.value = true;\n};\n\nconst close = async () => {\n\tshown.value = false;\n\tbasedatepicker.value?.resetStatus();\n};\n\nconst shouldRenderCalendar = ref(false);\nconst onOpenCalendar = async () => {\n\tif (trapIsActive.value) return;\n\tshouldRenderCalendar.value = true;\n\tawait waitFor(() => !!calendar.value);\n\tawait open();\n\tactivate();\n};\n\nconst trapIsActive = ref(false);\nconst { activate, deactivate } = useFocusTrap(calendar, {\n\tonActivate: () => (trapIsActive.value = true),\n\t// On post activation focus on current date\n\tonPostActivate: () => {\n\t\tcalendar\n\t\t\t.value!.querySelector<HTMLButtonElement>(\n\t\t\t\t'.bb-base-date-picker-date--current button'\n\t\t\t)\n\t\t\t?.focus();\n\t},\n\tonPostDeactivate: async () => {\n\t\t// Wait for transition to end and for focus to return before\n\t\tawait wait(200);\n\t\ttrapIsActive.value = false;\n\t},\n\t/* On esc deactivate the trap, return focus and then close the modal */\n\tescapeDeactivates: () => {\n\t\tshouldOpen.value = false;\n\t\tclose();\n\t\treturn true;\n\t},\n\tclickOutsideDeactivates: () => {\n\t\tshouldOpen.value = false;\n\t\tclose();\n\t\treturn true;\n\t},\n\tallowOutsideClick: true,\n\tpreventScroll: true,\n});\n\nconst shouldOpen = ref(!props.allowWriting || props.range);\nconst onFocus = async (event: FocusEvent) => {\n\temit('focus', event);\n\tif (shouldOpen.value) onOpenCalendar();\n\tshouldOpen.value =\n\t\t!props.allowWriting ||\n\t\t(props.allowWriting === 'not-mobile' && isMobile.value) ||\n\t\tprops.range;\n};\n\nconst satisfiesSelection = (value: typeof props.modelValue) => {\n\treturn (\n\t\t(props.range && Array.isArray(value) && value.length === 2) ||\n\t\t(!props.range && !!value)\n\t);\n};\n\n/**\n * These events are just propagated\n */\nconst calendarEventListeners = {\n\t'onUpdate:modelValue': (value: string | string[] | null) => {\n\t\temit('update:modelValue', value);\n\t\tif (satisfiesSelection(value)) {\n\t\t\tshouldOpen.value = false;\n\t\t\tdeactivate({\n\t\t\t\tonPostDeactivate: () => {\n\t\t\t\t\ttrapIsActive.value = false;\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t},\n};\n\nconst accessibleButtonLabel = computed(() => {\n\tif (props.range) {\n\t\tif (!props.modelValue || props.modelValue.length < 2)\n\t\t\treturn `Seleziona un range`;\n\t\tconst start = dayjs(props.modelValue[0]).format('D MMMM YYYY');\n\t\tconst end = dayjs(props.modelValue[1]).format('D MMMM YYYY');\n\t\tif (props.range && props.modelValue.length === 2)\n\t\t\treturn `Cambia selezione, da ${start} a ${end}`;\n\t} else if (typeof props.modelValue === 'string') {\n\t\tconst selected = dayjs(props.modelValue).format('D MMMM YYYY');\n\t\treturn `Cambia selezione, ${selected}`;\n\t}\n\treturn 'Seleziona una data';\n});\n\nconst isDateDisabled = (date: Dayjs) => {\n\tconsole.log(date);\n\tlet passing = true;\n\tif (props.min) {\n\t\tpassing &&= date.isSameOrAfter(dayjs(props.min).startOf('day'));\n\t}\n\tif (props.max) {\n\t\tpassing &&= date.isSameOrBefore(dayjs(props.max).startOf('day'));\n\t}\n\tif (typeof props.selectable === 'function') {\n\t\tpassing &&= props.selectable(date.toDate());\n\t}\n\treturn !passing;\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BaseDatePickerInput';\n</style>\n"],"names":["dayjs","customParseFormat","isSameOrAfter","isSameOrBefore","it","props","__props","emit","__emit","calendar","ref","outerContainer","innerContainer","input","inputValue","basedatepicker","id","useId","isMobile","useMobile","inputmode","computed","canOpenCalendar","useIntersectionObserver","intersectionRatio","shown","deactivate","close","classes","active","eventListeners","event","date","isDateDisabled","onFocusIn","onDocumentInteraction","trapIsActive","_a","_b","getStringFromModelValue","value","head","tail","last","identity","el","displayValue","watch","floatingStyles","placement","useFloating","autoUpdate","flip","offset","shift","hide","calendarStyles","base","open","shouldRenderCalendar","onOpenCalendar","waitFor","activate","useFocusTrap","wait","shouldOpen","onFocus","satisfiesSelection","calendarEventListeners","accessibleButtonLabel","start","end","passing"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkJA,IAAAA,EAAM,OAAOC,EAAiB,GAC9BD,EAAM,OAAOE,EAAa,GAC1BF,EAAM,OAAOG,EAAc,GAC3BH,EAAM,OAAOI,EAAE;AA4Gf,UAAMC,IAAQC,GAcRC,IAAOC,GAWPC,IAAWC,EAAwB,IAAI,GACvCC,IAAiBD,EAEb,IAAI,GACRE,IAAiBF,EAEb,IAAI,GACRG,IAAQH,EAAwB,IAAI,GACpCI,IAAaJ,EAAmB,IAAI,GACpCK,IAAiBL,KACjBM,IAAKX,EAAM,MAAM,QAAQY,KAAQ,GAAG,KAAK,IAEzC,EAAE,UAAAC,MAAaC,MACfC,IAAYC;AAAA,MAAS,MAC1BhB,EAAM,iBAAiB,gBAAgBa,EAAS,QAAQ,SAAS;AAAA,IAAA,GAG5DI,IAAkBZ,EAAI,EAAI;AAChC,IAAAa;AAAA,MACCX;AAAA,MACA,CAAC,CAAC,EAAE,mBAAAY,EAAA,CAAmB,MAAM;AACxB,QAAAA,MAAsB,IAAGF,EAAgB,QAAQ,MAEpDA,EAAgB,QAAQ,IACpBG,EAAM,UACEC,KACPd,EAAe,SACPA,EAAe,MAAM,IACD;AAAA,UAC9B;AAAA,QAAA,EAEM,MAAM,GAERe;MAGT;AAAA,MACA,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE;AAAA,IAAA;AAGf,UAAAC,IAAUP,EAAS,OAAO;AAAA,MAC/B,6BAA6B;AAAA,MAC7B,qCAAqCQ,EAAO;AAAA,MAC5C,qCAAqCxB,EAAM;AAAA,MAC3C,sCAAsCA,EAAM;AAAA,MAC5C,uCAAuCA,EAAM;AAAA,MAC7C,uCAAuCA,EAAM;AAAA,IAC5C,EAAA,GAKIyB,IAAiB;AAAA,MACtB,SAAS,CAACC,MAAiB;AAC1B,YAAI,CAAA1B,EAAM,SACN0B,EAAM,kBAAkB;AAE3B,cADWjB,EAAA,QAAQiB,EAAM,OAAO,OAC5B,sBAAsB,KAAKA,EAAM,OAAO,KAAK,GAAG;AACnD,kBAAMC,IAAOhC,EAAM+B,EAAM,OAAO,OAAO,YAAY;AAC/C,YAACE,GAAeD,CAAI,KAGvBD,EAAM,OAAO,QAAQ,IACrBxB,EAAK,qBAAqB,IAAI,GAC9BA,EAAK,SAAS,oBAAoB,KAJ7BA,EAAA,qBAAqByB,EAAK,YAAa,CAAA;AAAA,UAMnC,MAAA,CAAAD,EAAM,OAAO,UAAU,MACjCxB,EAAK,qBAAqB,IAAI;AAAA,MAGjC;AAAA,IAAA,GASKsB,IAASnB,EAAI,EAAK,GAElBwB,IAAY,MAAM;AACvB,MAAIL,EAAO,UACXtB,EAAK,QAAQ,GACbsB,EAAO,QAAQ,IACN,SAAA,iBAAiB,WAAWM,CAAqB,GACjD,SAAA,iBAAiB,SAASA,CAAqB;AAAA,IAAA,GAGnDA,IAAwB,CAACJ,MAAsB;;AACpD,MAAIK,EAAa,SACbL,EAAM,kBAAkB,gBAE1BM,IAAA1B,EAAe,UAAf,QAAA0B,EAAsB,OACtB,CAAC1B,EAAe,MAAM,IAAI,SAASoB,EAAM,MAAM,KAC/C,GAACO,IAAA7B,EAAS,UAAT,QAAA6B,EAAgB,SAASP,EAAM,aAEhCF,EAAO,QAAQ,IACftB,EAAK,UAAU,GACN,SAAA,oBAAoB,WAAW4B,CAAqB,GACpD,SAAA,oBAAoB,SAASA,CAAqB;AAAA,IAE7D,GAGKI,IAA0B,CAACC,MAAmC;AACnE,UAAIA;AACC,YAAA,MAAM,QAAQA,CAAK,GAAG;AACrB,cAAAC,GACAC;AACJ,iBAAIF,EAAM,WAAeC,IAAAD,EAAM,CAAC,IAC5BA,EAAM,SAAS,MAAGE,IAAOC,GAAKH,CAAK,IAChC,CAACC,GAAMC,CAAI,EAChB,OAAOE,EAAQ,EACf,IAAI,CAACC,OAAO7C,EAAM6C,EAAE,EAAE,OAAO,YAAY,CAAC,EAC1C,KAAK,KAAK;AAAA,QAAA;AAEZ,iBAAO7C,EAAMwC,CAAK,EAAE,OAAO,YAAY;AAGlC,aAAA;AAAA,IAAA,GAGFM,IAAezB,EAAS,MACzBP,EAAW,QAAcA,EAAW,QACjCyB,EAAwBlC,EAAM,UAAU,CAC/C;AAED,IAAA0C;AAAA,MACC,MAAM1C,EAAM;AAAA,MACZ,CAACmC,MAAU;AACC,QAAA1B,EAAA,QAAQyB,EAAwBC,CAAK;AAAA,MACjD;AAAA,IAAA;AAGD,UAAM,EAAE,gBAAAQ,GAAgB,WAAAC,EAAA,IAAcC,GAAYtC,GAAgBH,GAAU;AAAA,MAC3E,WAAW;AAAA,MACX,sBAAsB0C;AAAA,MACtB,YAAY,CAACC,MAAQC,GAAO,CAAC,GAAGC,GAAM,EAAE,SAAS,GAAG,GAAGC,IAAM;AAAA,IAAA,CAC7D,GAEKC,IAAiBnC,EAAS,MAAM;AACrC,YAAMoC,IAA4B;AAAA,QACjC,GAAGT,EAAe;AAAA,MAAA;AAEf,aAACvC,EAAS,OAEPgD;AAAA,IAAA,CACP,GASKhC,IAAQf,EAAI,EAAK,GAEjBgD,IAAO,YAAY;AACxB,MAAAjC,EAAM,QAAQ;AAAA,IAAA,GAGTE,IAAQ,YAAY;;AACzB,MAAAF,EAAM,QAAQ,KACdY,IAAAtB,EAAe,UAAf,QAAAsB,EAAsB;AAAA,IAAY,GAG7BsB,IAAuBjD,EAAI,EAAK,GAChCkD,IAAiB,YAAY;AAClC,MAAIxB,EAAa,UACjBuB,EAAqB,QAAQ,IAC7B,MAAME,GAAQ,MAAM,CAAC,CAACpD,EAAS,KAAK,GACpC,MAAMiD,EAAK,GACFI;IAAA,GAGJ1B,IAAe1B,EAAI,EAAK,GACxB,EAAE,UAAAoD,GAAU,YAAApC,MAAeqC,GAAatD,GAAU;AAAA,MACvD,YAAY,MAAO2B,EAAa,QAAQ;AAAA;AAAA,MAExC,gBAAgB,MAAM;;AACrB,SAAAC,IAAA5B,EACE,MAAO;AAAA,UACP;AAAA,cAFF,QAAA4B,EAIG;AAAA,MACJ;AAAA,MACA,kBAAkB,YAAY;AAE7B,cAAM2B,GAAK,GAAG,GACd5B,EAAa,QAAQ;AAAA,MACtB;AAAA;AAAA,MAEA,mBAAmB,OAClB6B,EAAW,QAAQ,IACbtC,KACC;AAAA,MAER,yBAAyB,OACxBsC,EAAW,QAAQ,IACbtC,KACC;AAAA,MAER,mBAAmB;AAAA,MACnB,eAAe;AAAA,IAAA,CACf,GAEKsC,IAAavD,EAAI,CAACL,EAAM,gBAAgBA,EAAM,KAAK,GACnD6D,IAAU,OAAOnC,MAAsB;AAC5C,MAAAxB,EAAK,SAASwB,CAAK,GACfkC,EAAW,SAAsBL,KAC1BK,EAAA,QACV,CAAC5D,EAAM,gBACNA,EAAM,iBAAiB,gBAAgBa,EAAS,SACjDb,EAAM;AAAA,IAAA,GAGF8D,IAAqB,CAAC3B,MAEzBnC,EAAM,SAAS,MAAM,QAAQmC,CAAK,KAAKA,EAAM,WAAW,KACxD,CAACnC,EAAM,SAAS,CAAC,CAACmC,GAOf4B,IAAyB;AAAA,MAC9B,uBAAuB,CAAC5B,MAAoC;AAC3D,QAAAjC,EAAK,qBAAqBiC,CAAK,GAC3B2B,EAAmB3B,CAAK,MAC3ByB,EAAW,QAAQ,IACRvC,EAAA;AAAA,UACV,kBAAkB,MAAM;AACvB,YAAAU,EAAa,QAAQ,IACfT;UACP;AAAA,QAAA,CACA;AAAA,MAEH;AAAA,IAAA,GAGK0C,IAAwBhD,EAAS,MAAM;AAC5C,UAAIhB,EAAM,OAAO;AAChB,YAAI,CAACA,EAAM,cAAcA,EAAM,WAAW,SAAS;AAC3C,iBAAA;AACF,cAAAiE,IAAQtE,EAAMK,EAAM,WAAW,CAAC,CAAC,EAAE,OAAO,aAAa,GACvDkE,IAAMvE,EAAMK,EAAM,WAAW,CAAC,CAAC,EAAE,OAAO,aAAa;AAC3D,YAAIA,EAAM,SAASA,EAAM,WAAW,WAAW;AACvC,iBAAA,wBAAwBiE,CAAK,MAAMC,CAAG;AAAA,MACpC,WAAA,OAAOlE,EAAM,cAAe;AAEtC,eAAO,qBADUL,EAAMK,EAAM,UAAU,EAAE,OAAO,aAAa,CACzB;AAE9B,aAAA;AAAA,IAAA,CACP,GAEK4B,KAAiB,CAACD,MAAgB;AACvC,cAAQ,IAAIA,CAAI;AAChB,UAAIwC,IAAU;AACd,aAAInE,EAAM,OACGmE,UAAAxC,EAAK,cAAchC,EAAMK,EAAM,GAAG,EAAE,QAAQ,KAAK,CAAC,IAE3DA,EAAM,OACGmE,UAAAxC,EAAK,eAAehC,EAAMK,EAAM,GAAG,EAAE,QAAQ,KAAK,CAAC,IAE5D,OAAOA,EAAM,cAAe,cAC/BmE,UAAYnE,EAAM,WAAW2B,EAAK,OAAQ,CAAA,IAEpC,CAACwC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index216.js DELETED
@@ -1,5 +0,0 @@
1
- const o = (e) => typeof e == "boolean" ? e : e === "true";
2
- export {
3
- o as booleanishToBoolean
4
- };
5
- //# sourceMappingURL=index216.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index216.js","sources":["../src/utilities/functions/booleanishToBoolean.ts"],"sourcesContent":["/**\n * Accepts a booleanish input and returns a boolean value\n * @param input booleanish input\n * @returns\n */\nexport const booleanishToBoolean = (input: boolean | 'true' | 'false') => {\n\tif (typeof input === 'boolean') return input;\n\telse return input === 'true';\n};\n"],"names":["booleanishToBoolean","input"],"mappings":"AAKa,MAAAA,IAAsB,CAACC,MAC/B,OAAOA,KAAU,YAAkBA,IAC3BA,MAAU;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index22.js","sources":["../src/components/BaseDialog/BaseDialog.vue"],"sourcesContent":["<template>\n\t<teleport to=\"body\">\n\t\t<div v-bind=\"overlayAttributes\" ref=\"overlay\">\n\t\t\t<div v-bind=\"panelAttributes\" ref=\"panel\">\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"hasRenderedAtLeastOnce\"\n\t\t\t\t\tref=\"content\"\n\t\t\t\t\tclass=\"bb-base-dialog__content\"\n\t\t\t\t>\n\t\t\t\t\t<div ref=\"header\" class=\"bb-base-dialog__header\">\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t:close=\"onCloseClick\"\n\t\t\t\t\t\t\tname=\"header\"\n\t\t\t\t\t\t\t:title=\"title\"\n\t\t\t\t\t\t\t:title-id=\"titleId\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span :id=\"titleId\" class=\"bb-base-dialog__title\">\n\t\t\t\t\t\t\t\t<slot name=\"title\" :text=\"title\">{{ title }}</slot>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span class=\"bb-base-dialog-close\">\n\t\t\t\t\t\t\t\t<button v-if=\"showClose\" type=\"button\" @click=\"onCloseClick\">\n\t\t\t\t\t\t\t\t\t<slot name=\"close\" :text=\"closeLabel\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"bb-base-dialog-close__content\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"bb-base-dialog-close__label\">{{\n\t\t\t\t\t\t\t\t\t\t\t\tcloseLabel\n\t\t\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"bb-base-dialog-close__icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t><svg\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M23 23L1 1M23 1L1 23\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div ref=\"body\" class=\"bb-base-dialog__body\">\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t:description-id=\"descriptionId\"\n\t\t\t\t\t\t\tname=\"description\"\n\t\t\t\t\t\t\t:text=\"description\"\n\t\t\t\t\t\t\t><div\n\t\t\t\t\t\t\t\tv-if=\"description\"\n\t\t\t\t\t\t\t\t:id=\"descriptionId\"\n\t\t\t\t\t\t\t\tclass=\"bb-base-dialog__description\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ description }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div style=\"flex: 10000 10000 0%\"></div>\n\t\t\t\t\t<div ref=\"footer\" class=\"bb-base-dialog__footer\">\n\t\t\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</teleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n\tcomputed,\n\tonBeforeUnmount,\n\tonMounted,\n\tref,\n\tuseAttrs,\n\tnextTick,\n\tgetCurrentInstance,\n\twatch,\n} from 'vue';\nimport { throttle } from '@/utilities/functions/throttle';\nimport { useFocusTrap } from '@vueuse/integrations/useFocusTrap';\nimport { useId } from '@/composables/useId';\nimport { wait } from '@/utilities/functions/wait';\nimport { waitFor } from '@/utilities/functions/waitFor';\nimport type { CommonProps, Size } from '@/types/CommonProps';\nimport { useModalsState } from '@/composables/useModalsState';\nimport { useLogger } from '@/composables/useLogger';\n\nexport type Sizes = {\n\tsm: number;\n\tmd: number;\n\tlg: number;\n};\n\nexport type BaseDialogProps = Pick<\n\tCommonProps,\n\t| 'closeLabel'\n\t| 'compact'\n\t| 'disabled'\n\t| 'eager'\n\t| 'panelClasses'\n\t| 'overlayClasses'\n\t| 'persistent'\n\t| 'showClose'\n\t| 'title'\n\t| 'transition'\n\t| 'transitionDuration'\n> &\n\tSize<Sizes> & {\n\t\t/**\n\t\t * Description of the content of the modal. Extremely useful for accessibility reasons.\n\t\t */\n\t\tdescription?: string;\n\t\t/**\n\t\t * Elements that obtains focus immediately after opening the dialog.\n\t\t * By default it's the first tabbable item.\n\t\t */\n\t\tfocusTarget?: string;\n\t\t/**\n\t\t * Displays the modala as fulscreen with no margin to the page\n\t\t */\n\t\tfullscreen?: boolean;\n\t\t/**\n\t\t * Defines the state open / closed of the modal.\n\t\t */\n\t\tmodelValue?: boolean | null;\n\t};\n\nconst props = withDefaults(defineProps<BaseDialogProps>(), {\n\tcloseLabel: 'Chiudi modale',\n\tshowClose: true,\n\tsize: 'sm',\n\ttransition: 'fade',\n\ttransitionDuration: 350,\n\tpanelClasses: () => [],\n\toverlayClasses: () => [],\n});\n\nexport type BaseDialogSlots = {\n\theader?: (props: {\n\t\ttitleId: typeof titleId;\n\t\tclose: typeof onCloseClick;\n\t\ttitle: BaseDialogProps['title'];\n\t}) => any;\n\ttitle?: (props: { text: BaseDialogProps['title'] }) => any;\n\tclose?: (props: { text: BaseDialogProps['closeLabel'] }) => any;\n\tdescription?: (props: {\n\t\tdescriptionId: typeof descriptionId;\n\t\ttext: BaseDialogProps['description'];\n\t}) => any;\n\tdefault?: (props: object) => any;\n\tfooter?: (props: object) => any;\n};\n\ndefineSlots<BaseDialogSlots>();\n\nexport type BaseDialogEvents = {\n\t(e: 'shown'): void;\n\t(e: 'hidden'): void;\n\t(e: 'update:modelValue', value: boolean): void;\n};\n\nconst emit = defineEmits<BaseDialogEvents>();\n\nconst titleId = `title_${useId().id.value}`;\nconst descriptionId = `description_${useId().id.value}`;\n\nconst observer = ref<ResizeObserver | null>(null);\nconst overlay = ref<HTMLElement | null>(null);\nconst panel = ref<HTMLElement | null>(null);\nconst content = ref<HTMLElement | null>(null);\nconst header = ref<HTMLElement | null>(null);\nconst body = ref<HTMLElement | null>(null);\nconst footer = ref<HTMLElement | null>(null);\nconst height = ref<number | null>(null);\n\n// @ts-expect-error possibly undef\nconst isNuxt = !!getCurrentInstance()?.proxy?.$nuxt;\n\nconst orderInStack = ref(0);\nconst isCurrent = computed(() => {\n\tconst { openedModals } = useModalsState();\n\treturn openedModals.value && openedModals.value === orderInStack.value;\n});\n\nconst { activate, deactivate } = useFocusTrap(panel, {\n\tinitialFocus: props.focusTarget ?? undefined,\n\tclickOutsideDeactivates: (event) => {\n\t\t// This is used when other teleports are running.\n\t\t// eg if you have a select inside a modal it will be in fact outside of the modal because of teleport\n\t\treturn event.target === overlay.value;\n\t},\n\tallowOutsideClick: true,\n\t/* On esc deactivate the trap, return focus and then close the modal */\n\tescapeDeactivates: () => {\n\t\tnextTick(() => {\n\t\t\temit('update:modelValue', false);\n\t\t});\n\t\treturn true;\n\t},\n});\n\nconst attrs = useAttrs();\n\nconst closeLabel = computed(() => props.closeLabel);\n\nonMounted(async () => {\n\tif (body.value) {\n\t\tobserver.value = new ResizeObserver(onContentGrow);\n\t\tobserver.value.observe(body.value);\n\t}\n\twindow.addEventListener('resize', onContentGrow);\n\n\tonContentGrow();\n\tif (!props.modelValue && !hasRenderedAtLeastOnce.value) return;\n\tif (isNuxt && !globalThis.document) return;\n\talignToModelValue();\n});\nonBeforeUnmount(() => {\n\twindow.removeEventListener('resize', onContentGrow);\n});\n\nconst open = ref(false);\nconst opening = ref(false);\nconst closed = ref(true);\nconst closing = ref(false);\nconst hasRenderedAtLeastOnce = ref(props.eager || props.modelValue);\n\nconst busy = computed(() => opening.value || closing.value);\n\nconst restrictBody = () => {\n\tif (!globalThis.document) return;\n\tconst scrollBarWidth =\n\t\twindow.innerWidth - document.documentElement.clientWidth;\n\tdocument.body.style.overflow = 'hidden';\n\tdocument.body.style.paddingRight = `${scrollBarWidth}px`;\n};\nconst releaseBody = () => {\n\tif (!globalThis.document) return;\n\tdocument.body.style.overflow = 'auto';\n\tdocument.body.style.paddingRight = '0px';\n};\n\nonBeforeUnmount(() => {\n\tif (props.modelValue) {\n\t\tconst { openedModals, modalHasClosed } = useModalsState();\n\t\tif (openedModals.value) {\n\t\t\tmodalHasClosed();\n\t\t\torderInStack.value = 0;\n\t\t\treleaseBody();\n\t\t}\n\t}\n});\n\n/**\n * When modelValue becomes true if the component wasn't rendered render it\n * and wait for it to be on the page (or transitions would not work).\n * Stash the latest focused element so we can return it later when it closes.\n * Focus on the panel upon opening.\n * ---\n * Notice all interactions update modelValue and then this function aligns the display to it\n */\nconst alignToModelValue = async () => {\n\tif (props.modelValue) {\n\t\tif (!hasRenderedAtLeastOnce.value) {\n\t\t\thasRenderedAtLeastOnce.value = true;\n\t\t\tawait waitFor(() => !!body.value);\n\t\t\tawait nextTick();\n\t\t\tif (body.value) {\n\t\t\t\tobserver.value = new ResizeObserver(onContentGrow);\n\t\t\t\tobserver.value.observe(body.value);\n\t\t\t}\n\t\t}\n\n\t\tclosed.value = false;\n\t\tclosing.value = false;\n\t\topening.value = true;\n\n\t\t// This prevents overscroll chaining (additional scrolling to the body when the modal has been completely scrolled)\n\t\tconst { modalHasOpened, openedModals } = useModalsState();\n\t\tmodalHasOpened();\n\t\torderInStack.value = openedModals.value;\n\t\trestrictBody();\n\n\t\tawait wait(props.transitionDuration);\n\t\topening.value = false;\n\t\topen.value = true;\n\t\temit('shown');\n\t\tactivate();\n\t} else {\n\t\tdeactivate();\n\t\topening.value = false;\n\t\topen.value = false;\n\t\tclosing.value = true;\n\n\t\tawait wait(props.transitionDuration);\n\n\t\tclosing.value = false;\n\t\tclosed.value = true;\n\t\tconst { modalHasClosed, openedModals } = useModalsState();\n\t\tmodalHasClosed();\n\t\torderInStack.value = 0;\n\t\tif (!openedModals.value) {\n\t\t\treleaseBody();\n\t\t}\n\t\temit('hidden');\n\t}\n};\n/**\n * Every time modelValue changes align the display to it\n */\nwatch(\n\t() => props.modelValue,\n\t() => {\n\t\tif (!props.modelValue && !hasRenderedAtLeastOnce.value) return;\n\t\tif (isNuxt && !globalThis.document) return;\n\t\talignToModelValue();\n\t},\n\t{ flush: 'post' }\n);\n\n/**\n * Disable scrolling\n */\nconst onOverlayScroll = (event: Event) => {\n\tif (event.target === overlay.value) {\n\t\tevent.preventDefault();\n\t}\n};\n\n/**\n * Close the modal on overlay click if not persistent\n */\nconst onOverlayClick = (event: MouseEvent) => {\n\tif (props.disabled || busy.value) return;\n\tif (overlay.value) {\n\t\tif (event.target === overlay.value) {\n\t\t\tif (!props.persistent) {\n\t\t\t\temit('update:modelValue', false);\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * On click on the X button\n */\nconst onCloseClick = () => {\n\tif (props.disabled || busy.value) return;\n\tdeactivate();\n\temit('update:modelValue', false);\n};\n\nconst overlayAttributes = computed(() => {\n\tconst classes = [\n\t\t{\n\t\t\t'bb-base-dialog bb-base-dialog__overlay': true,\n\t\t\t'bb-base-dialog--fullscreen': props.fullscreen,\n\t\t\t'bb-base-dialog--faded': !isCurrent.value,\n\t\t\t'bb-base-dialog--open': open.value,\n\t\t\t'bb-base-dialog--opening': opening.value,\n\t\t\t'bb-base-dialog--closed': closed.value,\n\t\t\t'bb-base-dialog--closing': closing.value,\n\t\t\t[`bb-base-dialog--transition-${props.transition}`]: true,\n\t\t},\n\t\tprops.overlayClasses,\n\t].flat();\n\tconst eventListeners = {\n\t\tonClick: onOverlayClick,\n\t\tonScroll: onOverlayScroll,\n\t\tonTouchmove: onOverlayScroll,\n\t\tonWheel: onOverlayScroll,\n\t\tonKeydown: onOverlayScroll,\n\t};\n\n\tconst style = {\n\t\ttransitionDuration: props.transitionDuration / 1000 + 's',\n\t};\n\treturn {\n\t\tclass: classes,\n\t\tstyle,\n\t\t...eventListeners,\n\t\t...attrs,\n\t};\n});\n\nconst panelAttributes = computed(() => {\n\tconst classes = [\n\t\t{\n\t\t\t'bb-base-dialog__panel': true,\n\t\t\t'bb-base-dialog__panel--compact': props.compact,\n\t\t},\n\t\tprops.panelClasses,\n\t].flat();\n\n\tconst accessibilityAttrs: {\n\t\t[key: string]: string | boolean;\n\t} = {\n\t\trole: 'dialog',\n\t\t'aria-modal': true,\n\t};\n\n\tif (hasRenderedAtLeastOnce.value) {\n\t\tif (props.title) {\n\t\t\taccessibilityAttrs['aria-labelledby'] = titleId;\n\t\t}\n\n\t\tif (props.description)\n\t\t\taccessibilityAttrs['aria-describedby'] = descriptionId;\n\t}\n\n\tlet maxWidth;\n\tconst sizes: Sizes = {\n\t\tsm: 384,\n\t\tmd: 652,\n\t\tlg: 896,\n\t};\n\tif (props.fullscreen) maxWidth = '100%';\n\telse if (typeof props.size === 'number') maxWidth = props.size + 'px';\n\telse if (props.size in sizes)\n\t\tmaxWidth = sizes[props.size as keyof Sizes] + 'px';\n\telse maxWidth = props.size + 'px';\n\n\tconst style = {\n\t\tmaxWidth,\n\t\ttransitionDuration: props.transitionDuration / 1000 + 's',\n\t};\n\n\treturn {\n\t\tclass: classes,\n\t\tstyle,\n\t\t...accessibilityAttrs,\n\t};\n});\n\nlet calledGrowTimes = 0;\n\n/**\n * This is called when content inside body changes.\n * Gets the total height the panel needs to be\n * It could be called numerous times so throttle every 300ms\n */\nconst onContentGrow = throttle(\n\tasync () => {\n\t\tcalledGrowTimes++;\n\t\tif (calledGrowTimes === 100) {\n\t\t\tconst { error } = useLogger();\n\t\t\terror(\n\t\t\t\t'Dialog is updating its height too often. Please check the content is reliably sized.'\n\t\t\t);\n\t\t}\n\t\tif (props.fullscreen) {\n\t\t\theight.value = window.innerHeight;\n\t\t\treturn;\n\t\t}\n\t\tif (header.value && body.value && footer.value) {\n\t\t\tconst contentHeight =\n\t\t\t\theader.value.scrollHeight +\n\t\t\t\tbody.value.scrollHeight +\n\t\t\t\tfooter.value.scrollHeight +\n\t\t\t\t2;\n\t\t\t/* Add two so renderless elements at the bottom are not cut off */\n\t\t\tif (content.value) {\n\t\t\t\tcontent.value.style.height = '0px';\n\t\t\t\tcontent.value.style.height = `${contentHeight + 2}px`;\n\t\t\t\t/**\n\t\t\t\t * Run until all transitions inside have completed\n\t\t\t\t */\n\t\t\t\tawait wait(30);\n\t\t\t\tif (header.value && body.value && footer.value) {\n\t\t\t\t\tconst contentHeight2 =\n\t\t\t\t\t\theader.value.scrollHeight +\n\t\t\t\t\t\tbody.value.scrollHeight +\n\t\t\t\t\t\tfooter.value.scrollHeight +\n\t\t\t\t\t\t2;\n\t\t\t\t\tif (contentHeight !== contentHeight2) onContentGrow();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t200,\n\t{ trailing: true }\n);\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BaseDialog';\n</style>\n"],"names":["props","__props","emit","__emit","titleId","useId","descriptionId","observer","ref","overlay","panel","content","header","body","footer","height","isNuxt","_b","_a","getCurrentInstance","orderInStack","isCurrent","computed","openedModals","useModalsState","activate","deactivate","useFocusTrap","event","nextTick","attrs","useAttrs","closeLabel","onMounted","onContentGrow","hasRenderedAtLeastOnce","alignToModelValue","onBeforeUnmount","open","opening","closed","closing","busy","restrictBody","scrollBarWidth","releaseBody","modalHasClosed","waitFor","modalHasOpened","wait","watch","onOverlayScroll","onOverlayClick","onCloseClick","overlayAttributes","classes","eventListeners","style","panelAttributes","accessibilityAttrs","maxWidth","sizes","calledGrowTimes","throttle","error","useLogger","contentHeight","contentHeight2"],"mappings":"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"}
package/dist/index259.js DELETED
@@ -1,10 +0,0 @@
1
- const s = (t, e) => {
2
- const o = t.__vccOpts || t;
3
- for (const [r, c] of e)
4
- o[r] = c;
5
- return o;
6
- };
7
- export {
8
- s as default
9
- };
10
- //# sourceMappingURL=index259.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index259.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
package/dist/index262.js DELETED
@@ -1,26 +0,0 @@
1
- const e = {
2
- inert: ":not([inert]):not([inert] *)",
3
- negTabIndex: ':not([tabindex^="-"])',
4
- disabled: ":not(:disabled)"
5
- }, n = [
6
- `a[href]${e.inert}${e.negTabIndex}`,
7
- `area[href]${e.inert}${e.negTabIndex}`,
8
- `input:not([type="hidden"]):not([type="radio"])${e.inert}${e.negTabIndex}${e.disabled}`,
9
- `input[type="radio"]${e.inert}${e.negTabIndex}${e.disabled}`,
10
- `select${e.inert}${e.negTabIndex}${e.disabled}`,
11
- `textarea${e.inert}${e.negTabIndex}${e.disabled}`,
12
- `button${e.inert}${e.negTabIndex}${e.disabled}`,
13
- `details${e.inert} > summary:first-of-type${e.negTabIndex}`,
14
- // Discard until Firefox supports `:has()`
15
- // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12
16
- // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,
17
- `iframe${e.inert}${e.negTabIndex}`,
18
- `audio[controls]${e.inert}${e.negTabIndex}`,
19
- `video[controls]${e.inert}${e.negTabIndex}`,
20
- `[contenteditable]${e.inert}${e.negTabIndex}`,
21
- `[tabindex]${e.inert}${e.negTabIndex}`
22
- ];
23
- export {
24
- n as default
25
- };
26
- //# sourceMappingURL=index262.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index262.js","sources":["../node_modules/focusable-selectors/index.js"],"sourcesContent":["const not = {\n inert: ':not([inert]):not([inert] *)',\n negTabIndex: ':not([tabindex^=\"-\"])',\n disabled: ':not(:disabled)',\n}\n\nexport default [\n `a[href]${not.inert}${not.negTabIndex}`,\n `area[href]${not.inert}${not.negTabIndex}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${not.inert}${not.negTabIndex}${not.disabled}`,\n `input[type=\"radio\"]${not.inert}${not.negTabIndex}${not.disabled}`,\n `select${not.inert}${not.negTabIndex}${not.disabled}`,\n `textarea${not.inert}${not.negTabIndex}${not.disabled}`,\n `button${not.inert}${not.negTabIndex}${not.disabled}`,\n `details${not.inert} > summary:first-of-type${not.negTabIndex}`,\n // Discard until Firefox supports `:has()`\n // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12\n // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,\n `iframe${not.inert}${not.negTabIndex}`,\n `audio[controls]${not.inert}${not.negTabIndex}`,\n `video[controls]${not.inert}${not.negTabIndex}`,\n `[contenteditable]${not.inert}${not.negTabIndex}`,\n `[tabindex]${not.inert}${not.negTabIndex}`,\n]\n"],"names":["not","selectors"],"mappings":"AAAA,MAAMA,IAAM;AAAA,EACV,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AACZ,GAEeC,IAAA;AAAA,EACb,UAAUD,EAAI,KAAK,GAAGA,EAAI,WAAW;AAAA,EACrC,aAAaA,EAAI,KAAK,GAAGA,EAAI,WAAW;AAAA,EACxC,iDAAiDA,EAAI,KAAK,GAAGA,EAAI,WAAW,GAAGA,EAAI,QAAQ;AAAA,EAC3F,sBAAsBA,EAAI,KAAK,GAAGA,EAAI,WAAW,GAAGA,EAAI,QAAQ;AAAA,EAChE,SAASA,EAAI,KAAK,GAAGA,EAAI,WAAW,GAAGA,EAAI,QAAQ;AAAA,EACnD,WAAWA,EAAI,KAAK,GAAGA,EAAI,WAAW,GAAGA,EAAI,QAAQ;AAAA,EACrD,SAASA,EAAI,KAAK,GAAGA,EAAI,WAAW,GAAGA,EAAI,QAAQ;AAAA,EACnD,UAAUA,EAAI,KAAK,2BAA2BA,EAAI,WAAW;AAAA;AAAA;AAAA;AAAA,EAI7D,SAASA,EAAI,KAAK,GAAGA,EAAI,WAAW;AAAA,EACpC,kBAAkBA,EAAI,KAAK,GAAGA,EAAI,WAAW;AAAA,EAC7C,kBAAkBA,EAAI,KAAK,GAAGA,EAAI,WAAW;AAAA,EAC7C,oBAAoBA,EAAI,KAAK,GAAGA,EAAI,WAAW;AAAA,EAC/C,aAAaA,EAAI,KAAK,GAAGA,EAAI,WAAW;AAC1C;","x_google_ignoreList":[0]}
package/dist/index271.js DELETED
@@ -1,12 +0,0 @@
1
- import { get as o } from "./index297.js";
2
- const e = () => ({
3
- getItemValue(n, f) {
4
- if (typeof f > "u") return n;
5
- if (typeof f == "function") return f(n);
6
- if (typeof f == "string") return o(n, f);
7
- }
8
- });
9
- export {
10
- e as useItemValue
11
- };
12
- //# sourceMappingURL=index271.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index271.js","sources":["../src/composables/useItemValue.ts"],"sourcesContent":["import { get } from '@/utilities/functions/get';\n\nexport const useItemValue = () => ({\n\tgetItemValue<T>(item: T, getter?: string | ((item: T) => any)): any {\n\t\tif (typeof getter === 'undefined') return item;\n\t\tif (typeof getter === 'function') return getter(item);\n\t\tif (typeof getter === 'string') return get(item, getter as any);\n\t},\n});\n"],"names":["useItemValue","item","getter","get"],"mappings":";AAEO,MAAMA,IAAe,OAAO;AAAA,EAClC,aAAgBC,GAASC,GAA2C;AAC/D,QAAA,OAAOA,IAAW,IAAoB,QAAAD;AAC1C,QAAI,OAAOC,KAAW,WAAY,QAAOA,EAAOD,CAAI;AACpD,QAAI,OAAOC,KAAW,SAAiB,QAAAC,EAAIF,GAAMC,CAAa;AAAA,EAC/D;AACD;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index28.js","sources":["../src/components/BaseRadio/BaseRadio.vue"],"sourcesContent":["<template>\n\t<span v-bind=\"containerAttributes\">\n\t\t<input v-bind=\"inputAttributes\" />\n\t\t<span aria-hidden=\"true\" class=\"bb-base-radio-container\">\n\t\t\t<slot name=\"icon\" v-bind=\"slotAttributes\">\n\t\t\t\t<span v-bind=\"iconAttributes\"></span>\n\t\t\t</slot>\n\t\t</span>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport { when } from '@/utilities/functions/when';\nimport type { InputHTMLAttributes, HTMLAttributes } from 'vue';\n\nexport type BaseRadioProps = {\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tariaDescribedby?: InputHTMLAttributes['aria-describedby'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Defines the input as checked\n\t */\n\tchecked?: InputHTMLAttributes['checked'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Used by v-model. Can be any serializable type.\n\t */\n\tmodelValue?: any;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname: InputHTMLAttributes['name'];\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Sets the input as required.\n\t */\n\trequired?: boolean;\n\n\t/**\n\t * Defines the value of the radio input.\n\t * It can be any serializable value.\n\t */\n\tvalue: any;\n};\n\nexport type BaseRadioEvents = {\n\t(e: 'blur', event: FocusEvent): void;\n\t(e: 'change', event: Event): void;\n\t(e: 'click', event: MouseEvent): void;\n\t(e: 'focus', event: FocusEvent): void;\n\t(e: 'input', event: Event): void;\n\t(e: 'keydown', event: KeyboardEvent): void;\n\t(e: 'mousedown', event: MouseEvent): void;\n\t(e: 'mouseup', event: MouseEvent): void;\n\t(e: 'update:modelValue', value: any): void;\n};\n\nexport type SlotAttributes = {\n\tchecked: boolean;\n\tdisabled: Exclude<BaseRadioProps['disabled'], undefined>;\n\tfocused: boolean;\n\thasErrors: Exclude<BaseRadioProps['hasErrors'], undefined>;\n\tid: BaseRadioProps['id'];\n\tname: BaseRadioProps['name'];\n\tparsedValue: string;\n\treadonly: BaseRadioProps['readonly'];\n\tvalue: any;\n};\nconst props = defineProps<BaseRadioProps>();\n\nconst emit = defineEmits<BaseRadioEvents>();\n\ndefineSlots<{\n\ticon?: (props: SlotAttributes) => any;\n}>();\n\nconst checked = computed(() => {\n\tif (props.checked) return true;\n\treturn JSON.stringify(props.modelValue) === JSON.stringify(props.value);\n});\nconst hasFocus = ref(false);\n\nconst containerAttributes = computed(() => {\n\tconst attributes: Record<string, any> = {\n\t\tclass: {\n\t\t\t'bb-base-radio': true,\n\t\t\t'bb-base-radio--disabled': props.disabled,\n\t\t\t'bb-base-radio--errors': props.hasErrors,\n\t\t\t'bb-base-radio--readonly': props.readonly,\n\t\t\t[`bb-base-radio--${props.color}`]:\n\t\t\t\tprops.color && !isCssColor(props.color),\n\t\t},\n\t};\n\tif (props.color && isCssColor(props.color)) {\n\t\tattributes['style'] = `--color: ${props.color}`;\n\t}\n\treturn attributes;\n});\n\n/**\n * This is used to keep the value compatible to common html expected values.\n * Convert to string everything that's not but do not double encode strings\n */\nconst makeInputValue = when(\n\t(item: unknown) => typeof item !== 'string',\n\tJSON.stringify\n);\n\nconst inputAttributes = computed(() => {\n\tconst value = makeInputValue(props.value);\n\n\tconst onBlur = (event: FocusEvent): void => {\n\t\thasFocus.value = false;\n\t\temit('blur', event);\n\t};\n\tconst onChange = (event: Event): void => {\n\t\temit('change', event);\n\t\temit('update:modelValue', props.value);\n\t};\n\tconst onFocus = (event: FocusEvent): void => {\n\t\thasFocus.value = true;\n\t\temit('focus', event);\n\t};\n\n\tconst eventListeners = {\n\t\tonBlur,\n\t\tonChange,\n\t\tonClick: (event: MouseEvent) => emit('click', event),\n\t\tonFocus,\n\t\tonInput: (event: Event) => emit('input', event),\n\t\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\t\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\t\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n\t};\n\n\treturn {\n\t\t'aria-describedby': props.ariaDescribedby,\n\t\tautofocus: props.autofocus,\n\t\tchecked: checked.value,\n\t\t// There is no such thing as readonly radio so we disable and style it with css\n\t\tdisabled: props.disabled || props.readonly,\n\t\tid: props.id,\n\t\tname: props.name,\n\t\trequired: props.required,\n\t\ttabindex: props.disabled ? -1 : undefined,\n\t\ttype: 'radio',\n\t\tvalue: value,\n\t\t...eventListeners,\n\t};\n});\n\nconst slotAttributes = computed<SlotAttributes>(() => ({\n\tchecked: checked.value,\n\tdisabled: props.disabled,\n\tfocused: hasFocus.value,\n\thasErrors: props.hasErrors,\n\tid: props.id,\n\tname: props.name,\n\tparsedValue: inputAttributes.value.value,\n\treadonly: props.readonly,\n\trequired: props.required,\n\tvalue: props.value,\n}));\n\nconst iconAttributes = computed(() => {\n\tlet style: { [key: string]: string } = {};\n\tif (props.color && isCssColor(props.color)) {\n\t\tstyle.color = props.color;\n\t}\n\treturn {\n\t\tclass: 'bb-base-radio-container__icon',\n\t\tstyle,\n\t};\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BaseRadio';\n</style>\n"],"names":["props","__props","emit","__emit","checked","computed","hasFocus","ref","containerAttributes","attributes","isCssColor","makeInputValue","when","item","inputAttributes","value","eventListeners","event","slotAttributes","iconAttributes","style"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA0GA,UAAMA,IAAQC,GAERC,IAAOC,GAMPC,IAAUC,EAAS,MACpBL,EAAM,UAAgB,KACnB,KAAK,UAAUA,EAAM,UAAU,MAAM,KAAK,UAAUA,EAAM,KAAK,CACtE,GACKM,IAAWC,EAAI,EAAK,GAEpBC,IAAsBH,EAAS,MAAM;AAC1C,YAAMI,IAAkC;AAAA,QACvC,OAAO;AAAA,UACN,iBAAiB;AAAA,UACjB,2BAA2BT,EAAM;AAAA,UACjC,yBAAyBA,EAAM;AAAA,UAC/B,2BAA2BA,EAAM;AAAA,UACjC,CAAC,kBAAkBA,EAAM,KAAK,EAAE,GAC/BA,EAAM,SAAS,CAACU,EAAWV,EAAM,KAAK;AAAA,QACxC;AAAA,MAAA;AAED,aAAIA,EAAM,SAASU,EAAWV,EAAM,KAAK,MACxCS,EAAW,QAAW,YAAYT,EAAM,KAAK,KAEvCS;AAAA,IAAA,CACP,GAMKE,IAAiBC;AAAA,MACtB,CAACC,MAAkB,OAAOA,KAAS;AAAA,MACnC,KAAK;AAAA,IAAA,GAGAC,IAAkBT,EAAS,MAAM;AAChC,YAAAU,IAAQJ,EAAeX,EAAM,KAAK,GAelCgB,IAAiB;AAAA,QACtB,QAdc,CAACC,MAA4B;AAC3C,UAAAX,EAAS,QAAQ,IACjBJ,EAAK,QAAQe,CAAK;AAAA,QAAA;AAAA,QAalB,UAXgB,CAACA,MAAuB;AACxC,UAAAf,EAAK,UAAUe,CAAK,GACff,EAAA,qBAAqBF,EAAM,KAAK;AAAA,QAAA;AAAA,QAUrC,SAAS,CAACiB,MAAsBf,EAAK,SAASe,CAAK;AAAA,QACnD,SATe,CAACA,MAA4B;AAC5C,UAAAX,EAAS,QAAQ,IACjBJ,EAAK,SAASe,CAAK;AAAA,QAAA;AAAA,QAQnB,SAAS,CAACA,MAAiBf,EAAK,SAASe,CAAK;AAAA,QAC9C,WAAW,CAACA,MAAyBf,EAAK,WAAWe,CAAK;AAAA,QAC1D,aAAa,CAACA,MAAsBf,EAAK,aAAae,CAAK;AAAA,QAC3D,WAAW,CAACA,MAAsBf,EAAK,WAAWe,CAAK;AAAA,MAAA;AAGjD,aAAA;AAAA,QACN,oBAAoBjB,EAAM;AAAA,QAC1B,WAAWA,EAAM;AAAA,QACjB,SAASI,EAAQ;AAAA;AAAA,QAEjB,UAAUJ,EAAM,YAAYA,EAAM;AAAA,QAClC,IAAIA,EAAM;AAAA,QACV,MAAMA,EAAM;AAAA,QACZ,UAAUA,EAAM;AAAA,QAChB,UAAUA,EAAM,WAAW,KAAK;AAAA,QAChC,MAAM;AAAA,QACN,OAAAe;AAAA,QACA,GAAGC;AAAA,MAAA;AAAA,IACJ,CACA,GAEKE,IAAiBb,EAAyB,OAAO;AAAA,MACtD,SAASD,EAAQ;AAAA,MACjB,UAAUJ,EAAM;AAAA,MAChB,SAASM,EAAS;AAAA,MAClB,WAAWN,EAAM;AAAA,MACjB,IAAIA,EAAM;AAAA,MACV,MAAMA,EAAM;AAAA,MACZ,aAAac,EAAgB,MAAM;AAAA,MACnC,UAAUd,EAAM;AAAA,MAChB,UAAUA,EAAM;AAAA,MAChB,OAAOA,EAAM;AAAA,IACZ,EAAA,GAEImB,IAAiBd,EAAS,MAAM;AACrC,UAAIe,IAAmC,CAAA;AACvC,aAAIpB,EAAM,SAASU,EAAWV,EAAM,KAAK,MACxCoB,EAAM,QAAQpB,EAAM,QAEd;AAAA,QACN,OAAO;AAAA,QACP,OAAAoB;AAAA,MAAA;AAAA,IACD,CACA;;;;;;;;;;;"}
package/dist/index299.js DELETED
@@ -1,50 +0,0 @@
1
- import { observeElementRect as f, observeElementOffset as s, elementScroll as d, Virtualizer as p } from "./index301.js";
2
- import { defaultKeyExtractor as S, defaultRangeExtractor as V, measureElement as b } from "./index301.js";
3
- import { computed as g, unref as l, shallowRef as E, watch as o, triggerRef as i, onScopeDispose as v } from "vue";
4
- function w(e) {
5
- const t = new p(l(e)), a = E(t), u = t._didMount();
6
- return o(
7
- () => l(e).getScrollElement(),
8
- (r) => {
9
- r && t._willUpdate();
10
- },
11
- {
12
- immediate: !0
13
- }
14
- ), o(
15
- () => l(e),
16
- (r) => {
17
- t.setOptions({
18
- ...r,
19
- onChange: (c, m) => {
20
- var n;
21
- i(a), (n = r.onChange) == null || n.call(r, c, m);
22
- }
23
- }), t._willUpdate(), i(a);
24
- },
25
- {
26
- immediate: !0
27
- }
28
- ), v(u), a;
29
- }
30
- function z(e) {
31
- return w(
32
- g(() => ({
33
- observeElementRect: f,
34
- observeElementOffset: s,
35
- scrollToFn: d,
36
- ...l(e)
37
- }))
38
- );
39
- }
40
- export {
41
- p as Virtualizer,
42
- S as defaultKeyExtractor,
43
- V as defaultRangeExtractor,
44
- d as elementScroll,
45
- b as measureElement,
46
- s as observeElementOffset,
47
- f as observeElementRect,
48
- z as useVirtualizer
49
- };
50
- //# sourceMappingURL=index299.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index299.js","sources":["../node_modules/@tanstack/vue-virtual/dist/esm/index.js"],"sourcesContent":["import { observeElementRect, observeElementOffset, elementScroll, observeWindowRect, observeWindowOffset, windowScroll, Virtualizer } from \"@tanstack/virtual-core\";\nexport * from \"@tanstack/virtual-core\";\nimport { computed, unref, shallowRef, watch, triggerRef, onScopeDispose } from \"vue\";\nfunction useVirtualizerBase(options) {\n const virtualizer = new Virtualizer(unref(options));\n const state = shallowRef(virtualizer);\n const cleanup = virtualizer._didMount();\n watch(\n () => unref(options).getScrollElement(),\n (el) => {\n if (el) {\n virtualizer._willUpdate();\n }\n },\n {\n immediate: true\n }\n );\n watch(\n () => unref(options),\n (options2) => {\n virtualizer.setOptions({\n ...options2,\n onChange: (instance, sync) => {\n var _a;\n triggerRef(state);\n (_a = options2.onChange) == null ? void 0 : _a.call(options2, instance, sync);\n }\n });\n virtualizer._willUpdate();\n triggerRef(state);\n },\n {\n immediate: true\n }\n );\n onScopeDispose(cleanup);\n return state;\n}\nfunction useVirtualizer(options) {\n return useVirtualizerBase(\n computed(() => ({\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...unref(options)\n }))\n );\n}\nfunction useWindowVirtualizer(options) {\n return useVirtualizerBase(\n computed(() => ({\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...unref(options)\n }))\n );\n}\nexport {\n useVirtualizer,\n useWindowVirtualizer\n};\n//# sourceMappingURL=index.js.map\n"],"names":["useVirtualizerBase","options","virtualizer","Virtualizer","unref","state","shallowRef","cleanup","watch","el","options2","instance","sync","_a","triggerRef","onScopeDispose","useVirtualizer","computed","observeElementRect","observeElementOffset","elementScroll"],"mappings":";;;AAGA,SAASA,EAAmBC,GAAS;AACnC,QAAMC,IAAc,IAAIC,EAAYC,EAAMH,CAAO,CAAC,GAC5CI,IAAQC,EAAWJ,CAAW,GAC9BK,IAAUL,EAAY;AAC5B,SAAAM;AAAA,IACE,MAAMJ,EAAMH,CAAO,EAAE,iBAAkB;AAAA,IACvC,CAACQ,MAAO;AACN,MAAIA,KACFP,EAAY,YAAW;AAAA,IAE1B;AAAA,IACD;AAAA,MACE,WAAW;AAAA,IACZ;AAAA,EACL,GACEM;AAAA,IACE,MAAMJ,EAAMH,CAAO;AAAA,IACnB,CAACS,MAAa;AACZ,MAAAR,EAAY,WAAW;AAAA,QACrB,GAAGQ;AAAA,QACH,UAAU,CAACC,GAAUC,MAAS;AAC5B,cAAIC;AACJ,UAAAC,EAAWT,CAAK,IACfQ,IAAKH,EAAS,aAAa,QAAgBG,EAAG,KAAKH,GAAUC,GAAUC,CAAI;AAAA,QAC7E;AAAA,MACT,CAAO,GACDV,EAAY,YAAW,GACvBY,EAAWT,CAAK;AAAA,IACjB;AAAA,IACD;AAAA,MACE,WAAW;AAAA,IACZ;AAAA,EACL,GACEU,EAAeR,CAAO,GACfF;AACT;AACA,SAASW,EAAef,GAAS;AAC/B,SAAOD;AAAA,IACLiB,EAAS,OAAO;AAAA,MACd,oBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,YAAYC;AAAA,MACZ,GAAGhB,EAAMH,CAAO;AAAA,IACtB,EAAM;AAAA,EACN;AACA;","x_google_ignoreList":[0]}
package/dist/index3.js DELETED
@@ -1,17 +0,0 @@
1
- import { reactive as i } from "vue";
2
- const c = i({
3
- inertiaLinkName: "Link",
4
- nuxtLinkName: "NuxtLink",
5
- mobileMaxWidth: 768,
6
- documentationURL: "https://ui-components-docs.vercel.app/it"
7
- }), s = (t) => {
8
- Object.keys(t).forEach((e) => {
9
- const n = e, o = t[n];
10
- c[n] = o;
11
- });
12
- }, r = () => ({ setConfig: s });
13
- export {
14
- c as _config,
15
- r as useBbConfig
16
- };
17
- //# sourceMappingURL=index3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index3.js","sources":["../src/composables/useBbConfig.ts"],"sourcesContent":["import { reactive } from 'vue';\n\ntype Config = {\n\tinertiaLinkName: string;\n\tnuxtLinkName: string;\n\tmobileMaxWidth: number;\n};\n\nexport const _config = reactive<Config & Record<string, any>>({\n\tinertiaLinkName: 'Link',\n\tnuxtLinkName: 'NuxtLink',\n\tmobileMaxWidth: 768,\n\tdocumentationURL: 'https://ui-components-docs.vercel.app/it',\n});\n\nconst setConfig = (config: Partial<Config>) => {\n\tObject.keys(config).forEach((k) => {\n\t\tconst _k = k as keyof Config;\n\t\tconst value = config[_k]!;\n\t\t// @ts-expect-error this breaks in TS\n\t\t_config[_k] = value;\n\t});\n};\nexport const useBbConfig = () => {\n\treturn { setConfig };\n};\n"],"names":["_config","reactive","setConfig","config","k","_k","value","useBbConfig"],"mappings":";AAQO,MAAMA,IAAUC,EAAuC;AAAA,EAC7D,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,kBAAkB;AACnB,CAAC,GAEKC,IAAY,CAACC,MAA4B;AAC9C,SAAO,KAAKA,CAAM,EAAE,QAAQ,CAACC,MAAM;AAClC,UAAMC,IAAKD,GACLE,IAAQH,EAAOE,CAAE;AAEvB,IAAAL,EAAQK,CAAE,IAAIC;AAAA,EAAA,CACd;AACF,GACaC,IAAc,OACnB,EAAE,WAAAL,EAAU;"}
package/dist/index302.js DELETED
@@ -1,50 +0,0 @@
1
- function D(n, l, e) {
2
- let i = e.initialDeps ?? [], t;
3
- return () => {
4
- var r, c, h, m;
5
- let f;
6
- e.key && ((r = e.debug) != null && r.call(e)) && (f = Date.now());
7
- const o = n();
8
- if (!(o.length !== i.length || o.some((a, u) => i[u] !== a)))
9
- return t;
10
- i = o;
11
- let g;
12
- if (e.key && ((c = e.debug) != null && c.call(e)) && (g = Date.now()), t = l(...o), e.key && ((h = e.debug) != null && h.call(e))) {
13
- const a = Math.round((Date.now() - f) * 100) / 100, u = Math.round((Date.now() - g) * 100) / 100, w = u / 16, s = (d, b) => {
14
- for (d = String(d); d.length < b; )
15
- d = " " + d;
16
- return d;
17
- };
18
- console.info(
19
- `%c⏱ ${s(u, 5)} /${s(a, 5)} ms`,
20
- `
21
- font-size: .6rem;
22
- font-weight: bold;
23
- color: hsl(${Math.max(
24
- 0,
25
- Math.min(120 - 120 * w, 120)
26
- )}deg 100% 31%);`,
27
- e == null ? void 0 : e.key
28
- );
29
- }
30
- return (m = e == null ? void 0 : e.onChange) == null || m.call(e, t), t;
31
- };
32
- }
33
- function T(n, l) {
34
- if (n === void 0)
35
- throw new Error("Unexpected undefined");
36
- return n;
37
- }
38
- const y = (n, l) => Math.abs(n - l) < 1, M = (n, l, e) => {
39
- let i;
40
- return function(...t) {
41
- n.clearTimeout(i), i = n.setTimeout(() => l.apply(this, t), e);
42
- };
43
- };
44
- export {
45
- y as approxEqual,
46
- M as debounce,
47
- D as memo,
48
- T as notUndefined
49
- };
50
- //# sourceMappingURL=index302.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index302.js","sources":["../node_modules/@tanstack/virtual-core/dist/esm/utils.js"],"sourcesContent":["function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n return () => {\n var _a, _b, _c, _d;\n let depTime;\n if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();\n result = fn(...newDeps);\n if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n (_d = opts == null ? void 0 : opts.onChange) == null ? void 0 : _d.call(opts, result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n"],"names":["memo","getDeps","fn","opts","deps","result","_a","_b","_c","_d","depTime","newDeps","dep","index","resultTime","depEndTime","resultEndTime","resultFpsPercentage","pad","str","num","notUndefined","value","msg","approxEqual","a","b","debounce","targetWindow","ms","timeoutId","args"],"mappings":"AAAA,SAASA,EAAKC,GAASC,GAAIC,GAAM;AAC/B,MAAIC,IAAOD,EAAK,eAAe,IAC3BE;AACJ,SAAO,MAAM;AACX,QAAIC,GAAIC,GAAIC,GAAIC;AAChB,QAAIC;AACJ,IAAIP,EAAK,SAASG,IAAKH,EAAK,UAAU,QAAgBG,EAAG,KAAKH,CAAI,OAAIO,IAAU,KAAK;AACrF,UAAMC,IAAUV;AAEhB,QAAI,EADgBU,EAAQ,WAAWP,EAAK,UAAUO,EAAQ,KAAK,CAACC,GAAKC,MAAUT,EAAKS,CAAK,MAAMD,CAAG;AAEpG,aAAOP;AAET,IAAAD,IAAOO;AACP,QAAIG;AAGJ,QAFIX,EAAK,SAASI,IAAKJ,EAAK,UAAU,QAAgBI,EAAG,KAAKJ,CAAI,OAAIW,IAAa,KAAK,QACxFT,IAASH,EAAG,GAAGS,CAAO,GAClBR,EAAK,SAASK,IAAKL,EAAK,UAAU,QAAgBK,EAAG,KAAKL,CAAI,IAAI;AACpE,YAAMY,IAAa,KAAK,OAAO,KAAK,IAAG,IAAKL,KAAW,GAAG,IAAI,KACxDM,IAAgB,KAAK,OAAO,KAAK,IAAG,IAAKF,KAAc,GAAG,IAAI,KAC9DG,IAAsBD,IAAgB,IACtCE,IAAM,CAACC,GAAKC,MAAQ;AAExB,aADAD,IAAM,OAAOA,CAAG,GACTA,EAAI,SAASC;AAClB,UAAAD,IAAM,MAAMA;AAEd,eAAOA;AAAA,MACf;AACM,cAAQ;AAAA,QACN,OAAOD,EAAIF,GAAe,CAAC,CAAC,KAAKE,EAAIH,GAAY,CAAC,CAAC;AAAA,QACnD;AAAA;AAAA;AAAA,yBAGiB,KAAK;AAAA,UACpB;AAAA,UACA,KAAK,IAAI,MAAM,MAAME,GAAqB,GAAG;AAAA,QAC9C,CAAA;AAAA,QACDd,KAAQ,OAAO,SAASA,EAAK;AAAA,MACrC;AAAA,IACK;AACD,YAACM,IAAKN,KAAQ,OAAO,SAASA,EAAK,aAAa,QAAgBM,EAAG,KAAKN,GAAME,CAAM,GAC7EA;AAAA,EACX;AACA;AACA,SAASgB,EAAaC,GAAOC,GAAK;AAChC,MAAID,MAAU;AACZ,UAAM,IAAI,MAAM,sBAA8C;AAE9D,SAAOA;AAEX;AACK,MAACE,IAAc,CAACC,GAAGC,MAAM,KAAK,IAAID,IAAIC,CAAC,IAAI,GAC1CC,IAAW,CAACC,GAAc1B,GAAI2B,MAAO;AACzC,MAAIC;AACJ,SAAO,YAAYC,GAAM;AACvB,IAAAH,EAAa,aAAaE,CAAS,GACnCA,IAAYF,EAAa,WAAW,MAAM1B,EAAG,MAAM,MAAM6B,CAAI,GAAGF,CAAE;AAAA,EACtE;AACA;","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index32.js","sources":["../src/components/BaseRating/BaseRating.vue"],"sourcesContent":["<template>\n\t<span v-bind=\"outerContainerAttributes\" ref=\"container\">\n\t\t<span class=\"bb-base-rating__inner-container\">\n\t\t\t<slot name=\"prepend\"></slot>\n\t\t\t<label\n\t\t\t\tv-for=\"(option, index) in options\"\n\t\t\t\t:key=\"option.value\"\n\t\t\t\tclass=\"bb-base-rating__option\"\n\t\t\t\t:class=\"{ 'bb-base-rating__option--highlighted': option.highlighted }\"\n\t\t\t>\n\t\t\t\t<span class=\"bb-base-rating__label-text\">{{ option.value }}</span>\n\t\t\t\t<input\n\t\t\t\t\t:id=\"option.id\"\n\t\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\t\t:autofocus=\"autofocus && !index\"\n\t\t\t\t\t:checked=\"option.checked\"\n\t\t\t\t\t:disabled=\"option.disabled\"\n\t\t\t\t\t:name=\"option.name\"\n\t\t\t\t\t:required=\"required\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t\t/>\n\t\t\t\t<slot\n\t\t\t\t\t:id=\"option.id\"\n\t\t\t\t\t:checked=\"option.checked\"\n\t\t\t\t\t:disabled=\"option.disabled\"\n\t\t\t\t\tname=\"icon\"\n\t\t\t\t\t:size=\"option.size\"\n\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t>\n\t\t\t\t\t<svg\n\t\t\t\t\t\t:height=\"option.size\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t:width=\"option.size\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"m8.243 7.34l-6.38.925l-.113.023a1 1 0 0 0-.44 1.684l4.622 4.499l-1.09 6.355l-.013.11a1 1 0 0 0 1.464.944l5.706-3l5.693 3l.1.046a1 1 0 0 0 1.352-1.1l-1.091-6.355l4.624-4.5l.078-.085a1 1 0 0 0-.633-1.62l-6.38-.926l-2.852-5.78a1 1 0 0 0-1.794 0L8.243 7.34z\"\n\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</svg>\n\t\t\t\t</slot>\n\t\t\t</label>\n\t\t\t<slot name=\"append\"></slot>\n\t\t</span>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { booleanishToBoolean } from '@/utilities/functions/booleanishToBoolean';\nimport { computed, ref } from 'vue';\nimport { identity } from '@/utilities/functions/identity';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport { isNotNil } from '@/utilities/functions/isNotNil';\nimport type { InputHTMLAttributes, HTMLAttributes } from 'vue';\nimport type { Size, BbIconProps } from '../BbIcon/BbIcon.vue';\n\nexport type BaseRatingProps = {\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tariaDescribedby?: InputHTMLAttributes['aria-describedby'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\t/**\n\t * Used by v-model\n\t */\n\tmodelValue: null | number;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname: Exclude<InputHTMLAttributes['name'], undefined>;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Sets the input as required.\n\t */\n\trequired?: boolean;\n\n\t/**\n\t * Maximum number of stars to render and maximum value of the component\n\t */\n\tstars?: number;\n} & Pick<BbIconProps, 'size'>;\n\ntype Option = {\n\tchecked: boolean;\n\tdisabled: boolean;\n\thighlighted: boolean;\n\tid?: string;\n\tname: string;\n\tsize: number | undefined;\n\tvalue: number;\n};\n\nconst props = withDefaults(defineProps<BaseRatingProps>(), {\n\tstars: 5,\n});\n\nexport type BaseRatingEvents = {\n\t(e: 'blur', event: FocusEvent): void;\n\t(e: 'change', event: Event): void;\n\t(e: 'click', event: MouseEvent): void;\n\t(e: 'focus', event: FocusEvent): void;\n\t(e: 'inactive'): void;\n\t(e: 'input', event: Event): void;\n\t(e: 'keydown', event: KeyboardEvent): void;\n\t(e: 'mousedown', event: MouseEvent): void;\n\t(e: 'mouseup', event: MouseEvent): void;\n\t(e: 'update:modelValue', value: number | null): void;\n};\n\nexport type BaseRatingSlots = {\n\ticon?: (props: {\n\t\tchecked: boolean;\n\t\tdisabled: boolean;\n\t\tid?: string;\n\t\tsize: number | undefined;\n\t\tvalue: number;\n\t}) => any;\n\tprepend?: (props: object) => any;\n\tappend?: (props: object) => any;\n};\n\ndefineSlots<BaseRatingSlots>();\n\nconst emit = defineEmits<BaseRatingEvents>();\n\nconst container = ref<HTMLElement>();\nconst active = ref(false);\n\nconst onInputChange = (event: Event) => {\n\temit('change', event);\n\tif (event.target instanceof HTMLInputElement) {\n\t\tif (event.target.checked) {\n\t\t\temit('update:modelValue', +event.target.value);\n\t\t}\n\t}\n};\n\nconst onInputClick = (event: MouseEvent) => {\n\temit('click', event);\n\tif (event.target instanceof HTMLInputElement) {\n\t\tif (event.target.checked) {\n\t\t\tif (+event.target.value === props.modelValue) {\n\t\t\t\temit('update:modelValue', null);\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst onInputFocus = (event: FocusEvent) => {\n\temit('focus', event);\n\tif (!active.value) {\n\t\tdocument.addEventListener('focusin', onDocumentFocus, { passive: true });\n\t\tdocument.addEventListener('click', onDocumentClick, { passive: true });\n\t\tactive.value = true;\n\t}\n};\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: onInputChange,\n\tonClick: onInputClick,\n\tonFocus: onInputFocus,\n\tonInput: (event: Event) => emit('input', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n};\n\nconst onDocumentFocus = (event: FocusEvent) => {\n\tif (event.target instanceof HTMLElement) {\n\t\tif (!container.value?.contains(event.target)) {\n\t\t\temit('inactive');\n\t\t\tactive.value = false;\n\t\t\tdocument.removeEventListener('focusin', onDocumentFocus);\n\t\t\tdocument.removeEventListener('click', onDocumentClick);\n\t\t}\n\t}\n};\n\nconst onDocumentClick = (event: MouseEvent) => {\n\tif (event.target instanceof HTMLElement) {\n\t\tif (!container.value?.contains(event.target)) {\n\t\t\temit('inactive');\n\t\t\tactive.value = false;\n\t\t\tdocument.removeEventListener('focusin', onDocumentFocus);\n\t\t\tdocument.removeEventListener('click', onDocumentClick);\n\t\t}\n\t}\n};\n\nconst sizeMap: Size = {\n\txs: 12,\n\tsm: 16,\n\tmd: 24,\n\tlg: 28,\n\txl: 36,\n\txxl: 40,\n};\n\nconst size = computed(() => {\n\tlet dimension: number | undefined;\n\tif (typeof props.size === 'string') {\n\t\tdimension = sizeMap[props.size as keyof Size] ?? parseInt(props.size, 10);\n\t} else {\n\t\tdimension = props.size;\n\t}\n\treturn dimension;\n});\n\nconst options = computed(() => {\n\treturn new Array(props.stars)\n\t\t.fill(0)\n\t\t.map((_, index) => index + 1)\n\t\t.map((number): Option => {\n\t\t\tconst id = props.id\n\t\t\t\t? [props.id, number].filter(identity).join('_')\n\t\t\t\t: undefined;\n\n\t\t\tconst checked = number === props.modelValue;\n\t\t\tconst highlighted = !!(props.modelValue && number <= props.modelValue);\n\n\t\t\tconst disabled = !!(\n\t\t\t\tprops.disabled ||\n\t\t\t\t(isNotNil(props.readonly) ? booleanishToBoolean(props.readonly) : false)\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tchecked,\n\t\t\t\tdisabled,\n\t\t\t\thighlighted,\n\t\t\t\tid,\n\t\t\t\tname: props.name,\n\t\t\t\tsize: size.value,\n\t\t\t\tvalue: number,\n\t\t\t};\n\t\t});\n});\n\nconst outerContainerAttributes = computed(() => {\n\tlet style: { [key: string]: string } = {};\n\tif (props.color && isCssColor(props.color)) {\n\t\tstyle['--color'] = props.color;\n\t}\n\tif (size.value) {\n\t\tstyle['--size'] = `${size.value}px`;\n\t}\n\treturn {\n\t\tclass: {\n\t\t\t'bb-base-rating': true,\n\t\t\t'bb-base-rating--has-value': props.modelValue,\n\t\t\t'bb-base-rating--disabled': props.disabled,\n\t\t\t'bb-base-rating--errors': props.hasErrors,\n\t\t\t'bb-base-rating--readonly': props.readonly,\n\t\t\t[`bb-base-rating--${props.color}`]:\n\t\t\t\tprops.color && !isCssColor(props.color),\n\t\t},\n\t\tstyle,\n\t};\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BaseRating';\n</style>\n"],"names":["props","__props","emit","__emit","container","ref","active","eventListeners","event","onDocumentFocus","onDocumentClick","_a","sizeMap","size","computed","dimension","options","_","index","number","id","identity","checked","highlighted","disabled","isNotNil","booleanishToBoolean","outerContainerAttributes","style","isCssColor"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index36.js","sources":["../src/components/BaseSlider/BaseSlider.vue"],"sourcesContent":["<template>\n\t<span v-bind=\"containerAttributes\" ref=\"container\">\n\t\t<slot name=\"prepend\"></slot>\n\t\t<span class=\"bb-base-slider__slider-container\">\n\t\t\t<span v-if=\"ticks.length\" class=\"bb-base-slider__ticks-container\">\n\t\t\t\t<span\n\t\t\t\t\tv-for=\"tick in ticks\"\n\t\t\t\t\t:key=\"tick.value\"\n\t\t\t\t\tclass=\"bb-base-slider__tick\"\n\t\t\t\t\t><slot\n\t\t\t\t\t\t:active=\"tick.active\"\n\t\t\t\t\t\tname=\"tick\"\n\t\t\t\t\t\t:percent=\"tick.percent\"\n\t\t\t\t\t\t:value=\"tick.value\"\n\t\t\t\t/></span>\n\t\t\t</span>\n\t\t\t<input\n\t\t\t\t:id=\"id\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:required=\"required\"\n\t\t\t\t:tabindex=\"-1\"\n\t\t\t\t:type=\"'number'\"\n\t\t\t\t:value=\"JSON.stringify(modelValue)\"\n\t\t\t/>\n\t\t\t<span ref=\"track\" class=\"bb-base-slider__track-container\">\n\t\t\t\t<span class=\"bb-base-slider__track-fill\"></span>\n\t\t\t\t<span v-bind=\"sliderBackgroundAttributes\"></span>\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tv-if=\"props.range\"\n\t\t\t\tv-bind=\"listeners\"\n\t\t\t\tkey=\"thumblower\"\n\t\t\t\tref=\"thumblower\"\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\t:aria-orientation=\"'horizontal'\"\n\t\t\t\t:aria-readonly=\"!readonly\"\n\t\t\t\t:aria-valuemax=\"max\"\n\t\t\t\t:aria-valuemin=\"min\"\n\t\t\t\t:aria-valuenow=\"valueNowLower\"\n\t\t\t\t:class=\"'bb-base-slider__thumb-container'\"\n\t\t\t\tdata-thumb=\"lower\"\n\t\t\t\t:role=\"'slider'\"\n\t\t\t\t:style=\"{ left: `${internalValueLower}%` }\"\n\t\t\t\t:tabindex=\"disabled ? -1 : 0\"\n\t\t\t\t@focus=\"onFocus\"\n\t\t\t\t@keydown=\"onKeydown\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'bb-base-slider__thumb': true,\n\t\t\t\t\t\t'bb-base-slider__thumb--lower': true,\n\t\t\t\t\t\t'bb-base-slider__thumb--focused': targetThumb === 'lower',\n\t\t\t\t\t}\"\n\t\t\t\t\t:style=\"{\n\t\t\t\t\t\ttransform: `translateY(-50%) ${thumbTranslate ? `translateX(-${internalValueLower}%)` : `translateX(-50%)`}`,\n\t\t\t\t\t\tleft: `${internalValueLower}%`,\n\t\t\t\t\t}\"\n\t\t\t\t\t><slot\n\t\t\t\t\t\t:focused=\"targetThumb === 'lower'\"\n\t\t\t\t\t\tname=\"thumb:lower\"\n\t\t\t\t\t\t:percent=\"internalValueLower\"\n\t\t\t\t\t\t:value=\"valueNowLower\"\n\t\t\t\t\t\t><slot\n\t\t\t\t\t\t\t:focused=\"targetThumb === 'lower'\"\n\t\t\t\t\t\t\tname=\"thumb\"\n\t\t\t\t\t\t\t:percent=\"internalValueLower\"\n\t\t\t\t\t\t\t:value=\"valueNowLower\" /></slot\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tv-bind=\"listeners\"\n\t\t\t\tkey=\"thumbhigher\"\n\t\t\t\tref=\"thumbhigher\"\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\t:aria-orientation=\"'horizontal'\"\n\t\t\t\t:aria-readonly=\"!readonly\"\n\t\t\t\t:aria-valuemax=\"max\"\n\t\t\t\t:aria-valuemin=\"min\"\n\t\t\t\t:aria-valuenow=\"valueNowHigher\"\n\t\t\t\t:class=\"'bb-base-slider__thumb-container'\"\n\t\t\t\tdata-thumb=\"higher\"\n\t\t\t\t:role=\"'slider'\"\n\t\t\t\t:style=\"{ left: `${internalValueHigher}%` }\"\n\t\t\t\t:tabindex=\"disabled ? -1 : 0\"\n\t\t\t\t@focus=\"onFocus\"\n\t\t\t\t@keydown=\"onKeydown\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'bb-base-slider__thumb': true,\n\t\t\t\t\t\t'bb-base-slider__thumb--higher': true,\n\t\t\t\t\t\t'bb-base-slider__thumb--focused': targetThumb === 'higher',\n\t\t\t\t\t}\"\n\t\t\t\t\t:style=\"{\n\t\t\t\t\t\ttransform: `translateY(-50%) ${thumbTranslate ? `translateX(-${internalValueHigher}%)` : `translateX(-50%)`}`,\n\t\t\t\t\t\tleft: `${internalValueHigher}%`,\n\t\t\t\t\t}\"\n\t\t\t\t\t><slot\n\t\t\t\t\t\t:focused=\"targetThumb === 'higher'\"\n\t\t\t\t\t\tname=\"thumb:higher\"\n\t\t\t\t\t\t:percent=\"internalValueHigher\"\n\t\t\t\t\t\t:value=\"valueNowHigher\"\n\t\t\t\t\t\t><slot\n\t\t\t\t\t\t\t:focused=\"targetThumb === 'higher'\"\n\t\t\t\t\t\t\tname=\"thumb\"\n\t\t\t\t\t\t\t:percent=\"internalValueHigher\"\n\t\t\t\t\t\t\t:value=\"valueNowHigher\" /></slot\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t</span>\n\t\t<slot name=\"append\"></slot>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { clamp } from '@/utilities/functions/clamp';\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { head } from '@/utilities/functions/head';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport { isNil } from '@/utilities/functions/isNil';\nimport { isNotNil } from '@/utilities/functions/isNotNil';\nimport { transposeValue } from '@/utilities/functions/percentage';\nimport type { InputHTMLAttributes, HTMLAttributes } from 'vue';\nimport { hash } from '@/utilities/functions/hash';\n\nexport type BaseSliderProps = {\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tariaDescribedby?: InputHTMLAttributes['aria-describedby'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Maximum value cap.\n\t */\n\tmax?: number;\n\n\t/**\n\t * Minimum value cap.\n\t */\n\tmin?: number;\n\n\t/**\n\t * Used by v-model.\n\t */\n\tmodelValue: number[] | number | string | null;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * Set the input as range.\n\t * modelValue must be an array\n\t */\n\trange?: boolean;\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Sets the input as required.\n\t */\n\trequired?: boolean;\n\n\t/**\n\t * The step attribute is a number that specifies the granularity that the value must adhere to.\n\t */\n\tstep?: number;\n\n\t/**\n\t * Displays ticks on step\n\t */\n\tticks?: boolean;\n\t/**\n\t * Proportionally translates the thumb so it remains on track. Set it to false when displaying ticks so they align with less effort.\n\t */\n\tthumbTranslate?: boolean;\n};\n\nconst props = withDefaults(defineProps<BaseSliderProps>(), {\n\tmax: 100,\n\tmin: 0,\n\tmodelValue: 0,\n\tstep: 1,\n\tthumbTranslate: true,\n});\n\nexport type BaseSliderEvents = {\n\t(e: 'click', event: MouseEvent): void;\n\t(e: 'focus', event: FocusEvent): void;\n\t(e: 'active'): void;\n\t(e: 'inactive'): void;\n\t(e: 'keydown', event: KeyboardEvent): void;\n\t(e: 'pointerdown', event: PointerEvent): void;\n\t(e: 'pointermove', event: PointerEvent): void;\n\t(e: 'pointerup', event: PointerEvent): void;\n\t(e: 'update:modelValue', event: number | number[]): void;\n};\n\nconst emit = defineEmits<BaseSliderEvents>();\n\nexport type BaseSliderSlots = {\n\t'thumb:higher': (props: {\n\t\tvalue: number | undefined;\n\t\tpercent: number;\n\t\tfocused: boolean;\n\t}) => any;\n\t'thumb:lower': (props: {\n\t\tvalue: number | undefined;\n\t\tpercent: number;\n\t\tfocused: boolean;\n\t}) => any;\n\tappend: (props: object) => any;\n\tprepend: (props: object) => any;\n\tthumb: (props: {\n\t\tvalue: number | undefined;\n\t\tpercent: number;\n\t\tfocused: boolean;\n\t}) => any;\n\ttick: (props: { value: number; percent: number; active: boolean }) => any;\n};\n\ndefineSlots<BaseSliderSlots>();\n\nconst container = ref<HTMLElement>();\nconst track = ref<HTMLElement>();\nconst thumblower = ref<HTMLElement>();\nconst thumbhigher = ref<HTMLElement>();\nconst internalValueLower = ref(0);\nconst internalValueHigher = ref(0);\nconst valueNowLower = computed(() => {\n\tif (Array.isArray(props.modelValue))\n\t\treturn head(props.modelValue) ?? undefined;\n\treturn isNil(props.modelValue) ? undefined : Number(props.modelValue);\n});\nconst valueNowHigher = computed(() => {\n\tif (Array.isArray(props.modelValue))\n\t\treturn head(props.modelValue) ?? undefined;\n\treturn isNil(props.modelValue) ? undefined : Number(props.modelValue);\n});\nconst sortedInternalValues = computed(() => {\n\treturn [internalValueLower.value, internalValueHigher.value].sort(\n\t\t(a, b) => a - b\n\t);\n});\n\nconst proportionalStep = transposeValue({\n\tvalue: props.min + props.step,\n\toriginalBounds: { min: props.min, max: props.max },\n\ttargetBounds: { min: 0, max: 100 },\n\tstep: 1,\n});\n\nconst active = ref(false);\n\nif (props.range && !Array.isArray(props.modelValue)) {\n\tthrow new TypeError(\n\t\t'BaseSlider mode is set as range but modelValue is not an array'\n\t);\n}\n\nonMounted(() => {\n\tif (props.autofocus) {\n\t\tthumbhigher.value?.focus();\n\t}\n});\n\n/**\n * When modelValue changes realign the internal positioning\n */\nwatch(\n\t() => props.modelValue,\n\t(value) => {\n\t\tlet values: number[];\n\t\tif (props.range) {\n\t\t\tconst [min = props.min, max = props.min] = value as number[];\n\t\t\tvalues = [min, max];\n\t\t} else {\n\t\t\tvalues = [props.min, isNotNil(value) ? Number(value) : props.min];\n\t\t}\n\t\tconst [lBound, uBound] = values.map((value) => {\n\t\t\t// Useful for ranges from negative to positive\n\t\t\tlet fallback = isNil(value) ? props.min : Number(value);\n\t\t\tconst transposedValue = transposeValue({\n\t\t\t\tvalue: fallback,\n\t\t\t\ttargetBounds: { min: 0, max: 100 },\n\t\t\t\toriginalBounds: { min: props.min, max: props.max },\n\t\t\t\tstep: 1,\n\t\t\t});\n\t\t\treturn transposedValue;\n\t\t});\n\t\tinternalValueLower.value = lBound;\n\t\tinternalValueHigher.value = uBound;\n\t},\n\t{ immediate: true }\n);\n\nlet thumbPressed = ref(false);\nlet targetThumb = ref<'higher' | 'lower' | null>(null);\n\nconst getTargetThumb = (event: FocusEvent) => {\n\tif (thumbhigher.value && thumbhigher.value.contains(event.target as Node))\n\t\treturn 'higher';\n\tif (thumblower.value && thumblower.value.contains(event.target as Node))\n\t\treturn 'lower';\n\tthrow new Error('Could not identify target thumb');\n};\n\nconst onPointerdown = (event: PointerEvent) => {\n\tif (props.disabled || props.readonly) return;\n\tif (!targetThumb.value) {\n\t\ttargetThumb.value = getTargetThumb(event);\n\t}\n\tthumbPressed.value = true;\n\tdocument.addEventListener('pointermove', onPointermove);\n\tdocument.addEventListener('pointerup', onPointerup);\n\temit('pointerdown', event);\n};\n\nlet listeners = computed(() => (thumbPressed.value ? {} : { onPointerdown }));\n\nconst onPointermove = (event: PointerEvent | MouseEvent) => {\n\tif (props.disabled || props.readonly) return;\n\tif (track.value) {\n\t\tconst trackPosition = track.value.getBoundingClientRect();\n\t\tconst clickOffset = event.clientX;\n\t\tconst trackStart = trackPosition.left;\n\t\tconst trackLength = trackPosition.width;\n\t\tif (event instanceof PointerEvent) {\n\t\t\temit('pointermove', event);\n\t\t} else {\n\t\t\temit('click', event);\n\t\t}\n\t\tconst position = transposeValue({\n\t\t\tvalue: clamp(clickOffset, trackStart, trackStart + trackLength),\n\t\t\toriginalBounds: { min: trackStart, max: trackStart + trackLength },\n\t\t\ttargetBounds: { min: 0, max: 100 },\n\t\t\tstep: proportionalStep,\n\t\t});\n\t\tif (targetThumb.value === 'higher') {\n\t\t\tinternalValueHigher.value = position;\n\t\t} else if (targetThumb.value === 'lower') {\n\t\t\tinternalValueLower.value = position;\n\t\t}\n\t}\n};\n\nconst getValueToEmit = () => {\n\tconst [min, max] = [internalValueLower.value, internalValueHigher.value].sort(\n\t\t(a, b) => a - b\n\t);\n\tconst refined = [min, max].map((value) =>\n\t\ttransposeValue({\n\t\t\tvalue,\n\t\t\toriginalBounds: { min: 0, max: 100 },\n\t\t\ttargetBounds: { min: props.min, max: props.max },\n\t\t\tstep: props.step,\n\t\t})\n\t);\n\tif (props.range) return refined;\n\treturn refined[1];\n};\n\nconst onPointerup = (event: PointerEvent) => {\n\tthumbPressed.value = false;\n\ttargetThumb.value = null;\n\tdocument.removeEventListener('pointermove', onPointermove);\n\tdocument.removeEventListener('pointerup', onPointerup);\n\temit('pointerup', event);\n\temit('update:modelValue', getValueToEmit());\n};\n\nconst onKeydown = (event: KeyboardEvent) => {\n\temit('keydown', event);\n\tif (\n\t\tprops.disabled ||\n\t\tprops.readonly ||\n\t\t(event.key !== 'ArrowLeft' && event.key !== 'ArrowRight')\n\t) {\n\t\treturn;\n\t}\n\n\tif (event.key === 'ArrowLeft') {\n\t\tif (\n\t\t\ttargetThumb.value === 'higher' ||\n\t\t\tdocument.activeElement === thumbhigher.value\n\t\t) {\n\t\t\tinternalValueHigher.value = Math.max(\n\t\t\t\tinternalValueHigher.value - proportionalStep,\n\t\t\t\tinternalValueLower.value\n\t\t\t);\n\t\t} else if (targetThumb.value === 'lower') {\n\t\t\tinternalValueLower.value = Math.max(\n\t\t\t\tinternalValueLower.value - proportionalStep,\n\t\t\t\t0\n\t\t\t);\n\t\t}\n\t} else if (event.key === 'ArrowRight') {\n\t\tif (\n\t\t\ttargetThumb.value === 'higher' ||\n\t\t\tdocument.activeElement === thumbhigher.value\n\t\t) {\n\t\t\tinternalValueHigher.value = Math.min(\n\t\t\t\tinternalValueHigher.value + proportionalStep,\n\t\t\t\t100\n\t\t\t);\n\t\t} else if (targetThumb.value === 'lower') {\n\t\t\tinternalValueLower.value = Math.min(\n\t\t\t\tinternalValueLower.value + proportionalStep,\n\t\t\t\tinternalValueHigher.value\n\t\t\t);\n\t\t}\n\t}\n\temit('update:modelValue', getValueToEmit());\n};\n\nconst onFocus = (event: FocusEvent) => {\n\temit('focus', event);\n\tconst found = getTargetThumb(event);\n\tif (found) targetThumb.value = found;\n\tif (!active.value) {\n\t\tactive.value = true;\n\t\temit('active');\n\t\tdocument.addEventListener('focusin', onDocumentInteraction);\n\t\tdocument.addEventListener('click', onDocumentInteraction);\n\t}\n};\n\nconst onDocumentInteraction = (event: FocusEvent) => {\n\tif (event.target instanceof HTMLElement) {\n\t\tif (!container.value?.contains(event.target)) {\n\t\t\tactive.value = false;\n\t\t\ttargetThumb.value = null;\n\t\t\temit('inactive');\n\t\t\tdocument.removeEventListener('focusin', onDocumentInteraction);\n\t\t\tdocument.removeEventListener('click', onDocumentInteraction);\n\t\t}\n\t}\n};\n\nconst containerAttributes: Record<string, any> = {\n\tclass: {\n\t\t'bb-base-slider': true,\n\t\t'bb-base-slider--disabled': props.disabled,\n\t\t'bb-base-slider--errors': props.hasErrors,\n\t\t'bb-base-slider--readonly': props.readonly,\n\t\t[`bb-base-slider--${props.color}`]: props.color && !isCssColor(props.color),\n\t},\n\tonClick: (event: MouseEvent) => {\n\t\tif (props.range) return;\n\t\tthumbhigher.value?.focus();\n\t\tonPointermove(event);\n\t\tconst valueToEmit = getValueToEmit();\n\t\t// Prevent emitting twice when clicking on the thumb directly\n\t\tif (hash(valueToEmit) === hash(props.modelValue)) return;\n\t\temit('update:modelValue', getValueToEmit());\n\t},\n\tstyle: {},\n};\n\nif (props.color && isCssColor(props.color)) {\n\tcontainerAttributes.style['--color'] = props.color;\n}\n\nconst sliderBackgroundAttributes = computed(() => {\n\tconst classes = 'bb-base-slider__track-background';\n\tconst style: Record<string, any> = {\n\t\twidth: `${sortedInternalValues.value[1] - sortedInternalValues.value[0]}%`,\n\t\tleft: `${sortedInternalValues.value[0]}%`,\n\t};\n\treturn {\n\t\tclass: classes,\n\t\tstyle,\n\t};\n});\n\ntype Tick = {\n\tvalue: number;\n\tpercent: number;\n\tactive: boolean;\n};\n\nconst ticks = computed<Tick[]>(() => {\n\tif (!props.ticks) return [] as Tick[];\n\tlet ticks: Tick[] = [];\n\tlet current = props.min;\n\twhile (current <= props.max) {\n\t\tlet value = current;\n\t\tlet percent = transposeValue({\n\t\t\tvalue,\n\t\t\toriginalBounds: { min: props.min, max: props.max },\n\t\t\ttargetBounds: { min: 0, max: 100 },\n\t\t\tstep: proportionalStep,\n\t\t});\n\t\tlet transposedValue = transposeValue({\n\t\t\tvalue: current,\n\t\t\toriginalBounds: { min: props.min, max: props.max },\n\t\t\ttargetBounds: { min: 0, max: 100 },\n\t\t\tstep: props.step,\n\t\t});\n\t\tconst active =\n\t\t\ttransposedValue >= internalValueLower.value &&\n\t\t\ttransposedValue <= internalValueHigher.value;\n\t\tticks.push({\n\t\t\tvalue,\n\t\t\tpercent,\n\t\t\tactive,\n\t\t});\n\t\tcurrent += props.step;\n\t}\n\treturn ticks;\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BaseSlider';\n</style>\n"],"names":["props","__props","emit","__emit","container","ref","track","thumblower","thumbhigher","internalValueLower","internalValueHigher","valueNowLower","computed","head","isNil","valueNowHigher","sortedInternalValues","a","b","proportionalStep","transposeValue","active","onMounted","_a","watch","value","values","min","max","isNotNil","lBound","uBound","fallback","thumbPressed","targetThumb","getTargetThumb","event","onPointerdown","onPointermove","onPointerup","listeners","trackPosition","clickOffset","trackStart","trackLength","position","clamp","getValueToEmit","refined","onKeydown","onFocus","found","onDocumentInteraction","containerAttributes","isCssColor","valueToEmit","hash","sliderBackgroundAttributes","classes","style","ticks","current","percent","transposedValue"],"mappings":"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"}