@7pmlabs/design-system 2.0.8 → 2.1.0

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 (377) hide show
  1. package/README.md +4 -4
  2. package/dist/design-system.css +1 -1
  3. package/dist/design-system.js +65 -59
  4. package/dist/design-system100.js +1 -1
  5. package/dist/design-system100.js.map +1 -1
  6. package/dist/design-system101.js +87 -53
  7. package/dist/design-system101.js.map +1 -1
  8. package/dist/design-system103.js +5 -13
  9. package/dist/design-system103.js.map +1 -1
  10. package/dist/design-system104.js +53 -108
  11. package/dist/design-system104.js.map +1 -1
  12. package/dist/{design-system102.js → design-system105.js} +1 -1
  13. package/dist/{design-system102.js.map → design-system105.js.map} +1 -1
  14. package/dist/design-system106.js +13 -6
  15. package/dist/design-system106.js.map +1 -1
  16. package/dist/design-system107.js +93 -190
  17. package/dist/design-system107.js.map +1 -1
  18. package/dist/design-system109.js +2 -2
  19. package/dist/design-system109.js.map +1 -1
  20. package/dist/design-system110.js +183 -484
  21. package/dist/design-system110.js.map +1 -1
  22. package/dist/design-system112.js +5 -4
  23. package/dist/design-system112.js.map +1 -1
  24. package/dist/design-system113.js +507 -7
  25. package/dist/design-system113.js.map +1 -1
  26. package/dist/design-system115.js +8 -0
  27. package/dist/design-system115.js.map +1 -0
  28. package/dist/design-system116.js +7 -6
  29. package/dist/design-system116.js.map +1 -1
  30. package/dist/design-system117.js +154 -169
  31. package/dist/design-system117.js.map +1 -1
  32. package/dist/design-system119.js +2 -2
  33. package/dist/design-system119.js.map +1 -1
  34. package/dist/design-system120.js +210 -149
  35. package/dist/design-system120.js.map +1 -1
  36. package/dist/design-system122.js +5 -4
  37. package/dist/design-system122.js.map +1 -1
  38. package/dist/design-system123.js +160 -9
  39. package/dist/design-system123.js.map +1 -1
  40. package/dist/design-system125.js +8 -0
  41. package/dist/design-system125.js.map +1 -0
  42. package/dist/design-system126.js +176 -6
  43. package/dist/design-system126.js.map +1 -1
  44. package/dist/design-system128.js +8 -0
  45. package/dist/design-system128.js.map +1 -0
  46. package/dist/design-system129.js +213 -5
  47. package/dist/design-system129.js.map +1 -1
  48. package/dist/design-system131.js +5 -90
  49. package/dist/design-system131.js.map +1 -1
  50. package/dist/design-system132.js +166 -0
  51. package/dist/design-system132.js.map +1 -0
  52. package/dist/design-system134.js +5 -42
  53. package/dist/design-system134.js.map +1 -1
  54. package/dist/design-system135.js +12 -0
  55. package/dist/design-system135.js.map +1 -0
  56. package/dist/design-system136.js +274 -5
  57. package/dist/design-system136.js.map +1 -1
  58. package/dist/design-system138.js +9 -0
  59. package/dist/{design-system124.js.map → design-system138.js.map} +1 -1
  60. package/dist/design-system139.js +16 -5
  61. package/dist/design-system139.js.map +1 -1
  62. package/dist/design-system141.js +8 -0
  63. package/dist/{design-system127.js.map → design-system141.js.map} +1 -1
  64. package/dist/design-system142.js +12 -5
  65. package/dist/design-system142.js.map +1 -1
  66. package/dist/design-system143.js +78 -83
  67. package/dist/design-system143.js.map +1 -1
  68. package/dist/design-system145.js +1 -1
  69. package/dist/design-system145.js.map +1 -1
  70. package/dist/design-system146.js +42 -9
  71. package/dist/design-system146.js.map +1 -1
  72. package/dist/design-system148.js +3 -2
  73. package/dist/design-system148.js.map +1 -1
  74. package/dist/design-system149.js +230 -18
  75. package/dist/design-system149.js.map +1 -1
  76. package/dist/design-system151.js +5 -158
  77. package/dist/design-system151.js.map +1 -1
  78. package/dist/{design-system140.js → design-system152.js} +6 -6
  79. package/dist/{design-system140.js.map → design-system152.js.map} +1 -1
  80. package/dist/design-system154.js +5 -307
  81. package/dist/design-system154.js.map +1 -1
  82. package/dist/design-system155.js +98 -0
  83. package/dist/design-system155.js.map +1 -0
  84. package/dist/design-system157.js +5 -240
  85. package/dist/design-system157.js.map +1 -1
  86. package/dist/design-system158.js +12 -0
  87. package/dist/design-system158.js.map +1 -0
  88. package/dist/design-system159.js +37 -5
  89. package/dist/design-system159.js.map +1 -1
  90. package/dist/design-system160.js +4 -189
  91. package/dist/design-system160.js.map +1 -1
  92. package/dist/design-system161.js +24 -0
  93. package/dist/{design-system150.js.map → design-system161.js.map} +1 -1
  94. package/dist/design-system162.js +2 -3
  95. package/dist/design-system162.js.map +1 -1
  96. package/dist/design-system163.js +158 -3
  97. package/dist/design-system163.js.map +1 -1
  98. package/dist/{design-system153.js → design-system165.js} +2 -2
  99. package/dist/{design-system153.js.map → design-system165.js.map} +1 -1
  100. package/dist/design-system166.js +307 -6
  101. package/dist/design-system166.js.map +1 -1
  102. package/dist/{design-system156.js → design-system168.js} +2 -2
  103. package/dist/{design-system156.js.map → design-system168.js.map} +1 -1
  104. package/dist/design-system169.js +167 -6
  105. package/dist/design-system169.js.map +1 -1
  106. package/dist/design-system171.js +8 -0
  107. package/dist/design-system171.js.map +1 -0
  108. package/dist/design-system172.js +240 -6
  109. package/dist/design-system172.js.map +1 -1
  110. package/dist/design-system174.js +8 -0
  111. package/dist/design-system174.js.map +1 -0
  112. package/dist/design-system175.js +189 -6
  113. package/dist/design-system175.js.map +1 -1
  114. package/dist/design-system177.js +8 -0
  115. package/dist/design-system177.js.map +1 -0
  116. package/dist/design-system178.js +3 -5
  117. package/dist/design-system178.js.map +1 -1
  118. package/dist/design-system179.js +58 -11
  119. package/dist/design-system179.js.map +1 -1
  120. package/dist/design-system181.js +9 -0
  121. package/dist/design-system181.js.map +1 -0
  122. package/dist/design-system182.js +56 -6
  123. package/dist/design-system182.js.map +1 -1
  124. package/dist/design-system184.js +9 -0
  125. package/dist/{design-system167.js.map → design-system184.js.map} +1 -1
  126. package/dist/design-system185.js +69 -5
  127. package/dist/design-system185.js.map +1 -1
  128. package/dist/design-system187.js +9 -0
  129. package/dist/{design-system170.js.map → design-system187.js.map} +1 -1
  130. package/dist/design-system188.js +182 -5
  131. package/dist/design-system188.js.map +1 -1
  132. package/dist/design-system190.js +9 -0
  133. package/dist/design-system190.js.map +1 -0
  134. package/dist/design-system191.js +115 -5
  135. package/dist/design-system191.js.map +1 -1
  136. package/dist/design-system193.js +8 -0
  137. package/dist/{design-system176.js.map → design-system193.js.map} +1 -1
  138. package/dist/design-system194.js +11 -5
  139. package/dist/design-system194.js.map +1 -1
  140. package/dist/design-system195.js +453 -24
  141. package/dist/design-system195.js.map +1 -1
  142. package/dist/design-system197.js +5 -4
  143. package/dist/design-system197.js.map +1 -1
  144. package/dist/design-system198.js +20 -16
  145. package/dist/design-system198.js.map +1 -1
  146. package/dist/design-system200.js +1 -1
  147. package/dist/design-system200.js.map +1 -1
  148. package/dist/design-system201.js +70 -314
  149. package/dist/design-system201.js.map +1 -1
  150. package/dist/design-system203.js +1 -1
  151. package/dist/design-system203.js.map +1 -1
  152. package/dist/design-system204.js +24 -89
  153. package/dist/design-system204.js.map +1 -1
  154. package/dist/design-system206.js +1 -1
  155. package/dist/design-system206.js.map +1 -1
  156. package/dist/design-system207.js +26 -17
  157. package/dist/design-system207.js.map +1 -1
  158. package/dist/design-system209.js +5 -3
  159. package/dist/design-system209.js.map +1 -1
  160. package/dist/design-system210.js +22 -408
  161. package/dist/design-system210.js.map +1 -1
  162. package/dist/design-system212.js +1 -1
  163. package/dist/design-system212.js.map +1 -1
  164. package/dist/design-system213.js +24 -52
  165. package/dist/design-system213.js.map +1 -1
  166. package/dist/design-system215.js +1 -1
  167. package/dist/design-system215.js.map +1 -1
  168. package/dist/design-system216.js +329 -85
  169. package/dist/design-system216.js.map +1 -1
  170. package/dist/design-system218.js +5 -108
  171. package/dist/design-system218.js.map +1 -1
  172. package/dist/design-system219.js +103 -0
  173. package/dist/design-system219.js.map +1 -0
  174. package/dist/design-system221.js +5 -106
  175. package/dist/design-system221.js.map +1 -1
  176. package/dist/design-system222.js +22 -0
  177. package/dist/{design-system208.js.map → design-system222.js.map} +1 -1
  178. package/dist/design-system223.js +4 -6
  179. package/dist/design-system223.js.map +1 -1
  180. package/dist/design-system224.js +3 -737
  181. package/dist/design-system224.js.map +1 -1
  182. package/dist/design-system225.js +422 -0
  183. package/dist/design-system225.js.map +1 -0
  184. package/dist/design-system227.js +5 -11
  185. package/dist/design-system227.js.map +1 -1
  186. package/dist/design-system228.js +51 -517
  187. package/dist/design-system228.js.map +1 -1
  188. package/dist/design-system230.js +1 -1
  189. package/dist/design-system230.js.map +1 -1
  190. package/dist/design-system231.js +88 -3
  191. package/dist/design-system231.js.map +1 -1
  192. package/dist/design-system232.js +4 -46
  193. package/dist/design-system232.js.map +1 -1
  194. package/dist/design-system233.js +108 -4
  195. package/dist/design-system233.js.map +1 -1
  196. package/dist/{design-system220.js → design-system235.js} +2 -2
  197. package/dist/{design-system220.js.map → design-system235.js.map} +1 -1
  198. package/dist/design-system236.js +106 -5
  199. package/dist/design-system236.js.map +1 -1
  200. package/dist/design-system238.js +9 -0
  201. package/dist/design-system238.js.map +1 -0
  202. package/dist/design-system239.js +737 -5
  203. package/dist/design-system239.js.map +1 -1
  204. package/dist/{design-system226.js → design-system241.js} +2 -2
  205. package/dist/{design-system226.js.map → design-system241.js.map} +1 -1
  206. package/dist/design-system242.js +3 -5
  207. package/dist/design-system242.js.map +1 -1
  208. package/dist/design-system243.js +42 -50
  209. package/dist/design-system243.js.map +1 -1
  210. package/dist/design-system244.js +1 -1
  211. package/dist/design-system244.js.map +1 -1
  212. package/dist/design-system245.js +254 -141
  213. package/dist/design-system245.js.map +1 -1
  214. package/dist/design-system247.js +1 -1
  215. package/dist/design-system247.js.map +1 -1
  216. package/dist/design-system248.js +119 -7
  217. package/dist/design-system248.js.map +1 -1
  218. package/dist/design-system250.js +8 -0
  219. package/dist/design-system250.js.map +1 -0
  220. package/dist/design-system251.js +172 -5
  221. package/dist/design-system251.js.map +1 -1
  222. package/dist/design-system253.js +8 -0
  223. package/dist/design-system253.js.map +1 -0
  224. package/dist/design-system254.js +11 -6
  225. package/dist/design-system254.js.map +1 -1
  226. package/dist/design-system255.js +525 -9
  227. package/dist/design-system255.js.map +1 -1
  228. package/dist/design-system257.js +8 -0
  229. package/dist/design-system257.js.map +1 -0
  230. package/dist/design-system258.js +112 -6
  231. package/dist/design-system258.js.map +1 -1
  232. package/dist/design-system260.js +5 -374
  233. package/dist/design-system260.js.map +1 -1
  234. package/dist/design-system261.js +57 -0
  235. package/dist/design-system261.js.map +1 -0
  236. package/dist/design-system262.js +4 -6
  237. package/dist/design-system262.js.map +1 -1
  238. package/dist/design-system263.js +173 -0
  239. package/dist/design-system263.js.map +1 -0
  240. package/dist/design-system265.js +8 -0
  241. package/dist/design-system265.js.map +1 -0
  242. package/dist/design-system266.js +10 -0
  243. package/dist/design-system266.js.map +1 -0
  244. package/dist/{design-system249.js → design-system267.js} +2 -2
  245. package/dist/{design-system249.js.map → design-system267.js.map} +1 -1
  246. package/dist/design-system269.js +8 -0
  247. package/dist/design-system269.js.map +1 -0
  248. package/dist/{design-system252.js → design-system270.js} +1 -1
  249. package/dist/{design-system252.js.map → design-system270.js.map} +1 -1
  250. package/dist/design-system272.js +9 -0
  251. package/dist/design-system272.js.map +1 -0
  252. package/dist/design-system273.js +12 -0
  253. package/dist/design-system273.js.map +1 -0
  254. package/dist/{design-system256.js → design-system274.js} +2 -2
  255. package/dist/{design-system256.js.map → design-system274.js.map} +1 -1
  256. package/dist/design-system276.js +9 -0
  257. package/dist/design-system276.js.map +1 -0
  258. package/dist/{design-system259.js → design-system277.js} +1 -1
  259. package/dist/{design-system259.js.map → design-system277.js.map} +1 -1
  260. package/dist/design-system278.js +377 -0
  261. package/dist/design-system278.js.map +1 -0
  262. package/dist/design-system280.js +9 -0
  263. package/dist/design-system280.js.map +1 -0
  264. package/dist/design-system69.js +182 -13
  265. package/dist/design-system69.js.map +1 -1
  266. package/dist/design-system71.js +8 -0
  267. package/dist/design-system71.js.map +1 -0
  268. package/dist/design-system72.js +13 -5
  269. package/dist/design-system72.js.map +1 -1
  270. package/dist/design-system73.js +677 -139
  271. package/dist/design-system73.js.map +1 -1
  272. package/dist/design-system75.js +1 -1
  273. package/dist/design-system75.js.map +1 -1
  274. package/dist/design-system76.js +152 -23
  275. package/dist/design-system76.js.map +1 -1
  276. package/dist/design-system78.js +5 -49
  277. package/dist/design-system78.js.map +1 -1
  278. package/dist/design-system79.js +32 -0
  279. package/dist/design-system79.js.map +1 -0
  280. package/dist/design-system80.js +2 -3
  281. package/dist/design-system80.js.map +1 -1
  282. package/dist/design-system81.js +38 -188
  283. package/dist/design-system81.js.map +1 -1
  284. package/dist/design-system83.js +1 -1
  285. package/dist/design-system83.js.map +1 -1
  286. package/dist/design-system84.js +199 -7
  287. package/dist/design-system84.js.map +1 -1
  288. package/dist/design-system86.js +8 -0
  289. package/dist/design-system86.js.map +1 -0
  290. package/dist/design-system87.js +7 -5
  291. package/dist/design-system87.js.map +1 -1
  292. package/dist/design-system88.js +264 -48
  293. package/dist/design-system88.js.map +1 -1
  294. package/dist/design-system90.js +1 -1
  295. package/dist/design-system90.js.map +1 -1
  296. package/dist/design-system91.js +57 -11
  297. package/dist/design-system91.js.map +1 -1
  298. package/dist/design-system93.js +8 -0
  299. package/dist/design-system93.js.map +1 -0
  300. package/dist/design-system94.js +11 -5
  301. package/dist/design-system94.js.map +1 -1
  302. package/dist/design-system95.js +92 -59
  303. package/dist/design-system95.js.map +1 -1
  304. package/dist/design-system97.js +1 -1
  305. package/dist/design-system97.js.map +1 -1
  306. package/dist/design-system98.js +56 -78
  307. package/dist/design-system98.js.map +1 -1
  308. package/dist/types/components/BContextMenu/BContextMenu.spec.d.ts +1 -0
  309. package/dist/types/components/BContextMenu/BContextMenu.vue.d.ts +42 -0
  310. package/dist/types/components/BContextMenu/index.d.ts +2 -0
  311. package/dist/types/components/BContextMenu/types.d.ts +23 -0
  312. package/dist/types/components/BInputTags/BInputTags.spec.d.ts +1 -0
  313. package/dist/types/components/BInputTags/BInputTags.vue.d.ts +54 -0
  314. package/dist/types/components/BInputTags/index.d.ts +1 -0
  315. package/dist/types/components/BLink/BLink.spec.d.ts +1 -0
  316. package/dist/types/components/BLink/BLink.vue.d.ts +100 -0
  317. package/dist/types/components/BLink/index.d.ts +1 -0
  318. package/dist/types/components/BListbox/BListbox.spec.d.ts +1 -0
  319. package/dist/types/components/BListbox/BListbox.vue.d.ts +52 -0
  320. package/dist/types/components/BListbox/index.d.ts +1 -0
  321. package/dist/types/components/BModal/BModal.spec.d.ts +1 -0
  322. package/dist/types/components/BPinInput/BPinInput.spec.d.ts +1 -0
  323. package/dist/types/components/BPinInput/BPinInput.vue.d.ts +43 -0
  324. package/dist/types/components/BPinInput/index.d.ts +1 -0
  325. package/dist/types/components/BProgress/BProgress.vue.d.ts +47 -2
  326. package/dist/types/components/BTextarea/BTextarea.spec.d.ts +1 -0
  327. package/dist/types/components/BTextarea/BTextarea.vue.d.ts +77 -0
  328. package/dist/types/components/BTextarea/index.d.ts +1 -0
  329. package/dist/types/components/index.d.ts +7 -1
  330. package/package.json +1 -1
  331. package/dist/design-system114.js +0 -212
  332. package/dist/design-system114.js.map +0 -1
  333. package/dist/design-system124.js +0 -277
  334. package/dist/design-system127.js +0 -19
  335. package/dist/design-system130.js +0 -15
  336. package/dist/design-system130.js.map +0 -1
  337. package/dist/design-system133.js +0 -8
  338. package/dist/design-system133.js.map +0 -1
  339. package/dist/design-system137.js +0 -236
  340. package/dist/design-system137.js.map +0 -1
  341. package/dist/design-system147.js +0 -40
  342. package/dist/design-system147.js.map +0 -1
  343. package/dist/design-system150.js +0 -7
  344. package/dist/design-system164.js +0 -61
  345. package/dist/design-system164.js.map +0 -1
  346. package/dist/design-system167.js +0 -59
  347. package/dist/design-system170.js +0 -72
  348. package/dist/design-system173.js +0 -185
  349. package/dist/design-system173.js.map +0 -1
  350. package/dist/design-system176.js +0 -118
  351. package/dist/design-system180.js +0 -465
  352. package/dist/design-system180.js.map +0 -1
  353. package/dist/design-system183.js +0 -38
  354. package/dist/design-system183.js.map +0 -1
  355. package/dist/design-system186.js +0 -91
  356. package/dist/design-system186.js.map +0 -1
  357. package/dist/design-system189.js +0 -38
  358. package/dist/design-system189.js.map +0 -1
  359. package/dist/design-system192.js +0 -31
  360. package/dist/design-system192.js.map +0 -1
  361. package/dist/design-system208.js +0 -7
  362. package/dist/design-system217.js +0 -7
  363. package/dist/design-system217.js.map +0 -1
  364. package/dist/design-system234.js +0 -286
  365. package/dist/design-system234.js.map +0 -1
  366. package/dist/design-system237.js +0 -122
  367. package/dist/design-system237.js.map +0 -1
  368. package/dist/design-system240.js +0 -115
  369. package/dist/design-system240.js.map +0 -1
  370. package/dist/design-system70.js +0 -699
  371. package/dist/design-system70.js.map +0 -1
  372. package/dist/design-system77.js +0 -7
  373. package/dist/design-system77.js.map +0 -1
  374. package/dist/design-system85.js +0 -276
  375. package/dist/design-system85.js.map +0 -1
  376. package/dist/design-system92.js +0 -102
  377. package/dist/design-system92.js.map +0 -1
