bitboss-ui 2.1.20 → 2.1.21

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 (171) hide show
  1. package/dist/index106.js +7 -7
  2. package/dist/index111.js +1 -1
  3. package/dist/index113.js +1 -1
  4. package/dist/index121.js +9 -9
  5. package/dist/index129.js +1 -1
  6. package/dist/index13.js +1 -1
  7. package/dist/index131.js +4 -4
  8. package/dist/index139.js +2 -2
  9. package/dist/index15.js +8 -8
  10. package/dist/index17.js +3 -3
  11. package/dist/index19.js +8 -8
  12. package/dist/index209.js +34 -4
  13. package/dist/index21.js +16 -16
  14. package/dist/index210.js +2 -13
  15. package/dist/index211.js +4 -11
  16. package/dist/index212.js +2 -20
  17. package/dist/index213.js +12 -196
  18. package/dist/index214.js +15 -0
  19. package/dist/index215.js +11 -72
  20. package/dist/index216.js +7 -0
  21. package/dist/index217.js +5 -13
  22. package/dist/index218.js +5 -114
  23. package/dist/index219.js +7 -0
  24. package/dist/index220.js +5 -5
  25. package/dist/index221.js +5 -5
  26. package/dist/index222.js +2 -5
  27. package/dist/index223.js +2 -5
  28. package/dist/index224.js +2 -5
  29. package/dist/index225.js +20 -5
  30. package/dist/index226.js +72 -5
  31. package/dist/index228.js +13 -2
  32. package/dist/index229.js +112 -6
  33. package/dist/index23.js +15 -15
  34. package/dist/index231.js +5 -52
  35. package/dist/index232.js +5 -44
  36. package/dist/index233.js +3 -5
  37. package/dist/index234.js +6 -58
  38. package/dist/index235.js +246 -30
  39. package/dist/index236.js +44 -78
  40. package/dist/index237.js +46 -0
  41. package/dist/index238.js +5 -29
  42. package/dist/index239.js +60 -16
  43. package/dist/index240.js +4 -17
  44. package/dist/index241.js +195 -49
  45. package/dist/index243.js +2 -12
  46. package/dist/index244.js +86 -2
  47. package/dist/index246.js +29 -2
  48. package/dist/index247.js +17 -106
  49. package/dist/index248.js +53 -0
  50. package/dist/index249.js +15 -100
  51. package/dist/index25.js +3 -3
  52. package/dist/index250.js +14 -0
  53. package/dist/index251.js +16 -2
  54. package/dist/index252.js +3 -4
  55. package/dist/index253.js +2 -5
  56. package/dist/index254.js +6 -17
  57. package/dist/index255.js +7 -12
  58. package/dist/index256.js +18 -6
  59. package/dist/index257.js +12 -229
  60. package/dist/index258.js +6 -2
  61. package/dist/index259.js +106 -2
  62. package/dist/index261.js +100 -7
  63. package/dist/index263.js +229 -3
  64. package/dist/index264.js +182 -12
  65. package/dist/index265.js +10 -6
  66. package/dist/index266.js +3 -16
  67. package/dist/index267.js +6 -9
  68. package/dist/index268.js +16 -23
  69. package/dist/index269.js +9 -10
  70. package/dist/index27.js +1 -1
  71. package/dist/index270.js +8 -2
  72. package/dist/index271.js +23 -3
  73. package/dist/index272.js +3 -9
  74. package/dist/index273.js +1 -1
  75. package/dist/index277.js +5 -67
  76. package/dist/index278.js +7 -4
  77. package/dist/index279.js +67 -8
  78. package/dist/index280.js +2 -3
  79. package/dist/index281.js +4 -3
  80. package/dist/index282.js +9 -0
  81. package/dist/index283.js +11 -7
  82. package/dist/index284.js +4 -3
  83. package/dist/index285.js +280 -7
  84. package/dist/index286.js +2 -11
  85. package/dist/index287.js +125 -2
  86. package/dist/index288.js +2 -280
  87. package/dist/index289.js +15 -2
  88. package/dist/index29.js +3 -3
  89. package/dist/index290.js +2 -16
  90. package/dist/index291.js +16 -2
  91. package/dist/index292.js +2 -16
  92. package/dist/index293.js +16 -2
  93. package/dist/index294.js +2 -19
  94. package/dist/index295.js +19 -2
  95. package/dist/index296.js +2 -15
  96. package/dist/index297.js +3 -2
  97. package/dist/index299.js +7 -2
  98. package/dist/index300.js +3 -27
  99. package/dist/index301.js +3 -2
  100. package/dist/index302.js +19 -2
  101. package/dist/index303.js +2 -2
  102. package/dist/index304.js +27 -2
  103. package/dist/index305.js +2 -2
  104. package/dist/index306.js +2 -28
  105. package/dist/index307.js +1 -21
  106. package/dist/index308.js +4 -0
  107. package/dist/index309.js +2 -4
  108. package/dist/index31.js +2 -2
  109. package/dist/index310.js +28 -3
  110. package/dist/index311.js +20 -15
  111. package/dist/index313.js +1 -1
  112. package/dist/index314.js +17 -3
  113. package/dist/index315.js +6 -4
  114. package/dist/index316.js +5 -125
  115. package/dist/index317.js +3 -2
  116. package/dist/index318.js +3 -2
  117. package/dist/index319.js +2 -5
  118. package/dist/index323.js +1 -1
  119. package/dist/index324.js +32 -6
  120. package/dist/index325.js +28 -8
  121. package/dist/index327.js +2 -8
  122. package/dist/index328.js +2 -2
  123. package/dist/index329.js +3 -3
  124. package/dist/index33.js +8 -8
  125. package/dist/index330.js +7 -32
  126. package/dist/index331.js +6 -28
  127. package/dist/index332.js +10 -0
  128. package/dist/index333.js +6 -6
  129. package/dist/index334.js +57 -18
  130. package/dist/index335.js +33 -33
  131. package/dist/index336.js +227 -57
  132. package/dist/index337.js +7 -2
  133. package/dist/index338.js +17 -45
  134. package/dist/index339.js +46 -227
  135. package/dist/index340.js +1 -1
  136. package/dist/index342.js +3 -436
  137. package/dist/index343.js +123 -121
  138. package/dist/index344.js +438 -0
  139. package/dist/index345.js +127 -3
  140. package/dist/index35.js +4 -4
  141. package/dist/index37.js +22 -22
  142. package/dist/index39.js +6 -6
  143. package/dist/index41.js +2 -2
  144. package/dist/index43.js +8 -8
  145. package/dist/index45.js +8 -8
  146. package/dist/index47.js +2 -2
  147. package/dist/index49.js +3 -3
  148. package/dist/index53.js +1 -1
  149. package/dist/index55.js +1 -1
  150. package/dist/index57.js +2 -2
  151. package/dist/index61.js +3 -3
  152. package/dist/index67.js +1 -1
  153. package/dist/index79.js +4 -4
  154. package/dist/index81.js +1 -1
  155. package/dist/index83.js +2 -2
  156. package/dist/index85.js +1 -1
  157. package/dist/index87.js +1 -1
  158. package/dist/index90.js +3 -3
  159. package/dist/index92.js +2 -2
  160. package/dist/index94.js +3 -3
  161. package/package.json +1 -1
  162. package/dist/index227.js +0 -5
  163. package/dist/index230.js +0 -252
  164. package/dist/index242.js +0 -17
  165. package/dist/index245.js +0 -4
  166. package/dist/index260.js +0 -9
  167. package/dist/index262.js +0 -185
  168. package/dist/index298.js +0 -21
  169. package/dist/index312.js +0 -8
  170. package/dist/index326.js +0 -8
  171. package/dist/index341.js +0 -131
