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.
Files changed (141) hide show
  1. package/dist/composables/useConfirm.d.ts +9 -9
  2. package/dist/index101.js +3 -3
  3. package/dist/index103.js +2 -2
  4. package/dist/index109.js +1 -1
  5. package/dist/index11.js +2 -2
  6. package/dist/index111.js +3 -3
  7. package/dist/index113.js +1 -1
  8. package/dist/index116.js +1 -1
  9. package/dist/index117.js +1 -1
  10. package/dist/index118.js +1 -1
  11. package/dist/index119.js +1 -1
  12. package/dist/index121.js +1 -1
  13. package/dist/index125.js +1 -1
  14. package/dist/index126.js +1 -1
  15. package/dist/index131.js +2 -2
  16. package/dist/index15.js +8 -8
  17. package/dist/index17.js +9 -9
  18. package/dist/index19.js +3 -3
  19. package/dist/index196.js +2 -2
  20. package/dist/index196.js.map +1 -1
  21. package/dist/index197.js +4 -235
  22. package/dist/index197.js.map +1 -1
  23. package/dist/index198.js +2 -2
  24. package/dist/index198.js.map +1 -1
  25. package/dist/index199.js +5 -378
  26. package/dist/index199.js.map +1 -1
  27. package/dist/index200.js +16 -2
  28. package/dist/index200.js.map +1 -1
  29. package/dist/index201.js +16 -2
  30. package/dist/index201.js.map +1 -1
  31. package/dist/index202.js +19 -6
  32. package/dist/index202.js.map +1 -1
  33. package/dist/index203.js +20 -4
  34. package/dist/index203.js.map +1 -1
  35. package/dist/index204.js +27 -371
  36. package/dist/index204.js.map +1 -1
  37. package/dist/index205.js +8 -3
  38. package/dist/index205.js.map +1 -1
  39. package/dist/index206.js +2 -3
  40. package/dist/index206.js.map +1 -1
  41. package/dist/index207.js +3 -3
  42. package/dist/index207.js.map +1 -1
  43. package/dist/index208.js +3 -35
  44. package/dist/index208.js.map +1 -1
  45. package/dist/index209.js +378 -5
  46. package/dist/index209.js.map +1 -1
  47. package/dist/index21.js +2 -2
  48. package/dist/index210.js +131 -13
  49. package/dist/index210.js.map +1 -1
  50. package/dist/index211.js +2 -16
  51. package/dist/index211.js.map +1 -1
  52. package/dist/index212.js +172 -17
  53. package/dist/index212.js.map +1 -1
  54. package/dist/index213.js +23 -20
  55. package/dist/index213.js.map +1 -1
  56. package/dist/index214.js +371 -27
  57. package/dist/index214.js.map +1 -1
  58. package/dist/index215.js +2 -8
  59. package/dist/index215.js.map +1 -1
  60. package/dist/index216.js +3 -134
  61. package/dist/index216.js.map +1 -1
  62. package/dist/index217.js +35 -2
  63. package/dist/index217.js.map +1 -1
  64. package/dist/index218.js +6 -174
  65. package/dist/index218.js.map +1 -1
  66. package/dist/index219.js +235 -23
  67. package/dist/index219.js.map +1 -1
  68. package/dist/index220.js +10 -2
  69. package/dist/index220.js.map +1 -1
  70. package/dist/index221.js +2 -10
  71. package/dist/index221.js.map +1 -1
  72. package/dist/index222.js +78 -8
  73. package/dist/index222.js.map +1 -1
  74. package/dist/index223.js +4 -4
  75. package/dist/index224.js +8 -27
  76. package/dist/index224.js.map +1 -1
  77. package/dist/index225.js +27 -12
  78. package/dist/index225.js.map +1 -1
  79. package/dist/index226.js +13 -79
  80. package/dist/index226.js.map +1 -1
  81. package/dist/index228.js +2 -224
  82. package/dist/index228.js.map +1 -1
  83. package/dist/index229.js +19 -53
  84. package/dist/index229.js.map +1 -1
  85. package/dist/index23.js +1 -1
  86. package/dist/index230.js +252 -429
  87. package/dist/index230.js.map +1 -1
  88. package/dist/index231.js +294 -88
  89. package/dist/index231.js.map +1 -1
  90. package/dist/index232.js +6 -200
  91. package/dist/index232.js.map +1 -1
  92. package/dist/index233.js +2 -117
  93. package/dist/index233.js.map +1 -1
  94. package/dist/index234.js +2 -106
  95. package/dist/index234.js.map +1 -1
  96. package/dist/index235.js +2 -295
  97. package/dist/index235.js.map +1 -1
  98. package/dist/index236.js +2 -6
  99. package/dist/index236.js.map +1 -1
  100. package/dist/index237.js +2 -2
  101. package/dist/index239.js +2 -2
  102. package/dist/index240.js +117 -2
  103. package/dist/index240.js.map +1 -1
  104. package/dist/index241.js +106 -2
  105. package/dist/index241.js.map +1 -1
  106. package/dist/index242.js +162 -2
  107. package/dist/index242.js.map +1 -1
  108. package/dist/index243.js +2 -2
  109. package/dist/index243.js.map +1 -1
  110. package/dist/index244.js +426 -153
  111. package/dist/index244.js.map +1 -1
  112. package/dist/index245.js +89 -2
  113. package/dist/index245.js.map +1 -1
  114. package/dist/index246.js +69 -2
  115. package/dist/index246.js.map +1 -1
  116. package/dist/index247.js +199 -68
  117. package/dist/index247.js.map +1 -1
  118. package/dist/index248.js +2 -2
  119. package/dist/index248.js.map +1 -1
  120. package/dist/index249.js +1 -1
  121. package/dist/index25.js +2 -2
  122. package/dist/index254.js +2 -2
  123. package/dist/index255.js +1 -1
  124. package/dist/index29.js +3 -3
  125. package/dist/index3.js +31 -28
  126. package/dist/index3.js.map +1 -1
  127. package/dist/index31.js +6 -6
  128. package/dist/index33.js +2 -2
  129. package/dist/index35.js +2 -2
  130. package/dist/index47.js +1 -1
  131. package/dist/index49.js +1 -1
  132. package/dist/index65.js +4 -4
  133. package/dist/index69.js +2 -2
  134. package/dist/index72.js +1 -1
  135. package/dist/index75.js +1 -1
  136. package/dist/index77.js +1 -1
  137. package/dist/index79.js +35 -26
  138. package/dist/index79.js.map +1 -1
  139. package/dist/index81.js +1 -1
  140. package/dist/style.css +1 -1
  141. 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 "./index198.js";
