@7pmlabs/design-system 1.0.9 → 1.0.11

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 (438) hide show
  1. package/README.md +57 -6
  2. package/dist/design-system.css +1 -1
  3. package/dist/design-system.js +74 -60
  4. package/dist/design-system100.js +4 -5
  5. package/dist/design-system100.js.map +1 -1
  6. package/dist/design-system101.js +53 -506
  7. package/dist/design-system101.js.map +1 -1
  8. package/dist/{design-system93.js → design-system102.js} +1 -1
  9. package/dist/design-system102.js.map +1 -0
  10. package/dist/design-system103.js +13 -5
  11. package/dist/design-system103.js.map +1 -1
  12. package/dist/design-system104.js +109 -7
  13. package/dist/design-system104.js.map +1 -1
  14. package/dist/design-system106.js +9 -0
  15. package/dist/design-system106.js.map +1 -0
  16. package/dist/design-system107.js +206 -6
  17. package/dist/design-system107.js.map +1 -1
  18. package/dist/design-system109.js +9 -0
  19. package/dist/design-system109.js.map +1 -0
  20. package/dist/design-system110.js +507 -6
  21. package/dist/design-system110.js.map +1 -1
  22. package/dist/design-system112.js +8 -0
  23. package/dist/design-system112.js.map +1 -0
  24. package/dist/design-system113.js +7 -5
  25. package/dist/design-system113.js.map +1 -1
  26. package/dist/design-system114.js +209 -9
  27. package/dist/design-system114.js.map +1 -1
  28. package/dist/design-system116.js +9 -0
  29. package/dist/design-system116.js.map +1 -0
  30. package/dist/design-system117.js +224 -6
  31. package/dist/design-system117.js.map +1 -1
  32. package/dist/design-system119.js +9 -0
  33. package/dist/design-system119.js.map +1 -0
  34. package/dist/design-system12.js.map +1 -1
  35. package/dist/design-system120.js +163 -5
  36. package/dist/design-system120.js.map +1 -1
  37. package/dist/design-system122.js +5 -90
  38. package/dist/design-system122.js.map +1 -1
  39. package/dist/design-system123.js +12 -0
  40. package/dist/design-system123.js.map +1 -0
  41. package/dist/design-system124.js +274 -5
  42. package/dist/design-system124.js.map +1 -1
  43. package/dist/design-system126.js +9 -0
  44. package/dist/design-system126.js.map +1 -0
  45. package/dist/design-system127.js +16 -5
  46. package/dist/design-system127.js.map +1 -1
  47. package/dist/design-system129.js +8 -0
  48. package/dist/design-system129.js.map +1 -0
  49. package/dist/design-system130.js +12 -5
  50. package/dist/design-system130.js.map +1 -1
  51. package/dist/design-system131.js +76 -137
  52. package/dist/design-system131.js.map +1 -1
  53. package/dist/design-system133.js +1 -1
  54. package/dist/design-system133.js.map +1 -1
  55. package/dist/design-system134.js +37 -90
  56. package/dist/design-system134.js.map +1 -1
  57. package/dist/design-system136.js +1 -1
  58. package/dist/design-system136.js.map +1 -1
  59. package/dist/design-system137.js +226 -20
  60. package/dist/design-system137.js.map +1 -1
  61. package/dist/design-system139.js +4 -5
  62. package/dist/design-system139.js.map +1 -1
  63. package/dist/design-system140.js +151 -9
  64. package/dist/design-system140.js.map +1 -1
  65. package/dist/design-system142.js +3 -2
  66. package/dist/design-system142.js.map +1 -1
  67. package/dist/design-system143.js +93 -19
  68. package/dist/design-system143.js.map +1 -1
  69. package/dist/design-system145.js +5 -158
  70. package/dist/design-system145.js.map +1 -1
  71. package/dist/design-system146.js +12 -0
  72. package/dist/design-system146.js.map +1 -0
  73. package/dist/design-system147.js +37 -5
  74. package/dist/design-system147.js.map +1 -1
  75. package/dist/design-system148.js +4 -307
  76. package/dist/design-system148.js.map +1 -1
  77. package/dist/design-system149.js +24 -0
  78. package/dist/{design-system144.js.map → design-system149.js.map} +1 -1
  79. package/dist/design-system150.js +2 -3
  80. package/dist/design-system150.js.map +1 -1
  81. package/dist/design-system151.js +131 -213
  82. package/dist/design-system151.js.map +1 -1
  83. package/dist/design-system153.js +1 -1
  84. package/dist/design-system153.js.map +1 -1
  85. package/dist/design-system154.js +278 -160
  86. package/dist/design-system154.js.map +1 -1
  87. package/dist/design-system156.js +1 -1
  88. package/dist/design-system156.js.map +1 -1
  89. package/dist/design-system157.js +240 -3
  90. package/dist/design-system157.js.map +1 -1
  91. package/dist/design-system159.js +8 -0
  92. package/dist/design-system159.js.map +1 -0
  93. package/dist/design-system16.js.map +1 -1
  94. package/dist/design-system160.js +189 -6
  95. package/dist/design-system160.js.map +1 -1
  96. package/dist/design-system162.js +8 -0
  97. package/dist/design-system162.js.map +1 -0
  98. package/dist/design-system163.js +3 -6
  99. package/dist/design-system163.js.map +1 -1
  100. package/dist/design-system164.js +46 -57
  101. package/dist/design-system164.js.map +1 -1
  102. package/dist/design-system166.js +2 -2
  103. package/dist/design-system166.js.map +1 -1
  104. package/dist/design-system167.js +44 -170
  105. package/dist/design-system167.js.map +1 -1
  106. package/dist/design-system169.js +2 -2
  107. package/dist/design-system169.js.map +1 -1
  108. package/dist/design-system170.js +55 -101
  109. package/dist/design-system170.js.map +1 -1
  110. package/dist/design-system172.js +5 -4
  111. package/dist/design-system172.js.map +1 -1
  112. package/dist/design-system173.js +182 -11
  113. package/dist/design-system173.js.map +1 -1
  114. package/dist/design-system175.js +9 -0
  115. package/dist/design-system175.js.map +1 -0
  116. package/dist/design-system176.js +115 -6
  117. package/dist/design-system176.js.map +1 -1
  118. package/dist/design-system178.js +8 -0
  119. package/dist/design-system178.js.map +1 -0
  120. package/dist/design-system179.js +11 -5
  121. package/dist/design-system179.js.map +1 -1
  122. package/dist/design-system180.js +452 -90
  123. package/dist/design-system180.js.map +1 -1
  124. package/dist/design-system182.js +5 -4
  125. package/dist/design-system182.js.map +1 -1
  126. package/dist/design-system183.js +33 -106
  127. package/dist/design-system183.js.map +1 -1
  128. package/dist/design-system185.js +4 -5
  129. package/dist/design-system185.js.map +1 -1
  130. package/dist/design-system186.js +71 -89
  131. package/dist/design-system186.js.map +1 -1
  132. package/dist/design-system188.js +4 -5
  133. package/dist/design-system188.js.map +1 -1
  134. package/dist/design-system189.js +25 -727
  135. package/dist/design-system189.js.map +1 -1
  136. package/dist/design-system19.js.map +1 -1
  137. package/dist/design-system191.js +1 -1
  138. package/dist/design-system191.js.map +1 -1
  139. package/dist/design-system192.js +28 -11
  140. package/dist/design-system192.js.map +1 -1
  141. package/dist/design-system194.js +8 -0
  142. package/dist/design-system194.js.map +1 -0
  143. package/dist/design-system195.js +33 -5
  144. package/dist/design-system195.js.map +1 -1
  145. package/dist/design-system197.js +5 -46
  146. package/dist/design-system197.js.map +1 -1
  147. package/dist/design-system198.js +31 -4
  148. package/dist/design-system198.js.map +1 -1
  149. package/dist/design-system200.js +8 -0
  150. package/dist/design-system200.js.map +1 -0
  151. package/dist/design-system201.js +332 -5
  152. package/dist/design-system201.js.map +1 -1
  153. package/dist/design-system203.js +8 -0
  154. package/dist/design-system203.js.map +1 -0
  155. package/dist/design-system204.js +100 -5
  156. package/dist/design-system204.js.map +1 -1
  157. package/dist/design-system206.js +8 -0
  158. package/dist/design-system206.js.map +1 -0
  159. package/dist/design-system207.js +19 -5
  160. package/dist/design-system207.js.map +1 -1
  161. package/dist/design-system208.js +4 -54
  162. package/dist/design-system208.js.map +1 -1
  163. package/dist/design-system209.js +3 -4
  164. package/dist/design-system209.js.map +1 -1
  165. package/dist/design-system210.js +386 -137
  166. package/dist/design-system210.js.map +1 -1
  167. package/dist/design-system212.js +1 -1
  168. package/dist/design-system212.js.map +1 -1
  169. package/dist/design-system213.js +59 -7
  170. package/dist/design-system213.js.map +1 -1
  171. package/dist/design-system215.js +8 -0
  172. package/dist/design-system215.js.map +1 -0
  173. package/dist/design-system216.js +88 -5
  174. package/dist/design-system216.js.map +1 -1
  175. package/dist/design-system217.js +4 -580
  176. package/dist/design-system217.js.map +1 -1
  177. package/dist/design-system218.js +111 -0
  178. package/dist/design-system218.js.map +1 -0
  179. package/dist/design-system22.js.map +1 -1
  180. package/dist/design-system220.js +6 -7
  181. package/dist/design-system220.js.map +1 -1
  182. package/dist/design-system221.js +85 -353
  183. package/dist/design-system221.js.map +1 -1
  184. package/dist/design-system223.js +2 -2
  185. package/dist/design-system223.js.map +1 -1
  186. package/dist/design-system224.js +740 -0
  187. package/dist/design-system224.js.map +1 -0
  188. package/dist/design-system226.js +8 -0
  189. package/dist/design-system226.js.map +1 -0
  190. package/dist/{design-system60.js → design-system227.js} +6 -8
  191. package/dist/design-system227.js.map +1 -0
  192. package/dist/{design-system193.js → design-system228.js} +2 -2
  193. package/dist/design-system228.js.map +1 -0
  194. package/dist/design-system230.js +8 -0
  195. package/dist/design-system230.js.map +1 -0
  196. package/dist/{design-system196.js → design-system231.js} +1 -1
  197. package/dist/{design-system196.js.map → design-system231.js.map} +1 -1
  198. package/dist/design-system232.js +49 -0
  199. package/dist/design-system232.js.map +1 -0
  200. package/dist/design-system233.js +7 -0
  201. package/dist/design-system233.js.map +1 -0
  202. package/dist/{design-system199.js → design-system234.js} +2 -2
  203. package/dist/design-system234.js.map +1 -0
  204. package/dist/design-system236.js +8 -0
  205. package/dist/design-system236.js.map +1 -0
  206. package/dist/{design-system202.js → design-system237.js} +1 -1
  207. package/dist/design-system237.js.map +1 -0
  208. package/dist/design-system239.js +8 -0
  209. package/dist/design-system239.js.map +1 -0
  210. package/dist/{design-system205.js → design-system240.js} +1 -1
  211. package/dist/design-system240.js.map +1 -0
  212. package/dist/design-system242.js +8 -0
  213. package/dist/design-system242.js.map +1 -0
  214. package/dist/design-system243.js +57 -0
  215. package/dist/design-system243.js.map +1 -0
  216. package/dist/design-system244.js +7 -0
  217. package/dist/design-system244.js.map +1 -0
  218. package/dist/design-system245.js +173 -0
  219. package/dist/design-system245.js.map +1 -0
  220. package/dist/design-system247.js +8 -0
  221. package/dist/design-system247.js.map +1 -0
  222. package/dist/design-system248.js +10 -0
  223. package/dist/design-system248.js.map +1 -0
  224. package/dist/{design-system214.js → design-system249.js} +2 -2
  225. package/dist/design-system249.js.map +1 -0
  226. package/dist/design-system25.js.map +1 -1
  227. package/dist/design-system251.js +8 -0
  228. package/dist/design-system251.js.map +1 -0
  229. package/dist/design-system252.js +583 -0
  230. package/dist/design-system252.js.map +1 -0
  231. package/dist/{design-system219.js → design-system254.js} +2 -2
  232. package/dist/{design-system219.js.map → design-system254.js.map} +1 -1
  233. package/dist/design-system255.js +12 -0
  234. package/dist/design-system255.js.map +1 -0
  235. package/dist/design-system256.js +769 -0
  236. package/dist/design-system256.js.map +1 -0
  237. package/dist/design-system258.js +9 -0
  238. package/dist/design-system258.js.map +1 -0
  239. package/dist/design-system259.js +10 -0
  240. package/dist/design-system259.js.map +1 -0
  241. package/dist/design-system260.js +377 -0
  242. package/dist/design-system260.js.map +1 -0
  243. package/dist/design-system262.js +9 -0
  244. package/dist/design-system262.js.map +1 -0
  245. package/dist/design-system28.js.map +1 -1
  246. package/dist/design-system3.js.map +1 -1
  247. package/dist/design-system30.js +21 -138
  248. package/dist/design-system30.js.map +1 -1
  249. package/dist/design-system32.js +5 -4
  250. package/dist/design-system32.js.map +1 -1
  251. package/dist/design-system33.js +488 -14
  252. package/dist/design-system33.js.map +1 -1
  253. package/dist/design-system35.js +1 -1
  254. package/dist/design-system35.js.map +1 -1
  255. package/dist/design-system36.js +135 -17
  256. package/dist/design-system36.js.map +1 -1
  257. package/dist/design-system38.js +1 -1
  258. package/dist/design-system38.js.map +1 -1
  259. package/dist/design-system39.js +16 -11
  260. package/dist/design-system39.js.map +1 -1
  261. package/dist/design-system4.js.map +1 -1
  262. package/dist/design-system41.js +8 -0
  263. package/dist/design-system41.js.map +1 -0
  264. package/dist/design-system42.js +26 -5
  265. package/dist/design-system42.js.map +1 -1
  266. package/dist/design-system44.js +5 -71
  267. package/dist/design-system44.js.map +1 -1
  268. package/dist/design-system45.js +353 -0
  269. package/dist/design-system45.js.map +1 -0
  270. package/dist/design-system47.js +5 -50
  271. package/dist/design-system47.js.map +1 -1
  272. package/dist/design-system48.js +11 -4
  273. package/dist/design-system48.js.map +1 -1
  274. package/dist/design-system49.js +476 -3
  275. package/dist/design-system49.js.map +1 -1
  276. package/dist/design-system51.js +8 -0
  277. package/dist/design-system51.js.map +1 -0
  278. package/dist/design-system52.js +3 -5
  279. package/dist/design-system52.js.map +1 -1
  280. package/dist/design-system53.js +56 -83
  281. package/dist/design-system53.js.map +1 -1
  282. package/dist/design-system55.js +5 -4
  283. package/dist/design-system55.js.map +1 -1
  284. package/dist/design-system56.js +50 -11
  285. package/dist/design-system56.js.map +1 -1
  286. package/dist/design-system57.js +4 -591
  287. package/dist/design-system57.js.map +1 -1
  288. package/dist/design-system58.js +6 -0
  289. package/dist/design-system58.js.map +1 -0
  290. package/dist/design-system59.js +64 -5
  291. package/dist/design-system59.js.map +1 -1
  292. package/dist/design-system61.js +5 -696
  293. package/dist/design-system61.js.map +1 -1
  294. package/dist/design-system62.js +101 -0
  295. package/dist/design-system62.js.map +1 -0
  296. package/dist/design-system64.js +5 -158
  297. package/dist/design-system64.js.map +1 -1
  298. package/dist/design-system65.js +14 -0
  299. package/dist/design-system65.js.map +1 -0
  300. package/dist/design-system66.js +591 -5
  301. package/dist/design-system66.js.map +1 -1
  302. package/dist/design-system68.js +3 -2
  303. package/dist/design-system68.js.map +1 -1
  304. package/dist/design-system69.js +13 -49
  305. package/dist/design-system69.js.map +1 -1
  306. package/dist/design-system7.js.map +1 -1
  307. package/dist/design-system70.js +699 -0
  308. package/dist/{design-system63.js.map → design-system70.js.map} +1 -1
  309. package/dist/design-system72.js +5 -199
  310. package/dist/design-system72.js.map +1 -1
  311. package/dist/design-system73.js +161 -0
  312. package/dist/design-system73.js.map +1 -0
  313. package/dist/design-system75.js +5 -7
  314. package/dist/design-system75.js.map +1 -1
  315. package/dist/design-system76.js +25 -269
  316. package/dist/design-system76.js.map +1 -1
  317. package/dist/design-system77.js +7 -0
  318. package/dist/design-system77.js.map +1 -0
  319. package/dist/design-system78.js +49 -5
  320. package/dist/design-system78.js.map +1 -1
  321. package/dist/{design-system71.js → design-system80.js} +2 -2
  322. package/dist/{design-system71.js.map → design-system80.js.map} +1 -1
  323. package/dist/design-system81.js +199 -5
  324. package/dist/design-system81.js.map +1 -1
  325. package/dist/design-system83.js +5 -99
  326. package/dist/design-system83.js.map +1 -1
  327. package/dist/design-system84.js +10 -0
  328. package/dist/design-system84.js.map +1 -0
  329. package/dist/design-system85.js +273 -5
  330. package/dist/design-system85.js.map +1 -1
  331. package/dist/design-system87.js +8 -0
  332. package/dist/design-system87.js.map +1 -0
  333. package/dist/design-system88.js +57 -5
  334. package/dist/design-system88.js.map +1 -1
  335. package/dist/design-system90.js +8 -0
  336. package/dist/design-system90.js.map +1 -0
  337. package/dist/design-system91.js +11 -5
  338. package/dist/design-system91.js.map +1 -1
  339. package/dist/design-system92.js +98 -53
  340. package/dist/design-system92.js.map +1 -1
  341. package/dist/design-system94.js +5 -13
  342. package/dist/design-system94.js.map +1 -1
  343. package/dist/design-system95.js +61 -104
  344. package/dist/design-system95.js.map +1 -1
  345. package/dist/design-system97.js +4 -5
  346. package/dist/design-system97.js.map +1 -1
  347. package/dist/design-system98.js +80 -198
  348. package/dist/design-system98.js.map +1 -1
  349. package/dist/types/components/BCalendar/BCalendar.spec.d.ts +1 -0
  350. package/dist/types/components/BCalendar/BCalendar.vue.d.ts +114 -0
  351. package/dist/types/components/BCalendar/index.d.ts +2 -0
  352. package/dist/types/components/BCalendar/types.d.ts +54 -0
  353. package/dist/types/components/BCarousel/BCarousel.spec.d.ts +1 -0
  354. package/dist/types/components/BCarousel/BCarousel.vue.d.ts +133 -0
  355. package/dist/types/components/BCarousel/index.d.ts +2 -0
  356. package/dist/types/components/BCarousel/types.d.ts +15 -0
  357. package/dist/types/components/BPagination/BPagination.vue.d.ts +1 -1
  358. package/dist/types/components/BSkeleton/BSkeleton.spec.d.ts +1 -0
  359. package/dist/types/components/BSkeleton/BSkeleton.vue.d.ts +46 -0
  360. package/dist/types/components/BSkeleton/BSkeletonAvatar.vue.d.ts +12 -0
  361. package/dist/types/components/BSkeleton/BSkeletonButton.vue.d.ts +14 -0
  362. package/dist/types/components/BSkeleton/BSkeletonImage.vue.d.ts +7 -0
  363. package/dist/types/components/BSkeleton/BSkeletonInput.vue.d.ts +12 -0
  364. package/dist/types/components/BSkeleton/BSkeletonNode.vue.d.ts +19 -0
  365. package/dist/types/components/BSkeleton/index.d.ts +7 -0
  366. package/dist/types/components/BSkeleton/types.d.ts +20 -0
  367. package/dist/types/components/BSplitter/BSplitter.spec.d.ts +1 -0
  368. package/dist/types/components/BSplitter/BSplitter.vue.d.ts +45 -0
  369. package/dist/types/components/BSplitter/BSplitterPanel.vue.d.ts +40 -0
  370. package/dist/types/components/BSplitter/index.d.ts +3 -0
  371. package/dist/types/components/BSplitter/types.d.ts +42 -0
  372. package/dist/types/components/BStatistic/BStatistic.spec.d.ts +1 -0
  373. package/dist/types/components/BStatistic/BStatistic.vue.d.ts +44 -0
  374. package/dist/types/components/BStatistic/BStatisticTimer.vue.d.ts +50 -0
  375. package/dist/types/components/BStatistic/index.d.ts +3 -0
  376. package/dist/types/components/BStatistic/types.d.ts +6 -0
  377. package/dist/types/components/BTreeSelect/BTreeSelect.spec.d.ts +1 -0
  378. package/dist/types/components/BTreeSelect/BTreeSelect.vue.d.ts +143 -0
  379. package/dist/types/components/BTreeSelect/index.d.ts +2 -0
  380. package/dist/types/components/BTreeSelect/types.d.ts +77 -0
  381. package/dist/types/components/index.d.ts +6 -0
  382. package/dist/types/types.d.ts +3 -0
  383. package/package.json +6 -3
  384. package/dist/design-system105.js +0 -212
  385. package/dist/design-system105.js.map +0 -1
  386. package/dist/design-system108.js +0 -227
  387. package/dist/design-system108.js.map +0 -1
  388. package/dist/design-system111.js +0 -166
  389. package/dist/design-system111.js.map +0 -1
  390. package/dist/design-system115.js +0 -277
  391. package/dist/design-system115.js.map +0 -1
  392. package/dist/design-system118.js +0 -19
  393. package/dist/design-system118.js.map +0 -1
  394. package/dist/design-system121.js +0 -15
  395. package/dist/design-system121.js.map +0 -1
  396. package/dist/design-system125.js +0 -45
  397. package/dist/design-system125.js.map +0 -1
  398. package/dist/design-system128.js +0 -236
  399. package/dist/design-system128.js.map +0 -1
  400. package/dist/design-system141.js +0 -40
  401. package/dist/design-system141.js.map +0 -1
  402. package/dist/design-system144.js +0 -7
  403. package/dist/design-system158.js +0 -61
  404. package/dist/design-system158.js.map +0 -1
  405. package/dist/design-system161.js +0 -59
  406. package/dist/design-system161.js.map +0 -1
  407. package/dist/design-system174.js +0 -465
  408. package/dist/design-system174.js.map +0 -1
  409. package/dist/design-system177.js +0 -335
  410. package/dist/design-system177.js.map +0 -1
  411. package/dist/design-system193.js.map +0 -1
  412. package/dist/design-system199.js.map +0 -1
  413. package/dist/design-system202.js.map +0 -1
  414. package/dist/design-system205.js.map +0 -1
  415. package/dist/design-system214.js.map +0 -1
  416. package/dist/design-system40.js +0 -479
  417. package/dist/design-system40.js.map +0 -1
  418. package/dist/design-system43.js +0 -6
  419. package/dist/design-system43.js.map +0 -1
  420. package/dist/design-system46.js +0 -9
  421. package/dist/design-system46.js.map +0 -1
  422. package/dist/design-system50.js +0 -67
  423. package/dist/design-system50.js.map +0 -1
  424. package/dist/design-system60.js.map +0 -1
  425. package/dist/design-system63.js +0 -8
  426. package/dist/design-system67.js +0 -32
  427. package/dist/design-system67.js.map +0 -1
  428. package/dist/design-system74.js +0 -8
  429. package/dist/design-system74.js.map +0 -1
  430. package/dist/design-system79.js +0 -60
  431. package/dist/design-system79.js.map +0 -1
  432. package/dist/design-system82.js +0 -14
  433. package/dist/design-system82.js.map +0 -1
  434. package/dist/design-system86.js +0 -69
  435. package/dist/design-system86.js.map +0 -1
  436. package/dist/design-system89.js +0 -91
  437. package/dist/design-system89.js.map +0 -1
  438. package/dist/design-system93.js.map +0 -1
