bitboss-ui 2.0.37 → 2.0.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 (141) hide show
  1. package/dist/index104.js +1 -1
  2. package/dist/index106.js +5 -5
  3. package/dist/index114.js +1 -1
  4. package/dist/index116.js +5 -5
  5. package/dist/index118.js +1 -1
  6. package/dist/index122.js +1 -1
  7. package/dist/index123.js +1 -1
  8. package/dist/index124.js +1 -1
  9. package/dist/index126.js +1 -1
  10. package/dist/index128.js +2 -2
  11. package/dist/index129.js +1 -1
  12. package/dist/index13.js +1 -1
  13. package/dist/index15.js +3 -3
  14. package/dist/index17.js +2 -2
  15. package/dist/index19.js +14 -14
  16. package/dist/index198.js +116 -2
  17. package/dist/index199.js +2 -116
  18. package/dist/index200.js +3 -126
  19. package/dist/index201.js +35 -5
  20. package/dist/index202.js +6 -123
  21. package/dist/index203.js +7 -19
  22. package/dist/index204.js +8 -16
  23. package/dist/index205.js +156 -14
  24. package/dist/index206.js +84 -2
  25. package/dist/index208.js +2 -35
  26. package/dist/index209.js +4 -174
  27. package/dist/index21.js +15 -15
  28. package/dist/index210.js +2 -6
  29. package/dist/index211.js +3 -43
  30. package/dist/index212.js +128 -0
  31. package/dist/index213.js +5 -13
  32. package/dist/index214.js +123 -5
  33. package/dist/index215.js +17 -367
  34. package/dist/index216.js +16 -2
  35. package/dist/index217.js +16 -4
  36. package/dist/index218.js +2 -8
  37. package/dist/index219.js +2 -158
  38. package/dist/index220.js +174 -84
  39. package/dist/index221.js +45 -0
  40. package/dist/index223.js +13 -27
  41. package/dist/index224.js +5 -3
  42. package/dist/index225.js +366 -246
  43. package/dist/index226.js +2 -52
  44. package/dist/index227.js +16 -42
  45. package/dist/index228.js +105 -4
  46. package/dist/index23.js +5 -5
  47. package/dist/index230.js +100 -3
  48. package/dist/index232.js +2 -3
  49. package/dist/index233.js +3 -2
  50. package/dist/index234.js +19 -2
  51. package/dist/index235.js +27 -18
  52. package/dist/index236.js +244 -101
  53. package/dist/index237.js +54 -0
  54. package/dist/index238.js +40 -96
  55. package/dist/index239.js +7 -0
  56. package/dist/index240.js +49 -2
  57. package/dist/index243.js +431 -3
  58. package/dist/index244.js +88 -8
  59. package/dist/index245.js +4 -23
  60. package/dist/index246.js +200 -9
  61. package/dist/index247.js +3 -6
  62. package/dist/index248.js +12 -16
  63. package/dist/index249.js +9 -4
  64. package/dist/index25.js +1 -1
  65. package/dist/index250.js +9 -281
  66. package/dist/index251.js +17 -6
  67. package/dist/index252.js +3 -2
  68. package/dist/index253.js +9 -2
  69. package/dist/index254.js +23 -2
  70. package/dist/index255.js +6 -2
  71. package/dist/index256.js +16 -2
  72. package/dist/index257.js +7 -124
  73. package/dist/index258.js +219 -426
  74. package/dist/index259.js +281 -3
  75. package/dist/index260.js +8 -0
  76. package/dist/index261.js +2 -7
  77. package/dist/index262.js +2 -22
  78. package/dist/index263.js +4 -0
  79. package/dist/index264.js +2 -3
  80. package/dist/index265.js +2 -12
  81. package/dist/index266.js +124 -7
  82. package/dist/index267.js +3 -9
  83. package/dist/index269.js +6 -435
  84. package/dist/index27.js +3 -3
  85. package/dist/index270.js +21 -126
  86. package/dist/index272.js +436 -2
  87. package/dist/index273.js +127 -2
  88. package/dist/index274.js +3 -2
  89. package/dist/index275.js +3 -2
  90. package/dist/index276.js +211 -2
  91. package/dist/index277.js +28 -2
  92. package/dist/index278.js +2 -28
  93. package/dist/index279.js +2 -22
  94. package/dist/index280.js +4 -0
  95. package/dist/index281.js +2 -89
  96. package/dist/index282.js +2 -224
  97. package/dist/index283.js +2 -3
  98. package/dist/index284.js +22 -3
  99. package/dist/index286.js +2 -79
  100. package/dist/index287.js +68 -0
  101. package/dist/index288.js +5 -66
  102. package/dist/index289.js +15 -5
  103. package/dist/index29.js +2 -2
  104. package/dist/index290.js +79 -2
  105. package/dist/index292.js +4 -4
  106. package/dist/index293.js +4 -59
  107. package/dist/index294.js +58 -14
  108. package/dist/index295.js +10 -34
  109. package/dist/index296.js +34 -46
  110. package/dist/index297.js +46 -6
  111. package/dist/index300.js +6 -10
  112. package/dist/index301.js +1 -1
  113. package/dist/index302.js +1 -1
  114. package/dist/index31.js +2 -2
  115. package/dist/index33.js +3 -3
  116. package/dist/index35.js +13 -13
  117. package/dist/index37.js +4 -4
  118. package/dist/index39.js +2 -2
  119. package/dist/index41.js +2 -2
  120. package/dist/index43.js +6 -6
  121. package/dist/index45.js +2 -2
  122. package/dist/index47.js +2 -2
  123. package/dist/index53.js +1 -1
  124. package/dist/index55.js +1 -1
  125. package/dist/index71.js +3 -3
  126. package/dist/index75.js +2 -2
  127. package/dist/index77.js +1 -1
  128. package/dist/index80.js +2 -2
  129. package/dist/index82.js +1 -1
  130. package/dist/index84.js +3 -3
  131. package/dist/index86.js +1 -1
  132. package/dist/style.css +1 -1
  133. package/package.json +1 -1
  134. package/dist/index207.js +0 -4
  135. package/dist/index222.js +0 -21
  136. package/dist/index229.js +0 -51
  137. package/dist/index231.js +0 -9
  138. package/dist/index268.js +0 -19
  139. package/dist/index271.js +0 -202
  140. package/dist/index285.js +0 -213
  141. package/dist/index291.js +0 -6
