bitboss-ui 2.0.86 → 2.0.87

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 (133) hide show
  1. package/dist/components/BbTable/BbTable.vue.d.ts +4 -0
  2. package/dist/components/BbTable/types.d.ts +2 -0
  3. package/dist/index110.js +27 -27
  4. package/dist/index118.js +1 -1
  5. package/dist/index120.js +5 -5
  6. package/dist/index126.js +1 -1
  7. package/dist/index127.js +1 -1
  8. package/dist/index128.js +1 -1
  9. package/dist/index13.js +1 -1
  10. package/dist/index130.js +1 -1
  11. package/dist/index133.js +2 -2
  12. package/dist/index15.js +4 -4
  13. package/dist/index17.js +3 -3
  14. package/dist/index19.js +2 -2
  15. package/dist/index205.js +2 -5
  16. package/dist/index206.js +2 -16
  17. package/dist/index207.js +4 -16
  18. package/dist/index208.js +2 -19
  19. package/dist/index209.js +124 -17
  20. package/dist/index21.js +14 -14
  21. package/dist/index210.js +5 -27
  22. package/dist/index211.js +125 -3
  23. package/dist/index212.js +19 -2
  24. package/dist/index213.js +16 -8
  25. package/dist/index214.js +14 -247
  26. package/dist/index215.js +2 -52
  27. package/dist/index216.js +2 -44
  28. package/dist/index217.js +41 -5
  29. package/dist/index218.js +18 -58
  30. package/dist/index219.js +5 -52
  31. package/dist/index220.js +55 -0
  32. package/dist/index222.js +13 -20
  33. package/dist/index223.js +5 -4
  34. package/dist/index224.js +12 -2
  35. package/dist/index225.js +360 -155
  36. package/dist/index226.js +4 -84
  37. package/dist/index227.js +166 -0
  38. package/dist/index228.js +84 -2
  39. package/dist/index23.js +16 -16
  40. package/dist/index230.js +19 -2
  41. package/dist/index231.js +27 -3
  42. package/dist/index232.js +3 -41
  43. package/dist/index233.js +7 -5
  44. package/dist/index234.js +249 -7
  45. package/dist/index235.js +50 -10
  46. package/dist/index236.js +43 -125
  47. package/dist/index237.js +5 -125
  48. package/dist/index238.js +60 -2
  49. package/dist/index239.js +3 -5
  50. package/dist/index240.js +7 -369
  51. package/dist/index241.js +1 -1
  52. package/dist/index244.js +1 -1
  53. package/dist/index246.js +1 -1
  54. package/dist/index25.js +6 -6
  55. package/dist/index251.js +6 -281
  56. package/dist/index252.js +16 -6
  57. package/dist/index253.js +9 -2
  58. package/dist/index254.js +23 -2
  59. package/dist/index255.js +89 -2
  60. package/dist/index257.js +9 -2
  61. package/dist/index258.js +4 -2
  62. package/dist/index259.js +281 -2
  63. package/dist/index260.js +6 -2
  64. package/dist/index261.js +2 -2
  65. package/dist/index262.js +2 -2
  66. package/dist/index263.js +2 -28
  67. package/dist/index264.js +2 -22
  68. package/dist/index266.js +126 -7
  69. package/dist/index267.js +429 -7
  70. package/dist/index268.js +176 -23
  71. package/dist/index269.js +3 -89
  72. package/dist/index271.js +7 -6
  73. package/dist/index272.js +21 -15
  74. package/dist/index274.js +4 -0
  75. package/dist/index275.js +3 -176
  76. package/dist/index276.js +12 -9
  77. package/dist/index277.js +9 -3
  78. package/dist/index278.js +9 -12
  79. package/dist/index279.js +16 -8
  80. package/dist/index280.js +4 -9
  81. package/dist/index281.js +434 -15
  82. package/dist/index282.js +126 -3
  83. package/dist/index283.js +199 -3
  84. package/dist/index284.js +2 -431
  85. package/dist/index285.js +2 -2
  86. package/dist/index286.js +2 -89
  87. package/dist/index287.js +2 -2
  88. package/dist/index288.js +2 -126
  89. package/dist/index289.js +1 -21
  90. package/dist/index29.js +3 -3
  91. package/dist/index290.js +30 -0
  92. package/dist/index291.js +21 -199
  93. package/dist/index293.js +81 -428
  94. package/dist/index294.js +218 -121
  95. package/dist/index297.js +1 -1
  96. package/dist/index301.js +4 -5
  97. package/dist/index302.js +4 -8
  98. package/dist/index303.js +59 -3
  99. package/dist/index304.js +3 -4
  100. package/dist/index305.js +33 -4
  101. package/dist/index306.js +7 -4
  102. package/dist/index307.js +4 -58
  103. package/dist/index308.js +7 -6
  104. package/dist/index309.js +6 -18
  105. package/dist/index31.js +2 -2
  106. package/dist/index310.js +18 -32
  107. package/dist/index311.js +3 -6
  108. package/dist/{index315.js → index316.js} +1 -1
  109. package/dist/index33.js +2 -2
  110. package/dist/index35.js +3 -3
  111. package/dist/index37.js +10 -10
  112. package/dist/index39.js +3 -3
  113. package/dist/index41.js +2 -2
  114. package/dist/index43.js +2 -2
  115. package/dist/index45.js +4 -4
  116. package/dist/index47.js +2 -2
  117. package/dist/index49.js +2 -2
  118. package/dist/index55.js +1 -1
  119. package/dist/index57.js +1 -1
  120. package/dist/index75.js +3 -3
  121. package/dist/index79.js +2 -2
  122. package/dist/index81.js +1 -1
  123. package/dist/index84.js +3 -3
  124. package/dist/index86.js +1 -1
  125. package/dist/index88.js +3 -3
  126. package/dist/index90.js +1 -1
  127. package/dist/style.css +1 -1
  128. package/package.json +2 -2
  129. package/dist/index221.js +0 -15
  130. package/dist/index229.js +0 -6
  131. package/dist/index273.js +0 -5
  132. package/dist/index292.js +0 -226
  133. /package/dist/{index256.js → index265.js} +0 -0
