@7pmlabs/design-system 1.0.10 → 2.0.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 (429) hide show
  1. package/README.md +57 -6
  2. package/dist/design-system.css +1 -1
  3. package/dist/design-system.js +66 -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 +444 -70
  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 +21 -21
  127. package/dist/design-system183.js.map +1 -1
  128. package/dist/design-system185.js +1 -1
  129. package/dist/design-system185.js.map +1 -1
  130. package/dist/design-system186.js +85 -25
  131. package/dist/design-system186.js.map +1 -1
  132. package/dist/design-system188.js +1 -1
  133. package/dist/design-system188.js.map +1 -1
  134. package/dist/design-system189.js +7 -5
  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 +20 -23
  140. package/dist/design-system192.js.map +1 -1
  141. package/dist/design-system194.js +1 -1
  142. package/dist/design-system194.js.map +1 -1
  143. package/dist/design-system195.js +24 -323
  144. package/dist/design-system195.js.map +1 -1
  145. package/dist/design-system197.js +1 -1
  146. package/dist/design-system197.js.map +1 -1
  147. package/dist/design-system198.js +19 -88
  148. package/dist/design-system198.js.map +1 -1
  149. package/dist/design-system200.js +1 -1
  150. package/dist/design-system200.js.map +1 -1
  151. package/dist/design-system201.js +330 -17
  152. package/dist/design-system201.js.map +1 -1
  153. package/dist/design-system203.js +5 -3
  154. package/dist/design-system203.js.map +1 -1
  155. package/dist/design-system204.js +88 -407
  156. package/dist/design-system204.js.map +1 -1
  157. package/dist/design-system206.js +1 -1
  158. package/dist/design-system206.js.map +1 -1
  159. package/dist/design-system207.js +17 -106
  160. package/dist/design-system207.js.map +1 -1
  161. package/dist/{design-system202.js → design-system208.js} +2 -2
  162. package/dist/{design-system202.js.map → design-system208.js.map} +1 -1
  163. package/dist/design-system209.js +3 -6
  164. package/dist/design-system209.js.map +1 -1
  165. package/dist/design-system210.js +403 -90
  166. package/dist/design-system210.js.map +1 -1
  167. package/dist/design-system212.js +4 -5
  168. package/dist/design-system212.js.map +1 -1
  169. package/dist/design-system213.js +45 -723
  170. package/dist/design-system213.js.map +1 -1
  171. package/dist/design-system215.js +1 -1
  172. package/dist/design-system215.js.map +1 -1
  173. package/dist/design-system216.js +88 -11
  174. package/dist/design-system216.js.map +1 -1
  175. package/dist/design-system217.js +4 -525
  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 -3
  181. package/dist/design-system220.js.map +1 -1
  182. package/dist/design-system221.js +103 -43
  183. package/dist/design-system221.js.map +1 -1
  184. package/dist/design-system223.js +6 -283
  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 +5 -119
  189. package/dist/design-system226.js.map +1 -1
  190. package/dist/{design-system60.js → design-system227.js} +6 -8
  191. package/dist/design-system227.js.map +1 -0
  192. package/dist/design-system228.js +525 -5
  193. package/dist/design-system228.js.map +1 -1
  194. package/dist/{design-system219.js → design-system230.js} +2 -2
  195. package/dist/{design-system219.js.map → design-system230.js.map} +1 -1
  196. package/dist/design-system231.js +3 -5
  197. package/dist/design-system231.js.map +1 -1
  198. package/dist/design-system232.js +42 -50
  199. package/dist/design-system232.js.map +1 -1
  200. package/dist/design-system233.js +1 -1
  201. package/dist/design-system233.js.map +1 -1
  202. package/dist/design-system234.js +254 -141
  203. package/dist/design-system234.js.map +1 -1
  204. package/dist/design-system236.js +1 -1
  205. package/dist/design-system236.js.map +1 -1
  206. package/dist/design-system237.js +119 -7
  207. package/dist/design-system237.js.map +1 -1
  208. package/dist/design-system239.js +8 -0
  209. package/dist/design-system239.js.map +1 -0
  210. package/dist/design-system240.js +112 -5
  211. package/dist/design-system240.js.map +1 -1
  212. package/dist/design-system242.js +8 -0
  213. package/dist/design-system242.js.map +1 -0
  214. package/dist/design-system243.js +54 -6
  215. package/dist/design-system243.js.map +1 -1
  216. package/dist/design-system244.js +4 -7
  217. package/dist/design-system244.js.map +1 -1
  218. package/dist/design-system245.js +139 -343
  219. package/dist/design-system245.js.map +1 -1
  220. package/dist/design-system247.js +4 -5
  221. package/dist/design-system247.js.map +1 -1
  222. package/dist/design-system248.js +10 -0
  223. package/dist/design-system248.js.map +1 -0
  224. package/dist/{design-system238.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-system241.js → design-system252.js} +1 -1
  230. package/dist/design-system252.js.map +1 -0
  231. package/dist/design-system254.js +9 -0
  232. package/dist/design-system254.js.map +1 -0
  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/BDivider/types.d.ts +2 -2
  358. package/dist/types/components/BMasonry/types.d.ts +2 -2
  359. package/dist/types/components/BPagination/BPagination.vue.d.ts +1 -1
  360. package/dist/types/components/BStatistic/BStatistic.spec.d.ts +1 -0
  361. package/dist/types/components/BStatistic/BStatistic.vue.d.ts +44 -0
  362. package/dist/types/components/BStatistic/BStatisticTimer.vue.d.ts +50 -0
  363. package/dist/types/components/BStatistic/index.d.ts +3 -0
  364. package/dist/types/components/BStatistic/types.d.ts +6 -0
  365. package/dist/types/components/BTreeSelect/BTreeSelect.spec.d.ts +1 -0
  366. package/dist/types/components/BTreeSelect/BTreeSelect.vue.d.ts +143 -0
  367. package/dist/types/components/BTreeSelect/index.d.ts +2 -0
  368. package/dist/types/components/BTreeSelect/types.d.ts +77 -0
  369. package/dist/types/components/index.d.ts +4 -0
  370. package/dist/types/types.d.ts +3 -0
  371. package/package.json +18 -15
  372. package/dist/design-system105.js +0 -212
  373. package/dist/design-system105.js.map +0 -1
  374. package/dist/design-system108.js +0 -227
  375. package/dist/design-system108.js.map +0 -1
  376. package/dist/design-system111.js +0 -166
  377. package/dist/design-system111.js.map +0 -1
  378. package/dist/design-system115.js +0 -277
  379. package/dist/design-system115.js.map +0 -1
  380. package/dist/design-system118.js +0 -19
  381. package/dist/design-system118.js.map +0 -1
  382. package/dist/design-system121.js +0 -15
  383. package/dist/design-system121.js.map +0 -1
  384. package/dist/design-system125.js +0 -45
  385. package/dist/design-system125.js.map +0 -1
  386. package/dist/design-system128.js +0 -236
  387. package/dist/design-system128.js.map +0 -1
  388. package/dist/design-system141.js +0 -40
  389. package/dist/design-system141.js.map +0 -1
  390. package/dist/design-system144.js +0 -7
  391. package/dist/design-system158.js +0 -61
  392. package/dist/design-system158.js.map +0 -1
  393. package/dist/design-system161.js +0 -59
  394. package/dist/design-system161.js.map +0 -1
  395. package/dist/design-system174.js +0 -465
  396. package/dist/design-system174.js.map +0 -1
  397. package/dist/design-system177.js +0 -38
  398. package/dist/design-system177.js.map +0 -1
  399. package/dist/design-system222.js +0 -7
  400. package/dist/design-system222.js.map +0 -1
  401. package/dist/design-system225.js +0 -8
  402. package/dist/design-system225.js.map +0 -1
  403. package/dist/design-system229.js +0 -115
  404. package/dist/design-system229.js.map +0 -1
  405. package/dist/design-system238.js.map +0 -1
  406. package/dist/design-system241.js.map +0 -1
  407. package/dist/design-system40.js +0 -479
  408. package/dist/design-system40.js.map +0 -1
  409. package/dist/design-system43.js +0 -6
  410. package/dist/design-system43.js.map +0 -1
  411. package/dist/design-system46.js +0 -9
  412. package/dist/design-system46.js.map +0 -1
  413. package/dist/design-system50.js +0 -67
  414. package/dist/design-system50.js.map +0 -1
  415. package/dist/design-system60.js.map +0 -1
  416. package/dist/design-system63.js +0 -8
  417. package/dist/design-system67.js +0 -32
  418. package/dist/design-system67.js.map +0 -1
  419. package/dist/design-system74.js +0 -8
  420. package/dist/design-system74.js.map +0 -1
  421. package/dist/design-system79.js +0 -60
  422. package/dist/design-system79.js.map +0 -1
  423. package/dist/design-system82.js +0 -14
  424. package/dist/design-system82.js.map +0 -1
  425. package/dist/design-system86.js +0 -69
  426. package/dist/design-system86.js.map +0 -1
  427. package/dist/design-system89.js +0 -91
  428. package/dist/design-system89.js.map +0 -1
  429. package/dist/design-system93.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"design-system61.js","names":[],"sources":["../src/components/BDatePicker/BDatePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { useModel as _useModel, useCssVars as _useCssVars, mergeModels as _mergeModels, defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = [\"value\", \"placeholder\", \"disabled\", \"readonly\", \"aria-expanded\", \"aria-controls\"]\nconst _hoisted_2 = [\"id\", \"aria-label\"]\nconst _hoisted_3 = { class: \"b-date-picker__panel-inner\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"b-date-picker__presets\"\n}\nconst _hoisted_5 = [\"onClick\"]\nconst _hoisted_6 = { class: \"b-date-picker__panel-main\" }\nconst _hoisted_7 = { class: \"b-date-picker__header\" }\nconst _hoisted_8 = [\"aria-label\"]\nconst _hoisted_9 = {\n key: 0,\n class: \"b-date-picker__body\",\n role: \"grid\",\n \"aria-label\": \"Calendar\"\n}\nconst _hoisted_10 = {\n class: \"b-date-picker__weekdays\",\n role: \"row\"\n}\nconst _hoisted_11 = {\n key: 0,\n class: \"b-date-picker__weekday b-date-picker__week-number-header\",\n role: \"columnheader\",\n \"aria-label\": \"Week\"\n}\nconst _hoisted_12 = [\"aria-label\"]\nconst _hoisted_13 = {\n key: 0,\n class: \"b-date-picker__cell b-date-picker__week-number\"\n}\nconst _hoisted_14 = [\"aria-label\", \"aria-selected\", \"aria-disabled\", \"disabled\", \"tabindex\", \"onClick\", \"onMouseenter\"]\nconst _hoisted_15 = {\n key: 1,\n class: \"b-date-picker__body b-date-picker__grid-3x4\",\n role: \"grid\",\n \"aria-label\": \"Month selection\"\n}\nconst _hoisted_16 = [\"aria-label\", \"aria-selected\", \"onClick\"]\nconst _hoisted_17 = {\n key: 2,\n class: \"b-date-picker__body b-date-picker__grid-3x4\",\n role: \"grid\",\n \"aria-label\": \"Year selection\"\n}\nconst _hoisted_18 = [\"aria-label\", \"aria-selected\", \"onClick\"]\nconst _hoisted_19 = {\n key: 3,\n class: \"b-date-picker__body b-date-picker__grid-2x2\",\n role: \"grid\",\n \"aria-label\": \"Quarter selection\"\n}\nconst _hoisted_20 = [\"aria-label\", \"onClick\"]\nconst _hoisted_21 = {\n key: 4,\n class: \"b-date-picker__footer\"\n}\n\nimport { useComponentId } from '@/composables/useComponentId.ts';\nimport { computed, ref, watch } from 'vue';\n\nimport {\n BDatePickerPlacement,\n BDatePickerSize,\n BDatePickerStatus,\n BDatePickerType,\n BDatePickerVariant,\n type BDatePickerDisabledDateInfo,\n type BDatePickerPreset,\n} from './types';\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BDatePicker',\n props: /*@__PURE__*/_mergeModels({\n picker: { default: () => (BDatePickerType.Date) },\n size: { default: () => (BDatePickerSize.Medium) },\n variant: { default: () => (BDatePickerVariant.Outlined) },\n placeholder: {},\n disabled: { type: Boolean, default: false },\n inputReadOnly: { type: Boolean, default: false },\n allowClear: { type: Boolean, default: true },\n showNow: { type: Boolean, default: true },\n showWeek: { type: Boolean, default: false },\n format: {},\n locale: {},\n placement: { default: () => (BDatePickerPlacement.BottomLeft) },\n status: {},\n presets: {},\n disabledDate: { type: Function },\n minDate: {},\n maxDate: {},\n defaultOpen: { type: Boolean, default: false },\n defaultValue: {},\n defaultPickerValue: {},\n open: { type: Boolean }\n }, {\n \"modelValue\": { default: undefined },\n \"modelModifiers\": {},\n }),\n emits: /*@__PURE__*/_mergeModels([\"change\", \"openChange\", \"panelChange\", \"ok\"], [\"update:modelValue\"]),\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n_useCssVars(_ctx => ({\n \"v07f2e022\": (anchorName.value)\n}))\n\n\n\nconst model = _useModel<Date | null>(__props, \"modelValue\");\n\nconst emit = __emit;\n\n__expose({\n focus: () => inputEl.value?.focus(),\n blur: () => inputEl.value?.blur(),\n});\n\nconst { componentUID } = useComponentId();\nconst anchorName = computed(() => `--b-date-picker-${componentUID.value}`);\n\n// ─────────────────────────────────────────────\n// State\n// ─────────────────────────────────────────────\nconst inputEl = ref<HTMLInputElement | null>(null);\nconst panelEl = ref<HTMLElement | null>(null);\nconst isOpen = ref(__props.defaultOpen);\nconst internalValue = ref<Date | null>(__props.defaultValue ?? null);\nconst panelDate = ref<Date>(__props.defaultPickerValue ?? __props.defaultValue ?? new Date());\nconst panelMode = ref<string>(__props.picker);\nconst hoveredDate = ref<Date | null>(null);\n\nconst selectedDate = computed({\n get: () => model.value ?? internalValue.value,\n set: (val) => {\n internalValue.value = val;\n model.value = val;\n },\n});\n\nconst isPanelOpen = ref(__props.open !== undefined ? !!__props.open : __props.defaultOpen);\n\n// ─────────────────────────────────────────────\n// Formatting & Locale\n// ─────────────────────────────────────────────\nconst resolvedLocale = computed(() => {\n const tag = __props.locale || navigator?.language || 'en-US';\n try {\n Intl.DateTimeFormat(tag);\n return tag;\n } catch {\n return 'en-US';\n }\n});\n\nconst defaultFormats: Record<string, string> = {\n date: 'YYYY-MM-DD',\n week: 'YYYY-[W]wo',\n month: 'YYYY-MM',\n quarter: 'YYYY-[Q]Q',\n year: 'YYYY',\n};\n\nconst activeFormat = computed(() => __props.format ?? defaultFormats[__props.picker] ?? 'YYYY-MM-DD');\n\nfunction pad(n: number, len = 2): string {\n return String(n).padStart(len, '0');\n}\n\nfunction getWeekNumber(d: Date): number {\n const copy = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));\n copy.setUTCDate(copy.getUTCDate() + 4 - (copy.getUTCDay() || 7));\n const yearStart = new Date(Date.UTC(copy.getUTCFullYear(), 0, 1));\n return Math.ceil(((copy.getTime() - yearStart.getTime()) / 86400000 + 1) / 7);\n}\n\nfunction formatDate(date: Date | null): string {\n if (!date) return '';\n const y = date.getFullYear();\n const m = date.getMonth() + 1;\n const d = date.getDate();\n\n let fmt = activeFormat.value;\n\n // Escape sequences: text inside [] is literal\n const DELIM = '￰';\n const literals: string[] = [];\n fmt = fmt.replace(/\\[([^\\]]*)\\]/g, (_, text) => {\n literals.push(text);\n return `${DELIM}${literals.length - 1}${DELIM}`;\n });\n\n // Token replacement (longest tokens first to avoid partial matches)\n fmt = fmt.replace('YYYY', String(y));\n fmt = fmt.replace('YY', String(y).slice(-2));\n fmt = fmt.replace('MM', pad(m));\n fmt = fmt.replace('M', String(m));\n fmt = fmt.replace('DD', pad(d));\n fmt = fmt.replace('D', String(d));\n fmt = fmt.replace('wo', String(getWeekNumber(date)));\n fmt = fmt.replace('Q', String(Math.ceil(m / 3)));\n\n // Restore literals\n fmt = fmt.replace(new RegExp(`${DELIM}(\\\\d+)${DELIM}`, 'g'), (_, idx) => literals[Number(idx)]);\n\n return fmt;\n}\n\nfunction parseInput(value: string): Date | null {\n if (!value) return null;\n\n // Try parsing based on current format pattern\n const fmt = activeFormat.value;\n const parsed = parseByFormat(value, fmt);\n if (parsed) return parsed;\n\n // Fallback: ISO format\n const iso = value.match(/^(\\d{4})-(\\d{1,2})-(\\d{1,2})$/);\n if (iso) {\n const date = new Date(Number(iso[1]), Number(iso[2]) - 1, Number(iso[3]));\n if (!isNaN(date.getTime())) return date;\n }\n\n // Fallback: native Date parsing\n const date = new Date(value);\n return isNaN(date.getTime()) ? null : date;\n}\n\nfunction parseByFormat(value: string, fmt: string): Date | null {\n let regex = fmt.replace(/\\[([^\\]]*)\\]/g, (_, text) => escapeRegex(text));\n const groups: { token: string; pos: number }[] = [];\n\n const tokenMap: [string, string][] = [\n ['YYYY', '(\\\\d{4})'],\n ['YY', '(\\\\d{2})'],\n ['MM', '(\\\\d{2})'],\n ['M', '(\\\\d{1,2})'],\n ['DD', '(\\\\d{2})'],\n ['D', '(\\\\d{1,2})'],\n ];\n\n for (const [token, pattern] of tokenMap) {\n const idx = regex.indexOf(token);\n if (idx !== -1) {\n regex = regex.replace(token, pattern);\n groups.push({ token, pos: idx });\n }\n }\n\n groups.sort((a, b) => a.pos - b.pos);\n\n regex = regex.replace('wo', '\\\\d{1,2}');\n regex = regex.replace('Q', '\\\\d');\n\n try {\n const match = value.match(new RegExp(`^${regex}$`));\n if (!match) return null;\n\n let year = new Date().getFullYear();\n let month = 1;\n let day = 1;\n\n groups.forEach(({ token }, i) => {\n const val = Number(match[i + 1]);\n switch (token) {\n case 'YYYY':\n year = val;\n break;\n case 'YY':\n year = 2000 + val;\n break;\n case 'MM':\n case 'M':\n month = val;\n break;\n case 'DD':\n case 'D':\n day = val;\n break;\n }\n });\n\n const date = new Date(year, month - 1, day);\n if (isNaN(date.getTime())) return null;\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day)\n return null;\n return date;\n } catch {\n return null;\n }\n}\n\nfunction escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nconst displayValue = computed(() => formatDate(selectedDate.value));\n\n// ─────────────────────────────────────────────\n// Locale-aware calendar labels\n// ─────────────────────────────────────────────\nconst weekdayLabels = computed(() => {\n const loc = resolvedLocale.value;\n const labels: string[] = [];\n for (let i = 0; i < 7; i++) {\n // Jan 7, 2024 is a Sunday — offset by i to get Sun..Sat\n const day = new Date(2024, 0, 7 + i);\n labels.push(day.toLocaleDateString(loc, { weekday: 'short' }).slice(0, 2));\n }\n return labels;\n});\n\nconst monthLabels = computed(() => {\n const loc = resolvedLocale.value;\n return Array.from({ length: 12 }, (_, i) =>\n new Date(2024, i, 1).toLocaleDateString(loc, { month: 'short' }),\n );\n});\n\nconst todayLabel = computed(() => {\n const loc = resolvedLocale.value;\n // Use Intl to get localized \"Today\" - fallback to English\n try {\n const rtf = new Intl.RelativeTimeFormat(loc, { numeric: 'auto' });\n const parts = rtf.formatToParts(0, 'day');\n const value = parts.find((p) => p.type === 'literal')?.value;\n if (value && value.trim()) return value.trim().charAt(0).toUpperCase() + value.trim().slice(1);\n } catch {\n /* fallback */\n }\n return 'Today';\n});\n\n// ─────────────────────────────────────────────\n// Calendar data generation\n// ─────────────────────────────────────────────\nconst calendarDates = computed(() => {\n const year = panelDate.value.getFullYear();\n const month = panelDate.value.getMonth();\n const firstDay = new Date(year, month, 1);\n const startDay = firstDay.getDay();\n const dates: { date: Date; current: boolean }[] = [];\n\n for (let i = startDay - 1; i >= 0; i--) {\n dates.push({ date: new Date(year, month, -i), current: false });\n }\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n for (let i = 1; i <= daysInMonth; i++) {\n dates.push({ date: new Date(year, month, i), current: true });\n }\n const remaining = 42 - dates.length;\n for (let i = 1; i <= remaining; i++) {\n dates.push({ date: new Date(year, month + 1, i), current: false });\n }\n return dates;\n});\n\nconst calendarMonths = computed(() => {\n return monthLabels.value.map((label, idx) => ({\n label,\n month: idx,\n year: panelDate.value.getFullYear(),\n }));\n});\n\nconst calendarYears = computed(() => {\n const year = panelDate.value.getFullYear();\n const decadeStart = Math.floor(year / 10) * 10;\n const years: { year: number; current: boolean }[] = [];\n for (let i = decadeStart - 1; i <= decadeStart + 10; i++) {\n years.push({ year: i, current: i >= decadeStart && i < decadeStart + 10 });\n }\n return years;\n});\n\nconst calendarQuarters = computed(() => {\n const year = panelDate.value.getFullYear();\n return [1, 2, 3, 4].map((q) => ({ quarter: q, year, label: `Q${q}` }));\n});\n\nconst panelHeading = computed(() => {\n const y = panelDate.value.getFullYear();\n const m = panelDate.value.getMonth();\n if (panelMode.value === 'date' || panelMode.value === 'week') {\n return `${monthLabels.value[m]} ${y}`;\n }\n if (panelMode.value === 'month' || panelMode.value === 'quarter') {\n return `${y}`;\n }\n if (panelMode.value === 'year') {\n const decadeStart = Math.floor(y / 10) * 10;\n return `${decadeStart} - ${decadeStart + 9}`;\n }\n return `${y}`;\n});\n\n// ─────────────────────────────────────────────\n// Date checks\n// ─────────────────────────────────────────────\nfunction isSameDay(a: Date, b: Date): boolean {\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n );\n}\n\nfunction isToday(d: Date): boolean {\n return isSameDay(d, new Date());\n}\n\nfunction isSelected(d: Date): boolean {\n return selectedDate.value ? isSameDay(d, selectedDate.value) : false;\n}\n\nfunction isDateDisabled(d: Date): boolean {\n if (__props.minDate && d < new Date(__props.minDate.getFullYear(), __props.minDate.getMonth(), __props.minDate.getDate()))\n return true;\n if (__props.maxDate && d > new Date(__props.maxDate.getFullYear(), __props.maxDate.getMonth(), __props.maxDate.getDate()))\n return true;\n if (__props.disabledDate) return __props.disabledDate(d, { type: __props.picker as `${BDatePickerType}` });\n return false;\n}\n\n// ─────────────────────────────────────────────\n// Panel open/close\n// ─────────────────────────────────────────────\nfunction openPanel() {\n if (__props.disabled) return;\n isOpen.value = true;\n isPanelOpen.value = true;\n emit('openChange', true);\n panelEl.value?.showPopover?.();\n inputEl.value?.focus();\n}\n\nfunction closePanel() {\n isOpen.value = false;\n isPanelOpen.value = false;\n emit('openChange', false);\n panelEl.value?.hidePopover?.();\n inputEl.value?.focus();\n}\n\nfunction togglePanel() {\n if (isPanelOpen.value) {\n closePanel();\n } else {\n openPanel();\n }\n}\n\nfunction handlePopoverToggle(e: Event) {\n const toggleEvent = e as ToggleEvent;\n const nowOpen = toggleEvent.newState === 'open';\n isOpen.value = nowOpen;\n isPanelOpen.value = nowOpen;\n if (!nowOpen) {\n emit('openChange', false);\n }\n}\n\n// ─────────────────────────────────────────────\n// Selection handlers\n// ─────────────────────────────────────────────\nfunction selectDate(d: Date) {\n if (isDateDisabled(d)) return;\n selectedDate.value = d;\n panelDate.value = new Date(d);\n emit('change', d, formatDate(d));\n closePanel();\n}\n\nfunction selectMonth(month: number) {\n if (__props.picker === BDatePickerType.Month) {\n const d = new Date(panelDate.value.getFullYear(), month, 1);\n selectedDate.value = d;\n emit('change', d, formatDate(d));\n closePanel();\n } else {\n panelDate.value = new Date(panelDate.value.getFullYear(), month, 1);\n panelMode.value = 'date';\n emit('panelChange', panelDate.value, 'date');\n }\n}\n\nfunction selectYear(year: number) {\n if (__props.picker === BDatePickerType.Year) {\n const d = new Date(year, 0, 1);\n selectedDate.value = d;\n emit('change', d, formatDate(d));\n closePanel();\n } else {\n panelDate.value = new Date(year, panelDate.value.getMonth(), 1);\n panelMode.value = __props.picker === BDatePickerType.Month ? 'month' : 'date';\n emit('panelChange', panelDate.value, panelMode.value);\n }\n}\n\nfunction selectQuarter(quarter: number) {\n const d = new Date(panelDate.value.getFullYear(), (quarter - 1) * 3, 1);\n selectedDate.value = d;\n emit('change', d, formatDate(d));\n closePanel();\n}\n\nfunction selectToday() {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n selectDate(today);\n}\n\nfunction selectPreset(preset: BDatePickerPreset) {\n const val = typeof preset.value === 'function' ? preset.value() : preset.value;\n selectDate(val);\n}\n\nfunction clearValue(e: Event) {\n e.stopPropagation();\n selectedDate.value = null;\n emit('change', null, '');\n}\n\n// ─────────────────────────────────────────────\n// Navigation\n// ─────────────────────────────────────────────\nfunction prevMonth() {\n panelDate.value = new Date(panelDate.value.getFullYear(), panelDate.value.getMonth() - 1, 1);\n}\n\nfunction nextMonth() {\n panelDate.value = new Date(panelDate.value.getFullYear(), panelDate.value.getMonth() + 1, 1);\n}\n\nfunction prevYear() {\n panelDate.value = new Date(panelDate.value.getFullYear() - 1, panelDate.value.getMonth(), 1);\n}\n\nfunction nextYear() {\n panelDate.value = new Date(panelDate.value.getFullYear() + 1, panelDate.value.getMonth(), 1);\n}\n\nfunction prevDecade() {\n panelDate.value = new Date(panelDate.value.getFullYear() - 10, panelDate.value.getMonth(), 1);\n}\n\nfunction nextDecade() {\n panelDate.value = new Date(panelDate.value.getFullYear() + 10, panelDate.value.getMonth(), 1);\n}\n\nfunction switchPanelMode(mode: string) {\n panelMode.value = mode;\n emit('panelChange', panelDate.value, mode);\n}\n\n// ─────────────────────────────────────────────\n// Input handling\n// ─────────────────────────────────────────────\nconst inputText = ref('');\n\nfunction handleInputChange(e: Event) {\n const value = (e.target as HTMLInputElement).value;\n inputText.value = value;\n}\n\nfunction handleInputBlur() {\n if (inputText.value) {\n const parsed = parseInput(inputText.value);\n if (parsed && !isDateDisabled(parsed)) {\n selectedDate.value = parsed;\n panelDate.value = new Date(parsed);\n emit('change', parsed, formatDate(parsed));\n }\n }\n inputText.value = '';\n}\n\nfunction handleInputKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter') {\n if (!isPanelOpen.value) {\n openPanel();\n } else {\n handleInputBlur();\n closePanel();\n }\n } else if (e.key === 'Escape') {\n closePanel();\n } else if (e.key === 'ArrowDown' && !isPanelOpen.value) {\n openPanel();\n }\n}\n\n// ─────────────────────────────────────────────\n// Keyboard navigation in panel\n// ─────────────────────────────────────────────\nfunction handlePanelKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n closePanel();\n return;\n }\n\n if (panelMode.value === 'date' || panelMode.value === 'week') {\n handleDateKeydown(e);\n } else if (panelMode.value === 'month') {\n handleMonthKeydown(e);\n } else if (panelMode.value === 'year') {\n handleYearKeydown(e);\n }\n}\n\nfunction handleDateKeydown(e: KeyboardEvent) {\n const pd = new Date(panelDate.value);\n let moved = false;\n\n switch (e.key) {\n case 'ArrowLeft':\n pd.setDate(pd.getDate() - 1);\n moved = true;\n break;\n case 'ArrowRight':\n pd.setDate(pd.getDate() + 1);\n moved = true;\n break;\n case 'ArrowUp':\n pd.setDate(pd.getDate() - 7);\n moved = true;\n break;\n case 'ArrowDown':\n pd.setDate(pd.getDate() + 7);\n moved = true;\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n selectDate(panelDate.value);\n return;\n case 'PageUp':\n if (e.shiftKey) {\n prevYear();\n } else {\n prevMonth();\n }\n e.preventDefault();\n return;\n case 'PageDown':\n if (e.shiftKey) {\n nextYear();\n } else {\n nextMonth();\n }\n e.preventDefault();\n return;\n }\n\n if (moved) {\n e.preventDefault();\n panelDate.value = pd;\n }\n}\n\nfunction handleMonthKeydown(e: KeyboardEvent) {\n const currentMonth = panelDate.value.getMonth();\n let newMonth = currentMonth;\n\n switch (e.key) {\n case 'ArrowLeft':\n newMonth = currentMonth - 1;\n break;\n case 'ArrowRight':\n newMonth = currentMonth + 1;\n break;\n case 'ArrowUp':\n newMonth = currentMonth - 3;\n break;\n case 'ArrowDown':\n newMonth = currentMonth + 3;\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n selectMonth(currentMonth);\n return;\n default:\n return;\n }\n\n e.preventDefault();\n if (newMonth < 0) {\n panelDate.value = new Date(panelDate.value.getFullYear() - 1, 12 + newMonth, 1);\n } else if (newMonth > 11) {\n panelDate.value = new Date(panelDate.value.getFullYear() + 1, newMonth - 12, 1);\n } else {\n panelDate.value = new Date(panelDate.value.getFullYear(), newMonth, 1);\n }\n}\n\nfunction handleYearKeydown(e: KeyboardEvent) {\n const currentYear = panelDate.value.getFullYear();\n let newYear = currentYear;\n\n switch (e.key) {\n case 'ArrowLeft':\n newYear = currentYear - 1;\n break;\n case 'ArrowRight':\n newYear = currentYear + 1;\n break;\n case 'ArrowUp':\n newYear = currentYear - 3;\n break;\n case 'ArrowDown':\n newYear = currentYear + 3;\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n selectYear(currentYear);\n return;\n default:\n return;\n }\n\n e.preventDefault();\n panelDate.value = new Date(newYear, panelDate.value.getMonth(), 1);\n}\n\n// ─────────────────────────────────────────────\n// Computed panel mode checks\n// ─────────────────────────────────────────────\nconst showDateGrid = computed(() => panelMode.value === 'date' || panelMode.value === 'week');\nconst showMonthGrid = computed(() => panelMode.value === 'month');\nconst showYearGrid = computed(() => panelMode.value === 'year');\nconst showQuarterGrid = computed(() => panelMode.value === 'quarter');\n\n// ─────────────────────────────────────────────\n// Placeholder\n// ─────────────────────────────────────────────\nconst effectivePlaceholder = computed(() => {\n if (__props.placeholder) return __props.placeholder;\n const map: Record<string, string> = {\n date: 'Select date',\n week: 'Select week',\n month: 'Select month',\n quarter: 'Select quarter',\n year: 'Select year',\n };\n return map[__props.picker] ?? 'Select date';\n});\n\n// ─────────────────────────────────────────────\n// Watch for controlled open\n// ─────────────────────────────────────────────\nwatch(\n () => __props.open,\n (val) => {\n if (val !== undefined) {\n isPanelOpen.value = val;\n isOpen.value = val;\n if (val) {\n panelEl.value?.showPopover?.();\n } else {\n panelEl.value?.hidePopover?.();\n }\n }\n },\n);\n\nwatch(isPanelOpen, (val) => {\n if (val) {\n panelMode.value = __props.picker;\n if (selectedDate.value) {\n panelDate.value = new Date(selectedDate.value);\n }\n }\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"b-date-picker\", [\n `b-date-picker--${__props.size}`,\n `b-date-picker--${__props.variant}`,\n {\n 'b-date-picker--disabled': __props.disabled,\n 'b-date-picker--focused': isPanelOpen.value,\n 'b-date-picker--clearable': __props.allowClear && !!selectedDate.value && !__props.disabled,\n 'b-date-picker--error': __props.status === _unref(BDatePickerStatus).Error,\n 'b-date-picker--warning': __props.status === _unref(BDatePickerStatus).Warning,\n },\n ]])\n }, [\n _createElementVNode(\"div\", {\n class: \"b-date-picker__input-wrap\",\n onClick: togglePanel\n }, [\n _createElementVNode(\"input\", {\n ref_key: \"inputEl\",\n ref: inputEl,\n class: \"b-date-picker__input\",\n type: \"text\",\n value: inputText.value || displayValue.value,\n placeholder: effectivePlaceholder.value,\n disabled: __props.disabled,\n readonly: __props.inputReadOnly,\n \"aria-expanded\": isPanelOpen.value,\n \"aria-haspopup\": \"dialog\",\n \"aria-controls\": isPanelOpen.value ? `b-date-picker-panel-${_unref(componentUID)}` : undefined,\n role: \"combobox\",\n autocomplete: \"off\",\n onInput: handleInputChange,\n onBlur: handleInputBlur,\n onKeydown: handleInputKeydown\n }, null, 40, _hoisted_1),\n (__props.allowClear && selectedDate.value && !__props.disabled)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"b-date-picker__clear\",\n type: \"button\",\n \"aria-label\": \"Clear date\",\n tabindex: \"-1\",\n onClick: clearValue\n }, [...(_cache[2] || (_cache[2] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\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 10.707.707L8 8.707l2.121 2.121a.5.5 0 10.707-.707L8.707 8l2.121-2.121a.5.5 0 000-.707z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true),\n _cache[3] || (_cache[3] = _createElementVNode(\"span\", {\n class: \"b-date-picker__suffix\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\"\n }, [\n _createElementVNode(\"path\", { d: \"M4.5 1a.5.5 0 01.5.5V2h6v-.5a.5.5 0 011 0V2h1.5A1.5 1.5 0 0115 3.5v10a1.5 1.5 0 01-1.5 1.5h-11A1.5 1.5 0 011 13.5v-10A1.5 1.5 0 012.5 2H4v-.5a.5.5 0 01.5-.5zM14 6H2v7.5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V6zm-1.5-3H12v.5a.5.5 0 01-1 0V3H5v.5a.5.5 0 01-1 0V3H2.5a.5.5 0 00-.5.5V5h12V3.5a.5.5 0 00-.5-.5z\" })\n ])\n ], -1))\n ]),\n _createElementVNode(\"div\", {\n id: `b-date-picker-panel-${_unref(componentUID)}`,\n ref_key: \"panelEl\",\n ref: panelEl,\n class: \"b-date-picker__panel\",\n popover: \"\",\n role: \"dialog\",\n \"aria-label\": `${__props.picker} picker`,\n \"aria-modal\": true,\n onToggle: handlePopoverToggle,\n onKeydown: handlePanelKeydown\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (__props.presets && __props.presets.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(__props.presets, (preset) => {\n return (_openBlock(), _createElementBlock(\"button\", {\n key: preset.label,\n class: \"b-date-picker__preset-btn\",\n type: \"button\",\n onClick: ($event: any) => (selectPreset(preset))\n }, _toDisplayString(preset.label), 9, _hoisted_5))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n (showDateGrid.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"b-date-picker__nav-btn\",\n type: \"button\",\n \"aria-label\": \"Previous year\",\n onClick: prevYear\n }, [...(_cache[4] || (_cache[4] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", { d: \"M9.354 3.354a.5.5 0 00-.708-.708l-5 5a.5.5 0 000 .708l5 5a.5.5 0 00.708-.708L4.707 8l4.647-4.646z\" }),\n _createElementVNode(\"path\", { d: \"M12.354 3.354a.5.5 0 00-.708-.708l-5 5a.5.5 0 000 .708l5 5a.5.5 0 00.708-.708L7.707 8l4.647-4.646z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true),\n (showYearGrid.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: \"b-date-picker__nav-btn\",\n type: \"button\",\n \"aria-label\": \"Previous decade\",\n onClick: prevDecade\n }, [...(_cache[5] || (_cache[5] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", { d: \"M9.354 3.354a.5.5 0 00-.708-.708l-5 5a.5.5 0 000 .708l5 5a.5.5 0 00.708-.708L4.707 8l4.647-4.646z\" }),\n _createElementVNode(\"path\", { d: \"M12.354 3.354a.5.5 0 00-.708-.708l-5 5a.5.5 0 000 .708l5 5a.5.5 0 00.708-.708L7.707 8l4.647-4.646z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true),\n (showDateGrid.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n class: \"b-date-picker__nav-btn\",\n type: \"button\",\n \"aria-label\": \"Previous month\",\n onClick: prevMonth\n }, [...(_cache[6] || (_cache[6] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", { d: \"M10.354 3.354a.5.5 0 00-.708-.708l-5 5a.5.5 0 000 .708l5 5a.5.5 0 00.708-.708L5.707 8l4.647-4.646z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true),\n (showMonthGrid.value || showQuarterGrid.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 3,\n class: \"b-date-picker__nav-btn\",\n type: \"button\",\n \"aria-label\": \"Previous year\",\n onClick: prevYear\n }, [...(_cache[7] || (_cache[7] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", { d: \"M10.354 3.354a.5.5 0 00-.708-.708l-5 5a.5.5 0 000 .708l5 5a.5.5 0 00.708-.708L5.707 8l4.647-4.646z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"b-date-picker__heading\",\n type: \"button\",\n \"aria-label\": `Current view: ${panelHeading.value}`,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n switchPanelMode(\n panelMode.value === 'date' || panelMode.value === 'week'\n ? 'month'\n : panelMode.value === 'month' || panelMode.value === 'quarter'\n ? 'year'\n : 'year',\n )\n ))\n }, _toDisplayString(panelHeading.value), 9, _hoisted_8),\n (showDateGrid.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 4,\n class: \"b-date-picker__nav-btn\",\n type: \"button\",\n \"aria-label\": \"Next month\",\n onClick: nextMonth\n }, [...(_cache[8] || (_cache[8] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", { d: \"M5.646 3.354a.5.5 0 01.708-.708l5 5a.5.5 0 010 .708l-5 5a.5.5 0 01-.708-.708L10.293 8 5.646 3.354z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true),\n (showMonthGrid.value || showQuarterGrid.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 5,\n class: \"b-date-picker__nav-btn\",\n type: \"button\",\n \"aria-label\": \"Next year\",\n onClick: nextYear\n }, [...(_cache[9] || (_cache[9] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", { d: \"M5.646 3.354a.5.5 0 01.708-.708l5 5a.5.5 0 010 .708l-5 5a.5.5 0 01-.708-.708L10.293 8 5.646 3.354z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true),\n (showDateGrid.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 6,\n class: \"b-date-picker__nav-btn\",\n type: \"button\",\n \"aria-label\": \"Next year\",\n onClick: nextYear\n }, [...(_cache[10] || (_cache[10] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", { d: \"M5.646 3.354a.5.5 0 01.708-.708l5 5a.5.5 0 010 .708l-5 5a.5.5 0 01-.708-.708L10.293 8 5.646 3.354z\" }),\n _createElementVNode(\"path\", { d: \"M2.646 3.354a.5.5 0 01.708-.708l5 5a.5.5 0 010 .708l-5 5a.5.5 0 01-.708-.708L7.293 8 2.646 3.354z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true),\n (showYearGrid.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 7,\n class: \"b-date-picker__nav-btn\",\n type: \"button\",\n \"aria-label\": \"Next decade\",\n onClick: nextDecade\n }, [...(_cache[11] || (_cache[11] = [\n _createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createElementVNode(\"path\", { d: \"M5.646 3.354a.5.5 0 01.708-.708l5 5a.5.5 0 010 .708l-5 5a.5.5 0 01-.708-.708L10.293 8 5.646 3.354z\" }),\n _createElementVNode(\"path\", { d: \"M2.646 3.354a.5.5 0 01.708-.708l5 5a.5.5 0 010 .708l-5 5a.5.5 0 01-.708-.708L7.293 8 2.646 3.354z\" })\n ], -1)\n ]))]))\n : _createCommentVNode(\"\", true)\n ]),\n (showDateGrid.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n (__props.showWeek)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, \" # \"))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(weekdayLabels.value, (day) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: day,\n class: \"b-date-picker__weekday\",\n role: \"columnheader\",\n \"aria-label\": day\n }, _toDisplayString(day), 9, _hoisted_12))\n }), 128))\n ]),\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(6, (row, rowIdx) => {\n return _createElementVNode(\"div\", {\n key: rowIdx,\n class: \"b-date-picker__row\",\n role: \"row\"\n }, [\n (__props.showWeek)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, _toDisplayString(getWeekNumber(calendarDates.value[rowIdx * 7].date)), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(calendarDates.value.slice(rowIdx * 7, rowIdx * 7 + 7), (cell, colIdx) => {\n return (_openBlock(), _createElementBlock(\"button\", {\n key: colIdx,\n class: _normalizeClass([\"b-date-picker__cell\", {\n 'b-date-picker__cell--other': !cell.current,\n 'b-date-picker__cell--today': isToday(cell.date),\n 'b-date-picker__cell--selected': isSelected(cell.date),\n 'b-date-picker__cell--disabled': isDateDisabled(cell.date),\n 'b-date-picker__cell--hovered': hoveredDate.value && isSameDay(cell.date, hoveredDate.value),\n }]),\n type: \"button\",\n \"aria-label\": `${cell.date.getFullYear()}-${String(cell.date.getMonth() + 1).padStart(2, '0')}-${String(cell.date.getDate()).padStart(2, '0')}`,\n \"aria-selected\": isSelected(cell.date),\n \"aria-disabled\": isDateDisabled(cell.date),\n disabled: isDateDisabled(cell.date),\n tabindex: isSameDay(cell.date, panelDate.value) ? 0 : -1,\n onClick: ($event: any) => (selectDate(cell.date)),\n onMouseenter: ($event: any) => (hoveredDate.value = cell.date),\n onMouseleave: _cache[1] || (_cache[1] = ($event: any) => (hoveredDate.value = null))\n }, _toDisplayString(cell.date.getDate()), 43, _hoisted_14))\n }), 128))\n ])\n }), 64))\n ]))\n : _createCommentVNode(\"\", true),\n (showMonthGrid.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(calendarMonths.value, (item) => {\n return (_openBlock(), _createElementBlock(\"button\", {\n key: item.month,\n class: _normalizeClass([\"b-date-picker__cell b-date-picker__cell--large\", {\n 'b-date-picker__cell--selected':\n selectedDate.value &&\n selectedDate.value.getFullYear() === item.year &&\n selectedDate.value.getMonth() === item.month,\n 'b-date-picker__cell--current':\n new Date().getMonth() === item.month && new Date().getFullYear() === item.year,\n }]),\n type: \"button\",\n \"aria-label\": item.label,\n \"aria-selected\": \n selectedDate.value?.getMonth() === item.month && selectedDate.value?.getFullYear() === item.year\n ,\n onClick: ($event: any) => (selectMonth(item.month))\n }, _toDisplayString(item.label), 11, _hoisted_16))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (showYearGrid.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(calendarYears.value, (item) => {\n return (_openBlock(), _createElementBlock(\"button\", {\n key: item.year,\n class: _normalizeClass([\"b-date-picker__cell b-date-picker__cell--large\", {\n 'b-date-picker__cell--other': !item.current,\n 'b-date-picker__cell--selected':\n selectedDate.value && selectedDate.value.getFullYear() === item.year,\n 'b-date-picker__cell--current': new Date().getFullYear() === item.year,\n }]),\n type: \"button\",\n \"aria-label\": String(item.year),\n \"aria-selected\": selectedDate.value?.getFullYear() === item.year,\n onClick: ($event: any) => (selectYear(item.year))\n }, _toDisplayString(item.year), 11, _hoisted_18))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (showQuarterGrid.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(calendarQuarters.value, (item) => {\n return (_openBlock(), _createElementBlock(\"button\", {\n key: item.quarter,\n class: _normalizeClass([\"b-date-picker__cell b-date-picker__cell--large\", {\n 'b-date-picker__cell--selected':\n selectedDate.value &&\n Math.ceil((selectedDate.value.getMonth() + 1) / 3) === item.quarter &&\n selectedDate.value.getFullYear() === item.year,\n }]),\n type: \"button\",\n \"aria-label\": `Quarter ${item.quarter}`,\n onClick: ($event: any) => (selectQuarter(item.quarter))\n }, _toDisplayString(item.label), 11, _hoisted_20))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (__props.showNow && (panelMode.value === 'date' || panelMode.value === 'week'))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"button\", {\n class: \"b-date-picker__today-btn\",\n type: \"button\",\n onClick: selectToday\n }, _toDisplayString(todayLabel.value), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 40, _hoisted_2)\n ], 2))\n}\n}\n\n})"],"mappings":"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"}
1
+ {"version":3,"file":"design-system61.js","names":[],"sources":["../src/components/BCollapse/BCollapse.vue"],"sourcesContent":["<script setup lang=\"ts\">\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 */\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// ─────────────────────────────────────────────\nconst props = withDefaults(\n defineProps<{\n /** Currently active panel key(s). Use with v-model for controlled mode. */\n modelValue?: (string | number)[];\n /** Initial active panel key(s) for uncontrolled mode. */\n defaultActiveKey?: (string | number)[];\n /** Accordion mode - only one panel open at a time. */\n accordion?: boolean;\n /** Show border around the collapse. @default true */\n bordered?: boolean;\n /** Group-level collapsible trigger: 'header' | 'icon' | 'disabled'. */\n collapsible?: BCollapseCollapsible;\n /** Destroy (unmount) inactive panel content. @default false */\n destroyInactivePanel?: boolean;\n /** Position of the expand icon. @default 'start' */\n expandIconPosition?: BCollapseExpandIconPosition;\n /** Ghost mode - borderless with transparent background. @default false */\n ghost?: boolean;\n /** Size of the collapse. @default 'default' */\n size?: BCollapseSize;\n }>(),\n {\n modelValue: undefined,\n defaultActiveKey: () => [],\n accordion: false,\n bordered: true,\n collapsible: undefined,\n destroyInactivePanel: false,\n expandIconPosition: 'start',\n ghost: false,\n size: 'default',\n },\n);\n\nconst emit = defineEmits<{\n 'update:modelValue': [keys: (string | number)[]];\n change: [keys: (string | number)[]];\n}>();\n\ndefineSlots<{\n default?(): unknown;\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</script>\n\n<template>\n <div\n class=\"b-collapse\"\n :class=\"{\n 'b-collapse--bordered': bordered,\n 'b-collapse--borderless': !bordered,\n 'b-collapse--ghost': ghost,\n 'b-collapse--small': size === 'small',\n }\"\n role=\"presentation\"\n >\n <slot />\n </div>\n</template>\n\n<style>\n/* ─────────────────────────────────────────────\n BCollapse (Group) styles\n ───────────────────────────────────────────── */\n.b-collapse {\n --b-collapse-border-color: oklch(88% 0 0);\n --b-collapse-border-radius: 8px;\n}\n\n[data-prefers-color='dark'] .b-collapse {\n --b-collapse-border-color: oklch(32% 0.005 260);\n}\n\n@media (prefers-color-scheme: dark) {\n [data-prefers-color='system'] .b-collapse {\n --b-collapse-border-color: oklch(32% 0.005 260);\n }\n}\n\n.b-collapse {\n box-sizing: border-box;\n font-family: inherit;\n}\n\n/* ── Bordered (default) ─────────────────────── */\n.b-collapse--bordered {\n border: 1px solid var(--b-collapse-border-color);\n border-radius: var(--b-collapse-border-radius);\n overflow: hidden;\n}\n\n/* ── Borderless ─────────────────────────────── */\n.b-collapse--borderless {\n background: transparent;\n}\n\n.b-collapse--borderless .b-collapse-panel {\n border-bottom: 1px solid var(--b-collapse-border-color);\n}\n\n.b-collapse--borderless .b-collapse-panel:last-child {\n border-bottom: none;\n}\n\n.b-collapse--borderless .b-collapse-panel__body {\n background: transparent;\n}\n\n/* ── Ghost mode ─────────────────────────────── */\n.b-collapse--ghost {\n border: none;\n background: transparent;\n}\n\n.b-collapse--ghost .b-collapse-panel {\n border-bottom: none;\n margin-bottom: 8px;\n}\n\n.b-collapse--ghost .b-collapse-panel:last-child {\n margin-bottom: 0;\n}\n\n.b-collapse--ghost .b-collapse-panel__header {\n border-radius: var(--b-collapse-border-radius);\n}\n\n.b-collapse--ghost .b-collapse-panel__body {\n background: transparent;\n border-top: none;\n}\n\n/* ── Small size ─────────────────────────────── */\n.b-collapse--small .b-collapse-panel__header {\n padding: 8px 12px;\n font-size: 13px;\n}\n\n.b-collapse--small .b-collapse-panel__body {\n padding: 12px;\n font-size: 13px;\n}\n</style>\n"],"mappings":""}
@@ -0,0 +1,101 @@
1
+ import e from "./design-system27.js";
2
+ import { BCollapseGroupContextKey as t } from "./design-system58.js";
3
+ import { computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, inject as l, normalizeClass as u, openBlock as d, ref as f, renderSlot as p, toDisplayString as m, unref as h, useId as g, watch as _ } from "vue";
4
+ //#region src/components/BCollapse/BCollapsePanel.vue?vue&type=script&setup=true&lang.ts
5
+ var v = [
6
+ "id",
7
+ "tabindex",
8
+ "aria-expanded",
9
+ "aria-controls",
10
+ "aria-disabled"
11
+ ], y = { class: "b-collapse-panel__header-text" }, b = {
12
+ key: 1,
13
+ class: "b-collapse-panel__extra"
14
+ }, x = [
15
+ "id",
16
+ "aria-labelledby",
17
+ "aria-hidden"
18
+ ], S = {
19
+ key: 0,
20
+ class: "b-collapse-panel__content"
21
+ }, C = { class: "b-collapse-panel__body" }, w = /* @__PURE__ */ c({
22
+ __name: "BCollapsePanel",
23
+ props: {
24
+ panelKey: {},
25
+ header: { default: "" },
26
+ disabled: {
27
+ type: Boolean,
28
+ default: !1
29
+ },
30
+ collapsible: {},
31
+ showArrow: {
32
+ type: Boolean,
33
+ default: !0
34
+ },
35
+ forceRender: {
36
+ type: Boolean,
37
+ default: !1
38
+ },
39
+ extra: {}
40
+ },
41
+ setup(c) {
42
+ let w = l(t, null), T = f(!1), E = n(() => w ? w.isActive(c.panelKey) : T.value), D = n(() => c.disabled ? "disabled" : c.collapsible ?? w?.collapsible.value), O = n(() => D.value === "disabled"), k = n(() => w?.expandIconPosition.value ?? "start"), A = f(c.forceRender || E.value);
43
+ _(E, (e) => {
44
+ e && (A.value = !0);
45
+ });
46
+ let j = g(), M = g();
47
+ function N() {
48
+ O.value || (w ? w.toggle(c.panelKey) : T.value = !T.value);
49
+ }
50
+ function P() {
51
+ D.value !== "icon" && N();
52
+ }
53
+ function F(e) {
54
+ D.value === "icon" && (e.stopPropagation(), N());
55
+ }
56
+ function I(e) {
57
+ O.value || (e.key === "Enter" || e.key === " ") && (e.preventDefault(), N());
58
+ }
59
+ return (t, n) => (d(), i("div", { class: u(["b-collapse-panel", {
60
+ "b-collapse-panel--active": E.value,
61
+ "b-collapse-panel--disabled": O.value
62
+ }]) }, [a("div", {
63
+ id: h(j),
64
+ class: u(["b-collapse-panel__header", {
65
+ "b-collapse-panel__header--icon-end": k.value === "end",
66
+ "b-collapse-panel__header--clickable": !O.value && D.value !== "icon",
67
+ "b-collapse-panel__header--icon-clickable": !O.value && D.value === "icon"
68
+ }]),
69
+ role: "button",
70
+ tabindex: O.value ? -1 : 0,
71
+ "aria-expanded": E.value,
72
+ "aria-controls": h(M),
73
+ "aria-disabled": O.value,
74
+ onClick: P,
75
+ onKeydown: I
76
+ }, [
77
+ c.showArrow ? (d(), i("span", {
78
+ key: 0,
79
+ class: u(["b-collapse-panel__arrow", { "b-collapse-panel__arrow--active": E.value }]),
80
+ "aria-hidden": "true",
81
+ onClick: F
82
+ }, [p(t.$slots, "expandIcon", { isActive: E.value }, () => [s(e, {
83
+ icon: "chevron-right",
84
+ size: "sm",
85
+ class: "b-collapse-panel__arrow-icon"
86
+ })])], 2)) : r("", !0),
87
+ a("span", y, [p(t.$slots, "header", {}, () => [o(m(c.header), 1)])]),
88
+ c.extra || t.$slots.extra ? (d(), i("span", b, [p(t.$slots, "extra", {}, () => [o(m(c.extra), 1)])])) : r("", !0)
89
+ ], 42, v), a("div", {
90
+ id: h(M),
91
+ class: u(["b-collapse-panel__content-wrapper", { "b-collapse-panel__content-wrapper--active": E.value }]),
92
+ role: "region",
93
+ "aria-labelledby": h(j),
94
+ "aria-hidden": !E.value
95
+ }, [E.value || A.value || c.forceRender ? (d(), i("div", S, [a("div", C, [p(t.$slots, "default")])])) : r("", !0)], 10, x)], 2));
96
+ }
97
+ });
98
+ //#endregion
99
+ export { w as default };
100
+
101
+ //# sourceMappingURL=design-system62.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-system62.js","names":["$slots"],"sources":["../src/components/BCollapse/BCollapsePanel.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport BIcon from '@/components/BIcon/BIcon.vue';\nimport { computed, inject, ref, useId, watch } from 'vue';\nimport {\n BCollapseGroupContextKey,\n type BCollapseCollapsible,\n type BCollapseGroupContext,\n} from './types';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\nconst {\n panelKey,\n header = '',\n disabled = false,\n collapsible,\n showArrow = true,\n forceRender = false,\n extra,\n} = defineProps<{\n /** Unique key identifying this panel within the group. */\n panelKey: string | number;\n /** Title text displayed in the header. */\n header?: string;\n /** Disables the panel (overrides collapsible). */\n disabled?: boolean;\n /** Panel-level collapsible trigger override: 'header' | 'icon' | 'disabled'. */\n collapsible?: BCollapseCollapsible;\n /** Whether to show the expand arrow icon. @default true */\n showArrow?: boolean;\n /** Forces panel content to render even when collapsed. @default false */\n forceRender?: boolean;\n /** Extra content rendered at the end of the header. */\n extra?: string;\n}>();\n\n// ─────────────────────────────────────────────\n// Slots\n// ─────────────────────────────────────────────\ndefineSlots<{\n /** Panel body content. */\n default?(): unknown;\n /** Custom header content (replaces header prop text). */\n header?(): unknown;\n /** Custom expand icon. Receives { isActive: boolean }. */\n expandIcon?(props: { isActive: boolean }): unknown;\n /** Extra content at the end of the header. */\n extra?(): unknown;\n}>();\n\n// ─────────────────────────────────────────────\n// Inject group context (if nested in BCollapseGroup)\n// ─────────────────────────────────────────────\nconst group = inject<BCollapseGroupContext | null>(BCollapseGroupContextKey, null);\n\n// ─────────────────────────────────────────────\n// Standalone mode (no group parent)\n// ─────────────────────────────────────────────\nconst standaloneOpen = ref(false);\n\nconst isActive = computed(() => {\n if (group) {\n return group.isActive(panelKey);\n }\n return standaloneOpen.value;\n});\n\nconst resolvedCollapsible = computed<BCollapseCollapsible | undefined>(() => {\n if (disabled) return 'disabled';\n return collapsible ?? group?.collapsible.value;\n});\n\nconst isDisabled = computed(() => resolvedCollapsible.value === 'disabled');\n\nconst expandIconPosition = computed(() => group?.expandIconPosition.value ?? 'start');\n\nconst hasRendered = ref(forceRender || isActive.value);\n\nwatch(isActive, (val) => {\n if (val) hasRendered.value = true;\n});\n\n// ─────────────────────────────────────────────\n// IDs for a11y\n// ─────────────────────────────────────────────\nconst headerId = useId();\nconst contentId = useId();\n\n// ─────────────────────────────────────────────\n// Handlers\n// ─────────────────────────────────────────────\nfunction toggle() {\n if (isDisabled.value) return;\n\n if (group) {\n group.toggle(panelKey);\n } else {\n standaloneOpen.value = !standaloneOpen.value;\n }\n}\n\nfunction handleHeaderClick() {\n if (resolvedCollapsible.value === 'icon') return;\n toggle();\n}\n\nfunction handleIconClick(e: MouseEvent) {\n if (resolvedCollapsible.value === 'icon') {\n e.stopPropagation();\n toggle();\n }\n}\n\nfunction handleKeydown(e: KeyboardEvent) {\n if (isDisabled.value) return;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n toggle();\n }\n}\n</script>\n\n<template>\n <div\n class=\"b-collapse-panel\"\n :class=\"{\n 'b-collapse-panel--active': isActive,\n 'b-collapse-panel--disabled': isDisabled,\n }\"\n >\n <!-- Header -->\n <div\n :id=\"headerId\"\n class=\"b-collapse-panel__header\"\n :class=\"{\n 'b-collapse-panel__header--icon-end': expandIconPosition === 'end',\n 'b-collapse-panel__header--clickable': !isDisabled && resolvedCollapsible !== 'icon',\n 'b-collapse-panel__header--icon-clickable': !isDisabled && resolvedCollapsible === 'icon',\n }\"\n role=\"button\"\n :tabindex=\"isDisabled ? -1 : 0\"\n :aria-expanded=\"isActive\"\n :aria-controls=\"contentId\"\n :aria-disabled=\"isDisabled\"\n @click=\"handleHeaderClick\"\n @keydown=\"handleKeydown\"\n >\n <!-- Expand icon -->\n <span\n v-if=\"showArrow\"\n class=\"b-collapse-panel__arrow\"\n :class=\"{ 'b-collapse-panel__arrow--active': isActive }\"\n aria-hidden=\"true\"\n @click=\"handleIconClick\"\n >\n <slot name=\"expandIcon\" :is-active=\"isActive\">\n <BIcon icon=\"chevron-right\" size=\"sm\" class=\"b-collapse-panel__arrow-icon\" />\n </slot>\n </span>\n\n <!-- Header text / slot -->\n <span class=\"b-collapse-panel__header-text\">\n <slot name=\"header\">{{ header }}</slot>\n </span>\n\n <!-- Extra -->\n <span v-if=\"extra || $slots.extra\" class=\"b-collapse-panel__extra\">\n <slot name=\"extra\">{{ extra }}</slot>\n </span>\n </div>\n\n <!-- Content -->\n <div\n :id=\"contentId\"\n class=\"b-collapse-panel__content-wrapper\"\n :class=\"{ 'b-collapse-panel__content-wrapper--active': isActive }\"\n role=\"region\"\n :aria-labelledby=\"headerId\"\n :aria-hidden=\"!isActive\"\n >\n <div v-if=\"isActive || hasRendered || forceRender\" class=\"b-collapse-panel__content\">\n <div class=\"b-collapse-panel__body\">\n <slot />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style>\n/* ─────────────────────────────────────────────\n CSS Custom Properties (tokens)\n ───────────────────────────────────────────── */\n.b-collapse-panel {\n --b-collapse-header-padding: 12px 16px;\n --b-collapse-header-bg: oklch(97% 0 0);\n --b-collapse-header-color: oklch(15% 0 0);\n --b-collapse-header-font-size: 14px;\n --b-collapse-header-font-weight: 500;\n --b-collapse-header-line-height: 1.5;\n --b-collapse-content-padding: 16px;\n --b-collapse-content-bg: oklch(100% 0 0);\n --b-collapse-content-color: oklch(27% 0.01 260);\n --b-collapse-border-color: oklch(88% 0 0);\n --b-collapse-border-radius: 8px;\n --b-collapse-arrow-size: 12px;\n --b-collapse-arrow-color: oklch(45% 0 0);\n --b-collapse-extra-color: oklch(45% 0 0);\n --b-collapse-disabled-color: oklch(63% 0 0);\n --b-collapse-disabled-bg: oklch(96% 0 0);\n --b-collapse-transition-duration: 300ms;\n}\n\n/* ── Dark mode ──────────────────────────────── */\n[data-prefers-color='dark'] .b-collapse-panel {\n --b-collapse-header-bg: oklch(22% 0.005 260);\n --b-collapse-header-color: oklch(90% 0 0);\n --b-collapse-content-bg: oklch(18% 0.005 260);\n --b-collapse-content-color: oklch(80% 0.01 260);\n --b-collapse-border-color: oklch(32% 0.005 260);\n --b-collapse-arrow-color: oklch(65% 0 0);\n --b-collapse-extra-color: oklch(65% 0 0);\n --b-collapse-disabled-color: oklch(45% 0 0);\n --b-collapse-disabled-bg: oklch(20% 0.005 260);\n}\n\n/* ─────────────────────────────────────────────\n Panel layout\n ───────────────────────────────────────────── */\n.b-collapse-panel {\n border-bottom: 1px solid var(--b-collapse-border-color);\n}\n\n.b-collapse-panel:first-child .b-collapse-panel__header {\n border-radius: var(--b-collapse-border-radius) var(--b-collapse-border-radius) 0 0;\n}\n\n.b-collapse-panel:last-child {\n border-bottom: none;\n}\n\n.b-collapse-panel:last-child:not(.b-collapse-panel--active) .b-collapse-panel__header {\n border-radius: 0 0 var(--b-collapse-border-radius) var(--b-collapse-border-radius);\n}\n\n/* ─────────────────────────────────────────────\n Header\n ───────────────────────────────────────────── */\n.b-collapse-panel__header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: var(--b-collapse-header-padding);\n background: var(--b-collapse-header-bg);\n color: var(--b-collapse-header-color);\n font-size: var(--b-collapse-header-font-size);\n font-weight: var(--b-collapse-header-font-weight);\n line-height: var(--b-collapse-header-line-height);\n cursor: default;\n user-select: none;\n border: none;\n outline: none;\n position: relative;\n transition: background-color var(--b-collapse-transition-duration) ease;\n}\n\n.b-collapse-panel__header--clickable {\n cursor: pointer;\n}\n\n.b-collapse-panel__header--clickable:hover {\n background: oklch(95% 0 0);\n}\n\n[data-prefers-color='dark'] .b-collapse-panel__header--clickable:hover {\n background: oklch(25% 0.005 260);\n}\n\n@media (prefers-color-scheme: dark) {\n [data-prefers-color='system'] .b-collapse-panel {\n --b-collapse-header-bg: oklch(22% 0.005 260);\n --b-collapse-header-color: oklch(90% 0 0);\n --b-collapse-content-bg: oklch(18% 0.005 260);\n --b-collapse-content-color: oklch(80% 0.01 260);\n --b-collapse-border-color: oklch(32% 0.005 260);\n --b-collapse-arrow-color: oklch(65% 0 0);\n --b-collapse-extra-color: oklch(65% 0 0);\n --b-collapse-disabled-color: oklch(45% 0 0);\n --b-collapse-disabled-bg: oklch(20% 0.005 260);\n }\n [data-prefers-color='system'] .b-collapse-panel__header--clickable:hover {\n background: oklch(25% 0.005 260);\n }\n}\n\n.b-collapse-panel__header--icon-clickable {\n cursor: default;\n}\n\n.b-collapse-panel__header:focus-visible {\n outline: 2px solid oklch(54.6% 0.245 262.881);\n outline-offset: -2px;\n z-index: 1;\n}\n\n.b-collapse-panel__header--icon-end {\n flex-direction: row-reverse;\n}\n\n.b-collapse-panel__header--icon-end .b-collapse-panel__arrow {\n order: 1;\n margin-left: auto;\n}\n\n.b-collapse-panel__header--icon-end .b-collapse-panel__extra {\n order: 0;\n margin-left: auto;\n margin-right: 8px;\n}\n\n/* ─────────────────────────────────────────────\n Arrow\n ───────────────────────────────────────────── */\n.b-collapse-panel__arrow {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--b-collapse-arrow-color);\n transition: transform var(--b-collapse-transition-duration) ease;\n}\n\n.b-collapse-panel__arrow--active {\n transform: rotate(90deg);\n}\n\n.b-collapse-panel__header--icon-clickable .b-collapse-panel__arrow {\n cursor: pointer;\n}\n\n.b-collapse-panel__arrow-icon {\n font-size: var(--b-collapse-arrow-size);\n}\n\n/* ─────────────────────────────────────────────\n Header text & extra\n ───────────────────────────────────────────── */\n.b-collapse-panel__header-text {\n flex: 1;\n min-width: 0;\n}\n\n.b-collapse-panel__extra {\n margin-left: auto;\n flex-shrink: 0;\n color: var(--b-collapse-extra-color);\n font-weight: 400;\n}\n\n/* ─────────────────────────────────────────────\n Disabled state\n ───────────────────────────────────────────── */\n.b-collapse-panel--disabled .b-collapse-panel__header {\n color: var(--b-collapse-disabled-color);\n background: var(--b-collapse-disabled-bg);\n cursor: not-allowed;\n}\n\n.b-collapse-panel--disabled .b-collapse-panel__arrow {\n color: var(--b-collapse-disabled-color);\n}\n\n/* ─────────────────────────────────────────────\n Content (animated with grid)\n ───────────────────────────────────────────── */\n.b-collapse-panel__content-wrapper {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--b-collapse-transition-duration) ease;\n overflow: hidden;\n}\n\n.b-collapse-panel__content-wrapper--active {\n grid-template-rows: 1fr;\n}\n\n.b-collapse-panel__content {\n min-height: 0;\n overflow: hidden;\n}\n\n.b-collapse-panel__body {\n padding: var(--b-collapse-content-padding);\n background: var(--b-collapse-content-bg);\n color: var(--b-collapse-content-color);\n border-top: 1px solid var(--b-collapse-border-color);\n}\n\n/* ─────────────────────────────────────────────\n Reduced motion\n ───────────────────────────────────────────── */\n@media (prefers-reduced-motion: reduce) {\n .b-collapse-panel__content-wrapper {\n transition: none;\n }\n\n .b-collapse-panel__arrow {\n transition: none;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDA,IAAM,IAAQ,EAAqC,GAA0B,KAAK,EAK5E,IAAiB,EAAI,GAAM,EAE3B,IAAW,QACX,IACK,EAAM,SAAS,EAAA,SAAS,GAE1B,EAAe,MACtB,EAEI,IAAsB,QACtB,EAAA,WAAiB,aACd,EAAA,eAAe,GAAO,YAAY,MACzC,EAEI,IAAa,QAAe,EAAoB,UAAU,WAAW,EAErE,IAAqB,QAAe,GAAO,mBAAmB,SAAS,QAAQ,EAE/E,IAAc,EAAI,EAAA,eAAe,EAAS,MAAM;AAEtD,IAAM,IAAW,MAAQ;AACvB,GAAI,MAAK,EAAY,QAAQ;IAC7B;EAKF,IAAM,IAAW,GAAO,EAClB,IAAY,GAAO;EAKzB,SAAS,IAAS;AACZ,KAAW,UAEX,IACF,EAAM,OAAO,EAAA,SAAS,GAEtB,EAAe,QAAQ,CAAC,EAAe;;EAI3C,SAAS,IAAoB;AACvB,KAAoB,UAAU,UAClC,GAAQ;;EAGV,SAAS,EAAgB,GAAe;AACtC,GAAI,EAAoB,UAAU,WAChC,EAAE,iBAAiB,EACnB,GAAQ;;EAIZ,SAAS,EAAc,GAAkB;AACnC,KAAW,UAEX,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,gBAAgB,EAClB,GAAQ;;yBAMV,EA+DM,OAAA,EA9DJ,OAAK,EAAA,CAAC,oBAAkB;+BACoB,EAAA;iCAA8C,EAAA;UAM1F,EAsCM,OAAA;GArCH,IAAI,EAAA,EAAQ;GACb,OAAK,EAAA,CAAC,4BAA0B;0CACwB,EAAA,UAAkB;4CAA4D,EAAA,SAAc,EAAA,UAAmB;iDAAkE,EAAA,SAAc,EAAA,UAAmB;;GAK1Q,MAAK;GACJ,UAAU,EAAA,QAAU,KAAA;GACpB,iBAAe,EAAA;GACf,iBAAe,EAAA,EAAS;GACxB,iBAAe,EAAA;GACf,SAAO;GACP,WAAS;;GAIF,EAAA,aAAA,GAAA,EADR,EAUO,QAAA;;IARL,OAAK,EAAA,CAAC,2BAAyB,EAAA,mCACc,EAAA,OAAQ,CAAA,CAAA;IACrD,eAAY;IACX,SAAO;OAER,EAEO,EAAA,QAAA,cAAA,EAFkB,UAAW,EAAA,OAAQ,QAErC,CADL,EAA6E,GAAA;IAAtE,MAAK;IAAgB,MAAK;IAAK,OAAM;;GAKhD,EAEO,QAFP,GAEO,CADL,EAAuC,EAAA,QAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAhB,EAAA,OAAM,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;GAInB,EAAA,SAASA,EAAAA,OAAO,SAAA,GAAA,EAA5B,EAEO,QAFP,GAEO,CADL,EAAqC,EAAA,QAAA,SAAA,EAAA,QAAA,CAAA,EAAA,EAAf,EAAA,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EAAA,IAAA,GAAA;aAK/B,EAaM,OAAA;GAZH,IAAI,EAAA,EAAS;GACd,OAAK,EAAA,CAAC,qCAAmC,EAAA,6CACc,EAAA,OAAQ,CAAA,CAAA;GAC/D,MAAK;GACJ,mBAAiB,EAAA,EAAQ;GACzB,eAAW,CAAG,EAAA;MAEJ,EAAA,SAAY,EAAA,SAAe,EAAA,eAAA,GAAA,EAAtC,EAIM,OAJN,GAIM,CAHJ,EAEM,OAFN,GAEM,CADJ,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EAAA,IAAA,GAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA"}
@@ -1,161 +1,8 @@
1
- import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, defineComponent as s, normalizeClass as c, normalizeStyle as l, openBlock as u, renderList as d, renderSlot as f, resolveDynamicComponent as p, toDisplayString as m, useSlots as h } from "vue";
2
- //#region src/components/BDescriptions/BDescriptions.vue?vue&type=script&setup=true&lang.ts
3
- var g = {
4
- key: 0,
5
- class: "b-descriptions__header"
6
- }, _ = {
7
- key: 0,
8
- class: "b-descriptions__title"
9
- }, v = {
10
- key: 1,
11
- class: "b-descriptions__extra"
12
- }, y = { class: "b-descriptions__body" }, b = {
13
- key: 0,
14
- class: "b-descriptions__table",
15
- role: "presentation"
16
- }, x = ["colspan"], S = { class: "b-descriptions__row" }, C = ["colspan"], w = { class: "b-descriptions__row" }, T = ["colspan"], E = {
17
- key: 1,
18
- class: "b-descriptions__table",
19
- role: "presentation"
20
- }, D = ["colspan"], O = { class: "b-descriptions__row" }, k = ["colspan"], A = { class: "b-descriptions__row" }, j = ["colspan"], M = /* @__PURE__ */ s({
21
- __name: "BDescriptions",
22
- props: {
23
- bordered: {
24
- type: Boolean,
25
- default: !1
26
- },
27
- colon: {
28
- type: Boolean,
29
- default: !0
30
- },
31
- column: { default: 3 },
32
- layout: { default: "horizontal" },
33
- size: { default: "default" },
34
- title: {},
35
- extra: {},
36
- items: {},
37
- labelStyle: {},
38
- contentStyle: {}
39
- },
40
- setup(s) {
41
- let M = h(), N = t(() => !!(s.title || M.title || s.extra || M.extra)), P = t(() => ["b-descriptions", {
42
- "b-descriptions--bordered": s.bordered,
43
- "b-descriptions--vertical": s.layout === "vertical",
44
- "b-descriptions--horizontal": s.layout === "horizontal",
45
- "b-descriptions--middle": s.size === "middle",
46
- "b-descriptions--small": s.size === "small",
47
- "b-descriptions--colon": s.colon
48
- }]), F = t(() => {
49
- if (s.items && s.items.length > 0) return s.items.map((e) => ({
50
- label: e.label,
51
- children: e.children,
52
- span: e.span ?? 1,
53
- labelStyle: e.labelStyle,
54
- contentStyle: e.contentStyle
55
- }));
56
- let t = M.default?.();
57
- if (!t) return [];
58
- let n = [];
59
- function r(t) {
60
- for (let i of t) {
61
- if (i.type === e) {
62
- Array.isArray(i.children) && r(i.children);
63
- continue;
64
- }
65
- let t = i.props || {}, a = i.children, o = a?.label?.(), s = a?.default?.();
66
- n.push({
67
- label: t.label,
68
- span: t.span ?? 1,
69
- labelStyle: t.labelStyle,
70
- contentStyle: t.contentStyle,
71
- labelSlot: o ? Array.isArray(o) ? o : [o] : void 0,
72
- contentSlot: s ? Array.isArray(s) ? s : [s] : void 0
73
- });
74
- }
75
- }
76
- return r(t), n;
77
- }), I = t(() => {
78
- let e = [], t = { items: [] }, n = 0;
79
- for (let r = 0; r < F.value.length; r++) {
80
- let i = F.value[r], a = r === F.value.length - 1, o = Math.min(i.span, s.column);
81
- if (n + o > s.column && t.items.length > 0) {
82
- let r = t.items[t.items.length - 1];
83
- r.effectiveSpan += s.column - n, e.push(t), t = { items: [] }, n = 0;
84
- }
85
- a && (o = s.column - n), t.items.push({
86
- ...i,
87
- effectiveSpan: o
88
- }), n += o, n >= s.column && (e.push(t), t = { items: [] }, n = 0);
89
- }
90
- if (t.items.length > 0) {
91
- let r = t.items[t.items.length - 1];
92
- r.effectiveSpan += s.column - n, e.push(t);
93
- }
94
- return e;
95
- });
96
- function L(e) {
97
- if (!(!s.labelStyle && !e.labelStyle)) return {
98
- ...s.labelStyle,
99
- ...e.labelStyle
100
- };
101
- }
102
- function R(e) {
103
- if (!(!s.contentStyle && !e.contentStyle)) return {
104
- ...s.contentStyle,
105
- ...e.contentStyle
106
- };
107
- }
108
- return (t, h) => (u(), i("div", { class: c(P.value) }, [N.value ? (u(), i("div", g, [s.title || t.$slots.title ? (u(), i("div", _, [f(t.$slots, "title", {}, () => [o(m(s.title), 1)])])) : r("", !0), s.extra || t.$slots.extra ? (u(), i("div", v, [f(t.$slots, "extra", {}, () => [o(m(s.extra), 1)])])) : r("", !0)])) : r("", !0), a("div", y, [s.bordered ? (u(), i("table", b, [a("tbody", null, [s.layout === "horizontal" ? (u(!0), i(e, { key: 0 }, d(I.value, (t, r) => (u(), i("tr", {
109
- key: r,
110
- class: "b-descriptions__row"
111
- }, [(u(!0), i(e, null, d(t.items, (t, r) => (u(), i(e, { key: r }, [a("th", {
112
- class: "b-descriptions__item-label b-descriptions__item-label--bordered",
113
- style: l(L(t))
114
- }, [t.labelSlot && t.labelSlot.length ? (u(), n(p(() => t.labelSlot), { key: 0 })) : (u(), i(e, { key: 1 }, [o(m(t.label), 1)], 64))], 4), a("td", {
115
- class: "b-descriptions__item-content b-descriptions__item-content--bordered",
116
- colspan: t.effectiveSpan * 2 - 1,
117
- style: l(R(t))
118
- }, [t.contentSlot && t.contentSlot.length ? (u(), n(p(() => t.contentSlot), { key: 0 })) : (u(), i(e, { key: 1 }, [o(m(t.children), 1)], 64))], 12, x)], 64))), 128))]))), 128)) : (u(!0), i(e, { key: 1 }, d(I.value, (t, r) => (u(), i(e, { key: r }, [a("tr", S, [(u(!0), i(e, null, d(t.items, (t, r) => (u(), i("th", {
119
- key: "label-" + r,
120
- class: "b-descriptions__item-label b-descriptions__item-label--bordered",
121
- colspan: t.effectiveSpan,
122
- style: l(L(t))
123
- }, [t.labelSlot && t.labelSlot.length ? (u(), n(p(() => t.labelSlot), { key: 0 })) : (u(), i(e, { key: 1 }, [o(m(t.label), 1)], 64))], 12, C))), 128))]), a("tr", w, [(u(!0), i(e, null, d(t.items, (t, r) => (u(), i("td", {
124
- key: "content-" + r,
125
- class: "b-descriptions__item-content b-descriptions__item-content--bordered",
126
- colspan: t.effectiveSpan,
127
- style: l(R(t))
128
- }, [t.contentSlot && t.contentSlot.length ? (u(), n(p(() => t.contentSlot), { key: 0 })) : (u(), i(e, { key: 1 }, [o(m(t.children), 1)], 64))], 12, T))), 128))])], 64))), 128))])])) : (u(), i("table", E, [a("tbody", null, [s.layout === "horizontal" ? (u(!0), i(e, { key: 0 }, d(I.value, (t, r) => (u(), i("tr", {
129
- key: r,
130
- class: "b-descriptions__row"
131
- }, [(u(!0), i(e, null, d(t.items, (t, r) => (u(), i("td", {
132
- key: r,
133
- class: "b-descriptions__item",
134
- colspan: t.effectiveSpan
135
- }, [a("span", {
136
- class: "b-descriptions__item-label",
137
- style: l(L(t))
138
- }, [t.labelSlot && t.labelSlot.length ? (u(), n(p(() => t.labelSlot), { key: 0 })) : (u(), i(e, { key: 1 }, [o(m(t.label), 1)], 64))], 4), a("span", {
139
- class: "b-descriptions__item-content",
140
- style: l(R(t))
141
- }, [t.contentSlot && t.contentSlot.length ? (u(), n(p(() => t.contentSlot), { key: 0 })) : (u(), i(e, { key: 1 }, [o(m(t.children), 1)], 64))], 4)], 8, D))), 128))]))), 128)) : (u(!0), i(e, { key: 1 }, d(I.value, (t, r) => (u(), i(e, { key: r }, [a("tr", O, [(u(!0), i(e, null, d(t.items, (t, r) => (u(), i("td", {
142
- key: "label-" + r,
143
- class: "b-descriptions__item",
144
- colspan: t.effectiveSpan
145
- }, [a("span", {
146
- class: "b-descriptions__item-label",
147
- style: l(L(t))
148
- }, [t.labelSlot && t.labelSlot.length ? (u(), n(p(() => t.labelSlot), { key: 0 })) : (u(), i(e, { key: 1 }, [o(m(t.label), 1)], 64))], 4)], 8, k))), 128))]), a("tr", A, [(u(!0), i(e, null, d(t.items, (t, r) => (u(), i("td", {
149
- key: "content-" + r,
150
- class: "b-descriptions__item",
151
- colspan: t.effectiveSpan
152
- }, [a("span", {
153
- class: "b-descriptions__item-content",
154
- style: l(R(t))
155
- }, [t.contentSlot && t.contentSlot.length ? (u(), n(p(() => t.contentSlot), { key: 0 })) : (u(), i(e, { key: 1 }, [o(m(t.children), 1)], 64))], 4)], 8, j))), 128))])], 64))), 128))])]))])], 2));
156
- }
157
- });
1
+ import e from "./design-system62.js";
2
+ /* empty css */
3
+ //#region src/components/BCollapse/BCollapsePanel.vue
4
+ var t = e;
158
5
  //#endregion
159
- export { M as default };
6
+ export { t as default };
160
7
 
161
8
  //# sourceMappingURL=design-system64.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system64.js","names":[],"sources":["../src/components/BDescriptions/BDescriptions.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, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveDynamicComponent as _resolveDynamicComponent, createBlock as _createBlock, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"b-descriptions__header\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"b-descriptions__title\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"b-descriptions__extra\"\n}\nconst _hoisted_4 = { class: \"b-descriptions__body\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"b-descriptions__table\",\n role: \"presentation\"\n}\nconst _hoisted_6 = [\"colspan\"]\nconst _hoisted_7 = { class: \"b-descriptions__row\" }\nconst _hoisted_8 = [\"colspan\"]\nconst _hoisted_9 = { class: \"b-descriptions__row\" }\nconst _hoisted_10 = [\"colspan\"]\nconst _hoisted_11 = {\n key: 1,\n class: \"b-descriptions__table\",\n role: \"presentation\"\n}\nconst _hoisted_12 = [\"colspan\"]\nconst _hoisted_13 = { class: \"b-descriptions__row\" }\nconst _hoisted_14 = [\"colspan\"]\nconst _hoisted_15 = { class: \"b-descriptions__row\" }\nconst _hoisted_16 = [\"colspan\"]\n\nimport type { CSSProperties, VNode } from 'vue';\nimport { computed, Fragment, useSlots } from 'vue';\n\nimport type { BDescriptionsItem } from './types';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\ninterface ResolvedItem {\n label?: string;\n children?: string;\n span: number;\n labelStyle?: CSSProperties;\n contentStyle?: CSSProperties;\n /** VNode array for the label slot (from BDescriptionsItem slot usage) */\n labelSlot?: VNode[];\n /** VNode array for the content slot (from BDescriptionsItem default slot) */\n contentSlot?: VNode[];\n}\n\ninterface RowData {\n items: Array<ResolvedItem & { effectiveSpan: number }>;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BDescriptions',\n props: {\n bordered: { type: Boolean, default: false },\n colon: { type: Boolean, default: true },\n column: { default: 3 },\n layout: { default: 'horizontal' },\n size: { default: 'default' },\n title: {},\n extra: {},\n items: {},\n labelStyle: {},\n contentStyle: {}\n },\n setup(__props: any) {\n\n\n\n// ─────────────────────────────────────────────\n// Slots\n// ─────────────────────────────────────────────\n\n\n// ─────────────────────────────────────────────\n// Internal state\n// ─────────────────────────────────────────────\nconst slots = useSlots();\n\n// ─────────────────────────────────────────────\n// Computed\n// ─────────────────────────────────────────────\nconst hasHeader = computed(() => {\n return !!(__props.title || slots.title || __props.extra || slots.extra);\n});\n\nconst rootClasses = computed(() => [\n 'b-descriptions',\n {\n 'b-descriptions--bordered': __props.bordered,\n 'b-descriptions--vertical': __props.layout === 'vertical',\n 'b-descriptions--horizontal': __props.layout === 'horizontal',\n 'b-descriptions--middle': __props.size === 'middle',\n 'b-descriptions--small': __props.size === 'small',\n 'b-descriptions--colon': __props.colon,\n },\n]);\n\n/**\n * Collect items from the `items` prop or from slot children (BDescriptionsItem VNodes).\n * Each resolved item has: label, children, span, labelStyle, contentStyle, labelSlot, contentSlot.\n */\nconst resolvedItems = computed<ResolvedItem[]>(() => {\n // If items prop is provided, use it directly\n if (__props.items && __props.items.length > 0) {\n return __props.items.map((item) => ({\n label: item.label,\n children: item.children,\n span: item.span ?? 1,\n labelStyle: item.labelStyle,\n contentStyle: item.contentStyle,\n }));\n }\n\n // Otherwise, extract from default slot VNodes (BDescriptionsItem instances)\n const defaultSlot = slots.default?.();\n if (!defaultSlot) return [];\n\n const result: ResolvedItem[] = [];\n\n function extractItems(vnodes: VNode[]) {\n for (const vnode of vnodes) {\n // Handle fragments (v-for, template wrappers)\n if (vnode.type === Fragment) {\n if (Array.isArray(vnode.children)) {\n extractItems(vnode.children as VNode[]);\n }\n continue;\n }\n\n const props = (vnode.props || {}) as Record<string, unknown>;\n const children = vnode.children as Record<\n string,\n (...args: unknown[]) => VNode | VNode[]\n > | null;\n\n const rawLabel = children?.label?.();\n const rawContent = children?.default?.();\n\n result.push({\n label: props.label as string | undefined,\n span: (props.span as number) ?? 1,\n labelStyle: props.labelStyle as CSSProperties | undefined,\n contentStyle: props.contentStyle as CSSProperties | undefined,\n labelSlot: rawLabel ? (Array.isArray(rawLabel) ? rawLabel : [rawLabel]) : undefined,\n contentSlot: rawContent\n ? Array.isArray(rawContent)\n ? rawContent\n : [rawContent]\n : undefined,\n });\n }\n }\n\n extractItems(defaultSlot);\n return result;\n});\n\n/**\n * Organize items into rows based on the column count.\n * The last item in each row gets its span extended to fill the remaining columns.\n */\nconst rows = computed<RowData[]>(() => {\n const result: RowData[] = [];\n let currentRow: RowData = { items: [] };\n let colsUsed = 0;\n\n for (let i = 0; i < resolvedItems.value.length; i++) {\n const item = resolvedItems.value[i];\n const isLast = i === resolvedItems.value.length - 1;\n let span = Math.min(item.span, __props.column);\n\n // If this item would exceed the row, start a new row\n if (colsUsed + span > __props.column) {\n if (currentRow.items.length > 0) {\n // Fill remaining columns of the previous row\n const lastInRow = currentRow.items[currentRow.items.length - 1];\n lastInRow.effectiveSpan += __props.column - colsUsed;\n result.push(currentRow);\n currentRow = { items: [] };\n colsUsed = 0;\n }\n }\n\n // If this is the last item, it takes up remaining space in the row\n if (isLast) {\n span = __props.column - colsUsed;\n }\n\n currentRow.items.push({ ...item, effectiveSpan: span });\n colsUsed += span;\n\n if (colsUsed >= __props.column) {\n result.push(currentRow);\n currentRow = { items: [] };\n colsUsed = 0;\n }\n }\n\n // Push any remaining items\n if (currentRow.items.length > 0) {\n const lastInRow = currentRow.items[currentRow.items.length - 1];\n lastInRow.effectiveSpan += __props.column - colsUsed;\n result.push(currentRow);\n }\n\n return result;\n});\n\n/**\n * Merge global label/content styles with per-item styles.\n * Item-level styles override global styles.\n */\nfunction mergedLabelStyle(item: ResolvedItem): CSSProperties | undefined {\n if (!__props.labelStyle && !item.labelStyle) return undefined;\n return { ...__props.labelStyle, ...item.labelStyle };\n}\n\nfunction mergedContentStyle(item: ResolvedItem): CSSProperties | undefined {\n if (!__props.contentStyle && !item.contentStyle) return undefined;\n return { ...__props.contentStyle, ...item.contentStyle };\n}\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(rootClasses.value)\n }, [\n (hasHeader.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (__props.title || _ctx.$slots.title)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"title\", {}, () => [\n _createTextVNode(_toDisplayString(__props.title), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (__props.extra || _ctx.$slots.extra)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"extra\", {}, () => [\n _createTextVNode(_toDisplayString(__props.extra), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n (__props.bordered)\n ? (_openBlock(), _createElementBlock(\"table\", _hoisted_5, [\n _createElementVNode(\"tbody\", null, [\n (__props.layout === 'horizontal')\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(rows.value, (row, rowIndex) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: rowIndex,\n class: \"b-descriptions__row\"\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row.items, (item, itemIndex) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: itemIndex }, [\n _createElementVNode(\"th\", {\n class: \"b-descriptions__item-label b-descriptions__item-label--bordered\",\n style: _normalizeStyle(mergedLabelStyle(item))\n }, [\n (item.labelSlot && item.labelSlot.length)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(() => item.labelSlot), { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(item.label), 1)\n ], 64))\n ], 4),\n _createElementVNode(\"td\", {\n class: \"b-descriptions__item-content b-descriptions__item-content--bordered\",\n colspan: item.effectiveSpan * 2 - 1,\n style: _normalizeStyle(mergedContentStyle(item))\n }, [\n (item.contentSlot && item.contentSlot.length)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(() => item.contentSlot), { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(item.children), 1)\n ], 64))\n ], 12, _hoisted_6)\n ], 64))\n }), 128))\n ]))\n }), 128))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 1 }, _renderList(rows.value, (row, rowIndex) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: rowIndex }, [\n _createElementVNode(\"tr\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row.items, (item, itemIndex) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n key: 'label-' + itemIndex,\n class: \"b-descriptions__item-label b-descriptions__item-label--bordered\",\n colspan: item.effectiveSpan,\n style: _normalizeStyle(mergedLabelStyle(item))\n }, [\n (item.labelSlot && item.labelSlot.length)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(() => item.labelSlot), { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(item.label), 1)\n ], 64))\n ], 12, _hoisted_8))\n }), 128))\n ]),\n _createElementVNode(\"tr\", _hoisted_9, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row.items, (item, itemIndex) => {\n return (_openBlock(), _createElementBlock(\"td\", {\n key: 'content-' + itemIndex,\n class: \"b-descriptions__item-content b-descriptions__item-content--bordered\",\n colspan: item.effectiveSpan,\n style: _normalizeStyle(mergedContentStyle(item))\n }, [\n (item.contentSlot && item.contentSlot.length)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(() => item.contentSlot), { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(item.children), 1)\n ], 64))\n ], 12, _hoisted_10))\n }), 128))\n ])\n ], 64))\n }), 128))\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"table\", _hoisted_11, [\n _createElementVNode(\"tbody\", null, [\n (__props.layout === 'horizontal')\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(rows.value, (row, rowIndex) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: rowIndex,\n class: \"b-descriptions__row\"\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row.items, (item, itemIndex) => {\n return (_openBlock(), _createElementBlock(\"td\", {\n key: itemIndex,\n class: \"b-descriptions__item\",\n colspan: item.effectiveSpan\n }, [\n _createElementVNode(\"span\", {\n class: \"b-descriptions__item-label\",\n style: _normalizeStyle(mergedLabelStyle(item))\n }, [\n (item.labelSlot && item.labelSlot.length)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(() => item.labelSlot), { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(item.label), 1)\n ], 64))\n ], 4),\n _createElementVNode(\"span\", {\n class: \"b-descriptions__item-content\",\n style: _normalizeStyle(mergedContentStyle(item))\n }, [\n (item.contentSlot && item.contentSlot.length)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(() => item.contentSlot), { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(item.children), 1)\n ], 64))\n ], 4)\n ], 8, _hoisted_12))\n }), 128))\n ]))\n }), 128))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 1 }, _renderList(rows.value, (row, rowIndex) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: rowIndex }, [\n _createElementVNode(\"tr\", _hoisted_13, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row.items, (item, itemIndex) => {\n return (_openBlock(), _createElementBlock(\"td\", {\n key: 'label-' + itemIndex,\n class: \"b-descriptions__item\",\n colspan: item.effectiveSpan\n }, [\n _createElementVNode(\"span\", {\n class: \"b-descriptions__item-label\",\n style: _normalizeStyle(mergedLabelStyle(item))\n }, [\n (item.labelSlot && item.labelSlot.length)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(() => item.labelSlot), { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(item.label), 1)\n ], 64))\n ], 4)\n ], 8, _hoisted_14))\n }), 128))\n ]),\n _createElementVNode(\"tr\", _hoisted_15, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row.items, (item, itemIndex) => {\n return (_openBlock(), _createElementBlock(\"td\", {\n key: 'content-' + itemIndex,\n class: \"b-descriptions__item\",\n colspan: item.effectiveSpan\n }, [\n _createElementVNode(\"span\", {\n class: \"b-descriptions__item-content\",\n style: _normalizeStyle(mergedContentStyle(item))\n }, [\n (item.contentSlot && item.contentSlot.length)\n ? (_openBlock(), _createBlock(_resolveDynamicComponent(() => item.contentSlot), { key: 0 }))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(item.children), 1)\n ], 64))\n ], 4)\n ], 8, _hoisted_16))\n }), 128))\n ])\n ], 64))\n }), 128))\n ])\n ]))\n ])\n ], 2))\n}\n}\n\n})"],"mappings":"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"}
1
+ {"version":3,"file":"design-system64.js","names":[],"sources":["../src/components/BCollapse/BCollapsePanel.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport BIcon from '@/components/BIcon/BIcon.vue';\nimport { computed, inject, ref, useId, watch } from 'vue';\nimport {\n BCollapseGroupContextKey,\n type BCollapseCollapsible,\n type BCollapseGroupContext,\n} from './types';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\nconst {\n panelKey,\n header = '',\n disabled = false,\n collapsible,\n showArrow = true,\n forceRender = false,\n extra,\n} = defineProps<{\n /** Unique key identifying this panel within the group. */\n panelKey: string | number;\n /** Title text displayed in the header. */\n header?: string;\n /** Disables the panel (overrides collapsible). */\n disabled?: boolean;\n /** Panel-level collapsible trigger override: 'header' | 'icon' | 'disabled'. */\n collapsible?: BCollapseCollapsible;\n /** Whether to show the expand arrow icon. @default true */\n showArrow?: boolean;\n /** Forces panel content to render even when collapsed. @default false */\n forceRender?: boolean;\n /** Extra content rendered at the end of the header. */\n extra?: string;\n}>();\n\n// ─────────────────────────────────────────────\n// Slots\n// ─────────────────────────────────────────────\ndefineSlots<{\n /** Panel body content. */\n default?(): unknown;\n /** Custom header content (replaces header prop text). */\n header?(): unknown;\n /** Custom expand icon. Receives { isActive: boolean }. */\n expandIcon?(props: { isActive: boolean }): unknown;\n /** Extra content at the end of the header. */\n extra?(): unknown;\n}>();\n\n// ─────────────────────────────────────────────\n// Inject group context (if nested in BCollapseGroup)\n// ─────────────────────────────────────────────\nconst group = inject<BCollapseGroupContext | null>(BCollapseGroupContextKey, null);\n\n// ─────────────────────────────────────────────\n// Standalone mode (no group parent)\n// ─────────────────────────────────────────────\nconst standaloneOpen = ref(false);\n\nconst isActive = computed(() => {\n if (group) {\n return group.isActive(panelKey);\n }\n return standaloneOpen.value;\n});\n\nconst resolvedCollapsible = computed<BCollapseCollapsible | undefined>(() => {\n if (disabled) return 'disabled';\n return collapsible ?? group?.collapsible.value;\n});\n\nconst isDisabled = computed(() => resolvedCollapsible.value === 'disabled');\n\nconst expandIconPosition = computed(() => group?.expandIconPosition.value ?? 'start');\n\nconst hasRendered = ref(forceRender || isActive.value);\n\nwatch(isActive, (val) => {\n if (val) hasRendered.value = true;\n});\n\n// ─────────────────────────────────────────────\n// IDs for a11y\n// ─────────────────────────────────────────────\nconst headerId = useId();\nconst contentId = useId();\n\n// ─────────────────────────────────────────────\n// Handlers\n// ─────────────────────────────────────────────\nfunction toggle() {\n if (isDisabled.value) return;\n\n if (group) {\n group.toggle(panelKey);\n } else {\n standaloneOpen.value = !standaloneOpen.value;\n }\n}\n\nfunction handleHeaderClick() {\n if (resolvedCollapsible.value === 'icon') return;\n toggle();\n}\n\nfunction handleIconClick(e: MouseEvent) {\n if (resolvedCollapsible.value === 'icon') {\n e.stopPropagation();\n toggle();\n }\n}\n\nfunction handleKeydown(e: KeyboardEvent) {\n if (isDisabled.value) return;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n toggle();\n }\n}\n</script>\n\n<template>\n <div\n class=\"b-collapse-panel\"\n :class=\"{\n 'b-collapse-panel--active': isActive,\n 'b-collapse-panel--disabled': isDisabled,\n }\"\n >\n <!-- Header -->\n <div\n :id=\"headerId\"\n class=\"b-collapse-panel__header\"\n :class=\"{\n 'b-collapse-panel__header--icon-end': expandIconPosition === 'end',\n 'b-collapse-panel__header--clickable': !isDisabled && resolvedCollapsible !== 'icon',\n 'b-collapse-panel__header--icon-clickable': !isDisabled && resolvedCollapsible === 'icon',\n }\"\n role=\"button\"\n :tabindex=\"isDisabled ? -1 : 0\"\n :aria-expanded=\"isActive\"\n :aria-controls=\"contentId\"\n :aria-disabled=\"isDisabled\"\n @click=\"handleHeaderClick\"\n @keydown=\"handleKeydown\"\n >\n <!-- Expand icon -->\n <span\n v-if=\"showArrow\"\n class=\"b-collapse-panel__arrow\"\n :class=\"{ 'b-collapse-panel__arrow--active': isActive }\"\n aria-hidden=\"true\"\n @click=\"handleIconClick\"\n >\n <slot name=\"expandIcon\" :is-active=\"isActive\">\n <BIcon icon=\"chevron-right\" size=\"sm\" class=\"b-collapse-panel__arrow-icon\" />\n </slot>\n </span>\n\n <!-- Header text / slot -->\n <span class=\"b-collapse-panel__header-text\">\n <slot name=\"header\">{{ header }}</slot>\n </span>\n\n <!-- Extra -->\n <span v-if=\"extra || $slots.extra\" class=\"b-collapse-panel__extra\">\n <slot name=\"extra\">{{ extra }}</slot>\n </span>\n </div>\n\n <!-- Content -->\n <div\n :id=\"contentId\"\n class=\"b-collapse-panel__content-wrapper\"\n :class=\"{ 'b-collapse-panel__content-wrapper--active': isActive }\"\n role=\"region\"\n :aria-labelledby=\"headerId\"\n :aria-hidden=\"!isActive\"\n >\n <div v-if=\"isActive || hasRendered || forceRender\" class=\"b-collapse-panel__content\">\n <div class=\"b-collapse-panel__body\">\n <slot />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style>\n/* ─────────────────────────────────────────────\n CSS Custom Properties (tokens)\n ───────────────────────────────────────────── */\n.b-collapse-panel {\n --b-collapse-header-padding: 12px 16px;\n --b-collapse-header-bg: oklch(97% 0 0);\n --b-collapse-header-color: oklch(15% 0 0);\n --b-collapse-header-font-size: 14px;\n --b-collapse-header-font-weight: 500;\n --b-collapse-header-line-height: 1.5;\n --b-collapse-content-padding: 16px;\n --b-collapse-content-bg: oklch(100% 0 0);\n --b-collapse-content-color: oklch(27% 0.01 260);\n --b-collapse-border-color: oklch(88% 0 0);\n --b-collapse-border-radius: 8px;\n --b-collapse-arrow-size: 12px;\n --b-collapse-arrow-color: oklch(45% 0 0);\n --b-collapse-extra-color: oklch(45% 0 0);\n --b-collapse-disabled-color: oklch(63% 0 0);\n --b-collapse-disabled-bg: oklch(96% 0 0);\n --b-collapse-transition-duration: 300ms;\n}\n\n/* ── Dark mode ──────────────────────────────── */\n[data-prefers-color='dark'] .b-collapse-panel {\n --b-collapse-header-bg: oklch(22% 0.005 260);\n --b-collapse-header-color: oklch(90% 0 0);\n --b-collapse-content-bg: oklch(18% 0.005 260);\n --b-collapse-content-color: oklch(80% 0.01 260);\n --b-collapse-border-color: oklch(32% 0.005 260);\n --b-collapse-arrow-color: oklch(65% 0 0);\n --b-collapse-extra-color: oklch(65% 0 0);\n --b-collapse-disabled-color: oklch(45% 0 0);\n --b-collapse-disabled-bg: oklch(20% 0.005 260);\n}\n\n/* ─────────────────────────────────────────────\n Panel layout\n ───────────────────────────────────────────── */\n.b-collapse-panel {\n border-bottom: 1px solid var(--b-collapse-border-color);\n}\n\n.b-collapse-panel:first-child .b-collapse-panel__header {\n border-radius: var(--b-collapse-border-radius) var(--b-collapse-border-radius) 0 0;\n}\n\n.b-collapse-panel:last-child {\n border-bottom: none;\n}\n\n.b-collapse-panel:last-child:not(.b-collapse-panel--active) .b-collapse-panel__header {\n border-radius: 0 0 var(--b-collapse-border-radius) var(--b-collapse-border-radius);\n}\n\n/* ─────────────────────────────────────────────\n Header\n ───────────────────────────────────────────── */\n.b-collapse-panel__header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: var(--b-collapse-header-padding);\n background: var(--b-collapse-header-bg);\n color: var(--b-collapse-header-color);\n font-size: var(--b-collapse-header-font-size);\n font-weight: var(--b-collapse-header-font-weight);\n line-height: var(--b-collapse-header-line-height);\n cursor: default;\n user-select: none;\n border: none;\n outline: none;\n position: relative;\n transition: background-color var(--b-collapse-transition-duration) ease;\n}\n\n.b-collapse-panel__header--clickable {\n cursor: pointer;\n}\n\n.b-collapse-panel__header--clickable:hover {\n background: oklch(95% 0 0);\n}\n\n[data-prefers-color='dark'] .b-collapse-panel__header--clickable:hover {\n background: oklch(25% 0.005 260);\n}\n\n@media (prefers-color-scheme: dark) {\n [data-prefers-color='system'] .b-collapse-panel {\n --b-collapse-header-bg: oklch(22% 0.005 260);\n --b-collapse-header-color: oklch(90% 0 0);\n --b-collapse-content-bg: oklch(18% 0.005 260);\n --b-collapse-content-color: oklch(80% 0.01 260);\n --b-collapse-border-color: oklch(32% 0.005 260);\n --b-collapse-arrow-color: oklch(65% 0 0);\n --b-collapse-extra-color: oklch(65% 0 0);\n --b-collapse-disabled-color: oklch(45% 0 0);\n --b-collapse-disabled-bg: oklch(20% 0.005 260);\n }\n [data-prefers-color='system'] .b-collapse-panel__header--clickable:hover {\n background: oklch(25% 0.005 260);\n }\n}\n\n.b-collapse-panel__header--icon-clickable {\n cursor: default;\n}\n\n.b-collapse-panel__header:focus-visible {\n outline: 2px solid oklch(54.6% 0.245 262.881);\n outline-offset: -2px;\n z-index: 1;\n}\n\n.b-collapse-panel__header--icon-end {\n flex-direction: row-reverse;\n}\n\n.b-collapse-panel__header--icon-end .b-collapse-panel__arrow {\n order: 1;\n margin-left: auto;\n}\n\n.b-collapse-panel__header--icon-end .b-collapse-panel__extra {\n order: 0;\n margin-left: auto;\n margin-right: 8px;\n}\n\n/* ─────────────────────────────────────────────\n Arrow\n ───────────────────────────────────────────── */\n.b-collapse-panel__arrow {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--b-collapse-arrow-color);\n transition: transform var(--b-collapse-transition-duration) ease;\n}\n\n.b-collapse-panel__arrow--active {\n transform: rotate(90deg);\n}\n\n.b-collapse-panel__header--icon-clickable .b-collapse-panel__arrow {\n cursor: pointer;\n}\n\n.b-collapse-panel__arrow-icon {\n font-size: var(--b-collapse-arrow-size);\n}\n\n/* ─────────────────────────────────────────────\n Header text & extra\n ───────────────────────────────────────────── */\n.b-collapse-panel__header-text {\n flex: 1;\n min-width: 0;\n}\n\n.b-collapse-panel__extra {\n margin-left: auto;\n flex-shrink: 0;\n color: var(--b-collapse-extra-color);\n font-weight: 400;\n}\n\n/* ─────────────────────────────────────────────\n Disabled state\n ───────────────────────────────────────────── */\n.b-collapse-panel--disabled .b-collapse-panel__header {\n color: var(--b-collapse-disabled-color);\n background: var(--b-collapse-disabled-bg);\n cursor: not-allowed;\n}\n\n.b-collapse-panel--disabled .b-collapse-panel__arrow {\n color: var(--b-collapse-disabled-color);\n}\n\n/* ─────────────────────────────────────────────\n Content (animated with grid)\n ───────────────────────────────────────────── */\n.b-collapse-panel__content-wrapper {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--b-collapse-transition-duration) ease;\n overflow: hidden;\n}\n\n.b-collapse-panel__content-wrapper--active {\n grid-template-rows: 1fr;\n}\n\n.b-collapse-panel__content {\n min-height: 0;\n overflow: hidden;\n}\n\n.b-collapse-panel__body {\n padding: var(--b-collapse-content-padding);\n background: var(--b-collapse-content-bg);\n color: var(--b-collapse-content-color);\n border-top: 1px solid var(--b-collapse-border-color);\n}\n\n/* ─────────────────────────────────────────────\n Reduced motion\n ───────────────────────────────────────────── */\n@media (prefers-reduced-motion: reduce) {\n .b-collapse-panel__content-wrapper {\n transition: none;\n }\n\n .b-collapse-panel__arrow {\n transition: none;\n }\n}\n</style>\n"],"mappings":""}
@@ -0,0 +1,14 @@
1
+ //#region src/components/BColorPicker/types.ts
2
+ var e = /* @__PURE__ */ function(e) {
3
+ return e.Hex = "hex", e.Rgb = "rgb", e.Hsl = "hsl", e.Hsb = "hsb", e;
4
+ }({}), t = /* @__PURE__ */ function(e) {
5
+ return e.Small = "sm", e.Medium = "md", e.Large = "lg", e;
6
+ }({}), n = /* @__PURE__ */ function(e) {
7
+ return e.Click = "click", e.Hover = "hover", e;
8
+ }({}), r = /* @__PURE__ */ function(e) {
9
+ return e.TopLeft = "top-left", e.TopCenter = "top-center", e.TopRight = "top-right", e.BottomLeft = "bottom-left", e.BottomCenter = "bottom-center", e.BottomRight = "bottom-right", e;
10
+ }({});
11
+ //#endregion
12
+ export { e as BColorPickerFormat, r as BColorPickerPlacement, t as BColorPickerSize, n as BColorPickerTrigger };
13
+
14
+ //# sourceMappingURL=design-system65.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-system65.js","names":[],"sources":["../src/components/BColorPicker/types.ts"],"sourcesContent":["export enum BColorPickerFormat {\n Hex = 'hex',\n Rgb = 'rgb',\n Hsl = 'hsl',\n Hsb = 'hsb',\n}\n\nexport enum BColorPickerSize {\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n}\n\nexport enum BColorPickerTrigger {\n Click = 'click',\n Hover = 'hover',\n}\n\nexport enum BColorPickerPlacement {\n TopLeft = 'top-left',\n TopCenter = 'top-center',\n TopRight = 'top-right',\n BottomLeft = 'bottom-left',\n BottomCenter = 'bottom-center',\n BottomRight = 'bottom-right',\n}\n\nexport interface BColorPickerPreset {\n label: string;\n colors: string[];\n defaultOpen?: boolean;\n}\n\nexport interface BColorHsb {\n h: number;\n s: number;\n b: number;\n a: number;\n}\n\nexport interface BColorRgb {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nexport interface BColorHsl {\n h: number;\n s: number;\n l: number;\n a: number;\n}\n"],"mappings":";AAAA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,MAAA,OACA,EAAA,MAAA,OACA,EAAA,MAAA,OACA,EAAA,MAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,MACA,EAAA,SAAA,MACA,EAAA,QAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,QAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,YACA,EAAA,YAAA,cACA,EAAA,WAAA,aACA,EAAA,aAAA,eACA,EAAA,eAAA,iBACA,EAAA,cAAA;KACD"}