bitboss-ui 2.1.36 → 2.1.38

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 (176) hide show
  1. package/dist/components/BbTab/BbTab.vue.d.ts +12 -5
  2. package/dist/index.css +1 -1
  3. package/dist/index106.js +9 -9
  4. package/dist/index111.js +1 -1
  5. package/dist/index113.js +1 -1
  6. package/dist/index119.js +59 -58
  7. package/dist/index121.js +12 -12
  8. package/dist/index129.js +1 -1
  9. package/dist/index13.js +1 -1
  10. package/dist/index131.js +6 -6
  11. package/dist/index135.js +2 -2
  12. package/dist/index139.js +1 -1
  13. package/dist/index141.js +1 -1
  14. package/dist/index142.js +2 -2
  15. package/dist/index15.js +5 -5
  16. package/dist/index17.js +3 -3
  17. package/dist/index19.js +8 -8
  18. package/dist/index21.js +16 -16
  19. package/dist/index212.js +2 -2
  20. package/dist/index214.js +2 -2
  21. package/dist/index215.js +7 -2
  22. package/dist/index216.js +2 -5
  23. package/dist/index217.js +5 -5
  24. package/dist/index218.js +4 -4
  25. package/dist/index219.js +5 -5
  26. package/dist/index220.js +4 -4
  27. package/dist/index221.js +5 -5
  28. package/dist/index222.js +5 -5
  29. package/dist/index223.js +2 -3
  30. package/dist/index224.js +2 -2
  31. package/dist/index225.js +2 -8
  32. package/dist/index226.js +12 -249
  33. package/dist/index227.js +18 -50
  34. package/dist/index228.js +117 -40
  35. package/dist/index23.js +12 -12
  36. package/dist/index230.js +80 -54
  37. package/dist/index232.js +27 -181
  38. package/dist/index233.js +17 -3
  39. package/dist/index234.js +49 -32
  40. package/dist/index235.js +15 -4
  41. package/dist/index236.js +3 -2
  42. package/dist/index237.js +12 -2
  43. package/dist/index238.js +16 -2
  44. package/dist/index239.js +3 -2
  45. package/dist/index240.js +34 -7
  46. package/dist/index241.js +3 -6
  47. package/dist/index242.js +197 -7
  48. package/dist/index244.js +5 -2
  49. package/dist/index245.js +5 -20
  50. package/dist/index246.js +6 -119
  51. package/dist/index247.js +252 -0
  52. package/dist/index248.js +52 -4
  53. package/dist/index249.js +38 -191
  54. package/dist/index25.js +3 -3
  55. package/dist/{index229.js → index250.js} +1 -1
  56. package/dist/index251.js +54 -80
  57. package/dist/index252.js +4 -0
  58. package/dist/index253.js +4 -29
  59. package/dist/index254.js +2 -17
  60. package/dist/index255.js +12 -50
  61. package/dist/index256.js +12 -14
  62. package/dist/index257.js +17 -11
  63. package/dist/index258.js +11 -15
  64. package/dist/index259.js +105 -12
  65. package/dist/index261.js +47 -53
  66. package/dist/index263.js +212 -83
  67. package/dist/index264.js +4 -0
  68. package/dist/index265.js +6 -17
  69. package/dist/index266.js +7 -12
  70. package/dist/index267.js +180 -226
  71. package/dist/index268.js +11 -10
  72. package/dist/index269.js +8 -2
  73. package/dist/index27.js +1 -1
  74. package/dist/index270.js +23 -9
  75. package/dist/index271.js +4 -23
  76. package/dist/index272.js +22 -3
  77. package/dist/index273.js +9 -22
  78. package/dist/index274.js +3 -3
  79. package/dist/index275.js +9 -6
  80. package/dist/index276.js +6 -16
  81. package/dist/index277.js +16 -9
  82. package/dist/index278.js +3 -9
  83. package/dist/index279.js +33 -8
  84. package/dist/index280.js +28 -2
  85. package/dist/index282.js +9 -33
  86. package/dist/index283.js +8 -28
  87. package/dist/index284.js +4 -0
  88. package/dist/index286.js +67 -5
  89. package/dist/index287.js +4 -7
  90. package/dist/index288.js +7 -279
  91. package/dist/index289.js +5 -2
  92. package/dist/index29.js +3 -3
  93. package/dist/index290.js +3 -15
  94. package/dist/index291.js +3 -2
  95. package/dist/index292.js +17 -16
  96. package/dist/index293.js +28 -2
  97. package/dist/index294.js +2 -19
  98. package/dist/index295.js +280 -2
  99. package/dist/index296.js +2 -15
  100. package/dist/index297.js +125 -2
  101. package/dist/index298.js +2 -19
  102. package/dist/index299.js +15 -2
  103. package/dist/index300.js +2 -27
  104. package/dist/index301.js +16 -2
  105. package/dist/index302.js +2 -2
  106. package/dist/index303.js +16 -2
  107. package/dist/index304.js +2 -2
  108. package/dist/index305.js +19 -2
  109. package/dist/index306.js +2 -28
  110. package/dist/index307.js +3 -22
  111. package/dist/index308.js +9 -0
  112. package/dist/index309.js +3 -7
  113. package/dist/index31.js +2 -2
  114. package/dist/index310.js +18 -10
  115. package/dist/index311.js +2 -5
  116. package/dist/index312.js +27 -4
  117. package/dist/index313.js +2 -6
  118. package/dist/index314.js +2 -4
  119. package/dist/index315.js +1 -1
  120. package/dist/index316.js +2 -125
  121. package/dist/index317.js +2 -2
  122. package/dist/index318.js +22 -3
  123. package/dist/index320.js +4 -3
  124. package/dist/index321.js +6 -17
  125. package/dist/index322.js +1 -1
  126. package/dist/index323.js +1 -1
  127. package/dist/index324.js +1 -1
  128. package/dist/index325.js +718 -5
  129. package/dist/index326.js +363 -715
  130. package/dist/index327.js +58 -366
  131. package/dist/{index319.js → index329.js} +1 -1
  132. package/dist/index33.js +8 -8
  133. package/dist/index330.js +5 -3
  134. package/dist/index331.js +1 -1
  135. package/dist/index332.js +227 -6
  136. package/dist/index333.js +5 -17
  137. package/dist/index334.js +34 -6
  138. package/dist/index335.js +6 -228
  139. package/dist/index336.js +128 -57
  140. package/dist/index337.js +367 -56
  141. package/dist/index338.js +7 -34
  142. package/dist/index339.js +6 -6
  143. package/dist/index340.js +7 -128
  144. package/dist/index341.js +6 -368
  145. package/dist/index342.js +18 -7
  146. package/dist/index343.js +46 -5
  147. package/dist/index344.js +57 -7
  148. package/dist/index345.js +58 -47
  149. package/dist/index346.js +1 -1
  150. package/dist/index35.js +4 -4
  151. package/dist/index37.js +18 -18
  152. package/dist/index39.js +7 -7
  153. package/dist/index41.js +2 -2
  154. package/dist/index43.js +8 -8
  155. package/dist/index45.js +6 -6
  156. package/dist/index49.js +1 -1
  157. package/dist/index53.js +1 -1
  158. package/dist/index55.js +1 -1
  159. package/dist/index57.js +2 -2
  160. package/dist/index61.js +3 -3
  161. package/dist/index67.js +1 -1
  162. package/dist/index79.js +6 -6
  163. package/dist/index81.js +1 -1
  164. package/dist/index83.js +2 -2
  165. package/dist/index85.js +46 -29
  166. package/dist/index87.js +1 -1
  167. package/dist/index90.js +3 -3
  168. package/dist/index92.js +2 -2
  169. package/dist/index94.js +5 -5
  170. package/dist/index96.js +1 -1
  171. package/package.json +1 -1
  172. package/dist/index231.js +0 -15
  173. package/dist/index243.js +0 -7
  174. package/dist/index260.js +0 -15
  175. package/dist/index281.js +0 -69
  176. package/dist/index328.js +0 -60