@@ -0,0 +1,166 @@
1
+ import { ref as s, computed as a, onServerPrefetch as $, onBeforeMount as ee, onBeforeUnmount as te, watch as b, nextTick as Q } from "vue";
2
+ import { last as le } from "./index216.js";
3
+ import { useArray as E } from "./index276.js";
4
+ import { uniqBy as ne } from "./index277.js";
5
+ import { useItemValue as ue } from "./index278.js";
6
+ import { useItemText as oe } from "./index279.js";
7
+ import { hash as f } from "./index232.js";
8
+ import { isNotNil as F } from "./index134.js";
9
+ import { waitFor as ie } from "./index219.js";
10
+ import { isNil as se } from "./index129.js";
11
+ import { pipe as H } from "./index280.js";
12
+ const xe = (t) => {
13
+ const r = s(""), P = s(), o = (e) => {
14
+ P.value = e, t.emit("update:modelValue", e);
15
+ }, m = s([]), {
16
+ array: k,
17
+ add: j,
18
+ remove: J,
19
+ set: h
20
+ } = E(), {
21
+ array: O,
22
+ add: L,
23
+ remove: U
24
+ } = E(), { getItemText: z } = oe(), { getItemValue: G } = ue();
25
+ if (t.max && t.max < 1)
26
+ throw new Error("Invalid value for `max` property");
27
+ const B = (e) => {
28
+ const l = !!(t.disabled.value || e.disabled), n = z(e, t.itemText), u = G(e, t.itemValue);
29
+ if (u === void 0)
30
+ throw new Error(
31
+ 'The result of extracting "value" from option was undefined. Affected item is ' + JSON.stringify(e) + " please check itemValue property is correct."
32
+ );
33
+ const _ = f(u);
34
+ return {
35
+ item: e,
36
+ text: n,
37
+ value: u,
38
+ valueHash: _,
39
+ disabled: l,
40
+ selected: !1
41
+ };
42
+ }, V = (e) => (e.selected = F(q.value[e.valueHash]), e), K = t.max || 1 / 0, g = (e) => (e.disabled = e.disabled || t.multiple && t.modelValue.value.length >= K && !e.selected, e), x = a(() => {
43
+ const e = [].concat(
44
+ m.value.map(H(B, V, g)),
45
+ O.value.map(H(V, g)),
46
+ k.value.map(H(V, g))
47
+ );
48
+ return ne(e, (n) => n.valueHash);
49
+ }), R = (e) => {
50
+ t.multiple ? (o(t.modelValue.value.concat(e.value)), t.stash && j(e), t.resetQueryOnOptionSelected && i()) : (t.stash && h(e), o(e.value), Q(() => i()));
51
+ }, W = async (e) => {
52
+ if (U((l) => l.valueHash !== e.valueHash), J((l) => l.valueHash !== e.valueHash), t.multiple) {
53
+ const l = { ...q.value };
54
+ delete l[e.valueHash], o(Object.values(l));
55
+ } else
56
+ o(null), await Q(), i();
57
+ }, q = a(() => {
58
+ const e = {}, l = [].concat(t.modelValue.value);
59
+ for (let n = 0; n < l.length; n++) {
60
+ const u = l[n];
61
+ e[f(u)] = u;
62
+ }
63
+ return e;
64
+ }), I = async ({ prefill: e = !1 }) => {
65
+ let l = [];
66
+ if (Array.isArray(t.items.value))
67
+ l = t.items.value;
68
+ else if (typeof t.items.value == "function") {
69
+ const n = ++d.value;
70
+ try {
71
+ l = await t.items.value(
72
+ r.value,
73
+ e,
74
+ t.modelValue.value
75
+ ), n < d.value && (await ie(() => n === d.value), l = m.value);
76
+ } catch (u) {
77
+ console.error(u);
78
+ }
79
+ d.value--;
80
+ }
81
+ m.value = l;
82
+ }, C = a(() => {
83
+ const e = {};
84
+ for (let l = 0; l < x.value.length; l++) {
85
+ const n = x.value[l], { valueHash: u } = n;
86
+ e[u] = n;
87
+ }
88
+ return {
89
+ get: (l) => e[f(l)]
90
+ };
91
+ }), c = a(() => [].concat(t.modelValue.value).reduce((e, l) => {
92
+ const n = C.value.get(l);
93
+ return n && e.push(n), e;
94
+ }, [])), M = (e) => F(C.value.get(e)), i = () => {
95
+ if (t.multiple) {
96
+ r.value = "";
97
+ return;
98
+ }
99
+ let e;
100
+ c.value && (e = le(c.value)), r.value = (e == null ? void 0 : e.text) || "";
101
+ }, X = () => {
102
+ const e = r.value.trim(), l = B(e);
103
+ L(l), i();
104
+ }, d = s(0), A = a(() => [].concat(t.modelValue.value).reduce(
105
+ (e, l) => (M(l) ? e.coherent.push(l) : e.incoherent.push(l), e),
106
+ { coherent: [], incoherent: [] }
107
+ )), D = a(() => t.multiple && !t.modelValue.value.length || !t.multiple && se(t.modelValue.value) ? !0 : !A.value.incoherent.length), Y = () => {
108
+ t.enforceCoherence && !D.value && (t.multiple ? o(A.value.coherent) : o(null));
109
+ }, y = s(!1), w = s(!1), v = async () => {
110
+ w.value = !0, await I({ prefill: !0 }), Y(), i(), y.value = !0, w.value = !1;
111
+ };
112
+ $(async () => {
113
+ t.prefill && (await v(), t.stash && h(...c.value));
114
+ }), ee(async () => {
115
+ t.prefill && !y.value && (await v(), t.stash && h(...c.value));
116
+ });
117
+ let T;
118
+ const Z = () => {
119
+ T && clearTimeout(T), T = setTimeout(async () => {
120
+ try {
121
+ await I({ prefill: !1 });
122
+ } catch (e) {
123
+ console.error(e);
124
+ }
125
+ }, t.queryDebounceTime);
126
+ };
127
+ te(() => clearTimeout(T));
128
+ let p;
129
+ b(
130
+ () => t.modelValue.value,
131
+ () => {
132
+ D.value || (p && clearTimeout(p), p = setTimeout(async () => {
133
+ v();
134
+ }, t.modelValueDebounceTime));
135
+ }
136
+ );
137
+ let S;
138
+ const N = async (e, l) => {
139
+ f(l) !== f(e) && y.value && (S && clearTimeout(S), S = setTimeout(async () => {
140
+ await v();
141
+ }, t.depsDebounceTime));
142
+ };
143
+ return b(() => t.items.value, N), b(() => t.dependencies.value, N), {
144
+ addCurrentQueryToManualItems: X,
145
+ alignQueryToState: i,
146
+ getOptions: I,
147
+ hasPrefilled: y,
148
+ innerLoading: d,
149
+ isPrefilling: w,
150
+ manualItems: O,
151
+ options: x,
152
+ prefillItems: v,
153
+ query: r,
154
+ searchByQuery: Z,
155
+ selectedOptions: c,
156
+ selectOption: R,
157
+ setStash: h,
158
+ unselectOption: W,
159
+ updateModelValue: o,
160
+ valueIsSelected: M,
161
+ internalItems: m
162
+ };
163
+ };
164
+ export {
165
+ xe as useOptions
166
+ };
package/dist/index228.js CHANGED
@@ -1,4 +1,86 @@
1
- const s = (r) => !!r && !!r.match(/^(#|var\(--|(rgb|hsl)a?\()/);
1
+ import { defineComponent as b, openBlock as t, createElementBlock as n, normalizeClass as r, createElementVNode as l, renderSlot as s, createTextVNode as o, toDisplayString as d, createCommentVNode as h, Fragment as c, renderList as m } from "vue";
2
+ const p = { class: "bb-cr-container__container" }, u = {
3
+ key: 0,
4
+ class: "bb-cr-container__loading-container"
5
+ }, g = {
6
+ key: 1,
7
+ class: "bb-cr-container__no-data-container"
8
+ }, f = /* @__PURE__ */ b({
9
+ __name: "OptionsContainer",
10
+ props: {
11
+ direction: {},
12
+ hasErrors: { type: Boolean },
13
+ hideLabel: { type: Boolean },
14
+ loadingText: {},
15
+ loading: { type: Boolean },
16
+ noDataText: {},
17
+ options: {}
18
+ },
19
+ setup(k) {
20
+ return (a, y) => (t(), n("span", {
21
+ ref: "container",
22
+ class: r(["bb-cr-container", {
23
+ "bb-cr-container--errors": a.hasErrors,
24
+ "bb-cr-container--horizontal": a.direction === "horizontal",
25
+ "bb-cr-container--vertical": a.direction === "vertical"
26
+ }])
27
+ }, [
28
+ l("span", p, [
29
+ s(a.$slots, "prepend"),
30
+ !a.options.length && a.loading ? (t(), n("span", u, [
31
+ s(a.$slots, "loading", {}, () => [
32
+ o(d(a.loadingText), 1)
33
+ ])
34
+ ])) : a.options.length ? h("", !0) : (t(), n("span", g, [
35
+ s(a.$slots, "no-data", {}, () => [
36
+ o(d(a.noDataText), 1)
37
+ ])
38
+ ])),
39
+ (t(!0), n(c, null, m(a.options, (e, i) => (t(), n(c, {
40
+ key: (e == null ? void 0 : e.valueHash) || i
41
+ }, [
42
+ s(a.$slots, "option:prepend", {
43
+ id: e.valueHash,
44
+ checked: !!e.selected,
45
+ disabled: !!e.disabled,
46
+ item: e.item,
47
+ text: e.text
48
+ }),
49
+ l("label", {
50
+ class: r(["bb-cr-container-option", { "bb-base-radio-selected": e.selected }])
51
+ }, [
52
+ s(a.$slots, "input", {
53
+ index: i,
54
+ option: e
55
+ }),
56
+ l("span", {
57
+ class: r({
58
+ "bb-cr-container-option__text": !0,
59
+ "sr-only": a.hideLabel
60
+ })
61
+ }, [
62
+ s(a.$slots, "label", {
63
+ checked: !!e.selected,
64
+ item: e.item,
65
+ text: e.text
66
+ }, () => [
67
+ o(d(e.text), 1)
68
+ ])
69
+ ], 2)
70
+ ], 2),
71
+ s(a.$slots, "option:append", {
72
+ id: e.valueHash,
73
+ checked: !!e.selected,
74
+ disabled: !!e.disabled,
75
+ item: e.item,
76
+ text: e.text
77
+ })
78
+ ], 64))), 128)),
79
+ s(a.$slots, "append")
80
+ ])
81
+ ], 2));
82
+ }
83
+ });
2
84
  export {
3
- s as isCssColor
85
+ f as default
4
86
  };
package/dist/index23.js CHANGED
@@ -1,27 +1,27 @@
1
1
  import { defineComponent as te, ref as o, computed as v, watch as ae, openBlock as w, createBlock as V, normalizeClass as B, withCtx as n, renderSlot as d, createVNode as E, withDirectives as oe, createElementVNode as i, mergeProps as I, unref as c, withModifiers as re, toDisplayString as ne, normalizeStyle as le, KeepAlive as ie, createCommentVNode as F } from "vue";
2
- import { useFloating as se } from "./index236.js";
3
- import r from "./index205.js";
4
- import ue from "./index237.js";
5
- import de from "./index208.js";
6
- import ce from "./index206.js";
7
- import pe from "./index207.js";
8
- import { identity as me } from "./index238.js";
9
- import { last as fe } from "./index212.js";
10
- import { useFocusTrap as be } from "./index232.js";
2
+ import { useFloating as se } from "./index209.js";
3
+ import r from "./index210.js";
4
+ import ue from "./index211.js";
5
+ import de from "./index212.js";
6
+ import ce from "./index213.js";
7
+ import pe from "./index214.js";
8
+ import { identity as me } from "./index215.js";
9
+ import { last as fe } from "./index216.js";
10
+ import { useFocusTrap as be } from "./index217.js";
11
11
  import { useId as ve } from "./index8.js";
12
12
  import { useIntersectionObserver as ye } from "./index132.js";
13
13
  import { useMobile as ge } from "./index9.js";
14
- import { vMaska as ke } from "./index222.js";
14
+ import { vMaska as ke } from "./index218.js";
15
15
  import { wait as Me } from "./index131.js";
16
- import { waitFor as he } from "./index233.js";
16
+ import { waitFor as he } from "./index219.js";
17
17
  import we from "./index21.js";
18
18
  /* empty css */
19
- import Ve from "./index219.js";
19
+ import Ve from "./index220.js";
20
20
  /* empty css */
21
- import Ce from "./index221.js";
22
- import Ye from "./index239.js";
23
- import Ae from "./index235.js";
24
- import { autoUpdate as De, flip as Se, offset as $e, shift as _e, hide as Oe } from "./index240.js";
21
+ import Ce from "./index222.js";
22
+ import Ye from "./index223.js";
23
+ import Ae from "./index224.js";
24
+ import { autoUpdate as De, flip as Se, offset as $e, shift as _e, hide as Oe } from "./index225.js";
25
25
  const Be = ["id", "aria-describedby", "autocomplete", "autofocus", "data-maska", "disabled", "inputmode", "name", "placeholder", "readonly", "required", "value"], Ee = ["aria-label", "disabled"], Ie = ["id"], nt = /* @__PURE__ */ te({
26
26
  __name: "BaseDatePickerInput",
27
27
  props: {
package/dist/index230.js CHANGED
@@ -1,4 +1,21 @@
1
- const o = (e) => typeof e == "boolean" ? e : e === "true";
1
+ import { getDefaultExportFromCjs as p, commonjsGlobal as s } from "./index260.js";
2
+ import { __module as n } from "./index284.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
+ };
14
+ };
15
+ });
16
+ })(n);
17
+ var i = n.exports;
18
+ const x = /* @__PURE__ */ p(i);
2
19
  export {
3
- o as booleanishToBoolean
20
+ x as default
4
21
  };