@@ -1,465 +0,0 @@
1
- import { BCommonSize as e } from "./design-system3.js";
2
- import { useComponentId as t } from "./design-system10.js";
3
- import { BSelectMode as n, BSelectPlacement as r, BSelectStatus as i, BSelectVariant as a } from "./design-system179.js";
4
- import { Fragment as o, computed as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as ee, defineComponent as d, mergeModels as f, mergeProps as te, nextTick as p, normalizeClass as m, normalizeStyle as ne, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, unref as b, useAttrs as re, useCssVars as ie, useModel as ae, watch as x, withModifiers as S } from "vue";
5
- //#region src/components/BSelect/BSelect.vue?vue&type=script&setup=true&lang.ts
6
- var oe = [
7
- "tabindex",
8
- "aria-expanded",
9
- "aria-controls",
10
- "aria-activedescendant",
11
- "aria-label",
12
- "aria-disabled"
13
- ], se = { class: "b:truncate" }, ce = ["aria-label", "onClick"], le = [
14
- "value",
15
- "placeholder",
16
- "disabled",
17
- "aria-label"
18
- ], ue = {
19
- key: 0,
20
- class: "b-select__value b:flex-1 b:truncate b:text-[color:var(--b-select-color)]"
21
- }, de = {
22
- key: 1,
23
- class: "b-select__placeholder b:flex-1 b:truncate b:text-[var(--b-select-placeholder-color)]"
24
- }, fe = [
25
- "value",
26
- "disabled",
27
- "aria-label"
28
- ], pe = {
29
- key: 3,
30
- class: "b-select__loading b:ml-1 b:flex b:shrink-0 b:animate-spin b:items-center b:text-zinc-400",
31
- "aria-hidden": "true"
32
- }, me = [
33
- "id",
34
- "aria-multiselectable",
35
- "aria-label"
36
- ], he = {
37
- key: 0,
38
- class: "b:p-1"
39
- }, ge = [
40
- "id",
41
- "data-active",
42
- "aria-selected",
43
- "aria-disabled",
44
- "onMousedown",
45
- "onMouseenter"
46
- ], _e = { class: "b:flex b:items-center b:justify-between" }, ve = {
47
- key: 0,
48
- class: "b:ml-2 b:h-3 b:w-3 b:text-[var(--b-select-active-border-color)]",
49
- viewBox: "0 0 12 12",
50
- fill: "none",
51
- "aria-hidden": "true"
52
- }, ye = {
53
- key: 1,
54
- class: "b-select__empty b:px-4 b:py-6 b:text-center b:text-sm b:text-zinc-400"
55
- }, C = /* @__PURE__ */ d({
56
- inheritAttrs: !1,
57
- __name: "BSelect",
58
- props: /* @__PURE__ */ f({
59
- options: { default: () => [] },
60
- size: { default: () => e.Medium },
61
- variant: { default: () => a.Outlined },
62
- disabled: { type: Boolean },
63
- status: {},
64
- placeholder: {},
65
- mode: {},
66
- defaultActiveFirstOption: {
67
- type: Boolean,
68
- default: !0
69
- },
70
- allowClear: {
71
- type: Boolean,
72
- default: !1
73
- },
74
- open: { type: Boolean },
75
- defaultOpen: { type: Boolean },
76
- showSearch: {
77
- type: Boolean,
78
- default: !1
79
- },
80
- popupMatchSelectWidth: {
81
- type: [Boolean, Number],
82
- default: !0
83
- },
84
- listHeight: { default: 256 },
85
- loading: {
86
- type: Boolean,
87
- default: !1
88
- },
89
- maxTagCount: {},
90
- maxCount: {},
91
- placement: { default: () => r.BottomLeft },
92
- notFoundContent: { default: "No data" },
93
- fieldNames: {},
94
- filterOption: {
95
- type: [Boolean, Function],
96
- default: !0
97
- },
98
- tokenSeparators: {},
99
- labelInValue: { type: Boolean }
100
- }, {
101
- modelValue: {},
102
- modelModifiers: {}
103
- }),
104
- emits: /* @__PURE__ */ f([
105
- "change",
106
- "select",
107
- "deselect",
108
- "focus",
109
- "blur",
110
- "clear",
111
- "openChange",
112
- "search",
113
- "popupScroll",
114
- "inputKeyDown"
115
- ], ["update:modelValue"]),
116
- setup(r, { expose: d, emit: f }) {
117
- ie((e) => ({ a174b70c: be.value }));
118
- let C = re(), w = f, T = ae(r, "modelValue"), { componentUID: E } = t(), be = s(() => `--b-select-anchor-${E.value}`), D = s(() => `b-select-listbox-${E.value}`), O = g(null), k = g(null), A = g(null), j = g(!1), M = g(-1), N = g(""), xe = s(() => r.fieldNames?.label ?? "label"), P = s(() => r.fieldNames?.value ?? "value"), Se = s(() => r.fieldNames?.options ?? "options"), F = s(() => r.mode === n.Multiple || r.mode === n.Tags ? !0 : r.showSearch), I = (e) => {
119
- let t = e, n = t[xe.value], r = t[P.value];
120
- return String(n ?? r ?? "");
121
- }, L = (e) => e[P.value], R = s(() => {
122
- let e = [];
123
- for (let t of r.options) {
124
- let n = t[Se.value];
125
- if (n && Array.isArray(n)) for (let t of n) e.push(t);
126
- else e.push(t);
127
- }
128
- return e;
129
- }), z = s(() => {
130
- if (!N.value || !F.value || r.filterOption === !1) return R.value;
131
- if (typeof r.filterOption == "function") return R.value.filter((e) => r.filterOption(N.value, e));
132
- let e = N.value.toLowerCase();
133
- return R.value.filter((t) => I(t).toLowerCase().includes(e));
134
- }), B = s(() => T.value == null ? [] : Array.isArray(T.value) ? T.value : [T.value]), V = s(() => B.value.map((e) => R.value.find((t) => L(t) === e)).filter(Boolean)), H = s(() => U.value || V.value.length === 0 ? "" : I(V.value[0])), U = s(() => r.mode === n.Multiple || r.mode === n.Tags), Ce = s(() => r.maxTagCount == null || r.maxTagCount === "responsive" ? V.value : V.value.slice(0, r.maxTagCount)), W = s(() => r.maxTagCount == null || r.maxTagCount === "responsive" ? 0 : Math.max(0, V.value.length - r.maxTagCount)), G = (e) => B.value.includes(L(e)), K = () => {
135
- j.value || A.value?.showPopover();
136
- }, q = () => {
137
- j.value && A.value?.hidePopover();
138
- }, we = ({ newState: e }) => {
139
- let t = e === "open";
140
- j.value = t, w("openChange", t), t ? (r.defaultActiveFirstOption && z.value.length > 0 && (M.value = 0), p(() => {
141
- F.value && k.value?.focus();
142
- })) : (M.value = -1, N.value = "");
143
- }, Te = (e) => {
144
- if (e.disabled) return;
145
- let t = L(e);
146
- T.value = t, w("select", t, e), w("change", t, e), q(), p(() => O.value?.focus());
147
- }, J = (e) => {
148
- if (e.disabled) return;
149
- let t = L(e), n = B.value.slice();
150
- if (n.includes(t)) {
151
- let r = n.filter((e) => e !== t);
152
- T.value = r, w("deselect", t, e), w("change", r, r.map((e) => R.value.find((t) => L(t) === e)).filter(Boolean));
153
- } else {
154
- if (r.maxCount != null && n.length >= r.maxCount) return;
155
- let i = [...n, t];
156
- T.value = i, w("select", t, e), w("change", i, i.map((e) => R.value.find((t) => L(t) === e)).filter(Boolean));
157
- }
158
- N.value = "", p(() => k.value?.focus());
159
- }, Y = (e) => {
160
- U.value ? J(e) : Te(e);
161
- }, X = (e) => {
162
- let t = R.value.find((t) => L(t) === e), n = B.value.filter((t) => t !== e);
163
- T.value = n, t && w("deselect", e, t), w("change", n, n.map((e) => R.value.find((t) => L(t) === e)).filter(Boolean));
164
- }, Ee = (e) => {
165
- e.stopPropagation(), U.value ? T.value = [] : T.value = void 0, N.value = "", w("clear"), w("change", U.value ? [] : void 0, []);
166
- }, De = () => {
167
- r.disabled || (j.value ? q() : K());
168
- }, Z = (e) => {
169
- w("focus", e);
170
- }, Q = (e) => {
171
- let t = e.relatedTarget;
172
- A.value?.contains(t) || O.value?.contains(t) || (w("blur", e), q());
173
- }, Oe = (e) => {
174
- let t = e.target;
175
- if (N.value = t.value, w("search", t.value), r.mode === n.Tags && r.tokenSeparators) {
176
- let e = r.tokenSeparators;
177
- for (let n of e) if (t.value.includes(n)) {
178
- let n = t.value.split(RegExp(`[${e.map((e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("")}]`));
179
- for (let e of n) {
180
- let t = e.trim();
181
- if (t && !B.value.includes(t)) {
182
- let e = R.value.find((e) => L(e) === t || I(e) === t);
183
- if (e) J(e);
184
- else {
185
- let e = [...B.value.slice(), t];
186
- T.value = e, w("select", t, {
187
- value: t,
188
- label: t
189
- }), w("change", e, e.map((e) => R.value.find((t) => L(t) === e) ?? {
190
- value: e,
191
- label: String(e)
192
- }));
193
- }
194
- }
195
- }
196
- N.value = "";
197
- break;
198
- }
199
- }
200
- j.value || K(), M.value = r.defaultActiveFirstOption ? 0 : -1;
201
- }, $ = (e) => {
202
- switch (w("inputKeyDown", e), e.key) {
203
- case "ArrowDown": {
204
- if (e.preventDefault(), !j.value) {
205
- K();
206
- return;
207
- }
208
- let t = z.value, n = M.value + 1;
209
- for (let e = 0; e < t.length; e++) {
210
- let r = (n + e) % t.length;
211
- if (!t[r].disabled) {
212
- M.value = r;
213
- break;
214
- }
215
- }
216
- break;
217
- }
218
- case "ArrowUp": {
219
- if (e.preventDefault(), !j.value) {
220
- K();
221
- return;
222
- }
223
- let t = z.value, n = M.value - 1;
224
- for (let e = 0; e < t.length; e++) {
225
- let r = ((n - e) % t.length + t.length) % t.length;
226
- if (!t[r].disabled) {
227
- M.value = r;
228
- break;
229
- }
230
- }
231
- break;
232
- }
233
- case "Enter":
234
- if (e.preventDefault(), j.value && M.value >= 0) {
235
- let e = z.value[M.value];
236
- e && !e.disabled && Y(e);
237
- } else j.value || K();
238
- break;
239
- case " ":
240
- if (!F.value || !N.value) {
241
- if (e.preventDefault(), !j.value) K();
242
- else if (M.value >= 0) {
243
- let e = z.value[M.value];
244
- e && !e.disabled && Y(e);
245
- }
246
- }
247
- break;
248
- case "Escape":
249
- e.preventDefault(), q(), O.value?.focus();
250
- break;
251
- case "Backspace":
252
- if (U.value && !N.value && B.value.length > 0) {
253
- let e = B.value[B.value.length - 1];
254
- X(e);
255
- }
256
- break;
257
- case "Tab":
258
- j.value && q();
259
- break;
260
- }
261
- }, ke = (e) => {
262
- w("popupScroll", e);
263
- };
264
- x(M, () => {
265
- p(() => {
266
- (A.value?.querySelector("[data-active=\"true\"]"))?.scrollIntoView({ block: "nearest" });
267
- });
268
- }), x(() => r.open, (e) => {
269
- e === !0 && !j.value ? K() : e === !1 && j.value && q();
270
- });
271
- let Ae = s(() => !r.allowClear || r.disabled ? !1 : U.value ? B.value.length > 0 : T.value != null && T.value !== "");
272
- return d({
273
- focus: () => O.value?.focus(),
274
- blur: () => O.value?.blur()
275
- }), (t, n) => (h(), l("div", { class: m(["b-select b:relative b:inline-flex b:w-full", { "b-select--disabled": r.disabled }]) }, [u("div", te({
276
- ref_key: "selectorRef",
277
- ref: O
278
- }, b(C), {
279
- class: ["b-select__selector b:box-border b:flex b:w-full b:cursor-pointer b:items-center b:gap-1 b:transition-all b:outline-none", [
280
- {
281
- "b:min-h-6 b:px-2 b:text-sm": r.size === b(e).Small,
282
- "b:min-h-8 b:px-3 b:text-sm": r.size === b(e).Medium,
283
- "b:min-h-10 b:px-3 b:text-base": r.size === b(e).Large
284
- },
285
- {
286
- "b:rounded-lg b:border-1 b:border-[var(--b-select-border-color)] b:bg-[var(--b-select-selector-bg)] b:hover:not-disabled:border-[var(--b-select-hover-border-color)] b:focus:not-disabled:border-[var(--b-select-active-border-color)] b:focus:not-disabled:shadow-[0_0_0_2px_var(--b-select-active-outline-color)]": r.variant === b(a).Outlined,
287
- "b:rounded-lg b:border-1 b:border-transparent b:bg-[var(--b-select-filled-bg)] b:hover:not-disabled:bg-[var(--b-select-filled-bg)] b:focus:not-disabled:border-[var(--b-select-active-border-color)] b:focus:not-disabled:bg-[var(--b-select-selector-bg)] b:focus:not-disabled:shadow-[0_0_0_2px_var(--b-select-active-outline-color)]": r.variant === b(a).Filled,
288
- "b:rounded-lg b:border-1 b:border-transparent b:bg-transparent": r.variant === b(a).Borderless
289
- },
290
- {
291
- "b:border-red-500! b:hover:not-disabled:border-red-400! b:focus:not-disabled:border-red-500! b:focus:not-disabled:shadow-[0_0_0_2px_rgba(255,38,5,0.06)]!": r.status === b(i).Error,
292
- "b:border-yellow-500! b:hover:not-disabled:border-yellow-400! b:focus:not-disabled:border-yellow-500! b:focus:not-disabled:shadow-[0_0_0_2px_rgba(255,215,5,0.1)]!": r.status === b(i).Warning
293
- },
294
- { "b:cursor-not-allowed b:opacity-40": r.disabled },
295
- { "b-select__selector--open": j.value }
296
- ]],
297
- tabindex: r.disabled ? -1 : 0,
298
- role: "combobox",
299
- "aria-expanded": j.value,
300
- "aria-controls": j.value ? D.value : void 0,
301
- "aria-activedescendant": j.value && M.value >= 0 ? `${D.value}-option-${M.value}` : void 0,
302
- "aria-haspopup": "listbox",
303
- "aria-label": r.placeholder ?? "Select",
304
- "aria-disabled": r.disabled ?? !1,
305
- onClick: De,
306
- onFocus: Z,
307
- onBlur: Q,
308
- onKeydown: $
309
- }), [
310
- U.value ? (h(), l(o, { key: 0 }, [
311
- (h(!0), l(o, null, _(Ce.value, (t) => (h(), l("span", {
312
- key: L(t),
313
- class: m(["b-select__tag b:inline-flex b:max-w-full b:items-center b:gap-0.5 b:rounded b:border-1 b:border-[var(--b-select-multiple-item-border-color)] b:bg-[var(--b-select-multiple-item-bg)] b:leading-none", [{
314
- "b:h-4 b:px-1 b:text-xs": r.size === b(e).Small,
315
- "b:h-6 b:px-1.5 b:text-xs": r.size === b(e).Medium,
316
- "b:h-8 b:px-2 b:text-sm": r.size === b(e).Large
317
- }]])
318
- }, [u("span", se, y(I(t)), 1), u("button", {
319
- type: "button",
320
- class: "b-select__tag-close b:ml-0.5 b:flex b:h-3.5 b:w-3.5 b:cursor-pointer b:items-center b:justify-center b:rounded-full b:border-none b:bg-transparent b:text-[10px] b:text-zinc-400 b:hover:bg-zinc-200 b:hover:text-zinc-600",
321
- "aria-label": `Remove ${I(t)}`,
322
- tabindex: "-1",
323
- onClick: S((e) => X(L(t)), ["stop"]),
324
- onMousedown: n[0] ||= S(() => {}, ["prevent"])
325
- }, [...n[2] ||= [u("svg", {
326
- "aria-hidden": "true",
327
- width: "8",
328
- height: "8",
329
- viewBox: "0 0 8 8",
330
- fill: "none"
331
- }, [u("path", {
332
- d: "M1 1l6 6M7 1L1 7",
333
- stroke: "currentColor",
334
- "stroke-width": "1.5",
335
- "stroke-linecap": "round"
336
- })], -1)]], 40, ce)], 2))), 128)),
337
- W.value > 0 ? (h(), l("span", {
338
- key: 0,
339
- class: m(["b-select__tag b-select__tag--count b:relative b:z-1 b:inline-flex b:shrink-0 b:items-center b:rounded b:bg-[var(--b-select-multiple-count-bg)] b:px-1.5 b:text-xs b:leading-none b:text-[var(--b-select-multiple-count-color)]", [{
340
- "b:h-4": r.size === b(e).Small,
341
- "b:h-6": r.size === b(e).Medium,
342
- "b:h-8": r.size === b(e).Large
343
- }]])
344
- }, " +" + y(W.value), 3)) : c("", !0),
345
- u("input", {
346
- ref_key: "searchInputRef",
347
- ref: k,
348
- class: "b-select__search b:min-w-4 b:flex-1 b:border-none b:bg-transparent b:text-sm b:outline-none b:placeholder:text-[var(--b-select-placeholder-color)]",
349
- value: N.value,
350
- placeholder: B.value.length === 0 ? r.placeholder : void 0,
351
- disabled: r.disabled,
352
- "aria-label": r.placeholder ?? "Search options",
353
- autocomplete: "off",
354
- onInput: Oe,
355
- onKeydown: $,
356
- onFocus: Z,
357
- onBlur: Q
358
- }, null, 40, le)
359
- ], 64)) : (h(), l(o, { key: 1 }, [H.value && !N.value ? (h(), l("span", ue, [v(t.$slots, "selectedLabel", { option: V.value[0] }, () => [ee(y(H.value), 1)], !0)])) : !N.value && !H.value ? (h(), l("span", de, y(r.placeholder), 1)) : c("", !0), F.value ? (h(), l("input", {
360
- key: 2,
361
- ref_key: "searchInputRef",
362
- ref: k,
363
- class: m(["b-select__search b:absolute b:inset-0 b:w-full b:border-none b:bg-transparent b:px-3 b:text-sm b:outline-none b:placeholder:text-[var(--b-select-placeholder-color)]", { "b:opacity-0": !j.value }]),
364
- value: N.value,
365
- disabled: r.disabled,
366
- "aria-label": r.placeholder ?? "Search options",
367
- autocomplete: "off",
368
- tabindex: "-1",
369
- onInput: Oe,
370
- onKeydown: $
371
- }, null, 42, fe)) : c("", !0)], 64)),
372
- Ae.value ? (h(), l("button", {
373
- key: 2,
374
- type: "button",
375
- class: "b-select__clear b:z-1 b:flex b:h-4 b:w-4 b:shrink-0 b:cursor-pointer b:items-center b:justify-center b:rounded-full b:border-none b:bg-[var(--b-select-clear-bg)] b:text-xs b:text-zinc-400 b:hover:text-zinc-600",
376
- "aria-label": "Clear selection",
377
- tabindex: "-1",
378
- onClick: Ee,
379
- onMousedown: n[1] ||= S(() => {}, ["prevent"])
380
- }, [...n[3] ||= [u("svg", {
381
- "aria-hidden": "true",
382
- width: "8",
383
- height: "8",
384
- viewBox: "0 0 8 8",
385
- fill: "none"
386
- }, [u("path", {
387
- d: "M1 1l6 6M7 1L1 7",
388
- stroke: "currentColor",
389
- "stroke-width": "1.5",
390
- "stroke-linecap": "round"
391
- })], -1)]], 32)) : c("", !0),
392
- u("span", {
393
- class: m(["b-select__arrow b:ml-auto b:flex b:shrink-0 b:items-center b:text-zinc-400 b:transition-transform b:duration-200", { "b:rotate-180": j.value }]),
394
- "aria-hidden": "true"
395
- }, [...n[4] ||= [u("svg", {
396
- width: "12",
397
- height: "12",
398
- viewBox: "0 0 12 12",
399
- fill: "none"
400
- }, [u("path", {
401
- d: "M2.5 4.5L6 8L9.5 4.5",
402
- stroke: "currentColor",
403
- "stroke-width": "1.5",
404
- "stroke-linecap": "round",
405
- "stroke-linejoin": "round"
406
- })], -1)]], 2),
407
- r.loading ? (h(), l("span", pe, [...n[5] ||= [u("svg", {
408
- width: "14",
409
- height: "14",
410
- viewBox: "0 0 14 14",
411
- fill: "none"
412
- }, [u("circle", {
413
- cx: "7",
414
- cy: "7",
415
- r: "5.5",
416
- stroke: "currentColor",
417
- "stroke-width": "1.5",
418
- "stroke-dasharray": "24",
419
- "stroke-linecap": "round"
420
- })], -1)]])) : c("", !0)
421
- ], 16, oe), u("div", {
422
- ref_key: "menuRef",
423
- ref: A,
424
- id: D.value,
425
- class: m(["b-select__dropdown b:overflow-auto b:rounded-lg b:bg-[var(--b-select-selector-bg)] b:shadow-lg", { "b:w-[anchor-size(width)]": r.popupMatchSelectWidth === !0 }]),
426
- style: ne([typeof r.popupMatchSelectWidth == "number" ? { width: `${r.popupMatchSelectWidth}px` } : void 0, { maxHeight: `${r.listHeight}px` }]),
427
- popover: "",
428
- role: "listbox",
429
- "aria-multiselectable": U.value || void 0,
430
- "aria-label": r.placeholder ?? "Options",
431
- onToggle: we,
432
- onScroll: ke
433
- }, [z.value.length > 0 ? (h(), l("div", he, [(h(!0), l(o, null, _(z.value, (e, r) => (h(), l("div", {
434
- key: L(e),
435
- id: `${D.value}-option-${r}`,
436
- class: m(["b-select__option b:cursor-pointer b:rounded-md b:px-[var(--b-select-option-padding-x)] b:py-[var(--b-select-option-padding-y)] b:text-[length:var(--b-select-option-font-size)] b:leading-[var(--b-select-option-line-height)] b:transition-colors", [{
437
- "b:bg-[var(--b-select-option-active-bg)]": r === M.value && !e.disabled,
438
- "b:bg-[var(--b-select-option-selected-bg)] b:font-[var(--b-select-option-selected-font-weight)] b:text-[color:var(--b-select-option-selected-color)]": G(e) && r !== M.value,
439
- "b:bg-[var(--b-select-option-selected-bg)] b:font-[var(--b-select-option-selected-font-weight)]": G(e) && r === M.value,
440
- "b:cursor-not-allowed b:opacity-40": e.disabled,
441
- "b:hover:bg-[var(--b-select-option-active-bg)]": !e.disabled && r !== M.value && !G(e)
442
- }]]),
443
- "data-active": r === M.value,
444
- "aria-selected": G(e),
445
- "aria-disabled": e.disabled ?? !1,
446
- role: "option",
447
- onMousedown: S((t) => Y(e), ["prevent"]),
448
- onMouseenter: (e) => M.value = r
449
- }, [v(t.$slots, "option", {
450
- option: e,
451
- index: r,
452
- selected: G(e)
453
- }, () => [u("span", _e, [u("span", null, y(I(e)), 1), U.value && G(e) ? (h(), l("svg", ve, [...n[6] ||= [u("path", {
454
- d: "M2 6L5 9L10 3",
455
- stroke: "currentColor",
456
- "stroke-width": "1.5",
457
- "stroke-linecap": "round",
458
- "stroke-linejoin": "round"
459
- }, null, -1)]])) : c("", !0)])], !0)], 42, ge))), 128))])) : r.notFoundContent === null ? c("", !0) : (h(), l("div", ye, y(r.notFoundContent), 1))], 46, me)], 2));
460
- }
461
- });
462
- //#endregion
463
- export { C as default };
464
-
465
- //# sourceMappingURL=design-system180.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system180.js","names":[],"sources":["../src/components/BSelect/BSelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useComponentId } from '@/composables/useComponentId.ts';\nimport { BCommonSize } from '@/types.ts';\nimport { computed, nextTick, ref, useAttrs, watch } from 'vue';\nimport {\n BSelectMode,\n BSelectPlacement,\n BSelectStatus,\n BSelectVariant,\n type BSelectFieldNames,\n type BSelectOption,\n} from './types.ts';\n\ndefineOptions({ inheritAttrs: false });\n\nconst attrs = useAttrs();\n\nconst {\n options = [],\n size = BCommonSize.Medium,\n variant = BSelectVariant.Outlined,\n defaultActiveFirstOption = true,\n allowClear = false,\n popupMatchSelectWidth = true,\n showSearch = false,\n listHeight = 256,\n loading = false,\n maxTagCount,\n maxCount,\n placement: _placement = BSelectPlacement.BottomLeft,\n filterOption = true,\n notFoundContent = 'No data',\n fieldNames,\n placeholder,\n mode,\n tokenSeparators,\n disabled,\n status,\n open,\n} = defineProps<{\n /** Data source options array. */\n options?: BSelectOption[];\n /** Size of the selector. */\n size?: `${BCommonSize}`;\n /** Visual variant. */\n variant?: `${BSelectVariant}`;\n /** Whether the component is disabled. */\n disabled?: boolean;\n /** Validation status. */\n status?: `${BSelectStatus}`;\n /** Placeholder text. */\n placeholder?: string;\n /** Selection mode: multiple or tags. */\n mode?: `${BSelectMode}`;\n /** Whether to activate the first option by default. */\n defaultActiveFirstOption?: boolean;\n /** Show clear button. */\n allowClear?: boolean;\n /** Controlled open state. */\n open?: boolean;\n /** Default open state (uncontrolled). */\n defaultOpen?: boolean;\n /** Whether to show search input. Automatically true in multiple/tags mode. */\n showSearch?: boolean;\n /** Whether dropdown width matches selector width. */\n popupMatchSelectWidth?: boolean | number;\n /** Max height of popup list in px. */\n listHeight?: number;\n /** Loading state. */\n loading?: boolean;\n /** Max tag count visible (multiple/tags mode). */\n maxTagCount?: number | 'responsive';\n /** Max selected items (multiple/tags mode). */\n maxCount?: number;\n /** Dropdown placement. */\n placement?: `${BSelectPlacement}`;\n /** Content shown when no options match. Set to null to hide. */\n notFoundContent?: string | null;\n /** Customize field names mapping. */\n fieldNames?: BSelectFieldNames;\n /** Filter options by input. true uses default, function for custom. */\n filterOption?: boolean | ((inputValue: string, option: BSelectOption) => boolean);\n /** Separators for tags mode to auto-tokenize. */\n tokenSeparators?: string[];\n /** Whether the selected option label is included in value. */\n labelInValue?: boolean;\n}>();\n\nconst emit = defineEmits<{\n /** Fired when value changes. */\n change: [value: string | number | (string | number)[], option: BSelectOption | BSelectOption[]];\n /** Fired when an option is selected. */\n select: [value: string | number, option: BSelectOption];\n /** Fired when an option is deselected (multiple/tags). */\n deselect: [value: string | number, option: BSelectOption];\n /** Fired on focus. */\n focus: [event: FocusEvent];\n /** Fired on blur. */\n blur: [event: FocusEvent];\n /** Fired when clear button is clicked. */\n clear: [];\n /** Fired when dropdown opens/closes. */\n openChange: [open: boolean];\n /** Fired when searching (multiple/tags mode). */\n search: [value: string];\n /** Fired on dropdown scroll. */\n popupScroll: [event: Event];\n /** Fired on input keydown. */\n inputKeyDown: [event: KeyboardEvent];\n}>();\n\nconst model = defineModel<string | number | (string | number)[] | null | undefined>();\n\nconst { componentUID } = useComponentId();\nconst anchorName = computed(() => `--b-select-anchor-${componentUID.value}`);\nconst listboxId = computed(() => `b-select-listbox-${componentUID.value}`);\n\nconst selectorRef = ref<HTMLElement | null>(null);\nconst searchInputRef = ref<HTMLInputElement | null>(null);\nconst menuRef = ref<HTMLElement | null>(null);\nconst isOpen = ref(false);\nconst activeIndex = ref(-1);\nconst searchValue = ref('');\n\nconst labelField = computed(() => fieldNames?.label ?? 'label');\nconst valueField = computed(() => fieldNames?.value ?? 'value');\nconst optionsField = computed(() => fieldNames?.options ?? 'options');\n\nconst isSearchable = computed(() => {\n if (mode === BSelectMode.Multiple || mode === BSelectMode.Tags) return true;\n return showSearch;\n});\n\nconst getOptionLabel = (opt: BSelectOption): string => {\n const record = opt as unknown as Record<string, unknown>;\n const label = record[labelField.value];\n const value = record[valueField.value];\n return String(label ?? value ?? '');\n};\n\nconst getOptionValue = (opt: BSelectOption): string | number => {\n const record = opt as unknown as Record<string, unknown>;\n return record[valueField.value] as string | number;\n};\n\nconst flatOptions = computed((): BSelectOption[] => {\n const result: BSelectOption[] = [];\n for (const opt of options) {\n const record = opt as unknown as Record<string, unknown>;\n const nested = record[optionsField.value] as BSelectOption[] | undefined;\n if (nested && Array.isArray(nested)) {\n for (const child of nested) {\n result.push(child);\n }\n } else {\n result.push(opt);\n }\n }\n return result;\n});\n\nconst filteredOptions = computed((): BSelectOption[] => {\n if (!searchValue.value || !isSearchable.value) return flatOptions.value;\n if (filterOption === false) return flatOptions.value;\n if (typeof filterOption === 'function') {\n return flatOptions.value.filter((opt) => filterOption(searchValue.value, opt));\n }\n const query = searchValue.value.toLowerCase();\n return flatOptions.value.filter((opt) => {\n return getOptionLabel(opt).toLowerCase().includes(query);\n });\n});\n\nconst selectedValues = computed((): (string | number)[] => {\n if (model.value == null) return [];\n if (Array.isArray(model.value)) return model.value;\n return [model.value];\n});\n\nconst selectedOptions = computed((): BSelectOption[] => {\n return selectedValues.value\n .map((v) => flatOptions.value.find((opt) => getOptionValue(opt) === v))\n .filter(Boolean) as BSelectOption[];\n});\n\nconst displayLabel = computed((): string => {\n if (isMultipleMode.value) return '';\n if (selectedOptions.value.length === 0) return '';\n return getOptionLabel(selectedOptions.value[0]);\n});\n\nconst isMultipleMode = computed(() => {\n return mode === BSelectMode.Multiple || mode === BSelectMode.Tags;\n});\n\nconst visibleTags = computed(() => {\n if (maxTagCount == null || maxTagCount === 'responsive') return selectedOptions.value;\n return selectedOptions.value.slice(0, maxTagCount as number);\n});\n\nconst hiddenTagCount = computed(() => {\n if (maxTagCount == null || maxTagCount === 'responsive') return 0;\n return Math.max(0, selectedOptions.value.length - (maxTagCount as number));\n});\n\nconst isOptionSelected = (opt: BSelectOption): boolean => {\n return selectedValues.value.includes(getOptionValue(opt));\n};\n\nconst openMenu = () => {\n if (isOpen.value) return;\n menuRef.value?.showPopover();\n};\n\nconst closeMenu = () => {\n if (!isOpen.value) return;\n menuRef.value?.hidePopover();\n};\n\nconst handleToggle = ({ newState }: ToggleEvent) => {\n const nowOpen = newState === 'open';\n isOpen.value = nowOpen;\n emit('openChange', nowOpen);\n if (nowOpen) {\n if (defaultActiveFirstOption && filteredOptions.value.length > 0) {\n activeIndex.value = 0;\n }\n nextTick(() => {\n if (isSearchable.value) {\n searchInputRef.value?.focus();\n }\n });\n } else {\n activeIndex.value = -1;\n searchValue.value = '';\n }\n};\n\nconst selectSingleOption = (opt: BSelectOption) => {\n if (opt.disabled) return;\n const val = getOptionValue(opt);\n model.value = val;\n emit('select', val, opt);\n emit('change', val, opt);\n closeMenu();\n nextTick(() => selectorRef.value?.focus());\n};\n\nconst selectMultipleOption = (opt: BSelectOption) => {\n if (opt.disabled) return;\n const val = getOptionValue(opt);\n const current = selectedValues.value.slice();\n\n if (current.includes(val)) {\n const next = current.filter((v) => v !== val);\n model.value = next;\n emit('deselect', val, opt);\n emit(\n 'change',\n next,\n next.map((v) => flatOptions.value.find((o) => getOptionValue(o) === v)!).filter(Boolean),\n );\n } else {\n if (maxCount != null && current.length >= maxCount) return;\n const next = [...current, val];\n model.value = next;\n emit('select', val, opt);\n emit(\n 'change',\n next,\n next.map((v) => flatOptions.value.find((o) => getOptionValue(o) === v)!).filter(Boolean),\n );\n }\n searchValue.value = '';\n nextTick(() => searchInputRef.value?.focus());\n};\n\nconst selectOption = (opt: BSelectOption) => {\n if (isMultipleMode.value) {\n selectMultipleOption(opt);\n } else {\n selectSingleOption(opt);\n }\n};\n\nconst removeTag = (val: string | number) => {\n const opt = flatOptions.value.find((o) => getOptionValue(o) === val);\n const next = selectedValues.value.filter((v) => v !== val);\n model.value = next;\n if (opt) emit('deselect', val, opt);\n emit(\n 'change',\n next,\n next.map((v) => flatOptions.value.find((o) => getOptionValue(o) === v)!).filter(Boolean),\n );\n};\n\nconst handleClear = (e: Event) => {\n e.stopPropagation();\n if (isMultipleMode.value) {\n model.value = [];\n } else {\n model.value = undefined;\n }\n searchValue.value = '';\n emit('clear');\n emit(\n 'change',\n isMultipleMode.value ? [] : (undefined as unknown as string),\n [] as unknown as BSelectOption,\n );\n};\n\nconst handleSelectorClick = () => {\n if (disabled) return;\n if (isOpen.value) {\n closeMenu();\n } else {\n openMenu();\n }\n};\n\nconst handleSelectorFocus = (e: FocusEvent) => {\n emit('focus', e);\n};\n\nconst handleSelectorBlur = (e: FocusEvent) => {\n const related = e.relatedTarget as HTMLElement | null;\n if (menuRef.value?.contains(related)) return;\n if (selectorRef.value?.contains(related)) return;\n emit('blur', e);\n closeMenu();\n};\n\nconst handleSearchInput = (e: Event) => {\n const target = e.target as HTMLInputElement;\n searchValue.value = target.value;\n emit('search', target.value);\n\n if (mode === BSelectMode.Tags && tokenSeparators) {\n const separators = tokenSeparators;\n for (const sep of separators) {\n if (target.value.includes(sep)) {\n const parts = target.value.split(\n new RegExp(\n `[${separators.map((s) => s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')).join('')}]`,\n ),\n );\n for (const part of parts) {\n const trimmed = part.trim();\n if (trimmed && !selectedValues.value.includes(trimmed)) {\n const existing = flatOptions.value.find(\n (o) => getOptionValue(o) === trimmed || getOptionLabel(o) === trimmed,\n );\n if (existing) {\n selectMultipleOption(existing);\n } else {\n const current = selectedValues.value.slice();\n const next = [...current, trimmed];\n model.value = next;\n emit('select', trimmed, { value: trimmed, label: trimmed });\n emit(\n 'change',\n next,\n next.map(\n (v) =>\n flatOptions.value.find((o) => getOptionValue(o) === v) ?? {\n value: v,\n label: String(v),\n },\n ),\n );\n }\n }\n }\n searchValue.value = '';\n break;\n }\n }\n }\n\n if (!isOpen.value) openMenu();\n activeIndex.value = defaultActiveFirstOption ? 0 : -1;\n};\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n emit('inputKeyDown', e);\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n if (!isOpen.value) {\n openMenu();\n return;\n }\n const opts = filteredOptions.value;\n const nextIdx = activeIndex.value + 1;\n for (let i = 0; i < opts.length; i++) {\n const idx = (nextIdx + i) % opts.length;\n if (!opts[idx].disabled) {\n activeIndex.value = idx;\n break;\n }\n }\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n if (!isOpen.value) {\n openMenu();\n return;\n }\n const opts = filteredOptions.value;\n const prevIdx = activeIndex.value - 1;\n for (let i = 0; i < opts.length; i++) {\n const idx = (((prevIdx - i) % opts.length) + opts.length) % opts.length;\n if (!opts[idx].disabled) {\n activeIndex.value = idx;\n break;\n }\n }\n break;\n }\n case 'Enter': {\n e.preventDefault();\n if (isOpen.value && activeIndex.value >= 0) {\n const opt = filteredOptions.value[activeIndex.value];\n if (opt && !opt.disabled) {\n selectOption(opt);\n }\n } else if (!isOpen.value) {\n openMenu();\n }\n break;\n }\n case ' ': {\n if (!isSearchable.value || !searchValue.value) {\n e.preventDefault();\n if (!isOpen.value) {\n openMenu();\n } else if (activeIndex.value >= 0) {\n const opt = filteredOptions.value[activeIndex.value];\n if (opt && !opt.disabled) {\n selectOption(opt);\n }\n }\n }\n break;\n }\n case 'Escape': {\n e.preventDefault();\n closeMenu();\n selectorRef.value?.focus();\n break;\n }\n case 'Backspace': {\n if (isMultipleMode.value && !searchValue.value && selectedValues.value.length > 0) {\n const lastVal = selectedValues.value[selectedValues.value.length - 1];\n removeTag(lastVal);\n }\n break;\n }\n case 'Tab': {\n if (isOpen.value) {\n closeMenu();\n }\n break;\n }\n }\n};\n\nconst handlePopupScroll = (e: Event) => {\n emit('popupScroll', e);\n};\n\nconst scrollActiveIntoView = () => {\n nextTick(() => {\n const active = menuRef.value?.querySelector('[data-active=\"true\"]');\n active?.scrollIntoView({ block: 'nearest' });\n });\n};\n\nwatch(activeIndex, scrollActiveIntoView);\n\nwatch(\n () => open,\n (val) => {\n if (val === true && !isOpen.value) openMenu();\n else if (val === false && isOpen.value) closeMenu();\n },\n);\n\nconst showClear = computed(() => {\n if (!allowClear || disabled) return false;\n if (isMultipleMode.value) return selectedValues.value.length > 0;\n return model.value != null && model.value !== '';\n});\n\ndefineExpose({\n focus: () => selectorRef.value?.focus(),\n blur: () => selectorRef.value?.blur(),\n});\n</script>\n\n<template>\n <div\n class=\"b-select b:relative b:inline-flex b:w-full\"\n :class=\"{ 'b-select--disabled': disabled }\"\n >\n <!-- Selector trigger -->\n <div\n ref=\"selectorRef\"\n v-bind=\"attrs\"\n class=\"b-select__selector b:box-border b:flex b:w-full b:cursor-pointer b:items-center b:gap-1 b:transition-all b:outline-none\"\n :class=\"[\n {\n 'b:min-h-6 b:px-2 b:text-sm': size === BCommonSize.Small,\n 'b:min-h-8 b:px-3 b:text-sm': size === BCommonSize.Medium,\n 'b:min-h-10 b:px-3 b:text-base': size === BCommonSize.Large,\n },\n {\n 'b:rounded-lg b:border-1 b:border-[var(--b-select-border-color)] b:bg-[var(--b-select-selector-bg)] b:hover:not-disabled:border-[var(--b-select-hover-border-color)] b:focus:not-disabled:border-[var(--b-select-active-border-color)] b:focus:not-disabled:shadow-[0_0_0_2px_var(--b-select-active-outline-color)]':\n variant === BSelectVariant.Outlined,\n 'b:rounded-lg b:border-1 b:border-transparent b:bg-[var(--b-select-filled-bg)] b:hover:not-disabled:bg-[var(--b-select-filled-bg)] b:focus:not-disabled:border-[var(--b-select-active-border-color)] b:focus:not-disabled:bg-[var(--b-select-selector-bg)] b:focus:not-disabled:shadow-[0_0_0_2px_var(--b-select-active-outline-color)]':\n variant === BSelectVariant.Filled,\n 'b:rounded-lg b:border-1 b:border-transparent b:bg-transparent':\n variant === BSelectVariant.Borderless,\n },\n {\n 'b:border-red-500! b:hover:not-disabled:border-red-400! b:focus:not-disabled:border-red-500! b:focus:not-disabled:shadow-[0_0_0_2px_rgba(255,38,5,0.06)]!':\n status === BSelectStatus.Error,\n 'b:border-yellow-500! b:hover:not-disabled:border-yellow-400! b:focus:not-disabled:border-yellow-500! b:focus:not-disabled:shadow-[0_0_0_2px_rgba(255,215,5,0.1)]!':\n status === BSelectStatus.Warning,\n },\n {\n 'b:cursor-not-allowed b:opacity-40': disabled,\n },\n {\n 'b-select__selector--open': isOpen,\n },\n ]\"\n :tabindex=\"disabled ? -1 : 0\"\n role=\"combobox\"\n :aria-expanded=\"isOpen\"\n :aria-controls=\"isOpen ? listboxId : undefined\"\n :aria-activedescendant=\"isOpen && activeIndex >= 0 ? `${listboxId}-option-${activeIndex}` : undefined\"\n aria-haspopup=\"listbox\"\n :aria-label=\"placeholder ?? 'Select'\"\n :aria-disabled=\"disabled ?? false\"\n @click=\"handleSelectorClick\"\n @focus=\"handleSelectorFocus\"\n @blur=\"handleSelectorBlur\"\n @keydown=\"handleKeyDown\"\n >\n <!-- Multiple mode: tags -->\n <template v-if=\"isMultipleMode\">\n <span\n v-for=\"opt in visibleTags\"\n :key=\"getOptionValue(opt)\"\n class=\"b-select__tag b:inline-flex b:max-w-full b:items-center b:gap-0.5 b:rounded b:border-1 b:border-[var(--b-select-multiple-item-border-color)] b:bg-[var(--b-select-multiple-item-bg)] b:leading-none\"\n :class=\"[\n {\n 'b:h-4 b:px-1 b:text-xs': size === BCommonSize.Small,\n 'b:h-6 b:px-1.5 b:text-xs': size === BCommonSize.Medium,\n 'b:h-8 b:px-2 b:text-sm': size === BCommonSize.Large,\n },\n ]\"\n >\n <span class=\"b:truncate\">{{ getOptionLabel(opt) }}</span>\n <button\n type=\"button\"\n class=\"b-select__tag-close b:ml-0.5 b:flex b:h-3.5 b:w-3.5 b:cursor-pointer b:items-center b:justify-center b:rounded-full b:border-none b:bg-transparent b:text-[10px] b:text-zinc-400 b:hover:bg-zinc-200 b:hover:text-zinc-600\"\n :aria-label=\"`Remove ${getOptionLabel(opt)}`\"\n tabindex=\"-1\"\n @click.stop=\"removeTag(getOptionValue(opt))\"\n @mousedown.prevent\n >\n <svg aria-hidden=\"true\" width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\"><path d=\"M1 1l6 6M7 1L1 7\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/></svg>\n </button>\n </span>\n <span\n v-if=\"hiddenTagCount > 0\"\n class=\"b-select__tag b-select__tag--count b:relative b:z-1 b:inline-flex b:shrink-0 b:items-center b:rounded b:bg-[var(--b-select-multiple-count-bg)] b:px-1.5 b:text-xs b:leading-none b:text-[var(--b-select-multiple-count-color)]\"\n :class=\"[\n {\n 'b:h-4': size === BCommonSize.Small,\n 'b:h-6': size === BCommonSize.Medium,\n 'b:h-8': size === BCommonSize.Large,\n },\n ]\"\n >\n +{{ hiddenTagCount }}\n </span>\n <input\n ref=\"searchInputRef\"\n class=\"b-select__search b:min-w-4 b:flex-1 b:border-none b:bg-transparent b:text-sm b:outline-none b:placeholder:text-[var(--b-select-placeholder-color)]\"\n :value=\"searchValue\"\n :placeholder=\"selectedValues.length === 0 ? placeholder : undefined\"\n :disabled=\"disabled\"\n :aria-label=\"placeholder ?? 'Search options'\"\n autocomplete=\"off\"\n @input=\"handleSearchInput\"\n @keydown=\"handleKeyDown\"\n @focus=\"handleSelectorFocus\"\n @blur=\"handleSelectorBlur\"\n />\n </template>\n\n <!-- Single mode -->\n <template v-else>\n <span\n v-if=\"displayLabel && !searchValue\"\n class=\"b-select__value b:flex-1 b:truncate b:text-[color:var(--b-select-color)]\"\n >\n <slot name=\"selectedLabel\" :option=\"selectedOptions[0]\">\n {{ displayLabel }}\n </slot>\n </span>\n <span\n v-else-if=\"!searchValue && !displayLabel\"\n class=\"b-select__placeholder b:flex-1 b:truncate b:text-[var(--b-select-placeholder-color)]\"\n >\n {{ placeholder }}\n </span>\n <input\n v-if=\"isSearchable\"\n ref=\"searchInputRef\"\n class=\"b-select__search b:absolute b:inset-0 b:w-full b:border-none b:bg-transparent b:px-3 b:text-sm b:outline-none b:placeholder:text-[var(--b-select-placeholder-color)]\"\n :class=\"{ 'b:opacity-0': !isOpen }\"\n :value=\"searchValue\"\n :disabled=\"disabled\"\n :aria-label=\"placeholder ?? 'Search options'\"\n autocomplete=\"off\"\n tabindex=\"-1\"\n @input=\"handleSearchInput\"\n @keydown=\"handleKeyDown\"\n />\n </template>\n\n <!-- Clear button -->\n <button\n v-if=\"showClear\"\n type=\"button\"\n class=\"b-select__clear b:z-1 b:flex b:h-4 b:w-4 b:shrink-0 b:cursor-pointer b:items-center b:justify-center b:rounded-full b:border-none b:bg-[var(--b-select-clear-bg)] b:text-xs b:text-zinc-400 b:hover:text-zinc-600\"\n aria-label=\"Clear selection\"\n tabindex=\"-1\"\n @click=\"handleClear\"\n @mousedown.prevent\n >\n <svg aria-hidden=\"true\" width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\"><path d=\"M1 1l6 6M7 1L1 7\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/></svg>\n </button>\n\n <!-- Suffix arrow -->\n <span\n class=\"b-select__arrow b:ml-auto b:flex b:shrink-0 b:items-center b:text-zinc-400 b:transition-transform b:duration-200\"\n :class=\"{ 'b:rotate-180': isOpen }\"\n aria-hidden=\"true\"\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path\n d=\"M2.5 4.5L6 8L9.5 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </span>\n\n <!-- Loading spinner -->\n <span\n v-if=\"loading\"\n class=\"b-select__loading b:ml-1 b:flex b:shrink-0 b:animate-spin b:items-center b:text-zinc-400\"\n aria-hidden=\"true\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-dasharray=\"24\"\n stroke-linecap=\"round\"\n />\n </svg>\n </span>\n </div>\n\n <!-- Dropdown popup -->\n <div\n ref=\"menuRef\"\n :id=\"listboxId\"\n class=\"b-select__dropdown b:overflow-auto b:rounded-lg b:bg-[var(--b-select-selector-bg)] b:shadow-lg\"\n :class=\"{ 'b:w-[anchor-size(width)]': popupMatchSelectWidth === true }\"\n :style=\"[\n typeof popupMatchSelectWidth === 'number'\n ? { width: `${popupMatchSelectWidth}px` }\n : undefined,\n { maxHeight: `${listHeight}px` },\n ]\"\n popover\n role=\"listbox\"\n :aria-multiselectable=\"isMultipleMode || undefined\"\n :aria-label=\"placeholder ?? 'Options'\"\n @toggle=\"handleToggle\"\n @scroll=\"handlePopupScroll\"\n >\n <!-- Options -->\n <div v-if=\"filteredOptions.length > 0\" class=\"b:p-1\">\n <template v-for=\"(opt, idx) in filteredOptions\" :key=\"getOptionValue(opt)\">\n <div\n :id=\"`${listboxId}-option-${idx}`\"\n class=\"b-select__option b:cursor-pointer b:rounded-md b:px-[var(--b-select-option-padding-x)] b:py-[var(--b-select-option-padding-y)] b:text-[length:var(--b-select-option-font-size)] b:leading-[var(--b-select-option-line-height)] b:transition-colors\"\n :class=\"[\n {\n 'b:bg-[var(--b-select-option-active-bg)]': idx === activeIndex && !opt.disabled,\n 'b:bg-[var(--b-select-option-selected-bg)] b:font-[var(--b-select-option-selected-font-weight)] b:text-[color:var(--b-select-option-selected-color)]':\n isOptionSelected(opt) && idx !== activeIndex,\n 'b:bg-[var(--b-select-option-selected-bg)] b:font-[var(--b-select-option-selected-font-weight)]':\n isOptionSelected(opt) && idx === activeIndex,\n 'b:cursor-not-allowed b:opacity-40': opt.disabled,\n 'b:hover:bg-[var(--b-select-option-active-bg)]':\n !opt.disabled && idx !== activeIndex && !isOptionSelected(opt),\n },\n ]\"\n :data-active=\"idx === activeIndex\"\n :aria-selected=\"isOptionSelected(opt)\"\n :aria-disabled=\"opt.disabled ?? false\"\n role=\"option\"\n @mousedown.prevent=\"selectOption(opt)\"\n @mouseenter=\"activeIndex = idx\"\n >\n <slot name=\"option\" :option=\"opt\" :index=\"idx\" :selected=\"isOptionSelected(opt)\">\n <span class=\"b:flex b:items-center b:justify-between\">\n <span>{{ getOptionLabel(opt) }}</span>\n <svg\n v-if=\"isMultipleMode && isOptionSelected(opt)\"\n class=\"b:ml-2 b:h-3 b:w-3 b:text-[var(--b-select-active-border-color)]\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2 6L5 9L10 3\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </span>\n </slot>\n </div>\n </template>\n </div>\n\n <!-- Not found content -->\n <div\n v-else-if=\"notFoundContent !== null\"\n class=\"b-select__empty b:px-4 b:py-6 b:text-center b:text-sm b:text-zinc-400\"\n >\n {{ notFoundContent }}\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.b-select {\n --b-select-active-border-color: #1677ff;\n --b-select-active-outline-color: rgba(5, 145, 255, 0.1);\n --b-select-hover-border-color: #4096ff;\n --b-select-border-color: #d9d9d9;\n --b-select-color: rgba(0, 0, 0, 0.88);\n --b-select-placeholder-color: #606870;\n --b-select-clear-bg: #ffffff;\n --b-select-selector-bg: #ffffff;\n --b-select-filled-bg: rgba(0, 0, 0, 0.04);\n --b-select-multiple-item-bg: rgba(0, 0, 0, 0.06);\n --b-select-multiple-count-bg: #f0f0f0;\n --b-select-multiple-count-color: #1f1f1f;\n --b-select-multiple-item-border-color: transparent;\n --b-select-multiple-item-border-color-disabled: transparent;\n --b-select-multiple-item-color-disabled: rgba(0, 0, 0, 0.25);\n --b-select-multiple-selector-bg-disabled: rgba(0, 0, 0, 0.04);\n --b-select-option-active-bg: rgba(0, 0, 0, 0.04);\n --b-select-option-font-size: 14px;\n --b-select-option-height: 32px;\n --b-select-option-line-height: 1.5714;\n --b-select-option-padding-x: 12px;\n --b-select-option-padding-y: 5px;\n --b-select-option-selected-bg: #e6f4ff;\n --b-select-option-selected-color: rgba(0, 0, 0, 0.88);\n --b-select-option-selected-font-weight: 600;\n --b-select-z-index-popup: 1050;\n}\n\n@media (prefers-color-scheme: dark) {\n .b-select {\n --b-select-active-border-color: #1668dc;\n --b-select-active-outline-color: rgba(22, 104, 220, 0.15);\n --b-select-hover-border-color: #3c89e8;\n --b-select-border-color: #424242;\n --b-select-color: rgba(255, 255, 255, 0.88);\n --b-select-placeholder-color: #9ca3af;\n --b-select-clear-bg: #1f1f1f;\n --b-select-selector-bg: #1f1f1f;\n --b-select-filled-bg: rgba(255, 255, 255, 0.08);\n --b-select-multiple-item-bg: rgba(255, 255, 255, 0.1);\n --b-select-multiple-count-bg: #353535;\n --b-select-multiple-count-color: #e0e0e0;\n --b-select-multiple-item-color-disabled: rgba(255, 255, 255, 0.25);\n --b-select-multiple-selector-bg-disabled: rgba(255, 255, 255, 0.08);\n --b-select-option-active-bg: rgba(255, 255, 255, 0.08);\n --b-select-option-selected-bg: #111a2c;\n --b-select-option-selected-color: rgba(255, 255, 255, 0.88);\n }\n}\n\n[data-prefers-color='light'] .b-select {\n --b-select-active-border-color: #1677ff;\n --b-select-active-outline-color: rgba(5, 145, 255, 0.1);\n --b-select-hover-border-color: #4096ff;\n --b-select-border-color: #d9d9d9;\n --b-select-color: rgba(0, 0, 0, 0.88);\n --b-select-placeholder-color: #606870;\n --b-select-clear-bg: #ffffff;\n --b-select-selector-bg: #ffffff;\n --b-select-filled-bg: rgba(0, 0, 0, 0.04);\n --b-select-multiple-item-bg: rgba(0, 0, 0, 0.06);\n --b-select-multiple-count-bg: #f0f0f0;\n --b-select-multiple-count-color: #1f1f1f;\n --b-select-multiple-item-color-disabled: rgba(0, 0, 0, 0.25);\n --b-select-multiple-selector-bg-disabled: rgba(0, 0, 0, 0.04);\n --b-select-option-active-bg: rgba(0, 0, 0, 0.04);\n --b-select-option-selected-bg: #e6f4ff;\n --b-select-option-selected-color: rgba(0, 0, 0, 0.88);\n}\n\n[data-prefers-color='dark'] .b-select {\n --b-select-active-border-color: #1668dc;\n --b-select-active-outline-color: rgba(22, 104, 220, 0.15);\n --b-select-hover-border-color: #3c89e8;\n --b-select-border-color: #424242;\n --b-select-color: rgba(255, 255, 255, 0.88);\n --b-select-placeholder-color: #9ca3af;\n --b-select-clear-bg: #1f1f1f;\n --b-select-selector-bg: #1f1f1f;\n --b-select-filled-bg: rgba(255, 255, 255, 0.08);\n --b-select-multiple-item-bg: rgba(255, 255, 255, 0.1);\n --b-select-multiple-item-color-disabled: rgba(255, 255, 255, 0.25);\n --b-select-multiple-selector-bg-disabled: rgba(255, 255, 255, 0.08);\n --b-select-option-active-bg: rgba(255, 255, 255, 0.08);\n --b-select-option-selected-bg: #111a2c;\n --b-select-option-selected-color: rgba(255, 255, 255, 0.88);\n}\n\n@media (prefers-color-scheme: dark) {\n [data-prefers-color='system'] .b-select {\n --b-select-active-border-color: #1668dc;\n --b-select-active-outline-color: rgba(22, 104, 220, 0.15);\n --b-select-hover-border-color: #3c89e8;\n --b-select-border-color: #424242;\n --b-select-color: rgba(255, 255, 255, 0.88);\n --b-select-placeholder-color: #9ca3af;\n --b-select-clear-bg: #1f1f1f;\n --b-select-selector-bg: #1f1f1f;\n --b-select-filled-bg: rgba(255, 255, 255, 0.08);\n --b-select-multiple-item-bg: rgba(255, 255, 255, 0.1);\n --b-select-multiple-item-color-disabled: rgba(255, 255, 255, 0.25);\n --b-select-multiple-selector-bg-disabled: rgba(255, 255, 255, 0.08);\n --b-select-option-active-bg: rgba(255, 255, 255, 0.08);\n --b-select-option-selected-bg: #111a2c;\n --b-select-option-selected-color: rgba(255, 255, 255, 0.88);\n }\n}\n\n.b-select__selector {\n anchor-name: v-bind('anchorName');\n}\n\n.b-select__dropdown {\n position: absolute;\n margin-top: 4px;\n z-index: var(--b-select-z-index-popup);\n\n position-anchor: v-bind('anchorName');\n position-try-fallbacks: --b-select-top;\n inset: auto;\n top: anchor(bottom);\n left: anchor(left);\n\n transition:\n display 0.2s,\n opacity 0.2s;\n transition-behavior: allow-discrete;\n opacity: 0;\n\n &:popover-open {\n opacity: 1;\n\n @starting-style {\n opacity: 0;\n }\n }\n}\n\n@position-try --b-select-top {\n inset: auto;\n bottom: anchor(top);\n left: anchor(left);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .b-select__dropdown {\n transition: none;\n }\n\n .b-select__arrow {\n transition: none;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import { computed as e, createElementBlock as t, defineComponent as n, normalizeClass as r, normalizeStyle as i, openBlock as a } from "vue";
2
- //#region src/components/BSkeleton/BSkeletonAvatar.vue?vue&type=script&setup=true&lang.ts
3
- var o = /* @__PURE__ */ n({
4
- __name: "BSkeletonAvatar",
5
- props: {
6
- active: {
7
- type: Boolean,
8
- default: !1
9
- },
10
- shape: { default: "circle" },
11
- size: { default: "default" }
12
- },
13
- setup(n) {
14
- let o = e(() => {
15
- if (typeof n.size == "number") return {
16
- width: `${n.size}px`,
17
- height: `${n.size}px`,
18
- lineHeight: `${n.size}px`
19
- };
20
- }), s = e(() => [
21
- "b-skeleton-element",
22
- "b-skeleton-avatar",
23
- `b-skeleton-avatar--${n.shape}`,
24
- typeof n.size == "string" ? `b-skeleton-avatar--${n.size}` : null,
25
- { "b-skeleton-element--active": n.active }
26
- ]);
27
- return (e, n) => (a(), t("span", {
28
- class: r(s.value),
29
- style: i(o.value),
30
- role: "presentation",
31
- "aria-hidden": "true"
32
- }, null, 6));
33
- }
34
- });
35
- //#endregion
36
- export { o as default };
37
-
38
- //# sourceMappingURL=design-system183.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system183.js","names":[],"sources":["../src/components/BSkeleton/BSkeletonAvatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { BSkeletonAvatarShape, BSkeletonAvatarSize } from './types';\n\nconst {\n active = false,\n shape = 'circle',\n size = 'default',\n} = defineProps<{\n /** Animated shimmer effect. @default false */\n active?: boolean;\n /** Avatar shape. @default 'circle' */\n shape?: BSkeletonAvatarShape;\n /** Avatar size: preset string or pixel number. @default 'default' */\n size?: BSkeletonAvatarSize;\n}>();\n\nconst sizeStyle = computed<Record<string, string> | undefined>(() => {\n if (typeof size === 'number') {\n return { width: `${size}px`, height: `${size}px`, lineHeight: `${size}px` };\n }\n return undefined;\n});\n\nconst classes = computed(() => [\n 'b-skeleton-element',\n 'b-skeleton-avatar',\n `b-skeleton-avatar--${shape}`,\n typeof size === 'string' ? `b-skeleton-avatar--${size}` : null,\n { 'b-skeleton-element--active': active },\n]);\n</script>\n\n<template>\n <span :class=\"classes\" :style=\"sizeStyle\" role=\"presentation\" aria-hidden=\"true\" />\n</template>\n\n<style>\n.b-skeleton-avatar {\n display: inline-block;\n vertical-align: top;\n width: var(--b-skeleton-avatar-size-default);\n height: var(--b-skeleton-avatar-size-default);\n background: var(--b-skeleton-gradient-from-color);\n}\n\n.b-skeleton-avatar--small {\n width: var(--b-skeleton-avatar-size-small);\n height: var(--b-skeleton-avatar-size-small);\n}\n\n.b-skeleton-avatar--large {\n width: var(--b-skeleton-avatar-size-large);\n height: var(--b-skeleton-avatar-size-large);\n}\n\n.b-skeleton-avatar--circle {\n border-radius: 50%;\n}\n\n.b-skeleton-avatar--square {\n border-radius: var(--b-skeleton-border-radius);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;EAiBA,IAAM,IAAY,QAAmD;AACnE,OAAI,OAAO,EAAA,QAAS,SAClB,QAAO;IAAE,OAAO,GAAG,EAAA,KAAK;IAAK,QAAQ,GAAG,EAAA,KAAK;IAAK,YAAY,GAAG,EAAA,KAAK;IAAK;IAG7E,EAEI,IAAU,QAAe;GAC7B;GACA;GACA,sBAAsB,EAAA;GACtB,OAAO,EAAA,QAAS,WAAW,sBAAsB,EAAA,SAAS;GAC1D,EAAE,8BAA8B,EAAA,QAAQ;GACzC,CAAC;yBAIA,EAAmF,QAAA;GAA5E,OAAK,EAAE,EAAA,MAAO;GAAG,OAAK,EAAE,EAAA,MAAS;GAAE,MAAK;GAAe,eAAY"}