package/dist/index242.js CHANGED
@@ -1,9 +1,199 @@
1
- const s = (r, t) => {
2
- if (r.endsWith("."))
3
- return t === 0 ? r.slice(0, -1) : r;
4
- const [n, i] = r.split(".");
5
- return i ? `${n}.${i.slice(0, t)}` : r;
6
- };
1
+ import { defineComponent as j, ref as c, onMounted as J, watch as Q, createElementBlock as S, openBlock as _, createElementVNode as w, createTextVNode as A, createCommentVNode as E, toDisplayString as C, unref as x } from "vue";
2
+ import { hexToRgb as B } from "./index338.js";
3
+ import { getHueFromRGB as K } from "./index339.js";
4
+ import { hslToHex as y } from "./index340.js";
5
+ import { useLocale as Z } from "./index226.js";
6
+ const ee = {
7
+ id: "mainCanvasDesc",
8
+ "aria-live": "polite",
9
+ class: "sr-only"
10
+ }, te = { key: 0 }, ae = {
11
+ id: "hueCanvasDesc",
12
+ "aria-live": "polite",
13
+ class: "sr-only"
14
+ }, ne = { key: 0 }, ce = /* @__PURE__ */ j({
15
+ __name: "ColorPallette",
16
+ props: {
17
+ modelValue: {}
18
+ },
19
+ emits: ["update:modelValue"],
20
+ setup(F, { emit: N }) {
21
+ const R = F, f = N, { t: h } = Z(), o = c(R.modelValue), d = c(
22
+ y(K(...B(o.value ?? "#ff0000")), 100, 50)
23
+ ), O = c(null), s = c(null), r = c(null), l = c({ x: 0, y: 0 }), u = c({ x: 0 }), b = c(!1), k = c(!1), T = () => {
24
+ const e = s.value, t = r.value;
25
+ !e || !t || (e.width = e.offsetWidth, e.height = e.offsetHeight, t.width = t.offsetWidth, t.height = t.offsetHeight, v(), m());
26
+ }, D = () => {
27
+ const e = s.value;
28
+ return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
29
+ }, v = () => {
30
+ const e = s.value;
31
+ if (!e) return;
32
+ const t = D();
33
+ if (!t) return;
34
+ t.clearRect(0, 0, e.width, e.height);
35
+ const a = t.createLinearGradient(0, 0, e.width, 0);
36
+ a.addColorStop(0, d.value), a.addColorStop(1, "#ffffff");
37
+ const n = t.createLinearGradient(0, 0, 0, e.height);
38
+ n.addColorStop(0, "transparent"), n.addColorStop(1, "#000000"), t.fillStyle = a, t.fillRect(0, 0, e.width, e.height), t.fillStyle = n, t.globalCompositeOperation = "multiply", t.fillRect(0, 0, e.width, e.height), t.globalCompositeOperation = "source-over", t.fillStyle = "#000000", t.strokeStyle = "#000000", t.lineWidth = 1;
39
+ }, p = () => {
40
+ const e = D();
41
+ e && (e.beginPath(), e.arc(
42
+ l.value.x,
43
+ l.value.y,
44
+ 8,
45
+ 0,
46
+ 2 * Math.PI
47
+ ), e.strokeStyle = "#ffffff", e.lineWidth = 2, e.stroke(), e.beginPath(), e.arc(
48
+ l.value.x,
49
+ l.value.y,
50
+ 7,
51
+ 0,
52
+ 2 * Math.PI
53
+ ), e.strokeStyle = "#000000", e.lineWidth = 1, e.stroke(), e.globalCompositeOperation = "source-over");
54
+ }, P = () => {
55
+ const e = r.value;
56
+ return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
57
+ }, m = () => {
58
+ const e = r.value;
59
+ if (!e) return;
60
+ const t = P();
61
+ if (!t) return;
62
+ const a = t.createLinearGradient(0, 0, e.width, 0);
63
+ for (let n = 0; n <= 360; n += 60)
64
+ a.addColorStop(n / 360, `hsl(${n}, 100%, 50%)`);
65
+ a.addColorStop(1, "hsl(360, 100%, 50%)"), t.fillStyle = a, t.fillRect(0, 0, e.width, e.height), H(), t.fillStyle = "#000000", t.strokeStyle = "#000000", t.lineWidth = 1;
66
+ }, H = () => {
67
+ const e = r.value;
68
+ if (!e) return;
69
+ const t = P();
70
+ if (!t) return;
71
+ const a = 10, n = 16, i = u.value.x - a / 2, M = e.height / 2 - n / 2;
72
+ t.beginPath(), t.roundRect(i, M, a, n, 2), t.strokeStyle = "lightgray", t.stroke(), t.fillStyle = "#ffffff", t.fill();
73
+ }, q = (e) => {
74
+ s.value && (window.addEventListener("pointermove", L), window.addEventListener("pointerup", G), b.value = !0, I(e));
75
+ }, U = (e) => {
76
+ r.value && (window.addEventListener("pointermove", L), window.addEventListener("pointerup", G), k.value = !0, V(e));
77
+ }, I = (e) => {
78
+ const t = s.value;
79
+ if (!t) return;
80
+ const a = t.getBoundingClientRect(), n = Math.max(0, Math.min(t.width, e.clientX - a.left)), i = Math.max(0, Math.min(t.height, e.clientY - a.top));
81
+ l.value = { x: n, y: i }, v(), p(), o.value = g(), f("update:modelValue", o.value);
82
+ }, V = (e) => {
83
+ const t = r.value;
84
+ if (!t) return;
85
+ const a = t.getBoundingClientRect(), n = Math.max(0, Math.min(t.width, e.clientX - a.left));
86
+ u.value = { x: n };
87
+ const i = n / t.width * 360;
88
+ d.value = y(i, 100, 50), m(), v(), p(), o.value = g(), f("update:modelValue", o.value);
89
+ }, L = (e) => {
90
+ b.value ? I(e) : k.value && V(e);
91
+ }, G = () => {
92
+ b.value = !1, k.value = !1;
93
+ }, X = (e) => {
94
+ var a, n;
95
+ switch (e.key) {
96
+ case "ArrowUp":
97
+ l.value.y = Math.max(0, l.value.y - 5);
98
+ break;
99
+ case "ArrowDown":
100
+ l.value.y = Math.min(
101
+ ((a = s.value) == null ? void 0 : a.height) ?? 0,
102
+ l.value.y + 5
103
+ );
104
+ break;
105
+ case "ArrowLeft":
106
+ l.value.x = Math.max(0, l.value.x - 5);
107
+ break;
108
+ case "ArrowRight":
109
+ l.value.x = Math.min(
110
+ ((n = s.value) == null ? void 0 : n.width) ?? 0,
111
+ l.value.x + 5
112
+ );
113
+ break;
114
+ default:
115
+ return;
116
+ }
117
+ v(), p(), o.value = g(), f("update:modelValue", o.value), e.preventDefault();
118
+ }, $ = (e) => {
119
+ var n, i;
120
+ switch (e.key) {
121
+ case "ArrowLeft":
122
+ u.value.x = Math.max(0, u.value.x - 5);
123
+ break;
124
+ case "ArrowRight":
125
+ u.value.x = Math.min(
126
+ ((n = r.value) == null ? void 0 : n.width) ?? 0,
127
+ u.value.x + 5
128
+ );
129
+ break;
130
+ default:
131
+ return;
132
+ }
133
+ const a = u.value.x / (((i = r.value) == null ? void 0 : i.width) ?? 1) * 360;
134
+ d.value = y(a, 100, 50), m(), H(), v(), p(), o.value = g(), f("update:modelValue", o.value), e.preventDefault();
135
+ };
136
+ J(() => {
137
+ T(), W(o.value ?? "#ff0000");
138
+ }), Q(
139
+ () => R.modelValue,
140
+ (e) => {
141
+ !e || e === o.value || (o.value = e, W(e), m(), v());
142
+ }
143
+ );
144
+ const g = () => {
145
+ const e = s.value;
146
+ if (!e) return "#ffffff";
147
+ const t = e.getContext("2d");
148
+ if (!t) return "#ffffff";
149
+ const { x: a, y: n } = l.value, i = t.getImageData(a, n, 1, 1).data, [M, z, Y] = i;
150
+ return `#${((1 << 24) + (M << 16) + (z << 8) + Y).toString(16).slice(1)}`;
151
+ };
152
+ function W(e) {
153
+ var a;
154
+ const t = K(...B(e));
155
+ d.value = y(t, 100, 50), u.value.x = t / 360 * (((a = r.value) == null ? void 0 : a.width) ?? 0);
156
+ }
157
+ return (e, t) => (_(), S("span", {
158
+ ref_key: "paletteRef",
159
+ ref: O,
160
+ "aria-label": "Color Picker",
161
+ class: "bb-color-palette",
162
+ role: "application"
163
+ }, [
164
+ w("canvas", {
165
+ ref_key: "mainCanvasRef",
166
+ ref: s,
167
+ "aria-describedby": "mainCanvasDesc",
168
+ "aria-label": "Main Color Selection",
169
+ class: "bb-color-palette__canvas",
170
+ role: "application",
171
+ tabindex: "0",
172
+ onKeydown: X,
173
+ onPointerdown: q
174
+ }, null, 544),
175
+ w("span", ee, [
176
+ A(C(x(h)("colorInput.mainCanvasDesc")) + " ", 1),
177
+ o.value ? (_(), S("span", te, C(x(h)("colorInput.mainCanvasSelectedColor", o.value)), 1)) : E("", !0)
178
+ ]),
179
+ w("canvas", {
180
+ ref_key: "hueCanvasRef",
181
+ ref: r,
182
+ "aria-describedby": "hueCanvasDesc",
183
+ "aria-label": "Hue Selection",
184
+ class: "bb-color-palette__hue-canvas",
185
+ role: "application",
186
+ tabindex: "0",
187
+ onKeydown: $,
188
+ onPointerdown: U
189
+ }, null, 544),
190
+ w("span", ae, [
191
+ A(C(x(h)("colorInput.hueCanvasDesc")) + " ", 1),
192
+ d.value ? (_(), S("span", ne, C(x(h)("colorInput.hueCanvasSelectedHue", d.value)), 1)) : E("", !0)
193
+ ])
194
+ ], 512));
195
+ }
196
+ });
7
197
  export {
8
- s as clampPrecision
198
+ ce as default
9
199
  };