package/dist/index231.js CHANGED
@@ -1,5 +1,29 @@
1
- import t from "./index286.js";
2
- const r = t;
1
+ import { getDefaultExportFromCjs as c, commonjsGlobal as k } from "./index260.js";
2
+ import { __module as n } from "./index285.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);
3
27
  export {
4
- r as throttle
28
+ x as default
5
29
  };
package/dist/index232.js CHANGED
@@ -1,43 +1,5 @@
1
- import { unrefElement as A } from "./index132.js";
2
- import { toValue as n, notNullish as g, tryOnScopeDispose as y } from "./index204.js";
3
- import { ref as i, computed as D, watch as F } from "vue";
4
- import { createFocusTrap as T } from "./index284.js";
5
- function E(f, a = {}) {
6
- let e;
7
- const { immediate: l, ...p } = a, r = i(!1), s = i(!1), c = (t) => e && e.activate(t), u = (t) => e && e.deactivate(t), v = () => {
8
- e && (e.pause(), s.value = !0);
9
- }, m = () => {
10
- e && (e.unpause(), s.value = !1);
11
- }, d = D(() => {
12
- const t = n(f);
13
- return (Array.isArray(t) ? t : [t]).map((h) => {
14
- const o = n(h);
15
- return typeof o == "string" ? o : A(o);
16
- }).filter(g);
17
- });
18
- return F(
19
- d,
20
- (t) => {
21
- t.length && (e = T(t, {
22
- ...p,
23
- onActivate() {
24
- r.value = !0, a.onActivate && a.onActivate();
25
- },
26
- onDeactivate() {
27
- r.value = !1, a.onDeactivate && a.onDeactivate();
28
- }
29
- }), l && c());
30
- },
31
- { flush: "post" }
32
- ), y(() => u()), {
33
- hasFocus: r,
34
- isPaused: s,
35
- activate: c,
36
- deactivate: u,
37
- pause: v,
38
- unpause: m
39
- };
40
- }
1
+ import { hash as o } from "./index290.js";
2
+ const t = (r, h = "bb") => `${h}${o(r)}`;
41
3
  export {
42
- E as useFocusTrap
4
+ t as hash
43
5
  };
