@7pmlabs/design-system 2.0.8 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/design-system.css +1 -1
- package/dist/design-system.js +65 -59
- package/dist/design-system100.js +1 -1
- package/dist/design-system100.js.map +1 -1
- package/dist/design-system101.js +87 -53
- package/dist/design-system101.js.map +1 -1
- package/dist/design-system103.js +5 -13
- package/dist/design-system103.js.map +1 -1
- package/dist/design-system104.js +53 -108
- package/dist/design-system104.js.map +1 -1
- package/dist/{design-system102.js → design-system105.js} +1 -1
- package/dist/{design-system102.js.map → design-system105.js.map} +1 -1
- package/dist/design-system106.js +13 -6
- package/dist/design-system106.js.map +1 -1
- package/dist/design-system107.js +93 -190
- package/dist/design-system107.js.map +1 -1
- package/dist/design-system109.js +2 -2
- package/dist/design-system109.js.map +1 -1
- package/dist/design-system110.js +183 -484
- package/dist/design-system110.js.map +1 -1
- package/dist/design-system112.js +5 -4
- package/dist/design-system112.js.map +1 -1
- package/dist/design-system113.js +507 -7
- package/dist/design-system113.js.map +1 -1
- package/dist/design-system115.js +8 -0
- package/dist/design-system115.js.map +1 -0
- package/dist/design-system116.js +7 -6
- package/dist/design-system116.js.map +1 -1
- package/dist/design-system117.js +154 -169
- package/dist/design-system117.js.map +1 -1
- package/dist/design-system119.js +2 -2
- package/dist/design-system119.js.map +1 -1
- package/dist/design-system120.js +210 -149
- package/dist/design-system120.js.map +1 -1
- package/dist/design-system122.js +5 -4
- package/dist/design-system122.js.map +1 -1
- package/dist/design-system123.js +160 -9
- package/dist/design-system123.js.map +1 -1
- package/dist/design-system125.js +8 -0
- package/dist/design-system125.js.map +1 -0
- package/dist/design-system126.js +176 -6
- package/dist/design-system126.js.map +1 -1
- package/dist/design-system128.js +8 -0
- package/dist/design-system128.js.map +1 -0
- package/dist/design-system129.js +213 -5
- package/dist/design-system129.js.map +1 -1
- package/dist/design-system131.js +5 -90
- package/dist/design-system131.js.map +1 -1
- package/dist/design-system132.js +166 -0
- package/dist/design-system132.js.map +1 -0
- package/dist/design-system134.js +5 -42
- package/dist/design-system134.js.map +1 -1
- package/dist/design-system135.js +12 -0
- package/dist/design-system135.js.map +1 -0
- package/dist/design-system136.js +274 -5
- package/dist/design-system136.js.map +1 -1
- package/dist/design-system138.js +9 -0
- package/dist/{design-system124.js.map → design-system138.js.map} +1 -1
- package/dist/design-system139.js +16 -5
- package/dist/design-system139.js.map +1 -1
- package/dist/design-system141.js +8 -0
- package/dist/{design-system127.js.map → design-system141.js.map} +1 -1
- package/dist/design-system142.js +12 -5
- package/dist/design-system142.js.map +1 -1
- package/dist/design-system143.js +78 -83
- package/dist/design-system143.js.map +1 -1
- package/dist/design-system145.js +1 -1
- package/dist/design-system145.js.map +1 -1
- package/dist/design-system146.js +42 -9
- package/dist/design-system146.js.map +1 -1
- package/dist/design-system148.js +3 -2
- package/dist/design-system148.js.map +1 -1
- package/dist/design-system149.js +230 -18
- package/dist/design-system149.js.map +1 -1
- package/dist/design-system151.js +5 -158
- package/dist/design-system151.js.map +1 -1
- package/dist/{design-system140.js → design-system152.js} +6 -6
- package/dist/{design-system140.js.map → design-system152.js.map} +1 -1
- package/dist/design-system154.js +5 -307
- package/dist/design-system154.js.map +1 -1
- package/dist/design-system155.js +98 -0
- package/dist/design-system155.js.map +1 -0
- package/dist/design-system157.js +5 -240
- package/dist/design-system157.js.map +1 -1
- package/dist/design-system158.js +12 -0
- package/dist/design-system158.js.map +1 -0
- package/dist/design-system159.js +37 -5
- package/dist/design-system159.js.map +1 -1
- package/dist/design-system160.js +4 -189
- package/dist/design-system160.js.map +1 -1
- package/dist/design-system161.js +24 -0
- package/dist/{design-system150.js.map → design-system161.js.map} +1 -1
- package/dist/design-system162.js +2 -3
- package/dist/design-system162.js.map +1 -1
- package/dist/design-system163.js +158 -3
- package/dist/design-system163.js.map +1 -1
- package/dist/{design-system153.js → design-system165.js} +2 -2
- package/dist/{design-system153.js.map → design-system165.js.map} +1 -1
- package/dist/design-system166.js +307 -6
- package/dist/design-system166.js.map +1 -1
- package/dist/{design-system156.js → design-system168.js} +2 -2
- package/dist/{design-system156.js.map → design-system168.js.map} +1 -1
- package/dist/design-system169.js +167 -6
- package/dist/design-system169.js.map +1 -1
- package/dist/design-system171.js +8 -0
- package/dist/design-system171.js.map +1 -0
- package/dist/design-system172.js +240 -6
- package/dist/design-system172.js.map +1 -1
- package/dist/design-system174.js +8 -0
- package/dist/design-system174.js.map +1 -0
- package/dist/design-system175.js +189 -6
- package/dist/design-system175.js.map +1 -1
- package/dist/design-system177.js +8 -0
- package/dist/design-system177.js.map +1 -0
- package/dist/design-system178.js +3 -5
- package/dist/design-system178.js.map +1 -1
- package/dist/design-system179.js +58 -11
- package/dist/design-system179.js.map +1 -1
- package/dist/design-system181.js +9 -0
- package/dist/design-system181.js.map +1 -0
- package/dist/design-system182.js +56 -6
- package/dist/design-system182.js.map +1 -1
- package/dist/design-system184.js +9 -0
- package/dist/{design-system167.js.map → design-system184.js.map} +1 -1
- package/dist/design-system185.js +69 -5
- package/dist/design-system185.js.map +1 -1
- package/dist/design-system187.js +9 -0
- package/dist/{design-system170.js.map → design-system187.js.map} +1 -1
- package/dist/design-system188.js +182 -5
- package/dist/design-system188.js.map +1 -1
- package/dist/design-system190.js +9 -0
- package/dist/design-system190.js.map +1 -0
- package/dist/design-system191.js +115 -5
- package/dist/design-system191.js.map +1 -1
- package/dist/design-system193.js +8 -0
- package/dist/{design-system176.js.map → design-system193.js.map} +1 -1
- package/dist/design-system194.js +11 -5
- package/dist/design-system194.js.map +1 -1
- package/dist/design-system195.js +453 -24
- package/dist/design-system195.js.map +1 -1
- package/dist/design-system197.js +5 -4
- package/dist/design-system197.js.map +1 -1
- package/dist/design-system198.js +20 -16
- 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 +70 -314
- package/dist/design-system201.js.map +1 -1
- package/dist/design-system203.js +1 -1
- package/dist/design-system203.js.map +1 -1
- package/dist/design-system204.js +24 -89
- 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 +26 -17
- package/dist/design-system207.js.map +1 -1
- package/dist/design-system209.js +5 -3
- package/dist/design-system209.js.map +1 -1
- package/dist/design-system210.js +22 -408
- package/dist/design-system210.js.map +1 -1
- package/dist/design-system212.js +1 -1
- package/dist/design-system212.js.map +1 -1
- package/dist/design-system213.js +24 -52
- 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 +329 -85
- package/dist/design-system216.js.map +1 -1
- package/dist/design-system218.js +5 -108
- package/dist/design-system218.js.map +1 -1
- package/dist/design-system219.js +103 -0
- package/dist/design-system219.js.map +1 -0
- package/dist/design-system221.js +5 -106
- package/dist/design-system221.js.map +1 -1
- package/dist/design-system222.js +22 -0
- package/dist/{design-system208.js.map → design-system222.js.map} +1 -1
- package/dist/design-system223.js +4 -6
- package/dist/design-system223.js.map +1 -1
- package/dist/design-system224.js +3 -737
- package/dist/design-system224.js.map +1 -1
- package/dist/design-system225.js +422 -0
- package/dist/design-system225.js.map +1 -0
- package/dist/design-system227.js +5 -11
- package/dist/design-system227.js.map +1 -1
- package/dist/design-system228.js +51 -517
- package/dist/design-system228.js.map +1 -1
- package/dist/design-system230.js +1 -1
- package/dist/design-system230.js.map +1 -1
- package/dist/design-system231.js +88 -3
- package/dist/design-system231.js.map +1 -1
- package/dist/design-system232.js +4 -46
- package/dist/design-system232.js.map +1 -1
- package/dist/design-system233.js +108 -4
- package/dist/design-system233.js.map +1 -1
- package/dist/{design-system220.js → design-system235.js} +2 -2
- package/dist/{design-system220.js.map → design-system235.js.map} +1 -1
- package/dist/design-system236.js +106 -5
- package/dist/design-system236.js.map +1 -1
- package/dist/design-system238.js +9 -0
- package/dist/design-system238.js.map +1 -0
- package/dist/design-system239.js +737 -5
- package/dist/design-system239.js.map +1 -1
- package/dist/{design-system226.js → design-system241.js} +2 -2
- package/dist/{design-system226.js.map → design-system241.js.map} +1 -1
- package/dist/design-system242.js +3 -5
- package/dist/design-system242.js.map +1 -1
- package/dist/design-system243.js +42 -50
- package/dist/design-system243.js.map +1 -1
- package/dist/design-system244.js +1 -1
- package/dist/design-system244.js.map +1 -1
- package/dist/design-system245.js +254 -141
- package/dist/design-system245.js.map +1 -1
- package/dist/design-system247.js +1 -1
- package/dist/design-system247.js.map +1 -1
- package/dist/design-system248.js +119 -7
- package/dist/design-system248.js.map +1 -1
- package/dist/design-system250.js +8 -0
- package/dist/design-system250.js.map +1 -0
- package/dist/design-system251.js +172 -5
- package/dist/design-system251.js.map +1 -1
- package/dist/design-system253.js +8 -0
- package/dist/design-system253.js.map +1 -0
- package/dist/design-system254.js +11 -6
- package/dist/design-system254.js.map +1 -1
- package/dist/design-system255.js +525 -9
- package/dist/design-system255.js.map +1 -1
- package/dist/design-system257.js +8 -0
- package/dist/design-system257.js.map +1 -0
- package/dist/design-system258.js +112 -6
- package/dist/design-system258.js.map +1 -1
- package/dist/design-system260.js +5 -374
- package/dist/design-system260.js.map +1 -1
- package/dist/design-system261.js +57 -0
- package/dist/design-system261.js.map +1 -0
- package/dist/design-system262.js +4 -6
- package/dist/design-system262.js.map +1 -1
- package/dist/design-system263.js +173 -0
- package/dist/design-system263.js.map +1 -0
- package/dist/design-system265.js +8 -0
- package/dist/design-system265.js.map +1 -0
- package/dist/design-system266.js +10 -0
- package/dist/design-system266.js.map +1 -0
- package/dist/{design-system249.js → design-system267.js} +2 -2
- package/dist/{design-system249.js.map → design-system267.js.map} +1 -1
- package/dist/design-system269.js +8 -0
- package/dist/design-system269.js.map +1 -0
- package/dist/{design-system252.js → design-system270.js} +1 -1
- package/dist/{design-system252.js.map → design-system270.js.map} +1 -1
- package/dist/design-system272.js +9 -0
- package/dist/design-system272.js.map +1 -0
- package/dist/design-system273.js +12 -0
- package/dist/design-system273.js.map +1 -0
- package/dist/{design-system256.js → design-system274.js} +2 -2
- package/dist/{design-system256.js.map → design-system274.js.map} +1 -1
- package/dist/design-system276.js +9 -0
- package/dist/design-system276.js.map +1 -0
- package/dist/{design-system259.js → design-system277.js} +1 -1
- package/dist/{design-system259.js.map → design-system277.js.map} +1 -1
- package/dist/design-system278.js +377 -0
- package/dist/design-system278.js.map +1 -0
- package/dist/design-system280.js +9 -0
- package/dist/design-system280.js.map +1 -0
- package/dist/design-system69.js +182 -13
- package/dist/design-system69.js.map +1 -1
- package/dist/design-system71.js +8 -0
- package/dist/design-system71.js.map +1 -0
- package/dist/design-system72.js +13 -5
- package/dist/design-system72.js.map +1 -1
- package/dist/design-system73.js +677 -139
- package/dist/design-system73.js.map +1 -1
- package/dist/design-system75.js +1 -1
- package/dist/design-system75.js.map +1 -1
- package/dist/design-system76.js +152 -23
- package/dist/design-system76.js.map +1 -1
- package/dist/design-system78.js +5 -49
- package/dist/design-system78.js.map +1 -1
- package/dist/design-system79.js +32 -0
- package/dist/design-system79.js.map +1 -0
- package/dist/design-system80.js +2 -3
- package/dist/design-system80.js.map +1 -1
- package/dist/design-system81.js +38 -188
- package/dist/design-system81.js.map +1 -1
- package/dist/design-system83.js +1 -1
- package/dist/design-system83.js.map +1 -1
- package/dist/design-system84.js +199 -7
- package/dist/design-system84.js.map +1 -1
- package/dist/design-system86.js +8 -0
- package/dist/design-system86.js.map +1 -0
- package/dist/design-system87.js +7 -5
- package/dist/design-system87.js.map +1 -1
- package/dist/design-system88.js +264 -48
- package/dist/design-system88.js.map +1 -1
- package/dist/design-system90.js +1 -1
- package/dist/design-system90.js.map +1 -1
- package/dist/design-system91.js +57 -11
- package/dist/design-system91.js.map +1 -1
- package/dist/design-system93.js +8 -0
- package/dist/design-system93.js.map +1 -0
- package/dist/design-system94.js +11 -5
- package/dist/design-system94.js.map +1 -1
- package/dist/design-system95.js +92 -59
- package/dist/design-system95.js.map +1 -1
- package/dist/design-system97.js +1 -1
- package/dist/design-system97.js.map +1 -1
- package/dist/design-system98.js +56 -78
- package/dist/design-system98.js.map +1 -1
- package/dist/types/components/BContextMenu/BContextMenu.spec.d.ts +1 -0
- package/dist/types/components/BContextMenu/BContextMenu.vue.d.ts +42 -0
- package/dist/types/components/BContextMenu/index.d.ts +2 -0
- package/dist/types/components/BContextMenu/types.d.ts +23 -0
- package/dist/types/components/BInputTags/BInputTags.spec.d.ts +1 -0
- package/dist/types/components/BInputTags/BInputTags.vue.d.ts +54 -0
- package/dist/types/components/BInputTags/index.d.ts +1 -0
- package/dist/types/components/BLink/BLink.spec.d.ts +1 -0
- package/dist/types/components/BLink/BLink.vue.d.ts +100 -0
- package/dist/types/components/BLink/index.d.ts +1 -0
- package/dist/types/components/BListbox/BListbox.spec.d.ts +1 -0
- package/dist/types/components/BListbox/BListbox.vue.d.ts +52 -0
- package/dist/types/components/BListbox/index.d.ts +1 -0
- package/dist/types/components/BModal/BModal.spec.d.ts +1 -0
- package/dist/types/components/BPinInput/BPinInput.spec.d.ts +1 -0
- package/dist/types/components/BPinInput/BPinInput.vue.d.ts +43 -0
- package/dist/types/components/BPinInput/index.d.ts +1 -0
- package/dist/types/components/BProgress/BProgress.vue.d.ts +47 -2
- package/dist/types/components/BTextarea/BTextarea.spec.d.ts +1 -0
- package/dist/types/components/BTextarea/BTextarea.vue.d.ts +77 -0
- package/dist/types/components/BTextarea/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +7 -1
- package/package.json +1 -1
- package/dist/design-system114.js +0 -212
- package/dist/design-system114.js.map +0 -1
- package/dist/design-system124.js +0 -277
- package/dist/design-system127.js +0 -19
- package/dist/design-system130.js +0 -15
- package/dist/design-system130.js.map +0 -1
- package/dist/design-system133.js +0 -8
- package/dist/design-system133.js.map +0 -1
- package/dist/design-system137.js +0 -236
- package/dist/design-system137.js.map +0 -1
- package/dist/design-system147.js +0 -40
- package/dist/design-system147.js.map +0 -1
- package/dist/design-system150.js +0 -7
- package/dist/design-system164.js +0 -61
- package/dist/design-system164.js.map +0 -1
- package/dist/design-system167.js +0 -59
- package/dist/design-system170.js +0 -72
- package/dist/design-system173.js +0 -185
- package/dist/design-system173.js.map +0 -1
- package/dist/design-system176.js +0 -118
- package/dist/design-system180.js +0 -465
- package/dist/design-system180.js.map +0 -1
- package/dist/design-system183.js +0 -38
- package/dist/design-system183.js.map +0 -1
- package/dist/design-system186.js +0 -91
- package/dist/design-system186.js.map +0 -1
- package/dist/design-system189.js +0 -38
- package/dist/design-system189.js.map +0 -1
- package/dist/design-system192.js +0 -31
- package/dist/design-system192.js.map +0 -1
- package/dist/design-system208.js +0 -7
- package/dist/design-system217.js +0 -7
- package/dist/design-system217.js.map +0 -1
- package/dist/design-system234.js +0 -286
- package/dist/design-system234.js.map +0 -1
- package/dist/design-system237.js +0 -122
- package/dist/design-system237.js.map +0 -1
- package/dist/design-system240.js +0 -115
- package/dist/design-system240.js.map +0 -1
- package/dist/design-system70.js +0 -699
- package/dist/design-system70.js.map +0 -1
- package/dist/design-system77.js +0 -7
- package/dist/design-system77.js.map +0 -1
- package/dist/design-system85.js +0 -276
- package/dist/design-system85.js.map +0 -1
- package/dist/design-system92.js +0 -102
- package/dist/design-system92.js.map +0 -1
package/dist/design-system237.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { Transition as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, defineComponent as s, normalizeClass as c, normalizeStyle as l, openBlock as u, ref as d, renderSlot as f, toDisplayString as p, watch as m, withCtx as h, withModifiers as g } from "vue";
|
|
2
|
-
//#region src/components/BTag/BTag.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
-
var _ = ["aria-hidden"], v = { class: "b-tag__content" }, y = ["data-icon"], b = {
|
|
4
|
-
key: 1,
|
|
5
|
-
class: "b-tag__close-icon",
|
|
6
|
-
viewBox: "0 0 12 12",
|
|
7
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
8
|
-
"aria-hidden": "true",
|
|
9
|
-
focusable: "false"
|
|
10
|
-
}, x = /* @__PURE__ */ s({
|
|
11
|
-
__name: "BTag",
|
|
12
|
-
props: {
|
|
13
|
-
color: {},
|
|
14
|
-
variant: { default: "filled" },
|
|
15
|
-
size: { default: "default" },
|
|
16
|
-
closable: {
|
|
17
|
-
type: Boolean,
|
|
18
|
-
default: !1
|
|
19
|
-
},
|
|
20
|
-
closeIcon: {},
|
|
21
|
-
visible: {
|
|
22
|
-
type: Boolean,
|
|
23
|
-
default: () => void 0
|
|
24
|
-
},
|
|
25
|
-
bordered: {
|
|
26
|
-
type: Boolean,
|
|
27
|
-
default: !0
|
|
28
|
-
},
|
|
29
|
-
icon: {}
|
|
30
|
-
},
|
|
31
|
-
emits: [
|
|
32
|
-
"close",
|
|
33
|
-
"afterClose",
|
|
34
|
-
"update:visible"
|
|
35
|
-
],
|
|
36
|
-
setup(s, { emit: x }) {
|
|
37
|
-
let S = x, C = [
|
|
38
|
-
"default",
|
|
39
|
-
"success",
|
|
40
|
-
"processing",
|
|
41
|
-
"error",
|
|
42
|
-
"warning",
|
|
43
|
-
"magenta",
|
|
44
|
-
"red",
|
|
45
|
-
"volcano",
|
|
46
|
-
"orange",
|
|
47
|
-
"gold",
|
|
48
|
-
"lime",
|
|
49
|
-
"green",
|
|
50
|
-
"cyan",
|
|
51
|
-
"blue",
|
|
52
|
-
"geekblue",
|
|
53
|
-
"purple"
|
|
54
|
-
], w = t(() => s.color === void 0 || C.includes(s.color)), T = t(() => w.value ? s.color ?? "default" : "default"), E = t(() => s.visible !== void 0), D = d(!0);
|
|
55
|
-
m(() => s.visible, (e) => {
|
|
56
|
-
e !== void 0 && (D.value = e);
|
|
57
|
-
});
|
|
58
|
-
let O = t(() => E.value ? s.visible : D.value);
|
|
59
|
-
function k(e) {
|
|
60
|
-
S("close", e), E.value ? S("update:visible", !1) : D.value = !1;
|
|
61
|
-
}
|
|
62
|
-
function A(e) {
|
|
63
|
-
k(e);
|
|
64
|
-
}
|
|
65
|
-
function j(e) {
|
|
66
|
-
(e.key === "Enter" || e.key === " " || e.key === "Escape") && (e.preventDefault(), k(e));
|
|
67
|
-
}
|
|
68
|
-
function M() {
|
|
69
|
-
S("afterClose");
|
|
70
|
-
}
|
|
71
|
-
let N = t(() => [
|
|
72
|
-
"b-tag",
|
|
73
|
-
`b-tag--${T.value}`,
|
|
74
|
-
`b-tag--${s.variant}`,
|
|
75
|
-
{
|
|
76
|
-
"b-tag--borderless": !s.bordered,
|
|
77
|
-
"b-tag--closable": s.closable,
|
|
78
|
-
"b-tag--small": s.size === "small",
|
|
79
|
-
"b-tag--large": s.size === "large",
|
|
80
|
-
"b-tag--custom-color": !w.value
|
|
81
|
-
}
|
|
82
|
-
]), P = t(() => {
|
|
83
|
-
if (!w.value) return { "--b-tag-custom-color": s.color };
|
|
84
|
-
});
|
|
85
|
-
return (t, d) => (u(), n(e, {
|
|
86
|
-
name: "b-tag-fade",
|
|
87
|
-
onAfterLeave: M
|
|
88
|
-
}, {
|
|
89
|
-
default: h(() => [O.value ? (u(), i("span", {
|
|
90
|
-
key: 0,
|
|
91
|
-
class: c(N.value),
|
|
92
|
-
style: l(P.value)
|
|
93
|
-
}, [
|
|
94
|
-
t.$slots.icon || s.icon ? (u(), i("span", {
|
|
95
|
-
key: 0,
|
|
96
|
-
class: "b-tag__icon",
|
|
97
|
-
"aria-hidden": t.$slots.icon ? void 0 : "true"
|
|
98
|
-
}, [f(t.$slots, "icon", {}, () => [o(p(s.icon), 1)])], 8, _)) : r("", !0),
|
|
99
|
-
a("span", v, [f(t.$slots, "default")]),
|
|
100
|
-
s.closable ? (u(), i("button", {
|
|
101
|
-
key: 1,
|
|
102
|
-
type: "button",
|
|
103
|
-
class: "b-tag__close",
|
|
104
|
-
"aria-label": "Remove tag",
|
|
105
|
-
tabindex: "0",
|
|
106
|
-
onClick: g(A, ["stop"]),
|
|
107
|
-
onKeydown: j
|
|
108
|
-
}, [f(t.$slots, "closeIcon", {}, () => [s.closeIcon ? (u(), i("span", {
|
|
109
|
-
key: 0,
|
|
110
|
-
class: "b-tag__close-label",
|
|
111
|
-
"aria-hidden": "true",
|
|
112
|
-
"data-icon": s.closeIcon
|
|
113
|
-
}, null, 8, y)) : (u(), i("svg", b, [...d[0] ||= [a("path", { d: "M9.5 3.205 8.795 2.5 6 5.295 3.205 2.5 2.5 3.205 5.295 6 2.5 8.795 3.205 9.5 6 6.705 8.795 9.5 9.5 8.795 6.705 6z" }, null, -1)]]))])], 32)) : r("", !0)
|
|
114
|
-
], 6)) : r("", !0)]),
|
|
115
|
-
_: 3
|
|
116
|
-
}));
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
//#endregion
|
|
120
|
-
export { x as default };
|
|
121
|
-
|
|
122
|
-
//# sourceMappingURL=design-system237.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"design-system237.js","names":["$slots"],"sources":["../src/components/BTag/BTag.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\n\nimport type { BTagColor, BTagPresetColor, BTagSize, BTagVariant } from './types';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\nconst {\n color,\n variant = 'filled',\n size = 'default',\n closable = false,\n closeIcon,\n visible = undefined,\n bordered = true,\n icon,\n} = defineProps<{\n /**\n * Preset semantic color name or any CSS color value.\n * Preset names map to a full color scale (bg, border, text).\n * Any other string is treated as a raw CSS color and applied to the border.\n * @example 'success' | 'processing' | 'error' | '#ff0000' | 'rgb(0,0,255)'\n */\n color?: BTagColor;\n /**\n * Visual style variant.\n * @default 'filled'\n */\n variant?: BTagVariant;\n /**\n * Size of the tag.\n * @default 'default'\n */\n size?: BTagSize;\n /**\n * Whether the tag can be closed/removed.\n * @default false\n */\n closable?: boolean;\n /**\n * Custom icon shown as the close trigger (string emoji / unicode or slot).\n * If omitted the default × SVG is used.\n */\n closeIcon?: string;\n /**\n * Controlled visibility - operate the tag in controlled mode via v-model.\n * When undefined the component manages its own visibility.\n */\n visible?: boolean;\n /**\n * Whether the tag has a border.\n * @default true\n */\n bordered?: boolean;\n /**\n * Leading icon string (emoji / unicode). For accessible icon rendering\n * prefer the `#icon` slot which lets callers set `role=\"img\"` + `aria-label`.\n */\n icon?: string;\n}>();\n\n// ─────────────────────────────────────────────\n// Emits\n// ─────────────────────────────────────────────\nconst emit = defineEmits<{\n /** Fires synchronously when the close button is clicked/activated. */\n (e: 'close', event: MouseEvent | KeyboardEvent): void;\n /** Fires after the fade-out transition fully completes. */\n (e: 'afterClose'): void;\n /** v-model support - emitted with `false` when the tag is closed. */\n (e: 'update:visible', value: boolean): void;\n}>();\n\n// ─────────────────────────────────────────────\n// Slots\n// ─────────────────────────────────────────────\ndefineSlots<{\n /** Default tag content. */\n default?(): unknown;\n /** Leading icon area - receives no scoped props. */\n icon?(): unknown;\n /** Overrides the built-in close icon. */\n closeIcon?(): unknown;\n}>();\n\n// ─────────────────────────────────────────────\n// Preset colors\n// ─────────────────────────────────────────────\nconst PRESET_COLORS: BTagPresetColor[] = [\n 'default',\n 'success',\n 'processing',\n 'error',\n 'warning',\n 'magenta',\n 'red',\n 'volcano',\n 'orange',\n 'gold',\n 'lime',\n 'green',\n 'cyan',\n 'blue',\n 'geekblue',\n 'purple',\n];\n\nconst isPreset = computed(() => color === undefined || (PRESET_COLORS as string[]).includes(color));\n\nconst effectiveColor = computed<BTagPresetColor>(() =>\n isPreset.value ? ((color ?? 'default') as BTagPresetColor) : 'default',\n);\n\n// ─────────────────────────────────────────────\n// Visibility state\n// ─────────────────────────────────────────────\nconst isControlled = computed(() => visible !== undefined);\nconst internalVisible = ref(true);\n\n// Sync external → internal when switching to controlled\nwatch(\n () => visible,\n (val) => {\n if (val !== undefined) internalVisible.value = val;\n },\n);\n\nconst isVisible = computed(() => (isControlled.value ? visible! : internalVisible.value));\n\n// ─────────────────────────────────────────────\n// Close logic\n// ─────────────────────────────────────────────\nfunction handleClose(event: MouseEvent | KeyboardEvent) {\n emit('close', event);\n if (isControlled.value) {\n emit('update:visible', false);\n } else {\n internalVisible.value = false;\n }\n}\n\nfunction onCloseClick(event: MouseEvent) {\n handleClose(event);\n}\n\nfunction onCloseKeydown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Escape') {\n event.preventDefault();\n handleClose(event);\n }\n}\n\nfunction onAfterLeave() {\n emit('afterClose');\n}\n\n// ─────────────────────────────────────────────\n// Root class\n// ─────────────────────────────────────────────\nconst rootClasses = computed(() => [\n 'b-tag',\n `b-tag--${effectiveColor.value}`,\n `b-tag--${variant}`,\n {\n 'b-tag--borderless': !bordered,\n 'b-tag--closable': closable,\n 'b-tag--small': size === 'small',\n 'b-tag--large': size === 'large',\n 'b-tag--custom-color': !isPreset.value,\n },\n]);\n\n// ─────────────────────────────────────────────\n// Custom color inline style\n// ─────────────────────────────────────────────\nconst customColorStyle = computed(() => {\n if (isPreset.value) return undefined;\n // For custom colors: use the color as border + text; tint bg at 10% opacity\n return {\n '--b-tag-custom-color': color,\n } as Record<string, string>;\n});\n</script>\n\n<template>\n <Transition name=\"b-tag-fade\" @after-leave=\"onAfterLeave\">\n <span v-if=\"isVisible\" :class=\"rootClasses\" :style=\"customColorStyle\">\n <!-- Leading icon -->\n <span\n v-if=\"$slots.icon || icon\"\n class=\"b-tag__icon\"\n :aria-hidden=\"$slots.icon ? undefined : 'true'\"\n >\n <slot name=\"icon\">{{ icon }}</slot>\n </span>\n\n <!-- Content -->\n <span class=\"b-tag__content\">\n <slot />\n </span>\n\n <!-- Close button -->\n <button\n v-if=\"closable\"\n type=\"button\"\n class=\"b-tag__close\"\n aria-label=\"Remove tag\"\n tabindex=\"0\"\n @click.stop=\"onCloseClick\"\n @keydown=\"onCloseKeydown\"\n >\n <slot name=\"closeIcon\">\n <span\n v-if=\"closeIcon\"\n class=\"b-tag__close-label\"\n aria-hidden=\"true\"\n :data-icon=\"closeIcon\"\n />\n <svg\n v-else\n class=\"b-tag__close-icon\"\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M9.5 3.205 8.795 2.5 6 5.295 3.205 2.5 2.5 3.205 5.295 6 2.5 8.795 3.205 9.5 6 6.705 8.795 9.5 9.5 8.795 6.705 6z\"\n />\n </svg>\n </slot>\n </button>\n </span>\n </Transition>\n</template>\n\n<style>\n/* ─────────────────────────────────────────────\n BTag - CSS custom properties (scoped to root)\n ───────────────────────────────────────────── */\n.b-tag {\n /* Layout */\n --b-tag-height: 22px;\n --b-tag-padding: 0 7px;\n --b-tag-border-radius: 4px;\n --b-tag-font-size: 12px;\n --b-tag-line-height: 20px;\n --b-tag-gap: 4px;\n\n /* Close button */\n --b-tag-close-size: 12px;\n --b-tag-close-offset: 3px;\n --b-tag-close-opacity: 0.45;\n --b-tag-close-hover-opacity: 1;\n\n /* Animation */\n --b-tag-transition-duration: 200ms;\n\n /* Custom color (set via inline style for non-preset colors) */\n --b-tag-custom-color: initial;\n\n /* ── Default color scheme ── */\n --b-tag-bg: oklch(96% 0.003 260);\n --b-tag-border-color: oklch(87% 0.007 260);\n --b-tag-color: oklch(32% 0.02 260);\n\n /* ── Layout ── */\n display: inline-flex;\n align-items: center;\n gap: var(--b-tag-gap);\n height: var(--b-tag-height);\n padding: var(--b-tag-padding);\n border-radius: var(--b-tag-border-radius);\n border: 1px solid var(--b-tag-border-color);\n background: var(--b-tag-bg);\n color: var(--b-tag-color);\n font-size: var(--b-tag-font-size);\n line-height: var(--b-tag-line-height);\n white-space: nowrap;\n box-sizing: border-box;\n vertical-align: middle;\n cursor: default;\n user-select: none;\n}\n\n/* ── Size variants ── */\n.b-tag--small {\n --b-tag-height: 18px;\n --b-tag-padding: 0 5px;\n --b-tag-font-size: 11px;\n --b-tag-line-height: 16px;\n --b-tag-close-size: 10px;\n}\n\n.b-tag--large {\n --b-tag-height: 28px;\n --b-tag-padding: 0 10px;\n --b-tag-font-size: 14px;\n --b-tag-line-height: 26px;\n --b-tag-close-size: 14px;\n}\n\n/* ── Borderless ── */\n.b-tag--borderless {\n border-color: transparent;\n}\n\n/* ── Outlined variant ── */\n.b-tag--outlined {\n background: transparent;\n}\n\n/* ── Icon ── */\n.b-tag__icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n font-size: var(--b-tag-font-size);\n}\n\n/* ── Content ── */\n.b-tag__content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: var(--b-tag-line-height);\n}\n\n/* ── Close button ── */\n.b-tag__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n padding: 0;\n margin-left: var(--b-tag-close-offset);\n border: none;\n border-radius: 2px;\n background: transparent;\n color: inherit;\n cursor: pointer;\n opacity: var(--b-tag-close-opacity);\n line-height: 1;\n font-size: var(--b-tag-close-size);\n width: var(--b-tag-close-size);\n height: var(--b-tag-close-size);\n transition: opacity var(--b-tag-transition-duration) ease;\n}\n\n.b-tag__close:hover {\n opacity: var(--b-tag-close-hover-opacity);\n}\n\n.b-tag__close:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n opacity: var(--b-tag-close-hover-opacity);\n}\n\n.b-tag__close-icon {\n width: 1em;\n height: 1em;\n fill: currentColor;\n display: block;\n}\n\n.b-tag__close-label::before {\n content: attr(data-icon);\n}\n\n/* ─────────────────────────────────────────────\n Preset color schemes\n ───────────────────────────────────────────── */\n\n/* ── success ── */\n.b-tag--success {\n --b-tag-bg: oklch(95% 0.05 145);\n --b-tag-border-color: oklch(78% 0.14 148);\n --b-tag-color: oklch(40% 0.14 148);\n}\n\n/* ── processing (blue pulse-ready) ── */\n.b-tag--processing {\n --b-tag-bg: oklch(94% 0.05 260);\n --b-tag-border-color: oklch(72% 0.17 262);\n --b-tag-color: oklch(45% 0.18 262);\n}\n\n/* ── error ── */\n.b-tag--error {\n --b-tag-bg: oklch(96% 0.04 20);\n --b-tag-border-color: oklch(78% 0.15 22);\n --b-tag-color: oklch(40% 0.17 22);\n}\n\n/* ── warning ── */\n.b-tag--warning {\n --b-tag-bg: oklch(97% 0.06 75);\n --b-tag-border-color: oklch(82% 0.17 58);\n --b-tag-color: oklch(42% 0.14 55);\n}\n\n/* ── magenta ── */\n.b-tag--magenta {\n --b-tag-bg: oklch(95% 0.04 345);\n --b-tag-border-color: oklch(76% 0.18 350);\n --b-tag-color: oklch(42% 0.2 348);\n}\n\n/* ── red ── */\n.b-tag--red {\n --b-tag-bg: oklch(96% 0.035 15);\n --b-tag-border-color: oklch(74% 0.19 18);\n --b-tag-color: oklch(40% 0.2 18);\n}\n\n/* ── volcano ── */\n.b-tag--volcano {\n --b-tag-bg: oklch(96% 0.04 38);\n --b-tag-border-color: oklch(76% 0.17 38);\n --b-tag-color: oklch(42% 0.18 38);\n}\n\n/* ── orange ── */\n.b-tag--orange {\n --b-tag-bg: oklch(97% 0.055 65);\n --b-tag-border-color: oklch(80% 0.18 62);\n --b-tag-color: oklch(44% 0.16 60);\n}\n\n/* ── gold ── */\n.b-tag--gold {\n --b-tag-bg: oklch(97% 0.06 80);\n --b-tag-border-color: oklch(82% 0.18 78);\n --b-tag-color: oklch(45% 0.14 78);\n}\n\n/* ── lime ── */\n.b-tag--lime {\n --b-tag-bg: oklch(96% 0.07 128);\n --b-tag-border-color: oklch(80% 0.18 128);\n --b-tag-color: oklch(42% 0.15 128);\n}\n\n/* ── green ── */\n.b-tag--green {\n --b-tag-bg: oklch(95% 0.05 145);\n --b-tag-border-color: oklch(76% 0.16 147);\n --b-tag-color: oklch(38% 0.14 147);\n}\n\n/* ── cyan ── */\n.b-tag--cyan {\n --b-tag-bg: oklch(95% 0.05 200);\n --b-tag-border-color: oklch(76% 0.14 200);\n --b-tag-color: oklch(40% 0.12 200);\n}\n\n/* ── blue ── */\n.b-tag--blue {\n --b-tag-bg: oklch(94% 0.05 255);\n --b-tag-border-color: oklch(72% 0.17 258);\n --b-tag-color: oklch(42% 0.18 258);\n}\n\n/* ── geekblue ── */\n.b-tag--geekblue {\n --b-tag-bg: oklch(94% 0.04 270);\n --b-tag-border-color: oklch(68% 0.2 272);\n --b-tag-color: oklch(38% 0.22 272);\n}\n\n/* ── purple ── */\n.b-tag--purple {\n --b-tag-bg: oklch(95% 0.04 300);\n --b-tag-border-color: oklch(72% 0.18 300);\n --b-tag-color: oklch(40% 0.2 300);\n}\n\n/* ─────────────────────────────────────────────\n Custom (non-preset) color\n ───────────────────────────────────────────── */\n.b-tag--custom-color {\n /* 8% tint keeps the background very light; 55% blend with black produces\n text dark enough to clear WCAG AA 4.5:1 against that near-white bg. */\n --b-tag-bg: color-mix(in oklch, var(--b-tag-custom-color) 8%, white);\n --b-tag-border-color: color-mix(in oklch, var(--b-tag-custom-color) 50%, white);\n --b-tag-color: color-mix(in oklch, var(--b-tag-custom-color) 55%, black);\n}\n\n/* ─────────────────────────────────────────────\n Dark mode\n ───────────────────────────────────────────── */\n[data-prefers-color='dark'] .b-tag {\n --b-tag-bg: oklch(26% 0.008 260);\n --b-tag-border-color: oklch(36% 0.012 260);\n --b-tag-color: oklch(82% 0.01 260);\n}\n\n[data-prefers-color='dark'] .b-tag--success {\n --b-tag-bg: oklch(20% 0.06 148);\n --b-tag-border-color: oklch(38% 0.12 148);\n --b-tag-color: oklch(78% 0.12 148);\n}\n\n[data-prefers-color='dark'] .b-tag--processing {\n --b-tag-bg: oklch(20% 0.06 260);\n --b-tag-border-color: oklch(40% 0.14 262);\n --b-tag-color: oklch(76% 0.15 262);\n}\n\n[data-prefers-color='dark'] .b-tag--error {\n --b-tag-bg: oklch(20% 0.05 20);\n --b-tag-border-color: oklch(38% 0.14 22);\n --b-tag-color: oklch(78% 0.14 22);\n}\n\n[data-prefers-color='dark'] .b-tag--warning {\n --b-tag-bg: oklch(20% 0.06 58);\n --b-tag-border-color: oklch(40% 0.15 58);\n --b-tag-color: oklch(80% 0.14 58);\n}\n\n[data-prefers-color='dark'] .b-tag--magenta {\n --b-tag-bg: oklch(20% 0.05 348);\n --b-tag-border-color: oklch(38% 0.16 350);\n --b-tag-color: oklch(76% 0.16 348);\n}\n\n[data-prefers-color='dark'] .b-tag--red {\n --b-tag-bg: oklch(20% 0.05 18);\n --b-tag-border-color: oklch(38% 0.17 18);\n --b-tag-color: oklch(76% 0.17 18);\n}\n\n[data-prefers-color='dark'] .b-tag--volcano {\n --b-tag-bg: oklch(20% 0.05 38);\n --b-tag-border-color: oklch(38% 0.15 38);\n --b-tag-color: oklch(76% 0.15 38);\n}\n\n[data-prefers-color='dark'] .b-tag--orange {\n --b-tag-bg: oklch(20% 0.06 62);\n --b-tag-border-color: oklch(40% 0.16 62);\n --b-tag-color: oklch(80% 0.16 62);\n}\n\n[data-prefers-color='dark'] .b-tag--gold {\n --b-tag-bg: oklch(20% 0.06 78);\n --b-tag-border-color: oklch(40% 0.16 78);\n --b-tag-color: oklch(80% 0.14 78);\n}\n\n[data-prefers-color='dark'] .b-tag--lime {\n --b-tag-bg: oklch(20% 0.07 128);\n --b-tag-border-color: oklch(40% 0.16 128);\n --b-tag-color: oklch(80% 0.14 128);\n}\n\n[data-prefers-color='dark'] .b-tag--green {\n --b-tag-bg: oklch(20% 0.06 147);\n --b-tag-border-color: oklch(38% 0.14 147);\n --b-tag-color: oklch(76% 0.13 147);\n}\n\n[data-prefers-color='dark'] .b-tag--cyan {\n --b-tag-bg: oklch(20% 0.05 200);\n --b-tag-border-color: oklch(38% 0.12 200);\n --b-tag-color: oklch(76% 0.11 200);\n}\n\n[data-prefers-color='dark'] .b-tag--blue {\n --b-tag-bg: oklch(20% 0.06 258);\n --b-tag-border-color: oklch(38% 0.15 258);\n --b-tag-color: oklch(74% 0.15 258);\n}\n\n[data-prefers-color='dark'] .b-tag--geekblue {\n --b-tag-bg: oklch(20% 0.05 272);\n --b-tag-border-color: oklch(36% 0.18 272);\n --b-tag-color: oklch(72% 0.18 272);\n}\n\n[data-prefers-color='dark'] .b-tag--purple {\n --b-tag-bg: oklch(20% 0.05 300);\n --b-tag-border-color: oklch(36% 0.16 300);\n --b-tag-color: oklch(74% 0.16 300);\n}\n\n[data-prefers-color='dark'] .b-tag--custom-color {\n --b-tag-bg: color-mix(in oklch, var(--b-tag-custom-color) 15%, oklch(15% 0 0));\n --b-tag-border-color: color-mix(in oklch, var(--b-tag-custom-color) 50%, oklch(15% 0 0));\n --b-tag-color: color-mix(in oklch, var(--b-tag-custom-color) 85%, white);\n}\n\n@media (prefers-color-scheme: dark) {\n [data-prefers-color='system'] .b-tag {\n --b-tag-bg: oklch(26% 0.008 260);\n --b-tag-border-color: oklch(36% 0.012 260);\n --b-tag-color: oklch(82% 0.01 260);\n }\n [data-prefers-color='system'] .b-tag--success {\n --b-tag-bg: oklch(20% 0.06 148);\n --b-tag-border-color: oklch(38% 0.12 148);\n --b-tag-color: oklch(78% 0.12 148);\n }\n [data-prefers-color='system'] .b-tag--processing {\n --b-tag-bg: oklch(20% 0.06 260);\n --b-tag-border-color: oklch(40% 0.14 262);\n --b-tag-color: oklch(76% 0.15 262);\n }\n [data-prefers-color='system'] .b-tag--error {\n --b-tag-bg: oklch(20% 0.05 20);\n --b-tag-border-color: oklch(38% 0.14 22);\n --b-tag-color: oklch(78% 0.14 22);\n }\n [data-prefers-color='system'] .b-tag--warning {\n --b-tag-bg: oklch(20% 0.06 58);\n --b-tag-border-color: oklch(40% 0.15 58);\n --b-tag-color: oklch(80% 0.14 58);\n }\n [data-prefers-color='system'] .b-tag--magenta {\n --b-tag-bg: oklch(20% 0.05 348);\n --b-tag-border-color: oklch(38% 0.16 350);\n --b-tag-color: oklch(76% 0.16 348);\n }\n [data-prefers-color='system'] .b-tag--red {\n --b-tag-bg: oklch(20% 0.05 18);\n --b-tag-border-color: oklch(38% 0.17 18);\n --b-tag-color: oklch(76% 0.17 18);\n }\n [data-prefers-color='system'] .b-tag--volcano {\n --b-tag-bg: oklch(20% 0.05 38);\n --b-tag-border-color: oklch(38% 0.15 38);\n --b-tag-color: oklch(76% 0.15 38);\n }\n [data-prefers-color='system'] .b-tag--orange {\n --b-tag-bg: oklch(20% 0.06 62);\n --b-tag-border-color: oklch(40% 0.16 62);\n --b-tag-color: oklch(80% 0.16 62);\n }\n [data-prefers-color='system'] .b-tag--gold {\n --b-tag-bg: oklch(20% 0.06 78);\n --b-tag-border-color: oklch(40% 0.16 78);\n --b-tag-color: oklch(80% 0.14 78);\n }\n [data-prefers-color='system'] .b-tag--lime {\n --b-tag-bg: oklch(20% 0.07 128);\n --b-tag-border-color: oklch(40% 0.16 128);\n --b-tag-color: oklch(80% 0.14 128);\n }\n [data-prefers-color='system'] .b-tag--green {\n --b-tag-bg: oklch(20% 0.06 147);\n --b-tag-border-color: oklch(38% 0.14 147);\n --b-tag-color: oklch(76% 0.13 147);\n }\n [data-prefers-color='system'] .b-tag--cyan {\n --b-tag-bg: oklch(20% 0.05 200);\n --b-tag-border-color: oklch(38% 0.12 200);\n --b-tag-color: oklch(76% 0.11 200);\n }\n [data-prefers-color='system'] .b-tag--blue {\n --b-tag-bg: oklch(20% 0.06 258);\n --b-tag-border-color: oklch(38% 0.15 258);\n --b-tag-color: oklch(74% 0.15 258);\n }\n [data-prefers-color='system'] .b-tag--geekblue {\n --b-tag-bg: oklch(20% 0.05 272);\n --b-tag-border-color: oklch(36% 0.18 272);\n --b-tag-color: oklch(72% 0.18 272);\n }\n [data-prefers-color='system'] .b-tag--purple {\n --b-tag-bg: oklch(20% 0.05 300);\n --b-tag-border-color: oklch(36% 0.16 300);\n --b-tag-color: oklch(74% 0.16 300);\n }\n [data-prefers-color='system'] .b-tag--custom-color {\n --b-tag-bg: color-mix(in oklch, var(--b-tag-custom-color) 15%, oklch(15% 0 0));\n --b-tag-border-color: color-mix(in oklch, var(--b-tag-custom-color) 50%, oklch(15% 0 0));\n --b-tag-color: color-mix(in oklch, var(--b-tag-custom-color) 85%, white);\n }\n}\n\n/* ─────────────────────────────────────────────\n Transition (fade)\n ───────────────────────────────────────────── */\n.b-tag-fade-enter-active,\n.b-tag-fade-leave-active {\n transition:\n opacity var(--b-tag-transition-duration) ease,\n transform var(--b-tag-transition-duration) ease;\n}\n\n.b-tag-fade-enter-from,\n.b-tag-fade-leave-to {\n opacity: 0;\n transform: scale(0.85);\n}\n\n/* ── Reduced motion ── */\n@media (prefers-reduced-motion: reduce) {\n .b-tag {\n --b-tag-transition-duration: 0ms;\n }\n\n .b-tag-fade-enter-active,\n .b-tag-fade-leave-active {\n transition: opacity var(--b-tag-transition-duration) ease;\n transform: none !important;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEA,IAAM,IAAO,GAwBP,IAAmC;GACvC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,EAEK,IAAW,QAAe,EAAA,UAAU,KAAA,KAAc,EAA2B,SAAS,EAAA,MAAM,CAAC,EAE7F,IAAiB,QACrB,EAAS,QAAU,EAAA,SAAS,YAAiC,UAC9D,EAKK,IAAe,QAAe,EAAA,YAAY,KAAA,EAAU,EACpD,IAAkB,EAAI,GAAK;AAGjC,UACQ,EAAA,UACL,MAAQ;AACP,GAAI,MAAQ,KAAA,MAAW,EAAgB,QAAQ;IAElD;EAED,IAAM,IAAY,QAAgB,EAAa,QAAQ,EAAA,UAAW,EAAgB,MAAO;EAKzF,SAAS,EAAY,GAAmC;AAEtD,GADA,EAAK,SAAS,EAAM,EAChB,EAAa,QACf,EAAK,kBAAkB,GAAM,GAE7B,EAAgB,QAAQ;;EAI5B,SAAS,EAAa,GAAmB;AACvC,KAAY,EAAM;;EAGpB,SAAS,EAAe,GAAsB;AAC5C,IAAI,EAAM,QAAQ,WAAW,EAAM,QAAQ,OAAO,EAAM,QAAQ,cAC9D,EAAM,gBAAgB,EACtB,EAAY,EAAM;;EAItB,SAAS,IAAe;AACtB,KAAK,aAAa;;EAMpB,IAAM,IAAc,QAAe;GACjC;GACA,UAAU,EAAe;GACzB,UAAU,EAAA;GACV;IACE,qBAAqB,CAAC,EAAA;IACtB,mBAAmB,EAAA;IACnB,gBAAgB,EAAA,SAAS;IACzB,gBAAgB,EAAA,SAAS;IACzB,uBAAuB,CAAC,EAAS;IAClC;GACF,CAAC,EAKI,IAAmB,QAAe;AAClC,UAAS,MAEb,QAAO,EACL,wBAAwB,EAAA,OACzB;IACD;yBAIA,EAgDa,GAAA;GAhDD,MAAK;GAA2B;;oBA+CnC,CA9CK,EAAA,SAAA,GAAA,EAAZ,EA8CO,QAAA;;IA9CiB,OAAK,EAAE,EAAA,MAAW;IAAG,OAAK,EAAE,EAAA,MAAgB;;IAG1DA,EAAAA,OAAO,QAAQ,EAAA,QAAA,GAAA,EADvB,EAMO,QAAA;;KAJL,OAAM;KACL,eAAaA,EAAAA,OAAO,OAAO,KAAA,IAAS;QAErC,EAAmC,EAAA,QAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAd,EAAA,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,GAAA,EAAA,IAAA,EAAA,IAAA,GAAA;IAI3B,EAEO,QAFP,GAEO,CADL,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA;IAKF,EAAA,YAAA,GAAA,EADR,EA6BS,UAAA;;KA3BP,MAAK;KACL,OAAM;KACN,cAAW;KACX,UAAS;KACR,SAAK,EAAO,GAAY,CAAA,OAAA,CAAA;KACxB,WAAS;QAEV,EAmBO,EAAA,QAAA,aAAA,EAAA,QAAA,CAjBG,EAAA,aAAA,GAAA,EADR,EAKE,QAAA;;KAHA,OAAM;KACN,eAAY;KACX,aAAW,EAAA;4BAEd,EAWM,OAXN,GAWM,CAAA,GAAA,AAAA,EAAA,OAAA,CAHJ,EAEE,QAAA,EADA,GAAE,qHAAmH,EAAA,MAAA,GAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA,IAAA,EAAA,IAAA,GAAA"}
|
package/dist/design-system240.js
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, normalizeClass as o, normalizeStyle as s, openBlock as c, provide as l, renderList as u, renderSlot as d, toDisplayString as f } from "vue";
|
|
2
|
-
//#region src/components/BTimeline/BTimeline.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
-
var p = { class: "b-timeline-item__label" }, m = {
|
|
4
|
-
class: "b-timeline-item__dot-wrapper",
|
|
5
|
-
"aria-hidden": "true"
|
|
6
|
-
}, h = ["data-icon"], g = {
|
|
7
|
-
key: 1,
|
|
8
|
-
class: "b-timeline-item__dot--pending-spinner"
|
|
9
|
-
}, _ = {
|
|
10
|
-
key: 2,
|
|
11
|
-
class: "b-timeline-item__dot"
|
|
12
|
-
}, v = { class: "b-timeline-item__content" }, y = {
|
|
13
|
-
class: "b-timeline-item__dot-wrapper",
|
|
14
|
-
"aria-hidden": "true"
|
|
15
|
-
}, b = ["data-icon"], x = {
|
|
16
|
-
key: 1,
|
|
17
|
-
class: "b-timeline-item__dot--pending-spinner",
|
|
18
|
-
"aria-hidden": "true"
|
|
19
|
-
}, S = { class: "b-timeline-item__content" }, C = /* @__PURE__ */ a({
|
|
20
|
-
__name: "BTimeline",
|
|
21
|
-
props: {
|
|
22
|
-
mode: { default: "start" },
|
|
23
|
-
variant: { default: "filled" },
|
|
24
|
-
orientation: { default: "vertical" },
|
|
25
|
-
pending: {
|
|
26
|
-
type: [Boolean, String],
|
|
27
|
-
default: !1
|
|
28
|
-
},
|
|
29
|
-
pendingDot: {},
|
|
30
|
-
reverse: {
|
|
31
|
-
type: Boolean,
|
|
32
|
-
default: !1
|
|
33
|
-
},
|
|
34
|
-
items: {}
|
|
35
|
-
},
|
|
36
|
-
setup(a) {
|
|
37
|
-
l("b-timeline-mode", a.mode), l("b-timeline-variant", a.variant);
|
|
38
|
-
let C = t(() => !!a.pending), w = t(() => a.pending !== !0 && a.pending ? a.pending : ""), T = t(() => a.items ? a.reverse ? [...a.items].reverse() : a.items : []), E = [
|
|
39
|
-
"blue",
|
|
40
|
-
"red",
|
|
41
|
-
"green",
|
|
42
|
-
"gray"
|
|
43
|
-
];
|
|
44
|
-
function D(e) {
|
|
45
|
-
return !e || E.includes(e);
|
|
46
|
-
}
|
|
47
|
-
function O(e) {
|
|
48
|
-
if (!(!e || D(e))) return { "--b-timeline-item-dot-color": e };
|
|
49
|
-
}
|
|
50
|
-
function k(e) {
|
|
51
|
-
let t = e ?? "blue";
|
|
52
|
-
return D(t) ? `b-timeline-item--${t}` : "b-timeline-item--custom";
|
|
53
|
-
}
|
|
54
|
-
let A = t(() => [
|
|
55
|
-
"b-timeline",
|
|
56
|
-
`b-timeline--${a.mode}`,
|
|
57
|
-
`b-timeline--${a.variant}`,
|
|
58
|
-
`b-timeline--${a.orientation}`,
|
|
59
|
-
{
|
|
60
|
-
"b-timeline--pending": C.value,
|
|
61
|
-
"b-timeline--reverse": a.reverse
|
|
62
|
-
}
|
|
63
|
-
]);
|
|
64
|
-
function j(e, t) {
|
|
65
|
-
return t ? t === "end" ? "b-timeline-item--right" : "b-timeline-item--left" : a.mode === "alternate" ? e % 2 == 0 ? "b-timeline-item--left" : "b-timeline-item--right" : a.mode === "end" ? "b-timeline-item--right" : "b-timeline-item--left";
|
|
66
|
-
}
|
|
67
|
-
return (t, l) => (c(), r("ol", {
|
|
68
|
-
class: o(A.value),
|
|
69
|
-
"aria-label": "Timeline"
|
|
70
|
-
}, [a.items && a.items.length ? (c(!0), r(e, { key: 0 }, u(T.value, (e, t) => (c(), r("li", {
|
|
71
|
-
key: t,
|
|
72
|
-
class: o(["b-timeline-item", [
|
|
73
|
-
k(e.color),
|
|
74
|
-
j(t, e.placement),
|
|
75
|
-
{ "b-timeline-item--pending": e.loading },
|
|
76
|
-
e.className
|
|
77
|
-
]]),
|
|
78
|
-
style: s([O(e.color), (e.style, e.style)])
|
|
79
|
-
}, [
|
|
80
|
-
i("span", p, f(e.title ?? ""), 1),
|
|
81
|
-
l[0] ||= i("div", {
|
|
82
|
-
class: "b-timeline-item__tail",
|
|
83
|
-
"aria-hidden": "true"
|
|
84
|
-
}, null, -1),
|
|
85
|
-
i("div", m, [e.icon ? (c(), r("span", {
|
|
86
|
-
key: 0,
|
|
87
|
-
class: "b-timeline-item__dot--custom",
|
|
88
|
-
"data-icon": e.icon,
|
|
89
|
-
"aria-hidden": "true"
|
|
90
|
-
}, null, 8, h)) : e.loading ? (c(), r("span", g)) : (c(), r("span", _))]),
|
|
91
|
-
i("div", v, f(e.content), 1)
|
|
92
|
-
], 6))), 128)) : d(t.$slots, "default", { key: 1 }), C.value ? (c(), r("li", {
|
|
93
|
-
key: 2,
|
|
94
|
-
class: o(["b-timeline-item b-timeline-item--pending", [j(a.items ? T.value.length : 0)]]),
|
|
95
|
-
"aria-label": "Pending"
|
|
96
|
-
}, [
|
|
97
|
-
l[1] ||= i("span", { class: "b-timeline-item__label" }, null, -1),
|
|
98
|
-
l[2] ||= i("div", {
|
|
99
|
-
class: "b-timeline-item__tail",
|
|
100
|
-
"aria-hidden": "true"
|
|
101
|
-
}, null, -1),
|
|
102
|
-
i("div", y, [d(t.$slots, "pendingDot", {}, () => [a.pendingDot ? (c(), r("span", {
|
|
103
|
-
key: 0,
|
|
104
|
-
class: "b-timeline-item__dot--custom",
|
|
105
|
-
"data-icon": a.pendingDot,
|
|
106
|
-
"aria-hidden": "true"
|
|
107
|
-
}, null, 8, b)) : (c(), r("span", x))])]),
|
|
108
|
-
i("div", S, f(w.value), 1)
|
|
109
|
-
], 2)) : n("", !0)], 2));
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
//#endregion
|
|
113
|
-
export { C as default };
|
|
114
|
-
|
|
115
|
-
//# sourceMappingURL=design-system240.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"design-system240.js","names":[],"sources":["../src/components/BTimeline/BTimeline.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, provide } from 'vue';\n\nimport type {\n BTimelineItem,\n BTimelineItemColor,\n BTimelineItemPlacement,\n BTimelineMode,\n BTimelineOrientation,\n BTimelineVariant,\n} from './types';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\nconst {\n mode = 'start',\n variant = 'filled',\n orientation = 'vertical',\n pending = false,\n pendingDot,\n reverse = false,\n items,\n} = defineProps<{\n /**\n * Controls which side labels appear on.\n * - `'start'` - all content on the right of the line (default)\n * - `'end'` - all content on the left of the line\n * - `'alternate'` - content alternates left/right\n * @default 'start'\n */\n mode?: BTimelineMode;\n /**\n * Dot style.\n * - `'filled'` - solid filled circle (default)\n * - `'outlined'` - hollow ring with colored border\n * @default 'filled'\n */\n variant?: BTimelineVariant;\n /**\n * Layout direction.\n * - `'vertical'` - items stacked top-to-bottom (default)\n * - `'horizontal'` - items laid out left-to-right\n * @default 'vertical'\n */\n orientation?: BTimelineOrientation;\n /**\n * Whether to show a pending (ghost) item at the bottom.\n * Pass `true` for the default spinner, or a string for custom content.\n * @default false\n */\n pending?: boolean | string;\n /**\n * Custom dot for the pending item. Overridden by the `#pendingDot` slot.\n */\n pendingDot?: string;\n /**\n * Whether to reverse the order of items (newest first).\n * @default false\n */\n reverse?: boolean;\n /**\n * Data-driven items. When provided, slot-based BTimelineItem children are\n * ignored. Use this for simple, data-only timelines.\n */\n items?: BTimelineItem[];\n}>();\n\n// ─────────────────────────────────────────────\n// Slots\n// ─────────────────────────────────────────────\ndefineSlots<{\n /**\n * Default slot: place `<BTimelineItem>` children here.\n * Ignored when `items` prop is provided.\n */\n default?(): unknown;\n /** Custom dot for the pending ghost item. */\n pendingDot?(): unknown;\n}>();\n\n// Provide mode to slot-based BTimelineItem children\nprovide('b-timeline-mode', mode);\nprovide('b-timeline-variant', variant);\n\n// ─────────────────────────────────────────────\n// Pending item helpers\n// ─────────────────────────────────────────────\nconst hasPending = computed(() => !!pending);\nconst pendingContent = computed(() => (pending !== true && pending ? pending : ''));\n\n// ─────────────────────────────────────────────\n// Reversed items (data-driven)\n// ─────────────────────────────────────────────\nconst orderedItems = computed<BTimelineItem[]>(() => {\n if (!items) return [];\n return reverse ? [...items].reverse() : items;\n});\n\n// ─────────────────────────────────────────────\n// CSS-var dot color helper\n// ─────────────────────────────────────────────\nconst PRESET_COLORS: BTimelineItemColor[] = ['blue', 'red', 'green', 'gray'];\n\nfunction isPresetColor(color?: BTimelineItemColor): boolean {\n return !color || PRESET_COLORS.includes(color as string);\n}\n\nfunction dotColorStyle(color?: BTimelineItemColor): Record<string, string> | undefined {\n if (!color || isPresetColor(color)) return undefined;\n return { '--b-timeline-item-dot-color': color };\n}\n\nfunction dotColorClass(color?: BTimelineItemColor): string {\n const c = color ?? 'blue';\n return isPresetColor(c) ? `b-timeline-item--${c}` : 'b-timeline-item--custom';\n}\n\n// ─────────────────────────────────────────────\n// Root classes\n// ─────────────────────────────────────────────\nconst rootClasses = computed(() => [\n 'b-timeline',\n `b-timeline--${mode}`,\n `b-timeline--${variant}`,\n `b-timeline--${orientation}`,\n {\n 'b-timeline--pending': hasPending.value,\n 'b-timeline--reverse': reverse,\n },\n]);\n\n// ─────────────────────────────────────────────\n// Item position helper\n// ─────────────────────────────────────────────\nfunction itemPositionClass(index: number, placement?: BTimelineItemPlacement): string {\n // Per-item placement overrides the global mode\n if (placement) {\n return placement === 'end' ? 'b-timeline-item--right' : 'b-timeline-item--left';\n }\n if (mode === 'alternate') {\n return index % 2 === 0 ? 'b-timeline-item--left' : 'b-timeline-item--right';\n }\n return mode === 'end' ? 'b-timeline-item--right' : 'b-timeline-item--left';\n}\n</script>\n\n<template>\n <ol :class=\"rootClasses\" aria-label=\"Timeline\">\n <!-- ── Data-driven items ── -->\n <template v-if=\"items && items.length\">\n <li\n v-for=\"(item, i) in orderedItems\"\n :key=\"i\"\n class=\"b-timeline-item\"\n :class=\"[\n dotColorClass(item.color),\n itemPositionClass(i, item.placement),\n { 'b-timeline-item--pending': item.loading },\n item.className,\n ]\"\n :style=\"[\n dotColorStyle(item.color),\n typeof item.style === 'string' ? item.style : item.style,\n ]\"\n >\n <!-- Label / title (opposing side) - always rendered as structural spacer; CSS hides in start mode -->\n <span class=\"b-timeline-item__label\">{{ item.title ?? '' }}</span>\n\n <!-- Line + dot -->\n <div class=\"b-timeline-item__tail\" aria-hidden=\"true\" />\n <div class=\"b-timeline-item__dot-wrapper\" aria-hidden=\"true\">\n <template v-if=\"item.icon\">\n <span class=\"b-timeline-item__dot--custom\" :data-icon=\"item.icon\" aria-hidden=\"true\" />\n </template>\n <template v-else-if=\"item.loading\">\n <span class=\"b-timeline-item__dot--pending-spinner\" />\n </template>\n <template v-else>\n <span class=\"b-timeline-item__dot\" />\n </template>\n </div>\n\n <!-- Content -->\n <div class=\"b-timeline-item__content\">{{ item.content }}</div>\n </li>\n </template>\n\n <!-- ── Slot-based items (default slot children) ── -->\n <template v-else>\n <slot />\n </template>\n\n <!-- ── Pending ghost item ── -->\n <li\n v-if=\"hasPending\"\n class=\"b-timeline-item b-timeline-item--pending\"\n :class=\"[itemPositionClass(items ? orderedItems.length : 0)]\"\n aria-label=\"Pending\"\n >\n <!-- Label spacer (structural; hidden in start mode via CSS) -->\n <span class=\"b-timeline-item__label\" />\n <div class=\"b-timeline-item__tail\" aria-hidden=\"true\" />\n <div class=\"b-timeline-item__dot-wrapper\" aria-hidden=\"true\">\n <slot name=\"pendingDot\">\n <span\n v-if=\"pendingDot\"\n class=\"b-timeline-item__dot--custom\"\n :data-icon=\"pendingDot\"\n aria-hidden=\"true\"\n />\n <span v-else class=\"b-timeline-item__dot--pending-spinner\" aria-hidden=\"true\" />\n </slot>\n </div>\n <div class=\"b-timeline-item__content\">{{ pendingContent }}</div>\n </li>\n </ol>\n</template>\n\n<style>\n/* ─────────────────────────────────────────────\n BTimeline - CSS custom properties (scoped to root)\n ───────────────────────────────────────────── */\n.b-timeline {\n /* ── Structural ── */\n --b-timeline-line-width: 2px;\n --b-timeline-line-color: oklch(90% 0.005 260);\n --b-timeline-item-padding-bottom: 20px;\n\n /* ── Dot ── */\n --b-timeline-dot-size: 10px;\n --b-timeline-dot-offset: 0px; /* fine-tune vertical alignment */\n --b-timeline-dot-border-width: 2px;\n --b-timeline-custom-dot-font-size: 20px; /* emoji / text custom dots */\n\n /* ── Blue (default) ── */\n --b-timeline-color-blue: oklch(54.6% 0.245 262.881);\n /* ── Green ── */\n --b-timeline-color-green: oklch(52% 0.17 145);\n /* ── Red ── */\n --b-timeline-color-red: oklch(50% 0.2 20);\n /* ── Gray ── */\n --b-timeline-color-gray: oklch(68% 0.01 260);\n\n /* ── Content text ── */\n --b-timeline-content-color: oklch(32% 0.02 260);\n --b-timeline-content-font-size: 14px;\n\n /* ── Label text ── */\n --b-timeline-label-color: oklch(52% 0.01 260);\n --b-timeline-label-font-size: 14px;\n\n /* ── Pending ── */\n --b-timeline-pending-line-style: dashed;\n --b-timeline-pending-dot-color: oklch(70% 0.01 260);\n\n /* ── Spinner ── */\n --b-timeline-spinner-size: 14px;\n --b-timeline-spinner-border-color: oklch(54.6% 0.245 262.881 / 20%);\n --b-timeline-spinner-accent-color: oklch(54.6% 0.245 262.881);\n --b-timeline-spinner-duration: 700ms;\n\n /* ── Transition ── */\n --b-timeline-transition-duration: 200ms;\n\n /* ── Layout ── */\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: var(--b-timeline-content-font-size);\n line-height: 1.5;\n color: var(--b-timeline-content-color);\n}\n\n/* ─────────────────────────────────────────────\n Item\n ───────────────────────────────────────────── */\n.b-timeline-item {\n position: relative;\n display: flex;\n align-items: flex-start;\n padding-bottom: var(--b-timeline-item-padding-bottom);\n margin: 0;\n list-style: none;\n}\n\n/* last item - hide tail, collapse bottom padding */\n.b-timeline-item:last-child {\n padding-bottom: 0;\n}\n\n.b-timeline-item:last-child .b-timeline-item__tail {\n display: none;\n}\n\n/* ── Tail (vertical line) ── */\n.b-timeline-item__tail {\n position: absolute;\n top: calc(var(--b-timeline-dot-size) + 4px);\n left: calc(\n (var(--b-timeline-dot-size) / 2) - (var(--b-timeline-line-width) / 2)\n ); /* overridden per-mode */\n height: calc(100% - var(--b-timeline-dot-size) - 4px);\n width: var(--b-timeline-line-width);\n background: var(--b-timeline-line-color);\n transition: background var(--b-timeline-transition-duration);\n}\n\n/* ── Dot wrapper ── */\n.b-timeline-item__dot-wrapper {\n position: relative;\n flex-shrink: 0;\n width: var(--b-timeline-dot-size);\n height: var(--b-timeline-dot-size);\n margin-top: var(--b-timeline-dot-offset);\n z-index: 1;\n overflow: visible;\n}\n\n/* ── Standard dot ── */\n.b-timeline-item__dot {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: var(--b-timeline-item-current-color, var(--b-timeline-color-blue));\n box-sizing: border-box;\n}\n\n/* ── Custom dot (icon / text) ── */\n.b-timeline-item__dot--custom {\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--b-timeline-custom-dot-font-size);\n line-height: 1;\n width: var(--b-timeline-custom-dot-font-size);\n height: var(--b-timeline-custom-dot-font-size);\n /* shift left/up so the icon stays centred over the dot position */\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: var(--b-timeline-item-current-color, var(--b-timeline-color-blue));\n}\n\n/* Symbol rendered via ::before so no text node exists - avoids axe non-text-char rule */\n.b-timeline-item__dot--custom::before {\n content: attr(data-icon);\n}\n\n/* ─────────────────────────────────────────────\n Preset colors - set --b-timeline-item-current-color\n ───────────────────────────────────────────── */\n.b-timeline-item--blue {\n --b-timeline-item-current-color: var(--b-timeline-color-blue);\n}\n\n.b-timeline-item--green {\n --b-timeline-item-current-color: var(--b-timeline-color-green);\n}\n\n.b-timeline-item--red {\n --b-timeline-item-current-color: var(--b-timeline-color-red);\n}\n\n.b-timeline-item--gray {\n --b-timeline-item-current-color: var(--b-timeline-color-gray);\n}\n\n/* Custom (non-preset) color: provided via inline var */\n.b-timeline-item--custom {\n --b-timeline-item-current-color: var(--b-timeline-item-dot-color);\n}\n\n/* ─────────────────────────────────────────────\n Content & Label\n ───────────────────────────────────────────── */\n.b-timeline-item__content {\n flex: 1;\n padding-left: 12px;\n color: var(--b-timeline-content-color);\n font-size: var(--b-timeline-content-font-size);\n word-break: break-word;\n}\n\n.b-timeline-item__label {\n display: none; /* hidden in start mode; shown in alternate/end */\n color: var(--b-timeline-label-color);\n font-size: var(--b-timeline-label-font-size);\n text-align: right;\n flex-shrink: 0;\n}\n\n/* ─────────────────────────────────────────────\n Mode: start (default) - content right of line\n Each item: [dot] [content]\n ───────────────────────────────────────────── */\n.b-timeline--start .b-timeline-item {\n flex-direction: row;\n}\n\n.b-timeline--start .b-timeline-item__tail {\n left: calc((var(--b-timeline-dot-size) / 2) - (var(--b-timeline-line-width) / 2));\n}\n\n.b-timeline--start .b-timeline-item__label {\n display: none;\n}\n\n/* ─────────────────────────────────────────────\n Mode: end - content left of line\n Each item: [content] [dot]\n ───────────────────────────────────────────── */\n.b-timeline--end .b-timeline-item {\n flex-direction: row-reverse;\n}\n\n.b-timeline--end .b-timeline-item__content {\n padding-left: 0;\n padding-right: 12px;\n text-align: right;\n}\n\n.b-timeline--end .b-timeline-item__tail {\n right: calc((var(--b-timeline-dot-size) / 2) - (var(--b-timeline-line-width) / 2));\n left: auto;\n}\n\n.b-timeline--end .b-timeline-item__label {\n display: none;\n}\n\n/* ─────────────────────────────────────────────\n Mode: alternate\n Each row is always: [left-half][dot][right-half]\n Left items (even): left-half = label (right-aligned)\n right-half = content (left-aligned)\n Right items (odd): left-half = content (right-aligned)\n right-half = label (left-aligned)\n We use CSS `order` to swap - never flex-direction:row-reverse,\n which would flip the padding direction and break the gap.\n ───────────────────────────────────────────── */\n\n/* Label: always rendered as a structural spacer; hidden in start mode */\n.b-timeline--alternate .b-timeline-item__label {\n display: block;\n /* Each half = 50% of the row minus half the dot width.\n box-sizing:border-box means padding is included in this width,\n so the dot centre lands exactly at 50% of the row. */\n flex: 0 0 calc(50% - var(--b-timeline-dot-size) / 2);\n box-sizing: border-box;\n font-size: var(--b-timeline-label-font-size);\n color: var(--b-timeline-label-color);\n word-break: break-word;\n}\n\n/* Content: same symmetric half-width */\n.b-timeline--alternate .b-timeline-item__content {\n flex: 0 0 calc(50% - var(--b-timeline-dot-size) / 2);\n box-sizing: border-box;\n}\n\n/* Tail: always at exactly 50% of the row, regardless of which items have labels */\n.b-timeline--alternate .b-timeline-item__tail {\n left: calc(50% - var(--b-timeline-line-width) / 2);\n transform: none;\n}\n\n/* ── Left items (even): label LEFT → dot → content RIGHT ── */\n/* DOM order: label(1) tail(abs) dot(2) content(3) - already correct, no reordering needed */\n.b-timeline--alternate .b-timeline-item--left .b-timeline-item__label {\n order: 1;\n text-align: right;\n padding-right: 12px;\n padding-left: 0;\n}\n\n.b-timeline--alternate .b-timeline-item--left .b-timeline-item__dot-wrapper {\n order: 2;\n}\n\n.b-timeline--alternate .b-timeline-item--left .b-timeline-item__content {\n order: 3;\n text-align: left;\n padding-left: 12px;\n padding-right: 0;\n}\n\n/* ── Right items (odd): content LEFT → dot → label RIGHT ── */\n/* Use `order` to pull content before dot, push label after dot */\n.b-timeline--alternate .b-timeline-item--right .b-timeline-item__content {\n order: 1;\n text-align: right;\n padding-right: 12px;\n padding-left: 0;\n}\n\n.b-timeline--alternate .b-timeline-item--right .b-timeline-item__dot-wrapper {\n order: 2;\n}\n\n.b-timeline--alternate .b-timeline-item--right .b-timeline-item__label {\n order: 3;\n text-align: left;\n padding-left: 12px;\n padding-right: 0;\n}\n\n/* ─────────────────────────────────────────────\n Variant: outlined - hollow ring dot\n ───────────────────────────────────────────── */\n.b-timeline--outlined .b-timeline-item__dot {\n background: transparent;\n border: var(--b-timeline-dot-border-width) solid\n var(--b-timeline-item-current-color, var(--b-timeline-color-blue));\n}\n\n/* ─────────────────────────────────────────────\n Orientation: horizontal\n Items laid out left-to-right; tail becomes a\n horizontal bar running to the right.\n ───────────────────────────────────────────── */\n.b-timeline--horizontal {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n overflow-x: auto;\n}\n\n.b-timeline--horizontal.b-timeline--start .b-timeline-item,\n.b-timeline--horizontal.b-timeline--end .b-timeline-item {\n flex-direction: column;\n align-items: center;\n flex: 1;\n padding-bottom: 0;\n padding-right: 0;\n min-width: 80px;\n}\n\n/* Horizontal tail: runs right from the dot */\n.b-timeline--horizontal .b-timeline-item__tail {\n top: calc(var(--b-timeline-dot-size) / 2 - var(--b-timeline-line-width) / 2);\n left: calc(var(--b-timeline-dot-size) + 4px);\n width: calc(100% - var(--b-timeline-dot-size) - 4px);\n height: var(--b-timeline-line-width);\n right: auto;\n bottom: auto;\n}\n\n/* In horizontal mode the last item still hides its tail */\n.b-timeline--horizontal .b-timeline-item:last-child .b-timeline-item__tail {\n display: none;\n}\n\n/* Dot: centred horizontally above content */\n.b-timeline--horizontal .b-timeline-item__dot-wrapper {\n margin-top: 0;\n flex-shrink: 0;\n}\n\n/* Content sits below the dot row */\n.b-timeline--horizontal .b-timeline-item__content {\n padding-left: 0;\n padding-top: 8px;\n text-align: center;\n width: 100%;\n}\n\n/* Label sits above the dot row (for start mode) */\n.b-timeline--horizontal.b-timeline--start .b-timeline-item__label {\n display: block;\n text-align: center;\n padding-bottom: 8px;\n order: 1;\n}\n\n.b-timeline--horizontal.b-timeline--start .b-timeline-item__dot-wrapper {\n order: 2;\n}\n\n.b-timeline--horizontal.b-timeline--start .b-timeline-item__content {\n order: 3;\n}\n\n/* For end mode, label goes below content */\n.b-timeline--horizontal.b-timeline--end .b-timeline-item__content {\n order: 1;\n padding-top: 8px;\n padding-right: 0;\n text-align: center;\n}\n\n.b-timeline--horizontal.b-timeline--end .b-timeline-item__dot-wrapper {\n order: 2;\n}\n\n.b-timeline--horizontal.b-timeline--end .b-timeline-item__label {\n display: block;\n text-align: center;\n padding-top: 8px;\n order: 3;\n}\n\n/* ─────────────────────────────────────────────\n Pending item\n ───────────────────────────────────────────── */\n.b-timeline-item--pending .b-timeline-item__tail {\n border-left: var(--b-timeline-line-width) var(--b-timeline-pending-line-style)\n var(--b-timeline-line-color);\n background: transparent;\n}\n\n.b-timeline--start .b-timeline-item--pending .b-timeline-item__tail {\n /* override the absolute left, matches .b-timeline--start logic */\n left: calc((var(--b-timeline-dot-size) / 2) - (var(--b-timeline-line-width) / 2));\n}\n\n/* Horizontal pending tail */\n.b-timeline--horizontal .b-timeline-item--pending .b-timeline-item__tail {\n border-left: none;\n border-top: var(--b-timeline-line-width) var(--b-timeline-pending-line-style)\n var(--b-timeline-line-color);\n background: transparent;\n height: 0;\n}\n\n/* ── Default pending spinner ── */\n.b-timeline-item__dot--pending-spinner {\n display: block;\n width: var(--b-timeline-spinner-size);\n height: var(--b-timeline-spinner-size);\n margin-left: calc((var(--b-timeline-dot-size) - var(--b-timeline-spinner-size)) / 2);\n border-radius: 50%;\n border: var(--b-timeline-dot-border-width) solid var(--b-timeline-spinner-border-color);\n border-top-color: var(--b-timeline-spinner-accent-color);\n animation: b-timeline-spin var(--b-timeline-spinner-duration) linear infinite;\n}\n\n@keyframes b-timeline-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* ─────────────────────────────────────────────\n Dark mode\n ───────────────────────────────────────────── */\n[data-prefers-color='dark'] .b-timeline {\n --b-timeline-line-color: oklch(32% 0.012 260);\n --b-timeline-content-color: oklch(82% 0.01 260);\n --b-timeline-label-color: oklch(60% 0.01 260);\n --b-timeline-color-gray: oklch(50% 0.01 260);\n --b-timeline-spinner-border-color: oklch(54.6% 0.245 262.881 / 15%);\n}\n\n@media (prefers-color-scheme: dark) {\n [data-prefers-color='system'] .b-timeline {\n --b-timeline-line-color: oklch(32% 0.012 260);\n --b-timeline-content-color: oklch(82% 0.01 260);\n --b-timeline-label-color: oklch(60% 0.01 260);\n --b-timeline-color-gray: oklch(50% 0.01 260);\n --b-timeline-spinner-border-color: oklch(54.6% 0.245 262.881 / 15%);\n }\n}\n\n/* ─────────────────────────────────────────────\n Reduced motion\n ───────────────────────────────────────────── */\n@media (prefers-reduced-motion: reduce) {\n .b-timeline {\n --b-timeline-transition-duration: 0ms;\n --b-timeline-spinner-duration: 0ms;\n }\n\n .b-timeline-item__dot--pending-spinner {\n animation: none;\n border-top-color: var(--b-timeline-spinner-border-color);\n opacity: 0.6;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFA,EADA,EAAQ,mBAAmB,EAAA,KAAK,EAChC,EAAQ,sBAAsB,EAAA,QAAQ;EAKtC,IAAM,IAAa,QAAe,CAAC,CAAC,EAAA,QAAQ,EACtC,IAAiB,QAAgB,EAAA,YAAY,MAAQ,EAAA,UAAU,EAAA,UAAU,GAAI,EAK7E,IAAe,QACd,EAAA,QACE,EAAA,UAAU,CAAC,GAAG,EAAA,MAAM,CAAC,SAAS,GAAG,EAAA,QADrB,EAAE,CAErB,EAKI,IAAsC;GAAC;GAAQ;GAAO;GAAS;GAAO;EAE5E,SAAS,EAAc,GAAqC;AAC1D,UAAO,CAAC,KAAS,EAAc,SAAS,EAAgB;;EAG1D,SAAS,EAAc,GAAgE;AACjF,UAAC,KAAS,EAAc,EAAM,EAClC,QAAO,EAAE,+BAA+B,GAAO;;EAGjD,SAAS,EAAc,GAAoC;GACzD,IAAM,IAAI,KAAS;AACnB,UAAO,EAAc,EAAE,GAAG,oBAAoB,MAAM;;EAMtD,IAAM,IAAc,QAAe;GACjC;GACA,eAAe,EAAA;GACf,eAAe,EAAA;GACf,eAAe,EAAA;GACf;IACE,uBAAuB,EAAW;IAClC,uBAAuB,EAAA;IACxB;GACF,CAAC;EAKF,SAAS,EAAkB,GAAe,GAA4C;AAQpF,UANI,IACK,MAAc,QAAQ,2BAA2B,0BAEtD,EAAA,SAAS,cACJ,IAAQ,KAAM,IAAI,0BAA0B,2BAE9C,EAAA,SAAS,QAAQ,2BAA2B;;yBAKnD,EAoEK,MAAA;GApEA,OAAK,EAAE,EAAA,MAAW;GAAE,cAAW;MAElB,EAAA,SAAS,EAAA,MAAM,UAAA,EAAA,GAAA,EAC7B,EAkCK,GAAA,EAAA,KAAA,GAAA,EAAA,EAjCiB,EAAA,QAAZ,GAAM,YADhB,EAkCK,MAAA;GAhCF,KAAK;GACN,OAAK,EAAA,CAAC,mBAAiB;IACH,EAAc,EAAK,MAAK;IAAa,EAAkB,GAAG,EAAK,UAAS;kCAA2C,EAAK,SAAO;IAAc,EAAK;;GAMrK,OAAK,EAAA,CAAc,EAAc,EAAK,MAAK,GAAoB,EAAK,OAAqB,EAAK,OAAa,CAAA;;GAM5G,EAAkE,QAAlE,GAAkE,EAA1B,EAAK,SAAK,GAAA,EAAA,EAAA;YAGlD,EAAwD,OAAA;IAAnD,OAAM;IAAwB,eAAY;;GAC/C,EAUM,OAVN,GAUM,CATY,EAAK,QAAA,GAAA,EACnB,EAAuF,QAAA;;IAAjF,OAAM;IAAgC,aAAW,EAAK;IAAM,eAAY;qBAE3D,EAAK,WAAA,GAAA,EACxB,EAAsD,QAAtD,EAAsD,KAAA,GAAA,EAGtD,EAAqC,QAArC,EAAqC,EAAA,CAAA;GAKzC,EAA8D,OAA9D,GAA8D,EAArB,EAAK,QAAO,EAAA,EAAA;mBAMvD,EAAQ,EAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA,EAKF,EAAA,SAAA,GAAA,EADR,EAqBK,MAAA;;GAnBH,OAAK,EAAA,CAAC,4CAA0C,CACvC,EAAkB,EAAA,QAAQ,EAAA,MAAa,SAAM,EAAA,CAAA,CAAA,CAAA;GACtD,cAAW;;YAGX,EAAuC,QAAA,EAAjC,OAAM,0BAAwB,EAAA,MAAA,GAAA;YACpC,EAAwD,OAAA;IAAnD,OAAM;IAAwB,eAAY;;GAC/C,EAUM,OAVN,GAUM,CATJ,EAQO,EAAA,QAAA,cAAA,EAAA,QAAA,CANG,EAAA,cAAA,GAAA,EADR,EAKE,QAAA;;IAHA,OAAM;IACL,aAAW,EAAA;IACZ,eAAY;2BAEd,EAAgF,QAAhF,EAAgF,EAAA,CAAA,CAAA,CAAA;GAGpF,EAAgE,OAAhE,GAAgE,EAAvB,EAAA,MAAc,EAAA,EAAA"}
|