3
- import { when as A } from "./index203.js";
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 "./index198.js";
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 "./index198.js";
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 "./index222.js";
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 "./index219.js";
9
- import { autoUpdate as fe, flip as pe, shift as be } from "./index199.js";
10
- import { offset as me } from "./index204.js";
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 "./index225.js";
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("./index224.js").then((s) => s.i));
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 "./index207.js";
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 "./index208.js";
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 "./index226.js";
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 "./index208.js";
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 "./index199.js";
9
- import { offset as ae } from "./index204.js";
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, l = N, { id: S } = Y(), b = `bbp_${S.value}`, i = a(), c = a(), k = a(), { activate: L, deactivate: O } = X(c, {
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 = i.value) != null && T.contains(t) || (f(), l("hidden")), !0;
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(), l("hidden");
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
- i,
65
- c,
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), s = a(!1), u = a(!0), H = _(() => {
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)) ? o.width.includes("%") ? t = `${i.value.clientWidth * (+o.width.replace("%", "") / 100)}px` : t = o.width : t = `${o.width}px`, e.width = t;
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
- u.value = !1, s.value = !1, r.value = !0, await E(50), n.value = !0, r.value = !1;
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, s.value = !0, await E(o.transitionDuration), s.value = !1, u.value = !0;
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(), l("hidden");
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 (c.value) {
120
- const t = c.value.querySelector(e);
121
- t instanceof HTMLElement && (t.focus(), l("shown"));
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 = i.value) == null ? void 0 : t.querySelector(`[aria-controls=popover_${b}]`);
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(), l("hidden");
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: i
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: u.value,
147
- closing: s.value,
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": u.value,
160
- "bb-popover__bubble-container--closing": s.value,
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: c,
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: u.value,
190
- closing: s.value,
198
+ closed: c.value,
199
+ closing: l.value,
191
200
  disabled: !!e.disabled,