package/dist/index233.js CHANGED
@@ -1,8 +1,10 @@
1
- const o = (e, t = 50) => new Promise((r) => {
2
- const n = setInterval(() => {
3
- e() && (clearInterval(n), r());
4
- }, t);
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}`);
6
+ }
5
7
  });
6
8
  export {
7
- o as waitFor
9
+ e as useLogger
8
10
  };
package/dist/index234.js CHANGED
@@ -1,9 +1,251 @@
1
- import { ref as e } from "vue";
2
- const o = e(0), s = () => {
3
- o.value++;
4
- }, a = () => {
5
- o.value--;
6
- }, d = () => ({ openedModals: o, modalHasOpened: s, modalHasClosed: a });
1
+ import { defineComponent as de, ref as A, computed as _, watch as le, openBlock as c, createElementBlock as u, normalizeClass as k, withKeys as f, withModifiers as p, createVNode as ce, withCtx as ue, createElementVNode as M, Fragment as O, renderList as S, toDisplayString as C, renderSlot as L, nextTick as fe } from "vue";
2
+ import { chunk as pe } from "./index309.js";
3
+ import { identity as be } from "./index215.js";
4
+ import { isNotNil as me } from "./index134.js";
5
+ import { last as ge } from "./index216.js";
6
+ import { sort as T } from "./index310.js";
7
+ import b from "./index210.js";
8
+ import he from "./index237.js";
9
+ const ye = ["onKeydown"], _e = { class: "bb-base-date-picker__header-container" }, ke = ["abbr"], Oe = ["id", "disabled", "tabindex"], Ce = /* @__PURE__ */ de({
10
+ __name: "BaseDatePickerInputDaySelector",
11
+ props: {
12
+ cursor: {},
13
+ current: { type: Boolean },
14
+ disabled: { type: Boolean },
15
+ firstDayOfWeek: {},
16
+ modelValue: {},
17
+ max: {},
18
+ min: {},
19
+ selectable: { type: Function },
20
+ range: { type: Boolean },
21
+ multiple: { type: Boolean },
22
+ readonly: { type: Boolean }
23
+ },
24
+ emits: ["update:modelValue", "update:cursor"],
25
+ setup(E, { emit: N }) {
26
+ const a = E, s = N, g = A(null), x = b().startOf("day"), m = _(() => {
27
+ let e = 1 / 0, r = -1 / 0, o = {};
28
+ return a.modelValue && [].concat(a.modelValue).filter(be).map((i) => b(i).startOf("day")).map((i) => i.valueOf()).forEach((i, h) => {
29
+ i < e && (e = i), i > r && (r = i), o[i] = h;
30
+ }), {
31
+ min: e,
32
+ max: r,
33
+ index: (t) => o[t.valueOf()],
34
+ selected: (t) => me(o[t.valueOf()]),
35
+ isFirstOfRange: (t) => t.valueOf() === e,
36
+ isLastOfRange: (t) => t.valueOf() === r,
37
+ isBetween: (t) => t.valueOf() > e && t.valueOf() < r
38
+ };
39
+ }), R = _(() => new Array(7).fill("").map((e, r) => b().day((r + a.firstDayOfWeek) % 7)).map((e) => ({
40
+ accessibleLabel: e.format("dddd"),
41
+ label: e.format("dd").slice(0, 1).toUpperCase(),
42
+ id: e.toISOString(),
43
+ original: e
44
+ }))), v = _(() => {
45
+ const e = a.cursor.year().toString(), r = a.cursor.month().toString();
46
+ let t = a.cursor.clone().startOf("month").clone().startOf("week"), h = a.cursor.clone().endOf("month").clone().endOf("week"), Y = b(a.cursor).startOf("day"), D = [];
47
+ for (let n = t; n.isBefore(h); n = n.add(1, "day"))
48
+ D.push(n.clone());
49
+ const Z = D.map((n) => {
50
+ const y = n.toISOString(), ee = n.week().toString();
51
+ let te = m.value.selected(n);
52
+ const B = a.range && m.value.isFirstOfRange(n), I = a.range && m.value.isLastOfRange(n), re = a.range && !B && !I && m.value.isBetween(n), ae = n.month().toString() === r && n.year().toString() === e, oe = n.isSame(x), ne = n.isSame(Y), se = d(n), ie = n.get("D").toString();
53
+ return {
54
+ buttonId: "date_" + y,
55
+ current: ne,
56
+ disabled: se,
57
+ first: B,
58
+ highlighted: ae,
59
+ id: y,
60
+ label: ie,
61
+ last: I,
62
+ middle: re,
63
+ original: n,
64
+ selected: te,
65
+ slotName: y,
66
+ today: oe,
67
+ week: ee
68
+ };
69
+ });
70
+ return pe(Z, 7);
71
+ }), d = (e) => {
72
+ let r = !0;
73
+ 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;
74
+ }, w = A("left"), K = (e, r) => {
75
+ e && r && (w.value = e.isBefore(r) ? "left" : "right");
76
+ };
77
+ le(
78
+ () => a.cursor,
79
+ (e, r) => {
80
+ K(e, r);
81
+ }
82
+ );
83
+ const V = (e) => s("update:cursor", e), l = async () => {
84
+ if (!g.value) return;
85
+ await fe();
86
+ const e = ge([
87
+ ...g.value.querySelectorAll(
88
+ ".bb-base-date-picker__date--current button"
89
+ )
90
+ ]);
91
+ e instanceof HTMLElement && e.focus();
92
+ }, F = (e) => {
93
+ if (!a.readonly && e.target instanceof HTMLButtonElement) {
94
+ const [, r] = e.target.id.split("_"), o = b(r);
95
+ if (a.cursor.month() !== o.month()) {
96
+ V(o);
97
+ return;
98
+ }
99
+ const t = v.value.flat().find((i) => i.id === r);
100
+ if (t.disabled) return;
101
+ V(o), H(t);
102
+ }
103
+ }, H = (e) => {
104
+ a.range ? P(e) : a.multiple ? U(e) : W(e);
105
+ }, P = (e) => {
106
+ if (!Array.isArray(a.modelValue)) return;
107
+ const r = e.original.toISOString();
108
+ if (a.modelValue.length !== 1) s("update:modelValue", [r]);
109
+ else {
110
+ const o = T([a.modelValue[0], e.original.toISOString()]);
111
+ s("update:modelValue", o);
112
+ }
113
+ }, U = (e) => {
114
+ if (Array.isArray(a.modelValue))
115
+ if (e.selected) {
116
+ const r = e.original.toISOString(), o = a.modelValue.filter((t) => t !== r);
117
+ s("update:modelValue", o);
118
+ } else {
119
+ const r = T([...a.modelValue, e.original.toISOString()]);
120
+ s("update:modelValue", r);
121
+ }
122
+ }, W = (e) => {
123
+ e.selected ? s("update:modelValue", null) : s("update:modelValue", e.original.toISOString());
124
+ }, $ = () => {
125
+ const e = a.cursor.clone().add(1, "day");
126
+ d(e) || (s("update:cursor", e), l());
127
+ }, j = () => {
128
+ const e = a.cursor.clone().subtract(1, "day");
129
+ d(e) || (s("update:cursor", e), l());
130
+ }, q = () => {
131
+ const e = a.cursor.clone().subtract(1, "week");
132
+ d(e) || (s("update:cursor", e), l());
133
+ }, z = () => {
134
+ const e = a.cursor.clone().add(1, "week");
135
+ d(e) || (s("update:cursor", e), l());
136
+ }, G = () => {
137
+ const e = a.cursor.clone().endOf("week");
138
+ d(e) || (s("update:cursor", e), l());
139
+ }, J = () => {
140
+ const e = a.cursor.clone().startOf("week");
141
+ d(e) || (s("update:cursor", e), l());
142
+ }, Q = (e) => {
143
+ if (e.shiftKey) {
144
+ const r = a.cursor.clone().subtract(1, "year");
145
+ if (d(r)) return;
146
+ s("update:cursor", r);
147
+ } else {
148
+ const r = a.cursor.clone().subtract(1, "month");
149
+ if (d(r)) return;
150
+ s("update:cursor", r);
151
+ }
152
+ l();
153
+ }, X = (e) => {
154
+ if (e.shiftKey) {
155
+ const r = a.cursor.clone().add(1, "year");
156
+ if (d(r)) return;
157
+ s("update:cursor", r);
158
+ } else {
159
+ const r = a.cursor.clone().add(1, "month");
160
+ if (d(r)) return;
161
+ s("update:cursor", r);
162
+ }
163
+ l();
164
+ };
165
+ return (e, r) => (c(), u("div", {
166
+ ref_key: "calendar",
167
+ ref: g,
168
+ class: k(["bb-base-date-picker__days-selector", { "bb-base-date-picker__days-selector--hidden": !e.current }]),
169
+ onKeydown: [
170
+ f(p(z, ["prevent"]), ["down"]),
171
+ f(p(G, ["prevent"]), ["end"]),
172
+ f(p(J, ["prevent"]), ["home"]),
173
+ f(p(j, ["prevent"]), ["left"]),
174
+ f(p(X, ["prevent"]), ["page-down"]),
175
+ f(p(Q, ["prevent"]), ["page-up"]),
176
+ f(p($, ["prevent"]), ["right"]),
177
+ f(p(q, ["prevent"]), ["up"])
178
+ ]
179
+ }, [
180
+ ce(he, {
181
+ direction: w.value,
182
+ gap: 30
183
+ }, {
184
+ default: ue(() => [
185
+ (c(), u("div", {
186
+ key: e.cursor.month().toString(),
187
+ class: "bb-base-date-picker__month"
188
+ }, [
189
+ M("div", _e, [
190
+ (c(!0), u(O, null, S(R.value, (o) => (c(), u("div", {
191
+ key: o.id,
192
+ abbr: o.accessibleLabel,
193
+ class: "bb-base-date-picker__header-cell"
194
+ }, C(o.label), 9, ke))), 128))
195
+ ]),
196
+ (c(!0), u(O, null, S(v.value, (o) => (c(), u("div", {
197
+ key: o[0].id,
198
+ class: "bb-base-date-picker__week"
199
+ }, [
200
+ (c(!0), u(O, null, S(o, (t) => (c(), u("div", {
201
+ key: t.id,
202
+ class: k({
203
+ "bb-base-date-picker__date--current": t.current,
204
+ "bb-base-date-picker__date--disabled": e.disabled || t.disabled,
205
+ "bb-base-date-picker__date--first": t.first,
206
+ "bb-base-date-picker__date--highlighted": t.highlighted,
207
+ "bb-base-date-picker__date--last": t.last,
208
+ "bb-base-date-picker__date--middle": t.middle,
209
+ "bb-base-date-picker__date--selected": t.selected,
210
+ "bb-base-date-picker__date--today": t.today,
211
+ "bb-base-date-picker__date": !0
212
+ })
213
+ }, [
214
+ M("button", {
215
+ id: t.buttonId,
216
+ class: k("bb-base-date-picker__date-button"),
217
+ disabled: e.disabled || t.disabled,
218
+ tabindex: Number(t.current) - 1,
219
+ type: "button",
220
+ onClick: F
221
+ }, C(t.label), 9, Oe),
222
+ L(e.$slots, "day", {
223
+ first: t.first,
224
+ highlighted: t.highlighted,
225
+ item: t.original,
226
+ label: t.label,
227
+ last: t.last,
228
+ middle: t.middle,
229
+ selected: t.selected
230
+ }),
231
+ L(e.$slots, t.slotName, {
232
+ first: t.first,
233
+ highlighted: t.highlighted,
234
+ item: t.original,
235
+ label: t.label,
236
+ last: t.last,
237
+ middle: t.middle,
238
+ selected: t.selected
239
+ })
240
+ ], 2))), 128))
241
+ ]))), 128))
242
+ ]))
243
+ ]),
244
+ _: 3
245
+ }, 8, ["direction"])
246
+ ], 42, ye));
247
+ }
248
+ });
7
249
  export {
8
- d as useModalsState
250
+ Ce as default
9
251
  };