@7pmlabs/design-system 2.0.9 → 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-system114.js
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { BCommonSize as e } from "./design-system3.js";
|
|
2
|
-
import { useComponentId as t } from "./design-system10.js";
|
|
3
|
-
import { BInputStatus as n, BInputVariant as r } from "./design-system113.js";
|
|
4
|
-
import { computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, defineComponent as c, mergeModels as l, normalizeClass as u, openBlock as d, ref as f, renderSlot as p, toDisplayString as m, unref as h, useModel as g, useSlots as _, watch as v, withModifiers as y } from "vue";
|
|
5
|
-
//#region src/components/BInput/BInput.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var b = {
|
|
7
|
-
key: 0,
|
|
8
|
-
class: "b-input__addon b-input__addon--before"
|
|
9
|
-
}, x = { class: "b-input__wrapper" }, S = {
|
|
10
|
-
key: 0,
|
|
11
|
-
class: "b-input__prefix",
|
|
12
|
-
"aria-hidden": "true"
|
|
13
|
-
}, C = [
|
|
14
|
-
"id",
|
|
15
|
-
"value",
|
|
16
|
-
"type",
|
|
17
|
-
"placeholder",
|
|
18
|
-
"disabled",
|
|
19
|
-
"readonly",
|
|
20
|
-
"maxlength",
|
|
21
|
-
"aria-invalid",
|
|
22
|
-
"aria-describedby"
|
|
23
|
-
], w = {
|
|
24
|
-
key: 1,
|
|
25
|
-
class: "b-input__clear-wrapper"
|
|
26
|
-
}, T = {
|
|
27
|
-
key: 2,
|
|
28
|
-
class: "b-input__password-toggle-wrapper"
|
|
29
|
-
}, E = ["aria-label", "aria-pressed"], D = {
|
|
30
|
-
key: 0,
|
|
31
|
-
viewBox: "64 64 896 896",
|
|
32
|
-
width: "1em",
|
|
33
|
-
height: "1em",
|
|
34
|
-
fill: "currentColor",
|
|
35
|
-
"aria-hidden": "true"
|
|
36
|
-
}, O = {
|
|
37
|
-
key: 1,
|
|
38
|
-
viewBox: "64 64 896 896",
|
|
39
|
-
width: "1em",
|
|
40
|
-
height: "1em",
|
|
41
|
-
fill: "currentColor",
|
|
42
|
-
"aria-hidden": "true"
|
|
43
|
-
}, k = {
|
|
44
|
-
key: 3,
|
|
45
|
-
class: "b-input__suffix",
|
|
46
|
-
"aria-hidden": "true"
|
|
47
|
-
}, A = ["id"], j = {
|
|
48
|
-
key: 1,
|
|
49
|
-
class: "b-input__addon b-input__addon--after"
|
|
50
|
-
}, M = /* @__PURE__ */ c({
|
|
51
|
-
inheritAttrs: !1,
|
|
52
|
-
__name: "BInput",
|
|
53
|
-
props: /* @__PURE__ */ l({
|
|
54
|
-
size: { default: () => e.Medium },
|
|
55
|
-
variant: { default: () => r.Outlined },
|
|
56
|
-
disabled: {
|
|
57
|
-
type: Boolean,
|
|
58
|
-
default: !1
|
|
59
|
-
},
|
|
60
|
-
readOnly: {
|
|
61
|
-
type: Boolean,
|
|
62
|
-
default: !1
|
|
63
|
-
},
|
|
64
|
-
status: {},
|
|
65
|
-
type: { default: "text" },
|
|
66
|
-
maxLength: {},
|
|
67
|
-
placeholder: {},
|
|
68
|
-
id: {},
|
|
69
|
-
allowClear: {
|
|
70
|
-
type: Boolean,
|
|
71
|
-
default: !1
|
|
72
|
-
},
|
|
73
|
-
showCount: {
|
|
74
|
-
type: [Boolean, Function],
|
|
75
|
-
default: !1
|
|
76
|
-
},
|
|
77
|
-
count: {}
|
|
78
|
-
}, {
|
|
79
|
-
modelValue: { default: "" },
|
|
80
|
-
modelModifiers: {}
|
|
81
|
-
}),
|
|
82
|
-
emits: /* @__PURE__ */ l([
|
|
83
|
-
"change",
|
|
84
|
-
"pressEnter",
|
|
85
|
-
"clear",
|
|
86
|
-
"focus",
|
|
87
|
-
"blur"
|
|
88
|
-
], ["update:modelValue"]),
|
|
89
|
-
setup(e, { expose: r, emit: c }) {
|
|
90
|
-
let l = _(), M = c, N = g(e, "modelValue"), { componentUID: P } = t(), F = i(() => e.id ?? `b-input-${P.value}`), I = f(null), L = f(!1), R = f(!1), z = i(() => !!l.addonBefore), B = i(() => !!l.addonAfter), V = i(() => !!l.prefix), H = i(() => !!l.suffix), U = i(() => e.type === "password"), W = i(() => U.value), G = i(() => U.value ? R.value ? "text" : "password" : e.type), K = i(() => {
|
|
91
|
-
let t = N.value ?? "";
|
|
92
|
-
return e.count?.strategy ? e.count.strategy(t) : t.length;
|
|
93
|
-
}), q = i(() => e.count?.max ?? e.maxLength), J = i(() => e.count?.show === !1 ? !1 : e.count?.show === void 0 ? !!e.showCount : !0), Y = i(() => {
|
|
94
|
-
let t = N.value ?? "", n = K.value;
|
|
95
|
-
return typeof e.count?.show == "function" ? e.count.show({
|
|
96
|
-
value: t,
|
|
97
|
-
count: n,
|
|
98
|
-
maxLength: q.value
|
|
99
|
-
}) : typeof e.showCount == "function" ? e.showCount({
|
|
100
|
-
value: t,
|
|
101
|
-
count: n,
|
|
102
|
-
maxLength: q.value
|
|
103
|
-
}) : q.value === void 0 ? `${n}` : `${n} / ${q.value}`;
|
|
104
|
-
}), X = i(() => q.value === void 0 ? !1 : K.value > q.value), Z = i(() => e.allowClear && !!N.value && !e.disabled && !e.readOnly), Q = (t) => {
|
|
105
|
-
let n = t.target, r = n.value;
|
|
106
|
-
e.count?.exceedFormatter && q.value !== void 0 && (e.count.strategy ?? ((e) => e.length))(r) > q.value && (r = e.count.exceedFormatter(r, { max: q.value }), n.value = r), N.value = r, M("change", r, t);
|
|
107
|
-
}, $ = (e) => {
|
|
108
|
-
e.key === "Enter" && M("pressEnter", e);
|
|
109
|
-
}, ee = (e) => {
|
|
110
|
-
L.value = !0, M("focus", e);
|
|
111
|
-
}, te = (e) => {
|
|
112
|
-
L.value = !1, M("blur", e);
|
|
113
|
-
}, ne = () => {
|
|
114
|
-
N.value = "", M("clear"), M("change", "", new Event("change")), I.value?.focus();
|
|
115
|
-
}, re = () => {
|
|
116
|
-
R.value = !R.value, I.value?.focus();
|
|
117
|
-
};
|
|
118
|
-
return v(N, (t) => {
|
|
119
|
-
e.count?.exceedFormatter && q.value !== void 0 && (e.count.strategy ?? ((e) => e.length))(t) > q.value && (N.value = e.count.exceedFormatter(t, { max: q.value }));
|
|
120
|
-
}), r({
|
|
121
|
-
focus: (e) => {
|
|
122
|
-
if (I.value?.focus({ preventScroll: e?.preventScroll }), e?.cursor && I.value) {
|
|
123
|
-
let t = I.value.value.length;
|
|
124
|
-
switch (e.cursor) {
|
|
125
|
-
case "start":
|
|
126
|
-
I.value.setSelectionRange(0, 0);
|
|
127
|
-
break;
|
|
128
|
-
case "end":
|
|
129
|
-
I.value.setSelectionRange(t, t);
|
|
130
|
-
break;
|
|
131
|
-
case "all":
|
|
132
|
-
I.value.setSelectionRange(0, t);
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
blur: () => {
|
|
138
|
-
I.value?.blur();
|
|
139
|
-
}
|
|
140
|
-
}), (t, r) => (d(), o("span", { class: u(["b-input", [
|
|
141
|
-
`b-input--${e.size}`,
|
|
142
|
-
`b-input--${e.variant}`,
|
|
143
|
-
{
|
|
144
|
-
"b-input--focused": L.value,
|
|
145
|
-
"b-input--disabled": e.disabled,
|
|
146
|
-
"b-input--readonly": e.readOnly,
|
|
147
|
-
"b-input--error": e.status === h(n).Error,
|
|
148
|
-
"b-input--warning": e.status === h(n).Warning,
|
|
149
|
-
"b-input--has-addon-before": z.value,
|
|
150
|
-
"b-input--has-addon-after": B.value,
|
|
151
|
-
"b-input--over-count": X.value
|
|
152
|
-
}
|
|
153
|
-
]]) }, [
|
|
154
|
-
z.value ? (d(), o("span", b, [p(t.$slots, "addonBefore", {}, void 0, !0)])) : a("", !0),
|
|
155
|
-
s("span", x, [
|
|
156
|
-
V.value ? (d(), o("span", S, [p(t.$slots, "prefix", {}, void 0, !0)])) : a("", !0),
|
|
157
|
-
s("input", {
|
|
158
|
-
id: F.value,
|
|
159
|
-
ref_key: "inputRef",
|
|
160
|
-
ref: I,
|
|
161
|
-
value: N.value,
|
|
162
|
-
type: G.value,
|
|
163
|
-
placeholder: e.placeholder,
|
|
164
|
-
disabled: e.disabled,
|
|
165
|
-
readonly: e.readOnly,
|
|
166
|
-
maxlength: e.maxLength && !e.count?.exceedFormatter ? e.maxLength : void 0,
|
|
167
|
-
"aria-invalid": e.status === h(n).Error ? !0 : void 0,
|
|
168
|
-
"aria-describedby": J.value ? `${F.value}-count` : void 0,
|
|
169
|
-
class: "b-input__input",
|
|
170
|
-
onInput: Q,
|
|
171
|
-
onKeydown: $,
|
|
172
|
-
onFocus: ee,
|
|
173
|
-
onBlur: te
|
|
174
|
-
}, null, 40, C),
|
|
175
|
-
Z.value ? (d(), o("span", w, [s("button", {
|
|
176
|
-
type: "button",
|
|
177
|
-
class: "b-input__clear",
|
|
178
|
-
"aria-label": "Clear input",
|
|
179
|
-
tabindex: "-1",
|
|
180
|
-
onMousedown: y(ne, ["prevent"])
|
|
181
|
-
}, [...r[0] ||= [s("svg", {
|
|
182
|
-
viewBox: "64 64 896 896",
|
|
183
|
-
width: "1em",
|
|
184
|
-
height: "1em",
|
|
185
|
-
fill: "currentColor",
|
|
186
|
-
"aria-hidden": "true"
|
|
187
|
-
}, [s("path", { d: "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z" })], -1)]], 32)])) : a("", !0),
|
|
188
|
-
W.value ? (d(), o("span", T, [s("button", {
|
|
189
|
-
type: "button",
|
|
190
|
-
class: "b-input__password-toggle",
|
|
191
|
-
"aria-label": R.value ? "Hide password" : "Show password",
|
|
192
|
-
"aria-pressed": R.value,
|
|
193
|
-
tabindex: "-1",
|
|
194
|
-
onMousedown: y(re, ["prevent"])
|
|
195
|
-
}, [R.value ? (d(), o("svg", O, [...r[2] ||= [s("path", { d: "M942.2 486.2C847.4 286.5 704.1 186 512 186c-53.8 0-104.5 9.6-151.7 28.4L212.7 67.2a8.03 8.03 0 00-11.3 0L160 108.5a8.03 8.03 0 000 11.3l740.3 740.3a8.03 8.03 0 0011.3 0l41.3-41.3a8.03 8.03 0 000-11.3l-106.8-106.8c53.1-57.6 94.3-127.4 106.2-153a60.3 60.3 0 000-51.5zM512 730c-114.9 0-208-93.1-208-208 0-40.1 11.4-77.6 31-109.4L297 374.6C270.6 414.1 256 466 256 522c0 141.4 114.6 256 256 256 56 0 107.9-18 150.2-48.5l-38-38C597.6 714.6 556.1 730 512 730zm0-520c114.9 0 208 93.1 208 208 0 40.1-11.4 77.6-31 109.4L727 565.4C753.4 525.9 768 474 768 418c0-141.4-114.6-256-256-256-56 0-107.9 18-150.2 48.5l38 38C426.4 225.4 467.9 210 512 210z" }, null, -1)]])) : (d(), o("svg", D, [...r[1] ||= [s("path", { d: "M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 730c-114.9 0-208-93.1-208-208s93.1-208 208-208 208 93.1 208 208-93.1 208-208 208zm0-319.8c-61.7 0-111.8 50.1-111.8 111.8S450.3 633.8 512 633.8 623.8 583.7 623.8 522 573.7 410.2 512 410.2z" }, null, -1)]]))], 40, E)])) : a("", !0),
|
|
196
|
-
H.value ? (d(), o("span", k, [p(t.$slots, "suffix", {}, void 0, !0)])) : a("", !0),
|
|
197
|
-
J.value ? (d(), o("span", {
|
|
198
|
-
key: 4,
|
|
199
|
-
id: `${F.value}-count`,
|
|
200
|
-
class: u(["b-input__count", { "b-input__count--over": X.value }]),
|
|
201
|
-
"aria-live": "polite",
|
|
202
|
-
"aria-atomic": "true"
|
|
203
|
-
}, m(Y.value), 11, A)) : a("", !0)
|
|
204
|
-
]),
|
|
205
|
-
B.value ? (d(), o("span", j, [p(t.$slots, "addonAfter", {}, void 0, !0)])) : a("", !0)
|
|
206
|
-
], 2));
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
//#endregion
|
|
210
|
-
export { M as default };
|
|
211
|
-
|
|
212
|
-
//# sourceMappingURL=design-system114.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"design-system114.js","names":[],"sources":["../src/components/BInput/BInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useComponentId } from '@/composables/useComponentId.ts';\nimport { BCommonSize } from '@/types.ts';\nimport { computed, ref, useSlots, watch } from 'vue';\nimport {\n BInputStatus,\n BInputVariant,\n type BInputCountConfig,\n type BInputFocusOptions,\n} from './types.ts';\n\ndefineOptions({ inheritAttrs: false });\n\nconst slots = useSlots();\n\nconst {\n size = BCommonSize.Medium,\n variant = BInputVariant.Outlined,\n type = 'text',\n allowClear = false,\n showCount = false,\n disabled = false,\n readOnly = false,\n placeholder,\n maxLength,\n id,\n count,\n status,\n} = defineProps<{\n /** The size of the input. */\n size?: `${BCommonSize}`;\n /** Visual variant of the input. */\n variant?: `${BInputVariant}`;\n /** Whether the input is disabled. */\n disabled?: boolean;\n /** Whether the input is read-only. */\n readOnly?: boolean;\n /** Validation status. */\n status?: `${BInputStatus}`;\n /** HTML input type (text, password, email, etc.). */\n type?: string;\n /** Maximum number of characters. */\n maxLength?: number;\n /** Placeholder text. */\n placeholder?: string;\n /** HTML id attribute. */\n id?: string;\n /** Show clear button when input has value. */\n allowClear?: boolean;\n /** Display character count. Can be boolean or a formatter function. */\n showCount?: boolean | ((args: { value: string; count: number; maxLength?: number }) => string);\n /** Advanced character counting configuration. */\n count?: BInputCountConfig;\n}>();\n\nconst emit = defineEmits<{\n /** Fired when input value changes. */\n change: [value: string, event: Event];\n /** Fired when Enter key is pressed. */\n pressEnter: [event: KeyboardEvent];\n /** Fired when clear button is clicked. */\n clear: [];\n /** Fired on input focus. */\n focus: [event: FocusEvent];\n /** Fired on input blur. */\n blur: [event: FocusEvent];\n}>();\n\nconst model = defineModel<string>({ default: '' });\n\nconst { componentUID } = useComponentId();\nconst inputId = computed(() => id ?? `b-input-${componentUID.value}`);\n\nconst inputRef = ref<HTMLInputElement | null>(null);\nconst isFocused = ref(false);\nconst passwordVisible = ref(false);\n\nconst hasAddonBefore = computed(() => !!slots.addonBefore);\nconst hasAddonAfter = computed(() => !!slots.addonAfter);\nconst hasPrefix = computed(() => !!slots.prefix);\nconst hasSuffix = computed(() => !!slots.suffix);\nconst isPasswordType = computed(() => type === 'password');\nconst showPasswordToggle = computed(() => isPasswordType.value);\nconst computedType = computed(() => {\n if (isPasswordType.value) {\n return passwordVisible.value ? 'text' : 'password';\n }\n return type;\n});\n\nconst charCount = computed(() => {\n const val = model.value ?? '';\n if (count?.strategy) return count.strategy(val);\n return val.length;\n});\n\nconst countMax = computed(() => count?.max ?? maxLength);\n\nconst showCountIndicator = computed(() => {\n if (count?.show === false) return false;\n if (count?.show !== undefined) return true;\n return !!showCount;\n});\n\nconst countText = computed(() => {\n const val = model.value ?? '';\n const currentCount = charCount.value;\n\n if (typeof count?.show === 'function') {\n return count.show({ value: val, count: currentCount, maxLength: countMax.value });\n }\n if (typeof showCount === 'function') {\n return showCount({ value: val, count: currentCount, maxLength: countMax.value });\n }\n if (countMax.value !== undefined) {\n return `${currentCount} / ${countMax.value}`;\n }\n return `${currentCount}`;\n});\n\nconst isOverCount = computed(() => {\n if (countMax.value === undefined) return false;\n return charCount.value > countMax.value;\n});\n\nconst showClearButton = computed(() => {\n return allowClear && !!model.value && !disabled && !readOnly;\n});\n\nconst handleInput = (e: Event) => {\n const target = e.target as HTMLInputElement;\n let value = target.value;\n\n if (count?.exceedFormatter && countMax.value !== undefined) {\n const strategy = count.strategy ?? ((v: string) => v.length);\n if (strategy(value) > countMax.value) {\n value = count.exceedFormatter(value, { max: countMax.value });\n target.value = value;\n }\n }\n\n model.value = value;\n emit('change', value, e);\n};\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n emit('pressEnter', e);\n }\n};\n\nconst handleFocus = (e: FocusEvent) => {\n isFocused.value = true;\n emit('focus', e);\n};\n\nconst handleBlur = (e: FocusEvent) => {\n isFocused.value = false;\n emit('blur', e);\n};\n\nconst handleClear = () => {\n model.value = '';\n emit('clear');\n emit('change', '', new Event('change'));\n inputRef.value?.focus();\n};\n\nconst togglePasswordVisibility = () => {\n passwordVisible.value = !passwordVisible.value;\n inputRef.value?.focus();\n};\n\nconst focus = (options?: BInputFocusOptions) => {\n inputRef.value?.focus({ preventScroll: options?.preventScroll });\n if (options?.cursor && inputRef.value) {\n const len = inputRef.value.value.length;\n switch (options.cursor) {\n case 'start':\n inputRef.value.setSelectionRange(0, 0);\n break;\n case 'end':\n inputRef.value.setSelectionRange(len, len);\n break;\n case 'all':\n inputRef.value.setSelectionRange(0, len);\n break;\n }\n }\n};\n\nconst blur = () => {\n inputRef.value?.blur();\n};\n\nwatch(model, (val) => {\n if (count?.exceedFormatter && countMax.value !== undefined) {\n const strategy = count.strategy ?? ((v: string) => v.length);\n if (strategy(val) > countMax.value) {\n model.value = count.exceedFormatter(val, { max: countMax.value });\n }\n }\n});\n\ndefineExpose({ focus, blur });\n</script>\n\n<template>\n <span\n class=\"b-input\"\n :class=\"[\n `b-input--${size}`,\n `b-input--${variant}`,\n {\n 'b-input--focused': isFocused,\n 'b-input--disabled': disabled,\n 'b-input--readonly': readOnly,\n 'b-input--error': status === BInputStatus.Error,\n 'b-input--warning': status === BInputStatus.Warning,\n 'b-input--has-addon-before': hasAddonBefore,\n 'b-input--has-addon-after': hasAddonAfter,\n 'b-input--over-count': isOverCount,\n },\n ]\"\n >\n <span v-if=\"hasAddonBefore\" class=\"b-input__addon b-input__addon--before\">\n <slot name=\"addonBefore\" />\n </span>\n\n <span class=\"b-input__wrapper\">\n <span v-if=\"hasPrefix\" class=\"b-input__prefix\" aria-hidden=\"true\">\n <slot name=\"prefix\" />\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n :value=\"model\"\n :type=\"computedType\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :readonly=\"readOnly\"\n :maxlength=\"maxLength && !count?.exceedFormatter ? maxLength : undefined\"\n :aria-invalid=\"status === BInputStatus.Error ? true : undefined\"\n :aria-describedby=\"showCountIndicator ? `${inputId}-count` : undefined\"\n class=\"b-input__input\"\n @input=\"handleInput\"\n @keydown=\"handleKeyDown\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n />\n\n <span v-if=\"showClearButton\" class=\"b-input__clear-wrapper\">\n <button\n type=\"button\"\n class=\"b-input__clear\"\n aria-label=\"Clear input\"\n tabindex=\"-1\"\n @mousedown.prevent=\"handleClear\"\n >\n <svg\n viewBox=\"64 64 896 896\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z\"\n />\n </svg>\n </button>\n </span>\n\n <span v-if=\"showPasswordToggle\" class=\"b-input__password-toggle-wrapper\">\n <button\n type=\"button\"\n class=\"b-input__password-toggle\"\n :aria-label=\"passwordVisible ? 'Hide password' : 'Show password'\"\n :aria-pressed=\"passwordVisible\"\n tabindex=\"-1\"\n @mousedown.prevent=\"togglePasswordVisibility\"\n >\n <svg\n v-if=\"!passwordVisible\"\n viewBox=\"64 64 896 896\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 730c-114.9 0-208-93.1-208-208s93.1-208 208-208 208 93.1 208 208-93.1 208-208 208zm0-319.8c-61.7 0-111.8 50.1-111.8 111.8S450.3 633.8 512 633.8 623.8 583.7 623.8 522 573.7 410.2 512 410.2z\"\n />\n </svg>\n <svg\n v-else\n viewBox=\"64 64 896 896\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M942.2 486.2C847.4 286.5 704.1 186 512 186c-53.8 0-104.5 9.6-151.7 28.4L212.7 67.2a8.03 8.03 0 00-11.3 0L160 108.5a8.03 8.03 0 000 11.3l740.3 740.3a8.03 8.03 0 0011.3 0l41.3-41.3a8.03 8.03 0 000-11.3l-106.8-106.8c53.1-57.6 94.3-127.4 106.2-153a60.3 60.3 0 000-51.5zM512 730c-114.9 0-208-93.1-208-208 0-40.1 11.4-77.6 31-109.4L297 374.6C270.6 414.1 256 466 256 522c0 141.4 114.6 256 256 256 56 0 107.9-18 150.2-48.5l-38-38C597.6 714.6 556.1 730 512 730zm0-520c114.9 0 208 93.1 208 208 0 40.1-11.4 77.6-31 109.4L727 565.4C753.4 525.9 768 474 768 418c0-141.4-114.6-256-256-256-56 0-107.9 18-150.2 48.5l38 38C426.4 225.4 467.9 210 512 210z\"\n />\n </svg>\n </button>\n </span>\n\n <span v-if=\"hasSuffix\" class=\"b-input__suffix\" aria-hidden=\"true\">\n <slot name=\"suffix\" />\n </span>\n\n <span\n v-if=\"showCountIndicator\"\n :id=\"`${inputId}-count`\"\n class=\"b-input__count\"\n :class=\"{ 'b-input__count--over': isOverCount }\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {{ countText }}\n </span>\n </span>\n\n <span v-if=\"hasAddonAfter\" class=\"b-input__addon b-input__addon--after\">\n <slot name=\"addonAfter\" />\n </span>\n </span>\n</template>\n\n<style scoped>\n.b-input {\n --b-input-active-bg: #ffffff;\n --b-input-active-border-color: #1677ff;\n --b-input-active-shadow: 0 0 0 2px rgba(5, 145, 255, 0.1);\n --b-input-addon-bg: rgba(0, 0, 0, 0.02);\n --b-input-error-active-shadow: 0 0 0 2px rgba(255, 38, 5, 0.06);\n --b-input-hover-bg: #ffffff;\n --b-input-hover-border-color: #4096ff;\n --b-input-font-size: 14px;\n --b-input-font-size-lg: 16px;\n --b-input-font-size-sm: 14px;\n --b-input-padding-block: 4px;\n --b-input-padding-block-lg: 7px;\n --b-input-padding-block-sm: 0px;\n --b-input-padding-inline: 11px;\n --b-input-padding-inline-lg: 11px;\n --b-input-padding-inline-sm: 7px;\n --b-input-warning-active-shadow: 0 0 0 2px rgba(255, 215, 5, 0.1);\n --b-input-border-color: #d9d9d9;\n --b-input-bg: #ffffff;\n --b-input-color: rgba(0, 0, 0, 0.88);\n --b-input-placeholder-color: rgba(0, 0, 0, 0.25);\n --b-input-border-radius: 6px;\n --b-input-clear-color: rgba(0, 0, 0, 0.25);\n --b-input-clear-hover-color: rgba(0, 0, 0, 0.45);\n --b-input-count-color: rgba(0, 0, 0, 0.65);\n --b-input-disabled-bg: rgba(0, 0, 0, 0.04);\n --b-input-disabled-color: rgba(0, 0, 0, 0.25);\n --b-input-error-border-color: #ff4d4f;\n --b-input-error-hover-border-color: #ff7875;\n --b-input-warning-border-color: #faad14;\n --b-input-warning-hover-border-color: #ffc53d;\n --b-input-filled-bg: rgba(0, 0, 0, 0.04);\n --b-input-filled-hover-bg: rgba(0, 0, 0, 0.04);\n\n display: inline-flex;\n align-items: stretch;\n width: 100%;\n font-size: var(--b-input-font-size);\n color: var(--b-input-color);\n line-height: 1.5714;\n}\n\n.b-input--lg {\n font-size: var(--b-input-font-size-lg);\n}\n\n.b-input--sm {\n font-size: var(--b-input-font-size-sm);\n}\n\n.b-input__wrapper {\n display: inline-flex;\n align-items: center;\n flex: 1;\n min-width: 0;\n position: relative;\n transition: all 0.2s;\n}\n\n/* Outlined */\n.b-input--outlined .b-input__wrapper {\n background: var(--b-input-bg);\n border: 1px solid var(--b-input-border-color);\n border-radius: var(--b-input-border-radius);\n}\n\n.b-input--outlined:not(.b-input--disabled):hover .b-input__wrapper {\n border-color: var(--b-input-hover-border-color);\n background: var(--b-input-hover-bg);\n}\n\n.b-input--outlined.b-input--focused .b-input__wrapper {\n border-color: var(--b-input-active-border-color);\n background: var(--b-input-active-bg);\n box-shadow: var(--b-input-active-shadow);\n}\n\n/* Filled */\n.b-input--filled .b-input__wrapper {\n background: var(--b-input-filled-bg);\n border: 1px solid transparent;\n border-radius: var(--b-input-border-radius);\n}\n\n.b-input--filled:not(.b-input--disabled):hover .b-input__wrapper {\n background: var(--b-input-filled-hover-bg);\n}\n\n.b-input--filled.b-input--focused .b-input__wrapper {\n background: var(--b-input-active-bg);\n border-color: var(--b-input-active-border-color);\n box-shadow: var(--b-input-active-shadow);\n}\n\n/* Borderless */\n.b-input--borderless .b-input__wrapper {\n background: transparent;\n border: 1px solid transparent;\n border-radius: var(--b-input-border-radius);\n}\n\n/* Underlined */\n.b-input--underlined .b-input__wrapper {\n background: transparent;\n border: none;\n border-bottom: 1px solid var(--b-input-border-color);\n border-radius: 0;\n}\n\n.b-input--underlined:not(.b-input--disabled):hover .b-input__wrapper {\n border-bottom-color: var(--b-input-hover-border-color);\n}\n\n.b-input--underlined.b-input--focused .b-input__wrapper {\n border-bottom-color: var(--b-input-active-border-color);\n box-shadow: 0 1px 0 0 var(--b-input-active-border-color);\n}\n\n/* Error */\n.b-input--error.b-input--outlined .b-input__wrapper {\n border-color: var(--b-input-error-border-color);\n}\n\n.b-input--error.b-input--outlined:not(.b-input--disabled):hover .b-input__wrapper {\n border-color: var(--b-input-error-hover-border-color);\n}\n\n.b-input--error.b-input--outlined.b-input--focused .b-input__wrapper,\n.b-input--error.b-input--filled.b-input--focused .b-input__wrapper {\n border-color: var(--b-input-error-border-color);\n box-shadow: var(--b-input-error-active-shadow);\n}\n\n.b-input--error.b-input--underlined .b-input__wrapper {\n border-bottom-color: var(--b-input-error-border-color);\n}\n\n.b-input--error.b-input--underlined.b-input--focused .b-input__wrapper {\n border-bottom-color: var(--b-input-error-border-color);\n box-shadow: 0 1px 0 0 var(--b-input-error-border-color);\n}\n\n/* Warning */\n.b-input--warning.b-input--outlined .b-input__wrapper {\n border-color: var(--b-input-warning-border-color);\n}\n\n.b-input--warning.b-input--outlined:not(.b-input--disabled):hover .b-input__wrapper {\n border-color: var(--b-input-warning-hover-border-color);\n}\n\n.b-input--warning.b-input--outlined.b-input--focused .b-input__wrapper,\n.b-input--warning.b-input--filled.b-input--focused .b-input__wrapper {\n border-color: var(--b-input-warning-border-color);\n box-shadow: var(--b-input-warning-active-shadow);\n}\n\n.b-input--warning.b-input--underlined .b-input__wrapper {\n border-bottom-color: var(--b-input-warning-border-color);\n}\n\n.b-input--warning.b-input--underlined.b-input--focused .b-input__wrapper {\n border-bottom-color: var(--b-input-warning-border-color);\n box-shadow: 0 1px 0 0 var(--b-input-warning-border-color);\n}\n\n/* Disabled */\n.b-input--disabled .b-input__wrapper {\n background: var(--b-input-disabled-bg);\n cursor: not-allowed;\n}\n\n.b-input--disabled .b-input__input {\n color: var(--b-input-disabled-color);\n cursor: not-allowed;\n}\n\n/* Addon border radius */\n.b-input--has-addon-before .b-input__wrapper {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.b-input--has-addon-after .b-input__wrapper {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n/* Input element */\n.b-input__input {\n flex: 1;\n min-width: 0;\n width: 100%;\n border: none;\n outline: none;\n background: transparent;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n}\n\n.b-input--md .b-input__input {\n padding: var(--b-input-padding-block) var(--b-input-padding-inline);\n}\n\n.b-input--lg .b-input__input {\n padding: var(--b-input-padding-block-lg) var(--b-input-padding-inline-lg);\n}\n\n.b-input--sm .b-input__input {\n padding: var(--b-input-padding-block-sm) var(--b-input-padding-inline-sm);\n}\n\n.b-input__input::placeholder {\n color: var(--b-input-placeholder-color);\n}\n\n/* Prefix & Suffix */\n.b-input__prefix,\n.b-input__suffix {\n display: inline-flex;\n align-items: center;\n color: var(--b-input-color);\n flex-shrink: 0;\n}\n\n.b-input__prefix {\n margin-left: var(--b-input-padding-inline);\n}\n\n.b-input__suffix {\n margin-right: var(--b-input-padding-inline);\n}\n\n.b-input__prefix ~ .b-input__input {\n padding-left: 4px;\n}\n\n/* Clear & password toggle */\n.b-input__clear-wrapper,\n.b-input__password-toggle-wrapper {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n margin-right: var(--b-input-padding-inline);\n}\n\n.b-input__clear,\n.b-input__password-toggle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n background: none;\n padding: 0;\n cursor: pointer;\n color: var(--b-input-clear-color);\n font-size: 14px;\n line-height: 1;\n transition: color 0.2s;\n}\n\n.b-input__clear:hover,\n.b-input__password-toggle:hover {\n color: var(--b-input-clear-hover-color);\n}\n\n/* Count */\n.b-input__count {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n margin-right: var(--b-input-padding-inline);\n color: var(--b-input-count-color);\n font-size: 0.857em;\n white-space: nowrap;\n pointer-events: none;\n}\n\n.b-input__count--over {\n color: var(--b-input-error-border-color);\n}\n\n/* Addons */\n.b-input__addon {\n display: inline-flex;\n align-items: center;\n padding: 0 11px;\n background: var(--b-input-addon-bg);\n border: 1px solid var(--b-input-border-color);\n color: var(--b-input-color);\n font-size: inherit;\n white-space: nowrap;\n}\n\n.b-input__addon--before {\n border-right: none;\n border-radius: var(--b-input-border-radius) 0 0 var(--b-input-border-radius);\n}\n\n.b-input__addon--after {\n border-left: none;\n border-radius: 0 var(--b-input-border-radius) var(--b-input-border-radius) 0;\n}\n\n/* Dark mode — activated via data attribute on ancestor */\n[data-prefers-color='dark'] .b-input {\n --b-input-active-bg: #141414;\n --b-input-active-border-color: #1668dc;\n --b-input-active-shadow: 0 0 0 2px rgba(22, 104, 220, 0.15);\n --b-input-addon-bg: rgba(255, 255, 255, 0.04);\n --b-input-error-active-shadow: 0 0 0 2px rgba(220, 56, 56, 0.1);\n --b-input-hover-bg: #141414;\n --b-input-hover-border-color: #3c89e8;\n --b-input-warning-active-shadow: 0 0 0 2px rgba(209, 163, 0, 0.1);\n --b-input-border-color: #424242;\n --b-input-bg: #141414;\n --b-input-color: rgba(255, 255, 255, 0.88);\n --b-input-placeholder-color: rgba(255, 255, 255, 0.25);\n --b-input-clear-color: rgba(255, 255, 255, 0.25);\n --b-input-clear-hover-color: rgba(255, 255, 255, 0.45);\n --b-input-count-color: rgba(255, 255, 255, 0.65);\n --b-input-disabled-bg: rgba(255, 255, 255, 0.08);\n --b-input-disabled-color: rgba(255, 255, 255, 0.25);\n --b-input-error-border-color: #dc3838;\n --b-input-error-hover-border-color: #e86e6e;\n --b-input-warning-border-color: #d1a300;\n --b-input-warning-hover-border-color: #e8c631;\n --b-input-filled-bg: rgba(255, 255, 255, 0.08);\n --b-input-filled-hover-bg: rgba(255, 255, 255, 0.12);\n}\n\n@media (prefers-color-scheme: dark) {\n [data-prefers-color='system'] .b-input {\n --b-input-active-bg: #141414;\n --b-input-active-border-color: #1668dc;\n --b-input-active-shadow: 0 0 0 2px rgba(22, 104, 220, 0.15);\n --b-input-addon-bg: rgba(255, 255, 255, 0.04);\n --b-input-error-active-shadow: 0 0 0 2px rgba(220, 56, 56, 0.1);\n --b-input-hover-bg: #141414;\n --b-input-hover-border-color: #3c89e8;\n --b-input-warning-active-shadow: 0 0 0 2px rgba(209, 163, 0, 0.1);\n --b-input-border-color: #424242;\n --b-input-bg: #141414;\n --b-input-color: rgba(255, 255, 255, 0.88);\n --b-input-placeholder-color: rgba(255, 255, 255, 0.25);\n --b-input-clear-color: rgba(255, 255, 255, 0.25);\n --b-input-clear-hover-color: rgba(255, 255, 255, 0.45);\n --b-input-count-color: rgba(255, 255, 255, 0.65);\n --b-input-disabled-bg: rgba(255, 255, 255, 0.08);\n --b-input-disabled-color: rgba(255, 255, 255, 0.25);\n --b-input-error-border-color: #dc3838;\n --b-input-error-hover-border-color: #e86e6e;\n --b-input-warning-border-color: #d1a300;\n --b-input-warning-hover-border-color: #e8c631;\n --b-input-filled-bg: rgba(255, 255, 255, 0.08);\n --b-input-filled-hover-bg: rgba(255, 255, 255, 0.12);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .b-input__wrapper,\n .b-input__clear,\n .b-input__password-toggle {\n transition: none;\n }\n}\n</style>\n"],"mappings":"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"}
|
package/dist/design-system124.js
DELETED
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
import { BCommonSize as e } from "./design-system3.js";
|
|
2
|
-
import { useComponentId as t } from "./design-system10.js";
|
|
3
|
-
import { BMentionsStatus as n, BMentionsVariant as r } from "./design-system123.js";
|
|
4
|
-
import { Fragment as i, computed as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, defineComponent as u, mergeModels as d, mergeProps as f, nextTick as p, normalizeClass as m, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, unref as b, useAttrs as ee, useCssVars as x, useModel as te, watch as S, withModifiers as C } from "vue";
|
|
5
|
-
//#region src/components/BMentions/BMentions.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var w = [
|
|
7
|
-
"aria-label",
|
|
8
|
-
"aria-expanded",
|
|
9
|
-
"aria-controls"
|
|
10
|
-
], T = [
|
|
11
|
-
"value",
|
|
12
|
-
"placeholder",
|
|
13
|
-
"disabled",
|
|
14
|
-
"readonly",
|
|
15
|
-
"rows",
|
|
16
|
-
"aria-label",
|
|
17
|
-
"aria-activedescendant"
|
|
18
|
-
], E = ["id", "aria-label"], D = {
|
|
19
|
-
key: 0,
|
|
20
|
-
class: "b-mentions__options"
|
|
21
|
-
}, O = [
|
|
22
|
-
"id",
|
|
23
|
-
"data-active",
|
|
24
|
-
"aria-selected",
|
|
25
|
-
"aria-disabled",
|
|
26
|
-
"onMousedown",
|
|
27
|
-
"onMouseenter"
|
|
28
|
-
], k = {
|
|
29
|
-
key: 1,
|
|
30
|
-
class: "b-mentions__not-found"
|
|
31
|
-
}, A = /* @__PURE__ */ u({
|
|
32
|
-
inheritAttrs: !1,
|
|
33
|
-
__name: "BMentions",
|
|
34
|
-
props: /* @__PURE__ */ d({
|
|
35
|
-
options: { default: () => [] },
|
|
36
|
-
size: { default: () => e.Medium },
|
|
37
|
-
variant: { default: () => r.Outlined },
|
|
38
|
-
placement: {},
|
|
39
|
-
prefix: { default: "@" },
|
|
40
|
-
split: { default: " " },
|
|
41
|
-
autoSize: {
|
|
42
|
-
type: [Boolean, Object],
|
|
43
|
-
default: !1
|
|
44
|
-
},
|
|
45
|
-
allowClear: {
|
|
46
|
-
type: Boolean,
|
|
47
|
-
default: !1
|
|
48
|
-
},
|
|
49
|
-
filterOption: {
|
|
50
|
-
type: [Boolean, Function],
|
|
51
|
-
default: !0
|
|
52
|
-
},
|
|
53
|
-
notFoundContent: { default: "Not Found" },
|
|
54
|
-
disabled: { type: Boolean },
|
|
55
|
-
readOnly: { type: Boolean },
|
|
56
|
-
status: {},
|
|
57
|
-
placeholder: {},
|
|
58
|
-
rows: { default: 3 }
|
|
59
|
-
}, {
|
|
60
|
-
modelValue: { default: "" },
|
|
61
|
-
modelModifiers: {}
|
|
62
|
-
}),
|
|
63
|
-
emits: /* @__PURE__ */ d([
|
|
64
|
-
"change",
|
|
65
|
-
"select",
|
|
66
|
-
"search",
|
|
67
|
-
"focus",
|
|
68
|
-
"blur",
|
|
69
|
-
"clear",
|
|
70
|
-
"resize",
|
|
71
|
-
"popupScroll"
|
|
72
|
-
], ["update:modelValue"]),
|
|
73
|
-
setup(e, { expose: r, emit: u }) {
|
|
74
|
-
x((e) => ({ v21fd39a6: N.value }));
|
|
75
|
-
let d = ee(), A = u, j = te(e, "modelValue"), { componentUID: M } = t(), N = a(() => `--b-mentions-anchor-${M.value}`), P = a(() => `b-mentions-listbox-${M.value}`), F = g(null), I = g(null), L = g(!1), R = g(!1), z = g(-1), B = g(!1), V = g(""), H = g(""), U = g(0), W = a(() => Array.isArray(e.prefix) ? e.prefix : [e.prefix]), G = a(() => {
|
|
76
|
-
let t = H.value.toLowerCase();
|
|
77
|
-
return e.filterOption ? typeof e.filterOption == "function" ? e.options.filter((n) => e.filterOption(t, n)) : t ? e.options.filter((e) => (e.label ?? e.value).toLowerCase().includes(t)) : e.options : e.options;
|
|
78
|
-
}), K = a(() => !B.value || G.value.length === 0 && e.notFoundContent === null ? !1 : R.value), q = (e) => e.label ?? e.value;
|
|
79
|
-
function J() {
|
|
80
|
-
R.value || I.value?.showPopover();
|
|
81
|
-
}
|
|
82
|
-
function Y() {
|
|
83
|
-
R.value && I.value?.hidePopover();
|
|
84
|
-
}
|
|
85
|
-
function X({ newState: e }) {
|
|
86
|
-
let t = e === "open";
|
|
87
|
-
R.value = t, t && G.value.length > 0 ? z.value = 0 : t || (z.value = -1, B.value = !1);
|
|
88
|
-
}
|
|
89
|
-
function Z(t, n) {
|
|
90
|
-
for (let r of W.value) {
|
|
91
|
-
let i = t.slice(0, n), a = i.lastIndexOf(r);
|
|
92
|
-
if (a < 0) continue;
|
|
93
|
-
let o = i.slice(a + r.length);
|
|
94
|
-
if (!/\s/.test(o) && (a === 0 || t[a - 1] === e.split || /\s/.test(t[a - 1]))) return {
|
|
95
|
-
start: a,
|
|
96
|
-
prefix: r
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
function ne(e, t) {
|
|
102
|
-
let n = Z(e, t);
|
|
103
|
-
n ? (B.value = !0, V.value = n.prefix, U.value = n.start, H.value = e.slice(n.start + n.prefix.length, t), A("search", H.value, n.prefix), p(() => J())) : Q();
|
|
104
|
-
}
|
|
105
|
-
function Q() {
|
|
106
|
-
Y(), B.value = !1, H.value = "", V.value = "", U.value = 0;
|
|
107
|
-
}
|
|
108
|
-
function $(t) {
|
|
109
|
-
if (t.disabled) return;
|
|
110
|
-
let n = F.value;
|
|
111
|
-
if (!n) return;
|
|
112
|
-
let r = j.value ?? "", i = n.selectionStart, a = r.slice(0, U.value), o = r.slice(i), s = `${V.value}${t.value}`, c = o && !o.startsWith(e.split) && e.split, l = `${a}${s}${c ? e.split : ""}${o}`;
|
|
113
|
-
j.value = l, A("change", l), A("select", t, V.value), Q();
|
|
114
|
-
let u = a.length + s.length + (c ? e.split.length : 0);
|
|
115
|
-
p(() => {
|
|
116
|
-
n.focus(), n.setSelectionRange(u, u);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
function re(e) {
|
|
120
|
-
let t = e.target, n = t.value;
|
|
121
|
-
j.value = n, A("change", n);
|
|
122
|
-
let r = t.selectionStart;
|
|
123
|
-
ne(n, r), le();
|
|
124
|
-
}
|
|
125
|
-
function ie(e) {
|
|
126
|
-
L.value = !0, A("focus", e);
|
|
127
|
-
}
|
|
128
|
-
function ae(e) {
|
|
129
|
-
let t = e.relatedTarget;
|
|
130
|
-
I.value?.contains(t) || (L.value = !1, A("blur", e), Q());
|
|
131
|
-
}
|
|
132
|
-
function oe(e) {
|
|
133
|
-
if (K.value) switch (e.key) {
|
|
134
|
-
case "ArrowDown": {
|
|
135
|
-
e.preventDefault();
|
|
136
|
-
let t = G.value;
|
|
137
|
-
if (t.length === 0) return;
|
|
138
|
-
let n = z.value + 1;
|
|
139
|
-
for (let e = 0; e < t.length; e++) {
|
|
140
|
-
let r = (n + e) % t.length;
|
|
141
|
-
if (!t[r].disabled) {
|
|
142
|
-
z.value = r;
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
break;
|
|
147
|
-
}
|
|
148
|
-
case "ArrowUp": {
|
|
149
|
-
e.preventDefault();
|
|
150
|
-
let t = G.value;
|
|
151
|
-
if (t.length === 0) return;
|
|
152
|
-
let n = z.value - 1;
|
|
153
|
-
for (let e = 0; e < t.length; e++) {
|
|
154
|
-
let r = ((n - e) % t.length + t.length) % t.length;
|
|
155
|
-
if (!t[r].disabled) {
|
|
156
|
-
z.value = r;
|
|
157
|
-
break;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
162
|
-
case "Enter":
|
|
163
|
-
if (e.preventDefault(), z.value >= 0) {
|
|
164
|
-
let e = G.value[z.value];
|
|
165
|
-
e && !e.disabled && $(e);
|
|
166
|
-
}
|
|
167
|
-
break;
|
|
168
|
-
case "Escape":
|
|
169
|
-
e.preventDefault(), Q();
|
|
170
|
-
break;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
function se() {
|
|
174
|
-
j.value = "", A("change", ""), A("clear"), Q(), F.value?.focus();
|
|
175
|
-
}
|
|
176
|
-
function ce(e) {
|
|
177
|
-
A("popupScroll", e);
|
|
178
|
-
}
|
|
179
|
-
function le() {
|
|
180
|
-
if (!e.autoSize || !F.value) return;
|
|
181
|
-
let t = F.value;
|
|
182
|
-
t.style.height = "auto";
|
|
183
|
-
let n = typeof e.autoSize == "object" ? e.autoSize : {}, r = parseFloat(getComputedStyle(t).lineHeight) || 20, i = t.scrollHeight;
|
|
184
|
-
n.minRows && (i = Math.max(i, n.minRows * r)), n.maxRows && (i = Math.min(i, n.maxRows * r)), t.style.height = `${i}px`, A("resize", {
|
|
185
|
-
width: t.offsetWidth,
|
|
186
|
-
height: i
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
return S(z, () => {
|
|
190
|
-
p(() => {
|
|
191
|
-
(I.value?.querySelector("[data-active=\"true\"]"))?.scrollIntoView({ block: "nearest" });
|
|
192
|
-
});
|
|
193
|
-
}), S(j, (e) => {
|
|
194
|
-
F.value && F.value.value !== e && (F.value.value = e ?? "");
|
|
195
|
-
}), r({
|
|
196
|
-
focus: () => F.value?.focus(),
|
|
197
|
-
blur: () => F.value?.blur()
|
|
198
|
-
}), (t, r) => (h(), s("div", {
|
|
199
|
-
class: m(["b-mentions", [
|
|
200
|
-
`b-mentions--${e.size}`,
|
|
201
|
-
`b-mentions--${e.variant}`,
|
|
202
|
-
{
|
|
203
|
-
"b-mentions--focused": L.value,
|
|
204
|
-
"b-mentions--disabled": e.disabled,
|
|
205
|
-
"b-mentions--error": e.status === b(n).Error,
|
|
206
|
-
"b-mentions--warning": e.status === b(n).Warning,
|
|
207
|
-
"b-mentions--has-clear": e.allowClear
|
|
208
|
-
}
|
|
209
|
-
]]),
|
|
210
|
-
role: "combobox",
|
|
211
|
-
"aria-label": e.placeholder || "Mentions input",
|
|
212
|
-
"aria-expanded": K.value,
|
|
213
|
-
"aria-haspopup": "listbox",
|
|
214
|
-
"aria-controls": K.value ? P.value : void 0
|
|
215
|
-
}, [
|
|
216
|
-
c("textarea", f({
|
|
217
|
-
ref_key: "textareaRef",
|
|
218
|
-
ref: F
|
|
219
|
-
}, b(d), {
|
|
220
|
-
value: j.value,
|
|
221
|
-
class: "b-mentions__textarea",
|
|
222
|
-
placeholder: e.placeholder,
|
|
223
|
-
disabled: e.disabled,
|
|
224
|
-
readonly: e.readOnly,
|
|
225
|
-
rows: e.autoSize ? void 0 : e.rows,
|
|
226
|
-
"aria-label": e.placeholder || "Mentions input",
|
|
227
|
-
autocomplete: "off",
|
|
228
|
-
"aria-activedescendant": z.value >= 0 ? `${P.value}-option-${z.value}` : void 0,
|
|
229
|
-
"aria-autocomplete": "list",
|
|
230
|
-
onInput: re,
|
|
231
|
-
onFocus: ie,
|
|
232
|
-
onBlur: ae,
|
|
233
|
-
onKeydown: oe
|
|
234
|
-
}), null, 16, T),
|
|
235
|
-
e.allowClear && j.value && !e.disabled ? (h(), s("button", {
|
|
236
|
-
key: 0,
|
|
237
|
-
type: "button",
|
|
238
|
-
class: "b-mentions__clear",
|
|
239
|
-
"aria-label": "Clear input",
|
|
240
|
-
tabindex: "-1",
|
|
241
|
-
onMousedown: C(se, ["prevent"])
|
|
242
|
-
}, null, 32)) : o("", !0),
|
|
243
|
-
B.value || R.value ? (h(), s("div", {
|
|
244
|
-
key: 1,
|
|
245
|
-
ref_key: "menuRef",
|
|
246
|
-
ref: I,
|
|
247
|
-
id: P.value,
|
|
248
|
-
class: "b-mentions__dropdown",
|
|
249
|
-
popover: "manual",
|
|
250
|
-
role: "listbox",
|
|
251
|
-
"aria-label": `Mention suggestions for ${V.value}`,
|
|
252
|
-
onToggle: X,
|
|
253
|
-
onScroll: ce
|
|
254
|
-
}, [G.value.length > 0 ? (h(), s("ul", D, [(h(!0), s(i, null, _(G.value, (e, n) => (h(), s("li", {
|
|
255
|
-
key: e.value,
|
|
256
|
-
id: `${P.value}-option-${n}`,
|
|
257
|
-
class: m(["b-mentions__option", {
|
|
258
|
-
"b-mentions__option--active": n === z.value && !e.disabled,
|
|
259
|
-
"b-mentions__option--disabled": e.disabled
|
|
260
|
-
}]),
|
|
261
|
-
"data-active": n === z.value,
|
|
262
|
-
"aria-selected": n === z.value,
|
|
263
|
-
"aria-disabled": e.disabled ?? !1,
|
|
264
|
-
role: "option",
|
|
265
|
-
onMousedown: C((t) => $(e), ["prevent"]),
|
|
266
|
-
onMouseenter: (e) => z.value = n
|
|
267
|
-
}, [v(t.$slots, "option", {
|
|
268
|
-
option: e,
|
|
269
|
-
index: n
|
|
270
|
-
}, () => [l(y(q(e)), 1)], !0)], 42, O))), 128))])) : e.notFoundContent ? (h(), s("div", k, [v(t.$slots, "notFoundContent", {}, () => [l(y(e.notFoundContent), 1)], !0)])) : o("", !0)], 40, E)) : o("", !0)
|
|
271
|
-
], 10, w));
|
|
272
|
-
}
|
|
273
|
-
});
|
|
274
|
-
//#endregion
|
|
275
|
-
export { A as default };
|
|
276
|
-
|
|
277
|
-
//# sourceMappingURL=design-system124.js.map
|
package/dist/design-system127.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { createElementBlock as e, defineComponent as t, normalizeClass as n, openBlock as r } from "vue";
|
|
2
|
-
//#region src/components/BMenu/BMenuDivider.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
-
var i = /* @__PURE__ */ t({
|
|
4
|
-
__name: "BMenuDivider",
|
|
5
|
-
props: { dashed: {
|
|
6
|
-
type: Boolean,
|
|
7
|
-
default: !1
|
|
8
|
-
} },
|
|
9
|
-
setup(t) {
|
|
10
|
-
return (i, a) => (r(), e("li", {
|
|
11
|
-
class: n(["b-menu-divider", { "b-menu-divider--dashed": t.dashed }]),
|
|
12
|
-
role: "separator"
|
|
13
|
-
}, null, 2));
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
//#endregion
|
|
17
|
-
export { i as default };
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=design-system127.js.map
|
package/dist/design-system130.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
//#region src/components/BMenu/types.ts
|
|
2
|
-
var e = Symbol("BMenuContext"), t = Symbol("BMenuSubMenuContext");
|
|
3
|
-
function n(e) {
|
|
4
|
-
return "children" in e && ("type" in e ? e.type !== "group" : !0);
|
|
5
|
-
}
|
|
6
|
-
function r(e) {
|
|
7
|
-
return "type" in e && e.type === "group";
|
|
8
|
-
}
|
|
9
|
-
function i(e) {
|
|
10
|
-
return "type" in e && e.type === "divider";
|
|
11
|
-
}
|
|
12
|
-
//#endregion
|
|
13
|
-
export { e as BMenuContextKey, t as BMenuSubMenuContextKey, i as isDivider, r as isItemGroup, n as isSubMenu };
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=design-system130.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"design-system130.js","names":[],"sources":["../src/components/BMenu/types.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey } from 'vue';\n\n// ─────────────────────────────────────────────\n// Enums & Literals\n// ─────────────────────────────────────────────\nexport type BMenuMode = 'horizontal' | 'vertical' | 'inline';\nexport type BMenuTheme = 'light' | 'dark';\nexport type BMenuTriggerAction = 'hover' | 'click';\n\n// ─────────────────────────────────────────────\n// Item types (data-driven API)\n// ─────────────────────────────────────────────\nexport interface BMenuItemType {\n key: string;\n label?: string;\n icon?: string;\n disabled?: boolean;\n danger?: boolean;\n title?: string;\n extra?: string;\n}\n\nexport interface BMenuSubMenuType {\n key: string;\n label?: string;\n icon?: string;\n disabled?: boolean;\n children?: BMenuItemUnion[];\n popupClassName?: string;\n}\n\nexport interface BMenuItemGroupType {\n type: 'group';\n key?: string;\n label?: string;\n children?: BMenuItemType[];\n}\n\nexport interface BMenuDividerType {\n type: 'divider';\n key?: string;\n dashed?: boolean;\n}\n\nexport type BMenuItemUnion =\n | BMenuItemType\n | BMenuSubMenuType\n | BMenuItemGroupType\n | BMenuDividerType;\n\n// ─────────────────────────────────────────────\n// Event payloads\n// ─────────────────────────────────────────────\nexport interface BMenuClickInfo {\n key: string;\n keyPath: string[];\n domEvent: MouseEvent | KeyboardEvent;\n}\n\nexport interface BMenuSelectInfo {\n key: string;\n keyPath: string[];\n selectedKeys: string[];\n domEvent: MouseEvent | KeyboardEvent;\n}\n\n// ─────────────────────────────────────────────\n// Context (provided by BMenu to children)\n// ─────────────────────────────────────────────\nexport interface BMenuContext {\n mode: ComputedRef<BMenuMode>;\n theme: ComputedRef<BMenuTheme>;\n inlineCollapsed: ComputedRef<boolean>;\n inlineIndent: ComputedRef<number>;\n selectedKeys: ComputedRef<string[]>;\n openKeys: ComputedRef<string[]>;\n multiple: ComputedRef<boolean>;\n selectable: ComputedRef<boolean>;\n triggerSubMenuAction: ComputedRef<BMenuTriggerAction>;\n subMenuOpenDelay: ComputedRef<number>;\n subMenuCloseDelay: ComputedRef<number>;\n onItemClick: (info: BMenuClickInfo) => void;\n onOpenChange: (key: string, open: boolean) => void;\n registerKeyPath: (key: string, path: string[]) => void;\n}\n\nexport const BMenuContextKey: InjectionKey<BMenuContext> = Symbol('BMenuContext');\n\n// ─────────────────────────────────────────────\n// SubMenu context (nesting depth)\n// ─────────────────────────────────────────────\nexport interface BMenuSubMenuContext {\n level: number;\n keyPath: string[];\n}\n\nexport const BMenuSubMenuContextKey: InjectionKey<BMenuSubMenuContext> =\n Symbol('BMenuSubMenuContext');\n\n// ─────────────────────────────────────────────\n// Helpers\n// ─────────────────────────────────────────────\nexport function isSubMenu(item: BMenuItemUnion): item is BMenuSubMenuType {\n return 'children' in item && ('type' in item ? item.type !== 'group' : true);\n}\n\nexport function isItemGroup(item: BMenuItemUnion): item is BMenuItemGroupType {\n return 'type' in item && item.type === 'group';\n}\n\nexport function isDivider(item: BMenuItemUnion): item is BMenuDividerType {\n return 'type' in item && item.type === 'divider';\n}\n\nexport function isMenuItem(item: BMenuItemUnion): item is BMenuItemType {\n return !isSubMenu(item) && !isItemGroup(item) && !isDivider(item);\n}\n"],"mappings":";AAsFA,IAAa,IAA8C,OAAO,eAAe,EAUpE,IACX,OAAO,sBAAsB;AAK/B,SAAgB,EAAU,GAAgD;AACxE,QAAO,cAAc,MAAS,UAAU,IAAO,EAAK,SAAS,UAAU;;AAGzE,SAAgB,EAAY,GAAkD;AAC5E,QAAO,UAAU,KAAQ,EAAK,SAAS;;AAGzC,SAAgB,EAAU,GAAgD;AACxE,QAAO,UAAU,KAAQ,EAAK,SAAS"}
|
package/dist/design-system133.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"design-system133.js","names":[],"sources":["../src/components/BMenu/BMenuItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, onMounted } from 'vue';\nimport {\n BMenuContextKey,\n BMenuSubMenuContextKey,\n type BMenuClickInfo,\n type BMenuContext,\n type BMenuSubMenuContext,\n} from './types';\n\n// ─────────────────────────────────────────────\n// Props\n// ─────────────────────────────────────────────\nconst {\n itemKey,\n label = '',\n icon = undefined,\n disabled = false,\n danger = false,\n extra = undefined,\n title = undefined,\n} = defineProps<{\n /** Unique key identifying this menu item. */\n itemKey: string;\n /** Display label text. */\n label?: string;\n /** Icon name rendered before the label. */\n icon?: string;\n /** Whether the item is disabled. @default false */\n disabled?: boolean;\n /** Display with danger (red) styling. @default false */\n danger?: boolean;\n /** Extra content at the right side. */\n extra?: string;\n /** Tooltip title when collapsed. */\n title?: string;\n}>();\n\ndefineSlots<{\n default?(): unknown;\n icon?(): unknown;\n extra?(): unknown;\n}>();\n\n// ─────────────────────────────────────────────\n// Inject context\n// ─────────────────────────────────────────────\nconst menu = inject<BMenuContext>(BMenuContextKey)!;\nconst subMenuCtx = inject<BMenuSubMenuContext | null>(BMenuSubMenuContextKey, null);\n\nconst level = computed(() => (subMenuCtx?.level ?? 0) + 1);\nconst keyPath = computed(() => [...(subMenuCtx?.keyPath ?? []), itemKey]);\n\n// Register key path with root menu\nonMounted(() => {\n menu.registerKeyPath(itemKey, keyPath.value);\n});\n\n// ─────────────────────────────────────────────\n// Computed\n// ─────────────────────────────────────────────\nconst isSelected = computed(() => menu.selectedKeys.value.includes(itemKey));\n\nconst itemRole = computed(() => {\n if (!menu.selectable.value) return 'menuitem';\n return menu.multiple.value ? 'menuitemcheckbox' : 'menuitemradio';\n});\n\nconst paddingLeft = computed(() => {\n if (menu.mode.value !== 'inline') return undefined;\n if (menu.inlineCollapsed.value) return undefined;\n return `${level.value * menu.inlineIndent.value}px`;\n});\n\nconst itemClasses = computed(() => [\n 'b-menu-item',\n {\n 'b-menu-item--selected': isSelected.value,\n 'b-menu-item--disabled': disabled,\n 'b-menu-item--danger': danger,\n 'b-menu-item--collapsed': menu.inlineCollapsed.value,\n 'b-menu-item--horizontal': menu.mode.value === 'horizontal',\n },\n]);\n\n// ─────────────────────────────────────────────\n// Handlers\n// ─────────────────────────────────────────────\nfunction handleClick(e: MouseEvent) {\n if (disabled) return;\n\n const info: BMenuClickInfo = {\n key: itemKey,\n keyPath: keyPath.value,\n domEvent: e,\n };\n menu.onItemClick(info);\n}\n\nfunction handleKeydown(e: KeyboardEvent) {\n if (disabled) return;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n const info: BMenuClickInfo = {\n key: itemKey,\n keyPath: keyPath.value,\n domEvent: e,\n };\n menu.onItemClick(info);\n }\n}\n</script>\n\n<template>\n <li\n :class=\"itemClasses\"\n :style=\"{ paddingInlineStart: paddingLeft }\"\n :role=\"itemRole\"\n :tabindex=\"disabled ? -1 : 0\"\n :aria-disabled=\"disabled || undefined\"\n :aria-checked=\"menu.selectable.value ? isSelected : undefined\"\n :title=\"title ?? (menu.inlineCollapsed.value ? label : undefined)\"\n :data-menu-key=\"itemKey\"\n @click=\"handleClick\"\n @keydown=\"handleKeydown\"\n >\n <span v-if=\"icon || $slots.icon\" class=\"b-menu-item__icon\" aria-hidden=\"true\">\n <slot name=\"icon\">{{ icon }}</slot>\n </span>\n <span v-if=\"!menu.inlineCollapsed.value\" class=\"b-menu-item__label\">\n <slot>{{ label }}</slot>\n </span>\n <span v-if=\"extra && !menu.inlineCollapsed.value\" class=\"b-menu-item__extra\">\n <slot name=\"extra\">{{ extra }}</slot>\n </span>\n </li>\n</template>\n\n<style>\n/* ─────────────────────────────────────────────\n BMenuItem\n ───────────────────────────────────────────── */\n.b-menu-item {\n display: flex;\n align-items: center;\n height: var(--b-menu-item-height);\n margin-block: var(--b-menu-item-margin-block);\n margin-inline: var(--b-menu-item-margin-inline);\n padding-inline: var(--b-menu-item-padding-inline);\n border-radius: var(--b-menu-item-border-radius);\n color: var(--b-menu-item-color);\n cursor: pointer;\n user-select: none;\n list-style: none;\n outline: none;\n position: relative;\n transition:\n background var(--b-menu-transition-duration),\n color var(--b-menu-transition-duration),\n padding var(--b-menu-transition-duration);\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.b-menu-item:hover:not(.b-menu-item--disabled) {\n background: var(--b-menu-item-hover-bg);\n color: var(--b-menu-item-hover-color);\n}\n\n.b-menu-item:focus-visible {\n outline: 2px solid #1677ff;\n outline-offset: -2px;\n}\n\n/* ── Selected ── */\n.b-menu-item--selected {\n background: var(--b-menu-item-selected-bg);\n color: var(--b-menu-item-selected-color);\n font-weight: 500;\n}\n\n/* ── Disabled ── */\n.b-menu-item--disabled {\n color: var(--b-menu-item-disabled-color);\n cursor: not-allowed;\n}\n\n/* ── Danger ── */\n.b-menu-item--danger {\n color: var(--b-menu-danger-item-color);\n}\n\n.b-menu-item--danger:hover:not(.b-menu-item--disabled) {\n color: var(--b-menu-danger-item-hover-color);\n background: var(--b-menu-danger-item-active-bg);\n}\n\n.b-menu-item--danger.b-menu-item--selected {\n background: var(--b-menu-danger-item-selected-bg);\n color: var(--b-menu-danger-item-selected-color);\n}\n\n/* ── Collapsed ── */\n.b-menu-item--collapsed {\n justify-content: center;\n padding-inline: 0;\n}\n\n.b-menu-item--collapsed .b-menu-item__icon {\n font-size: var(--b-menu-collapsed-icon-size);\n margin-inline-end: 0;\n}\n\n/* ── Horizontal mode ── */\n.b-menu-item--horizontal {\n margin-block: 0;\n border-radius: var(--b-menu-horizontal-item-border-radius);\n height: auto;\n line-height: var(--b-menu-horizontal-line-height);\n position: relative;\n}\n\n.b-menu-item--horizontal::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: var(--b-menu-item-padding-inline);\n right: var(--b-menu-item-padding-inline);\n height: var(--b-menu-active-bar-height);\n background: transparent;\n transition: background var(--b-menu-transition-duration);\n}\n\n.b-menu-item--horizontal:hover:not(.b-menu-item--disabled) {\n background: var(--b-menu-horizontal-item-hover-bg);\n color: var(--b-menu-horizontal-item-hover-color);\n}\n\n.b-menu-item--horizontal.b-menu-item--selected {\n background: var(--b-menu-horizontal-item-selected-bg);\n color: var(--b-menu-horizontal-item-selected-color);\n}\n\n.b-menu-item--horizontal.b-menu-item--selected::after {\n background: var(--b-menu-horizontal-item-selected-color);\n}\n\n/* ─────────────────────────────────────────────\n Icon & Label\n ───────────────────────────────────────────── */\n.b-menu-item__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n font-size: var(--b-menu-icon-size);\n margin-inline-end: var(--b-menu-icon-margin-inline-end);\n}\n\n.b-menu-item__label {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.b-menu-item__extra {\n margin-inline-start: auto;\n padding-inline-start: 8px;\n color: var(--b-menu-group-title-color);\n font-size: 12px;\n}\n\n/* ── Reduced motion ── */\n@media (prefers-reduced-motion: reduce) {\n .b-menu-item {\n transition: none;\n }\n\n .b-menu-item--horizontal::after {\n transition: none;\n }\n}\n</style>\n"],"mappings":""}
|