bitboss-ui 2.0.131 → 2.0.133

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 (156) hide show
  1. package/dist/components/BaseColorInput/BaseColorInput.vue.d.ts +100 -4
  2. package/dist/components/BaseColorInput/ColorPallette.vue.d.ts +9 -0
  3. package/dist/i18n/en.d.ts +4 -0
  4. package/dist/i18n/it.d.ts +4 -0
  5. package/dist/index100.js +8 -8
  6. package/dist/index111.js +9 -9
  7. package/dist/index119.js +2 -2
  8. package/dist/index121.js +3 -3
  9. package/dist/index123.js +1 -1
  10. package/dist/index127.js +1 -1
  11. package/dist/index128.js +1 -1
  12. package/dist/index129.js +1 -1
  13. package/dist/index133.js +2 -2
  14. package/dist/index15.js +97 -61
  15. package/dist/index17.js +3 -3
  16. package/dist/index19.js +7 -7
  17. package/dist/index208.js +1 -1
  18. package/dist/index209.js +5 -281
  19. package/dist/index21.js +7 -7
  20. package/dist/index210.js +2 -2
  21. package/dist/index211.js +2 -2
  22. package/dist/index212.js +2 -2
  23. package/dist/index213.js +16 -16
  24. package/dist/index214.js +2 -2
  25. package/dist/index217.js +1 -1
  26. package/dist/index218.js +2 -2
  27. package/dist/index219.js +1 -1
  28. package/dist/index221.js +4 -4
  29. package/dist/index223.js +2 -2
  30. package/dist/index225.js +1 -1
  31. package/dist/index227.js +3 -86
  32. package/dist/index228.js +6 -0
  33. package/dist/index229.js +197 -26
  34. package/dist/index231.js +18 -50
  35. package/dist/index232.js +27 -15
  36. package/dist/index233.js +250 -12
  37. package/dist/index234.js +52 -16
  38. package/dist/index235.js +44 -4
  39. package/dist/index236.js +5 -3
  40. package/dist/index237.js +60 -2
  41. package/dist/index238.js +2 -4
  42. package/dist/index239.js +4 -2
  43. package/dist/index240.js +2 -19
  44. package/dist/index241.js +86 -27
  45. package/dist/index243.js +28 -51
  46. package/dist/index244.js +17 -44
  47. package/dist/index245.js +51 -5
  48. package/dist/index246.js +15 -60
  49. package/dist/index247.js +12 -3
  50. package/dist/index248.js +16 -7
  51. package/dist/index249.js +3 -15
  52. package/dist/index25.js +3 -3
  53. package/dist/index250.js +7 -18
  54. package/dist/index251.js +14 -125
  55. package/dist/index252.js +17 -105
  56. package/dist/index253.js +128 -0
  57. package/dist/index254.js +53 -47
  58. package/dist/index256.js +100 -12
  59. package/dist/index258.js +11 -368
  60. package/dist/index259.js +228 -2
  61. package/dist/index260.js +369 -2
  62. package/dist/index261.js +2 -10
  63. package/dist/index262.js +2 -3
  64. package/dist/index263.js +10 -6
  65. package/dist/index264.js +3 -16
  66. package/dist/index267.js +6 -28
  67. package/dist/index268.js +16 -6
  68. package/dist/index269.js +28 -2
  69. package/dist/index27.js +1 -1
  70. package/dist/index270.js +224 -2
  71. package/dist/index271.js +281 -2
  72. package/dist/index272.js +6 -2
  73. package/dist/index273.js +2 -2
  74. package/dist/index274.js +2 -2
  75. package/dist/index275.js +2 -431
  76. package/dist/index276.js +2 -176
  77. package/dist/index277.js +2 -3
  78. package/dist/index278.js +2 -3
  79. package/dist/index279.js +433 -0
  80. package/dist/index280.js +175 -6
  81. package/dist/index281.js +3 -7
  82. package/dist/index282.js +3 -11
  83. package/dist/index284.js +7 -17
  84. package/dist/index285.js +7 -9
  85. package/dist/index286.js +11 -200
  86. package/dist/index287.js +3 -224
  87. package/dist/index289.js +2 -9
  88. package/dist/index291.js +2 -2
  89. package/dist/index292.js +1 -1
  90. package/dist/index293.js +1 -1
  91. package/dist/index294.js +1 -1
  92. package/dist/index295.js +21 -1
  93. package/dist/index297.js +202 -0
  94. package/dist/index298.js +3 -8
  95. package/dist/index299.js +17 -2
  96. package/dist/index300.js +9 -89
  97. package/dist/index301.js +7 -124
  98. package/dist/index302.js +8 -3
  99. package/dist/index303.js +2 -3
  100. package/dist/index304.js +89 -2
  101. package/dist/index305.js +117 -427
  102. package/dist/index306.js +3 -127
  103. package/dist/index307.js +3 -3
  104. package/dist/index308.js +2 -3
  105. package/dist/index309.js +429 -51
  106. package/dist/index31.js +2 -2
  107. package/dist/index310.js +127 -2
  108. package/dist/index311.js +2 -5
  109. package/dist/index312.js +5 -8
  110. package/dist/index313.js +67 -5
  111. package/dist/index314.js +3 -67
  112. package/dist/index315.js +3 -480
  113. package/dist/index316.js +57 -32
  114. package/dist/index317.js +480 -26
  115. package/dist/index318.js +5 -53
  116. package/dist/index319.js +8 -53
  117. package/dist/index320.js +57 -4
  118. package/dist/index321.js +57 -7
  119. package/dist/index322.js +7 -46
  120. package/dist/index323.js +5 -6
  121. package/dist/index324.js +8 -19
  122. package/dist/index325.js +33 -2
  123. package/dist/index326.js +28 -0
  124. package/dist/index327.js +9 -0
  125. package/dist/index328.js +6 -423
  126. package/dist/index329.js +19 -2
  127. package/dist/index33.js +7 -7
  128. package/dist/index330.js +3 -46
  129. package/dist/index331.js +49 -0
  130. package/dist/index332.js +4 -0
  131. package/dist/index335.js +4 -0
  132. package/dist/index336.js +426 -0
  133. package/dist/index337.js +49 -0
  134. package/dist/index35.js +2 -2
  135. package/dist/index37.js +15 -15
  136. package/dist/index39.js +3 -3
  137. package/dist/index41.js +2 -2
  138. package/dist/index43.js +7 -7
  139. package/dist/index45.js +4 -4
  140. package/dist/index55.js +1 -1
  141. package/dist/index57.js +2 -2
  142. package/dist/index61.js +2 -2
  143. package/dist/index79.js +2 -2
  144. package/dist/index81.js +1 -1
  145. package/dist/index84.js +2 -2
  146. package/dist/index86.js +1 -1
  147. package/dist/style.css +1 -1
  148. package/dist/utilities/functions/getHueFromRGB.d.ts +9 -0
  149. package/dist/utilities/functions/hexToRGB.d.ts +7 -0
  150. package/dist/utilities/functions/hslToHex.d.ts +1 -0
  151. package/package.json +1 -1
  152. package/dist/index230.js +0 -19
  153. package/dist/index242.js +0 -252
  154. package/dist/index257.js +0 -230
  155. package/dist/index283.js +0 -5
  156. package/dist/index296.js +0 -24