@@ -1,335 +0,0 @@
1
- import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, mergeModels as o, normalizeClass as s, normalizeStyle as c, onBeforeUnmount as l, openBlock as u, ref as d, renderList as f, toDisplayString as p, unref as m, useAttrs as h, useModel as ee, withModifiers as te } from "vue";
2
- //#region src/components/BSlider/BSlider.vue?vue&type=script&setup=true&lang.ts
3
- var ne = [
4
- "tabindex",
5
- "aria-valuemin",
6
- "aria-valuemax",
7
- "aria-valuenow",
8
- "aria-disabled",
9
- "aria-orientation",
10
- "aria-label"
11
- ], re = [
12
- "tabindex",
13
- "aria-valuemin",
14
- "aria-valuemax",
15
- "aria-valuenow",
16
- "aria-disabled",
17
- "aria-orientation",
18
- "aria-label"
19
- ], g = {
20
- key: 0,
21
- class: "b-slider__marks"
22
- }, _ = /* @__PURE__ */ a({
23
- inheritAttrs: !1,
24
- __name: "BSlider",
25
- props: /* @__PURE__ */ o({
26
- disabled: {
27
- type: Boolean,
28
- default: !1
29
- },
30
- dots: {
31
- type: Boolean,
32
- default: !1
33
- },
34
- included: {
35
- type: Boolean,
36
- default: !0
37
- },
38
- keyboard: {
39
- type: Boolean,
40
- default: !0
41
- },
42
- max: { default: 100 },
43
- min: { default: 0 },
44
- range: {
45
- type: [Boolean, Object],
46
- default: !1
47
- },
48
- reverse: {
49
- type: Boolean,
50
- default: !1
51
- },
52
- step: { default: 1 },
53
- vertical: {
54
- type: Boolean,
55
- default: !1
56
- },
57
- tooltip: { default: () => ({}) },
58
- marks: {}
59
- }, {
60
- modelValue: { default: 0 },
61
- modelModifiers: {}
62
- }),
63
- emits: /* @__PURE__ */ o(["change", "changeComplete"], ["update:modelValue"]),
64
- setup(a, { expose: o, emit: _ }) {
65
- let v = h(), y = ee(a, "modelValue"), b = _, x = d(null), S = d(null), C = d(null), w = d(!1), T = d(null), E = d({
66
- lower: !1,
67
- upper: !1
68
- }), D = d(null), O = d(0), k = t(() => a.range !== !1), A = t(() => typeof a.range == "object" && a.range.draggableTrack), j = t(() => k.value ? y.value[0] : a.min), M = t(() => k.value ? y.value[1] : y.value);
69
- function N(e) {
70
- return a.max === a.min ? 0 : (e - a.min) / (a.max - a.min) * 100;
71
- }
72
- function P(e) {
73
- return F(a.min + e / 100 * (a.max - a.min));
74
- }
75
- function F(e) {
76
- if (a.step === null) {
77
- if (!a.marks) return I(e);
78
- let t = Object.keys(a.marks).map(Number), n = t[0] ?? a.min, r = Math.abs(e - n);
79
- for (let i of t) {
80
- let t = Math.abs(e - i);
81
- t < r && (n = i, r = t);
82
- }
83
- return I(n);
84
- }
85
- return I(Math.round((e - a.min) / a.step) * a.step + a.min);
86
- }
87
- function I(e) {
88
- return Math.min(a.max, Math.max(a.min, e));
89
- }
90
- let L = t(() => N(j.value)), R = t(() => N(M.value)), z = t(() => {
91
- let e = k.value ? L.value : 0, t = k.value ? R.value - L.value : R.value;
92
- return a.vertical ? a.reverse ? {
93
- top: `${100 - e - t}%`,
94
- height: `${t}%`
95
- } : {
96
- bottom: `${100 - e - t}%`,
97
- height: `${t}%`
98
- } : a.reverse ? {
99
- right: `${e}%`,
100
- width: `${t}%`
101
- } : {
102
- left: `${e}%`,
103
- width: `${t}%`
104
- };
105
- }), ie = t(() => {
106
- let e = L.value;
107
- return a.vertical ? a.reverse ? { top: `${100 - e}%` } : { bottom: `${100 - e}%` } : a.reverse ? { right: `${e}%` } : { left: `${e}%` };
108
- }), ae = t(() => {
109
- let e = R.value;
110
- return a.vertical ? a.reverse ? { top: `${100 - e}%` } : { bottom: `${100 - e}%` } : a.reverse ? { right: `${e}%` } : { left: `${e}%` };
111
- }), B = t(() => a.marks ? Object.entries(a.marks).map(([e, t]) => {
112
- let n = Number(e);
113
- return {
114
- value: n,
115
- percent: N(n),
116
- isActive: a.included && (k.value ? n >= j.value && n <= M.value : n <= M.value),
117
- label: typeof t == "string" ? t : t.label,
118
- style: typeof t == "object" ? t.style : void 0
119
- };
120
- }) : []), oe = t(() => {
121
- if (!a.dots || a.step === null) return [];
122
- let e = [];
123
- for (let t = a.min; t <= a.max; t += a.step) {
124
- let n = N(t), r = a.included && (k.value ? t >= j.value && t <= M.value : t <= M.value);
125
- e.push({
126
- value: t,
127
- percent: n,
128
- isActive: r
129
- });
130
- }
131
- return e;
132
- });
133
- function V(e) {
134
- return a.tooltip.formatter === null ? null : a.tooltip.formatter ? a.tooltip.formatter(e) : String(e);
135
- }
136
- let H = t(() => V(j.value)), U = t(() => V(M.value)), se = t(() => a.tooltip.formatter === null ? !1 : a.tooltip.open === void 0 ? E.value.lower || C.value === "lower" || C.value === "track" : a.tooltip.open), ce = t(() => a.tooltip.formatter === null ? !1 : a.tooltip.open === void 0 ? E.value.upper || C.value === "upper" || C.value === "track" : a.tooltip.open);
137
- function W(e) {
138
- if (!x.value) return 0;
139
- let t = x.value.getBoundingClientRect(), n, r;
140
- if (n = "touches" in e ? a.vertical ? e.touches[0].clientY : e.touches[0].clientX : a.vertical ? e.clientY : e.clientX, a.vertical) {
141
- r = t.height;
142
- let e = n - t.top;
143
- return a.reverse ? e / r * 100 : (r - e) / r * 100;
144
- } else {
145
- r = t.width;
146
- let e = n - t.left;
147
- return a.reverse ? (r - e) / r * 100 : e / r * 100;
148
- }
149
- }
150
- function le(e) {
151
- if (!k.value) return "upper";
152
- let t = Math.abs(e - L.value), n = Math.abs(e - R.value);
153
- return t < n ? "lower" : n < t ? "upper" : e < L.value ? "lower" : "upper";
154
- }
155
- function G(e, t) {
156
- if (k.value) {
157
- let n = y.value, r;
158
- r = e === "lower" ? [Math.min(t, n[1]), n[1]] : [n[0], Math.max(t, n[0])], y.value = r, b("change", r);
159
- } else y.value = t, b("change", t);
160
- }
161
- function ue(e) {
162
- if (a.disabled || e.target.closest(".b-slider__handle")) return;
163
- let t = W(e), n = P(t), r = le(t);
164
- if (A.value && k.value) {
165
- let e = L.value, n = R.value;
166
- if (t >= e && t <= n) return;
167
- }
168
- G(r, n), b("changeComplete", (k.value, y.value));
169
- }
170
- function K(e, t) {
171
- a.disabled || (t.preventDefault(), C.value = e, e === "track" && k.value && (D.value = [...y.value], O.value = W(t)), document.addEventListener("mousemove", q), document.addEventListener("mouseup", J), document.addEventListener("touchmove", q), document.addEventListener("touchend", J));
172
- }
173
- function q(e) {
174
- if (!C.value || a.disabled) return;
175
- let t = W(e);
176
- if (C.value === "track" && D.value) {
177
- let e = t - O.value, n = D.value[0], r = D.value[1], i = N(n) + e, o = N(r) + e, s = P(i), c = P(o);
178
- s >= a.min && c <= a.max && (y.value = [s, c], b("change", [s, c]));
179
- return;
180
- }
181
- let n = P(t);
182
- G(C.value, n);
183
- }
184
- function J() {
185
- C.value && b("changeComplete", (k.value, y.value)), C.value = null, D.value = null, document.removeEventListener("mousemove", q), document.removeEventListener("mouseup", J), document.removeEventListener("touchmove", q), document.removeEventListener("touchend", J);
186
- }
187
- function Y(e, t) {
188
- if (a.disabled || !a.keyboard) return;
189
- let n = a.step ?? 1, r = 0;
190
- switch (e.key) {
191
- case "ArrowRight":
192
- case "ArrowUp":
193
- r = n;
194
- break;
195
- case "ArrowLeft":
196
- case "ArrowDown":
197
- r = -n;
198
- break;
199
- case "Home":
200
- r = a.min - (t === "lower" ? j.value : M.value);
201
- break;
202
- case "End":
203
- r = a.max - (t === "lower" ? j.value : M.value);
204
- break;
205
- default: return;
206
- }
207
- e.preventDefault(), G(t, F((t === "lower" ? j.value : M.value) + r)), b("changeComplete", (k.value, y.value));
208
- }
209
- function X(e) {
210
- T.value = e, E.value[e] = !0;
211
- }
212
- function Z(e) {
213
- T.value = null, E.value[e] = !1;
214
- }
215
- function Q(e) {
216
- E.value[e] = !0;
217
- }
218
- function $(e) {
219
- T.value !== e && C.value !== e && (E.value[e] = !1);
220
- }
221
- function de() {
222
- w.value = !0;
223
- }
224
- function fe() {
225
- w.value = !1;
226
- }
227
- function pe(e) {
228
- a.disabled || !A.value || K("track", e);
229
- }
230
- function me() {
231
- (S.value?.querySelector(".b-slider__handle"))?.focus();
232
- }
233
- function he() {
234
- (S.value?.querySelector(".b-slider__handle:focus"))?.blur();
235
- }
236
- return o({
237
- focus: me,
238
- blur: he
239
- }), l(() => {
240
- document.removeEventListener("mousemove", q), document.removeEventListener("mouseup", J), document.removeEventListener("touchmove", q), document.removeEventListener("touchend", J);
241
- }), (t, o) => (u(), r("div", {
242
- ref_key: "rootRef",
243
- ref: S,
244
- class: s(["b-slider", [{
245
- "b-slider--vertical": a.vertical,
246
- "b-slider--disabled": a.disabled,
247
- "b-slider--with-marks": !!a.marks,
248
- "b-slider--reverse": a.reverse,
249
- "b-slider--hovered": w.value
250
- }]]),
251
- onMouseenter: de,
252
- onMouseleave: fe
253
- }, [i("div", {
254
- ref_key: "railRef",
255
- ref: x,
256
- class: "b-slider__rail",
257
- onMousedown: ue
258
- }, [
259
- a.included ? (u(), r("div", {
260
- key: 0,
261
- class: "b-slider__track",
262
- style: c(z.value),
263
- onMousedown: te(pe, ["stop"])
264
- }, null, 36)) : n("", !0),
265
- (u(!0), r(e, null, f(oe.value, (e) => (u(), r("span", {
266
- key: `dot-${e.value}`,
267
- class: s(["b-slider__dot", { "b-slider__dot--active": e.isActive }]),
268
- style: c(a.vertical ? a.reverse ? { top: `${100 - e.percent}%` } : { bottom: `${100 - e.percent}%` } : a.reverse ? { right: `${e.percent}%` } : { left: `${e.percent}%` })
269
- }, null, 6))), 128)),
270
- (u(!0), r(e, null, f(B.value, (e) => (u(), r("span", {
271
- key: `mark-dot-${e.value}`,
272
- class: s(["b-slider__dot", { "b-slider__dot--active": e.isActive }]),
273
- style: c(a.vertical ? a.reverse ? { top: `${100 - e.percent}%` } : { bottom: `${100 - e.percent}%` } : a.reverse ? { right: `${e.percent}%` } : { left: `${e.percent}%` })
274
- }, null, 6))), 128)),
275
- k.value ? (u(), r("div", {
276
- key: 1,
277
- class: s(["b-slider__handle", { "b-slider__handle--active": C.value === "lower" || T.value === "lower" }]),
278
- style: c(ie.value),
279
- role: "slider",
280
- tabindex: a.disabled ? -1 : 0,
281
- "aria-valuemin": a.min,
282
- "aria-valuemax": M.value,
283
- "aria-valuenow": j.value,
284
- "aria-disabled": a.disabled || void 0,
285
- "aria-orientation": a.vertical ? "vertical" : "horizontal",
286
- "aria-label": m(v)["aria-label"] ? `${m(v)["aria-label"]} - minimum` : "Minimum",
287
- onMousedown: o[0] ||= (e) => K("lower", e),
288
- onTouchstart: o[1] ||= (e) => K("lower", e),
289
- onKeydown: o[2] ||= (e) => Y(e, "lower"),
290
- onFocus: o[3] ||= (e) => X("lower"),
291
- onBlur: o[4] ||= (e) => Z("lower"),
292
- onMouseenter: o[5] ||= (e) => Q("lower"),
293
- onMouseleave: o[6] ||= (e) => $("lower")
294
- }, [H.value === null ? n("", !0) : (u(), r("div", {
295
- key: 0,
296
- class: s(["b-slider__tooltip", { "b-slider__tooltip--visible": se.value }]),
297
- role: "tooltip"
298
- }, p(H.value), 3))], 46, ne)) : n("", !0),
299
- i("div", {
300
- class: s(["b-slider__handle", { "b-slider__handle--active": C.value === "upper" || T.value === "upper" }]),
301
- style: c(ae.value),
302
- role: "slider",
303
- tabindex: a.disabled ? -1 : 0,
304
- "aria-valuemin": k.value ? j.value : a.min,
305
- "aria-valuemax": a.max,
306
- "aria-valuenow": M.value,
307
- "aria-disabled": a.disabled || void 0,
308
- "aria-orientation": a.vertical ? "vertical" : "horizontal",
309
- "aria-label": m(v)["aria-label"] || (k.value ? "Maximum" : "Slider"),
310
- onMousedown: o[7] ||= (e) => K("upper", e),
311
- onTouchstart: o[8] ||= (e) => K("upper", e),
312
- onKeydown: o[9] ||= (e) => Y(e, "upper"),
313
- onFocus: o[10] ||= (e) => X("upper"),
314
- onBlur: o[11] ||= (e) => Z("upper"),
315
- onMouseenter: o[12] ||= (e) => Q("upper"),
316
- onMouseleave: o[13] ||= (e) => $("upper")
317
- }, [U.value === null ? n("", !0) : (u(), r("div", {
318
- key: 0,
319
- class: s(["b-slider__tooltip", { "b-slider__tooltip--visible": ce.value }]),
320
- role: "tooltip"
321
- }, p(U.value), 3))], 46, re)
322
- ], 544), a.marks ? (u(), r("div", g, [(u(!0), r(e, null, f(B.value, (e) => (u(), r("span", {
323
- key: `mark-label-${e.value}`,
324
- class: s(["b-slider__mark-text", { "b-slider__mark-text--active": e.isActive }]),
325
- style: c({
326
- ...a.vertical ? a.reverse ? { top: `${100 - e.percent}%` } : { bottom: `${100 - e.percent}%` } : a.reverse ? { right: `${e.percent}%` } : { left: `${e.percent}%` },
327
- ...e.style
328
- })
329
- }, p(e.label), 7))), 128))])) : n("", !0)], 34));
330
- }
331
- });
332
- //#endregion
333
- export { _ as default };
334
-
335
- //# sourceMappingURL=design-system177.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system177.js","names":[],"sources":["../src/components/BSlider/BSlider.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { useModel as _useModel, mergeModels as _mergeModels, defineComponent as _defineComponent } from 'vue'\nimport { withModifiers as _withModifiers, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"tabindex\", \"aria-valuemin\", \"aria-valuemax\", \"aria-valuenow\", \"aria-disabled\", \"aria-orientation\", \"aria-label\"]\nconst _hoisted_2 = [\"tabindex\", \"aria-valuemin\", \"aria-valuemax\", \"aria-valuenow\", \"aria-disabled\", \"aria-orientation\", \"aria-label\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"b-slider__marks\"\n}\n\nimport { computed, onBeforeUnmount, ref, useAttrs } from 'vue';\nimport type { BSliderMarks, BSliderRange, BSliderTooltip } from './types.ts';\n\n\nexport default /*@__PURE__*/_defineComponent({\n ...{ inheritAttrs: false },\n __name: 'BSlider',\n props: /*@__PURE__*/_mergeModels({\n disabled: { type: Boolean, default: false },\n dots: { type: Boolean, default: false },\n included: { type: Boolean, default: true },\n keyboard: { type: Boolean, default: true },\n max: { default: 100 },\n min: { default: 0 },\n range: { type: [Boolean, Object], default: false },\n reverse: { type: Boolean, default: false },\n step: { default: 1 },\n vertical: { type: Boolean, default: false },\n tooltip: { default: () => ({}) },\n marks: {}\n }, {\n \"modelValue\": { default: 0 },\n \"modelModifiers\": {},\n }),\n emits: /*@__PURE__*/_mergeModels([\"change\", \"changeComplete\"], [\"update:modelValue\"]),\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n\n\nconst attrs = useAttrs();\n\n//#region Props\n\n\nconst model = _useModel<number | [number, number]>(__props, \"modelValue\");\n\nconst emit = __emit;\n//#endregion\n\n//#region Internal state\nconst railRef = ref<HTMLElement | null>(null);\nconst rootRef = ref<HTMLElement | null>(null);\n\nconst dragging = ref<null | 'lower' | 'upper' | 'track'>(null);\nconst hovered = ref(false);\nconst focusedHandle = ref<'lower' | 'upper' | null>(null);\nconst tooltipVisible = ref<{ lower: boolean; upper: boolean }>({ lower: false, upper: false });\n\nconst trackDragStartValue = ref<[number, number] | null>(null);\nconst trackDragStartPos = ref(0);\n//#endregion\n\n//#region Computed values\nconst isRange = computed(() => __props.range !== false);\nconst draggableTrack = computed(() => typeof __props.range === 'object' && __props.range.draggableTrack);\n\nconst lowerValue = computed(() => {\n if (isRange.value) {\n const v = model.value as [number, number];\n return v[0];\n }\n return __props.min;\n});\n\nconst upperValue = computed(() => {\n if (isRange.value) {\n const v = model.value as [number, number];\n return v[1];\n }\n return model.value as number;\n});\n\nfunction valueToPercent(value: number): number {\n if (__props.max === __props.min) return 0;\n return ((value - __props.min) / (__props.max - __props.min)) * 100;\n}\n\nfunction percentToValue(percent: number): number {\n const raw = __props.min + (percent / 100) * (__props.max - __props.min);\n return snapToStep(raw);\n}\n\nfunction snapToStep(value: number): number {\n if (__props.step === null) {\n if (!__props.marks) return clamp(value);\n const markValues = Object.keys(__props.marks).map(Number);\n let closest = markValues[0] ?? __props.min;\n let closestDist = Math.abs(value - closest);\n for (const mv of markValues) {\n const dist = Math.abs(value - mv);\n if (dist < closestDist) {\n closest = mv;\n closestDist = dist;\n }\n }\n return clamp(closest);\n }\n const stepped = Math.round((value - __props.min) / __props.step) * __props.step + __props.min;\n return clamp(stepped);\n}\n\nfunction clamp(value: number): number {\n return Math.min(__props.max, Math.max(__props.min, value));\n}\n\nconst lowerPercent = computed(() => valueToPercent(lowerValue.value));\nconst upperPercent = computed(() => valueToPercent(upperValue.value));\n\nconst trackStyle = computed(() => {\n const start = isRange.value ? lowerPercent.value : 0;\n const length = isRange.value\n ? upperPercent.value - lowerPercent.value\n : upperPercent.value;\n\n if (__props.vertical) {\n return __props.reverse\n ? { top: `${100 - start - length}%`, height: `${length}%` }\n : { bottom: `${100 - start - length}%`, height: `${length}%` };\n }\n return __props.reverse\n ? { right: `${start}%`, width: `${length}%` }\n : { left: `${start}%`, width: `${length}%` };\n});\n\nconst lowerHandleStyle = computed(() => {\n const pct = lowerPercent.value;\n if (__props.vertical) {\n return __props.reverse ? { top: `${100 - pct}%` } : { bottom: `${100 - pct}%` };\n }\n return __props.reverse ? { right: `${pct}%` } : { left: `${pct}%` };\n});\n\nconst upperHandleStyle = computed(() => {\n const pct = upperPercent.value;\n if (__props.vertical) {\n return __props.reverse ? { top: `${100 - pct}%` } : { bottom: `${100 - pct}%` };\n }\n return __props.reverse ? { right: `${pct}%` } : { left: `${pct}%` };\n});\n\nconst markList = computed(() => {\n if (!__props.marks) return [];\n return Object.entries(__props.marks).map(([key, val]) => {\n const numKey = Number(key);\n const percent = valueToPercent(numKey);\n const isActive =\n __props.included &&\n (isRange.value\n ? numKey >= lowerValue.value && numKey <= upperValue.value\n : numKey <= upperValue.value);\n const label = typeof val === 'string' ? val : val.label;\n const style = typeof val === 'object' ? val.style : undefined;\n return { value: numKey, percent, isActive, label, style };\n });\n});\n\nconst dotList = computed(() => {\n if (!__props.dots || __props.step === null) return [];\n const result: { value: number; percent: number; isActive: boolean }[] = [];\n for (let v = __props.min; v <= __props.max; v += __props.step) {\n const percent = valueToPercent(v);\n const isActive =\n __props.included &&\n (isRange.value\n ? v >= lowerValue.value && v <= upperValue.value\n : v <= upperValue.value);\n result.push({ value: v, percent, isActive });\n }\n return result;\n});\n\nfunction formatTooltip(value: number): string | null {\n if (__props.tooltip.formatter === null) return null;\n if (__props.tooltip.formatter) return __props.tooltip.formatter(value);\n return String(value);\n}\n\nconst lowerTooltipText = computed(() => formatTooltip(lowerValue.value));\nconst upperTooltipText = computed(() => formatTooltip(upperValue.value));\n\nconst showLowerTooltip = computed(() => {\n if (__props.tooltip.formatter === null) return false;\n if (__props.tooltip.open !== undefined) return __props.tooltip.open;\n return tooltipVisible.value.lower || dragging.value === 'lower' || dragging.value === 'track';\n});\n\nconst showUpperTooltip = computed(() => {\n if (__props.tooltip.formatter === null) return false;\n if (__props.tooltip.open !== undefined) return __props.tooltip.open;\n return tooltipVisible.value.upper || dragging.value === 'upper' || dragging.value === 'track';\n});\n//#endregion\n\n//#region Event handlers\nfunction getPercentFromEvent(event: MouseEvent | TouchEvent): number {\n if (!railRef.value) return 0;\n const rect = railRef.value.getBoundingClientRect();\n let clientPos: number;\n let size: number;\n\n if ('touches' in event) {\n clientPos = __props.vertical ? event.touches[0].clientY : event.touches[0].clientX;\n } else {\n clientPos = __props.vertical ? event.clientY : event.clientX;\n }\n\n if (__props.vertical) {\n size = rect.height;\n const offset = clientPos - rect.top;\n return __props.reverse ? (offset / size) * 100 : ((size - offset) / size) * 100;\n } else {\n size = rect.width;\n const offset = clientPos - rect.left;\n return __props.reverse ? ((size - offset) / size) * 100 : (offset / size) * 100;\n }\n}\n\nfunction getCloserHandle(percent: number): 'lower' | 'upper' {\n if (!isRange.value) return 'upper';\n const distToLower = Math.abs(percent - lowerPercent.value);\n const distToUpper = Math.abs(percent - upperPercent.value);\n if (distToLower < distToUpper) return 'lower';\n if (distToUpper < distToLower) return 'upper';\n return percent < lowerPercent.value ? 'lower' : 'upper';\n}\n\nfunction updateValue(handle: 'lower' | 'upper', newValue: number) {\n if (isRange.value) {\n const current = model.value as [number, number];\n let updated: [number, number];\n if (handle === 'lower') {\n updated = [Math.min(newValue, current[1]), current[1]];\n } else {\n updated = [current[0], Math.max(newValue, current[0])];\n }\n model.value = updated;\n emit('change', updated);\n } else {\n model.value = newValue;\n emit('change', newValue);\n }\n}\n\nfunction handleRailClick(event: MouseEvent) {\n if (__props.disabled) return;\n if ((event.target as HTMLElement).closest('.b-slider__handle')) return;\n\n const percent = getPercentFromEvent(event);\n const value = percentToValue(percent);\n const handle = getCloserHandle(percent);\n\n if (draggableTrack.value && isRange.value) {\n const lp = lowerPercent.value;\n const up = upperPercent.value;\n if (percent >= lp && percent <= up) return;\n }\n\n updateValue(handle, value);\n emit('changeComplete', isRange.value ? (model.value as [number, number]) : (model.value as number));\n}\n\nfunction handleDragStart(handle: 'lower' | 'upper' | 'track', event: MouseEvent | TouchEvent) {\n if (__props.disabled) return;\n event.preventDefault();\n dragging.value = handle;\n\n if (handle === 'track' && isRange.value) {\n trackDragStartValue.value = [...(model.value as [number, number])] as [number, number];\n trackDragStartPos.value = getPercentFromEvent(event);\n }\n\n document.addEventListener('mousemove', handleDragMove);\n document.addEventListener('mouseup', handleDragEnd);\n document.addEventListener('touchmove', handleDragMove);\n document.addEventListener('touchend', handleDragEnd);\n}\n\nfunction handleDragMove(event: MouseEvent | TouchEvent) {\n if (!dragging.value || __props.disabled) return;\n const percent = getPercentFromEvent(event);\n\n if (dragging.value === 'track' && trackDragStartValue.value) {\n const delta = percent - trackDragStartPos.value;\n const startLower = trackDragStartValue.value[0];\n const startUpper = trackDragStartValue.value[1];\n const lowerPct = valueToPercent(startLower) + delta;\n const upperPct = valueToPercent(startUpper) + delta;\n\n const newLower = percentToValue(lowerPct);\n const newUpper = percentToValue(upperPct);\n\n if (newLower >= __props.min && newUpper <= __props.max) {\n model.value = [newLower, newUpper];\n emit('change', [newLower, newUpper]);\n }\n return;\n }\n\n const value = percentToValue(percent);\n updateValue(dragging.value as 'lower' | 'upper', value);\n}\n\nfunction handleDragEnd() {\n if (dragging.value) {\n emit('changeComplete', isRange.value ? (model.value as [number, number]) : (model.value as number));\n }\n dragging.value = null;\n trackDragStartValue.value = null;\n document.removeEventListener('mousemove', handleDragMove);\n document.removeEventListener('mouseup', handleDragEnd);\n document.removeEventListener('touchmove', handleDragMove);\n document.removeEventListener('touchend', handleDragEnd);\n}\n\nfunction handleKeyDown(event: KeyboardEvent, handle: 'lower' | 'upper') {\n if (__props.disabled || !__props.keyboard) return;\n const effectiveStep = __props.step ?? 1;\n let delta = 0;\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n delta = effectiveStep;\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n delta = -effectiveStep;\n break;\n case 'Home':\n delta = __props.min - (handle === 'lower' ? lowerValue.value : upperValue.value);\n break;\n case 'End':\n delta = __props.max - (handle === 'lower' ? lowerValue.value : upperValue.value);\n break;\n default:\n return;\n }\n\n event.preventDefault();\n const currentVal = handle === 'lower' ? lowerValue.value : upperValue.value;\n const newValue = snapToStep(currentVal + delta);\n updateValue(handle, newValue);\n emit('changeComplete', isRange.value ? (model.value as [number, number]) : (model.value as number));\n}\n\nfunction handleHandleFocus(handle: 'lower' | 'upper') {\n focusedHandle.value = handle;\n tooltipVisible.value[handle] = true;\n}\n\nfunction handleHandleBlur(handle: 'lower' | 'upper') {\n focusedHandle.value = null;\n tooltipVisible.value[handle] = false;\n}\n\nfunction handleHandleMouseEnter(handle: 'lower' | 'upper') {\n tooltipVisible.value[handle] = true;\n}\n\nfunction handleHandleMouseLeave(handle: 'lower' | 'upper') {\n if (focusedHandle.value !== handle && dragging.value !== handle) {\n tooltipVisible.value[handle] = false;\n }\n}\n\nfunction handleMouseEnter() {\n hovered.value = true;\n}\n\nfunction handleMouseLeave() {\n hovered.value = false;\n}\n\nfunction handleTrackMouseDown(event: MouseEvent) {\n if (__props.disabled || !draggableTrack.value) return;\n handleDragStart('track', event);\n}\n//#endregion\n\n//#region Expose\nfunction focus() {\n const el = rootRef.value?.querySelector('.b-slider__handle') as HTMLElement | null;\n el?.focus();\n}\n\nfunction blur() {\n const el = rootRef.value?.querySelector('.b-slider__handle:focus') as HTMLElement | null;\n el?.blur();\n}\n\n__expose({ focus, blur });\n//#endregion\n\n//#region Cleanup\nonBeforeUnmount(() => {\n document.removeEventListener('mousemove', handleDragMove);\n document.removeEventListener('mouseup', handleDragEnd);\n document.removeEventListener('touchmove', handleDragMove);\n document.removeEventListener('touchend', handleDragEnd);\n});\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n ref_key: \"rootRef\",\n ref: rootRef,\n class: _normalizeClass([\"b-slider\", [\n {\n 'b-slider--vertical': __props.vertical,\n 'b-slider--disabled': __props.disabled,\n 'b-slider--with-marks': !!__props.marks,\n 'b-slider--reverse': __props.reverse,\n 'b-slider--hovered': hovered.value,\n },\n ]]),\n onMouseenter: handleMouseEnter,\n onMouseleave: handleMouseLeave\n }, [\n _createElementVNode(\"div\", {\n ref_key: \"railRef\",\n ref: railRef,\n class: \"b-slider__rail\",\n onMousedown: handleRailClick\n }, [\n (__props.included)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"b-slider__track\",\n style: _normalizeStyle(trackStyle.value),\n onMousedown: _withModifiers(handleTrackMouseDown, [\"stop\"])\n }, null, 36))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(dotList.value, (dot) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: `dot-${dot.value}`,\n class: _normalizeClass([\"b-slider__dot\", { 'b-slider__dot--active': dot.isActive }]),\n style: _normalizeStyle(__props.vertical\n ? (__props.reverse ? { top: `${100 - dot.percent}%` } : { bottom: `${100 - dot.percent}%` })\n : (__props.reverse ? { right: `${dot.percent}%` } : { left: `${dot.percent}%` })\n )\n }, null, 6))\n }), 128)),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(markList.value, (mark) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: `mark-dot-${mark.value}`,\n class: _normalizeClass([\"b-slider__dot\", { 'b-slider__dot--active': mark.isActive }]),\n style: _normalizeStyle(__props.vertical\n ? (__props.reverse ? { top: `${100 - mark.percent}%` } : { bottom: `${100 - mark.percent}%` })\n : (__props.reverse ? { right: `${mark.percent}%` } : { left: `${mark.percent}%` })\n )\n }, null, 6))\n }), 128)),\n (isRange.value)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"b-slider__handle\", {\n 'b-slider__handle--active': dragging.value === 'lower' || focusedHandle.value === 'lower',\n }]),\n style: _normalizeStyle(lowerHandleStyle.value),\n role: \"slider\",\n tabindex: __props.disabled ? -1 : 0,\n \"aria-valuemin\": __props.min,\n \"aria-valuemax\": upperValue.value,\n \"aria-valuenow\": lowerValue.value,\n \"aria-disabled\": __props.disabled || undefined,\n \"aria-orientation\": __props.vertical ? 'vertical' : 'horizontal',\n \"aria-label\": (_unref(attrs)['aria-label'] as string) ? `${_unref(attrs)['aria-label']} - minimum` : 'Minimum',\n onMousedown: _cache[0] || (_cache[0] = (e) => handleDragStart('lower', e)),\n onTouchstart: _cache[1] || (_cache[1] = (e) => handleDragStart('lower', e)),\n onKeydown: _cache[2] || (_cache[2] = (e) => handleKeyDown(e, 'lower')),\n onFocus: _cache[3] || (_cache[3] = ($event: any) => (handleHandleFocus('lower'))),\n onBlur: _cache[4] || (_cache[4] = ($event: any) => (handleHandleBlur('lower'))),\n onMouseenter: _cache[5] || (_cache[5] = ($event: any) => (handleHandleMouseEnter('lower'))),\n onMouseleave: _cache[6] || (_cache[6] = ($event: any) => (handleHandleMouseLeave('lower')))\n }, [\n (lowerTooltipText.value !== null)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"b-slider__tooltip\", { 'b-slider__tooltip--visible': showLowerTooltip.value }]),\n role: \"tooltip\"\n }, _toDisplayString(lowerTooltipText.value), 3))\n : _createCommentVNode(\"\", true)\n ], 46, _hoisted_1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"b-slider__handle\", {\n 'b-slider__handle--active': dragging.value === 'upper' || focusedHandle.value === 'upper',\n }]),\n style: _normalizeStyle(upperHandleStyle.value),\n role: \"slider\",\n tabindex: __props.disabled ? -1 : 0,\n \"aria-valuemin\": isRange.value ? lowerValue.value : __props.min,\n \"aria-valuemax\": __props.max,\n \"aria-valuenow\": upperValue.value,\n \"aria-disabled\": __props.disabled || undefined,\n \"aria-orientation\": __props.vertical ? 'vertical' : 'horizontal',\n \"aria-label\": (_unref(attrs)['aria-label'] as string) || (isRange.value ? 'Maximum' : 'Slider'),\n onMousedown: _cache[7] || (_cache[7] = (e) => handleDragStart('upper', e)),\n onTouchstart: _cache[8] || (_cache[8] = (e) => handleDragStart('upper', e)),\n onKeydown: _cache[9] || (_cache[9] = (e) => handleKeyDown(e, 'upper')),\n onFocus: _cache[10] || (_cache[10] = ($event: any) => (handleHandleFocus('upper'))),\n onBlur: _cache[11] || (_cache[11] = ($event: any) => (handleHandleBlur('upper'))),\n onMouseenter: _cache[12] || (_cache[12] = ($event: any) => (handleHandleMouseEnter('upper'))),\n onMouseleave: _cache[13] || (_cache[13] = ($event: any) => (handleHandleMouseLeave('upper')))\n }, [\n (upperTooltipText.value !== null)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"b-slider__tooltip\", { 'b-slider__tooltip--visible': showUpperTooltip.value }]),\n role: \"tooltip\"\n }, _toDisplayString(upperTooltipText.value), 3))\n : _createCommentVNode(\"\", true)\n ], 46, _hoisted_2)\n ], 544),\n (__props.marks)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(markList.value, (mark) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: `mark-label-${mark.value}`,\n class: _normalizeClass([\"b-slider__mark-text\", { 'b-slider__mark-text--active': mark.isActive }]),\n style: _normalizeStyle({\n ...(__props.vertical\n ? (__props.reverse ? { top: `${100 - mark.percent}%` } : { bottom: `${100 - mark.percent}%` })\n : (__props.reverse ? { right: `${mark.percent}%` } : { left: `${mark.percent}%` })\n ),\n ...mark.style,\n })\n }, _toDisplayString(mark.label), 7))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ], 34))\n}\n}\n\n})"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system193.js","names":[],"sources":["../src/components/BTimePicker/BTimePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { useModel as _useModel, mergeModels as _mergeModels, defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, normalizeStyle as _normalizeStyle, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = [\"id\", \"aria-expanded\", \"aria-controls\", \"aria-describedby\", \"aria-label\", \"placeholder\", \"disabled\", \"readonly\", \"value\"]\nconst _hoisted_2 = { class: \"b-time-picker__suffix\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"b-time-picker__icon\",\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\"\n}\nconst _hoisted_4 = [\"id\"]\nconst _hoisted_5 = [\"id\"]\nconst _hoisted_6 = {\n class: \"b-time-picker__columns\",\n role: \"group\",\n \"aria-label\": \"Time selection columns\"\n}\nconst _hoisted_7 = [\"aria-activedescendant\"]\nconst _hoisted_8 = [\"id\", \"aria-selected\", \"aria-disabled\", \"onClick\"]\nconst _hoisted_9 = [\"aria-activedescendant\"]\nconst _hoisted_10 = [\"id\", \"aria-selected\", \"aria-disabled\", \"onClick\"]\nconst _hoisted_11 = [\"aria-activedescendant\"]\nconst _hoisted_12 = [\"id\", \"aria-selected\", \"aria-disabled\", \"onClick\"]\nconst _hoisted_13 = [\"aria-selected\"]\nconst _hoisted_14 = [\"aria-selected\"]\nconst _hoisted_15 = {\n key: 0,\n class: \"b-time-picker__footer\"\n}\n\nimport { useComponentId } from '@/composables/useComponentId.ts';\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue';\n\nimport {\n BTimePickerPlacement,\n BTimePickerSize,\n BTimePickerStatus,\n BTimePickerVariant,\n type BTimePickerDisabledTime,\n} from './types';\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BTimePicker',\n props: /*@__PURE__*/_mergeModels({\n size: { default: () => (BTimePickerSize.Medium) },\n variant: { default: () => (BTimePickerVariant.Outlined) },\n placeholder: { default: 'Select time' },\n disabled: { type: Boolean, default: false },\n inputReadOnly: { type: Boolean, default: false },\n allowClear: { type: Boolean, default: true },\n showNow: { type: Boolean, default: true },\n use12Hours: { type: Boolean, default: false },\n hourStep: { default: 1 },\n minuteStep: { default: 1 },\n secondStep: { default: 1 },\n format: {},\n placement: { default: () => (BTimePickerPlacement.BottomLeft) },\n status: {},\n hideDisabledOptions: { type: Boolean, default: false },\n needConfirm: { type: Boolean, default: true },\n changeOnScroll: { type: Boolean, default: false },\n showHour: { type: Boolean, default: true },\n showMinute: { type: Boolean, default: true },\n showSecond: { type: Boolean, default: true },\n defaultOpen: { type: Boolean, default: false },\n defaultValue: {},\n open: { type: Boolean },\n disabledTime: { type: Function }\n }, {\n \"modelValue\": { default: undefined },\n \"modelModifiers\": {},\n }),\n emits: /*@__PURE__*/_mergeModels([\"change\", \"openChange\"], [\"update:modelValue\"]),\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n\n\nconst model = _useModel<Date | null>(__props, \"modelValue\");\n\nconst emit = __emit;\n\nconst inputEl = ref<HTMLInputElement | null>(null);\nconst panelEl = ref<HTMLElement | null>(null);\nconst hourColEl = ref<HTMLElement | null>(null);\nconst minuteColEl = ref<HTMLElement | null>(null);\nconst secondColEl = ref<HTMLElement | null>(null);\nconst ampmColEl = ref<HTMLElement | null>(null);\n\n__expose({\n focus: () => inputEl.value?.focus(),\n blur: () => inputEl.value?.blur(),\n});\n\nconst { componentUID } = useComponentId();\nconst anchorName = computed(() => `--b-time-picker-${componentUID.value}`);\n\n// ─────────────────────────────────────────────\n// State\n// ─────────────────────────────────────────────\nconst isOpen = ref(__props.defaultOpen);\nconst isPanelOpen = ref(__props.open !== undefined ? !!__props.open : __props.defaultOpen);\nconst internalValue = ref<Date | null>(__props.defaultValue ?? null);\nconst pendingHour = ref<number | null>(null);\nconst pendingMinute = ref<number | null>(null);\nconst pendingSecond = ref<number | null>(null);\nconst pendingAmpm = ref<'AM' | 'PM' | null>(null);\nconst inputText = ref('');\nconst focusedColumn = ref<'hour' | 'minute' | 'second' | 'ampm'>('hour');\n\nconst selectedTime = computed({\n get: () => model.value ?? internalValue.value,\n set: (val) => {\n internalValue.value = val;\n model.value = val;\n },\n});\n\n// ─────────────────────────────────────────────\n// Format\n// ─────────────────────────────────────────────\nconst activeFormat = computed(() => {\n if (__props.format) return __props.format;\n const parts: string[] = [];\n if (__props.showHour) parts.push(__props.use12Hours ? 'hh' : 'HH');\n if (__props.showMinute) parts.push('mm');\n if (__props.showSecond) parts.push('ss');\n const base = parts.join(':');\n return __props.use12Hours ? `${base} A` : base;\n});\n\nfunction pad(n: number): string {\n return String(n).padStart(2, '0');\n}\n\nfunction formatTime(d: Date | null): string {\n if (!d) return '';\n const h = d.getHours();\n const m = d.getMinutes();\n const s = d.getSeconds();\n const ampm = h >= 12 ? 'PM' : 'AM';\n\n let result = activeFormat.value;\n if (__props.use12Hours) {\n const h12 = h % 12 || 12;\n result = result.replace('hh', pad(h12));\n result = result.replace('h', String(h12));\n result = result.replace('A', ampm);\n result = result.replace('a', ampm.toLowerCase());\n } else {\n result = result.replace('HH', pad(h));\n result = result.replace('H', String(h));\n }\n result = result.replace('mm', pad(m));\n result = result.replace('ss', pad(s));\n return result;\n}\n\nfunction parseTimeString(str: string): Date | null {\n if (!str.trim()) return null;\n const timeRegex12 = /(\\d{1,2}):(\\d{2})(?::(\\d{2}))?\\s*(AM|PM|am|pm)?/;\n const match = str.match(timeRegex12);\n if (!match) return null;\n\n let h = parseInt(match[1], 10);\n const m = parseInt(match[2], 10);\n const s = match[3] ? parseInt(match[3], 10) : 0;\n const period = match[4]?.toUpperCase();\n\n if (__props.use12Hours && period) {\n if (period === 'PM' && h < 12) h += 12;\n if (period === 'AM' && h === 12) h = 0;\n }\n\n if (h < 0 || h > 23 || m < 0 || m > 59 || s < 0 || s > 59) return null;\n\n const d = new Date();\n d.setHours(h, m, s, 0);\n return d;\n}\n\n// ─────────────────────────────────────────────\n// Disabled time logic\n// ─────────────────────────────────────────────\nconst disabledHours = computed<number[]>(() => {\n if (!__props.disabledTime) return [];\n const dt = __props.disabledTime();\n return dt.disabledHours?.() ?? [];\n});\n\nconst disabledMinutes = computed<number[]>(() => {\n if (!__props.disabledTime) return [];\n const dt = __props.disabledTime();\n const h = pendingHour.value ?? selectedTime.value?.getHours() ?? 0;\n return dt.disabledMinutes?.(h) ?? [];\n});\n\nconst disabledSeconds = computed<number[]>(() => {\n if (!__props.disabledTime) return [];\n const dt = __props.disabledTime();\n const h = pendingHour.value ?? selectedTime.value?.getHours() ?? 0;\n const m = pendingMinute.value ?? selectedTime.value?.getMinutes() ?? 0;\n return dt.disabledSeconds?.(h, m) ?? [];\n});\n\n// ─────────────────────────────────────────────\n// Column data\n// ─────────────────────────────────────────────\nconst hours = computed(() => {\n const list: number[] = [];\n if (__props.use12Hours) {\n for (let i = 1; i <= 12; i += __props.hourStep) list.push(i);\n } else {\n for (let i = 0; i < 24; i += __props.hourStep) list.push(i);\n }\n if (__props.hideDisabledOptions) {\n return list.filter((h) => !disabledHours.value.includes(__props.use12Hours ? to24Hour(h, pendingAmpm.value ?? 'AM') : h));\n }\n return list;\n});\n\nconst minutes = computed(() => {\n const list: number[] = [];\n for (let i = 0; i < 60; i += __props.minuteStep) list.push(i);\n if (__props.hideDisabledOptions) {\n return list.filter((m) => !disabledMinutes.value.includes(m));\n }\n return list;\n});\n\nconst seconds = computed(() => {\n const list: number[] = [];\n for (let i = 0; i < 60; i += __props.secondStep) list.push(i);\n if (__props.hideDisabledOptions) {\n return list.filter((s) => !disabledSeconds.value.includes(s));\n }\n return list;\n});\n\nfunction to24Hour(h12: number, period: 'AM' | 'PM'): number {\n if (period === 'AM') return h12 === 12 ? 0 : h12;\n return h12 === 12 ? 12 : h12 + 12;\n}\n\nfunction to12Hour(h24: number): { hour: number; period: 'AM' | 'PM' } {\n const period: 'AM' | 'PM' = h24 >= 12 ? 'PM' : 'AM';\n const hour = h24 % 12 || 12;\n return { hour, period };\n}\n\n// ─────────────────────────────────────────────\n// Panel open/close\n// ─────────────────────────────────────────────\nfunction openPanel() {\n if (__props.disabled) return;\n isOpen.value = true;\n isPanelOpen.value = true;\n emit('openChange', true);\n panelEl.value?.showPopover?.();\n syncPendingFromValue();\n nextTick(() => scrollToSelected());\n}\n\nfunction closePanel() {\n isOpen.value = false;\n isPanelOpen.value = false;\n emit('openChange', false);\n panelEl.value?.hidePopover?.();\n inputEl.value?.focus();\n}\n\nfunction togglePanel() {\n if (isPanelOpen.value) closePanel();\n else openPanel();\n}\n\nfunction handlePopoverToggle(e: Event) {\n const toggleEvent = e as ToggleEvent;\n const nowOpen = toggleEvent.newState === 'open';\n isOpen.value = nowOpen;\n isPanelOpen.value = nowOpen;\n if (!nowOpen) emit('openChange', false);\n}\n\n// ─────────────────────────────────────────────\n// Sync pending state\n// ─────────────────────────────────────────────\nfunction syncPendingFromValue() {\n const t = selectedTime.value;\n if (t) {\n if (__props.use12Hours) {\n const { hour, period } = to12Hour(t.getHours());\n pendingHour.value = hour;\n pendingAmpm.value = period;\n } else {\n pendingHour.value = t.getHours();\n }\n pendingMinute.value = t.getMinutes();\n pendingSecond.value = t.getSeconds();\n } else {\n pendingHour.value = null;\n pendingMinute.value = null;\n pendingSecond.value = null;\n pendingAmpm.value = null;\n }\n}\n\n// ─────────────────────────────────────────────\n// Selection\n// ─────────────────────────────────────────────\nfunction selectHour(h: number) {\n const h24 = __props.use12Hours ? to24Hour(h, pendingAmpm.value ?? 'AM') : h;\n if (disabledHours.value.includes(h24)) return;\n pendingHour.value = h;\n if (!__props.needConfirm && !__props.changeOnScroll) applyPendingIfComplete();\n else if (__props.changeOnScroll) applyPending();\n}\n\nfunction selectMinute(m: number) {\n if (disabledMinutes.value.includes(m)) return;\n pendingMinute.value = m;\n if (!__props.needConfirm && !__props.changeOnScroll) applyPendingIfComplete();\n else if (__props.changeOnScroll) applyPending();\n}\n\nfunction selectSecond(s: number) {\n if (disabledSeconds.value.includes(s)) return;\n pendingSecond.value = s;\n if (!__props.needConfirm && !__props.changeOnScroll) applyPendingIfComplete();\n else if (__props.changeOnScroll) applyPending();\n}\n\nfunction selectAmpm(val: 'AM' | 'PM') {\n pendingAmpm.value = val;\n if (!__props.needConfirm && !__props.changeOnScroll) applyPendingIfComplete();\n else if (__props.changeOnScroll) applyPending();\n}\n\nfunction applyPendingIfComplete() {\n if (pendingHour.value !== null && pendingMinute.value !== null) {\n if (__props.showSecond && pendingSecond.value === null) return;\n if (__props.use12Hours && pendingAmpm.value === null) return;\n applyPending();\n closePanel();\n }\n}\n\nfunction applyPending() {\n const h = pendingHour.value ?? 0;\n const m = pendingMinute.value ?? 0;\n const s = pendingSecond.value ?? 0;\n const h24 = __props.use12Hours ? to24Hour(h, pendingAmpm.value ?? 'AM') : h;\n\n const d = new Date();\n d.setHours(h24, m, s, 0);\n selectedTime.value = d;\n inputText.value = formatTime(d);\n emit('change', d, formatTime(d));\n}\n\nfunction handleOk() {\n applyPending();\n closePanel();\n}\n\nfunction handleNow() {\n const now = new Date();\n if (__props.use12Hours) {\n const { hour, period } = to12Hour(now.getHours());\n pendingHour.value = hour;\n pendingAmpm.value = period;\n } else {\n pendingHour.value = now.getHours();\n }\n pendingMinute.value = now.getMinutes();\n pendingSecond.value = now.getSeconds();\n nextTick(() => scrollToSelected());\n if (!__props.needConfirm) {\n applyPending();\n closePanel();\n }\n}\n\nfunction handleClear(e: Event) {\n e.stopPropagation();\n selectedTime.value = null;\n inputText.value = '';\n pendingHour.value = null;\n pendingMinute.value = null;\n pendingSecond.value = null;\n pendingAmpm.value = null;\n emit('change', null, '');\n}\n\n// ─────────────────────────────────────────────\n// Input handling\n// ─────────────────────────────────────────────\nfunction handleInputChange(e: Event) {\n const val = (e.target as HTMLInputElement).value;\n inputText.value = val;\n}\n\nfunction handleInputBlur() {\n if (!isPanelOpen.value) {\n const parsed = parseTimeString(inputText.value);\n if (parsed) {\n selectedTime.value = parsed;\n inputText.value = formatTime(parsed);\n emit('change', parsed, formatTime(parsed));\n } else if (inputText.value === '') {\n selectedTime.value = null;\n emit('change', null, '');\n } else {\n inputText.value = formatTime(selectedTime.value);\n }\n }\n}\n\nfunction handleInputKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n if (!isPanelOpen.value) {\n e.preventDefault();\n openPanel();\n } else if (e.key === 'Enter') {\n e.preventDefault();\n const parsed = parseTimeString(inputText.value);\n if (parsed) {\n selectedTime.value = parsed;\n inputText.value = formatTime(parsed);\n emit('change', parsed, formatTime(parsed));\n }\n closePanel();\n }\n } else if (e.key === 'Escape') {\n if (isPanelOpen.value) {\n e.preventDefault();\n closePanel();\n }\n }\n}\n\n// ─────────────────────────────────────────────\n// Panel keyboard navigation\n// ─────────────────────────────────────────────\nfunction handlePanelKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n e.preventDefault();\n closePanel();\n return;\n }\n\n if (e.key === 'Tab') {\n const columns: ('hour' | 'minute' | 'second' | 'ampm')[] = [];\n if (__props.showHour) columns.push('hour');\n if (__props.showMinute) columns.push('minute');\n if (__props.showSecond) columns.push('second');\n if (__props.use12Hours) columns.push('ampm');\n\n const idx = columns.indexOf(focusedColumn.value);\n if (e.shiftKey) {\n if (idx > 0) {\n e.preventDefault();\n focusedColumn.value = columns[idx - 1];\n }\n } else {\n if (idx < columns.length - 1) {\n e.preventDefault();\n focusedColumn.value = columns[idx + 1];\n }\n }\n return;\n }\n\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n e.preventDefault();\n const delta = e.key === 'ArrowUp' ? -1 : 1;\n adjustFocusedColumn(delta);\n return;\n }\n\n if (e.key === 'Enter') {\n e.preventDefault();\n handleOk();\n }\n}\n\nfunction adjustFocusedColumn(delta: number) {\n if (focusedColumn.value === 'hour') {\n const list = hours.value;\n const current = pendingHour.value ?? list[0];\n const idx = list.indexOf(current);\n const next = list[Math.max(0, Math.min(list.length - 1, idx + delta))];\n selectHour(next);\n scrollColumnTo(hourColEl.value, list.indexOf(next));\n } else if (focusedColumn.value === 'minute') {\n const list = minutes.value;\n const current = pendingMinute.value ?? list[0];\n const idx = list.indexOf(current);\n const next = list[Math.max(0, Math.min(list.length - 1, idx + delta))];\n selectMinute(next);\n scrollColumnTo(minuteColEl.value, list.indexOf(next));\n } else if (focusedColumn.value === 'second') {\n const list = seconds.value;\n const current = pendingSecond.value ?? list[0];\n const idx = list.indexOf(current);\n const next = list[Math.max(0, Math.min(list.length - 1, idx + delta))];\n selectSecond(next);\n scrollColumnTo(secondColEl.value, list.indexOf(next));\n } else if (focusedColumn.value === 'ampm') {\n const val = pendingAmpm.value === 'AM' ? 'PM' : 'AM';\n selectAmpm(val);\n }\n}\n\n// ─────────────────────────────────────────────\n// Scroll helpers\n// ─────────────────────────────────────────────\nfunction scrollColumnTo(col: HTMLElement | null, idx: number) {\n if (!col || !col.scrollTo) return;\n const cellHeight = 28;\n col.scrollTo({ top: idx * cellHeight, behavior: 'smooth' });\n}\n\nfunction scrollToSelected() {\n if (pendingHour.value !== null) {\n const idx = hours.value.indexOf(pendingHour.value);\n if (idx >= 0) scrollColumnTo(hourColEl.value, idx);\n }\n if (pendingMinute.value !== null) {\n const idx = minutes.value.indexOf(pendingMinute.value);\n if (idx >= 0) scrollColumnTo(minuteColEl.value, idx);\n }\n if (pendingSecond.value !== null && __props.showSecond) {\n const idx = seconds.value.indexOf(pendingSecond.value);\n if (idx >= 0) scrollColumnTo(secondColEl.value, idx);\n }\n if (pendingAmpm.value && __props.use12Hours) {\n const idx = pendingAmpm.value === 'AM' ? 0 : 1;\n scrollColumnTo(ampmColEl.value, idx);\n }\n}\n\n// ─────────────────────────────────────────────\n// Click outside\n// ─────────────────────────────────────────────\nfunction handleClickOutside(e: MouseEvent) {\n if (!isPanelOpen.value) return;\n const target = e.target as Node;\n if (panelEl.value?.contains(target)) return;\n if (inputEl.value?.parentElement?.contains(target)) return;\n closePanel();\n}\n\nonMounted(() => {\n document.addEventListener('mousedown', handleClickOutside);\n});\nonBeforeUnmount(() => {\n document.removeEventListener('mousedown', handleClickOutside);\n});\n\n// ─────────────────────────────────────────────\n// Watchers\n// ─────────────────────────────────────────────\nwatch(\n () => __props.open,\n (val) => {\n if (val !== undefined) {\n if (val) openPanel();\n else closePanel();\n }\n },\n);\n\nwatch(selectedTime, (val) => {\n inputText.value = formatTime(val);\n});\n\n// Init display\ninputText.value = formatTime(selectedTime.value);\n\n// ─────────────────────────────────────────────\n// Computed classes\n// ─────────────────────────────────────────────\nconst rootClasses = computed(() => [\n 'b-time-picker',\n `b-time-picker--${__props.size}`,\n `b-time-picker--${__props.variant}`,\n {\n 'b-time-picker--disabled': __props.disabled,\n 'b-time-picker--open': isPanelOpen.value,\n [`b-time-picker--${__props.status}`]: !!__props.status,\n },\n]);\n\nconst isHourDisabled = (h: number) => {\n const h24 = __props.use12Hours ? to24Hour(h, pendingAmpm.value ?? 'AM') : h;\n return disabledHours.value.includes(h24);\n};\nconst isMinuteDisabled = (m: number) => disabledMinutes.value.includes(m);\nconst isSecondDisabled = (s: number) => disabledSeconds.value.includes(s);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(rootClasses.value)\n }, [\n _createElementVNode(\"div\", {\n class: \"b-time-picker__input-wrap\",\n style: _normalizeStyle({ anchorName: anchorName.value }),\n onClick: togglePanel\n }, [\n _createElementVNode(\"input\", {\n id: `b-time-picker-input-${_unref(componentUID)}`,\n ref_key: \"inputEl\",\n ref: inputEl,\n class: \"b-time-picker__input\",\n type: \"text\",\n role: \"combobox\",\n \"aria-expanded\": isPanelOpen.value,\n \"aria-haspopup\": \"dialog\",\n \"aria-controls\": isPanelOpen.value ? `b-time-picker-panel-${_unref(componentUID)}` : undefined,\n \"aria-describedby\": __props.status ? `b-time-picker-status-${_unref(componentUID)}` : undefined,\n \"aria-label\": __props.placeholder,\n placeholder: __props.placeholder,\n disabled: __props.disabled,\n readonly: __props.inputReadOnly,\n value: inputText.value,\n autocomplete: \"off\",\n onInput: handleInputChange,\n onBlur: handleInputBlur,\n onKeydown: handleInputKeydown\n }, null, 40, _hoisted_1),\n _createElementVNode(\"span\", _hoisted_2, [\n (!__props.allowClear || !selectedTime.value)\n ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_3, [...(_cache[2] || (_cache[2] = [\n _createElementVNode(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }, null, -1),\n _createElementVNode(\"polyline\", { points: \"12 6 12 12 16 14\" }, null, -1)\n ]))]))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"b-time-picker__clear\",\n type: \"button\",\n \"aria-label\": \"Clear time\",\n tabindex: \"-1\",\n onClick: handleClear\n }, [...(_cache[3] || (_cache[3] = [\n _createElementVNode(\"svg\", {\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\"\n }, [\n _createElementVNode(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }),\n _createElementVNode(\"line\", {\n x1: \"15\",\n y1: \"9\",\n x2: \"9\",\n y2: \"15\"\n }),\n _createElementVNode(\"line\", {\n x1: \"9\",\n y1: \"9\",\n x2: \"15\",\n y2: \"15\"\n })\n ], -1)\n ]))]))\n ]),\n (__props.status)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n id: `b-time-picker-status-${_unref(componentUID)}`,\n class: \"b-time-picker__status-text\",\n \"aria-live\": \"polite\"\n }, _toDisplayString(__props.status), 9, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ], 4),\n _createElementVNode(\"div\", {\n id: `b-time-picker-panel-${_unref(componentUID)}`,\n ref_key: \"panelEl\",\n ref: panelEl,\n class: \"b-time-picker__panel\",\n popover: \"\",\n role: \"dialog\",\n \"aria-label\": 'Time picker',\n \"aria-modal\": true,\n style: _normalizeStyle({ positionAnchor: anchorName.value }),\n onToggle: handlePopoverToggle,\n onKeydown: handlePanelKeydown\n }, [\n _createElementVNode(\"div\", _hoisted_6, [\n (__props.showHour)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n ref_key: \"hourColEl\",\n ref: hourColEl,\n class: \"b-time-picker__column\",\n role: \"listbox\",\n \"aria-label\": 'Hours',\n \"aria-activedescendant\": pendingHour.value !== null ? `b-time-picker-hour-${pendingHour.value}-${_unref(componentUID)}` : undefined\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(hours.value, (h) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n id: `b-time-picker-hour-${h}-${_unref(componentUID)}`,\n key: h,\n class: _normalizeClass([\"b-time-picker__cell\", {\n 'b-time-picker__cell--selected': pendingHour.value === h,\n 'b-time-picker__cell--disabled': isHourDisabled(h),\n 'b-time-picker__cell--focused': focusedColumn.value === 'hour' && pendingHour.value === h,\n }]),\n role: \"option\",\n \"aria-selected\": pendingHour.value === h,\n \"aria-disabled\": isHourDisabled(h),\n onClick: ($event: any) => (selectHour(h))\n }, _toDisplayString(pad(h)), 11, _hoisted_8))\n }), 128))\n ], 8, _hoisted_7))\n : _createCommentVNode(\"\", true),\n (__props.showMinute)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n ref_key: \"minuteColEl\",\n ref: minuteColEl,\n class: \"b-time-picker__column\",\n role: \"listbox\",\n \"aria-label\": 'Minutes',\n \"aria-activedescendant\": pendingMinute.value !== null ? `b-time-picker-minute-${pendingMinute.value}-${_unref(componentUID)}` : undefined\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(minutes.value, (m) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n id: `b-time-picker-minute-${m}-${_unref(componentUID)}`,\n key: m,\n class: _normalizeClass([\"b-time-picker__cell\", {\n 'b-time-picker__cell--selected': pendingMinute.value === m,\n 'b-time-picker__cell--disabled': isMinuteDisabled(m),\n 'b-time-picker__cell--focused': focusedColumn.value === 'minute' && pendingMinute.value === m,\n }]),\n role: \"option\",\n \"aria-selected\": pendingMinute.value === m,\n \"aria-disabled\": isMinuteDisabled(m),\n onClick: ($event: any) => (selectMinute(m))\n }, _toDisplayString(pad(m)), 11, _hoisted_10))\n }), 128))\n ], 8, _hoisted_9))\n : _createCommentVNode(\"\", true),\n (__props.showSecond)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 2,\n ref_key: \"secondColEl\",\n ref: secondColEl,\n class: \"b-time-picker__column\",\n role: \"listbox\",\n \"aria-label\": 'Seconds',\n \"aria-activedescendant\": pendingSecond.value !== null ? `b-time-picker-second-${pendingSecond.value}-${_unref(componentUID)}` : undefined\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(seconds.value, (s) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n id: `b-time-picker-second-${s}-${_unref(componentUID)}`,\n key: s,\n class: _normalizeClass([\"b-time-picker__cell\", {\n 'b-time-picker__cell--selected': pendingSecond.value === s,\n 'b-time-picker__cell--disabled': isSecondDisabled(s),\n 'b-time-picker__cell--focused': focusedColumn.value === 'second' && pendingSecond.value === s,\n }]),\n role: \"option\",\n \"aria-selected\": pendingSecond.value === s,\n \"aria-disabled\": isSecondDisabled(s),\n onClick: ($event: any) => (selectSecond(s))\n }, _toDisplayString(pad(s)), 11, _hoisted_12))\n }), 128))\n ], 8, _hoisted_11))\n : _createCommentVNode(\"\", true),\n (__props.use12Hours)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 3,\n ref_key: \"ampmColEl\",\n ref: ampmColEl,\n class: \"b-time-picker__column b-time-picker__column--ampm\",\n role: \"listbox\",\n \"aria-label\": \"AM/PM\"\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"b-time-picker__cell\", {\n 'b-time-picker__cell--selected': pendingAmpm.value === 'AM',\n 'b-time-picker__cell--focused': focusedColumn.value === 'ampm' && pendingAmpm.value === 'AM',\n }]),\n role: \"option\",\n \"aria-selected\": pendingAmpm.value === 'AM',\n onClick: _cache[0] || (_cache[0] = ($event: any) => (selectAmpm('AM')))\n }, \" AM \", 10, _hoisted_13),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"b-time-picker__cell\", {\n 'b-time-picker__cell--selected': pendingAmpm.value === 'PM',\n 'b-time-picker__cell--focused': focusedColumn.value === 'ampm' && pendingAmpm.value === 'PM',\n }]),\n role: \"option\",\n \"aria-selected\": pendingAmpm.value === 'PM',\n onClick: _cache[1] || (_cache[1] = ($event: any) => (selectAmpm('PM')))\n }, \" PM \", 10, _hoisted_14)\n ], 512))\n : _createCommentVNode(\"\", true)\n ]),\n (__props.needConfirm || __props.showNow)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n (__props.showNow)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"b-time-picker__now-btn\",\n type: \"button\",\n onClick: handleNow\n }, \" Now \"))\n : _createCommentVNode(\"\", true),\n (__props.needConfirm)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"b-time-picker__ok-btn\",\n type: \"button\",\n onClick: handleOk\n }, \" OK \"))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ], 44, _hoisted_5)\n ], 2))\n}\n}\n\n})"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system199.js","names":[],"sources":["../src/components/BTabs/BTabs.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveDynamicComponent as _resolveDynamicComponent, createBlock as _createBlock, createElementVNode as _createElementVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, vShow as _vShow, withDirectives as _withDirectives, KeepAlive as _KeepAlive } from \"vue\"\n\nconst _hoisted_1 = { class: \"b-tabs__header\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"b-tabs__extra b-tabs__extra--left\"\n}\nconst _hoisted_3 = [\"aria-orientation\"]\nconst _hoisted_4 = [\"data-tab-key\", \"aria-selected\", \"aria-disabled\", \"aria-controls\", \"id\", \"tabindex\", \"onClick\"]\nconst _hoisted_5 = { class: \"b-tabs__tab-label\" }\nconst _hoisted_6 = [\"onClick\"]\nconst _hoisted_7 = {\n key: 2,\n class: \"b-tabs__extra b-tabs__extra--right\"\n}\nconst _hoisted_8 = {\n key: 0,\n \"aria-hidden\": \"true\",\n style: {\"display\":\"none\"}\n}\nconst _hoisted_9 = { class: \"b-tabs__content\" }\nconst _hoisted_10 = [\"id\", \"aria-labelledby\", \"tabindex\", \"aria-hidden\"]\nconst _hoisted_11 = [\"id\", \"aria-labelledby\", \"tabindex\", \"aria-hidden\"]\n\nimport type { Component, VNode } from 'vue';\nimport { computed, defineComponent, h, nextTick, onMounted, provide, ref, useId, watch } from 'vue';\n\nimport type {\n BTabItem,\n BTabPaneRegistration,\n BTabsContext,\n BTabsPlacement,\n BTabsSize,\n BTabsType,\n} from './types';\nimport { BTabsContextKey } from './types';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BTabs',\n props: {\n activeKey: {},\n defaultActiveKey: {},\n items: { default: () => ([]) },\n type: { default: 'line' },\n placement: { default: 'top' },\n size: { default: 'middle' },\n centered: { type: Boolean, default: false },\n animated: { type: Boolean, default: true },\n hideAdd: { type: Boolean, default: false },\n destroyOnHidden: { type: Boolean, default: false },\n keepAlive: { type: Boolean, default: false },\n tabBarGutter: {}\n },\n emits: [\"update:activeKey\", \"change\", \"tabClick\", \"edit\"],\n setup(__props: any, { emit: __emit }) {\n\n\n\n// ─────────────────────────────────────────────\n// Emits\n// ─────────────────────────────────────────────\nconst emit = __emit;\n\n// ─────────────────────────────────────────────\n// Slots\n// ─────────────────────────────────────────────\n\n\n// ─────────────────────────────────────────────\n// Instance-scoped ID prefix (prevents duplicate IDs when multiple BTabs on page)\n// ─────────────────────────────────────────────\nconst uid = useId();\nconst tabId = (key: string) => `${uid}-tab-${key}`;\nconst panelId = (key: string) => `${uid}-tabpanel-${key}`;\n\n// ─────────────────────────────────────────────\n// Pane registry (for BTabPane child component API)\n// ─────────────────────────────────────────────\nconst paneRegistry = ref(new Map<string, BTabPaneRegistration>());\nconst paneOrder = ref<string[]>([]);\n\nfunction registerPane(pane: BTabPaneRegistration) {\n paneRegistry.value.set(pane.key, pane);\n if (!paneOrder.value.includes(pane.key)) {\n paneOrder.value = [...paneOrder.value, pane.key];\n }\n}\n\nfunction unregisterPane(key: string) {\n paneRegistry.value.delete(key);\n paneOrder.value = paneOrder.value.filter((k) => k !== key);\n}\n\nfunction updatePane(key: string, pane: BTabPaneRegistration) {\n paneRegistry.value.set(key, pane);\n}\n\n// ─────────────────────────────────────────────\n// Mode detection + effective items\n// ─────────────────────────────────────────────\nconst isItemsMode = computed(() => __props.items && __props.items.length > 0);\n\nconst effectiveItems = computed<BTabItem[]>(() => {\n if (isItemsMode.value) return __props.items;\n return paneOrder.value\n .map((key) => paneRegistry.value.get(key))\n .filter((p): p is BTabPaneRegistration => p !== undefined)\n .map((pane) => ({\n key: pane.key,\n label: pane.label,\n disabled: pane.disabled,\n closable: pane.closable,\n destroyOnHidden: pane.destroyOnHidden,\n forceRender: pane.forceRender,\n keepAlive: pane.keepAlive,\n }));\n});\n\n// ─────────────────────────────────────────────\n// Internal state\n// ─────────────────────────────────────────────\nconst isControlled = computed(() => __props.activeKey !== undefined);\n\nconst firstEnabledKey = computed(\n () => effectiveItems.value.find((i) => !i.disabled)?.key ?? effectiveItems.value[0]?.key ?? '',\n);\n\nconst internalKey = ref<string>(__props.activeKey ?? __props.defaultActiveKey ?? firstEnabledKey.value);\n\nwatch(\n () => __props.activeKey,\n (val) => {\n if (val !== undefined) internalKey.value = val;\n },\n);\n\nwatch(effectiveItems, () => {\n if (\n internalKey.value === undefined ||\n !effectiveItems.value.find((i) => i.key === internalKey.value)\n ) {\n internalKey.value = firstEnabledKey.value;\n }\n});\n\nconst currentKey = computed(() => (isControlled.value ? __props.activeKey! : internalKey.value));\n\n// ─────────────────────────────────────────────\n// Provide context to BTabPane children\n// ─────────────────────────────────────────────\nconst context: BTabsContext = {\n activeKey: currentKey,\n type: computed(() => __props.type),\n size: computed(() => __props.size),\n placement: computed(() => __props.placement),\n keepAlive: computed(() => __props.keepAlive),\n destroyOnHidden: computed(() => __props.destroyOnHidden),\n register: registerPane,\n unregister: unregisterPane,\n update: updatePane,\n};\n\nprovide(BTabsContextKey, context);\n\n// ─────────────────────────────────────────────\n// Tab activation\n// ─────────────────────────────────────────────\nfunction activateTab(key: string, event?: MouseEvent) {\n const item = effectiveItems.value.find((i) => i.key === key);\n if (!item || item.disabled) return;\n\n if (event) {\n emit('tabClick', key, event);\n }\n\n if (key === currentKey.value) return;\n\n if (!isControlled.value) {\n internalKey.value = key;\n }\n emit('update:activeKey', key);\n emit('change', key);\n}\n\n// ─────────────────────────────────────────────\n// Editable-card actions\n// ─────────────────────────────────────────────\nfunction onAdd() {\n emit('edit', null, 'add');\n}\n\nfunction onRemove(key: string, event: MouseEvent) {\n event.stopPropagation();\n emit('edit', key, 'remove');\n}\n\n// ─────────────────────────────────────────────\n// Ink bar positioning\n// ─────────────────────────────────────────────\nconst tabListRef = ref<HTMLElement | null>(null);\nconst inkBarStyle = ref<Record<string, string>>({});\n\nfunction updateInkBar() {\n if (!tabListRef.value || __props.type !== 'line') return;\n const activeEl = tabListRef.value.querySelector<HTMLElement>('.b-tabs__tab--active');\n if (!activeEl) return;\n\n const isVertical = __props.placement === 'left' || __props.placement === 'right';\n\n if (isVertical) {\n inkBarStyle.value = {\n top: `${activeEl.offsetTop}px`,\n height: `${activeEl.offsetHeight}px`,\n };\n } else {\n inkBarStyle.value = {\n left: `${activeEl.offsetLeft}px`,\n width: `${activeEl.offsetWidth}px`,\n };\n }\n}\n\nwatch(currentKey, async () => {\n await nextTick();\n updateInkBar();\n});\n\nonMounted(() => {\n updateInkBar();\n});\n\n// ─────────────────────────────────────────────\n// Keyboard navigation (roving tabindex)\n// ─────────────────────────────────────────────\nfunction onKeydown(event: KeyboardEvent) {\n const isVertical = __props.placement === 'left' || __props.placement === 'right';\n const nextKeys = isVertical ? ['ArrowDown'] : ['ArrowRight'];\n const prevKeys = isVertical ? ['ArrowUp'] : ['ArrowLeft'];\n\n // Delete key closes the active tab in editable-card mode\n if (event.key === 'Delete' && __props.type === 'editable-card') {\n const item = effectiveItems.value.find((i) => i.key === currentKey.value);\n if (item && item.closable !== false) {\n event.preventDefault();\n emit('edit', currentKey.value, 'remove');\n }\n return;\n }\n\n if ([...nextKeys, ...prevKeys, 'Home', 'End'].includes(event.key)) {\n event.preventDefault();\n const enabledItems = effectiveItems.value.filter((i) => !i.disabled);\n if (enabledItems.length === 0) return;\n\n const currentIdx = enabledItems.findIndex((i) => i.key === currentKey.value);\n\n let targetIdx: number;\n if (nextKeys.includes(event.key)) {\n targetIdx = (currentIdx + 1) % enabledItems.length;\n } else if (prevKeys.includes(event.key)) {\n targetIdx = (currentIdx - 1 + enabledItems.length) % enabledItems.length;\n } else if (event.key === 'Home') {\n targetIdx = 0;\n } else {\n targetIdx = enabledItems.length - 1;\n }\n\n const targetKey = enabledItems[targetIdx].key;\n activateTab(targetKey);\n\n nextTick(() => {\n if (!tabListRef.value) return;\n const targetEl = tabListRef.value.querySelector<HTMLElement>(`[data-tab-key=\"${targetKey}\"]`);\n targetEl?.focus();\n });\n }\n}\n\n// ─────────────────────────────────────────────\n// KeepAlive + content visibility\n// ─────────────────────────────────────────────\nconst renderedKeys = ref<Set<string>>(new Set([currentKey.value]));\n\nwatch(currentKey, (key) => {\n renderedKeys.value.add(key);\n});\n\nfunction shouldUseKeepAlive(item: BTabItem): boolean {\n if (item.destroyOnHidden) return false;\n if (item.keepAlive !== undefined) return item.keepAlive;\n if (__props.destroyOnHidden) return false;\n return __props.keepAlive;\n}\n\nfunction shouldRender(item: BTabItem): boolean {\n if (item.forceRender) return true;\n if (shouldUseKeepAlive(item)) return true;\n const itemDestroy = item.destroyOnHidden ?? __props.destroyOnHidden;\n if (itemDestroy) return item.key === currentKey.value;\n return renderedKeys.value.has(item.key);\n}\n\n// ─────────────────────────────────────────────\n// KeepAlive panel wrapper components\n// ─────────────────────────────────────────────\nconst panelWrappers = computed<Record<string, Component>>(() => {\n const wrappers: Record<string, Component> = {};\n for (const item of effectiveItems.value) {\n if (!shouldUseKeepAlive(item)) continue;\n wrappers[item.key] = defineComponent({\n name: `BTabPanel_${item.key}`,\n setup() {\n return () => {\n const pane = paneRegistry.value.get(item.key);\n if (pane) {\n return pane.renderContent();\n }\n return null;\n };\n },\n });\n }\n return wrappers;\n});\n\nfunction getPaneContent(key: string): VNode[] {\n const pane = paneRegistry.value.get(key);\n return pane?.renderContent() ?? [];\n}\n\nfunction getPaneLabel(key: string): VNode[] | undefined {\n const pane = paneRegistry.value.get(key);\n return pane?.renderLabel?.();\n}\n\n// ─────────────────────────────────────────────\n// Computed classes\n// ─────────────────────────────────────────────\nconst rootClasses = computed(() => [\n 'b-tabs',\n `b-tabs--${__props.type}`,\n `b-tabs--${__props.placement}`,\n `b-tabs--${__props.size}`,\n { 'b-tabs--centered': __props.centered },\n]);\n\nconst tabBarGutterStyle = computed(() =>\n __props.tabBarGutter !== undefined ? { gap: `${__props.tabBarGutter}px` } : undefined,\n);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(rootClasses.value)\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.$slots.leftExtra)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"leftExtra\")\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n ref_key: \"tabListRef\",\n ref: tabListRef,\n class: \"b-tabs__list\",\n role: \"tablist\",\n \"aria-orientation\": \n __props.placement === 'left' || __props.placement === 'right' ? 'vertical' : 'horizontal'\n ,\n style: _normalizeStyle(tabBarGutterStyle.value)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(effectiveItems.value, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: item.key,\n \"data-tab-key\": item.key,\n class: _normalizeClass([\"b-tabs__tab\", {\n 'b-tabs__tab--active': item.key === currentKey.value,\n 'b-tabs__tab--disabled': item.disabled,\n }]),\n role: \"tab\",\n \"aria-selected\": item.key === currentKey.value,\n \"aria-disabled\": item.disabled || undefined,\n \"aria-controls\": panelId(item.key),\n id: tabId(item.key),\n tabindex: item.key === currentKey.value ? 0 : -1,\n onClick: ($event: any) => (!item.disabled && activateTab(item.key, $event)),\n onKeydown: onKeydown\n }, [\n _createElementVNode(\"span\", _hoisted_5, [\n (isItemsMode.value)\n ? _renderSlot(_ctx.$slots, \"label\", {\n key: 0,\n item: item,\n active: item.key === currentKey.value\n }, () => [\n _createTextVNode(_toDisplayString(item.label), 1)\n ])\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n (getPaneLabel(item.key))\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(() => h('span', getPaneLabel(item.key)!)), { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(item.label), 1)\n ], 64))\n ], 64))\n ]),\n (__props.type === 'editable-card' && item.closable !== false)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: \"b-tabs__tab-remove\",\n \"aria-hidden\": \"true\",\n onClick: _withModifiers(($event: any) => (onRemove(item.key, $event)), [\"stop\"])\n }, [\n _renderSlot(_ctx.$slots, \"removeIcon\", { item: item }, () => [\n _cache[0] || (_cache[0] = _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n class: \"b-tabs__close-icon\"\n }, [\n _createElementVNode(\"path\", { d: \"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\" })\n ], -1))\n ])\n ], 8, _hoisted_6))\n : _createCommentVNode(\"\", true)\n ], 42, _hoisted_4))\n }), 128)),\n (__props.type === 'line')\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"b-tabs__ink-bar\",\n \"aria-hidden\": \"true\",\n style: _normalizeStyle(inkBarStyle.value)\n }, null, 4))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_3),\n (__props.type === 'editable-card' && !__props.hideAdd)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"b-tabs__add\",\n \"aria-label\": \"Add tab\",\n onClick: onAdd\n }, [\n _renderSlot(_ctx.$slots, \"addIcon\", {}, () => [\n _cache[1] || (_cache[1] = _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n class: \"b-tabs__add-icon\"\n }, [\n _createElementVNode(\"path\", { d: \"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\" })\n ], -1))\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.$slots.rightExtra)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _renderSlot(_ctx.$slots, \"rightExtra\")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!isItemsMode.value)\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _renderSlot(_ctx.$slots, \"default\")\n ], 512)), [\n [_vShow, false]\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_9, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(effectiveItems.value, (item) => {\n return (_openBlock(), _createElementBlock(_Fragment, {\n key: item.key\n }, [\n (shouldUseKeepAlive(item))\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n id: panelId(item.key),\n class: _normalizeClass([\"b-tabs__panel\", {\n 'b-tabs__panel--active': item.key === currentKey.value,\n 'b-tabs__panel--animated': __props.animated,\n }]),\n role: \"tabpanel\",\n \"aria-labelledby\": tabId(item.key),\n tabindex: item.key === currentKey.value ? 0 : -1,\n \"aria-hidden\": item.key !== currentKey.value\n }, [\n (!isItemsMode.value)\n ? (_openBlock(), _createBlock(_KeepAlive, { key: 0 }, [\n (item.key === currentKey.value)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(panelWrappers.value[item.key] ?? (() => null)), {\n key: item.key\n }))\n : _createCommentVNode(\"\", true)\n ], 1024))\n : _createCommentVNode(\"\", true),\n (isItemsMode.value)\n ? _renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n item: item\n })\n : _createCommentVNode(\"\", true)\n ], 10, _hoisted_10)), [\n [_vShow, item.key === currentKey.value]\n ])\n : (shouldRender(item))\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n id: panelId(item.key),\n class: _normalizeClass([\"b-tabs__panel\", {\n 'b-tabs__panel--active': item.key === currentKey.value,\n 'b-tabs__panel--animated': __props.animated,\n }]),\n role: \"tabpanel\",\n \"aria-labelledby\": tabId(item.key),\n tabindex: item.key === currentKey.value ? 0 : -1,\n \"aria-hidden\": item.key !== currentKey.value\n }, [\n (isItemsMode.value)\n ? _renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n item: item\n })\n : (_openBlock(), _createBlock(_resolveDynamicComponent(() => getPaneContent(item.key)), { key: 1 }))\n ], 10, _hoisted_11)), [\n [_vShow, item.key === currentKey.value]\n ])\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 128))\n ])\n ], 2))\n}\n}\n\n})"],"mappings":"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"}