package/dist/index244.js CHANGED
@@ -1,4 +1,7 @@
1
- const n = (t) => t == null || Number.isNaN(t) || typeof t == "object" && Object.keys(t).length === 0 || typeof t == "string" && t.trim().length === 0 || t instanceof Map && [...t.keys()].length === 0 || t instanceof Set && [...t.keys()].length === 0;
1
+ import { getDefaultExportFromCjs as e } from "./index321.js";
2
+ import { __require as r } from "./index310.js";
3
+ var o = r();
4
+ const p = /* @__PURE__ */ e(o);
2
5
  export {
3
- n as isEmpty
6
+ p as default
4
7
  };
package/dist/index245.js CHANGED
@@ -1,22 +1,7 @@
1
- import { MaskInput as r } from "./index232.js";
2
- const u = /* @__PURE__ */ new WeakMap(), p = (a, n) => {
3
- if (a.arg == null || a.instance == null) return;
4
- const s = "setup" in a.instance.$.type;
5
- a.arg in a.instance ? a.instance[a.arg] = n : s && console.warn("Maska: please expose `%s` using defineExpose", a.arg);
6
- }, k = (a, n) => {
7
- var s;
8
- const t = a instanceof HTMLInputElement ? a : a.querySelector("input");
9
- if (t == null || (t == null ? void 0 : t.type) === "file") return;
10
- let e = {};
11
- if (n.value != null && (e = typeof n.value == "string" ? { mask: n.value } : { ...n.value }), n.arg != null) {
12
- const l = (o) => {
13
- const i = n.modifiers.unmasked ? o.unmasked : n.modifiers.completed ? o.completed : o.masked;
14
- p(n, i);
15
- };
16
- e.onMaska = e.onMaska == null ? l : Array.isArray(e.onMaska) ? [...e.onMaska, l] : [e.onMaska, l];
17
- }
18
- u.has(t) ? (s = u.get(t)) == null || s.update(e) : u.set(t, new r(t, e));
19
- };
1
+ import { getDefaultExportFromCjs as e } from "./index321.js";
2
+ import { __require as r } from "./index312.js";
3
+ var o = r();
4
+ const f = /* @__PURE__ */ e(o);
20
5
  export {
21
- k as vMaska
6
+ f as default
22
7
  };
