@7pmlabs/design-system 1.0.10 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -6
- package/dist/design-system.css +1 -1
- package/dist/design-system.js +66 -60
- package/dist/design-system100.js +4 -5
- package/dist/design-system100.js.map +1 -1
- package/dist/design-system101.js +53 -506
- package/dist/design-system101.js.map +1 -1
- package/dist/{design-system93.js → design-system102.js} +1 -1
- package/dist/design-system102.js.map +1 -0
- package/dist/design-system103.js +13 -5
- package/dist/design-system103.js.map +1 -1
- package/dist/design-system104.js +109 -7
- package/dist/design-system104.js.map +1 -1
- package/dist/design-system106.js +9 -0
- package/dist/design-system106.js.map +1 -0
- package/dist/design-system107.js +206 -6
- package/dist/design-system107.js.map +1 -1
- package/dist/design-system109.js +9 -0
- package/dist/design-system109.js.map +1 -0
- package/dist/design-system110.js +507 -6
- package/dist/design-system110.js.map +1 -1
- package/dist/design-system112.js +8 -0
- package/dist/design-system112.js.map +1 -0
- package/dist/design-system113.js +7 -5
- package/dist/design-system113.js.map +1 -1
- package/dist/design-system114.js +209 -9
- package/dist/design-system114.js.map +1 -1
- package/dist/design-system116.js +9 -0
- package/dist/design-system116.js.map +1 -0
- package/dist/design-system117.js +224 -6
- package/dist/design-system117.js.map +1 -1
- package/dist/design-system119.js +9 -0
- package/dist/design-system119.js.map +1 -0
- package/dist/design-system12.js.map +1 -1
- package/dist/design-system120.js +163 -5
- package/dist/design-system120.js.map +1 -1
- package/dist/design-system122.js +5 -90
- package/dist/design-system122.js.map +1 -1
- package/dist/design-system123.js +12 -0
- package/dist/design-system123.js.map +1 -0
- package/dist/design-system124.js +274 -5
- package/dist/design-system124.js.map +1 -1
- package/dist/design-system126.js +9 -0
- package/dist/design-system126.js.map +1 -0
- package/dist/design-system127.js +16 -5
- package/dist/design-system127.js.map +1 -1
- package/dist/design-system129.js +8 -0
- package/dist/design-system129.js.map +1 -0
- package/dist/design-system130.js +12 -5
- package/dist/design-system130.js.map +1 -1
- package/dist/design-system131.js +76 -137
- package/dist/design-system131.js.map +1 -1
- package/dist/design-system133.js +1 -1
- package/dist/design-system133.js.map +1 -1
- package/dist/design-system134.js +37 -90
- package/dist/design-system134.js.map +1 -1
- package/dist/design-system136.js +1 -1
- package/dist/design-system136.js.map +1 -1
- package/dist/design-system137.js +226 -20
- package/dist/design-system137.js.map +1 -1
- package/dist/design-system139.js +4 -5
- package/dist/design-system139.js.map +1 -1
- package/dist/design-system140.js +151 -9
- package/dist/design-system140.js.map +1 -1
- package/dist/design-system142.js +3 -2
- package/dist/design-system142.js.map +1 -1
- package/dist/design-system143.js +93 -19
- package/dist/design-system143.js.map +1 -1
- package/dist/design-system145.js +5 -158
- package/dist/design-system145.js.map +1 -1
- package/dist/design-system146.js +12 -0
- package/dist/design-system146.js.map +1 -0
- package/dist/design-system147.js +37 -5
- package/dist/design-system147.js.map +1 -1
- package/dist/design-system148.js +4 -307
- package/dist/design-system148.js.map +1 -1
- package/dist/design-system149.js +24 -0
- package/dist/{design-system144.js.map → design-system149.js.map} +1 -1
- package/dist/design-system150.js +2 -3
- package/dist/design-system150.js.map +1 -1
- package/dist/design-system151.js +131 -213
- package/dist/design-system151.js.map +1 -1
- package/dist/design-system153.js +1 -1
- package/dist/design-system153.js.map +1 -1
- package/dist/design-system154.js +278 -160
- package/dist/design-system154.js.map +1 -1
- package/dist/design-system156.js +1 -1
- package/dist/design-system156.js.map +1 -1
- package/dist/design-system157.js +240 -3
- package/dist/design-system157.js.map +1 -1
- package/dist/design-system159.js +8 -0
- package/dist/design-system159.js.map +1 -0
- package/dist/design-system16.js.map +1 -1
- package/dist/design-system160.js +189 -6
- package/dist/design-system160.js.map +1 -1
- package/dist/design-system162.js +8 -0
- package/dist/design-system162.js.map +1 -0
- package/dist/design-system163.js +3 -6
- package/dist/design-system163.js.map +1 -1
- package/dist/design-system164.js +46 -57
- package/dist/design-system164.js.map +1 -1
- package/dist/design-system166.js +2 -2
- package/dist/design-system166.js.map +1 -1
- package/dist/design-system167.js +44 -170
- package/dist/design-system167.js.map +1 -1
- package/dist/design-system169.js +2 -2
- package/dist/design-system169.js.map +1 -1
- package/dist/design-system170.js +55 -101
- package/dist/design-system170.js.map +1 -1
- package/dist/design-system172.js +5 -4
- package/dist/design-system172.js.map +1 -1
- package/dist/design-system173.js +182 -11
- package/dist/design-system173.js.map +1 -1
- package/dist/design-system175.js +9 -0
- package/dist/design-system175.js.map +1 -0
- package/dist/design-system176.js +115 -6
- package/dist/design-system176.js.map +1 -1
- package/dist/design-system178.js +8 -0
- package/dist/design-system178.js.map +1 -0
- package/dist/design-system179.js +11 -5
- package/dist/design-system179.js.map +1 -1
- package/dist/design-system180.js +444 -70
- package/dist/design-system180.js.map +1 -1
- package/dist/design-system182.js +5 -4
- package/dist/design-system182.js.map +1 -1
- package/dist/design-system183.js +21 -21
- package/dist/design-system183.js.map +1 -1
- package/dist/design-system185.js +1 -1
- package/dist/design-system185.js.map +1 -1
- package/dist/design-system186.js +85 -25
- package/dist/design-system186.js.map +1 -1
- package/dist/design-system188.js +1 -1
- package/dist/design-system188.js.map +1 -1
- package/dist/design-system189.js +7 -5
- package/dist/design-system189.js.map +1 -1
- package/dist/design-system19.js.map +1 -1
- package/dist/design-system191.js +1 -1
- package/dist/design-system191.js.map +1 -1
- package/dist/design-system192.js +20 -23
- package/dist/design-system192.js.map +1 -1
- package/dist/design-system194.js +1 -1
- package/dist/design-system194.js.map +1 -1
- package/dist/design-system195.js +24 -323
- package/dist/design-system195.js.map +1 -1
- package/dist/design-system197.js +1 -1
- package/dist/design-system197.js.map +1 -1
- package/dist/design-system198.js +19 -88
- package/dist/design-system198.js.map +1 -1
- package/dist/design-system200.js +1 -1
- package/dist/design-system200.js.map +1 -1
- package/dist/design-system201.js +330 -17
- package/dist/design-system201.js.map +1 -1
- package/dist/design-system203.js +5 -3
- package/dist/design-system203.js.map +1 -1
- package/dist/design-system204.js +88 -407
- package/dist/design-system204.js.map +1 -1
- package/dist/design-system206.js +1 -1
- package/dist/design-system206.js.map +1 -1
- package/dist/design-system207.js +17 -106
- package/dist/design-system207.js.map +1 -1
- package/dist/{design-system202.js → design-system208.js} +2 -2
- package/dist/{design-system202.js.map → design-system208.js.map} +1 -1
- package/dist/design-system209.js +3 -6
- package/dist/design-system209.js.map +1 -1
- package/dist/design-system210.js +403 -90
- package/dist/design-system210.js.map +1 -1
- package/dist/design-system212.js +4 -5
- package/dist/design-system212.js.map +1 -1
- package/dist/design-system213.js +45 -723
- package/dist/design-system213.js.map +1 -1
- package/dist/design-system215.js +1 -1
- package/dist/design-system215.js.map +1 -1
- package/dist/design-system216.js +88 -11
- package/dist/design-system216.js.map +1 -1
- package/dist/design-system217.js +4 -525
- package/dist/design-system217.js.map +1 -1
- package/dist/design-system218.js +111 -0
- package/dist/design-system218.js.map +1 -0
- package/dist/design-system22.js.map +1 -1
- package/dist/design-system220.js +6 -3
- package/dist/design-system220.js.map +1 -1
- package/dist/design-system221.js +103 -43
- package/dist/design-system221.js.map +1 -1
- package/dist/design-system223.js +6 -283
- package/dist/design-system223.js.map +1 -1
- package/dist/design-system224.js +740 -0
- package/dist/design-system224.js.map +1 -0
- package/dist/design-system226.js +5 -119
- package/dist/design-system226.js.map +1 -1
- package/dist/{design-system60.js → design-system227.js} +6 -8
- package/dist/design-system227.js.map +1 -0
- package/dist/design-system228.js +525 -5
- package/dist/design-system228.js.map +1 -1
- package/dist/{design-system219.js → design-system230.js} +2 -2
- package/dist/{design-system219.js.map → design-system230.js.map} +1 -1
- package/dist/design-system231.js +3 -5
- package/dist/design-system231.js.map +1 -1
- package/dist/design-system232.js +42 -50
- package/dist/design-system232.js.map +1 -1
- package/dist/design-system233.js +1 -1
- package/dist/design-system233.js.map +1 -1
- package/dist/design-system234.js +254 -141
- package/dist/design-system234.js.map +1 -1
- package/dist/design-system236.js +1 -1
- package/dist/design-system236.js.map +1 -1
- package/dist/design-system237.js +119 -7
- package/dist/design-system237.js.map +1 -1
- package/dist/design-system239.js +8 -0
- package/dist/design-system239.js.map +1 -0
- package/dist/design-system240.js +112 -5
- package/dist/design-system240.js.map +1 -1
- package/dist/design-system242.js +8 -0
- package/dist/design-system242.js.map +1 -0
- package/dist/design-system243.js +54 -6
- package/dist/design-system243.js.map +1 -1
- package/dist/design-system244.js +4 -7
- package/dist/design-system244.js.map +1 -1
- package/dist/design-system245.js +139 -343
- package/dist/design-system245.js.map +1 -1
- package/dist/design-system247.js +4 -5
- package/dist/design-system247.js.map +1 -1
- package/dist/design-system248.js +10 -0
- package/dist/design-system248.js.map +1 -0
- package/dist/{design-system238.js → design-system249.js} +2 -2
- package/dist/design-system249.js.map +1 -0
- package/dist/design-system25.js.map +1 -1
- package/dist/design-system251.js +8 -0
- package/dist/design-system251.js.map +1 -0
- package/dist/{design-system241.js → design-system252.js} +1 -1
- package/dist/design-system252.js.map +1 -0
- package/dist/design-system254.js +9 -0
- package/dist/design-system254.js.map +1 -0
- package/dist/design-system255.js +12 -0
- package/dist/design-system255.js.map +1 -0
- package/dist/design-system256.js +769 -0
- package/dist/design-system256.js.map +1 -0
- package/dist/design-system258.js +9 -0
- package/dist/design-system258.js.map +1 -0
- package/dist/design-system259.js +10 -0
- package/dist/design-system259.js.map +1 -0
- package/dist/design-system260.js +377 -0
- package/dist/design-system260.js.map +1 -0
- package/dist/design-system262.js +9 -0
- package/dist/design-system262.js.map +1 -0
- package/dist/design-system28.js.map +1 -1
- package/dist/design-system3.js.map +1 -1
- package/dist/design-system30.js +21 -138
- package/dist/design-system30.js.map +1 -1
- package/dist/design-system32.js +5 -4
- package/dist/design-system32.js.map +1 -1
- package/dist/design-system33.js +488 -14
- package/dist/design-system33.js.map +1 -1
- package/dist/design-system35.js +1 -1
- package/dist/design-system35.js.map +1 -1
- package/dist/design-system36.js +135 -17
- package/dist/design-system36.js.map +1 -1
- package/dist/design-system38.js +1 -1
- package/dist/design-system38.js.map +1 -1
- package/dist/design-system39.js +16 -11
- package/dist/design-system39.js.map +1 -1
- package/dist/design-system4.js.map +1 -1
- package/dist/design-system41.js +8 -0
- package/dist/design-system41.js.map +1 -0
- package/dist/design-system42.js +26 -5
- package/dist/design-system42.js.map +1 -1
- package/dist/design-system44.js +5 -71
- package/dist/design-system44.js.map +1 -1
- package/dist/design-system45.js +353 -0
- package/dist/design-system45.js.map +1 -0
- package/dist/design-system47.js +5 -50
- package/dist/design-system47.js.map +1 -1
- package/dist/design-system48.js +11 -4
- package/dist/design-system48.js.map +1 -1
- package/dist/design-system49.js +476 -3
- package/dist/design-system49.js.map +1 -1
- package/dist/design-system51.js +8 -0
- package/dist/design-system51.js.map +1 -0
- package/dist/design-system52.js +3 -5
- package/dist/design-system52.js.map +1 -1
- package/dist/design-system53.js +56 -83
- package/dist/design-system53.js.map +1 -1
- package/dist/design-system55.js +5 -4
- package/dist/design-system55.js.map +1 -1
- package/dist/design-system56.js +50 -11
- package/dist/design-system56.js.map +1 -1
- package/dist/design-system57.js +4 -591
- package/dist/design-system57.js.map +1 -1
- package/dist/design-system58.js +6 -0
- package/dist/design-system58.js.map +1 -0
- package/dist/design-system59.js +64 -5
- package/dist/design-system59.js.map +1 -1
- package/dist/design-system61.js +5 -696
- package/dist/design-system61.js.map +1 -1
- package/dist/design-system62.js +101 -0
- package/dist/design-system62.js.map +1 -0
- package/dist/design-system64.js +5 -158
- package/dist/design-system64.js.map +1 -1
- package/dist/design-system65.js +14 -0
- package/dist/design-system65.js.map +1 -0
- package/dist/design-system66.js +591 -5
- package/dist/design-system66.js.map +1 -1
- package/dist/design-system68.js +3 -2
- package/dist/design-system68.js.map +1 -1
- package/dist/design-system69.js +13 -49
- package/dist/design-system69.js.map +1 -1
- package/dist/design-system7.js.map +1 -1
- package/dist/design-system70.js +699 -0
- package/dist/{design-system63.js.map → design-system70.js.map} +1 -1
- package/dist/design-system72.js +5 -199
- package/dist/design-system72.js.map +1 -1
- package/dist/design-system73.js +161 -0
- package/dist/design-system73.js.map +1 -0
- package/dist/design-system75.js +5 -7
- package/dist/design-system75.js.map +1 -1
- package/dist/design-system76.js +25 -269
- package/dist/design-system76.js.map +1 -1
- package/dist/design-system77.js +7 -0
- package/dist/design-system77.js.map +1 -0
- package/dist/design-system78.js +49 -5
- package/dist/design-system78.js.map +1 -1
- package/dist/{design-system71.js → design-system80.js} +2 -2
- package/dist/{design-system71.js.map → design-system80.js.map} +1 -1
- package/dist/design-system81.js +199 -5
- package/dist/design-system81.js.map +1 -1
- package/dist/design-system83.js +5 -99
- package/dist/design-system83.js.map +1 -1
- package/dist/design-system84.js +10 -0
- package/dist/design-system84.js.map +1 -0
- package/dist/design-system85.js +273 -5
- package/dist/design-system85.js.map +1 -1
- package/dist/design-system87.js +8 -0
- package/dist/design-system87.js.map +1 -0
- package/dist/design-system88.js +57 -5
- package/dist/design-system88.js.map +1 -1
- package/dist/design-system90.js +8 -0
- package/dist/design-system90.js.map +1 -0
- package/dist/design-system91.js +11 -5
- package/dist/design-system91.js.map +1 -1
- package/dist/design-system92.js +98 -53
- package/dist/design-system92.js.map +1 -1
- package/dist/design-system94.js +5 -13
- package/dist/design-system94.js.map +1 -1
- package/dist/design-system95.js +61 -104
- package/dist/design-system95.js.map +1 -1
- package/dist/design-system97.js +4 -5
- package/dist/design-system97.js.map +1 -1
- package/dist/design-system98.js +80 -198
- package/dist/design-system98.js.map +1 -1
- package/dist/types/components/BCalendar/BCalendar.spec.d.ts +1 -0
- package/dist/types/components/BCalendar/BCalendar.vue.d.ts +114 -0
- package/dist/types/components/BCalendar/index.d.ts +2 -0
- package/dist/types/components/BCalendar/types.d.ts +54 -0
- package/dist/types/components/BCarousel/BCarousel.spec.d.ts +1 -0
- package/dist/types/components/BCarousel/BCarousel.vue.d.ts +133 -0
- package/dist/types/components/BCarousel/index.d.ts +2 -0
- package/dist/types/components/BCarousel/types.d.ts +15 -0
- package/dist/types/components/BPagination/BPagination.vue.d.ts +1 -1
- package/dist/types/components/BStatistic/BStatistic.spec.d.ts +1 -0
- package/dist/types/components/BStatistic/BStatistic.vue.d.ts +44 -0
- package/dist/types/components/BStatistic/BStatisticTimer.vue.d.ts +50 -0
- package/dist/types/components/BStatistic/index.d.ts +3 -0
- package/dist/types/components/BStatistic/types.d.ts +6 -0
- package/dist/types/components/BTreeSelect/BTreeSelect.spec.d.ts +1 -0
- package/dist/types/components/BTreeSelect/BTreeSelect.vue.d.ts +143 -0
- package/dist/types/components/BTreeSelect/index.d.ts +2 -0
- package/dist/types/components/BTreeSelect/types.d.ts +77 -0
- package/dist/types/components/index.d.ts +4 -0
- package/dist/types/types.d.ts +3 -0
- package/package.json +6 -3
- package/dist/design-system105.js +0 -212
- package/dist/design-system105.js.map +0 -1
- package/dist/design-system108.js +0 -227
- package/dist/design-system108.js.map +0 -1
- package/dist/design-system111.js +0 -166
- package/dist/design-system111.js.map +0 -1
- package/dist/design-system115.js +0 -277
- package/dist/design-system115.js.map +0 -1
- package/dist/design-system118.js +0 -19
- package/dist/design-system118.js.map +0 -1
- package/dist/design-system121.js +0 -15
- package/dist/design-system121.js.map +0 -1
- package/dist/design-system125.js +0 -45
- package/dist/design-system125.js.map +0 -1
- package/dist/design-system128.js +0 -236
- package/dist/design-system128.js.map +0 -1
- package/dist/design-system141.js +0 -40
- package/dist/design-system141.js.map +0 -1
- package/dist/design-system144.js +0 -7
- package/dist/design-system158.js +0 -61
- package/dist/design-system158.js.map +0 -1
- package/dist/design-system161.js +0 -59
- package/dist/design-system161.js.map +0 -1
- package/dist/design-system174.js +0 -465
- package/dist/design-system174.js.map +0 -1
- package/dist/design-system177.js +0 -38
- package/dist/design-system177.js.map +0 -1
- package/dist/design-system222.js +0 -7
- package/dist/design-system222.js.map +0 -1
- package/dist/design-system225.js +0 -8
- package/dist/design-system225.js.map +0 -1
- package/dist/design-system229.js +0 -115
- package/dist/design-system229.js.map +0 -1
- package/dist/design-system238.js.map +0 -1
- package/dist/design-system241.js.map +0 -1
- package/dist/design-system40.js +0 -479
- package/dist/design-system40.js.map +0 -1
- package/dist/design-system43.js +0 -6
- package/dist/design-system43.js.map +0 -1
- package/dist/design-system46.js +0 -9
- package/dist/design-system46.js.map +0 -1
- package/dist/design-system50.js +0 -67
- package/dist/design-system50.js.map +0 -1
- package/dist/design-system60.js.map +0 -1
- package/dist/design-system63.js +0 -8
- package/dist/design-system67.js +0 -32
- package/dist/design-system67.js.map +0 -1
- package/dist/design-system74.js +0 -8
- package/dist/design-system74.js.map +0 -1
- package/dist/design-system79.js +0 -60
- package/dist/design-system79.js.map +0 -1
- package/dist/design-system82.js +0 -14
- package/dist/design-system82.js.map +0 -1
- package/dist/design-system86.js +0 -69
- package/dist/design-system86.js.map +0 -1
- package/dist/design-system89.js +0 -91
- package/dist/design-system89.js.map +0 -1
- 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"}
|
package/dist/design-system64.js
CHANGED
|
@@ -1,161 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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 {
|
|
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":";;AAGA,IAAM,IAAa;CACjB,KAAK;CACL,OAAO;CACR,EACK,IAAa;CACjB,KAAK;CACL,OAAO;CACR,EACK,IAAa;CACjB,KAAK;CACL,OAAO;CACR,EACK,IAAa,EAAE,OAAO,wBAAwB,EAC9C,IAAa;CACjB,KAAK;CACL,OAAO;CACP,MAAM;CACP,EACK,IAAa,CAAC,UAAU,EACxB,IAAa,EAAE,OAAO,uBAAuB,EAC7C,IAAa,CAAC,UAAU,EACxB,IAAa,EAAE,OAAO,uBAAuB,EAC7C,IAAc,CAAC,UAAU,EACzB,IAAc;CAClB,KAAK;CACL,OAAO;CACP,MAAM;CACP,EACK,IAAc,CAAC,UAAU,EACzB,IAAc,EAAE,OAAO,uBAAuB,EAC9C,IAAc,CAAC,UAAU,EACzB,IAAc,EAAE,OAAO,uBAAuB,EAC9C,IAAc,CAAC,UAAU,EA2B/B,IAA4B,kBAAiB;CAC3C,QAAQ;CACR,OAAO;EACL,UAAU;GAAE,MAAM;GAAS,SAAS;GAAO;EAC3C,OAAO;GAAE,MAAM;GAAS,SAAS;GAAM;EACvC,QAAQ,EAAE,SAAS,GAAG;EACtB,QAAQ,EAAE,SAAS,cAAc;EACjC,MAAM,EAAE,SAAS,WAAW;EAC5B,OAAO,EAAE;EACT,OAAO,EAAE;EACT,OAAO,EAAE;EACT,YAAY,EAAE;EACd,cAAc,EAAE;EACjB;CACD,MAAM,GAAc;EAYtB,IAAM,IAAQ,GAAU,EAKlB,IAAY,QACT,CAAC,EAAE,EAAQ,SAAS,EAAM,SAAS,EAAQ,SAAS,EAAM,OACjE,EAEI,IAAc,QAAe,CACjC,kBACA;GACE,4BAA4B,EAAQ;GACpC,4BAA4B,EAAQ,WAAW;GAC/C,8BAA8B,EAAQ,WAAW;GACjD,0BAA0B,EAAQ,SAAS;GAC3C,yBAAyB,EAAQ,SAAS;GAC1C,yBAAyB,EAAQ;GAClC,CACF,CAAC,EAMI,IAAgB,QAA+B;AAEnD,OAAI,EAAQ,SAAS,EAAQ,MAAM,SAAS,EAC1C,QAAO,EAAQ,MAAM,KAAK,OAAU;IAClC,OAAO,EAAK;IACZ,UAAU,EAAK;IACf,MAAM,EAAK,QAAQ;IACnB,YAAY,EAAK;IACjB,cAAc,EAAK;IACpB,EAAE;GAIL,IAAM,IAAc,EAAM,WAAW;AACrC,OAAI,CAAC,EAAa,QAAO,EAAE;GAE3B,IAAM,IAAyB,EAAE;GAEjC,SAAS,EAAa,GAAiB;AACrC,SAAK,IAAM,KAAS,GAAQ;AAE1B,SAAI,EAAM,SAAS,GAAU;AAC3B,MAAI,MAAM,QAAQ,EAAM,SAAS,IAC/B,EAAa,EAAM,SAAoB;AAEzC;;KAGF,IAAM,IAAS,EAAM,SAAS,EAAE,EAC1B,IAAW,EAAM,UAKjB,IAAW,GAAU,SAAS,EAC9B,IAAa,GAAU,WAAW;AAExC,OAAO,KAAK;MACV,OAAO,EAAM;MACb,MAAO,EAAM,QAAmB;MAChC,YAAY,EAAM;MAClB,cAAc,EAAM;MACpB,WAAW,IAAY,MAAM,QAAQ,EAAS,GAAG,IAAW,CAAC,EAAS,GAAI,KAAA;MAC1E,aAAa,IACT,MAAM,QAAQ,EAAW,GACvB,IACA,CAAC,EAAW,GACd,KAAA;MACL,CAAC;;;AAKN,UADA,EAAa,EAAY,EAClB;IACP,EAMI,IAAO,QAA0B;GACrC,IAAM,IAAoB,EAAE,EACxB,IAAsB,EAAE,OAAO,EAAE,EAAE,EACnC,IAAW;AAEf,QAAK,IAAI,IAAI,GAAG,IAAI,EAAc,MAAM,QAAQ,KAAK;IACnD,IAAM,IAAO,EAAc,MAAM,IAC3B,IAAS,MAAM,EAAc,MAAM,SAAS,GAC9C,IAAO,KAAK,IAAI,EAAK,MAAM,EAAQ,OAAO;AAG9C,QAAI,IAAW,IAAO,EAAQ,UACxB,EAAW,MAAM,SAAS,GAAG;KAE/B,IAAM,IAAY,EAAW,MAAM,EAAW,MAAM,SAAS;AAI7D,KAHA,EAAU,iBAAiB,EAAQ,SAAS,GAC5C,EAAO,KAAK,EAAW,EACvB,IAAa,EAAE,OAAO,EAAE,EAAE,EAC1B,IAAW;;AAYf,IAPI,MACF,IAAO,EAAQ,SAAS,IAG1B,EAAW,MAAM,KAAK;KAAE,GAAG;KAAM,eAAe;KAAM,CAAC,EACvD,KAAY,GAER,KAAY,EAAQ,WACtB,EAAO,KAAK,EAAW,EACvB,IAAa,EAAE,OAAO,EAAE,EAAE,EAC1B,IAAW;;AAKf,OAAI,EAAW,MAAM,SAAS,GAAG;IAC/B,IAAM,IAAY,EAAW,MAAM,EAAW,MAAM,SAAS;AAE7D,IADA,EAAU,iBAAiB,EAAQ,SAAS,GAC5C,EAAO,KAAK,EAAW;;AAGzB,UAAO;IACP;EAMF,SAAS,EAAiB,GAA+C;AACnE,UAAC,EAAQ,cAAc,CAAC,EAAK,YACjC,QAAO;IAAE,GAAG,EAAQ;IAAY,GAAG,EAAK;IAAY;;EAGtD,SAAS,EAAmB,GAA+C;AACrE,UAAC,EAAQ,gBAAgB,CAAC,EAAK,cACnC,QAAO;IAAE,GAAG,EAAQ;IAAc,GAAG,EAAK;IAAc;;AAG1D,UAAQ,GAAU,OACR,GAAY,EAAE,EAAoB,OAAO,EAC/C,OAAO,EAAgB,EAAY,MAAM,EAC1C,EAAE,CACA,EAAU,SACN,GAAY,EAAE,EAAoB,OAAO,GAAY,CACnD,EAAQ,SAAS,EAAK,OAAO,SACzB,GAAY,EAAE,EAAoB,OAAO,GAAY,CACpD,EAAY,EAAK,QAAQ,SAAS,EAAE,QAAQ,CAC1C,EAAiB,EAAiB,EAAQ,MAAM,EAAE,EAAE,CACrD,CAAC,CACH,CAAC,IACF,EAAoB,IAAI,GAAK,EAChC,EAAQ,SAAS,EAAK,OAAO,SACzB,GAAY,EAAE,EAAoB,OAAO,GAAY,CACpD,EAAY,EAAK,QAAQ,SAAS,EAAE,QAAQ,CAC1C,EAAiB,EAAiB,EAAQ,MAAM,EAAE,EAAE,CACrD,CAAC,CACH,CAAC,IACF,EAAoB,IAAI,GAAK,CAClC,CAAC,IACF,EAAoB,IAAI,GAAK,EACjC,EAAoB,OAAO,GAAY,CACpC,EAAQ,YACJ,GAAY,EAAE,EAAoB,SAAS,GAAY,CACtD,EAAoB,SAAS,MAAM,CAChC,EAAQ,WAAW,gBACf,EAAW,GAAK,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,EAAY,EAAK,QAAQ,GAAK,OAClF,GAAY,EAAE,EAAoB,MAAM;GAC9C,KAAK;GACL,OAAO;GACR,EAAE,EACA,EAAW,GAAK,EAAE,EAAoB,GAAW,MAAM,EAAY,EAAI,QAAQ,GAAM,OAC5E,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAW,EAAE,CACvE,EAAoB,MAAM;GACxB,OAAO;GACP,OAAO,EAAgB,EAAiB,EAAK,CAAC;GAC/C,EAAE,CACA,EAAK,aAAa,EAAK,UAAU,UAC7B,GAAY,EAAE,EAAa,QAA+B,EAAK,UAAU,EAAE,EAAE,KAAK,GAAG,CAAC,KACtF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,CACxD,EAAiB,EAAiB,EAAK,MAAM,EAAE,EAAE,CAClD,EAAE,GAAG,EACX,EAAE,EAAE,EACL,EAAoB,MAAM;GACxB,OAAO;GACP,SAAS,EAAK,gBAAgB,IAAI;GAClC,OAAO,EAAgB,EAAmB,EAAK,CAAC;GACjD,EAAE,CACA,EAAK,eAAe,EAAK,YAAY,UACjC,GAAY,EAAE,EAAa,QAA+B,EAAK,YAAY,EAAE,EAAE,KAAK,GAAG,CAAC,KACxF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,CACxD,EAAiB,EAAiB,EAAK,SAAS,EAAE,EAAE,CACrD,EAAE,GAAG,EACX,EAAE,IAAI,EAAW,CACnB,EAAE,GAAG,EACN,EAAE,IAAI,EACT,CAAC,EACF,EAAE,IAAI,KACP,EAAW,GAAK,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,EAAY,EAAK,QAAQ,GAAK,OAClF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAU,EAAE,CACtE,EAAoB,MAAM,GAAY,EACnC,EAAW,GAAK,EAAE,EAAoB,GAAW,MAAM,EAAY,EAAI,QAAQ,GAAM,OAC5E,GAAY,EAAE,EAAoB,MAAM;GAC9C,KAAK,WAAW;GAChB,OAAO;GACP,SAAS,EAAK;GACd,OAAO,EAAgB,EAAiB,EAAK,CAAC;GAC/C,EAAE,CACA,EAAK,aAAa,EAAK,UAAU,UAC7B,GAAY,EAAE,EAAa,QAA+B,EAAK,UAAU,EAAE,EAAE,KAAK,GAAG,CAAC,KACtF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,CACxD,EAAiB,EAAiB,EAAK,MAAM,EAAE,EAAE,CAClD,EAAE,GAAG,EACX,EAAE,IAAI,EAAW,EAClB,EAAE,IAAI,EACT,CAAC,EACF,EAAoB,MAAM,GAAY,EACnC,EAAW,GAAK,EAAE,EAAoB,GAAW,MAAM,EAAY,EAAI,QAAQ,GAAM,OAC5E,GAAY,EAAE,EAAoB,MAAM;GAC9C,KAAK,aAAa;GAClB,OAAO;GACP,SAAS,EAAK;GACd,OAAO,EAAgB,EAAmB,EAAK,CAAC;GACjD,EAAE,CACA,EAAK,eAAe,EAAK,YAAY,UACjC,GAAY,EAAE,EAAa,QAA+B,EAAK,YAAY,EAAE,EAAE,KAAK,GAAG,CAAC,KACxF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,CACxD,EAAiB,EAAiB,EAAK,SAAS,EAAE,EAAE,CACrD,EAAE,GAAG,EACX,EAAE,IAAI,EAAY,EACnB,EAAE,IAAI,EACT,CAAC,CACH,EAAE,GAAG,EACN,EAAE,IAAI,EACb,CAAC,CACH,CAAC,KACD,GAAY,EAAE,EAAoB,SAAS,GAAa,CACvD,EAAoB,SAAS,MAAM,CAChC,EAAQ,WAAW,gBACf,EAAW,GAAK,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,EAAY,EAAK,QAAQ,GAAK,OAClF,GAAY,EAAE,EAAoB,MAAM;GAC9C,KAAK;GACL,OAAO;GACR,EAAE,EACA,EAAW,GAAK,EAAE,EAAoB,GAAW,MAAM,EAAY,EAAI,QAAQ,GAAM,OAC5E,GAAY,EAAE,EAAoB,MAAM;GAC9C,KAAK;GACL,OAAO;GACP,SAAS,EAAK;GACf,EAAE,CACD,EAAoB,QAAQ;GAC1B,OAAO;GACP,OAAO,EAAgB,EAAiB,EAAK,CAAC;GAC/C,EAAE,CACA,EAAK,aAAa,EAAK,UAAU,UAC7B,GAAY,EAAE,EAAa,QAA+B,EAAK,UAAU,EAAE,EAAE,KAAK,GAAG,CAAC,KACtF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,CACxD,EAAiB,EAAiB,EAAK,MAAM,EAAE,EAAE,CAClD,EAAE,GAAG,EACX,EAAE,EAAE,EACL,EAAoB,QAAQ;GAC1B,OAAO;GACP,OAAO,EAAgB,EAAmB,EAAK,CAAC;GACjD,EAAE,CACA,EAAK,eAAe,EAAK,YAAY,UACjC,GAAY,EAAE,EAAa,QAA+B,EAAK,YAAY,EAAE,EAAE,KAAK,GAAG,CAAC,KACxF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,CACxD,EAAiB,EAAiB,EAAK,SAAS,EAAE,EAAE,CACrD,EAAE,GAAG,EACX,EAAE,EAAE,CACN,EAAE,GAAG,EAAY,EAClB,EAAE,IAAI,EACT,CAAC,EACF,EAAE,IAAI,KACP,EAAW,GAAK,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,EAAY,EAAK,QAAQ,GAAK,OAClF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAU,EAAE,CACtE,EAAoB,MAAM,GAAa,EACpC,EAAW,GAAK,EAAE,EAAoB,GAAW,MAAM,EAAY,EAAI,QAAQ,GAAM,OAC5E,GAAY,EAAE,EAAoB,MAAM;GAC9C,KAAK,WAAW;GAChB,OAAO;GACP,SAAS,EAAK;GACf,EAAE,CACD,EAAoB,QAAQ;GAC1B,OAAO;GACP,OAAO,EAAgB,EAAiB,EAAK,CAAC;GAC/C,EAAE,CACA,EAAK,aAAa,EAAK,UAAU,UAC7B,GAAY,EAAE,EAAa,QAA+B,EAAK,UAAU,EAAE,EAAE,KAAK,GAAG,CAAC,KACtF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,CACxD,EAAiB,EAAiB,EAAK,MAAM,EAAE,EAAE,CAClD,EAAE,GAAG,EACX,EAAE,EAAE,CACN,EAAE,GAAG,EAAY,EAClB,EAAE,IAAI,EACT,CAAC,EACF,EAAoB,MAAM,GAAa,EACpC,EAAW,GAAK,EAAE,EAAoB,GAAW,MAAM,EAAY,EAAI,QAAQ,GAAM,OAC5E,GAAY,EAAE,EAAoB,MAAM;GAC9C,KAAK,aAAa;GAClB,OAAO;GACP,SAAS,EAAK;GACf,EAAE,CACD,EAAoB,QAAQ;GAC1B,OAAO;GACP,OAAO,EAAgB,EAAmB,EAAK,CAAC;GACjD,EAAE,CACA,EAAK,eAAe,EAAK,YAAY,UACjC,GAAY,EAAE,EAAa,QAA+B,EAAK,YAAY,EAAE,EAAE,KAAK,GAAG,CAAC,KACxF,GAAY,EAAE,EAAoB,GAAW,EAAE,KAAK,GAAG,EAAE,CACxD,EAAiB,EAAiB,EAAK,SAAS,EAAE,EAAE,CACrD,EAAE,GAAG,EACX,EAAE,EAAE,CACN,EAAE,GAAG,EAAY,EAClB,EAAE,IAAI,EACT,CAAC,CACH,EAAE,GAAG,EACN,EAAE,IAAI,EACb,CAAC,CACH,CAAC,EACP,CAAC,CACH,EAAE,EAAE;;CAIN,CAAA"}
|
|
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"}
|