192
201
  open: n.value,
193
202
  opening: r.value,
@@ -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":";;;;;;;;;AAGA,MAAMA,KAAa,CAAC,IAAI,GAClBC,KAAa;AAAA,EACjB,KAAK;AAAA,EACL,OAAO;AACT,GACMC,uBAA8C,QAAQ,EAAE,OAAO,6BAA6B,UAAU,EAAE,GACxGC,uBAA8C,OAAO;AAAA,EACzD,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AACT,GAAG;AAAA,oBACgC,QAAQ;AAAA,IACvC,GAAG;AAAA,IACH,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,EAAA,CACnB;AACH,GAAG,EAAE,GAgDuBC,KAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,cAAc,EAAE,SAAS,GAAG;AAAA,IAC5B,OAAO,EAAE,MAAM,QAAQ;AAAA,IACvB,UAAU,EAAE,MAAM,QAAQ;AAAA,IAC1B,OAAO,EAAE,MAAM,QAAQ;AAAA,IACvB,QAAQ,EAAE,SAAS,EAAE;AAAA,IACrB,SAAS,EAAE,SAAS,GAAG;AAAA,IACvB,WAAW,EAAE,SAAS,SAAS;AAAA,IAC/B,WAAW,EAAE,MAAM,SAAS,SAAS,GAAK;AAAA,IAC1C,OAAO,EAAE,SAAS,UAAU;AAAA,IAC5B,oBAAoB,EAAE,SAAS,IAAI;AAAA,IACnC,aAAa,CAAC;AAAA,IACd,OAAO,CAAC;AAAA,EACV;AAAA,EACA,OAAO,CAAC,SAAS,QAAQ;AAAA,EACzB,MAAMC,GAAc,EAAE,MAAMC,KAAU;AAExC,UAAMC,IAAQF,GAERG,IAAOF,GAIP,EAAE,IAAIG,EAAI,IAAIC,EAAM,GACpBC,IAAK,OAAOF,EAAI,KAAK,IAErBG,IAAUC,KACVC,IAAUD,KACVE,IAAcF,KAEd,EAAE,UAAAG,GAAU,YAAAC,MAAeC,EAAaJ,GAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQrD,yBAAyB,CAACK,MAAU;;AAClC,cAAMC,IAASD,EAAM;AACrB,eAAIC,aAAkB,gBAChBC,IAAAT,EAAQ,UAAR,QAAAS,EAAe,SAASD,OAIjBE,KACbd,EAAK,QAAQ,IACN;AAAA,MACT;AAAA,MACA,mBAAmB,OACjBe,EAAS,YAAY;AACnB,cAAMD,EAAa,GACNE,KACbhB,EAAK,QAAQ;AAAA,MAAA,CACd,GACM;AAAA;AAAA;AAAA;AAAA;AAAA,MAMT,yBAAyB;AAAA,IAAA,CAC1B,GAEK,EAAE,gBAAAiB,GAAgB,WAAAC,GAAW,gBAAAC,EAAmB,IAAAC;AAAA,MACpDhB;AAAA,MACAE;AAAA,MACA;AAAA,QACE,WAAWP,EAAM;AAAA,QACjB,sBAAsBsB;AAAA,QACtB,YAAY;AAAA,UACVC,GAAK;AAAA,UACLC,GAAOxB,EAAM,MAAM;AAAA,UACnByB,GAAM,EAAE,SAASzB,EAAM,SAAS;AAAA,UAChC0B,EAAM;AAAA,YACJ,SAASlB;AAAA,YACT,SAASR,EAAM;AAAA,UAAA,CAChB;AAAA,QACH;AAAA,MACF;AAAA,IAAA,GAGI2B,IAAaC,EAAS,OAKnB;AAAA,MACL,OALc;AAAA,QACd,qBAAqB5B,EAAM;AAAA,QAC3B,CAAC,qBAAqBA,EAAM,KAAK,EAAE,GAAGA,EAAM;AAAA,MAAA;AAAA,IAGrC,EAEV,GAEK6B,IAAUvB,EAAI,EAAK,GACnBwB,IAAOxB,EAAI,EAAK,GAChByB,IAAUzB,EAAI,EAAK,GACnB0B,IAAS1B,EAAI,EAAI,GAEjB2B,IAAkBL,EAAS,MAAM;AACjC,UAAAR,EAAe,MAAM,OAAO;AAC9B,cAAM,EAAE,GAAAc,GAAG,GAAAC,EAAE,IAAIf,EAAe,MAAM;AAC/B,eAAA;AAAA,UACL,OAAO;AAAA,YACL,MAAM,GAAGc,CAAC;AAAA,YACV,KAAK,GAAGC,CAAC;AAAA,UACX;AAAA,QAAA;AAAA,MAEJ;AAAA,IAAA,CACD,GAEKC,IAAiBR,EAAS,MAAM;AACpC,YAAMS,IAA4B;AAAA,QAChC,GAAGnB,EAAe;AAAA,QAClB,oBAAoB,GAAGlB,EAAM,kBAAkB;AAAA,MAAA;AAEjD,UAAIA,EAAM,OAAO;AACX,YAAAsC;AAEA,YAAA,OAAOtC,EAAM,SAAU,YAAY,OAAO,MAAM,OAAOA,EAAM,KAAK,CAAC;AACrE,cAAIA,EAAM,MAAM,SAAS,GAAG,GAAG;AAC7B,gBAAI,CAACK,EAAQ;AAAO;AACZ,YAAAiC,IAAA,GACNjC,EAAQ,MAAM,eAAe,CAACL,EAAM,MAAM,QAAQ,KAAK,EAAE,IAAI,IAC/D;AAAA,UAAA;AAEA,YAAAsC,IAAQtC,EAAM;AAAA;AAGR,UAAAsC,IAAA,GAAGtC,EAAM,KAAK;AAExB,QAAAqC,EAAK,QAAQC;AAAA,MACf;AACO,aAAAD;AAAA,IAAA,CACR,GAEKE,IAAc,YAAY;AAC9B,MAAAP,EAAO,QAAQ,IACfD,EAAQ,QAAQ,IAChBF,EAAQ,QAAQ,IAChB,MAAMW,EAAK,EAAE,GACbV,EAAK,QAAQ,IACbD,EAAQ,QAAQ;AAAA,IAAA,GAGZd,IAAe,YAAY;AAC/B,MAAAe,EAAK,QAAQ,IACbD,EAAQ,QAAQ,IAChBE,EAAQ,QAAQ,IACV,MAAAS,EAAKxC,EAAM,kBAAkB,GACnC+B,EAAQ,QAAQ,IAChBC,EAAO,QAAQ;AAAA,IAAA,GAEXS,IAAgBnC,EAAI,EAAK,GACzBoC,IAAiB,YAAY;AACjC,UAAIZ,EAAK,OAAO;AACd,cAAMf,EAAa,GACNE,KACbhB,EAAK,QAAQ;AACb;AAAA,MACF;AACI,UAAA4B,EAAQ,SAAS7B,EAAM;AAAU;AACrC,MAAAyC,EAAc,QAAQ,IACtB,MAAMF,EAAY;AACd,UAAAI,IAAc3C,EAAM,eAAe;AAE9B,MAAAS,EAAA;AAAA,QACP,gBAAgB,MAAM;AACpB,cAAIF,EAAQ,OAAO;AACjB,kBAAMM,IAASN,EAAQ,MAAM,cAAcoC,CAAW;AACtD,YAAI9B,aAAkB,gBACpBA,EAAO,MAAM,GACbZ,EAAK,OAAO;AAAA,UAEhB;AAAA,QACF;AAAA,MAAA,CACD;AAAA,IAAA,GAGGgB,IAAe,MAAM;;AACzB,YAAM2B,KAAU9B,IAAAT,EAAQ,UAAR,gBAAAS,EAAe,cAAc,0BAA0BV,CAAE;AACzE,MAAIwC,aAAmB,eACrBA,EAAQ,MAAM;AAAA,IAChB,GAGIC,IAAe,YAAY;AACpB,MAAAnC,KACX,MAAMK,EAAa,GACNE,KACbhB,EAAK,QAAQ;AAAA,IAAA;AAGR,WAAA,CAAC6C,GAAUC,OACRC,EAAc,GAAAC,EAAoB,QAAQC,EAAY,EAAE,OAAO,aAAa,GAAGvB,EAAW,KAAK,GAAG;AAAA,MACxGwB,EAAoB,QAAQ;AAAA,QAC1B,OAAO;AAAA,QACP,SAAS;AAAA,QACT,KAAK9C;AAAA,MAAA,GACJ;AAAA,QACD+C,EAAYN,EAAK,QAAQ,aAAaO,EAAgBC,EAAoB;AAAA,UACtE,OAAO;AAAA,YACL,iBAAiB,WAAWlD,CAAE;AAAA,YAC9B,iBAAiB0B,EAAK;AAAA,YACtB,SAASY;AAAA,YACT,IAAAtC;AAAA,YACA,UAAU,CAAC,CAAC0C,EAAK;AAAA,UACnB;AAAA,UACA,QAAQd,EAAO;AAAA,UACf,SAASD,EAAQ;AAAA,UACjB,UAAU,CAAC,CAACe,EAAK;AAAA,UACjB,MAAMhB,EAAK;AAAA,UACX,SAASD,EAAQ;AAAA,UACjB,WAAW0B,EAAOpC,CAAS;AAAA,QAC5B,CAAA,CAAC,CAAC;AAAA,SACJ,GAAG;AAAA,OACL6B,KAAcQ,EAAaC,GAAW,EAAE,IAAI,UAAU;AAAA,QACrDN,EAAoB,QAAQ;AAAA,UAC1B,OAAOO,EAAgB,CAAC,gCAAgC;AAAA,YACtD,CAAC,iCAAiCH,EAAOpC,CAAS,CAAC,EAAE,GAAG;AAAA,YACxD,CAAC,iCAAiC2B,EAAK,KAAK,EAAE,GAAGA,EAAK;AAAA,YACtD,wCAAwCd,EAAO;AAAA,YAC/C,yCAAyCD,EAAQ;AAAA,YACjD,yCAAyCF,EAAQ;AAAA,YACjD,sCAAsCC,EAAK;AAAA,UAAA,CAC5C,CAAC;AAAA,UACF,SAAS;AAAA,UACT,KAAKvB;AAAA,UACL,OAAOoD,EAAgBvB,EAAe,KAAK;AAAA,UAC3C,IAAI,WAAWhC,CAAE;AAAA,QAAA,GAChB;AAAA,UACAqC,EAAc,SAASK,EAAK,SACxBE,KAAcC,EAAoB,QAAQC,EAAY;AAAA,YACrD,KAAK;AAAA,YACL,OAAO;AAAA,YACP,SAAS;AAAA,YACT,KAAK1C;AAAA,UAAA,GACJyB,EAAgB,KAAK,GAAG,MAAM,EAAE,KACnC2B,EAAoB,IAAI,EAAI;AAAA,UAC/BnB,EAAc,SAASK,EAAK,SACxBE,KAAcC,EAAoB,QAAQxD,IAAY;AAAA,YACpDqD,EAAK,aACDE,KAAcQ,EAAaK,GAAY;AAAA,cACtC,KAAK;AAAA,cACL,OAAO;AAAA,cACP,SAAShB;AAAA,YAAA,GACR;AAAA,cACD,SAASiB,EAAS,MAAM;AAAA,gBACtBpE;AAAA,gBACAC;AAAA,cAAA,CACD;AAAA,cACD,GAAG;AAAA,YAAA,CACJ,KACDiE,EAAoB,IAAI,EAAI;AAAA,YAChCR,EAAYN,EAAK,QAAQ,WAAW;AAAA,cAClC,OAAOD;AAAA,cACP,QAAQb,EAAO;AAAA,cACf,SAASD,EAAQ;AAAA,cACjB,UAAU,CAAC,CAACe,EAAK;AAAA,cACjB,MAAMhB,EAAK;AAAA,cACX,SAASD,EAAQ;AAAA,cACjB,WAAW0B,EAAOpC,CAAS;AAAA,YAAA,CAC5B;AAAA,UAAA,CACF,KACDyC,EAAoB,IAAI,EAAI;AAAA,QAAA,GAC/B,IAAIpE,EAAU;AAAA,MAAA,CAClB;AAAA,OACA,EAAE;AAAA,EAEP;AAEA,CAAC;"}
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 "./index196.js";
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",