package/dist/index246.js CHANGED
@@ -1,123 +1,10 @@
1
- import { defineComponent as $, mergeModels as D, useModel as E, ref as p, computed as i, watch as V, onMounted as L, createBlock as T, openBlock as w, resolveDynamicComponent as F, mergeProps as g, unref as h, withModifiers as A, withCtx as N, createElementVNode as S, createElementBlock as U, createCommentVNode as I, renderSlot as X, nextTick as j } from "vue";
2
- import { useCancelableFunction as q } from "./index338.js";
3
- import { useUntil as z } from "./index260.js";
4
- import { extractDomContainer as G } from "./index272.js";
5
- import { waitFor as H } from "./index339.js";
6
- import { useFloating as J, arrow as K } from "./index340.js";
7
- import { flip as O, offset as Q, shift as R, hide as W, autoUpdate as Y } from "./index341.js";
8
- const Z = {
9
- key: 0,
10
- class: "bb-common-popover__bubble"
11
- }, se = /* @__PURE__ */ $({
12
- __name: "CommonPopover2",
13
- props: /* @__PURE__ */ D({
14
- arrowPadding: {},
15
- eager: { type: Boolean },
16
- offset: {},
17
- padding: { default: 0 },
18
- placement: {},
19
- transitionDuration: { default: 250 },
20
- anchor: {},
21
- dialog: { type: Boolean },
22
- tag: { default: "span" },
23
- flip: { type: Boolean, default: !0 }
24
- }, {
25
- modelValue: { type: Boolean, default: !1 },
26
- modelModifiers: {}
27
- }),
28
- emits: ["update:modelValue"],
29
- setup(c) {
30
- const e = c, a = E(c, "modelValue"), u = p(a.value), x = i(() => e.dialog ? "dialog" : "span"), t = p(), m = p(), y = i(() => G(e.anchor)), _ = z(a, { initialValue: e.eager }), { floatingStyles: C, placement: P, middlewareData: d, update: f } = J(
31
- y,
32
- t,
33
- {
34
- placement: e.placement,
35
- whileElementsMounted: Y,
36
- middleware: [
37
- ...e.flip ? [O()] : [],
38
- Q(e.offset),
39
- R({ padding: e.padding }),
40
- W(),
41
- K({
42
- element: m,
43
- padding: e.arrowPadding
44
- })
45
- ],
46
- strategy: "fixed"
47
- }
48
- ), { execute: v } = q(
49
- ({ signal: o }, r) => new Promise((l) => {
50
- let s;
51
- const n = () => {
52
- s && clearTimeout(s);
53
- };
54
- o.addEventListener("abort", n), r ? (k(), f(), H(() => !!t.value).then(() => {
55
- u.value = !0, o.removeEventListener("abort", n), l(void 0);
56
- })) : (u.value = !1, s = setTimeout(() => {
57
- j(() => {
58
- t.value && (e.dialog ? t.value.close() : t.value.hidePopover()), o.removeEventListener("abort", n), f(), l(void 0);
59
- });
60
- }, e.transitionDuration));
61
- })
62
- ), k = () => {
63
- if (!t.value) return;
64
- if (!e.dialog) return t.value.showPopover();
65
- t.value.showModal();
66
- };
67
- V(a, v), L(() => {
68
- a.value && v(a.value);
69
- });
70
- const M = i(() => {
71
- var n;
72
- const o = a.value ? void 0 : -1, r = Math.round(((n = d.value.arrow) == null ? void 0 : n.x) ?? 0), l = e.dialog ? void 0 : "manual";
73
- return {
74
- style: {
75
- ...C.value,
76
- "--transition-duration": `${e.transitionDuration}ms`,
77
- "--page-padding": `${e.padding}px`,
78
- "--arrow-offset-x": `${r}px`
79
- },
80
- popover: l,
81
- tabindex: o
82
- };
83
- }), B = i(() => {
84
- if (d.value.arrow) {
85
- const { x: o, y: r } = d.value.arrow;
86
- return {
87
- style: {
88
- left: `${o}px`,
89
- top: `${r}px`
90
- }
91
- };
92
- }
93
- }), b = () => {
94
- a.value = !1;
95
- };
96
- return (o, r) => (w(), T(F(x.value), g({
97
- ref_key: "wrapper",
98
- ref: t,
99
- class: ["bb-common-popover", {
100
- "bb-common-popover--open": u.value,
101
- [`bb-common-popover--${h(P)}`]: !0
102
- }]
103
- }, M.value, {
104
- onClick: A(b, ["self"]),
105
- onClose: b
106
- }), {
107
- default: N(() => [
108
- S("span", g({
109
- ref_key: "bubblearrow",
110
- ref: m,
111
- class: "bb-common-popover__arrow"
112
- }, B.value), null, 16),
113
- h(_) ? (w(), U("span", Z, [
114
- X(o.$slots, "default")
115
- ])) : I("", !0)
116
- ]),
117
- _: 3
118
- }, 16, ["class"]));
1
+ const o = "bitboss-ui | ", e = () => ({
2
+ warn: (r) => console.warn(`${o}${r}`),
3
+ error: (r) => console.error(`${o}${r}`),
4
+ throw: (r) => {
5
+ throw new Error(`${o}${r}`);
119
6
  }
120
7
  });
121
8
  export {
122
- se as default
9
+ e as useLogger
123
10
  };
@@ -0,0 +1,252 @@
1
+ import { defineComponent as le, ref as A, computed as _, watch as ce, createElementBlock as c, openBlock as u, withKeys as f, normalizeClass as k, withModifiers as p, createVNode as ue, withCtx as fe, createElementVNode as M, Fragment as O, renderList as S, toDisplayString as C, renderSlot as L, nextTick as pe } from "vue";
2
+ import { chunk as be } from "./index341.js";
3
+ import { identity as T } from "./index223.js";
4
+ import { isNotNil as me } from "./index143.js";
5
+ import { last as ge } from "./index225.js";
6
+ import { sort as E } from "./index342.js";
7
+ import b from "./index217.js";
8
+ import he from "./index250.js";
9
+ const ye = ["onKeydown"], _e = { class: "bb-base-date-picker__header-container" }, ke = ["abbr"], Oe = ["id", "disabled", "tabindex"], Ce = /* @__PURE__ */ le({
10
+ __name: "BaseDatePickerInputDaySelector",
11
+ props: {
12
+ cursor: {},
13
+ current: { type: Boolean },
14
+ disabled: { type: Boolean },
15
+ firstDayOfWeek: {},
16
+ id: {},
17
+ modelValue: {},
18
+ max: {},
19
+ min: {},
20
+ selectable: { type: Function },
21
+ range: { type: Boolean },
22
+ multiple: { type: Boolean },
23
+ readonly: { type: Boolean }
24
+ },
25
+ emits: ["update:modelValue", "update:cursor"],
26
+ setup(N, { emit: x }) {
27
+ const a = N, s = x, g = A(null), R = b().startOf("day"), m = _(() => {
28
+ let e = 1 / 0, r = -1 / 0, o = {};
29
+ return a.modelValue && [].concat(a.modelValue).filter(T).map((i) => b(i).startOf("day")).map((i) => i.valueOf()).forEach((i, h) => {
30
+ i < e && (e = i), i > r && (r = i), o[i] = h;
31
+ }), {
32
+ min: e,
33
+ max: r,
34
+ index: (t) => o[t.valueOf()],
35
+ selected: (t) => me(o[t.valueOf()]),
36
+ isFirstOfRange: (t) => t.valueOf() === e,
37
+ isLastOfRange: (t) => t.valueOf() === r,
38
+ isBetween: (t) => t.valueOf() > e && t.valueOf() < r
39
+ };
40
+ }), K = _(() => new Array(7).fill("").map((e, r) => b().day((r + a.firstDayOfWeek) % 7)).map((e) => ({
41
+ accessibleLabel: e.format("dddd"),
42
+ label: e.format("dd").slice(0, 1).toUpperCase(),
43
+ id: e.toISOString(),
44
+ original: e
45
+ }))), v = _(() => {
46
+ const e = a.cursor.year().toString(), r = a.cursor.month().toString();
47
+ let t = a.cursor.clone().startOf("month").clone().startOf("week"), h = a.cursor.clone().endOf("month").clone().endOf("week"), Z = b(a.cursor).startOf("day"), D = [];
48
+ for (let n = t; n.isBefore(h); n = n.add(1, "day"))
49
+ D.push(n.clone());
50
+ const ee = D.map((n) => {
51
+ const y = n.toISOString(), te = n.week().toString();
52
+ let re = m.value.selected(n);
53
+ const B = a.range && m.value.isFirstOfRange(n), I = a.range && m.value.isLastOfRange(n), ae = a.range && !B && !I && m.value.isBetween(n), oe = n.month().toString() === r && n.year().toString() === e, ne = n.isSame(R), se = n.isSame(Z), ie = d(n), de = n.get("D").toString();
54
+ return {
55
+ buttonId: [a.id, y].filter(T).join("_"),
56
+ current: se,
57
+ disabled: ie,
58
+ first: B,
59
+ highlighted: oe,
60
+ id: y,
61
+ label: de,
62
+ last: I,
63
+ middle: ae,
64
+ original: n,
65
+ selected: re,
66
+ slotName: y,
67
+ today: ne,
68
+ week: te
69
+ };
70
+ });
71
+ return be(ee, 7);
72
+ }), d = (e) => {
73
+ let r = !0;
74
+ return a.min && r && (r = e.isSameOrAfter(b(a.min).startOf("day"))), a.max && r && (r = e.isSameOrBefore(b(a.max).startOf("day"))), typeof a.selectable == "function" && r && (r = a.selectable(e.toDate())), !r;
75
+ }, w = A("left"), F = (e, r) => {
76
+ e && r && (w.value = e.isBefore(r) ? "left" : "right");
77
+ };
78
+ ce(
79
+ () => a.cursor,
80
+ (e, r) => {
81
+ F(e, r);
82
+ }
83
+ );
84
+ const V = (e) => s("update:cursor", e), l = async () => {
85
+ if (!g.value) return;
86
+ await pe();
87
+ const e = ge([
88
+ ...g.value.querySelectorAll(
89
+ ".bb-base-date-picker__date--current button"
90
+ )
91
+ ]);
92
+ e instanceof HTMLElement && e.focus();
93
+ }, H = (e) => {
94
+ if (!a.readonly && e.target instanceof HTMLButtonElement) {
95
+ const [, r] = e.target.id.split("_"), o = b(r);
96
+ if (a.cursor.month() !== o.month()) {
97
+ V(o);
98
+ return;
99
+ }
100
+ const t = v.value.flat().find((i) => i.id === r);
101
+ if (t.disabled) return;
102
+ V(o), P(t);
103
+ }
104
+ }, P = (e) => {
105
+ a.range ? U(e) : a.multiple ? j(e) : W(e);
106
+ }, U = (e) => {
107
+ if (!Array.isArray(a.modelValue)) return;
108
+ const r = e.original.toISOString();
109
+ if (a.modelValue.length !== 1) s("update:modelValue", [r]);
110
+ else {
111
+ const o = E([a.modelValue[0], e.original.toISOString()]);
112
+ s("update:modelValue", o);
113
+ }
114
+ }, j = (e) => {
115
+ if (Array.isArray(a.modelValue))
116
+ if (e.selected) {
117
+ const r = e.original.toISOString(), o = a.modelValue.filter((t) => t !== r);
118
+ s("update:modelValue", o);
119
+ } else {
120
+ const r = E([...a.modelValue, e.original.toISOString()]);
121
+ s("update:modelValue", r);
122
+ }
123
+ }, W = (e) => {
124
+ e.selected ? s("update:modelValue", null) : s("update:modelValue", e.original.toISOString());
125
+ }, $ = () => {
126
+ const e = a.cursor.clone().add(1, "day");
127
+ d(e) || (s("update:cursor", e), l());
128
+ }, q = () => {
129
+ const e = a.cursor.clone().subtract(1, "day");
130
+ d(e) || (s("update:cursor", e), l());
131
+ }, z = () => {
132
+ const e = a.cursor.clone().subtract(1, "week");
133
+ d(e) || (s("update:cursor", e), l());
134
+ }, G = () => {
135
+ const e = a.cursor.clone().add(1, "week");
136
+ d(e) || (s("update:cursor", e), l());
137
+ }, J = () => {
138
+ const e = a.cursor.clone().endOf("week");
139
+ d(e) || (s("update:cursor", e), l());
140
+ }, Q = () => {
141
+ const e = a.cursor.clone().startOf("week");
142
+ d(e) || (s("update:cursor", e), l());
143
+ }, X = (e) => {
144
+ if (e.shiftKey) {
145
+ const r = a.cursor.clone().subtract(1, "year");
146
+ if (d(r)) return;
147
+ s("update:cursor", r);
148
+ } else {
149
+ const r = a.cursor.clone().subtract(1, "month");
150
+ if (d(r)) return;
151
+ s("update:cursor", r);
152
+ }
153
+ l();
154
+ }, Y = (e) => {
155
+ if (e.shiftKey) {
156
+ const r = a.cursor.clone().add(1, "year");
157
+ if (d(r)) return;
158
+ s("update:cursor", r);
159
+ } else {
160
+ const r = a.cursor.clone().add(1, "month");
161
+ if (d(r)) return;
162
+ s("update:cursor", r);
163
+ }
164
+ l();
165
+ };
166
+ return (e, r) => (u(), c("div", {
167
+ ref_key: "calendar",
168
+ ref: g,
169
+ class: k(["bb-base-date-picker__days-selector", { "bb-base-date-picker__days-selector--hidden": !e.current }]),
170
+ onKeydown: [
171
+ f(p(G, ["prevent"]), ["down"]),
172
+ f(p(J, ["prevent"]), ["end"]),
173
+ f(p(Q, ["prevent"]), ["home"]),
174
+ f(p(q, ["prevent"]), ["left"]),
175
+ f(p(Y, ["prevent"]), ["page-down"]),
176
+ f(p(X, ["prevent"]), ["page-up"]),
177
+ f(p($, ["prevent"]), ["right"]),
178
+ f(p(z, ["prevent"]), ["up"])
179
+ ]
180
+ }, [
181
+ ue(he, {
182
+ direction: w.value,
183
+ gap: 30
184
+ }, {
185
+ default: fe(() => [
186
+ (u(), c("div", {
187
+ key: e.cursor.month().toString(),
188
+ class: "bb-base-date-picker__month"
189
+ }, [
190
+ M("div", _e, [
191
+ (u(!0), c(O, null, S(K.value, (o) => (u(), c("div", {
192
+ key: o.id,
193
+ abbr: o.accessibleLabel,
194
+ class: "bb-base-date-picker__header-cell"
195
+ }, C(o.label), 9, ke))), 128))
196
+ ]),
197
+ (u(!0), c(O, null, S(v.value, (o) => (u(), c("div", {
198
+ key: o[0].id,
199
+ class: "bb-base-date-picker__week"
200
+ }, [
201
+ (u(!0), c(O, null, S(o, (t) => (u(), c("div", {
202
+ key: t.id,
203
+ class: k({
204
+ "bb-base-date-picker__date--current": t.current,
205
+ "bb-base-date-picker__date--disabled": e.disabled || t.disabled,
206
+ "bb-base-date-picker__date--first": t.first,
207
+ "bb-base-date-picker__date--highlighted": t.highlighted,
208
+ "bb-base-date-picker__date--last": t.last,
209
+ "bb-base-date-picker__date--middle": t.middle,
210
+ "bb-base-date-picker__date--selected": t.selected,
211
+ "bb-base-date-picker__date--today": t.today,
212
+ "bb-base-date-picker__date": !0
213
+ })
214
+ }, [
215
+ M("button", {
216
+ id: t.buttonId,
217
+ class: k("bb-base-date-picker__date-button"),
218
+ disabled: e.disabled || t.disabled,
219
+ tabindex: Number(t.current) - 1,
220
+ type: "button",
221
+ onClick: H
222
+ }, C(t.label), 9, Oe),
223
+ L(e.$slots, "day", {
224
+ first: t.first,
225
+ highlighted: t.highlighted,
226
+ item: t.original,
227
+ label: t.label,
228
+ last: t.last,
229
+ middle: t.middle,
230
+ selected: t.selected
231
+ }),
232
+ L(e.$slots, t.slotName, {
233
+ first: t.first,
234
+ highlighted: t.highlighted,
235
+ item: t.original,
236
+ label: t.label,
237
+ last: t.last,
238
+ middle: t.middle,
239
+ selected: t.selected
240
+ })
241
+ ], 2))), 128))
242
+ ]))), 128))
243
+ ]))
244
+ ]),
245
+ _: 3
246
+ }, 8, ["direction"])
247
+ ], 42, ye));
248
+ }
249
+ });
250
+ export {
251
+ Ce as default
252
+ };
package/dist/index248.js CHANGED
@@ -1,6 +1,54 @@
1
- function x(e) {
2
- return /^#([A-Fa-f0-9]{6})$/.test(e);
3
- }
1
+ import { defineComponent as p, ref as b, watch as _, computed as m, createElementBlock as d, openBlock as c, normalizeClass as u, createElementVNode as t, createVNode as h, withCtx as f, toDisplayString as o } from "vue";
2
+ import k from "./index250.js";
3
+ const y = { class: "bb-base-date-picker__year-container" }, v = {
4
+ "aria-live": "polite",
5
+ class: "bb-base-date-picker__selected-day-label"
6
+ }, B = { class: "bb-base-date-picker__weekday" }, D = { class: "bb-base-date-picker__monthday" }, M = { class: "bb-base-date-picker__month-button" }, C = /* @__PURE__ */ p({
7
+ __name: "BaseDatePickerHeader",
8
+ props: {
9
+ cursor: {},
10
+ disabled: { type: Boolean },
11
+ hidden: { type: Boolean }
12
+ },
13
+ emits: ["mode:year", "mode:month"],
14
+ setup(n) {
15
+ const s = n, r = b("top"), l = (e, a) => {
16
+ e && a && (r.value = e.isBefore(a) ? "top" : "bottom");
17
+ };
18
+ _(
19
+ () => s.cursor,
20
+ (e, a) => {
21
+ l(e, a);
22
+ }
23
+ );
24
+ const i = m(() => s.cursor.format("YYYY"));
25
+ return (e, a) => (c(), d("div", {
26
+ class: u(["bb-base-date-picker__header", { "bb-base-date-picker__header--hidden": e.hidden }])
27
+ }, [
28
+ t("div", y, [
29
+ h(k, {
30
+ direction: r.value,
31
+ duration: 500,
32
+ gap: 30
33
+ }, {
34
+ default: f(() => [
35
+ (c(), d("span", {
36
+ key: i.value,
37
+ "aria-live": "polite",
38
+ class: "bb-base-date-picker__year-button"
39
+ }, o(i.value), 1))
40
+ ]),
41
+ _: 1
42
+ }, 8, ["direction"])
43
+ ]),
44
+ t("div", v, [
45
+ t("span", B, o(e.cursor.format("ddd")) + ", ", 1),
46
+ t("span", D, o(e.cursor.format("DD")), 1),
47
+ t("span", M, o(e.cursor.format("MMMM")), 1)
48
+ ])
49
+ ], 2));
50
+ }
51
+ });
4
52
  export {
5
- x as isHex
53
+ C as default
6
54
  };