package/dist/index229.js CHANGED
@@ -1,31 +1,202 @@
1
- import { ref as a, computed as s, unref as v } from "vue";
2
- import { useDebounceFn as f } from "./index205.js";
3
- const p = (u) => {
4
- const e = a(0), r = s(() => v(u.items)), t = a([]), n = async (...l) => {
5
- if (Array.isArray(r.value))
6
- t.value = r.value;
7
- else if (typeof r.value == "function") {
8
- const i = ++e.value;
9
- try {
10
- const o = await r.value(...l);
11
- if (i < e.value) {
12
- e.value--;
1
+ import { defineComponent as j, ref as c, onMounted as J, watch as Q, openBlock as _, createElementBlock as R, createElementVNode as w, createTextVNode as B, toDisplayString as C, unref as x, createCommentVNode as K } from "vue";
2
+ import { useResizeObserver as Z } from "./index132.js";
3
+ import { hexToRgb as O } from "./index322.js";
4
+ import { getHueFromRGB as F } from "./index323.js";
5
+ import { hslToHex as y } from "./index324.js";
6
+ import { useLocale as ee } from "./index218.js";
7
+ const te = {
8
+ id: "mainCanvasDesc",
9
+ "aria-live": "polite",
10
+ class: "sr-only"
11
+ }, ae = { key: 0 }, ne = {
12
+ id: "hueCanvasDesc",
13
+ "aria-live": "polite",
14
+ class: "sr-only"
15
+ }, oe = { key: 0 }, de = /* @__PURE__ */ j({
16
+ __name: "ColorPallette",
17
+ props: {
18
+ modelValue: {}
19
+ },
20
+ emits: ["update:modelValue"],
21
+ setup(N, { emit: T }) {
22
+ const D = N, f = T, { t: h } = ee(), o = c(D.modelValue), d = c(
23
+ y(F(...O(o.value ?? "#ff0000")), 100, 50)
24
+ ), P = c(null), s = c(null), r = c(null), l = c({ x: 0, y: 0 }), u = c({ x: 0 }), b = c(!1), k = c(!1), H = () => {
25
+ const e = s.value, t = r.value;
26
+ !e || !t || (e.width = e.offsetWidth, e.height = e.offsetHeight, t.width = t.offsetWidth, t.height = t.offsetHeight, v(), m());
27
+ }, I = () => {
28
+ const e = s.value;
29
+ return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
30
+ }, v = () => {
31
+ const e = s.value;
32
+ if (!e) return;
33
+ const t = I();
34
+ if (!t) return;
35
+ t.clearRect(0, 0, e.width, e.height);
36
+ const a = t.createLinearGradient(0, 0, e.width, 0);
37
+ a.addColorStop(0, d.value), a.addColorStop(1, "#ffffff");
38
+ const n = t.createLinearGradient(0, 0, 0, e.height);
39
+ 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;
40
+ }, p = () => {
41
+ const e = I();
42
+ e && (e.beginPath(), e.arc(
43
+ l.value.x,
44
+ l.value.y,
45
+ 8,
46
+ 0,
47
+ 2 * Math.PI
48
+ ), e.strokeStyle = "#ffffff", e.lineWidth = 2, e.stroke(), e.beginPath(), e.arc(
49
+ l.value.x,
50
+ l.value.y,
51
+ 7,
52
+ 0,
53
+ 2 * Math.PI
54
+ ), e.strokeStyle = "#000000", e.lineWidth = 1, e.stroke(), e.globalCompositeOperation = "source-over");
55
+ }, V = () => {
56
+ const e = r.value;
57
+ return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
58
+ }, m = () => {
59
+ const e = r.value;
60
+ if (!e) return;
61
+ const t = V();
62
+ if (!t) return;
63
+ const a = t.createLinearGradient(0, 0, e.width, 0);
64
+ for (let n = 0; n <= 360; n += 60)
65
+ a.addColorStop(n / 360, `hsl(${n}, 100%, 50%)`);
66
+ a.addColorStop(1, "hsl(360, 100%, 50%)"), t.fillStyle = a, t.fillRect(0, 0, e.width, e.height), L(), t.fillStyle = "#000000", t.strokeStyle = "#000000", t.lineWidth = 1;
67
+ }, L = () => {
68
+ const e = r.value;
69
+ if (!e) return;
70
+ const t = V();
71
+ if (!t) return;
72
+ const a = 10, n = 16, i = u.value.x - a / 2, S = e.height / 2 - n / 2;
73
+ t.beginPath(), t.roundRect(i, S, a, n, 2), t.strokeStyle = "lightgray", t.stroke(), t.fillStyle = "#ffffff", t.fill();
74
+ }, q = (e) => {
75
+ s.value && (window.addEventListener("pointermove", A), window.addEventListener("pointerup", E), b.value = !0, G(e));
76
+ }, z = (e) => {
77
+ r.value && (window.addEventListener("pointermove", A), window.addEventListener("pointerup", E), k.value = !0, W(e));
78
+ }, G = (e) => {
79
+ const t = s.value;
80
+ if (!t) return;
81
+ 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));
82
+ l.value = { x: n, y: i }, v(), p(), o.value = g(), f("update:modelValue", o.value);
83
+ }, W = (e) => {
84
+ const t = r.value;
85
+ if (!t) return;
86
+ const a = t.getBoundingClientRect(), n = Math.max(0, Math.min(t.width, e.clientX - a.left));
87
+ u.value = { x: n };
88
+ const i = n / t.width * 360;
89
+ d.value = y(i, 100, 50), m(), v(), p(), o.value = g(), f("update:modelValue", o.value);
90
+ }, A = (e) => {
91
+ b.value ? G(e) : k.value && W(e);
92
+ }, E = () => {
93
+ b.value = !1, k.value = !1;
94
+ }, U = (e) => {
95
+ var a, n;
96
+ switch (e.key) {
97
+ case "ArrowUp":
98
+ l.value.y = Math.max(0, l.value.y - 5);
99
+ break;
100
+ case "ArrowDown":
101
+ l.value.y = Math.min(
102
+ ((a = s.value) == null ? void 0 : a.height) ?? 0,
103
+ l.value.y + 5
104
+ );
105
+ break;
106
+ case "ArrowLeft":
107
+ l.value.x = Math.max(0, l.value.x - 5);
108
+ break;
109
+ case "ArrowRight":
110
+ l.value.x = Math.min(
111
+ ((n = s.value) == null ? void 0 : n.width) ?? 0,
112
+ l.value.x + 5
113
+ );
114
+ break;
115
+ default:
13
116
  return;
14
- } else
15
- t.value = o;
16
- } catch (o) {
17
- console.error(o);
18
117
  }
19
- e.value--;
118
+ v(), p(), o.value = g(), f("update:modelValue", o.value), e.preventDefault();
119
+ }, X = (e) => {
120
+ var n, i;
121
+ switch (e.key) {
122
+ case "ArrowLeft":
123
+ u.value.x = Math.max(0, u.value.x - 5);
124
+ break;
125
+ case "ArrowRight":
126
+ u.value.x = Math.min(
127
+ ((n = r.value) == null ? void 0 : n.width) ?? 0,
128
+ u.value.x + 5
129
+ );
130
+ break;
131
+ default:
132
+ return;
133
+ }
134
+ const a = u.value.x / (((i = r.value) == null ? void 0 : i.width) ?? 1) * 360;
135
+ d.value = y(a, 100, 50), m(), L(), v(), p(), o.value = g(), f("update:modelValue", o.value), e.preventDefault();
136
+ };
137
+ J(() => {
138
+ H(), M(o.value ?? "#ff0000");
139
+ }), Z(P, () => {
140
+ H(), M(o.value ?? "#ff0000");
141
+ }), Q(
142
+ () => D.modelValue,
143
+ (e) => {
144
+ !e || e === o.value || (o.value = e, M(e), m(), v());
145
+ }
146
+ );
147
+ const g = () => {
148
+ const e = s.value;
149
+ if (!e) return "#ffffff";
150
+ const t = e.getContext("2d");
151
+ if (!t) return "#ffffff";
152
+ const { x: a, y: n } = l.value, i = t.getImageData(a, n, 1, 1).data, [S, $, Y] = i;
153
+ return `#${((1 << 24) + (S << 16) + ($ << 8) + Y).toString(16).slice(1)}`;
154
+ };
155
+ function M(e) {
156
+ var a;
157
+ const t = F(...O(e));
158
+ d.value = y(t, 100, 50), u.value.x = t / 360 * (((a = r.value) == null ? void 0 : a.width) ?? 0);
20
159
  }
21
- }, c = f(n, u.debounce || 0);
22
- return {
23
- getter: n,
24
- debouncedGetter: c,
25
- items: t,
26
- loading: s(() => !!e.value)
27
- };
28
- };
160
+ return (e, t) => (_(), R("div", {
161
+ ref_key: "paletteRef",
162
+ ref: P,
163
+ "aria-label": "Color Picker",
164
+ class: "bb-color-palette",
165
+ role: "application"
166
+ }, [
167
+ w("canvas", {
168
+ ref_key: "mainCanvasRef",
169
+ ref: s,
170
+ "aria-describedby": "mainCanvasDesc",
171
+ "aria-label": "Main Color Selection",
172
+ class: "bb-color-palette__canvas",
173
+ role: "application",
174
+ tabindex: "0",
175
+ onKeydown: U,
176
+ onPointerdown: q
177
+ }, null, 544),
178
+ w("p", te, [
179
+ B(C(x(h)("colorInput.mainCanvasDesc")) + " ", 1),
180
+ o.value ? (_(), R("span", ae, C(x(h)("colorInput.mainCanvasSelectedColor", o.value)), 1)) : K("", !0)
181
+ ]),
182
+ w("canvas", {
183
+ ref_key: "hueCanvasRef",
184
+ ref: r,
185
+ "aria-describedby": "hueCanvasDesc",
186
+ "aria-label": "Hue Selection",
187
+ class: "bb-color-palette__hue-canvas",
188
+ role: "application",
189
+ tabindex: "0",
190
+ onKeydown: X,
191
+ onPointerdown: z
192
+ }, null, 544),
193
+ w("p", ne, [
194
+ B(C(x(h)("colorInput.hueCanvasDesc")) + " ", 1),
195
+ d.value ? (_(), R("span", oe, C(x(h)("colorInput.hueCanvasSelectedHue", d.value)), 1)) : K("", !0)
196
+ ])
197
+ ], 512));
198
+ }
199
+ });
29
200
  export {
30
- p as useItemsGetter
201
+ de as default
31
202
  };