package/dist/index236.js CHANGED
@@ -1,108 +1,251 @@
1
- import { defineComponent as y, ref as F, computed as H, watch as N, openBlock as p, createElementBlock as L, Fragment as S, renderList as V, createBlock as A, normalizeClass as O, withModifiers as P, withCtx as $, createTextVNode as z, toDisplayString as D } from "vue";
2
- import { hash as d } from "./index224.js";
3
- import { isNil as l } from "./index125.js";
4
- import E from "./index120.js";
5
- /* empty css */
6
- const K = /* @__PURE__ */ y({
7
- __name: "ChipsBox",
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 "./index298.js";
3
+ import { identity as be } from "./index218.js";
4
+ import { isNotNil as me } from "./index130.js";
5
+ import { last as ge } from "./index219.js";
6
+ import { sort as T } from "./index299.js";
7
+ import b from "./index213.js";
8
+ import he from "./index239.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",
8
11
  props: {
9
- options: {}
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 }
10
23
  },
11
- emits: ["option:unselected"],
12
- setup(f, { expose: v, emit: h }) {
13
- const t = f, u = h, n = F(null), i = H(() => t.options.some((e) => !e.disabled)), a = (e = 1) => {
14
- const s = l(n.value) ? -1 : n.value;
15
- let o = (s + e) % t.options.length;
16
- for (; t.options[o].disabled && o !== s; )
17
- o = a(e + 1);
18
- return o;
19
- }, x = () => {
20
- if (!i.value) return;
21
- const e = a();
22
- n.value = e;
23
- }, c = (e = 1) => {
24
- const s = l(n.value) ? 0 : n.value;
25
- let o = (s - e + t.options.length) % t.options.length;
26
- for (; t.options[o].disabled && o !== s; )
27
- o = c(e + 1);
28
- return o;
29
- }, m = async () => {
30
- if (!i.value) return;
31
- const e = c();
32
- n.value = e;
33
- }, w = () => {
34
- if (!i.value) return;
35
- let e = 0;
36
- for (; t.options[e].disabled; )
37
- e++;
38
- n.value = e;
39
- }, b = () => {
40
- if (!i.value) return;
41
- let e = t.options.length - 1;
42
- for (; t.options[e].disabled && e !== 0; )
43
- e--;
44
- n.value = e;
45
- }, I = () => {
46
- if (!i.value) return;
47
- let e = 0;
48
- for (; !t.options[e].selected && t.options.length !== e; )
49
- e++;
50
- n.value = e;
51
- }, g = () => {
52
- if (!i.value) return;
53
- let e = t.options.length - 1;
54
- for (; t.options[e].selected && e !== 0; )
55
- e--;
56
- n.value = e;
57
- }, _ = (e) => {
58
- if (!i.value) return;
59
- const s = t.options.findIndex(
60
- (o) => o.valueHash === e
61
- );
62
- s >= 0 && (n.value = s);
63
- }, r = () => {
64
- n.value = null;
65
- }, k = () => {
66
- if (l(n.value)) return;
67
- const e = t.options[n.value];
68
- e.selected && u("option:unselected", e);
69
- }, C = () => l(n.value) ? void 0 : t.options[n.value];
70
- return N(
71
- () => t.options,
72
- (e, s) => {
73
- d(e) !== d(s) && r();
74
- },
75
- {
76
- flush: "post"
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);
77
81
  }
78
- ), v({
79
- focusNext: x,
80
- focusPrevious: m,
81
- focusFirst: w,
82
- focusFirstSelected: I,
83
- focusLast: b,
84
- focusLastSelected: g,
85
- blur: r,
86
- confirmOption: k,
87
- focusByHash: _,
88
- getHighlighted: C
89
- }), (e, s) => (p(!0), L(S, null, V(e.options, (o, B) => (p(), A(E, {
90
- key: o.valueHash,
91
- class: O({
92
- "bb-chipsbox-item": !0,
93
- "bb-chipsbox-item--focused": B === n.value
94
- }),
95
- clearable: !0,
96
- text: o.text,
97
- "onClick:clear": P((M) => u("option:unselected", o), ["stop"])
98
- }, {
99
- default: $(() => [
100
- z(D(o.text), 1)
101
- ]),
102
- _: 2
103
- }, 1032, ["class", "text", "onClick:clear"]))), 128));
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));
104
247
  }
