bitboss-ui 0.2.22 → 0.2.24
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/dist/composables/useConfirm.d.ts +9 -9
- package/dist/index101.js +3 -3
- package/dist/index103.js +2 -2
- package/dist/index109.js +1 -1
- package/dist/index11.js +2 -2
- package/dist/index111.js +3 -3
- package/dist/index113.js +1 -1
- package/dist/index116.js +1 -1
- package/dist/index117.js +1 -1
- package/dist/index118.js +1 -1
- package/dist/index119.js +1 -1
- package/dist/index121.js +1 -1
- package/dist/index125.js +1 -1
- package/dist/index126.js +1 -1
- package/dist/index131.js +2 -2
- package/dist/index15.js +8 -8
- package/dist/index17.js +9 -9
- package/dist/index19.js +3 -3
- package/dist/index196.js +2 -2
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +4 -235
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +2 -2
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +5 -378
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +16 -2
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +16 -2
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +19 -6
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +20 -4
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +27 -371
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +8 -3
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +2 -3
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +3 -3
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +3 -35
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +378 -5
- package/dist/index209.js.map +1 -1
- package/dist/index21.js +2 -2
- package/dist/index210.js +131 -13
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +2 -16
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +172 -17
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +23 -20
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +371 -27
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +2 -8
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +3 -134
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +35 -2
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +6 -174
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +235 -23
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +10 -2
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +2 -10
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +78 -8
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +4 -4
- package/dist/index224.js +8 -27
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +27 -12
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +13 -79
- package/dist/index226.js.map +1 -1
- package/dist/index228.js +2 -224
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +19 -53
- package/dist/index229.js.map +1 -1
- package/dist/index23.js +1 -1
- package/dist/index230.js +252 -429
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +294 -88
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +6 -200
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +2 -117
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +2 -106
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +2 -295
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +2 -6
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +2 -2
- package/dist/index239.js +2 -2
- package/dist/index240.js +117 -2
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +106 -2
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +162 -2
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +2 -2
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +426 -153
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +89 -2
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +69 -2
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +199 -68
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +2 -2
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +1 -1
- package/dist/index25.js +2 -2
- package/dist/index254.js +2 -2
- package/dist/index255.js +1 -1
- package/dist/index29.js +3 -3
- package/dist/index3.js +31 -28
- package/dist/index3.js.map +1 -1
- package/dist/index31.js +6 -6
- package/dist/index33.js +2 -2
- package/dist/index35.js +2 -2
- package/dist/index47.js +1 -1
- package/dist/index49.js +1 -1
- package/dist/index65.js +4 -4
- package/dist/index69.js +2 -2
- package/dist/index72.js +1 -1
- package/dist/index75.js +1 -1
- package/dist/index77.js +1 -1
- package/dist/index79.js +35 -26
- package/dist/index79.js.map +1 -1
- package/dist/index81.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index35.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as I, ref as b, computed as n, watch as F, openBlock as m, createElementBlock as p, normalizeClass as N, normalizeProps as c, mergeProps as h, createCommentVNode as S, createElementVNode as l, renderSlot as x, guardReactiveProps as f } from "vue";
|
|
2
|
-
import { isCssColor as V } from "./
|
|
3
|
-
import { when as A } from "./
|
|
2
|
+
import { isCssColor as V } from "./index196.js";
|
|
3
|
+
import { when as A } from "./index197.js";
|
|
4
4
|
const J = { class: "bb-base-switch-container" }, M = /* @__PURE__ */ l("span", { class: "bb-base-switch-container__icon-thumb" }, null, -1), O = [
|
|
5
5
|
M
|
|
6
6
|
], H = /* @__PURE__ */ I({
|
package/dist/index47.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as p, computed as u, ref as d, watch as f, openBlock as a, createElementBlock as l, normalizeProps as b, guardReactiveProps as z, createElementVNode as v, renderSlot as g, createCommentVNode as h } from "vue";
|
|
2
|
-
import { isCssColor as _ } from "./
|
|
2
|
+
import { isCssColor as _ } from "./index196.js";
|
|
3
3
|
const k = { class: "bb-avatar__fallback" }, C = ["alt", "src", "srcset", "sizes"], B = /* @__PURE__ */ p({
|
|
4
4
|
__name: "BbAvatar",
|
|
5
5
|
props: {
|
package/dist/index49.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as p, useSlots as d, computed as n, openBlock as m, createElementBlock as u, normalizeClass as g, createElementVNode as s, renderSlot as l, mergeProps as f, createTextVNode as _, toDisplayString as y } from "vue";
|
|
2
|
-
import { isCssColor as r } from "./
|
|
2
|
+
import { isCssColor as r } from "./index196.js";
|
|
3
3
|
import { isNil as B } from "./index120.js";
|
|
4
4
|
const C = { class: "bb-badge__wrapper" }, h = { class: "bb-badge__content-inner" }, S = /* @__PURE__ */ p({
|
|
5
5
|
__name: "BbBadge",
|
package/dist/index65.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { defineComponent as Y, computed as M, ref as v, openBlock as D, createElementBlock as H, mergeProps as S, createElementVNode as h, renderSlot as y, normalizeProps as Z, guardReactiveProps as ee, unref as c, createBlock as te, Teleport as oe, normalizeClass as ne, normalizeStyle as z, Fragment as N, renderList as ae, createVNode as le, withCtx as se, createCommentVNode as ie } from "vue";
|
|
2
|
-
import { findRightIndex as I } from "./
|
|
2
|
+
import { findRightIndex as I } from "./index224.js";
|
|
3
3
|
import { useFloating as re, arrow as ue } from "./index223.js";
|
|
4
4
|
import { useId as de } from "./index7.js";
|
|
5
5
|
import { wait as U } from "./index122.js";
|
|
6
6
|
import ce from "./index9.js";
|
|
7
7
|
import "./index10.js";
|
|
8
|
-
import V from "./
|
|
9
|
-
import { autoUpdate as fe, flip as pe, shift as be } from "./
|
|
10
|
-
import { offset as me } from "./
|
|
8
|
+
import V from "./index213.js";
|
|
9
|
+
import { autoUpdate as fe, flip as pe, shift as be } from "./index209.js";
|
|
10
|
+
import { offset as me } from "./index214.js";
|
|
11
11
|
const ve = ["aria-labelledby", "id"], we = { class: "bb-dropdown__items-container" }, Me = /* @__PURE__ */ Y({
|
|
12
12
|
__name: "BbDropdown",
|
|
13
13
|
props: {
|
package/dist/index69.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as j, ref as g, watch as x, computed as m, openBlock as V, createBlock as G, resolveDynamicComponent as K, normalizeClass as O, withCtx as M, createElementVNode as c, withModifiers as y, renderSlot as U, normalizeProps as Y, guardReactiveProps as Z, createTextVNode as J, unref as Q, createVNode as W, createElementBlock as F, Fragment as X, renderList as ee, toDisplayString as te } from "vue";
|
|
2
|
-
import { findInTree as ae } from "./
|
|
2
|
+
import { findInTree as ae } from "./index226.js";
|
|
3
3
|
import { useId as re } from "./index7.js";
|
|
4
4
|
import oe from "./index118.js";
|
|
5
5
|
import "./index183.js";
|
|
@@ -57,7 +57,7 @@ const le = ["accept", "autofocus", "disabled", "multiple"], se = {
|
|
|
57
57
|
if (r.includes("/"))
|
|
58
58
|
e.push(r);
|
|
59
59
|
else {
|
|
60
|
-
b || (b = await import("./
|
|
60
|
+
b || (b = await import("./index225.js").then((s) => s.i));
|
|
61
61
|
const o = b.getType(r);
|
|
62
62
|
if (!o)
|
|
63
63
|
throw new Error(
|
package/dist/index72.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as h, ref as t, onMounted as m, onBeforeUnmount as p, openBlock as g, createBlock as b, resolveDynamicComponent as w, withCtx as _, renderSlot as I } from "vue";
|
|
2
|
-
import { throttle as c } from "./
|
|
2
|
+
import { throttle as c } from "./index216.js";
|
|
3
3
|
const M = /* @__PURE__ */ h({
|
|
4
4
|
__name: "BbIntersection",
|
|
5
5
|
props: {
|
package/dist/index75.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as q, ref as s, useAttrs as G, computed as m, onMounted as J, watch as Q, onBeforeUnmount as X, openBlock as y, createBlock as Y, Teleport as Z, createElementVNode as o, mergeProps as N, createElementBlock as w, renderSlot as l, createTextVNode as ee, toDisplayString as z, createCommentVNode as B, nextTick as te } from "vue";
|
|
2
|
-
import { useFocusTrap as oe } from "./
|
|
2
|
+
import { useFocusTrap as oe } from "./index217.js";
|
|
3
3
|
import { useId as L } from "./index7.js";
|
|
4
4
|
import { wait as O } from "./index122.js";
|
|
5
5
|
const se = { class: "bb-offcanvas-close" }, ae = { class: "bb-offcanvas-close__content" }, ne = { class: "bb-offcanvas-close__label" }, le = /* @__PURE__ */ o("span", { class: "bb-offcanvas-close__icon" }, [
|
package/dist/index77.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as x, computed as y, ref as p, onMounted as A, onBeforeUnmount as B, openBlock as V, createElementBlock as k, createElementVNode as u, renderSlot as g, createTextVNode as b, Fragment as E, renderList as P, normalizeClass as W, toDisplayString as h, nextTick as z } from "vue";
|
|
2
|
-
import R from "./
|
|
2
|
+
import R from "./index222.js";
|
|
3
3
|
const T = { "aria-label": "Navigazione" }, F = ["disabled"], L = ["onClick", "disabled"], D = ["disabled"], O = /* @__PURE__ */ x({
|
|
4
4
|
__name: "BbPagination",
|
|
5
5
|
props: {
|
package/dist/index79.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent as V, ref as a, computed as _, openBlock as p, createElementBlock as h, mergeProps as B, createElementVNode as d, renderSlot as P, normalizeProps as I, guardReactiveProps as R, unref as g, createBlock as D, Teleport as U, normalizeClass as W, normalizeStyle as j, createCommentVNode as y, withCtx as G, nextTick as J } from "vue";
|
|
2
2
|
import { useFloating as K, arrow as Q } from "./index223.js";
|
|
3
|
-
import { useFocusTrap as X } from "./
|
|
3
|
+
import { useFocusTrap as X } from "./index217.js";
|
|
4
4
|
import { useId as Y } from "./index7.js";
|
|
5
5
|
import { wait as E } from "./index122.js";
|
|
6
6
|
import Z from "./index9.js";
|
|
7
7
|
import "./index10.js";
|
|
8
|
-
import { autoUpdate as ee, flip as oe, shift as te } from "./
|
|
9
|
-
import { offset as ae } from "./
|
|
8
|
+
import { autoUpdate as ee, flip as oe, shift as te } from "./index209.js";
|
|
9
|
+
import { offset as ae } from "./index214.js";
|
|
10
10
|
const re = ["id"], ne = {
|
|
11
11
|
key: 1,
|
|
12
12
|
class: "bb-popover__bubble"
|
|
@@ -39,7 +39,7 @@ const re = ["id"], ne = {
|
|
|
39
39
|
},
|
|
40
40
|
emits: ["shown", "hidden"],
|
|
41
41
|
setup(M, { emit: N }) {
|
|
42
|
-
const o = M,
|
|
42
|
+
const o = M, i = N, { id: S } = Y(), b = `bbp_${S.value}`, s = a(), u = a(), k = a(), { activate: L, deactivate: O } = X(u, {
|
|
43
43
|
/**
|
|
44
44
|
* This traps all clicks outside so we are pressing
|
|
45
45
|
* the trigger we just allow and process that in its
|
|
@@ -50,10 +50,10 @@ const re = ["id"], ne = {
|
|
|
50
50
|
clickOutsideDeactivates: (e) => {
|
|
51
51
|
var T;
|
|
52
52
|
const t = e.target;
|
|
53
|
-
return t instanceof HTMLElement && (T =
|
|
53
|
+
return t instanceof HTMLElement && (T = s.value) != null && T.contains(t) || (f(), i("hidden")), !0;
|
|
54
54
|
},
|
|
55
55
|
escapeDeactivates: () => (J(async () => {
|
|
56
|
-
await f(), w(),
|
|
56
|
+
await f(), w(), i("hidden");
|
|
57
57
|
}), !0),
|
|
58
58
|
/* We don't return focus so that when
|
|
59
59
|
* we press a button on tyhe page we can focus
|
|
@@ -61,8 +61,8 @@ const re = ["id"], ne = {
|
|
|
61
61
|
*/
|
|
62
62
|
returnFocusOnDeactivate: !1
|
|
63
63
|
}), { floatingStyles: z, placement: v, middlewareData: $ } = K(
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
s,
|
|
65
|
+
u,
|
|
66
66
|
{
|
|
67
67
|
placement: o.placement,
|
|
68
68
|
whileElementsMounted: ee,
|
|
@@ -81,7 +81,7 @@ const re = ["id"], ne = {
|
|
|
81
81
|
"bb-popover--block": o.block,
|
|
82
82
|
[`bb-popover--theme-${o.theme}`]: o.theme
|
|
83
83
|
}
|
|
84
|
-
})), r = a(!1), n = a(!1),
|
|
84
|
+
})), r = a(!1), n = a(!1), l = a(!1), c = a(!0), H = _(() => {
|
|
85
85
|
if ($.value.arrow) {
|
|
86
86
|
const { x: e, y: t } = $.value.arrow;
|
|
87
87
|
return {
|
|
@@ -98,16 +98,25 @@ const re = ["id"], ne = {
|
|
|
98
98
|
};
|
|
99
99
|
if (o.width) {
|
|
100
100
|
let t;
|
|
101
|
-
typeof o.width == "string" && Number.isNaN(Number(o.width))
|
|
101
|
+
if (typeof o.width == "string" && Number.isNaN(Number(o.width)))
|
|
102
|
+
if (o.width.includes("%")) {
|
|
103
|
+
if (!s.value)
|
|
104
|
+
return;
|
|
105
|
+
t = `${s.value.clientWidth * (+o.width.replace("%", "") / 100)}px`;
|
|
106
|
+
} else
|
|
107
|
+
t = o.width;
|
|
108
|
+
else
|
|
109
|
+
t = `${o.width}px`;
|
|
110
|
+
e.width = t;
|
|
102
111
|
}
|
|
103
112
|
return e;
|
|
104
113
|
}), x = async () => {
|
|
105
|
-
|
|
114
|
+
c.value = !1, l.value = !1, r.value = !0, await E(50), n.value = !0, r.value = !1;
|
|
106
115
|
}, f = async () => {
|
|
107
|
-
n.value = !1, r.value = !1,
|
|
116
|
+
n.value = !1, r.value = !1, l.value = !0, await E(o.transitionDuration), l.value = !1, c.value = !0;
|
|
108
117
|
}, m = a(!1), A = async () => {
|
|
109
118
|
if (n.value) {
|
|
110
|
-
await f(), w(),
|
|
119
|
+
await f(), w(), i("hidden");
|
|
111
120
|
return;
|
|
112
121
|
}
|
|
113
122
|
if (r.value || o.disabled)
|
|
@@ -116,24 +125,24 @@ const re = ["id"], ne = {
|
|
|
116
125
|
let e = o.focusTarget ?? ".bb-popover__close";
|
|
117
126
|
L({
|
|
118
127
|
onPostActivate: () => {
|
|
119
|
-
if (
|
|
120
|
-
const t =
|
|
121
|
-
t instanceof HTMLElement && (t.focus(),
|
|
128
|
+
if (u.value) {
|
|
129
|
+
const t = u.value.querySelector(e);
|
|
130
|
+
t instanceof HTMLElement && (t.focus(), i("shown"));
|
|
122
131
|
}
|
|
123
132
|
}
|
|
124
133
|
});
|
|
125
134
|
}, w = () => {
|
|
126
135
|
var t;
|
|
127
|
-
const e = (t =
|
|
136
|
+
const e = (t = s.value) == null ? void 0 : t.querySelector(`[aria-controls=popover_${b}]`);
|
|
128
137
|
e instanceof HTMLElement && e.focus();
|
|
129
138
|
}, C = async () => {
|
|
130
|
-
O(), await f(), w(),
|
|
139
|
+
O(), await f(), w(), i("hidden");
|
|
131
140
|
};
|
|
132
141
|
return (e, t) => (p(), h("span", B({ class: "bb-popover" }, F.value), [
|
|
133
142
|
d("span", {
|
|
134
143
|
class: "bb-popover__wrapper",
|
|
135
144
|
ref_key: "wrapper",
|
|
136
|
-
ref:
|
|
145
|
+
ref: s
|
|
137
146
|
}, [
|
|
138
147
|
P(e.$slots, "activator", I(R({
|
|
139
148
|
props: {
|
|
@@ -143,8 +152,8 @@ const re = ["id"], ne = {
|
|
|
143
152
|
id: b,
|
|
144
153
|
disabled: !!e.disabled
|
|
145
154
|
},
|
|
146
|
-
closed:
|
|
147
|
-
closing:
|
|
155
|
+
closed: c.value,
|
|
156
|
+
closing: l.value,
|
|
148
157
|
disabled: !!e.disabled,
|
|
149
158
|
open: n.value,
|
|
150
159
|
opening: r.value,
|
|
@@ -156,13 +165,13 @@ const re = ["id"], ne = {
|
|
|
156
165
|
class: W(["bb-popover__bubble-container", {
|
|
157
166
|
[`bb-popover__bubble-container--${g(v)}`]: !0,
|
|
158
167
|
[`bb-popover__bubble-container--${e.theme}`]: e.theme,
|
|
159
|
-
"bb-popover__bubble-container--hidden":
|
|
160
|
-
"bb-popover__bubble-container--closing":
|
|
168
|
+
"bb-popover__bubble-container--hidden": c.value,
|
|
169
|
+
"bb-popover__bubble-container--closing": l.value,
|
|
161
170
|
"bb-popover__bubble-container--opening": r.value,
|
|
162
171
|
"bb-popover__bubble-container--open": n.value
|
|
163
172
|
}]),
|
|
164
173
|
ref_key: "content",
|
|
165
|
-
ref:
|
|
174
|
+
ref: u,
|
|
166
175
|
style: j(q.value),
|
|
167
176
|
id: `popover_${b}`
|
|
168
177
|
}, [
|
|
@@ -186,8 +195,8 @@ const re = ["id"], ne = {
|
|
|
186
195
|
})) : y("", !0),
|
|
187
196
|
P(e.$slots, "default", {
|
|
188
197
|
close: C,
|
|
189
|
-
closed:
|
|
190
|
-
closing:
|
|
198
|
+
closed: c.value,
|
|
199
|
+
closing: l.value,
|
|
191
200
|
disabled: !!e.disabled,
|
|
192
201
|
open: n.value,
|
|
193
202
|
opening: r.value,
|
package/dist/index79.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index79.js","sources":["../src/components/BbPopover/BbPopover.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createBlock as _createBlock, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, Teleport as _Teleport } from \"vue\"\n\nconst _hoisted_1 = [\"id\"]\nconst _hoisted_2 = {\n key: 1,\n class: \"bb-popover__bubble\"\n}\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"bb-popover__close-label\" }, \"Chiudi\", -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M23 23L1 1M23 1L1 23\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\"\n })\n], -1)\n\nimport { computed, nextTick, ref } from \"vue\";\nimport {\n useFloating,\n autoUpdate,\n flip,\n shift,\n offset,\n arrow,\n} from \"@floating-ui/vue\";\nimport { useFocusTrap } from \"@vueuse/integrations/useFocusTrap\";\nimport { useId } from \"@/composables/useId\";\nimport { wait } from \"@/utilities/functions/wait\";\nimport BaseButton from \"../BaseButton/BaseButton.vue\";\nimport type { CommonProps } from \"@/types/CommonProps\";\nimport type { Placement } from \"@floating-ui/vue\";\n\nexport type BbPopoverProps = Pick<\n CommonProps,\n | \"arrowPadding\"\n | \"block\"\n | \"disabled\"\n | \"eager\"\n | \"offset\"\n | \"padding\"\n | \"placement\"\n | \"showClose\"\n | \"theme\"\n | \"transitionDuration\"\n> & {\n /**\n * Elements that obtains focus immediately after opening the popover.\n * By default it's the first tabbable item.\n */\n focusTarget?: string;\n /**\n * Width of the dropdown in pixels.\n */\n width?: number | string;\n};\n\nexport type BbPopoverEvents = {\n (e: \"shown\"): void;\n (e: \"hidden\"): void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbPopover',\n props: {\n arrowPadding: { default: 10 },\n block: { type: Boolean },\n disabled: { type: Boolean },\n eager: { type: Boolean },\n offset: { default: 3 },\n padding: { default: 10 },\n placement: { default: \"bottom\" },\n showClose: { type: Boolean, default: true },\n theme: { default: \"default\" },\n transitionDuration: { default: 150 },\n focusTarget: {},\n width: {}\n },\n emits: [\"shown\", \"hidden\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n\nconst emit = __emit;\n\n\n\nconst { id: _id } = useId();\nconst id = `bbp_${_id.value}`;\n\nconst wrapper = ref<HTMLElement>();\nconst content = ref<HTMLElement>();\nconst bubblearrow = ref<HTMLElement>();\n\nconst { activate, deactivate } = useFocusTrap(content, {\n /**\n * This traps all clicks outside so we are pressing\n * the trigger we just allow and process that in its\n * own click handler.\n * If we are pressing anything random on the page\n * close the popover and be done\n */\n clickOutsideDeactivates: (event) => {\n const target = event.target;\n if (target instanceof HTMLElement) {\n if (wrapper.value?.contains(target)) {\n return true;\n }\n }\n closePopover();\n emit(\"hidden\");\n return true;\n },\n escapeDeactivates: () => {\n nextTick(async () => {\n await closePopover();\n focusTrigger();\n emit(\"hidden\");\n });\n return true;\n },\n /* We don't return focus so that when\n * we press a button on tyhe page we can focus\n * THAT button and not the current trigger\n */\n returnFocusOnDeactivate: false,\n});\n\nconst { floatingStyles, placement, middlewareData } = useFloating(\n wrapper,\n content,\n {\n placement: props.placement,\n whileElementsMounted: autoUpdate,\n middleware: [\n flip(),\n offset(props.offset),\n shift({ padding: props.padding }),\n arrow({\n element: bubblearrow,\n padding: props.arrowPadding,\n }),\n ],\n }\n);\n\nconst attributes = computed(() => {\n const classes = {\n \"bb-popover--block\": props.block,\n [`bb-popover--theme-${props.theme}`]: props.theme,\n };\n return {\n class: classes,\n };\n});\n\nconst opening = ref(false);\nconst open = ref(false);\nconst closing = ref(false);\nconst closed = ref(true);\n\nconst arrowAttributes = computed(() => {\n if (middlewareData.value.arrow) {\n const { x, y } = middlewareData.value.arrow;\n return {\n style: {\n left: `${x}px`,\n top: `${y}px`,\n },\n };\n }\n});\n\nconst containerStyle = computed(() => {\n const base: Record<string, any> = {\n ...floatingStyles.value,\n transitionDuration: `${props.transitionDuration}ms`,\n };\n if (props.width) {\n let width: string;\n // If the width is a css unit string use it, if it is a number or number string add px\n if (typeof props.width === \"string\" && Number.isNaN(Number(props.width))) {\n if (props.width.includes(\"%\")) {\n width = `${\n wrapper.value!.clientWidth * (+props.width.replace(\"%\", \"\") / 100)\n }px`;\n } else {\n width = props.width;\n }\n } else {\n width = `${props.width}px`;\n }\n base.width = width;\n }\n return base;\n});\n\nconst openPopover = async () => {\n closed.value = false;\n closing.value = false;\n opening.value = true;\n await wait(50);\n open.value = true;\n opening.value = false;\n};\n\nconst closePopover = async () => {\n open.value = false;\n opening.value = false;\n closing.value = true;\n await wait(props.transitionDuration);\n closing.value = false;\n closed.value = true;\n};\nconst hasOpenedOnce = ref(false);\nconst onTriggerClick = async () => {\n if (open.value) {\n await closePopover();\n focusTrigger();\n emit(\"hidden\");\n return;\n }\n if (opening.value || props.disabled) return;\n hasOpenedOnce.value = true;\n await openPopover();\n let focusTarget = props.focusTarget ?? \".bb-popover__close\";\n\n activate({\n onPostActivate: () => {\n if (content.value) {\n const target = content.value.querySelector(focusTarget);\n if (target instanceof HTMLElement) {\n target.focus();\n emit(\"shown\");\n }\n }\n },\n });\n};\n\nconst focusTrigger = () => {\n const trigger = wrapper.value?.querySelector(`[aria-controls=popover_${id}]`);\n if (trigger instanceof HTMLElement) {\n trigger.focus();\n }\n};\n\nconst onClickClose = async () => {\n deactivate();\n await closePopover();\n focusTrigger();\n emit(\"hidden\");\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", _mergeProps({ class: \"bb-popover\" }, attributes.value), [\n _createElementVNode(\"span\", {\n class: \"bb-popover__wrapper\",\n ref_key: \"wrapper\",\n ref: wrapper\n }, [\n _renderSlot(_ctx.$slots, \"activator\", _normalizeProps(_guardReactiveProps({\n props: {\n 'aria-controls': `popover_${id}`,\n 'aria-expanded': open.value,\n onClick: onTriggerClick,\n id: id,\n disabled: !!_ctx.disabled,\n },\n closed: closed.value,\n closing: closing.value,\n disabled: !!_ctx.disabled,\n open: open.value,\n opening: opening.value,\n placement: _unref(placement),\n })))\n ], 512),\n (_openBlock(), _createBlock(_Teleport, { to: \"body\" }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"bb-popover__bubble-container\", {\n [`bb-popover__bubble-container--${_unref(placement)}`]: true,\n [`bb-popover__bubble-container--${_ctx.theme}`]: _ctx.theme,\n 'bb-popover__bubble-container--hidden': closed.value,\n 'bb-popover__bubble-container--closing': closing.value,\n 'bb-popover__bubble-container--opening': opening.value,\n 'bb-popover__bubble-container--open': open.value,\n }]),\n ref_key: \"content\",\n ref: content,\n style: _normalizeStyle(containerStyle.value),\n id: `popover_${id}`\n }, [\n (hasOpenedOnce.value || _ctx.eager)\n ? (_openBlock(), _createElementBlock(\"span\", _mergeProps({\n key: 0,\n class: \"bb-popover__arrow\",\n ref_key: \"bubblearrow\",\n ref: bubblearrow\n }, arrowAttributes.value), null, 16))\n : _createCommentVNode(\"\", true),\n (hasOpenedOnce.value || _ctx.eager)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_2, [\n (_ctx.showClose)\n ? (_openBlock(), _createBlock(BaseButton, {\n key: 0,\n class: \"bb-popover__close\",\n onClick: onClickClose\n }, {\n default: _withCtx(() => [\n _hoisted_3,\n _hoisted_4\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\", {\n close: onClickClose,\n closed: closed.value,\n closing: closing.value,\n disabled: !!_ctx.disabled,\n open: open.value,\n opening: opening.value,\n placement: _unref(placement)\n })\n ]))\n : _createCommentVNode(\"\", true)\n ], 14, _hoisted_1)\n ]))\n ], 16))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_main","_defineComponent","__props","__emit","props","emit","_id","useId","id","wrapper","ref","content","bubblearrow","activate","deactivate","useFocusTrap","event","target","_a","closePopover","nextTick","focusTrigger","floatingStyles","placement","middlewareData","useFloating","autoUpdate","flip","offset","shift","arrow","attributes","computed","opening","open","closing","closed","arrowAttributes","x","y","containerStyle","base","width","openPopover","wait","hasOpenedOnce","onTriggerClick","focusTarget","trigger","onClickClose","_ctx","_cache","_openBlock","_createElementBlock","_mergeProps","_createElementVNode","_renderSlot","_normalizeProps","_guardReactiveProps","_unref","_createBlock","_Teleport","_normalizeClass","_normalizeStyle","_createCommentVNode","BaseButton","_withCtx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index79.js","sources":["../src/components/BbPopover/BbPopover.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createBlock as _createBlock, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, Teleport as _Teleport } from \"vue\"\n\nconst _hoisted_1 = [\"id\"]\nconst _hoisted_2 = {\n key: 1,\n class: \"bb-popover__bubble\"\n}\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"bb-popover__close-label\" }, \"Chiudi\", -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M23 23L1 1M23 1L1 23\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\"\n })\n], -1)\n\nimport { computed, nextTick, ref } from \"vue\";\nimport {\n useFloating,\n autoUpdate,\n flip,\n shift,\n offset,\n arrow,\n} from \"@floating-ui/vue\";\nimport { useFocusTrap } from \"@vueuse/integrations/useFocusTrap\";\nimport { useId } from \"@/composables/useId\";\nimport { wait } from \"@/utilities/functions/wait\";\nimport BaseButton from \"../BaseButton/BaseButton.vue\";\nimport type { CommonProps } from \"@/types/CommonProps\";\nimport type { Placement } from \"@floating-ui/vue\";\n\nexport type BbPopoverProps = Pick<\n CommonProps,\n | \"arrowPadding\"\n | \"block\"\n | \"disabled\"\n | \"eager\"\n | \"offset\"\n | \"padding\"\n | \"placement\"\n | \"showClose\"\n | \"theme\"\n | \"transitionDuration\"\n> & {\n /**\n * Elements that obtains focus immediately after opening the popover.\n * By default it's the first tabbable item.\n */\n focusTarget?: string;\n /**\n * Width of the dropdown in pixels.\n */\n width?: number | string;\n};\n\nexport type BbPopoverEvents = {\n (e: \"shown\"): void;\n (e: \"hidden\"): void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbPopover',\n props: {\n arrowPadding: { default: 10 },\n block: { type: Boolean },\n disabled: { type: Boolean },\n eager: { type: Boolean },\n offset: { default: 3 },\n padding: { default: 10 },\n placement: { default: \"bottom\" },\n showClose: { type: Boolean, default: true },\n theme: { default: \"default\" },\n transitionDuration: { default: 150 },\n focusTarget: {},\n width: {}\n },\n emits: [\"shown\", \"hidden\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n\nconst emit = __emit;\n\n\n\nconst { id: _id } = useId();\nconst id = `bbp_${_id.value}`;\n\nconst wrapper = ref<HTMLElement>();\nconst content = ref<HTMLElement>();\nconst bubblearrow = ref<HTMLElement>();\n\nconst { activate, deactivate } = useFocusTrap(content, {\n /**\n * This traps all clicks outside so we are pressing\n * the trigger we just allow and process that in its\n * own click handler.\n * If we are pressing anything random on the page\n * close the popover and be done\n */\n clickOutsideDeactivates: (event) => {\n const target = event.target;\n if (target instanceof HTMLElement) {\n if (wrapper.value?.contains(target)) {\n return true;\n }\n }\n closePopover();\n emit(\"hidden\");\n return true;\n },\n escapeDeactivates: () => {\n nextTick(async () => {\n await closePopover();\n focusTrigger();\n emit(\"hidden\");\n });\n return true;\n },\n /* We don't return focus so that when\n * we press a button on tyhe page we can focus\n * THAT button and not the current trigger\n */\n returnFocusOnDeactivate: false,\n});\n\nconst { floatingStyles, placement, middlewareData } = useFloating(\n wrapper,\n content,\n {\n placement: props.placement,\n whileElementsMounted: autoUpdate,\n middleware: [\n flip(),\n offset(props.offset),\n shift({ padding: props.padding }),\n arrow({\n element: bubblearrow,\n padding: props.arrowPadding,\n }),\n ],\n }\n);\n\nconst attributes = computed(() => {\n const classes = {\n \"bb-popover--block\": props.block,\n [`bb-popover--theme-${props.theme}`]: props.theme,\n };\n return {\n class: classes,\n };\n});\n\nconst opening = ref(false);\nconst open = ref(false);\nconst closing = ref(false);\nconst closed = ref(true);\n\nconst arrowAttributes = computed(() => {\n if (middlewareData.value.arrow) {\n const { x, y } = middlewareData.value.arrow;\n return {\n style: {\n left: `${x}px`,\n top: `${y}px`,\n },\n };\n }\n});\n\nconst containerStyle = computed(() => {\n const base: Record<string, any> = {\n ...floatingStyles.value,\n transitionDuration: `${props.transitionDuration}ms`,\n };\n if (props.width) {\n let width: string;\n // If the width is a css unit string use it, if it is a number or number string add px\n if (typeof props.width === \"string\" && Number.isNaN(Number(props.width))) {\n if (props.width.includes(\"%\")) {\n if (!wrapper.value) return;\n width = `${\n wrapper.value.clientWidth * (+props.width.replace(\"%\", \"\") / 100)\n }px`;\n } else {\n width = props.width;\n }\n } else {\n width = `${props.width}px`;\n }\n base.width = width;\n }\n return base;\n});\n\nconst openPopover = async () => {\n closed.value = false;\n closing.value = false;\n opening.value = true;\n await wait(50);\n open.value = true;\n opening.value = false;\n};\n\nconst closePopover = async () => {\n open.value = false;\n opening.value = false;\n closing.value = true;\n await wait(props.transitionDuration);\n closing.value = false;\n closed.value = true;\n};\nconst hasOpenedOnce = ref(false);\nconst onTriggerClick = async () => {\n if (open.value) {\n await closePopover();\n focusTrigger();\n emit(\"hidden\");\n return;\n }\n if (opening.value || props.disabled) return;\n hasOpenedOnce.value = true;\n await openPopover();\n let focusTarget = props.focusTarget ?? \".bb-popover__close\";\n\n activate({\n onPostActivate: () => {\n if (content.value) {\n const target = content.value.querySelector(focusTarget);\n if (target instanceof HTMLElement) {\n target.focus();\n emit(\"shown\");\n }\n }\n },\n });\n};\n\nconst focusTrigger = () => {\n const trigger = wrapper.value?.querySelector(`[aria-controls=popover_${id}]`);\n if (trigger instanceof HTMLElement) {\n trigger.focus();\n }\n};\n\nconst onClickClose = async () => {\n deactivate();\n await closePopover();\n focusTrigger();\n emit(\"hidden\");\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", _mergeProps({ class: \"bb-popover\" }, attributes.value), [\n _createElementVNode(\"span\", {\n class: \"bb-popover__wrapper\",\n ref_key: \"wrapper\",\n ref: wrapper\n }, [\n _renderSlot(_ctx.$slots, \"activator\", _normalizeProps(_guardReactiveProps({\n props: {\n 'aria-controls': `popover_${id}`,\n 'aria-expanded': open.value,\n onClick: onTriggerClick,\n id: id,\n disabled: !!_ctx.disabled,\n },\n closed: closed.value,\n closing: closing.value,\n disabled: !!_ctx.disabled,\n open: open.value,\n opening: opening.value,\n placement: _unref(placement),\n })))\n ], 512),\n (_openBlock(), _createBlock(_Teleport, { to: \"body\" }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"bb-popover__bubble-container\", {\n [`bb-popover__bubble-container--${_unref(placement)}`]: true,\n [`bb-popover__bubble-container--${_ctx.theme}`]: _ctx.theme,\n 'bb-popover__bubble-container--hidden': closed.value,\n 'bb-popover__bubble-container--closing': closing.value,\n 'bb-popover__bubble-container--opening': opening.value,\n 'bb-popover__bubble-container--open': open.value,\n }]),\n ref_key: \"content\",\n ref: content,\n style: _normalizeStyle(containerStyle.value),\n id: `popover_${id}`\n }, [\n (hasOpenedOnce.value || _ctx.eager)\n ? (_openBlock(), _createElementBlock(\"span\", _mergeProps({\n key: 0,\n class: \"bb-popover__arrow\",\n ref_key: \"bubblearrow\",\n ref: bubblearrow\n }, arrowAttributes.value), null, 16))\n : _createCommentVNode(\"\", true),\n (hasOpenedOnce.value || _ctx.eager)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_2, [\n (_ctx.showClose)\n ? (_openBlock(), _createBlock(BaseButton, {\n key: 0,\n class: \"bb-popover__close\",\n onClick: onClickClose\n }, {\n default: _withCtx(() => [\n _hoisted_3,\n _hoisted_4\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\", {\n close: onClickClose,\n closed: closed.value,\n closing: closing.value,\n disabled: !!_ctx.disabled,\n open: open.value,\n opening: opening.value,\n placement: _unref(placement)\n })\n ]))\n : _createCommentVNode(\"\", true)\n ], 14, _hoisted_1)\n ]))\n ], 16))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_main","_defineComponent","__props","__emit","props","emit","_id","useId","id","wrapper","ref","content","bubblearrow","activate","deactivate","useFocusTrap","event","target","_a","closePopover","nextTick","focusTrigger","floatingStyles","placement","middlewareData","useFloating","autoUpdate","flip","offset","shift","arrow","attributes","computed","opening","open","closing","closed","arrowAttributes","x","y","containerStyle","base","width","openPopover","wait","hasOpenedOnce","onTriggerClick","focusTarget","trigger","onClickClose","_ctx","_cache","_openBlock","_createElementBlock","_mergeProps","_createElementVNode","_renderSlot","_normalizeProps","_guardReactiveProps","_unref","_createBlock","_Teleport","_normalizeClass","_normalizeStyle","_createCommentVNode","BaseButton","_withCtx"],"mappings":"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"}
|
package/dist/index81.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as a, computed as l, openBlock as s, createElementBlock as n, normalizeClass as m, createElementVNode as i, normalizeStyle as c } from "vue";
|
|
2
|
-
import { clamp as p } from "./
|
|
2
|
+
import { clamp as p } from "./index198.js";
|
|
3
3
|
import { getAsPercentageBetween as d } from "./index121.js";
|
|
4
4
|
const v = /* @__PURE__ */ a({
|
|
5
5
|
__name: "BbProgress",
|