@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 +0,0 @@
1
- {"version":3,"file":"design-system40.js","names":[],"sources":["../src/components/BCascader/BCascader.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { useModel as _useModel, mergeModels as _mergeModels, defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, renderSlot as _renderSlot, createTextVNode as _createTextVNode, withKeys as _withKeys } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"b-cascader__selections\"\n}\nconst _hoisted_2 = { class: \"b-cascader__tag-text\" }\nconst _hoisted_3 = [\"onClick\"]\nconst _hoisted_4 = {\n key: 0,\n class: \"b-cascader__tag b-cascader__tag--count\"\n}\nconst _hoisted_5 = [\"value\", \"placeholder\", \"disabled\", \"aria-expanded\", \"aria-controls\"]\nconst _hoisted_6 = {\n key: 2,\n class: \"b-cascader__placeholder\"\n}\nconst _hoisted_7 = [\"value\", \"placeholder\", \"disabled\", \"aria-expanded\", \"aria-controls\"]\nconst _hoisted_8 = [\"aria-expanded\", \"aria-label\", \"aria-disabled\", \"aria-controls\"]\nconst _hoisted_9 = {\n key: 1,\n class: \"b-cascader__placeholder\"\n}\nconst _hoisted_10 = {\n class: \"b-cascader__suffix\",\n \"aria-hidden\": \"true\"\n}\nconst _hoisted_11 = [\"id\"]\nconst _hoisted_12 = {\n key: 0,\n class: \"b-cascader__search-panel\",\n role: \"listbox\"\n}\nconst _hoisted_13 = [\"onClick\", \"onKeydown\"]\nconst _hoisted_14 = {\n key: 0,\n class: \"b-cascader__search-separator\"\n}\nconst _hoisted_15 = {\n key: 1,\n class: \"b-cascader__empty\"\n}\nconst _hoisted_16 = {\n key: 1,\n class: \"b-cascader__menus\"\n}\nconst _hoisted_17 = [\"aria-label\"]\nconst _hoisted_18 = [\"tabindex\", \"aria-selected\", \"aria-disabled\", \"onClick\", \"onMouseenter\", \"onKeydown\"]\nconst _hoisted_19 = {\n key: 0,\n class: \"b-cascader__checkbox\",\n \"aria-hidden\": \"true\"\n}\nconst _hoisted_20 = { class: \"b-cascader__option-label\" }\nconst _hoisted_21 = {\n key: 1,\n class: \"b-cascader__option-expand\",\n \"aria-hidden\": \"true\"\n}\n\nimport { useComponentId } from '@/composables/useComponentId.ts';\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue';\n\nimport type {\n BCascaderFieldNames,\n BCascaderOption,\n BCascaderShowSearchConfig,\n BCascaderValueType,\n} from './types.ts';\nimport {\n BCascaderExpandTrigger,\n BCascaderPlacement,\n BCascaderSize,\n BCascaderStatus,\n} from './types.ts';\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BCascader',\n props: /*@__PURE__*/_mergeModels({\n options: { default: () => ([]) },\n placeholder: { default: 'Please select' },\n disabled: { type: Boolean, default: false },\n allowClear: { type: Boolean, default: true },\n expandTrigger: { default: () => (BCascaderExpandTrigger.Click) },\n placement: { default: () => (BCascaderPlacement.BottomLeft) },\n size: { default: () => (BCascaderSize.Medium) },\n changeOnSelect: { type: Boolean, default: false },\n showSearch: { type: [Boolean, Object], default: false },\n multiple: { type: Boolean, default: false },\n maxTagCount: {},\n fieldNames: {},\n notFoundContent: { default: 'No data' },\n status: {},\n open: { type: Boolean, default: () => (undefined) }\n }, {\n \"modelValue\": {},\n \"modelModifiers\": {},\n }),\n emits: /*@__PURE__*/_mergeModels([\"change\", \"openChange\", \"search\"], [\"update:modelValue\"]),\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n\n\nconst model = _useModel<BCascaderValueType | BCascaderValueType[]>(__props, \"modelValue\");\n\nconst emit = __emit;\n\n\n\n// ─────────────────────────────────────────────\n// Field name resolution\n// ─────────────────────────────────────────────\nconst labelField = computed(() => __props.fieldNames?.label ?? 'label');\nconst valueField = computed(() => __props.fieldNames?.value ?? 'value');\nconst childrenField = computed(() => __props.fieldNames?.children ?? 'children');\n\nfunction getLabel(option: BCascaderOption): string {\n return (option as unknown as Record<string, unknown>)[labelField.value] as string;\n}\n\nfunction getValue(option: BCascaderOption): string | number {\n return (option as unknown as Record<string, unknown>)[valueField.value] as string | number;\n}\n\nfunction getChildren(option: BCascaderOption): BCascaderOption[] | undefined {\n return (option as unknown as Record<string, unknown>)[childrenField.value] as\n | BCascaderOption[]\n | undefined;\n}\n\n// ─────────────────────────────────────────────\n// Internal state\n// ─────────────────────────────────────────────\nconst { componentUID } = useComponentId();\nconst popupId = computed(() => `b-cascader-popup-${componentUID.value}`);\n\nconst popoverRef = ref<HTMLDivElement | null>(null);\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst triggerRef = ref<HTMLDivElement | null>(null);\n\nconst internalOpen = ref(false);\nconst isOpen = computed(() => (__props.open !== undefined ? __props.open : internalOpen.value));\n\nconst searchValue = ref('');\nconst activeColumns = ref<BCascaderOption[][]>([__props.options]);\nconst selectedPath = ref<BCascaderOption[]>([]);\nconst focusedIndices = ref<number[]>([]);\n\n// Multiple mode selections\nconst multipleSelections = ref<BCascaderValueType[]>([]);\n\n// ─────────────────────────────────────────────\n// Visibility control\n// ─────────────────────────────────────────────\nlet previouslyFocusedElement: HTMLElement | null = null;\n\nfunction setOpen(val: boolean) {\n if (__props.open !== undefined) {\n // controlled mode - just emit\n } else {\n internalOpen.value = val;\n }\n emit('openChange', val);\n}\n\nfunction doOpen() {\n if (__props.disabled) return;\n previouslyFocusedElement = document.activeElement as HTMLElement | null;\n setOpen(true);\n}\n\nfunction doClose() {\n setOpen(false);\n if (previouslyFocusedElement) {\n nextTick(() => previouslyFocusedElement?.focus());\n }\n}\n\nfunction toggleOpen() {\n if (__props.disabled) return;\n if (isOpen.value) {\n doClose();\n } else {\n doOpen();\n }\n}\n\n// ─────────────────────────────────────────────\n// Option resolution\n// ─────────────────────────────────────────────\nfunction findOptionPath(\n value: BCascaderValueType,\n opts: BCascaderOption[] = __props.options,\n): BCascaderOption[] {\n for (const opt of opts) {\n if (getValue(opt) === value[0]) {\n if (value.length === 1) return [opt];\n const children = getChildren(opt);\n if (children) {\n const childPath = findOptionPath(value.slice(1), children);\n if (childPath.length > 0) return [opt, ...childPath];\n }\n return [opt];\n }\n }\n return [];\n}\n\nfunction initFromModel() {\n if (!model.value) {\n selectedPath.value = [];\n multipleSelections.value = [];\n return;\n }\n\n if (__props.multiple) {\n const values = model.value as BCascaderValueType[];\n multipleSelections.value = values;\n } else {\n const value = model.value as BCascaderValueType;\n if (value.length > 0) {\n selectedPath.value = findOptionPath(value);\n rebuildColumns(selectedPath.value);\n }\n }\n}\n\nfunction rebuildColumns(path: BCascaderOption[]) {\n const cols: BCascaderOption[][] = [__props.options];\n for (const opt of path) {\n const children = getChildren(opt);\n if (children && children.length > 0) {\n cols.push(children);\n }\n }\n activeColumns.value = cols;\n}\n\n// ─────────────────────────────────────────────\n// Selection\n// ─────────────────────────────────────────────\nfunction selectOption(option: BCascaderOption, columnIndex: number) {\n if (option.disabled) return;\n\n const newPath = selectedPath.value.slice(0, columnIndex);\n newPath.push(option);\n selectedPath.value = newPath;\n\n const children = getChildren(option);\n const isLeaf = option.isLeaf !== undefined ? option.isLeaf : !children || children.length === 0;\n\n // Rebuild columns\n const cols = activeColumns.value.slice(0, columnIndex + 1);\n if (children && children.length > 0) {\n cols.push(children);\n }\n activeColumns.value = cols;\n\n // Update focused indices\n focusedIndices.value = newPath.map((opt, i) => {\n const col = activeColumns.value[i];\n return col ? col.findIndex((o) => getValue(o) === getValue(opt)) : 0;\n });\n\n if (isLeaf || __props.changeOnSelect) {\n const pathValues = newPath.map((o) => getValue(o)) as BCascaderValueType;\n\n if (__props.multiple) {\n const exists = multipleSelections.value.findIndex(\n (v) => JSON.stringify(v) === JSON.stringify(pathValues),\n );\n if (exists >= 0) {\n multipleSelections.value.splice(exists, 1);\n } else {\n multipleSelections.value.push(pathValues);\n }\n model.value = [...multipleSelections.value];\n emit(\n 'change',\n model.value,\n multipleSelections.value.map((v) => findOptionPath(v)),\n );\n } else {\n model.value = pathValues;\n emit('change', pathValues, [newPath]);\n if (isLeaf) {\n doClose();\n }\n }\n }\n}\n\nfunction expandOnHover(option: BCascaderOption, columnIndex: number) {\n if (option.disabled) return;\n if (__props.expandTrigger !== BCascaderExpandTrigger.Hover) return;\n\n const children = getChildren(option);\n if (!children || children.length === 0) return;\n\n const newPath = selectedPath.value.slice(0, columnIndex);\n newPath.push(option);\n selectedPath.value = newPath;\n\n const cols = activeColumns.value.slice(0, columnIndex + 1);\n cols.push(children);\n activeColumns.value = cols;\n}\n\n// ─────────────────────────────────────────────\n// Display value\n// ─────────────────────────────────────────────\nconst displayLabels = computed<string[]>(() => {\n if (__props.multiple) return [];\n if (!model.value || (model.value as BCascaderValueType).length === 0) return [];\n const path = findOptionPath(model.value as BCascaderValueType);\n return path.map((o) => getLabel(o));\n});\n\nconst displayText = computed(() => displayLabels.value.join(' / '));\n\nconst multipleTags = computed(() => {\n if (!__props.multiple) return [];\n return multipleSelections.value.map((val) => {\n const path = findOptionPath(val);\n return {\n value: val,\n label: path.map((o) => getLabel(o)).join(' / '),\n };\n });\n});\n\nconst visibleTags = computed(() => {\n if (__props.maxTagCount === undefined) return multipleTags.value;\n return multipleTags.value.slice(0, __props.maxTagCount);\n});\n\nconst hiddenTagCount = computed(() => {\n if (__props.maxTagCount === undefined) return 0;\n return Math.max(0, multipleTags.value.length - __props.maxTagCount);\n});\n\n// ─────────────────────────────────────────────\n// Search\n// ─────────────────────────────────────────────\nconst searchEnabled = computed(() => !!__props.showSearch);\n\nfunction getAllPaths(\n opts: BCascaderOption[] = __props.options,\n currentPath: BCascaderOption[] = [],\n): BCascaderOption[][] {\n const result: BCascaderOption[][] = [];\n for (const opt of opts) {\n const path = [...currentPath, opt];\n const children = getChildren(opt);\n if (children && children.length > 0) {\n result.push(...getAllPaths(children, path));\n } else {\n result.push(path);\n }\n }\n return result;\n}\n\nconst filteredPaths = computed(() => {\n if (!searchValue.value) return [];\n\n const allPaths = getAllPaths();\n const config = typeof __props.showSearch === 'object' ? __props.showSearch : {};\n const filterFn =\n config.filter ??\n ((input: string, path: BCascaderOption[]) =>\n path.some((opt) => getLabel(opt).toLowerCase().includes(input.toLowerCase())));\n\n let results = allPaths.filter((path) => filterFn(searchValue.value, path));\n const limit = config.limit ?? 50;\n results = results.slice(0, limit);\n return results;\n});\n\nfunction onSearchInput(event: Event) {\n const target = event.target as HTMLInputElement;\n searchValue.value = target.value;\n emit('search', searchValue.value);\n if (!isOpen.value) doOpen();\n}\n\nfunction selectSearchResult(path: BCascaderOption[]) {\n const pathValues = path.map((o) => getValue(o)) as BCascaderValueType;\n\n if (__props.multiple) {\n const exists = multipleSelections.value.findIndex(\n (v) => JSON.stringify(v) === JSON.stringify(pathValues),\n );\n if (exists >= 0) {\n multipleSelections.value.splice(exists, 1);\n } else {\n multipleSelections.value.push(pathValues);\n }\n model.value = [...multipleSelections.value];\n emit(\n 'change',\n model.value,\n multipleSelections.value.map((v) => findOptionPath(v)),\n );\n } else {\n selectedPath.value = path;\n model.value = pathValues;\n emit('change', pathValues, [path]);\n searchValue.value = '';\n doClose();\n }\n}\n\n// ─────────────────────────────────────────────\n// Clear\n// ─────────────────────────────────────────────\nfunction onClear(event: Event) {\n event.stopPropagation();\n selectedPath.value = [];\n activeColumns.value = [__props.options];\n focusedIndices.value = [];\n searchValue.value = '';\n\n if (__props.multiple) {\n multipleSelections.value = [];\n model.value = [];\n emit('change', [], []);\n } else {\n model.value = [];\n emit('change', [], []);\n }\n}\n\nfunction removeTag(val: BCascaderValueType, event: Event) {\n event.stopPropagation();\n const idx = multipleSelections.value.findIndex((v) => JSON.stringify(v) === JSON.stringify(val));\n if (idx >= 0) {\n multipleSelections.value.splice(idx, 1);\n model.value = [...multipleSelections.value];\n emit(\n 'change',\n model.value,\n multipleSelections.value.map((v) => findOptionPath(v)),\n );\n }\n}\n\n// ─────────────────────────────────────────────\n// Keyboard navigation\n// ─────────────────────────────────────────────\nfunction onTriggerKeydown(event: KeyboardEvent) {\n if (__props.disabled) return;\n\n switch (event.key) {\n case 'Enter':\n case ' ':\n if (!searchEnabled.value || event.key === 'Enter') {\n event.preventDefault();\n toggleOpen();\n }\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (!isOpen.value) doOpen();\n nextTick(() => focusFirstOption());\n break;\n case 'Escape':\n if (isOpen.value) {\n event.preventDefault();\n doClose();\n }\n break;\n }\n}\n\nfunction onMenuKeydown(event: KeyboardEvent) {\n const col = activeColumns.value.length - 1;\n const currentIdx = focusedIndices.value[col] ?? 0;\n const items = activeColumns.value[col] ?? [];\n\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault();\n const next = currentIdx < items.length - 1 ? currentIdx + 1 : 0;\n focusedIndices.value = [...focusedIndices.value.slice(0, col), next];\n focusOptionAt(col, next);\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n const prev = currentIdx > 0 ? currentIdx - 1 : items.length - 1;\n focusedIndices.value = [...focusedIndices.value.slice(0, col), prev];\n focusOptionAt(col, prev);\n break;\n }\n case 'ArrowRight': {\n event.preventDefault();\n const option = items[currentIdx];\n if (option) {\n const children = getChildren(option);\n if (children && children.length > 0) {\n selectOption(option, col);\n nextTick(() => {\n focusedIndices.value = [...focusedIndices.value, 0];\n focusOptionAt(col + 1, 0);\n });\n }\n }\n break;\n }\n case 'ArrowLeft': {\n event.preventDefault();\n if (col > 0) {\n activeColumns.value = activeColumns.value.slice(0, col);\n selectedPath.value = selectedPath.value.slice(0, col - 1);\n focusedIndices.value = focusedIndices.value.slice(0, col);\n nextTick(() => focusOptionAt(col - 1, focusedIndices.value[col - 1] ?? 0));\n }\n break;\n }\n case 'Enter':\n case ' ': {\n event.preventDefault();\n const option = items[currentIdx];\n if (option) selectOption(option, col);\n break;\n }\n case 'Escape':\n event.preventDefault();\n doClose();\n break;\n case 'Home':\n event.preventDefault();\n focusedIndices.value = [...focusedIndices.value.slice(0, col), 0];\n focusOptionAt(col, 0);\n break;\n case 'End':\n event.preventDefault();\n focusedIndices.value = [...focusedIndices.value.slice(0, col), items.length - 1];\n focusOptionAt(col, items.length - 1);\n break;\n }\n}\n\nfunction focusFirstOption() {\n focusedIndices.value = [0];\n focusOptionAt(0, 0);\n}\n\nfunction focusOptionAt(col: number, idx: number) {\n nextTick(() => {\n const menuEl = popoverRef.value?.querySelectorAll('.b-cascader__menu')[col];\n if (!menuEl) return;\n const items = menuEl.querySelectorAll<HTMLElement>(\n '.b-cascader__option:not([aria-disabled=\"true\"])',\n );\n items[idx]?.focus();\n });\n}\n\n// ─────────────────────────────────────────────\n// Click outside\n// ─────────────────────────────────────────────\nfunction onDocumentClick(event: MouseEvent) {\n if (!isOpen.value) return;\n const target = event.target as Node;\n if (triggerRef.value?.contains(target)) return;\n if (popoverRef.value?.contains(target)) return;\n doClose();\n}\n\n// ─────────────────────────────────────────────\n// Lifecycle\n// ─────────────────────────────────────────────\nonMounted(() => {\n initFromModel();\n});\n\nonBeforeUnmount(() => {\n document.removeEventListener('click', onDocumentClick, true);\n});\n\nwatch(isOpen, (val) => {\n if (val) {\n nextTick(() => document.addEventListener('click', onDocumentClick, true));\n } else {\n document.removeEventListener('click', onDocumentClick, true);\n searchValue.value = '';\n }\n});\n\nwatch(\n () => __props.open,\n (val) => {\n if (val === undefined) return;\n if (val) doOpen();\n else doClose();\n },\n);\n\nwatch(model, () => {\n initFromModel();\n});\n\n// ─────────────────────────────────────────────\n// Computed styles\n// ─────────────────────────────────────────────\nconst placementClass = computed(() => {\n const map: Record<string, string> = {\n [BCascaderPlacement.BottomLeft]: 'bottom-left',\n [BCascaderPlacement.BottomRight]: 'bottom-right',\n [BCascaderPlacement.TopLeft]: 'top-left',\n [BCascaderPlacement.TopRight]: 'top-right',\n };\n return map[__props.placement] ?? 'bottom-left';\n});\n\nconst sizeClass = computed(() => `b-cascader--${__props.size}`);\n\nconst statusClass = computed(() => (__props.status ? `b-cascader--${__props.status}` : ''));\n\nconst hasValue = computed(() => {\n if (__props.multiple) return multipleSelections.value.length > 0;\n return model.value && (model.value as BCascaderValueType).length > 0;\n});\n\nconst isSearching = computed(() => searchEnabled.value && searchValue.value.length > 0);\n\n// ─────────────────────────────────────────────\n// Check helpers for multiple mode\n// ─────────────────────────────────────────────\nfunction isOptionSelected(option: BCascaderOption, columnIndex: number): boolean {\n if (!__props.multiple) {\n return (\n selectedPath.value[columnIndex] !== undefined &&\n getValue(selectedPath.value[columnIndex]) === getValue(option)\n );\n }\n // In multiple mode, check if any selection passes through this option at this column\n return multipleSelections.value.some((val) => val[columnIndex] === getValue(option));\n}\n\n// ─────────────────────────────────────────────\n// Public API\n// ─────────────────────────────────────────────\n__expose({ focus: () => inputRef.value?.focus(), blur: () => inputRef.value?.blur() });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n ref_key: \"triggerRef\",\n ref: triggerRef,\n class: _normalizeClass([\n 'b-cascader',\n sizeClass.value,\n statusClass.value,\n {\n 'b-cascader--open': isOpen.value,\n 'b-cascader--disabled': __props.disabled,\n 'b-cascader--multiple': __props.multiple,\n 'b-cascader--focused': isOpen.value,\n },\n ]),\n onClick: toggleOpen,\n onKeydown: onTriggerKeydown\n }, [\n (__props.multiple)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(visibleTags.value, (tag) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: JSON.stringify(tag.value),\n class: \"b-cascader__tag\"\n }, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(tag.label), 1),\n _createElementVNode(\"span\", {\n class: \"b-cascader__tag-remove\",\n role: \"button\",\n \"aria-label\": \"Remove\",\n onClick: ($event: any) => (removeTag(tag.value, $event))\n }, null, 8, _hoisted_3)\n ]))\n }), 128)),\n (hiddenTagCount.value > 0)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" + \" + _toDisplayString(hiddenTagCount.value), 1))\n : _createCommentVNode(\"\", true),\n (searchEnabled.value)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 1,\n ref_key: \"inputRef\",\n ref: inputRef,\n class: \"b-cascader__search-input\",\n type: \"text\",\n value: searchValue.value,\n placeholder: !hasValue.value ? __props.placeholder : '',\n disabled: __props.disabled,\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": isOpen.value,\n \"aria-controls\": isOpen.value ? popupId.value : undefined,\n onInput: onSearchInput,\n onClick: _cache[0] || (_cache[0] = _withModifiers(() => {}, [\"stop\"]))\n }, null, 40, _hoisted_5))\n : _createCommentVNode(\"\", true),\n (!hasValue.value && !searchEnabled.value)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, _toDisplayString(__props.placeholder), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n (searchEnabled.value)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n ref_key: \"inputRef\",\n ref: inputRef,\n class: _normalizeClass(['b-cascader__input', { 'b-cascader__input--active': isOpen.value }]),\n type: \"text\",\n value: isOpen.value ? searchValue.value : displayText.value,\n placeholder: hasValue.value ? displayText.value : __props.placeholder,\n disabled: __props.disabled,\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": isOpen.value,\n \"aria-controls\": isOpen.value ? popupId.value : undefined,\n onInput: onSearchInput,\n onClick: _cache[1] || (_cache[1] = _withModifiers(() => {}, [\"stop\"]))\n }, null, 42, _hoisted_7))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n class: \"b-cascader__value-display\",\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": isOpen.value,\n \"aria-label\": hasValue.value ? displayText.value : __props.placeholder,\n \"aria-disabled\": __props.disabled || undefined,\n \"aria-controls\": isOpen.value ? popupId.value : undefined\n }, [\n (hasValue.value)\n ? _renderSlot(_ctx.$slots, \"displayRender\", {\n key: 0,\n labels: displayLabels.value,\n selectedOptions: selectedPath.value\n }, () => [\n _createTextVNode(_toDisplayString(displayText.value), 1)\n ])\n : _createCommentVNode(\"\", true),\n (!hasValue.value)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, _toDisplayString(__props.placeholder), 1))\n : _createCommentVNode(\"\", true)\n ], 8, _hoisted_8))\n ], 64)),\n (__props.allowClear && hasValue.value && !__props.disabled)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 2,\n class: \"b-cascader__clear\",\n role: \"button\",\n \"aria-label\": \"Clear\",\n onClick: onClear\n }, [...(_cache[3] || (_cache[3] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n width: \"14\",\n height: \"14\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", { d: \"M8 1a7 7 0 110 14A7 7 0 018 1zm2.828 4.172a.5.5 0 00-.707 0L8 7.293 5.879 5.172a.5.5 0 10-.707.707L7.293 8l-2.121 2.121a.5.5 0 00.707.707L8 8.707l2.121 2.121a.5.5 0 00.707-.707L8.707 8l2.121-2.121a.5.5 0 000-.707z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", _hoisted_10, [\n _renderSlot(_ctx.$slots, \"suffixIcon\", {}, () => [\n _cache[4] || (_cache[4] = _createElementVNode(\"svg\", {\n class: \"b-cascader__arrow\",\n viewBox: \"0 0 16 16\",\n width: \"12\",\n height: \"12\",\n fill: \"currentColor\"\n }, [\n _createElementVNode(\"path\", { d: \"M4.427 5.427a.75.75 0 011.06-.073L8 7.585l2.513-2.231a.75.75 0 01.987 1.132l-3 2.666a.75.75 0 01-.987 0l-3-2.666a.75.75 0 01-.086-1.06z\" })\n ], -1))\n ])\n ]),\n _createElementVNode(\"div\", {\n id: popupId.value,\n ref_key: \"popoverRef\",\n ref: popoverRef,\n class: _normalizeClass(['b-cascader__popup', placementClass.value, { 'b-cascader__popup--open': isOpen.value }]),\n role: \"dialog\",\n \"aria-modal\": \"false\",\n \"aria-label\": \"Cascader options\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(() => {}, [\"stop\"])),\n onKeydown: onMenuKeydown\n }, [\n (isSearching.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (filteredPaths.value.length > 0)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(filteredPaths.value, (path, idx) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: idx,\n class: \"b-cascader__search-item\",\n role: \"option\",\n tabindex: \"0\",\n \"aria-selected\": false,\n onClick: ($event: any) => (selectSearchResult(path)),\n onKeydown: _withKeys(_withModifiers(($event: any) => (selectSearchResult(path)), [\"prevent\"]), [\"enter\"])\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(path, (opt, i) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: getValue(opt)\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(getLabel(opt)), 1),\n (i < path.length - 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_14, \" / \"))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ], 40, _hoisted_13))\n }), 128))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _renderSlot(_ctx.$slots, \"notFoundContent\", {}, () => [\n _createTextVNode(_toDisplayString(__props.notFoundContent), 1)\n ])\n ]))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(activeColumns.value, (column, colIdx) => {\n return (_openBlock(), _createElementBlock(\"ul\", {\n key: colIdx,\n class: \"b-cascader__menu\",\n role: \"listbox\",\n \"aria-label\": `Level ${colIdx + 1}`\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(column, (option) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: getValue(option),\n class: _normalizeClass([\n 'b-cascader__option',\n {\n 'b-cascader__option--selected': isOptionSelected(option, colIdx),\n 'b-cascader__option--disabled': option.disabled,\n 'b-cascader__option--expanded':\n selectedPath.value[colIdx] && getValue(selectedPath.value[colIdx]) === getValue(option),\n },\n ]),\n role: \"option\",\n tabindex: option.disabled ? -1 : 0,\n \"aria-selected\": isOptionSelected(option, colIdx),\n \"aria-disabled\": option.disabled || undefined,\n onClick: _withModifiers(($event: any) => (selectOption(option, colIdx)), [\"stop\"]),\n onMouseenter: ($event: any) => (expandOnHover(option, colIdx)),\n onKeydown: _withKeys(_withModifiers(($event: any) => (selectOption(option, colIdx)), [\"prevent\"]), [\"enter\"])\n }, [\n (__props.multiple)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_19, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\n 'b-cascader__checkbox-inner',\n { 'b-cascader__checkbox-inner--checked': isOptionSelected(option, colIdx) },\n ])\n }, null, 2)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(getLabel(option)), 1),\n (getChildren(option) && getChildren(option)!.length > 0)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_21, [\n _renderSlot(_ctx.$slots, \"expandIcon\", {}, () => [\n _cache[5] || (_cache[5] = _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n width: \"10\",\n height: \"10\",\n fill: \"currentColor\"\n }, [\n _createElementVNode(\"path\", {\n d: \"M6.427 4.427a.75.75 0 011.146.96l-.073.087L5.768 8l1.732 2.527a.75.75 0 01-.96 1.146l-.087-.073-2.25-3.28a.75.75 0 01-.007-.98l.08-.093 2.25-2.82zm3 0a.75.75 0 011.146.96l-.073.087L8.768 8l1.732 2.527a.75.75 0 01-.96 1.146l-.087-.073-2.25-3.28a.75.75 0 01-.007-.98l.08-.093 2.25-2.82z\",\n transform: \"rotate(180 8 8)\"\n })\n ], -1))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 42, _hoisted_18))\n }), 128))\n ], 8, _hoisted_17))\n }), 128))\n ]))\n ], 42, _hoisted_11)\n ], 34))\n}\n}\n\n})"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- //#region src/components/BCheckbox/types.ts
2
- var e = Symbol("BCheckboxGroup");
3
- //#endregion
4
- export { e as B_CHECKBOX_GROUP_KEY };
5
-
6
- //# sourceMappingURL=design-system43.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system43.js","names":[],"sources":["../src/components/BCheckbox/types.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\n\nexport interface BCheckboxOption {\n /** Display label for the checkbox */\n label: string;\n /** Value associated with this checkbox */\n value: string | number;\n /** Whether this specific checkbox is disabled */\n disabled?: boolean;\n}\n\nexport interface BCheckboxGroupContext {\n modelValue: Ref<Array<string | number>>;\n disabled: Ref<boolean>;\n name: Ref<string>;\n toggleValue: (val: string | number) => void;\n}\n\nexport const B_CHECKBOX_GROUP_KEY: InjectionKey<BCheckboxGroupContext> = Symbol('BCheckboxGroup');\n"],"mappings":";AAkBA,IAAa,IAA4D,OAAO,iBAAiB"}
@@ -1,9 +0,0 @@
1
- import e from "./design-system14.js";
2
- import t from "./design-system44.js";
3
- /* empty css */
4
- //#region src/components/BCheckbox/BCheckbox.vue
5
- var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-6a298bae"]]);
6
- //#endregion
7
- export { n as default };
8
-
9
- //# sourceMappingURL=design-system46.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system46.js","names":[],"sources":["../src/components/BCheckbox/BCheckbox.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useComponentId } from '@/composables/useComponentId.ts';\nimport { computed, inject, onMounted, ref, watch } from 'vue';\nimport { B_CHECKBOX_GROUP_KEY, type BCheckboxGroupContext } from './types';\n\n//#region Props\nconst {\n id = '',\n disabled = false,\n indeterminate = false,\n value = '',\n name = '',\n} = defineProps<{\n /** Custom id attribute for the checkbox input. */\n id?: string;\n /** Whether the checkbox is disabled. */\n disabled?: boolean;\n /** Indeterminate checked state (visual \"minus\" mark). */\n indeterminate?: boolean;\n /** Value when used inside BCheckboxGroup. */\n value?: string | number;\n /** The name attribute for the input element. */\n name?: string;\n}>();\n\n/**\n * The checked state of the checkbox.\n * Supports boolean (single) or array (group) binding.\n */\nconst model = defineModel<boolean>({ default: false });\n\nconst emit = defineEmits<{\n change: [checked: boolean, event: Event];\n}>();\n//#endregion\n\n//#region Group integration\nconst group = inject<BCheckboxGroupContext | null>(B_CHECKBOX_GROUP_KEY, null);\n\nconst isDisabled = computed(() => disabled || group?.disabled.value || false);\nconst inputName = computed(() => name || group?.name.value || '');\n\nconst isChecked = computed(() => {\n if (group) {\n return group.modelValue.value.includes(value);\n }\n return model.value;\n});\n//#endregion\n\n//#region ID generation\nconst { componentUID } = useComponentId();\nconst inputId = computed(() => id || `b-checkbox-${componentUID.value}`);\n//#endregion\n\n//#region Indeterminate DOM property\nconst inputRef = ref<HTMLInputElement | null>(null);\n\nfunction syncIndeterminate() {\n if (inputRef.value) {\n inputRef.value.indeterminate = indeterminate;\n }\n}\n\nonMounted(syncIndeterminate);\nwatch(() => indeterminate, syncIndeterminate);\n//#endregion\n\n//#region Handlers\nfunction handleChange(event: Event) {\n if (isDisabled.value) return;\n\n const target = event.target as HTMLInputElement;\n const checked = target.checked;\n\n if (group) {\n group.toggleValue(value);\n } else {\n model.value = checked;\n }\n emit('change', checked, event);\n}\n//#endregion\n</script>\n\n<template>\n <label\n class=\"b-checkbox b:inline-flex b:cursor-pointer b:items-center b:gap-2 b:leading-none b:select-none\"\n :class=\"{ 'b-checkbox--disabled b:cursor-not-allowed b:opacity-50': isDisabled }\"\n :for=\"inputId\"\n >\n <span\n class=\"b-checkbox__indicator b:relative b:inline-flex b:shrink-0 b:items-center b:justify-center\"\n :class=\"{\n 'b-checkbox__indicator--checked': isChecked,\n 'b-checkbox__indicator--indeterminate': indeterminate,\n 'b-checkbox__indicator--disabled': isDisabled,\n }\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n type=\"checkbox\"\n class=\"b-checkbox__input\"\n :checked=\"isChecked\"\n :disabled=\"isDisabled\"\n :name=\"inputName\"\n :value=\"value\"\n @change=\"handleChange\"\n />\n <span class=\"b-checkbox__inner\" aria-hidden=\"true\" />\n </span>\n <span v-if=\"$slots.default\" class=\"b-checkbox__label\">\n <slot />\n </span>\n </label>\n</template>\n\n<style scoped>\n.b-checkbox {\n --b-checkbox-size: 16px;\n --b-checkbox-color-primary: #1677ff;\n --b-checkbox-color-primary-hover: #4096ff;\n --b-checkbox-color-border: #d9d9d9;\n --b-checkbox-color-bg-container: #ffffff;\n --b-checkbox-color-bg-container-disabled: rgba(0, 0, 0, 0.04);\n --b-checkbox-color-text-disabled: rgba(0, 0, 0, 0.25);\n --b-checkbox-color-border-disabled: #d9d9d9;\n --b-checkbox-border-radius: 4px;\n --b-checkbox-border-width: 1px;\n --b-checkbox-font-size: 14px;\n --b-checkbox-line-height: 1.5714;\n --b-checkbox-check-color: #fff;\n --b-checkbox-transition-duration: 0.2s;\n}\n\n[data-prefers-color='dark'] .b-checkbox {\n --b-checkbox-color-primary: #3c89e8;\n --b-checkbox-color-primary-hover: #65a9f3;\n --b-checkbox-color-border: #424242;\n --b-checkbox-color-bg-container: #141414;\n --b-checkbox-color-bg-container-disabled: rgba(255, 255, 255, 0.08);\n --b-checkbox-color-text-disabled: rgba(255, 255, 255, 0.25);\n --b-checkbox-color-border-disabled: #424242;\n --b-checkbox-check-color: #fff;\n}\n\n@media (prefers-color-scheme: dark) {\n [data-prefers-color='system'] .b-checkbox {\n --b-checkbox-color-primary: #3c89e8;\n --b-checkbox-color-primary-hover: #65a9f3;\n --b-checkbox-color-border: #424242;\n --b-checkbox-color-bg-container: #141414;\n --b-checkbox-color-bg-container-disabled: rgba(255, 255, 255, 0.08);\n --b-checkbox-color-text-disabled: rgba(255, 255, 255, 0.25);\n --b-checkbox-color-border-disabled: #424242;\n --b-checkbox-check-color: #fff;\n }\n}\n\n.b-checkbox__label {\n font-size: var(--b-checkbox-font-size);\n line-height: var(--b-checkbox-line-height);\n color: inherit;\n}\n\n.b-checkbox--disabled .b-checkbox__label {\n color: var(--b-checkbox-color-text-disabled);\n}\n\n.b-checkbox__indicator {\n width: var(--b-checkbox-size);\n height: var(--b-checkbox-size);\n}\n\n.b-checkbox__inner {\n position: absolute;\n inset: 0;\n border-radius: var(--b-checkbox-border-radius);\n border: var(--b-checkbox-border-width) solid var(--b-checkbox-color-border);\n background-color: var(--b-checkbox-color-bg-container);\n transition:\n background-color var(--b-checkbox-transition-duration) ease-in-out,\n border-color var(--b-checkbox-transition-duration) ease-in-out;\n}\n\n/* Hover state */\n.b-checkbox:not(.b-checkbox--disabled):hover .b-checkbox__inner {\n border-color: var(--b-checkbox-color-primary-hover);\n}\n\n/* Checked state */\n.b-checkbox__indicator--checked .b-checkbox__inner {\n background-color: var(--b-checkbox-color-primary);\n border-color: var(--b-checkbox-color-primary);\n}\n\n.b-checkbox__indicator--checked .b-checkbox__inner::after {\n content: '';\n position: absolute;\n display: block;\n left: 4.5px;\n top: 1.5px;\n width: 5px;\n height: 9px;\n border: 2px solid var(--b-checkbox-check-color);\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg);\n opacity: 1;\n transition: opacity var(--b-checkbox-transition-duration) ease-in-out;\n}\n\n/* Indeterminate state */\n.b-checkbox__indicator--indeterminate .b-checkbox__inner {\n background-color: var(--b-checkbox-color-primary);\n border-color: var(--b-checkbox-color-primary);\n}\n\n.b-checkbox__indicator--indeterminate .b-checkbox__inner::after {\n content: '';\n position: absolute;\n display: block;\n left: 3px;\n top: 50%;\n width: 8px;\n height: 2px;\n background-color: var(--b-checkbox-check-color);\n transform: translateY(-50%);\n border-radius: 1px;\n}\n\n/* Disabled state */\n.b-checkbox__indicator--disabled .b-checkbox__inner {\n background-color: var(--b-checkbox-color-bg-container-disabled);\n border-color: var(--b-checkbox-color-border-disabled);\n}\n\n.b-checkbox__indicator--disabled.b-checkbox__indicator--checked .b-checkbox__inner,\n.b-checkbox__indicator--disabled.b-checkbox__indicator--indeterminate .b-checkbox__inner {\n background-color: var(--b-checkbox-color-bg-container-disabled);\n border-color: var(--b-checkbox-color-border-disabled);\n}\n\n.b-checkbox__indicator--disabled.b-checkbox__indicator--checked .b-checkbox__inner::after {\n border-color: var(--b-checkbox-color-text-disabled);\n}\n\n.b-checkbox__indicator--disabled.b-checkbox__indicator--indeterminate .b-checkbox__inner::after {\n background-color: var(--b-checkbox-color-text-disabled);\n}\n\n.b-checkbox__input {\n appearance: none;\n -webkit-appearance: none;\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n margin: 0;\n padding: 0;\n cursor: pointer;\n z-index: 1;\n}\n\n.b-checkbox--disabled .b-checkbox__input {\n cursor: not-allowed;\n}\n\n/* Focus-visible ring */\n.b-checkbox__input:focus-visible + .b-checkbox__inner {\n outline: 2px solid var(--b-checkbox-color-primary);\n outline-offset: 2px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .b-checkbox__inner,\n .b-checkbox__inner::after {\n transition: none;\n }\n}\n</style>\n"],"mappings":""}
@@ -1,67 +0,0 @@
1
- import { BCollapseGroupContextKey as e } from "./design-system49.js";
2
- import { computed as t, createElementBlock as n, defineComponent as r, normalizeClass as i, openBlock as a, provide as o, ref as s, renderSlot as c, watch as l } from "vue";
3
- //#region src/components/BCollapse/BCollapse.vue?vue&type=script&setup=true&lang.ts
4
- var u = /* @__PURE__ */ r({
5
- __name: "BCollapse",
6
- props: {
7
- modelValue: { default: void 0 },
8
- defaultActiveKey: { default: () => [] },
9
- accordion: {
10
- type: Boolean,
11
- default: !1
12
- },
13
- bordered: {
14
- type: Boolean,
15
- default: !0
16
- },
17
- collapsible: { default: void 0 },
18
- destroyInactivePanel: {
19
- type: Boolean,
20
- default: !1
21
- },
22
- expandIconPosition: { default: "start" },
23
- ghost: {
24
- type: Boolean,
25
- default: !1
26
- },
27
- size: { default: "default" }
28
- },
29
- emits: ["update:modelValue", "change"],
30
- setup(r, { emit: u }) {
31
- let d = r, f = u, p = t(() => d.modelValue !== void 0), m = s([...d.defaultActiveKey]), h = t(() => p.value ? d.modelValue ?? [] : m.value);
32
- function g(e) {
33
- p.value || (m.value = e), f("update:modelValue", e), f("change", e);
34
- }
35
- l(() => d.modelValue, (e) => {
36
- e !== void 0 && (m.value = [...e]);
37
- });
38
- function _(e) {
39
- return h.value.includes(e);
40
- }
41
- function v(e) {
42
- let t = [...h.value], n = t.indexOf(e);
43
- d.accordion ? g(n >= 0 ? [] : [e]) : (n >= 0 ? t.splice(n, 1) : t.push(e), g(t));
44
- }
45
- return o(e, {
46
- isActive: _,
47
- toggle: v,
48
- collapsible: t(() => d.collapsible),
49
- expandIconPosition: t(() => d.expandIconPosition),
50
- bordered: t(() => d.bordered),
51
- ghost: t(() => d.ghost),
52
- size: t(() => d.size)
53
- }), (e, t) => (a(), n("div", {
54
- class: i(["b-collapse", {
55
- "b-collapse--bordered": r.bordered,
56
- "b-collapse--borderless": !r.bordered,
57
- "b-collapse--ghost": r.ghost,
58
- "b-collapse--small": r.size === "small"
59
- }]),
60
- role: "presentation"
61
- }, [c(e.$slots, "default")], 2));
62
- }
63
- });
64
- //#endregion
65
- export { u as default };
66
-
67
- //# sourceMappingURL=design-system50.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system50.js","names":[],"sources":["../src/components/BCollapse/BCollapse.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport { computed, provide, ref, watch } from 'vue';\nimport {\n BCollapseGroupContextKey,\n type BCollapseCollapsible,\n type BCollapseExpandIconPosition,\n type BCollapseGroupContext,\n type BCollapseSize,\n} from './types';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BCollapse',\n props: {\n modelValue: { default: undefined },\n defaultActiveKey: { default: () => [] },\n accordion: { type: Boolean, default: false },\n bordered: { type: Boolean, default: true },\n collapsible: { default: undefined },\n destroyInactivePanel: { type: Boolean, default: false },\n expandIconPosition: { default: 'start' },\n ghost: { type: Boolean, default: false },\n size: { default: 'default' }\n },\n emits: [\"update:modelValue\", \"change\"],\n setup(__props: any, { emit: __emit }) {\n\n/**\n * BCollapse is the group/container component (AntD Collapse equivalent).\n * It manages active keys and provides context to BCollapsePanel children.\n *\n * This is the same component as BCollapseGroup, exported under both names\n * for flexibility. Use BCollapse + BCollapsePanel in new code.\n */\nconst props = __props;\n\nconst emit = __emit;\n\n\n\n// ─────────────────────────────────────────────\n// Active keys state (controlled + uncontrolled)\n// ─────────────────────────────────────────────\nconst isControlled = computed(() => props.modelValue !== undefined);\nconst internalKeys = ref<(string | number)[]>([...props.defaultActiveKey]);\n\nconst activeKeys = computed(() =>\n isControlled.value ? (props.modelValue ?? []) : internalKeys.value,\n);\n\nfunction setActiveKeys(keys: (string | number)[]) {\n if (!isControlled.value) {\n internalKeys.value = keys;\n }\n emit('update:modelValue', keys);\n emit('change', keys);\n}\n\nwatch(\n () => props.modelValue,\n (val) => {\n if (val !== undefined) {\n internalKeys.value = [...val];\n }\n },\n);\n\n// ─────────────────────────────────────────────\n// Context for child panels\n// ─────────────────────────────────────────────\nfunction isActive(key: string | number): boolean {\n return activeKeys.value.includes(key);\n}\n\nfunction toggle(key: string | number) {\n const keys = [...activeKeys.value];\n const idx = keys.indexOf(key);\n\n if (props.accordion) {\n setActiveKeys(idx >= 0 ? [] : [key]);\n } else {\n if (idx >= 0) {\n keys.splice(idx, 1);\n } else {\n keys.push(key);\n }\n setActiveKeys(keys);\n }\n}\n\nconst context: BCollapseGroupContext = {\n isActive,\n toggle,\n collapsible: computed(() => props.collapsible),\n expandIconPosition: computed(() => props.expandIconPosition),\n bordered: computed(() => props.bordered),\n ghost: computed(() => props.ghost),\n size: computed(() => props.size),\n};\n\nprovide(BCollapseGroupContextKey, context);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"b-collapse\", {\n 'b-collapse--bordered': __props.bordered,\n 'b-collapse--borderless': !__props.bordered,\n 'b-collapse--ghost': __props.ghost,\n 'b-collapse--small': __props.size === 'small',\n }]),\n role: \"presentation\"\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ], 2))\n}\n}\n\n})"],"mappings":";;;AAgBA,IAAA,IAA4B,kBAAiB;CAC3C,QAAQ;CACR,OAAO;EACL,YAAY,EAAE,SAAS,KAAA,GAAW;EAClC,kBAAkB,EAAE,eAAe,EAAE,EAAE;EACvC,WAAW;GAAE,MAAM;GAAS,SAAS;GAAO;EAC5C,UAAU;GAAE,MAAM;GAAS,SAAS;GAAM;EAC1C,aAAa,EAAE,SAAS,KAAA,GAAW;EACnC,sBAAsB;GAAE,MAAM;GAAS,SAAS;GAAO;EACvD,oBAAoB,EAAE,SAAS,SAAS;EACxC,OAAO;GAAE,MAAM;GAAS,SAAS;GAAO;EACxC,MAAM,EAAE,SAAS,WAAW;EAC7B;CACD,OAAO,CAAC,qBAAqB,SAAS;CACtC,MAAM,GAAc,EAAE,MAAM,KAAU;EASxC,IAAM,IAAQ,GAER,IAAO,GAOP,IAAe,QAAe,EAAM,eAAe,KAAA,EAAU,EAC7D,IAAe,EAAyB,CAAC,GAAG,EAAM,iBAAiB,CAAC,EAEpE,IAAa,QACjB,EAAa,QAAS,EAAM,cAAc,EAAE,GAAI,EAAa,MAC9D;EAED,SAAS,EAAc,GAA2B;AAKhD,GAJK,EAAa,UAChB,EAAa,QAAQ,IAEvB,EAAK,qBAAqB,EAAK,EAC/B,EAAK,UAAU,EAAK;;AAGtB,UACQ,EAAM,aACX,MAAQ;AACP,GAAI,MAAQ,KAAA,MACV,EAAa,QAAQ,CAAC,GAAG,EAAI;IAGlC;EAKD,SAAS,EAAS,GAA+B;AAC/C,UAAO,EAAW,MAAM,SAAS,EAAI;;EAGvC,SAAS,EAAO,GAAsB;GACpC,IAAM,IAAO,CAAC,GAAG,EAAW,MAAM,EAC5B,IAAM,EAAK,QAAQ,EAAI;AAE7B,GAAI,EAAM,YACR,EAAc,KAAO,IAAI,EAAE,GAAG,CAAC,EAAI,CAAC,IAEhC,KAAO,IACT,EAAK,OAAO,GAAK,EAAE,GAEnB,EAAK,KAAK,EAAI,EAEhB,EAAc,EAAK;;AAgBvB,SAFA,EAAQ,GAV+B;GACrC;GACA;GACA,aAAa,QAAe,EAAM,YAAY;GAC9C,oBAAoB,QAAe,EAAM,mBAAmB;GAC5D,UAAU,QAAe,EAAM,SAAS;GACxC,OAAO,QAAe,EAAM,MAAM;GAClC,MAAM,QAAe,EAAM,KAAK;GACjC,CAEyC,GAElC,GAAU,OACR,GAAY,EAAE,EAAoB,OAAO;GAC/C,OAAO,EAAgB,CAAC,cAAc;IACpC,wBAAwB,EAAQ;IAChC,0BAA0B,CAAC,EAAQ;IACnC,qBAAqB,EAAQ;IAC7B,qBAAqB,EAAQ,SAAS;IACvC,CAAC,CAAC;GACH,MAAM;GACP,EAAE,CACD,EAAY,EAAK,QAAQ,UAAU,CACpC,EAAE,EAAE;;CAIN,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system60.js","names":[],"sources":["../src/components/BDatePicker/types.ts"],"sourcesContent":["export enum BDatePickerType {\n Date = 'date',\n Week = 'week',\n Month = 'month',\n Quarter = 'quarter',\n Year = 'year',\n}\n\nexport enum BDatePickerSize {\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n}\n\nexport enum BDatePickerVariant {\n Outlined = 'outlined',\n Filled = 'filled',\n Borderless = 'borderless',\n Underlined = 'underlined',\n}\n\nexport enum BDatePickerStatus {\n Error = 'error',\n Warning = 'warning',\n}\n\nexport enum BDatePickerPlacement {\n BottomLeft = 'bottom-left',\n BottomRight = 'bottom-right',\n TopLeft = 'top-left',\n TopRight = 'top-right',\n}\n\nexport interface BDatePickerPreset {\n label: string;\n value: Date | (() => Date);\n}\n\nexport interface BDatePickerDisabledDateInfo {\n type: `${BDatePickerType}`;\n}\n"],"mappings":";AAAA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,UAAA,WACA,EAAA,OAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,MACA,EAAA,SAAA,MACA,EAAA,QAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,WAAA,YACA,EAAA,SAAA,UACA,EAAA,aAAA,cACA,EAAA,aAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,UAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,aAAA,eACA,EAAA,cAAA,gBACA,EAAA,UAAA,YACA,EAAA,WAAA;KACD"}
@@ -1,8 +0,0 @@
1
- import e from "./design-system61.js";
2
- /* empty css */
3
- //#region src/components/BDatePicker/BDatePicker.vue
4
- var t = e;
5
- //#endregion
6
- export { t as default };
7
-
8
- //# sourceMappingURL=design-system63.js.map
@@ -1,32 +0,0 @@
1
- import { createCommentVNode as e, createElementBlock as t, createElementVNode as n, createTextVNode as r, defineComponent as i, normalizeStyle as a, openBlock as o, renderSlot as s, toDisplayString as c, useSlots as l } from "vue";
2
- //#region src/components/BDescriptions/BDescriptionsItem.vue?vue&type=script&setup=true&lang.ts
3
- var u = { class: "b-descriptions-item" }, d = /* @__PURE__ */ i({
4
- __name: "BDescriptionsItem",
5
- props: {
6
- label: {},
7
- span: { default: 1 },
8
- labelStyle: {},
9
- contentStyle: {}
10
- },
11
- setup(i, { expose: d }) {
12
- let f = l();
13
- return d({
14
- label: i.label,
15
- span: i.span,
16
- labelStyle: i.labelStyle,
17
- contentStyle: i.contentStyle,
18
- slots: f
19
- }), (l, d) => (o(), t("div", u, [i.label || l.$slots.label ? (o(), t("span", {
20
- key: 0,
21
- class: "b-descriptions-item__label",
22
- style: a(i.labelStyle)
23
- }, [s(l.$slots, "label", {}, () => [r(c(i.label), 1)])], 4)) : e("", !0), n("span", {
24
- class: "b-descriptions-item__content",
25
- style: a(i.contentStyle)
26
- }, [s(l.$slots, "default")], 4)]));
27
- }
28
- });
29
- //#endregion
30
- export { d as default };
31
-
32
- //# sourceMappingURL=design-system67.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system67.js","names":[],"sources":["../src/components/BDescriptions/BDescriptionsItem.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"b-descriptions-item\" }\n\nimport type { CSSProperties } from 'vue';\nimport { useSlots } from 'vue';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BDescriptionsItem',\n props: {\n label: {},\n span: { default: 1 },\n labelStyle: {},\n contentStyle: {}\n },\n setup(__props: any, { expose: __expose }) {\n\n\n\n// ─────────────────────────────────────────────\n// Slots\n// ─────────────────────────────────────────────\n\n\nconst slots = useSlots();\n\n// Expose props for parent to read\n__expose({ label: __props.label, span: __props.span, labelStyle: __props.labelStyle, contentStyle: __props.contentStyle, slots });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (__props.label || _ctx.$slots.label)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: \"b-descriptions-item__label\",\n style: _normalizeStyle(__props.labelStyle)\n }, [\n _renderSlot(_ctx.$slots, \"label\", {}, () => [\n _createTextVNode(_toDisplayString(__props.label), 1)\n ])\n ], 4))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", {\n class: \"b-descriptions-item__content\",\n style: _normalizeStyle(__props.contentStyle)\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ], 4)\n ]))\n}\n}\n\n})"],"mappings":";;AAGA,IAAM,IAAa,EAAE,OAAO,uBAAuB,EASnD,IAA4B,kBAAiB;CAC3C,QAAQ;CACR,OAAO;EACL,OAAO,EAAE;EACT,MAAM,EAAE,SAAS,GAAG;EACpB,YAAY,EAAE;EACd,cAAc,EAAE;EACjB;CACD,MAAM,GAAc,EAAE,QAAQ,KAAY;EAS5C,IAAM,IAAQ,GAAU;AAKxB,SAFA,EAAS;GAAE,OAAO,EAAQ;GAAO,MAAM,EAAQ;GAAM,YAAY,EAAQ;GAAY,cAAc,EAAQ;GAAc;GAAO,CAAC,GAEzH,GAAU,OACR,GAAY,EAAE,EAAoB,OAAO,GAAY,CAC1D,EAAQ,SAAS,EAAK,OAAO,SACzB,GAAY,EAAE,EAAoB,QAAQ;GACzC,KAAK;GACL,OAAO;GACP,OAAO,EAAgB,EAAQ,WAAW;GAC3C,EAAE,CACD,EAAY,EAAK,QAAQ,SAAS,EAAE,QAAQ,CAC1C,EAAiB,EAAiB,EAAQ,MAAM,EAAE,EAAE,CACrD,CAAC,CACH,EAAE,EAAE,IACL,EAAoB,IAAI,GAAK,EACjC,EAAoB,QAAQ;GAC1B,OAAO;GACP,OAAO,EAAgB,EAAQ,aAAa;GAC7C,EAAE,CACD,EAAY,EAAK,QAAQ,UAAU,CACpC,EAAE,EAAE,CACN,CAAC;;CAIH,CAAA"}
@@ -1,8 +0,0 @@
1
- import e from "./design-system72.js";
2
- /* empty css */
3
- //#region src/components/BDrawer/BDrawer.vue
4
- var t = e;
5
- //#endregion
6
- export { t as default };
7
-
8
- //# sourceMappingURL=design-system74.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system74.js","names":[],"sources":["../src/components/BDrawer/BDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { BDrawerPlacement, BDrawerSize } from '@/types';\nimport { computed, nextTick, onBeforeUnmount, ref, useId, watch } from 'vue';\n\n// ─────────────────────────────────────────────\n// Props & emits\n// ─────────────────────────────────────────────\nconst {\n placement = 'right',\n size = 'default',\n title = '',\n closable = true,\n mask = true,\n maskClosable = true,\n keyboard = true,\n destroyOnClose = false,\n width,\n height,\n zIndex = 1000,\n getContainer,\n autoFocus = true,\n modelValue = undefined,\n forceRender = false,\n extra = '',\n footer = '',\n loading = false,\n ariaLabel,\n} = defineProps<{\n /** Direction from which the drawer slides in. */\n placement?: BDrawerPlacement;\n /** Preset width/height: 'default' (378px) or 'large' (736px). */\n size?: BDrawerSize;\n /** Drawer title. Also accepts the `title` slot. */\n title?: string;\n /** Whether to show the close button. */\n closable?: boolean;\n /** Whether to show the mask overlay. */\n mask?: boolean;\n /** Clicking the mask closes the drawer. */\n maskClosable?: boolean;\n /** Pressing Escape closes the drawer. */\n keyboard?: boolean;\n /** Destroy child components when closing. */\n destroyOnClose?: boolean;\n /** Custom width (overrides size) for left/right placement. */\n width?: string | number;\n /** Custom height (overrides size) for top/bottom placement. */\n height?: string | number;\n /** z-index of the drawer. */\n zIndex?: number;\n /**\n * CSS selector or element to teleport the drawer into.\n * Defaults to `body`.\n */\n getContainer?: string | HTMLElement;\n /** Whether to auto-focus the first focusable element when opened. */\n autoFocus?: boolean;\n /**\n * Controlled visibility - bind with `v-model`.\n * When not provided the drawer manages its own state.\n */\n modelValue?: boolean;\n /** Force render the drawer content even when hidden. */\n forceRender?: boolean;\n /** Extra content in the header right area (also accepts the `extra` slot). */\n extra?: string;\n /** Footer content (also accepts the `footer` slot). */\n footer?: string;\n /** Show loading spinner in body area. */\n loading?: boolean;\n /**\n * Accessible label for the dialog when no visible title is present.\n * Required when `closable=false` and no `title` prop or `#title` slot is used.\n */\n ariaLabel?: string;\n}>();\n\nconst emit = defineEmits<{\n /** Fired when the user requests to close the drawer. */\n (e: 'close', event: MouseEvent | KeyboardEvent): void;\n /** Fired after the close transition completes. */\n (e: 'afterOpenChange', open: boolean): void;\n /** v-model support */\n (e: 'update:modelValue', value: boolean): void;\n}>();\n\nconst slots = defineSlots<{\n /** Main content of the drawer. */\n default?(): unknown;\n /** Overrides the `title` prop. */\n title?(): unknown;\n /** Overrides the `extra` prop (right side of header). */\n extra?(): unknown;\n /** Overrides the `footer` prop. */\n footer?(): unknown;\n /** Custom close icon. */\n closeIcon?(): unknown;\n}>();\n\n// ─────────────────────────────────────────────\n// Internal state\n// ─────────────────────────────────────────────\nconst titleId = useId();\n\n/** Uncontrolled visibility. */\nconst internalOpen = ref(false);\n\n/** Effective visibility. */\nconst isOpen = computed(() => (modelValue !== undefined ? modelValue : internalOpen.value));\n\n/** Whether the drawer has ever been opened (for lazy rendering). */\nconst hasBeenOpened = ref(false);\n\n/** Whether the content should render. */\nconst shouldRender = computed(() => {\n if (forceRender) return true;\n if (destroyOnClose) return isOpen.value;\n return hasBeenOpened.value || isOpen.value;\n});\n\n// Track when drawer opens at least once\nwatch(isOpen, (val) => {\n if (val) hasBeenOpened.value = true;\n});\n\n// ─────────────────────────────────────────────\n// Derived state\n// ─────────────────────────────────────────────\nconst isHorizontal = computed(() => placement === 'left' || placement === 'right');\n\nconst sizeMap: Record<BDrawerSize, number> = {\n default: 378,\n large: 736,\n};\n\nconst resolvedWidth = computed(() => {\n if (width !== undefined) return typeof width === 'number' ? `${width}px` : width;\n return isHorizontal.value ? `${sizeMap[size]}px` : '100%';\n});\n\nconst resolvedHeight = computed(() => {\n if (height !== undefined) return typeof height === 'number' ? `${height}px` : height;\n return !isHorizontal.value ? `${sizeMap[size]}px` : '100%';\n});\n\nconst hasTitle = computed(() => Boolean(title || slots.title));\nconst hasExtra = computed(() => Boolean(extra || slots.extra));\nconst hasFooter = computed(() => Boolean(footer || slots.footer));\nconst hasHeader = computed(() => hasTitle.value || closable || hasExtra.value);\n\nconst teleportTarget = computed(() => {\n if (getContainer) return getContainer;\n return 'body';\n});\n\nconst panelStyle = computed(() => ({\n width: resolvedWidth.value,\n height: resolvedHeight.value,\n zIndex,\n}));\n\n// ─────────────────────────────────────────────\n// Focus management\n// ─────────────────────────────────────────────\nconst drawerRef = ref<HTMLElement | null>(null);\nlet previouslyFocusedElement: HTMLElement | null = null;\n\nfunction trapFocus(event: KeyboardEvent) {\n if (event.key !== 'Tab' || !drawerRef.value) return;\n\n const focusableSelectors =\n 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex=\"-1\"])';\n const focusable = Array.from(drawerRef.value.querySelectorAll<HTMLElement>(focusableSelectors));\n\n if (focusable.length === 0) {\n event.preventDefault();\n return;\n }\n\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n\n if (event.shiftKey) {\n if (document.activeElement === first) {\n event.preventDefault();\n last.focus();\n }\n } else {\n if (document.activeElement === last) {\n event.preventDefault();\n first.focus();\n }\n }\n}\n\nfunction focusFirst() {\n if (!autoFocus || !drawerRef.value) return;\n\n nextTick(() => {\n if (!drawerRef.value) return;\n const focusableSelectors =\n 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex=\"-1\"])';\n const first = drawerRef.value.querySelector<HTMLElement>(focusableSelectors);\n if (first) {\n first.focus();\n } else {\n // Focus the panel itself as a fallback\n drawerRef.value.focus();\n }\n });\n}\n\nwatch(isOpen, (val) => {\n if (val) {\n previouslyFocusedElement = document.activeElement as HTMLElement | null;\n nextTick(() => focusFirst());\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n});\n\nonBeforeUnmount(() => {\n document.body.style.overflow = '';\n});\n\n// ─────────────────────────────────────────────\n// Behaviour\n// ─────────────────────────────────────────────\nfunction requestClose(event: MouseEvent | KeyboardEvent) {\n emit('close', event);\n if (modelValue !== undefined) {\n emit('update:modelValue', false);\n } else {\n internalOpen.value = false;\n }\n}\n\nfunction onMaskClick(event: MouseEvent) {\n if (maskClosable) {\n requestClose(event);\n }\n}\n\nfunction onKeydown(event: KeyboardEvent) {\n if (event.key === 'Escape' && keyboard) {\n event.stopPropagation();\n requestClose(event);\n }\n trapFocus(event);\n}\n\nfunction onAfterEnter() {\n emit('afterOpenChange', true);\n}\n\nfunction onAfterLeave() {\n emit('afterOpenChange', false);\n // Restore focus to the previously focused element\n if (previouslyFocusedElement && typeof previouslyFocusedElement.focus === 'function') {\n previouslyFocusedElement.focus();\n previouslyFocusedElement = null;\n }\n}\n\n// ─────────────────────────────────────────────\n// Public API\n// ─────────────────────────────────────────────\nfunction open() {\n if (modelValue !== undefined) {\n emit('update:modelValue', true);\n } else {\n internalOpen.value = true;\n }\n}\n\ndefineExpose({ open });\n</script>\n\n<template>\n <Teleport :to=\"teleportTarget\">\n <Transition name=\"b-drawer\" @after-enter=\"onAfterEnter\" @after-leave=\"onAfterLeave\">\n <div\n v-if=\"isOpen\"\n class=\"b-drawer-root\"\n :class=\"`b-drawer-root--${placement}`\"\n :style=\"{ zIndex }\"\n >\n <!-- Mask -->\n <div v-if=\"mask\" class=\"b-drawer__mask\" aria-hidden=\"true\" @click=\"onMaskClick\" />\n\n <!-- Panel -->\n <div\n ref=\"drawerRef\"\n class=\"b-drawer\"\n :class=\"[\n `b-drawer--${placement}`,\n `b-drawer--${size}`,\n {\n 'b-drawer--has-header': hasHeader,\n 'b-drawer--has-footer': hasFooter,\n },\n ]\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"!hasTitle ? ariaLabel : undefined\"\n :aria-labelledby=\"hasTitle ? titleId : undefined\"\n :style=\"panelStyle\"\n tabindex=\"-1\"\n @keydown=\"onKeydown\"\n >\n <!-- Header -->\n <div v-if=\"hasHeader\" class=\"b-drawer__header\">\n <div class=\"b-drawer__header-title-wrapper\">\n <!-- Close button -->\n <button\n v-if=\"closable\"\n type=\"button\"\n class=\"b-drawer__close\"\n aria-label=\"Close drawer\"\n @click=\"requestClose\"\n >\n <slot name=\"closeIcon\">\n <svg\n class=\"b-drawer__close-icon\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n />\n </svg>\n </slot>\n </button>\n\n <!-- Title -->\n <div v-if=\"hasTitle\" :id=\"titleId\" class=\"b-drawer__title\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n </div>\n\n <!-- Extra -->\n <div v-if=\"hasExtra\" class=\"b-drawer__extra\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <!-- Body -->\n <div v-if=\"shouldRender\" class=\"b-drawer__body\">\n <div v-if=\"loading\" class=\"b-drawer__loading\" aria-live=\"polite\">\n <svg\n class=\"b-drawer__spinner\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-dasharray=\"31.4 31.4\"\n stroke-linecap=\"round\"\n />\n </svg>\n <span class=\"b-drawer__loading-text\">Loading…</span>\n </div>\n <slot v-else />\n </div>\n\n <!-- Footer -->\n <div v-if=\"hasFooter\" class=\"b-drawer__footer\">\n <slot name=\"footer\">{{ footer }}</slot>\n </div>\n </div>\n </div>\n </Transition>\n </Teleport>\n</template>\n\n<style>\n/* ────────────────────────────────────────────\n CSS Custom Properties (tokens)\n ──────────────────────────────────────────── */\n.b-drawer-root {\n --b-drawer-bg: #fff;\n --b-drawer-color: oklch(25% 0 0);\n --b-drawer-mask-bg: rgba(0, 0, 0, 0.45);\n --b-drawer-border-color: oklch(90% 0 0);\n --b-drawer-header-padding: 1rem 1.5rem;\n --b-drawer-body-padding: 1.5rem;\n --b-drawer-footer-padding: 0.5rem 1rem;\n --b-drawer-close-color: oklch(40% 0 0);\n --b-drawer-close-hover-color: oklch(20% 0 0);\n --b-drawer-title-font-size: 1rem;\n --b-drawer-title-font-weight: 600;\n --b-drawer-title-line-height: 1.5;\n --b-drawer-transition-duration: 300ms;\n --b-drawer-shadow:\n -6px 0 16px 0 rgba(0, 0, 0, 0.08), -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05);\n}\n\n/* ── Dark mode ── */\n[data-prefers-color='dark'] .b-drawer-root {\n --b-drawer-bg: oklch(20% 0 0);\n --b-drawer-color: oklch(90% 0 0);\n --b-drawer-mask-bg: rgba(0, 0, 0, 0.65);\n --b-drawer-border-color: oklch(30% 0 0);\n --b-drawer-close-color: oklch(65% 0 0);\n --b-drawer-close-hover-color: oklch(90% 0 0);\n --b-drawer-shadow:\n -6px 0 16px 0 rgba(0, 0, 0, 0.24), -3px 0 6px -4px rgba(0, 0, 0, 0.36),\n -9px 0 28px 8px rgba(0, 0, 0, 0.2);\n}\n\n@media (prefers-color-scheme: dark) {\n [data-prefers-color='system'] .b-drawer-root {\n --b-drawer-bg: oklch(20% 0 0);\n --b-drawer-color: oklch(90% 0 0);\n --b-drawer-mask-bg: rgba(0, 0, 0, 0.65);\n --b-drawer-border-color: oklch(30% 0 0);\n --b-drawer-close-color: oklch(65% 0 0);\n --b-drawer-close-hover-color: oklch(90% 0 0);\n --b-drawer-shadow:\n -6px 0 16px 0 rgba(0, 0, 0, 0.24), -3px 0 6px -4px rgba(0, 0, 0, 0.36),\n -9px 0 28px 8px rgba(0, 0, 0, 0.2);\n }\n}\n\n/* ─────────────────────────────────────────────\n Root wrapper (mask + panel)\n ───────────────────────────────────────────── */\n.b-drawer-root {\n position: fixed;\n inset: 0;\n}\n\n/* ── Mask ── */\n.b-drawer__mask {\n position: absolute;\n inset: 0;\n background: var(--b-drawer-mask-bg);\n}\n\n/* ── Panel base ── */\n.b-drawer {\n position: absolute;\n display: flex;\n flex-direction: column;\n background: var(--b-drawer-bg);\n color: var(--b-drawer-color);\n box-shadow: var(--b-drawer-shadow);\n outline: none;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* Placement positioning */\n.b-drawer--right {\n top: 0;\n right: 0;\n bottom: 0;\n}\n\n.b-drawer--left {\n top: 0;\n left: 0;\n bottom: 0;\n}\n\n.b-drawer--top {\n top: 0;\n left: 0;\n right: 0;\n}\n\n.b-drawer--bottom {\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n/* ── Header ── */\n.b-drawer__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--b-drawer-header-padding);\n border-bottom: 1px solid var(--b-drawer-border-color);\n flex-shrink: 0;\n}\n\n.b-drawer__header-title-wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n min-width: 0;\n flex: 1;\n}\n\n.b-drawer__title {\n font-size: var(--b-drawer-title-font-size);\n font-weight: var(--b-drawer-title-font-weight);\n line-height: var(--b-drawer-title-line-height);\n color: var(--b-drawer-color);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.b-drawer__extra {\n flex-shrink: 0;\n}\n\n/* ── Close button ── */\n.b-drawer__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border: none;\n border-radius: 0.25rem;\n background: transparent;\n color: var(--b-drawer-close-color);\n cursor: pointer;\n width: 1.375rem;\n height: 1.375rem;\n font-size: 1rem;\n line-height: 1;\n transition: color var(--b-drawer-transition-duration) ease;\n}\n\n.b-drawer__close:hover {\n color: var(--b-drawer-close-hover-color);\n}\n\n.b-drawer__close:focus-visible {\n outline: 2px solid oklch(62.3% 0.214 259.815);\n outline-offset: 2px;\n}\n\n.b-drawer__close-icon {\n width: 1em;\n height: 1em;\n fill: currentColor;\n display: block;\n}\n\n/* ── Body ── */\n.b-drawer__body {\n flex: 1;\n padding: var(--b-drawer-body-padding);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* ── Footer ── */\n.b-drawer__footer {\n flex-shrink: 0;\n padding: var(--b-drawer-footer-padding);\n border-top: 1px solid var(--b-drawer-border-color);\n}\n\n/* ── Loading spinner ── */\n.b-drawer__loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 0.75rem;\n padding: 2rem;\n color: var(--b-drawer-close-color);\n}\n\n.b-drawer__spinner {\n width: 2rem;\n height: 2rem;\n animation: b-drawer-spin 1s linear infinite;\n}\n\n.b-drawer__loading-text {\n font-size: 0.875rem;\n}\n\n@keyframes b-drawer-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* ─────────────────────────────────────────────\n Slide transitions\n ─────────────────────────────────────────────\n Vue's <Transition> adds .b-drawer-{enter|leave}-* classes\n to the root element (.b-drawer-root). We target the\n children (.b-drawer and .b-drawer__mask) from there.\n ───────────────────────────────────────────── */\n\n/*\n * Vue's <Transition> listens for `transitionend` on the root element\n * (.b-drawer-root) to know when the leave animation finishes.\n * We must put a real transition on the root itself so that event fires.\n * We use `visibility` which is invisible to the user but gives Vue\n * the transitionend signal it needs.\n */\n.b-drawer-enter-active,\n.b-drawer-leave-active {\n transition: visibility var(--b-drawer-transition-duration) linear;\n}\n\n.b-drawer-leave-to {\n visibility: hidden;\n}\n\n/* - Active phase: set transition on children - */\n.b-drawer-enter-active > .b-drawer,\n.b-drawer-leave-active > .b-drawer {\n transition: transform var(--b-drawer-transition-duration) cubic-bezier(0.7, 0.3, 0.1, 1);\n}\n\n.b-drawer-enter-active > .b-drawer__mask,\n.b-drawer-leave-active > .b-drawer__mask {\n transition: opacity var(--b-drawer-transition-duration) ease;\n}\n\n/* - From / To: mask fades - */\n.b-drawer-enter-from > .b-drawer__mask,\n.b-drawer-leave-to > .b-drawer__mask {\n opacity: 0;\n}\n\n/* - From / To: panel slides (right) - */\n.b-drawer-enter-from > .b-drawer--right,\n.b-drawer-leave-to > .b-drawer--right {\n transform: translateX(100%);\n}\n\n/* - From / To: panel slides (left) - */\n.b-drawer-enter-from > .b-drawer--left,\n.b-drawer-leave-to > .b-drawer--left {\n transform: translateX(-100%);\n}\n\n/* - From / To: panel slides (top) - */\n.b-drawer-enter-from > .b-drawer--top,\n.b-drawer-leave-to > .b-drawer--top {\n transform: translateY(-100%);\n}\n\n/* - From / To: panel slides (bottom) - */\n.b-drawer-enter-from > .b-drawer--bottom,\n.b-drawer-leave-to > .b-drawer--bottom {\n transform: translateY(100%);\n}\n\n/* ── Reduced motion ── */\n@media (prefers-reduced-motion: reduce) {\n .b-drawer-enter-active,\n .b-drawer-leave-active,\n .b-drawer-enter-active > .b-drawer,\n .b-drawer-leave-active > .b-drawer,\n .b-drawer-enter-active > .b-drawer__mask,\n .b-drawer-leave-active > .b-drawer__mask {\n transition-duration: 0ms;\n }\n\n .b-drawer__spinner {\n animation: none;\n }\n}\n</style>\n"],"mappings":""}
@@ -1,60 +0,0 @@
1
- import { BEmptyImage as e } from "./design-system3.js";
2
- import { computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createStaticVNode as a, createTextVNode as o, defineComponent as s, normalizeClass as c, normalizeStyle as l, openBlock as u, renderSlot as d, toDisplayString as f, unref as p, useSlots as m } from "vue";
3
- //#region src/components/BEmpty/BEmpty.vue?vue&type=script&setup=true&lang.ts
4
- var h = ["aria-label"], g = {
5
- key: 0,
6
- class: "b-empty__svg b-empty__svg--default",
7
- viewBox: "0 0 184 152",
8
- xmlns: "http://www.w3.org/2000/svg",
9
- "aria-hidden": "true",
10
- focusable: "false"
11
- }, _ = {
12
- key: 1,
13
- class: "b-empty__svg b-empty__svg--simple",
14
- viewBox: "0 0 64 41",
15
- xmlns: "http://www.w3.org/2000/svg",
16
- "aria-hidden": "true",
17
- focusable: "false"
18
- }, v = ["src"], y = {
19
- key: 0,
20
- class: "b-empty__description"
21
- }, b = {
22
- key: 1,
23
- class: "b-empty__footer"
24
- }, x = /* @__PURE__ */ s({
25
- __name: "BEmpty",
26
- props: {
27
- description: { default: "No data" },
28
- hideDescription: {
29
- type: Boolean,
30
- default: !1
31
- },
32
- image: { default: e.Default },
33
- imageStyle: {}
34
- },
35
- setup(s) {
36
- let x = s, S = m(), C = t(() => x.image === e.Simple), w = t(() => x.image === e.Default || x.image === e.Simple), T = t(() => !w.value && typeof x.image == "string" && x.image.length > 0), E = t(() => S.description ? !0 : !x.hideDescription), D = t(() => x.description);
37
- return (t, s) => (u(), r("div", {
38
- class: c(["b-empty", { "b-empty--simple": C.value }]),
39
- role: "status",
40
- "aria-label": x.description || "No data"
41
- }, [
42
- i("div", {
43
- class: "b-empty__image",
44
- style: l(x.imageStyle)
45
- }, [d(t.$slots, "image", {}, () => [x.image === p(e).Default ? (u(), r("svg", g, [...s[0] ||= [a("<g fill=\"none\" fill-rule=\"evenodd\"><g transform=\"translate(24 31.67)\"><ellipse class=\"b-empty__ellipse\" cx=\"67.797\" cy=\"106.89\" rx=\"67.797\" ry=\"12.668\"></ellipse><path class=\"b-empty__path-bg\" d=\"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\"></path><path class=\"b-empty__path-main\" d=\"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\" transform=\"translate(13.56)\"></path><path class=\"b-empty__path-front\" d=\"M33.83 0h67.933a4 4 0 014 4v93.344H29.83V4a4 4 0 014-4z\"></path><path class=\"b-empty__path-panel\" d=\"M42.678 9.953h50.237a2 2 0 012 2V36.91h-54.237V11.953a2 2 0 012-2zM42.94 49.767h49.713a2.262 2.262 0 110 4.524H42.94a2.262 2.262 0 110-4.524zM42.94 61.53h49.713a2.262 2.262 0 110 4.525H42.94a2.262 2.262 0 010-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 01-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393 0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\"></path></g><path class=\"b-empty__path-dot\" d=\"M149.121 33.292l-6.83 2.65a1 1 0 01-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\"></path><g class=\"b-empty__path-dots-group\" transform=\"translate(149.65 15.383)\"><ellipse cx=\"20.654\" cy=\"3.167\" rx=\"2.849\" ry=\"2.815\"></ellipse><path d=\"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\"></path></g></g>", 1)]])) : x.image === p(e).Simple ? (u(), r("svg", _, [...s[1] ||= [a("<g transform=\"translate(0 1)\" fill=\"none\" fill-rule=\"evenodd\"><ellipse class=\"b-empty__simple-ellipse\" cx=\"32\" cy=\"33\" rx=\"32\" ry=\"7\"></ellipse><g class=\"b-empty__simple-group\" fill-rule=\"nonzero\"><path d=\"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46V12.76z\"></path><path class=\"b-empty__simple-inner\" d=\"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\"></path></g></g>", 1)]])) : T.value ? (u(), r("img", {
46
- key: 2,
47
- src: x.image,
48
- alt: "",
49
- class: "b-empty__custom-image",
50
- "aria-hidden": "true"
51
- }, null, 8, v)) : n("", !0)])], 4),
52
- E.value ? (u(), r("div", y, [d(t.$slots, "description", {}, () => [o(f(D.value), 1)])])) : n("", !0),
53
- S.default ? (u(), r("div", b, [d(t.$slots, "default")])) : n("", !0)
54
- ], 10, h));
55
- }
56
- });
57
- //#endregion
58
- export { x as default };
59
-
60
- //# sourceMappingURL=design-system79.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system79.js","names":[],"sources":["../src/components/BEmpty/BEmpty.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { useSlots as _useSlots, defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = [\"aria-label\"]\nconst _hoisted_2 = {\n key: 0,\n class: \"b-empty__svg b-empty__svg--default\",\n viewBox: \"0 0 184 152\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-hidden\": \"true\",\n focusable: \"false\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"b-empty__svg b-empty__svg--simple\",\n viewBox: \"0 0 64 41\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-hidden\": \"true\",\n focusable: \"false\"\n}\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = {\n key: 0,\n class: \"b-empty__description\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"b-empty__footer\"\n}\n\nimport { BEmptyImage } from '@/types.ts';\nimport { computed } from 'vue';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BEmpty',\n props: {\n description: { default: 'No data' },\n hideDescription: { type: Boolean, default: false },\n image: { default: BEmptyImage.Default },\n imageStyle: {}\n },\n setup(__props: any) {\n\nconst props = __props;\n\n// ─────────────────────────────────────────────\n// Slots\n// ─────────────────────────────────────────────\nconst slots = _useSlots();\n\n// ─────────────────────────────────────────────\n// Derived state\n// ─────────────────────────────────────────────\nconst isSimple = computed(() => props.image === BEmptyImage.Simple);\n\nconst isBuiltInImage = computed(\n () => props.image === BEmptyImage.Default || props.image === BEmptyImage.Simple,\n);\n\nconst isCustomUrl = computed(\n () => !isBuiltInImage.value && typeof props.image === 'string' && props.image.length > 0,\n);\n\nconst showDescription = computed(() => {\n if (slots.description) return true;\n return !props.hideDescription;\n});\n\nconst descriptionText = computed(() => {\n return props.description;\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"b-empty\", { 'b-empty--simple': isSimple.value }]),\n role: \"status\",\n \"aria-label\": props.description || 'No data'\n }, [\n _createElementVNode(\"div\", {\n class: \"b-empty__image\",\n style: _normalizeStyle(props.imageStyle)\n }, [\n _renderSlot(_ctx.$slots, \"image\", {}, () => [\n (props.image === _unref(BEmptyImage).Default)\n ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, [...(_cache[0] || (_cache[0] = [\n _createStaticVNode(\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><g transform=\\\"translate(24 31.67)\\\"><ellipse class=\\\"b-empty__ellipse\\\" cx=\\\"67.797\\\" cy=\\\"106.89\\\" rx=\\\"67.797\\\" ry=\\\"12.668\\\"></ellipse><path class=\\\"b-empty__path-bg\\\" d=\\\"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\\\"></path><path class=\\\"b-empty__path-main\\\" d=\\\"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\\\" transform=\\\"translate(13.56)\\\"></path><path class=\\\"b-empty__path-front\\\" d=\\\"M33.83 0h67.933a4 4 0 014 4v93.344H29.83V4a4 4 0 014-4z\\\"></path><path class=\\\"b-empty__path-panel\\\" d=\\\"M42.678 9.953h50.237a2 2 0 012 2V36.91h-54.237V11.953a2 2 0 012-2zM42.94 49.767h49.713a2.262 2.262 0 110 4.524H42.94a2.262 2.262 0 110-4.524zM42.94 61.53h49.713a2.262 2.262 0 110 4.525H42.94a2.262 2.262 0 010-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 01-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393 0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\\\"></path></g><path class=\\\"b-empty__path-dot\\\" d=\\\"M149.121 33.292l-6.83 2.65a1 1 0 01-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\\\"></path><g class=\\\"b-empty__path-dots-group\\\" transform=\\\"translate(149.65 15.383)\\\"><ellipse cx=\\\"20.654\\\" cy=\\\"3.167\\\" rx=\\\"2.849\\\" ry=\\\"2.815\\\"></ellipse><path d=\\\"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\\\"></path></g></g>\", 1)\n ]))]))\n : (props.image === _unref(BEmptyImage).Simple)\n ? (_openBlock(), _createElementBlock(\"svg\", _hoisted_3, [...(_cache[1] || (_cache[1] = [\n _createStaticVNode(\"<g transform=\\\"translate(0 1)\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><ellipse class=\\\"b-empty__simple-ellipse\\\" cx=\\\"32\\\" cy=\\\"33\\\" rx=\\\"32\\\" ry=\\\"7\\\"></ellipse><g class=\\\"b-empty__simple-group\\\" fill-rule=\\\"nonzero\\\"><path d=\\\"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46V12.76z\\\"></path><path class=\\\"b-empty__simple-inner\\\" d=\\\"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\\\"></path></g></g>\", 1)\n ]))]))\n : (isCustomUrl.value)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 2,\n src: props.image,\n alt: \"\",\n class: \"b-empty__custom-image\",\n \"aria-hidden\": \"true\"\n }, null, 8, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ])\n ], 4),\n (showDescription.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"description\", {}, () => [\n _createTextVNode(_toDisplayString(descriptionText.value), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (slots.default)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _renderSlot(_ctx.$slots, \"default\")\n ]))\n : _createCommentVNode(\"\", true)\n ], 10, _hoisted_1))\n}\n}\n\n})"],"mappings":";;;AAGA,IAAM,IAAa,CAAC,aAAa,EAC3B,IAAa;CACjB,KAAK;CACL,OAAO;CACP,SAAS;CACT,OAAO;CACP,eAAe;CACf,WAAW;CACZ,EACK,IAAa;CACjB,KAAK;CACL,OAAO;CACP,SAAS;CACT,OAAO;CACP,eAAe;CACf,WAAW;CACZ,EACK,IAAa,CAAC,MAAM,EACpB,IAAa;CACjB,KAAK;CACL,OAAO;CACR,EACK,IAAa;CACjB,KAAK;CACL,OAAO;CACR,EASD,IAA4B,kBAAiB;CAC3C,QAAQ;CACR,OAAO;EACL,aAAa,EAAE,SAAS,WAAW;EACnC,iBAAiB;GAAE,MAAM;GAAS,SAAS;GAAO;EAClD,OAAO,EAAE,SAAS,EAAY,SAAS;EACvC,YAAY,EAAE;EACf;CACD,MAAM,GAAc;EAEtB,IAAM,IAAQ,GAKR,IAAQ,GAAW,EAKnB,IAAW,QAAe,EAAM,UAAU,EAAY,OAAO,EAE7D,IAAiB,QACf,EAAM,UAAU,EAAY,WAAW,EAAM,UAAU,EAAY,OAC1E,EAEK,IAAc,QACZ,CAAC,EAAe,SAAS,OAAO,EAAM,SAAU,YAAY,EAAM,MAAM,SAAS,EACxF,EAEK,IAAkB,QAClB,EAAM,cAAoB,KACvB,CAAC,EAAM,gBACd,EAEI,IAAkB,QACf,EAAM,YACb;AAEF,UAAQ,GAAU,OACR,GAAY,EAAE,EAAoB,OAAO;GAC/C,OAAO,EAAgB,CAAC,WAAW,EAAE,mBAAmB,EAAS,OAAO,CAAC,CAAC;GAC1E,MAAM;GACN,cAAc,EAAM,eAAe;GACpC,EAAE;GACD,EAAoB,OAAO;IACzB,OAAO;IACP,OAAO,EAAgB,EAAM,WAAW;IACzC,EAAE,CACD,EAAY,EAAK,QAAQ,SAAS,EAAE,QAAQ,CACzC,EAAM,UAAU,EAAO,EAAY,CAAC,WAChC,GAAY,EAAE,EAAoB,OAAO,GAAY,CAAC,GAAI,AAAc,EAAO,OAAK,CACnF,EAAmB,yuDAAyuD,EAAE,CAC/vD,CAAG,CAAC,IACJ,EAAM,UAAU,EAAO,EAAY,CAAC,UAClC,GAAY,EAAE,EAAoB,OAAO,GAAY,CAAC,GAAI,AAAc,EAAO,OAAK,CACnF,EAAmB,uoBAAuoB,EAAE,CAC7pB,CAAG,CAAC,IACJ,EAAY,SACV,GAAY,EAAE,EAAoB,OAAO;IACxC,KAAK;IACL,KAAK,EAAM;IACX,KAAK;IACL,OAAO;IACP,eAAe;IAChB,EAAE,MAAM,GAAG,EAAW,IACvB,EAAoB,IAAI,GAAK,CACtC,CAAC,CACH,EAAE,EAAE;GACJ,EAAgB,SACZ,GAAY,EAAE,EAAoB,OAAO,GAAY,CACpD,EAAY,EAAK,QAAQ,eAAe,EAAE,QAAQ,CAChD,EAAiB,EAAiB,EAAgB,MAAM,EAAE,EAAE,CAC7D,CAAC,CACH,CAAC,IACF,EAAoB,IAAI,GAAK;GAChC,EAAM,WACF,GAAY,EAAE,EAAoB,OAAO,GAAY,CACpD,EAAY,EAAK,QAAQ,UAAU,CACpC,CAAC,IACF,EAAoB,IAAI,GAAK;GAClC,EAAE,IAAI,EAAW;;CAInB,CAAA"}
@@ -1,14 +0,0 @@
1
- //#region src/components/BFloatButton/types.ts
2
- var e = /* @__PURE__ */ function(e) {
3
- return e.Circle = "circle", e.Square = "square", e;
4
- }({}), t = /* @__PURE__ */ function(e) {
5
- return e.Default = "default", e.Primary = "primary", e;
6
- }({}), n = /* @__PURE__ */ function(e) {
7
- return e.Click = "click", e.Hover = "hover", e;
8
- }({}), r = /* @__PURE__ */ function(e) {
9
- return e.Top = "top", e.Right = "right", e.Bottom = "bottom", e.Left = "left", e;
10
- }({});
11
- //#endregion
12
- export { r as BFloatButtonGroupPlacement, e as BFloatButtonShape, n as BFloatButtonTrigger, t as BFloatButtonType };
13
-
14
- //# sourceMappingURL=design-system82.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system82.js","names":[],"sources":["../src/components/BFloatButton/types.ts"],"sourcesContent":["export enum BFloatButtonShape {\n Circle = 'circle',\n Square = 'square',\n}\n\nexport enum BFloatButtonType {\n Default = 'default',\n Primary = 'primary',\n}\n\nexport enum BFloatButtonTrigger {\n Click = 'click',\n Hover = 'hover',\n}\n\nexport enum BFloatButtonGroupPlacement {\n Top = 'top',\n Right = 'right',\n Bottom = 'bottom',\n Left = 'left',\n}\n\nexport interface BFloatButtonBadgeProps {\n /** Badge count number */\n count?: number;\n /** Whether to show badge even when count is 0 */\n showZero?: boolean;\n /** Max count to display before showing overflow text */\n overflowCount?: number;\n /** Show a red dot instead of a count */\n dot?: boolean;\n /** Custom badge text color */\n color?: string;\n}\n"],"mappings":";AAAA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,SAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,UAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,QAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,MAAA,OACA,EAAA,QAAA,SACA,EAAA,SAAA,UACA,EAAA,OAAA;KACD"}
@@ -1,69 +0,0 @@
1
- import { BFloatButtonShape as e, BFloatButtonType as t } from "./design-system82.js";
2
- import n from "./design-system85.js";
3
- import { Transition as r, createBlock as i, createCommentVNode as a, createElementVNode as o, defineComponent as s, onBeforeUnmount as c, onMounted as l, openBlock as u, ref as d, renderSlot as f, unref as p, withCtx as m } from "vue";
4
- //#region src/components/BFloatButton/BFloatButtonBackTop.vue?vue&type=script&setup=true&lang.ts
5
- var h = /* @__PURE__ */ s({
6
- __name: "BFloatButtonBackTop",
7
- props: {
8
- duration: { default: 450 },
9
- target: { type: Function },
10
- visibilityHeight: { default: 400 },
11
- shape: { default: () => e.Circle },
12
- type: { default: () => t.Default }
13
- },
14
- emits: ["click"],
15
- setup(e, { emit: t }) {
16
- let s = t, h = d(!1), g = window;
17
- function _() {
18
- return g === window ? window.scrollY : g.scrollTop;
19
- }
20
- function v() {
21
- h.value = _() > e.visibilityHeight;
22
- }
23
- function y(e) {
24
- return e < .5 ? 4 * e * e * e : 1 - (-2 * e + 2) ** 3 / 2;
25
- }
26
- function b() {
27
- let t = performance.now(), n = _();
28
- function r(i) {
29
- let a = i - t, o = Math.min(a / e.duration, 1), s = n * (1 - y(o));
30
- g === window ? window.scrollTo(0, s) : g.scrollTop = s, o < 1 && requestAnimationFrame(r);
31
- }
32
- requestAnimationFrame(r);
33
- }
34
- function x(e) {
35
- b(), s("click", e);
36
- }
37
- l(() => {
38
- g = e.target?.() ?? window, g.addEventListener("scroll", v, { passive: !0 }), v();
39
- }), c(() => {
40
- g.removeEventListener("scroll", v);
41
- });
42
- let S = h;
43
- return (t, s) => (u(), i(r, { name: "b-float-button-backtop" }, {
44
- default: m(() => [p(S) ? (u(), i(n, {
45
- key: 0,
46
- shape: e.shape,
47
- type: e.type,
48
- "aria-label": "Back to top",
49
- class: "b-float-button-backtop",
50
- onClick: x
51
- }, {
52
- icon: m(() => [f(t.$slots, "default", {}, () => [s[0] ||= o("svg", {
53
- width: "1em",
54
- height: "1em",
55
- viewBox: "0 0 24 24",
56
- fill: "currentColor",
57
- "aria-hidden": "true",
58
- focusable: "false"
59
- }, [o("path", { d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z" })], -1)])]),
60
- _: 3
61
- }, 8, ["shape", "type"])) : a("", !0)]),
62
- _: 3
63
- }));
64
- }
65
- });
66
- //#endregion
67
- export { h as default };
68
-
69
- //# sourceMappingURL=design-system86.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system86.js","names":[],"sources":["../src/components/BFloatButton/BFloatButtonBackTop.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Transition as _Transition } from \"vue\"\n\nimport { onBeforeUnmount, onMounted, ref } from 'vue';\nimport BFloatButton from './BFloatButton.vue';\nimport { BFloatButtonShape, BFloatButtonType } from './types.ts';\n\n// ─────────────────────────────────────────────\n// Props & emits\n// ─────────────────────────────────────────────\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BFloatButtonBackTop',\n props: {\n duration: { default: 450 },\n target: { type: Function },\n visibilityHeight: { default: 400 },\n shape: { default: () => (BFloatButtonShape.Circle) },\n type: { default: () => (BFloatButtonType.Default) }\n },\n emits: [\"click\"],\n setup(__props: any, { emit: __emit }) {\n\n\n\nconst emit = __emit;\n\n\n\n// ─────────────────────────────────────────────\n// Scroll logic\n// ─────────────────────────────────────────────\nconst visible = ref(false);\nlet scrollContainer: HTMLElement | Window = window;\n\nfunction getScrollTop(): number {\n if (scrollContainer === window) return window.scrollY;\n return (scrollContainer as HTMLElement).scrollTop;\n}\n\nfunction onScroll() {\n visible.value = getScrollTop() > __props.visibilityHeight;\n}\n\nfunction easeInOutCubic(t: number): number {\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n}\n\nfunction scrollToTop() {\n const startTime = performance.now();\n const startTop = getScrollTop();\n\n function step(now: number) {\n const elapsed = now - startTime;\n const progress = Math.min(elapsed / __props.duration, 1);\n const eased = easeInOutCubic(progress);\n const newTop = startTop * (1 - eased);\n\n if (scrollContainer === window) {\n window.scrollTo(0, newTop);\n } else {\n (scrollContainer as HTMLElement).scrollTop = newTop;\n }\n\n if (progress < 1) {\n requestAnimationFrame(step);\n }\n }\n\n requestAnimationFrame(step);\n}\n\nfunction handleClick(event: MouseEvent) {\n scrollToTop();\n emit('click', event);\n}\n\nonMounted(() => {\n scrollContainer = __props.target?.() ?? window;\n scrollContainer.addEventListener('scroll', onScroll, { passive: true });\n onScroll();\n});\n\nonBeforeUnmount(() => {\n scrollContainer.removeEventListener('scroll', onScroll);\n});\n\nconst isVisible = visible;\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_Transition, { name: \"b-float-button-backtop\" }, {\n default: _withCtx(() => [\n (_unref(isVisible))\n ? (_openBlock(), _createBlock(BFloatButton, {\n key: 0,\n shape: __props.shape,\n type: __props.type,\n \"aria-label\": \"Back to top\",\n class: \"b-float-button-backtop\",\n onClick: handleClick\n }, {\n icon: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\", {}, () => [\n _cache[0] || (_cache[0] = _createElementVNode(\"svg\", {\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n focusable: \"false\"\n }, [\n _createElementVNode(\"path\", { d: \"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\" })\n ], -1))\n ])\n ]),\n _: 3\n }, 8, [\"shape\", \"type\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n }))\n}\n}\n\n})"],"mappings":";;;;AAWA,IAAA,IAA4B,kBAAiB;CAC3C,QAAQ;CACR,OAAO;EACL,UAAU,EAAE,SAAS,KAAK;EAC1B,QAAQ,EAAE,MAAM,UAAU;EAC1B,kBAAkB,EAAE,SAAS,KAAK;EAClC,OAAO,EAAE,eAAgB,EAAkB,QAAS;EACpD,MAAM,EAAE,eAAgB,EAAiB,SAAU;EACpD;CACD,OAAO,CAAC,QAAQ;CAChB,MAAM,GAAc,EAAE,MAAM,KAAU;EAIxC,IAAM,IAAO,GAOP,IAAU,EAAI,GAAM,EACtB,IAAwC;EAE5C,SAAS,IAAuB;AAE9B,UADI,MAAoB,SAAe,OAAO,UACtC,EAAgC;;EAG1C,SAAS,IAAW;AAClB,KAAQ,QAAQ,GAAc,GAAG,EAAQ;;EAG3C,SAAS,EAAe,GAAmB;AACzC,UAAO,IAAI,KAAM,IAAI,IAAI,IAAI,IAAI,KAAa,KAAK,IAAI,MAAG,IAAK;;EAGjE,SAAS,IAAc;GACrB,IAAM,IAAY,YAAY,KAAK,EAC7B,IAAW,GAAc;GAE/B,SAAS,EAAK,GAAa;IACzB,IAAM,IAAU,IAAM,GAChB,IAAW,KAAK,IAAI,IAAU,EAAQ,UAAU,EAAE,EAElD,IAAS,KAAY,IADb,EAAe,EAAS;AAStC,IANI,MAAoB,SACtB,OAAO,SAAS,GAAG,EAAO,GAEzB,EAAgC,YAAY,GAG3C,IAAW,KACb,sBAAsB,EAAK;;AAI/B,yBAAsB,EAAK;;EAG7B,SAAS,EAAY,GAAmB;AAEtC,GADA,GAAa,EACb,EAAK,SAAS,EAAM;;AAStB,EANA,QAAgB;AAGd,GAFA,IAAkB,EAAQ,UAAU,IAAI,QACxC,EAAgB,iBAAiB,UAAU,GAAU,EAAE,SAAS,IAAM,CAAC,EACvE,GAAU;IACV,EAEF,QAAsB;AACpB,KAAgB,oBAAoB,UAAU,EAAS;IACvD;EAEF,IAAM,IAAY;AAElB,UAAQ,GAAU,OACR,GAAY,EAAE,EAAa,GAAa,EAAE,MAAM,0BAA0B,EAAE;GAClF,SAAS,QAAe,CACrB,EAAO,EAAU,IACb,GAAY,EAAE,EAAa,GAAc;IACxC,KAAK;IACL,OAAO,EAAQ;IACf,MAAM,EAAQ;IACd,cAAc;IACd,OAAO;IACP,SAAS;IACV,EAAE;IACD,MAAM,QAAe,CACnB,EAAY,EAAK,QAAQ,WAAW,EAAE,QAAQ,CAC5C,AAAc,EAAO,OAAK,EAAoB,OAAO;KACnD,OAAO;KACP,QAAQ;KACR,SAAS;KACT,MAAM;KACN,eAAe;KACf,WAAW;KACZ,EAAE,CACD,EAAoB,QAAQ,EAAE,GAAG,+DAA+D,CAAC,CAClG,EAAE,GAAG,CACP,CAAC,CACH,CAAC;IACF,GAAG;IACJ,EAAE,GAAG,CAAC,SAAS,OAAO,CAAC,IACxB,EAAoB,IAAI,GAAK,CAClC,CAAC;GACF,GAAG;GACJ,CAAC;;CAIH,CAAA"}