105
248
  });
106
249
  export {
107
- K as default
250
+ Ce as default
108
251
  };
@@ -0,0 +1,54 @@
1
+ import { defineComponent as p, ref as b, watch as _, computed as m, openBlock as d, createElementBlock as c, normalizeClass as u, createElementVNode as t, createVNode as h, withCtx as f, toDisplayString as o } from "vue";
2
+ import k from "./index239.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) => (d(), c("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
+ (d(), c("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
+ });
52
+ export {
53
+ C as default
54
+ };
package/dist/index238.js CHANGED
@@ -1,102 +1,46 @@
1
- import { defineComponent as F, ref as H, computed as L, watch as N, openBlock as d, createElementBlock as v, Fragment as S, renderList as A, normalizeClass as O, withModifiers as P, toDisplayString as V } from "vue";
2
- import { hash as f } from "./index224.js";
3
- import { isNil as i } from "./index125.js";
4
- const z = ["text", "onClick:clear"], j = /* @__PURE__ */ F({
5
- __name: "CommaBox",
1
+ import { defineComponent as _, computed as a, openBlock as o, createElementBlock as c, createElementVNode as p, Fragment as b, renderList as h, createBlock as k, normalizeClass as f, withCtx as y, createTextVNode as x, toDisplayString as B } from "vue";
2
+ import C from "./index13.js";
3
+ /* empty css */
4
+ const M = { class: "bb-base-date-picker__button-menu bb-base-date-picker__month-selector" }, v = { class: "content" }, E = /* @__PURE__ */ _({
5
+ __name: "BaseDatePickerMonthSelector",
6
6
  props: {
7
- options: {}
7
+ cursor: {},
8
+ disabled: { type: Boolean }
8
9
  },
9
- emits: ["option:unselected"],
10
- setup(m, { expose: h, emit: x }) {
11
- const t = m, a = x, n = H(null), l = L(() => t.options.some((e) => !e.disabled)), u = (e = 1) => {
12
- const s = i(n.value) ? -1 : n.value;
13
- let o = (s + e) % t.options.length;
14
- for (; t.options[o].disabled && o !== s; )
15
- o = u(e + 1);
16
- return o;
17
- }, b = () => {
18
- if (!l.value) return;
19
- const e = u();
20
- n.value = e;
21
- }, c = (e = 1) => {
22
- const s = i(n.value) ? 0 : n.value;
23
- let o = (s - e + t.options.length) % t.options.length;
24
- for (; t.options[o].disabled && o !== s; )
25
- o = c(e + 1);
26
- return o;
27
- }, w = async () => {
28
- if (!l.value) return;
29
- const e = c();
30
- n.value = e;
31
- }, I = () => {
32
- if (!l.value) return;
33
- let e = 0;
34
- for (; t.options[e].disabled; )
35
- e++;
36
- n.value = e;
37
- }, g = () => {
38
- if (!l.value) return;
39
- let e = t.options.length - 1;
40
- for (; t.options[e].disabled && e !== 0; )
41
- e--;
42
- n.value = e;
43
- }, k = () => {
44
- if (!l.value) return;
45
- let e = 0;
46
- for (; !t.options[e].selected && t.options.length !== e; )
47
- e++;
48
- n.value = e;
49
- }, _ = () => {
50
- if (!l.value) return;
51
- let e = t.options.length - 1;
52
- for (; t.options[e].selected && e !== 0; )
53
- e--;
54
- n.value = e;
55
- }, C = (e) => {
56
- if (!l.value) return;
57
- const s = t.options.findIndex(
58
- (o) => o.valueHash === e
59
- );
60
- s >= 0 && (n.value = s);
61
- }, r = () => {
62
- n.value = null;
63
- }, y = () => {
64
- if (!n.value) return;
65
- const e = t.options[n.value];
66
- e.selected && a("option:unselected", e);
67
- }, B = () => i(n.value) ? void 0 : t.options[n.value];
68
- return N(
69
- () => t.options,
70
- (e, s) => {
71
- f(e) !== f(s) && r();
72
- },
73
- {
74
- flush: "post"
75
- }
76
- ), h({
77
- focusNext: b,
78
- focusPrevious: w,
79
- focusFirst: I,
80
- focusFirstSelected: k,
81
- focusLast: g,
82
- focusLastSelected: _,
83
- blur: r,
84
- confirmOption: y,
85
- focusByHash: C,
86
- getHighlighted: B
87
- }), (e, s) => (d(!0), v(S, null, A(e.options, (o, p) => (d(), v("span", {
88
- key: o.valueHash,
89
- class: O({
90
- "bb-commabox-item": !0,
91
- "bb-commabox-item--focused": p === n.value,
92
- "bb-commabox-item--has-comma": p !== e.options.length - 1
93
- }),
94
- clearable: !0,
95
- text: o.text,
96
- "onClick:clear": P((D) => a("option:unselected", o), ["stop"])
97
- }, V(o.text), 43, z))), 128));
10
+ emits: ["update:month"],
11
+ setup(l, { emit: d }) {
12
+ const s = l, m = d, i = a(() => s.cursor.month()), u = a(
13
+ () => new Array(12).fill(0).map((r, t) => {
14
+ const n = s.cursor.clone().startOf("year").add(t, "month");
15
+ return {
16
+ text: n.format("MMMM"),
17
+ key: n.unix(),
18
+ selected: n.month() === i.value,
19
+ handler: () => m("update:month", t)
20
+ };
21
+ })
22
+ );
23
+ return (r, t) => (o(), c("div", M, [
24
+ p("div", v, [
25
+ (o(!0), c(b, null, h(u.value, (e) => (o(), k(C, {
26
+ key: e.key,
27
+ class: f({
28
+ content__btn: !0,
29
+ "content__btn--selected": e.selected
30
+ }),
31
+ disabled: r.disabled,
32
+ type: "button",
33
+ onClick: e.handler
34
+ }, {
35
+ default: y(() => [
36
+ x(B(e.text), 1)
37
+ ]),
38
+ _: 2
39
+ }, 1032, ["class", "disabled", "onClick"]))), 128))
40
+ ])
41
+ ]));
98
42
  }
99
43
  });
100
44
  export {
101
- j as default
45
+ E as default
102
46
  };
@@ -0,0 +1,7 @@
1
+ import o from "./index284.js";
2
+ /* empty css */
3
+ import t from "./index269.js";
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-8c6b13bd"]]);
5
+ export {
6
+ m as default
7
+ };
package/dist/index240.js CHANGED
@@ -1,4 +1,51 @@
1
- const o = (e) => e[0];
1
+ import { defineComponent as p, ref as _, computed as b, onMounted as f, openBlock as n, createElementBlock as o, createElementVNode as k, Fragment as y, renderList as h, unref as g, createBlock as v, normalizeClass as x, withCtx as B, createTextVNode as C, toDisplayString as E } from "vue";
2
+ import { range as w } from "./index300.js";
3
+ import D from "./index13.js";
4
+ /* empty css */
5
+ const S = { class: "content" }, c = 100, V = /* @__PURE__ */ p({
6
+ __name: "BaseDatePickerYearSelector",
7
+ props: {
8
+ cursor: {},
9
+ disabled: { type: Boolean }
10
+ },
11
+ emits: ["update:year"],
12
+ setup(s, { emit: l }) {
13
+ const i = s, d = l, r = _(), u = b(() => i.cursor.year()), a = (/* @__PURE__ */ new Date()).getFullYear() - c / 2, m = w(a, a + c).map((e) => ({
14
+ text: e,
15
+ key: e,
16
+ selected: e === u.value,
17
+ handler: () => d("update:year", e)
18
+ }));
19
+ return f(() => {
20
+ if (!r.value) return;
21
+ const e = r.value.querySelector(
22
+ ".content__btn--selected"
23
+ );
24
+ e && (e.parentElement.scrollTop = e.offsetTop - e.parentElement.clientHeight / 2 + 16);
25
+ }), (e, T) => (n(), o("div", {
26
+ ref_key: "container",
27
+ ref: r,
28
+ class: "bb-base-date-picker__button-menu bb-base-date-picker__year-selector scrollbar-border"
29
+ }, [
30
+ k("div", S, [
31
+ (n(!0), o(y, null, h(g(m), (t) => (n(), v(D, {
32
+ key: t.key,
33
+ class: x({
34
+ content__btn: !0,
35
+ "content__btn--selected": t.selected
36
+ }),
37
+ disabled: e.disabled,
38
+ onClick: t.handler
39
+ }, {
40
+ default: B(() => [
41
+ C(E(t.text), 1)
42
+ ]),
43
+ _: 2
44
+ }, 1032, ["class", "disabled", "onClick"]))), 128))
45
+ ])
46
+ ], 512));
47
+ }
48
+ });
2
49
  export {
3
- o as head
50
+ V as default
4
51
  };