package/dist/index231.js CHANGED
@@ -1,53 +1,21 @@
1
- import { computed as c, unref as n } from "vue";
2
- import { useItemText as y } from "./index284.js";
3
- import { useItemValue as x } from "./index285.js";
4
- import { hash as w } from "./index208.js";
5
- import { useLogger as D } from "./index207.js";
6
- const { getItemText: O } = y(), { getItemValue: V } = x(), { warn: H } = D(), T = (i, d, t, a, f, u) => u ? !1 : d || i.disabled ? !0 : typeof t == "function" ? !t(i) : !!(typeof t == "boolean" && !t || a && f >= a), q = ({
7
- items: i,
8
- disabled: d,
9
- selectable: t,
10
- itemText: a,
11
- itemValue: f,
12
- selectedIndexedByHash: u,
13
- max: b = 1 / 0
14
- }) => {
15
- const v = c(() => n(d)), p = c(() => n(i)), h = c(
16
- () => Object.keys(u.value).length
17
- ), g = n(b), m = (e) => {
18
- const r = V(e, n(f)), o = w(r), l = O(e, n(a)), s = u.value[o] !== void 0, I = T(
19
- e,
20
- v.value,
21
- t,
22
- g,
23
- h.value,
24
- s
25
- );
26
- return {
27
- item: e,
28
- text: l,
29
- value: r,
30
- valueHash: o,
31
- selected: s,
32
- disabled: n(I)
1
+ import { getDefaultExportFromCjs as p, commonjsGlobal as s } from "./index272.js";
2
+ import { __module as n } from "./index289.js";
3
+ (function(u, l) {
4
+ (function(c, e) {
5
+ u.exports = e();
6
+ })(s, function() {
7
+ return function(c, e, r) {
8
+ r.updateLocale = function(f, o) {
9
+ var t = r.Ls[f];
10
+ if (t) return (o ? Object.keys(o) : []).forEach(function(a) {
11
+ t[a] = o[a];
12
+ }), t;
13
+ };
33
14
  };
34
- };
35
- return {
36
- options: c(() => {
37
- const e = [], r = /* @__PURE__ */ new Set();
38
- for (let o = 0; o < p.value.length; o++) {
39
- const l = p.value[o];
40
- l.disabled && H(
41
- "Disabling an item by passing a disabled option to the item itself is deprecated and will be removed in a future version. Use the `disabled` prop or the `selectable` iteratee prop instead."
42
- );
43
- const s = m(l);
44
- r.has(s.valueHash) || (r.add(s.valueHash), e.push(s));
45
- }
46
- return e;
47
- }),
48
- createOption: m
49
- };
50
- };
15
+ });
16
+ })(n);
17
+ var i = n.exports;
18
+ const x = /* @__PURE__ */ p(i);
51
19
  export {
52
- q as useBaseOptions
20
+ x as default
53
21
  };
package/dist/index232.js CHANGED
@@ -1,17 +1,29 @@
1
- import { isNil as f } from "./index260.js";
2
- import { computed as t, unref as o } from "vue";
3
- const a = ({ modelValue: e, iteratee: h, multiple: u }) => {
4
- const i = t(
5
- () => new Array().concat(o(e))
6
- ), s = t(() => i.value.reduce(
7
- (r, n) => (h(n) ? r.coherent.push(n) : r.incoherent.push(n), r),
8
- { coherent: [], incoherent: [] }
9
- )), c = t(() => u && !o(e).length || !u && f(o(e)) ? !0 : !s.value.incoherent.length);
10
- return {
11
- status: s,
12
- coherent: c
13
- };
14
- };
1
+ import { getDefaultExportFromCjs as c, commonjsGlobal as k } from "./index272.js";
2
+ import { __module as n } from "./index290.js";
3
+ (function(f, p) {
4
+ (function(r, e) {
5
+ f.exports = e();
6
+ })(k, function() {
7
+ var r = "week", e = "year";
8
+ return function(w, u, a) {
9
+ var o = u.prototype;
10
+ o.week = function(t) {
11
+ if (t === void 0 && (t = null), t !== null) return this.add(7 * (t - this.week()), "day");
12
+ var s = this.$locale().yearStart || 1;
13
+ if (this.month() === 11 && this.date() > 25) {
14
+ var l = a(this).startOf(e).add(1, e).date(s), d = a(this).endOf(r);
15
+ if (l.isBefore(d)) return 1;
16
+ }
17
+ var h = a(this).startOf(e).date(s).startOf(r).subtract(1, "millisecond"), i = this.diff(h, r, !0);
18
+ return i < 0 ? a(this).startOf("week").week() : Math.ceil(i);
19
+ }, o.weeks = function(t) {
20
+ return t === void 0 && (t = null), this.week(t);
21
+ };
22
+ };
23
+ });
24
+ })(n);
25
+ var m = n.exports;
26
+ const x = /* @__PURE__ */ c(m);
15
27
  export {
16
- a as useCoherence
28
+ x as default
17
29
  };
package/dist/index233.js CHANGED
@@ -1,14 +1,252 @@
1
- import { hash as e } from "./index208.js";
2
- import { debouncedWatch as s } from "./index205.js";
3
- const n = (o, c, h) => {
4
- s(
5
- o,
6
- (r, t) => {
7
- e(r) !== e(t) && c(r, t);
8
- },
9
- h
10
- );
11
- };
1
+ import { defineComponent as le, ref as A, computed as _, watch as ce, openBlock as c, createElementBlock as u, normalizeClass as k, withKeys as f, 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 "./index328.js";
3
+ import { identity as T } from "./index215.js";
4
+ import { isNotNil as me } from "./index134.js";
5
+ import { last as ge } from "./index216.js";
6
+ import { sort as E } from "./index329.js";
7
+ import b from "./index209.js";
8
+ import he from "./index236.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) => (c(), u("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
+ (c(), u("div", {
187
+ key: e.cursor.month().toString(),
188
+ class: "bb-base-date-picker__month"
189
+ }, [
190
+ M("div", _e, [
191
+ (c(!0), u(O, null, S(K.value, (o) => (c(), u("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
+ (c(!0), u(O, null, S(v.value, (o) => (c(), u("div", {
198
+ key: o[0].id,
199
+ class: "bb-base-date-picker__week"
200
+ }, [
201
+ (c(!0), u(O, null, S(o, (t) => (c(), u("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
+ });
12
250
  export {
13
- n as useHashedWatcher
251
+ Ce as default
14
252
  };