package/dist/index234.js CHANGED
@@ -1,62 +1,10 @@
1
- import { defineComponent as g, ref as i, computed as d, onMounted as h, createElementBlock as m, openBlock as u, createElementVNode as y, Fragment as x, renderList as B, createBlock as C, normalizeClass as S, withCtx as T, createTextVNode as E, toDisplayString as w } from "vue";
2
- import { range as H } from "./index324.js";
3
- import M from "./index13.js";
4
- /* empty css */
5
- const n = 10, l = 3, V = /* @__PURE__ */ g({
6
- __name: "BaseDatePickerYearSelector",
7
- props: {
8
- cursor: {},
9
- disabled: { type: Boolean }
10
- },
11
- emits: ["update:year"],
12
- setup(p, { emit: _ }) {
13
- const f = p, b = _, o = i(), r = d(() => f.cursor.year()), c = i(r.value - n * l), s = i(r.value + n * l), v = d(
14
- () => H(c.value, s.value).map((e) => ({
15
- text: e,
16
- key: e,
17
- selected: e === r.value,
18
- handler: () => b("update:year", e)
19
- }))
20
- ), k = (e) => {
21
- const t = e.target;
22
- t.scrollTop <= 100 ? c.value = Math.max(
23
- c.value - n * l,
24
- r.value - 200
25
- ) : t.scrollHeight - t.scrollTop === t.clientHeight && (s.value = Math.min(s.value + n * l, 2101));
26
- };
27
- return h(() => {
28
- if (!o.value) return;
29
- const e = o.value.querySelector(
30
- ".content__btn--selected"
31
- );
32
- e && (e.parentElement.scrollTop = e.offsetTop - e.parentElement.clientHeight / 2 + 16);
33
- }), (e, t) => (u(), m("div", {
34
- ref_key: "container",
35
- ref: o,
36
- class: "bb-base-date-picker__button-menu bb-base-date-picker__year-selector scrollbar-border"
37
- }, [
38
- y("div", {
39
- class: "content",
40
- onScrollPassive: k
41
- }, [
42
- (u(!0), m(x, null, B(v.value, (a) => (u(), C(M, {
43
- key: a.key,
44
- class: S({
45
- content__btn: !0,
46
- "content__btn--selected": a.selected
47
- }),
48
- disabled: e.disabled,
49
- onClick: a.handler
50
- }, {
51
- default: T(() => [
52
- E(w(a.text), 1)
53
- ]),
54
- _: 2
55
- }, 1032, ["class", "disabled", "onClick"]))), 128))
56
- ], 32)
57
- ], 512));
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}`);
58
6
  }
59
7
  });
60
8
  export {
61
- V as default
9
+ e as useLogger
62
10
  };
package/dist/index235.js CHANGED
@@ -1,36 +1,252 @@
1
- import { defineComponent as p, getCurrentInstance as a, resolveComponent as u, createBlock as f, openBlock as k, resolveDynamicComponent as g, unref as d, withCtx as b, renderSlot as x } from "vue";
2
- import { _config as e } from "./index4.js";
3
- import { useLogger as l } from "./index229.js";
4
- const $ = /* @__PURE__ */ p({
5
- __name: "RouterComponent",
6
- setup(y) {
7
- var o, i, r, s;
8
- const m = !!((i = (o = a()) == null ? void 0 : o.proxy) != null && i.$inertia), c = !!((s = (r = a()) == null ? void 0 : r.proxy) != null && s.$nuxt);
9
- let t;
10
- if (m) {
11
- if (t = u(e.inertiaLinkName), typeof t == "string") {
12
- const { warn: n } = l();
13
- n(
14
- `Inertia link component "${e.inertiaLinkName}" could not be resolved. Ensure you app registers a link component with the name "${e.inertiaLinkName}" or set bitboss-ui config key "inertiaLinkName" to the correct value globally. Please visit ${e.documentationURL}/getting-started to resolve setup issues in bitboss-ui.`
15
- );
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 "./index337.js";
3
+ import { identity as T } from "./index222.js";
4
+ import { isNotNil as me } from "./index140.js";
5
+ import { last as ge } from "./index224.js";
6
+ import { sort as E } from "./index338.js";
7
+ import b from "./index216.js";
8
+ import he from "./index238.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);
16
82
  }
17
- } else if (c) {
18
- if (t = u(e.nuxtLinkName), typeof t == "string") {
19
- const { warn: n } = l();
20
- n(
21
- `Nuxt link component "${e.nuxtLinkName}" could not be resolved. Ensure you app registers a link component with the name "${e.nuxtLinkName}" or set bitboss-ui config key "nuxtLinkName" to the correct value globally. Please visit ${e.documentationURL}/getting-started to resolve setup issues in bitboss-ui.`
22
- );
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);
23
103
  }
24
- } else
25
- t = "router-link";
26
- return (n, L) => (k(), f(g(d(t)), null, {
27
- default: b(() => [
28
- x(n.$slots, "default")
29
- ]),
30
- _: 3
31
- }));
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));
32
248
  }
33
249
  });
34
250
  export {
35
- $ as default
251
+ Ce as default
36
252
  };
package/dist/index236.js CHANGED
@@ -1,84 +1,50 @@
1
- import { defineComponent as h, createElementBlock as n, openBlock as s, normalizeClass as r, createElementVNode as l, renderSlot as t, createCommentVNode as p, createTextVNode as o, toDisplayString as d, unref as b, Fragment as m, renderList as u } from "vue";
2
- import { useLocale as g } from "./index210.js";
3
- const k = { class: "bb-cr-container__container" }, y = {
4
- key: 0,
5
- class: "bb-cr-container__loading-container"
6
- }, $ = {
7
- key: 1,
8
- class: "bb-cr-container__no-data-container"
9
- }, C = /* @__PURE__ */ h({
10
- __name: "OptionsContainer",
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 "./index238.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",
11
8
  props: {
12
- direction: {},
13
- hasErrors: { type: Boolean },
14
- hideLabel: { type: Boolean },
15
- loadingText: {},
16
- loading: { type: Boolean },
17
- noDataText: {},
18
- options: {}
9
+ cursor: {},
10
+ disabled: { type: Boolean },
11
+ hidden: { type: Boolean }
19
12
  },
20
- setup(f) {
21
- const { t: i } = g();
22
- return (a, T) => (s(), n("span", {
23
- ref: "container",
24
- class: r(["bb-cr-container", {
25
- "bb-cr-container--errors": a.hasErrors,
26
- "bb-cr-container--horizontal": a.direction === "horizontal",
27
- "bb-cr-container--vertical": a.direction === "vertical"
28
- }])
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 }])
29
27
  }, [
30
- l("span", k, [
31
- t(a.$slots, "prepend"),
32
- !a.options.length && a.loading ? (s(), n("span", y, [
33
- t(a.$slots, "loading", {}, () => [
34
- o(d(a.loadingText || b(i)("common.loadingText")), 1)
35
- ])
36
- ])) : a.options.length ? p("", !0) : (s(), n("span", $, [
37
- t(a.$slots, "no-data", {}, () => [
38
- o(d(a.noDataText || b(i)("common.noDataText")), 1)
39
- ])
40
- ])),
41
- (s(!0), n(m, null, u(a.options, (e, c) => (s(), n(m, {
42
- key: (e == null ? void 0 : e.valueHash) || c
43
- }, [
44
- t(a.$slots, "option:prepend", {
45
- id: e.valueHash,
46
- checked: !!e.selected,
47
- disabled: !!e.disabled,
48
- item: e.item,
49
- text: e.text
50
- }),
51
- l("label", {
52
- class: r(["bb-cr-container-option", { "bb-base-radio-selected": e.selected }])
53
- }, [
54
- t(a.$slots, "input", {
55
- index: c,
56
- option: e
57
- }),
58
- l("span", {
59
- class: r({
60
- "bb-cr-container-option__text": !0,
61
- "sr-only": a.hideLabel
62
- })
63
- }, [
64
- t(a.$slots, "label", {
65
- checked: !!e.selected,
66
- item: e.item,
67
- text: e.text
68
- }, () => [
69
- o(d(e.text), 1)
70
- ])
71
- ], 2)
72
- ], 2),
73
- t(a.$slots, "option:append", {
74
- id: e.valueHash,
75
- checked: !!e.selected,
76
- disabled: !!e.disabled,
77
- item: e.item,
78
- text: e.text
79
- })
80
- ], 64))), 128)),
81
- t(a.$slots, "append")
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)
82
48
  ])
83
49
  ], 2));
84
50
  }
@@ -0,0 +1,46 @@
1
+ import { defineComponent as _, computed as a, createElementBlock as c, openBlock as o, 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
+ props: {
7
+ cursor: {},
8
+ disabled: { type: Boolean }
9
+ },
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
+ ]));
42
+ }
43
+ });
44
+ export {
45
+ E as default
46
+ };
package/dist/index238.js CHANGED
@@ -1,31 +1,7 @@
1
- import { ref as a, computed as s, unref as v } from "vue";
2
- import { useDebounceFn as f } from "./index206.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--;
13
- return;
14
- } else
15
- t.value = o;
16
- } catch (o) {
17
- console.error(o);
18
- }
19
- e.value--;
20
- }
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
- };
1
+ import o from "./index311.js";
2
+ /* empty css */
3
+ import t from "./index299.js";
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-8c6b13bd"]]);
29
5
  export {
30
- p as useItemsGetter
6
+ m as default
31
7
  };
package/dist/index239.js CHANGED
@@ -1,18 +1,62 @@
1
- import { isNotNil as n } from "./index140.js";
2
- import { ref as t, onServerPrefetch as u, onBeforeMount as c } from "vue";
3
- const h = ({
4
- fn: i,
5
- onStart: s,
6
- multiple: f,
7
- currentValue: o
8
- }) => {
9
- const a = s || !f && n(o) || f && !!o.length, e = t(!1), l = t(!1), r = async () => {
10
- e.value = !0, await i({ prefill: !0 }), e.value = !1, l.value = !0;
11
- };
12
- return a && (u(r), c(async () => {
13
- l.value || await r();
14
- })), { isPrefilling: e, hasPrefilled: l, prefill: r };
15
- };
1
+ import { defineComponent as g, ref as i, computed as d, onMounted as h, createElementBlock as m, openBlock as u, createElementVNode as y, Fragment as x, renderList as B, createBlock as C, normalizeClass as S, withCtx as T, createTextVNode as E, toDisplayString as w } from "vue";
2
+ import { range as H } from "./index333.js";
3
+ import M from "./index13.js";
4
+ /* empty css */
5
+ const n = 10, l = 3, V = /* @__PURE__ */ g({
6
+ __name: "BaseDatePickerYearSelector",
7
+ props: {
8
+ cursor: {},
9
+ disabled: { type: Boolean }
10
+ },
11
+ emits: ["update:year"],
12
+ setup(p, { emit: _ }) {
13
+ const f = p, b = _, o = i(), r = d(() => f.cursor.year()), c = i(r.value - n * l), s = i(r.value + n * l), v = d(
14
+ () => H(c.value, s.value).map((e) => ({
15
+ text: e,
16
+ key: e,
17
+ selected: e === r.value,
18
+ handler: () => b("update:year", e)
19
+ }))
20
+ ), k = (e) => {
21
+ const t = e.target;
22
+ t.scrollTop <= 100 ? c.value = Math.max(
23
+ c.value - n * l,
24
+ r.value - 200
25
+ ) : t.scrollHeight - t.scrollTop === t.clientHeight && (s.value = Math.min(s.value + n * l, 2101));
26
+ };
27
+ return h(() => {
28
+ if (!o.value) return;
29
+ const e = o.value.querySelector(
30
+ ".content__btn--selected"
31
+ );
32
+ e && (e.parentElement.scrollTop = e.offsetTop - e.parentElement.clientHeight / 2 + 16);
33
+ }), (e, t) => (u(), m("div", {
34
+ ref_key: "container",
35
+ ref: o,
36
+ class: "bb-base-date-picker__button-menu bb-base-date-picker__year-selector scrollbar-border"
37
+ }, [
38
+ y("div", {
39
+ class: "content",
40
+ onScrollPassive: k
41
+ }, [
42
+ (u(!0), m(x, null, B(v.value, (a) => (u(), C(M, {
43
+ key: a.key,
44
+ class: S({
45
+ content__btn: !0,
46
+ "content__btn--selected": a.selected
47
+ }),
48
+ disabled: e.disabled,
49
+ onClick: a.handler
50
+ }, {
51
+ default: T(() => [
52
+ E(w(a.text), 1)
53
+ ]),
54
+ _: 2
55
+ }, 1032, ["class", "disabled", "onClick"]))), 128))
56
+ ], 32)
57
+ ], 512));
58
+ }
59
+ });
16
60
  export {
17
- h as usePrefill
61
+ V as default
18
62
  };