bitboss-ui 2.1.82 → 2.1.84

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 (177) hide show
  1. package/dist/index107.js +9 -9
  2. package/dist/index112.js +1 -1
  3. package/dist/index114.js +1 -1
  4. package/dist/index120.js +1 -1
  5. package/dist/index122.js +68 -68
  6. package/dist/index13.js +2 -2
  7. package/dist/index130.js +1 -1
  8. package/dist/index132.js +5 -5
  9. package/dist/index134.js +1 -1
  10. package/dist/index136.js +2 -2
  11. package/dist/index139.js +1 -1
  12. package/dist/index142.js +1 -1
  13. package/dist/index15.js +5 -5
  14. package/dist/index17.js +3 -3
  15. package/dist/index19.js +8 -8
  16. package/dist/index21.js +14 -14
  17. package/dist/index215.js +2 -2
  18. package/dist/index216.js +2 -2
  19. package/dist/index217.js +1 -1
  20. package/dist/index218.js +1 -1
  21. package/dist/index219.js +2 -86
  22. package/dist/index220.js +4 -0
  23. package/dist/index221.js +3 -29
  24. package/dist/index222.js +5 -17
  25. package/dist/index223.js +5 -51
  26. package/dist/index224.js +5 -15
  27. package/dist/index225.js +5 -3
  28. package/dist/index226.js +5 -12
  29. package/dist/index227.js +5 -16
  30. package/dist/index228.js +2 -4
  31. package/dist/index229.js +3 -13
  32. package/dist/index23.js +11 -11
  33. package/dist/index230.js +13 -20
  34. package/dist/index231.js +18 -199
  35. package/dist/{index233.js → index232.js} +2 -2
  36. package/dist/index234.js +36 -0
  37. package/dist/index235.js +9 -2
  38. package/dist/index236.js +13 -2
  39. package/dist/index237.js +13 -3
  40. package/dist/index238.js +33 -2
  41. package/dist/index239.js +28 -2
  42. package/dist/index241.js +7 -2
  43. package/dist/index242.js +2 -7
  44. package/dist/index243.js +86 -5
  45. package/dist/index245.js +29 -5
  46. package/dist/index246.js +17 -5
  47. package/dist/index247.js +51 -5
  48. package/dist/index248.js +15 -5
  49. package/dist/index249.js +3 -2
  50. package/dist/index25.js +3 -3
  51. package/dist/index250.js +12 -3
  52. package/dist/index251.js +15 -12
  53. package/dist/index252.js +5 -13
  54. package/dist/index253.js +2 -10
  55. package/dist/index254.js +6 -3
  56. package/dist/index255.js +8 -4
  57. package/dist/index256.js +264 -30
  58. package/dist/index257.js +52 -9
  59. package/dist/index258.js +52 -33
  60. package/dist/index259.js +30 -26
  61. package/dist/index260.js +62 -0
  62. package/dist/index261.js +5 -3
  63. package/dist/index262.js +187 -6
  64. package/dist/index263.js +3 -4
  65. package/dist/index264.js +67 -5
  66. package/dist/index265.js +3 -188
  67. package/dist/index266.js +4 -3
  68. package/dist/index267.js +9 -9
  69. package/dist/index268.js +40 -66
  70. package/dist/index269.js +4 -6
  71. package/dist/index27.js +1 -1
  72. package/dist/index270.js +199 -14
  73. package/dist/index272.js +3 -8
  74. package/dist/index273.js +11 -106
  75. package/dist/index274.js +108 -0
  76. package/dist/{index275.js → index276.js} +2 -2
  77. package/dist/index278.js +3 -5
  78. package/dist/index279.js +21 -266
  79. package/dist/index280.js +7 -51
  80. package/dist/index281.js +8 -51
  81. package/dist/index282.js +23 -32
  82. package/dist/index283.js +2 -60
  83. package/dist/index284.js +6 -22
  84. package/dist/index285.js +7 -9
  85. package/dist/index286.js +9 -23
  86. package/dist/index287.js +6 -9
  87. package/dist/index288.js +15 -40
  88. package/dist/index289.js +1 -1
  89. package/dist/index29.js +3 -3
  90. package/dist/index291.js +3 -3
  91. package/dist/index292.js +10 -3
  92. package/dist/index293.js +3 -8
  93. package/dist/index295.js +1 -1
  94. package/dist/index296.js +280 -3
  95. package/dist/index297.js +2 -17
  96. package/dist/index298.js +123 -26
  97. package/dist/index299.js +2 -3
  98. package/dist/index300.js +15 -3
  99. package/dist/index301.js +2 -7
  100. package/dist/index302.js +16 -5
  101. package/dist/index303.js +2 -4
  102. package/dist/index304.js +16 -2
  103. package/dist/index305.js +2 -280
  104. package/dist/index306.js +19 -2
  105. package/dist/index307.js +2 -125
  106. package/dist/index308.js +3 -2
  107. package/dist/index309.js +7 -15
  108. package/dist/index31.js +2 -2
  109. package/dist/index310.js +2 -2
  110. package/dist/index311.js +2 -16
  111. package/dist/index312.js +27 -2
  112. package/dist/index313.js +2 -16
  113. package/dist/index314.js +2 -2
  114. package/dist/index315.js +2 -19
  115. package/dist/index316.js +2 -2
  116. package/dist/index317.js +1 -1
  117. package/dist/index318.js +28 -719
  118. package/dist/index319.js +2 -366
  119. package/dist/index320.js +3 -57
  120. package/dist/index321.js +17 -27
  121. package/dist/index322.js +4 -2
  122. package/dist/index323.js +5 -2
  123. package/dist/index324.js +3 -2
  124. package/dist/index325.js +4 -2
  125. package/dist/index326.js +5 -2
  126. package/dist/index327.js +6 -2
  127. package/dist/index328.js +3 -4
  128. package/dist/index329.js +1 -1
  129. package/dist/index33.js +8 -8
  130. package/dist/index330.js +719 -3
  131. package/dist/index331.js +366 -6
  132. package/dist/index332.js +57 -2
  133. package/dist/index333.js +2 -5
  134. package/dist/index336.js +2 -2
  135. package/dist/index337.js +1 -1
  136. package/dist/index338.js +6 -7
  137. package/dist/index339.js +18 -5
  138. package/dist/index340.js +9 -8
  139. package/dist/index341.js +14 -57
  140. package/dist/index342.js +5 -58
  141. package/dist/index343.js +6 -92
  142. package/dist/index344.js +58 -5
  143. package/dist/index345.js +58 -7
  144. package/dist/index346.js +226 -17
  145. package/dist/index347.js +132 -7
  146. package/dist/index348.js +21 -14
  147. package/dist/index35.js +4 -4
  148. package/dist/index350.js +6 -132
  149. package/dist/index351.js +6 -22
  150. package/dist/index352.js +10 -0
  151. package/dist/index353.js +86 -221
  152. package/dist/index37.js +15 -15
  153. package/dist/index39.js +7 -7
  154. package/dist/index41.js +2 -2
  155. package/dist/index43.js +8 -8
  156. package/dist/index45.js +6 -6
  157. package/dist/index49.js +2 -2
  158. package/dist/index53.js +1 -1
  159. package/dist/index55.js +1 -1
  160. package/dist/index57.js +2 -2
  161. package/dist/index61.js +5 -5
  162. package/dist/index67.js +1 -1
  163. package/dist/index80.js +6 -6
  164. package/dist/index82.js +1 -1
  165. package/dist/index84.js +2 -2
  166. package/dist/index86.js +3 -3
  167. package/dist/index88.js +1 -1
  168. package/dist/index91.js +3 -3
  169. package/dist/index93.js +2 -2
  170. package/dist/index95.js +5 -5
  171. package/dist/index97.js +1 -1
  172. package/package.json +1 -1
  173. package/dist/index240.js +0 -9
  174. package/dist/index244.js +0 -7
  175. package/dist/index271.js +0 -13
  176. package/dist/index277.js +0 -7
  177. package/dist/index349.js +0 -9
package/dist/index256.js CHANGED
@@ -1,36 +1,270 @@
1
- import { defineComponent as a, resolveComponent as o, createBlock as u, openBlock as l, resolveDynamicComponent as m, unref as c, withCtx as p, renderSlot as f } from "vue";
2
- import { _config as e } from "./index4.js";
3
- import { useLogger as i } from "./index272.js";
4
- import { useFrameworkDetection as k } from "./index257.js";
5
- const y = /* @__PURE__ */ a({
6
- __name: "RouterComponent",
7
- setup(g) {
8
- const { isInertia: r, isNuxt: s } = k();
9
- let t;
10
- if (r) {
11
- if (t = o(e.inertiaLinkName), typeof t == "string") {
12
- const { warn: n } = i();
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 pe, ref as T, computed as v, watch as be, createElementBlock as c, openBlock as u, withKeys as f, normalizeClass as O, withModifiers as m, createVNode as ge, withCtx as he, createElementVNode as E, Fragment as w, renderList as S, toDisplayString as x, renderSlot as C, nextTick as ye } from "vue";
2
+ import { chunk as _e } from "./index338.js";
3
+ import { identity as L } from "./index228.js";
4
+ import { isNotNil as ke } from "./index144.js";
5
+ import { last as ve } from "./index253.js";
6
+ import { sort as N } from "./index339.js";
7
+ import { validateDateFormat as R } from "./index254.js";
8
+ import { toInnerValue as Oe, toOuterValue as p } from "./index340.js";
9
+ import { isDateDisabled as we } from "./index341.js";
10
+ import g from "./index222.js";
11
+ import Se from "./index342.js";
12
+ const Ve = ["onKeydown"], De = { class: "bb-base-date-picker__header-container" }, Me = ["abbr"], Be = ["id", "aria-current", "aria-label", "aria-selected", "disabled", "tabindex"], Pe = /* @__PURE__ */ pe({
13
+ __name: "BaseDatePickerInputDaySelector",
14
+ props: {
15
+ cursor: {},
16
+ current: { type: Boolean },
17
+ disabled: { type: Boolean },
18
+ firstDayOfWeek: {},
19
+ id: {},
20
+ floating: { type: Boolean },
21
+ modelValue: {},
22
+ max: {},
23
+ min: {},
24
+ selectable: { type: Function },
25
+ range: { type: Boolean },
26
+ multiple: { type: Boolean },
27
+ readonly: { type: Boolean }
28
+ },
29
+ emits: ["update:modelValue", "update:cursor"],
30
+ setup(F, { emit: K }) {
31
+ const a = F, n = K, h = T(null), H = g().startOf("day");
32
+ a.min && R(a.min, "Min"), a.max && R(a.max, "Max");
33
+ const P = v(() => {
34
+ let e = 1 / 0, r = -1 / 0, s = {};
35
+ return a.modelValue && [].concat(a.modelValue).filter(L).map((i) => Oe(i, a.floating)).map((i) => i.valueOf()).forEach((i, y) => {
36
+ i < e && (e = i), i > r && (r = i), s[i] = y;
37
+ }), {
38
+ min: e,
39
+ max: r,
40
+ index: (t) => s[t.valueOf()],
41
+ selected: (t) => ke(s[t.valueOf()]),
42
+ isFirstOfRange: (t) => t.valueOf() === e,
43
+ isLastOfRange: (t) => t.valueOf() === r,
44
+ isBetween: (t) => t.valueOf() > e && t.valueOf() < r
45
+ };
46
+ }), Y = v(() => new Array(7).fill("").map((e, r) => g().day((r + a.firstDayOfWeek) % 7)).map((e) => ({
47
+ accessibleLabel: e.format("dddd"),
48
+ label: e.format("dd").slice(0, 1).toUpperCase(),
49
+ id: e.toISOString(),
50
+ original: e
51
+ }))), V = v(() => {
52
+ const e = a.cursor.year().toString(), r = a.cursor.month().toString(), t = a.cursor.clone().startOf("month").clone().startOf("week"), y = a.cursor.clone().endOf("month").clone().endOf("week"), re = g(a.cursor).startOf("day"), b = P.value, _ = a.range, oe = a.id, B = [];
53
+ for (let o = t; o.isBefore(y); o = o.add(1, "day"))
54
+ B.push(o.clone());
55
+ const ne = B.map((o) => {
56
+ const k = o.toISOString(), se = o.week().toString(), ie = b.selected(o), A = _ && b.isFirstOfRange(o), I = _ && b.isLastOfRange(o), de = _ && !A && !I && b.isBetween(o), le = o.month().toString() === r && o.year().toString() === e, ce = o.isSame(H), ue = o.isSame(re), fe = d(o), me = o.get("D").toString();
57
+ return {
58
+ buttonId: [oe, k].filter(L).join("_"),
59
+ current: ue,
60
+ disabled: fe,
61
+ first: A,
62
+ highlighted: le,
63
+ id: k,
64
+ label: me,
65
+ last: I,
66
+ middle: de,
67
+ original: o,
68
+ selected: ie,
69
+ slotName: k,
70
+ today: ce,
71
+ week: se
72
+ };
73
+ });
74
+ return _e(ne, 7);
75
+ }), d = (e) => we(e, {
76
+ min: a.min,
77
+ max: a.max,
78
+ selectable: a.selectable,
79
+ floating: a.floating
80
+ }), D = T("left"), $ = (e, r) => {
81
+ e && r && (D.value = e.isBefore(r) ? "left" : "right");
82
+ };
83
+ be(
84
+ () => a.cursor,
85
+ (e, r) => {
86
+ $(e, r);
16
87
  }
17
- } else if (s) {
18
- if (t = o(e.nuxtLinkName), typeof t == "string") {
19
- const { warn: n } = i();
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
- );
88
+ );
89
+ const M = (e) => n("update:cursor", e), l = async () => {
90
+ if (!h.value) return;
91
+ await ye();
92
+ const e = ve([
93
+ ...h.value.querySelectorAll(
94
+ ".bb-base-date-picker__date--current button"
95
+ )
96
+ ]);
97
+ e instanceof HTMLElement && e.focus();
98
+ }, U = (e) => {
99
+ if (!a.readonly && e.target instanceof HTMLButtonElement) {
100
+ const [, r] = e.target.id.split("_"), s = g(r);
101
+ if (a.cursor.month() !== s.month()) {
102
+ M(s);
103
+ return;
104
+ }
105
+ const t = V.value.flat().find((i) => i.id === r);
106
+ if (!t || t.disabled) return;
107
+ M(s), j(t);
23
108
  }
24
- } else
25
- t = "router-link";
26
- return (n, d) => (l(), u(m(c(t)), null, {
27
- default: p(() => [
28
- f(n.$slots, "default")
29
- ]),
30
- _: 3
31
- }));
109
+ }, j = (e) => {
110
+ a.range ? W(e) : a.multiple ? q(e) : z(e);
111
+ }, W = (e) => {
112
+ if (Array.isArray(a.modelValue))
113
+ if (a.modelValue.length !== 1) {
114
+ const r = [p(e.original, a.floating)];
115
+ n("update:modelValue", r);
116
+ } else {
117
+ const r = N([
118
+ a.modelValue[0],
119
+ p(e.original, a.floating)
120
+ ]);
121
+ n("update:modelValue", r);
122
+ }
123
+ }, q = (e) => {
124
+ if (Array.isArray(a.modelValue))
125
+ if (e.selected) {
126
+ const r = p(e.original, a.floating), s = a.modelValue.filter((t) => t !== r);
127
+ n("update:modelValue", s);
128
+ } else {
129
+ const r = N([
130
+ ...a.modelValue,
131
+ p(e.original, a.floating)
132
+ ]);
133
+ n("update:modelValue", r);
134
+ }
135
+ }, z = (e) => {
136
+ e.selected ? n("update:modelValue", null) : n("update:modelValue", p(e.original, a.floating));
137
+ }, G = () => {
138
+ const e = a.cursor.clone().add(1, "day");
139
+ d(e) || (n("update:cursor", e), l());
140
+ }, J = () => {
141
+ const e = a.cursor.clone().subtract(1, "day");
142
+ d(e) || (n("update:cursor", e), l());
143
+ }, Q = () => {
144
+ const e = a.cursor.clone().subtract(1, "week");
145
+ d(e) || (n("update:cursor", e), l());
146
+ }, X = () => {
147
+ const e = a.cursor.clone().add(1, "week");
148
+ d(e) || (n("update:cursor", e), l());
149
+ }, Z = () => {
150
+ const e = a.cursor.clone().endOf("week");
151
+ d(e) || (n("update:cursor", e), l());
152
+ }, ee = () => {
153
+ const e = a.cursor.clone().startOf("week");
154
+ d(e) || (n("update:cursor", e), l());
155
+ }, te = (e) => {
156
+ if (e.shiftKey) {
157
+ const r = a.cursor.clone().subtract(1, "year");
158
+ if (d(r)) return;
159
+ n("update:cursor", r);
160
+ } else {
161
+ const r = a.cursor.clone().subtract(1, "month");
162
+ if (d(r)) return;
163
+ n("update:cursor", r);
164
+ }
165
+ l();
166
+ }, ae = (e) => {
167
+ if (e.shiftKey) {
168
+ const r = a.cursor.clone().add(1, "year");
169
+ if (d(r)) return;
170
+ n("update:cursor", r);
171
+ } else {
172
+ const r = a.cursor.clone().add(1, "month");
173
+ if (d(r)) return;
174
+ n("update:cursor", r);
175
+ }
176
+ l();
177
+ };
178
+ return (e, r) => (u(), c("div", {
179
+ ref_key: "calendar",
180
+ ref: h,
181
+ "aria-label": "Calendar dates",
182
+ class: O(["bb-base-date-picker__days-selector", { "bb-base-date-picker__days-selector--hidden": !e.current }]),
183
+ role: "grid",
184
+ onKeydown: [
185
+ f(m(X, ["prevent"]), ["down"]),
186
+ f(m(Z, ["prevent"]), ["end"]),
187
+ f(m(ee, ["prevent"]), ["home"]),
188
+ f(m(J, ["prevent"]), ["left"]),
189
+ f(m(ae, ["prevent"]), ["page-down"]),
190
+ f(m(te, ["prevent"]), ["page-up"]),
191
+ f(m(G, ["prevent"]), ["right"]),
192
+ f(m(Q, ["prevent"]), ["up"])
193
+ ]
194
+ }, [
195
+ ge(Se, {
196
+ direction: D.value,
197
+ gap: 30
198
+ }, {
199
+ default: he(() => [
200
+ (u(), c("div", {
201
+ key: e.cursor.month().toString(),
202
+ class: "bb-base-date-picker__month"
203
+ }, [
204
+ E("div", De, [
205
+ (u(!0), c(w, null, S(Y.value, (s) => (u(), c("div", {
206
+ key: s.id,
207
+ abbr: s.accessibleLabel,
208
+ class: "bb-base-date-picker__header-cell"
209
+ }, x(s.label), 9, Me))), 128))
210
+ ]),
211
+ (u(!0), c(w, null, S(V.value, (s) => (u(), c("div", {
212
+ key: s[0].id,
213
+ class: "bb-base-date-picker__week"
214
+ }, [
215
+ (u(!0), c(w, null, S(s, (t) => (u(), c("div", {
216
+ key: t.id,
217
+ class: O({
218
+ "bb-base-date-picker__date--current": t.current,
219
+ "bb-base-date-picker__date--disabled": e.disabled || t.disabled,
220
+ "bb-base-date-picker__date--first": t.first,
221
+ "bb-base-date-picker__date--highlighted": t.highlighted,
222
+ "bb-base-date-picker__date--last": t.last,
223
+ "bb-base-date-picker__date--middle": t.middle,
224
+ "bb-base-date-picker__date--selected": t.selected,
225
+ "bb-base-date-picker__date--today": t.today,
226
+ "bb-base-date-picker__date": !0
227
+ })
228
+ }, [
229
+ E("button", {
230
+ id: t.buttonId,
231
+ "aria-current": t.today ? "date" : void 0,
232
+ "aria-label": `${t.original.format("dddd, MMMM D, YYYY")}${t.selected ? ", selected" : ""}`,
233
+ "aria-selected": t.selected,
234
+ class: O("bb-base-date-picker__date-button"),
235
+ disabled: e.disabled || t.disabled,
236
+ tabindex: Number(t.current) - 1,
237
+ type: "button",
238
+ role: "gridcell",
239
+ onClick: U
240
+ }, x(t.label), 9, Be),
241
+ C(e.$slots, "day", {
242
+ first: t.first,
243
+ highlighted: t.highlighted,
244
+ item: t.original,
245
+ label: t.label,
246
+ last: t.last,
247
+ middle: t.middle,
248
+ selected: t.selected
249
+ }),
250
+ C(e.$slots, t.slotName, {
251
+ first: t.first,
252
+ highlighted: t.highlighted,
253
+ item: t.original,
254
+ label: t.label,
255
+ last: t.last,
256
+ middle: t.middle,
257
+ selected: t.selected
258
+ })
259
+ ], 2))), 128))
260
+ ]))), 128))
261
+ ]))
262
+ ]),
263
+ _: 3
264
+ }, 8, ["direction"])
265
+ ], 42, Ve));
32
266
  }
33
267
  });
34
268
  export {
35
- y as default
269
+ Pe as default
36
270
  };
package/dist/index257.js CHANGED
@@ -1,11 +1,54 @@
1
- import { getCurrentInstance as e } from "vue";
2
- const s = () => {
3
- const t = e(), n = !!t?.proxy?.$inertia, r = !!t?.proxy?.$nuxt;
4
- return {
5
- isInertia: n,
6
- isNuxt: r
7
- };
8
- };
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 "./index342.js";
3
+ const y = { class: "bb-base-date-picker__year-container" }, v = {
4
+ "aria-live": "polite",
5
+ class: "bb-base-date-picker__selected-day-label"
6
+ }, B = { class: "bb-base-date-picker__weekday" }, D = { class: "bb-base-date-picker__monthday" }, M = { class: "bb-base-date-picker__month-button" }, C = /* @__PURE__ */ p({
7
+ __name: "BaseDatePickerHeader",
8
+ props: {
9
+ cursor: {},
10
+ disabled: { type: Boolean },
11
+ hidden: { type: Boolean }
12
+ },
13
+ emits: ["mode:year", "mode:month"],
14
+ setup(n) {
15
+ const s = n, r = b("top"), l = (e, a) => {
16
+ e && a && (r.value = e.isBefore(a) ? "top" : "bottom");
17
+ };
18
+ _(
19
+ () => s.cursor,
20
+ (e, a) => {
21
+ l(e, a);
22
+ }
23
+ );
24
+ const i = m(() => s.cursor.format("YYYY"));
25
+ return (e, a) => (c(), d("div", {
26
+ class: u(["bb-base-date-picker__header", { "bb-base-date-picker__header--hidden": e.hidden }])
27
+ }, [
28
+ t("div", y, [
29
+ h(k, {
30
+ direction: r.value,
31
+ duration: 500,
32
+ gap: 30
33
+ }, {
34
+ default: f(() => [
35
+ (c(), d("span", {
36
+ key: i.value,
37
+ "aria-live": "polite",
38
+ class: "bb-base-date-picker__year-button"
39
+ }, o(i.value), 1))
40
+ ]),
41
+ _: 1
42
+ }, 8, ["direction"])
43
+ ]),
44
+ t("div", v, [
45
+ t("span", B, o(e.cursor.format("ddd")) + ", ", 1),
46
+ t("span", D, o(e.cursor.format("DD")), 1),
47
+ t("span", M, o(e.cursor.format("MMMM")), 1)
48
+ ])
49
+ ], 2));
50
+ }
51
+ });
9
52
  export {
10
- s as useFrameworkDetection
53
+ C as default
11
54
  };
package/dist/index258.js CHANGED
@@ -1,35 +1,54 @@
1
- import { createElementBlock as e, openBlock as t, createElementVNode as o } from "vue";
2
- /* empty css */
3
- import n from "./index213.js";
4
- const l = {}, s = {
5
- class: "bb-error-icon",
6
- fill: "none",
7
- viewBox: "0 0 20 20",
8
- xmlns: "http://www.w3.org/2000/svg"
9
- };
10
- function i(c, r) {
11
- return t(), e("svg", s, r[0] || (r[0] = [
12
- o("path", {
13
- d: "M9.99422 18.3333C14.5966 18.3333 18.3276 14.6024 18.3276 9.99999C18.3276 5.39762 14.5966 1.66666 9.99422 1.66666C5.39185 1.66666 1.66089 5.39762 1.66089 9.99999C1.66089 14.6024 5.39185 18.3333 9.99422 18.3333Z",
14
- fill: "currentColor"
15
- }, null, -1),
16
- o("path", {
17
- d: "M9.99414 6.66666V9.99999",
18
- stroke: "white",
19
- "stroke-linecap": "round",
20
- "stroke-linejoin": "round",
21
- "stroke-width": "2"
22
- }, null, -1),
23
- o("path", {
24
- d: "M9.99414 13.3333H10.0025",
25
- stroke: "white",
26
- "stroke-linecap": "round",
27
- "stroke-linejoin": "round",
28
- "stroke-width": "2"
29
- }, null, -1)
30
- ]));
31
- }
32
- const a = /* @__PURE__ */ n(l, [["render", i]]);
1
+ import { defineComponent as b, computed as c, createElementBlock as l, openBlock as a, createElementVNode as h, Fragment as p, renderList as k, createBlock as f, normalizeClass as y, withCtx as M, createTextVNode as x, toDisplayString as B } from "vue";
2
+ import C from "./index13.js";
3
+ /* empty css */
4
+ const v = {
5
+ "aria-label": "Month selector",
6
+ class: "bb-base-date-picker__button-menu bb-base-date-picker__month-selector",
7
+ role: "listbox"
8
+ }, g = { class: "content" }, N = /* @__PURE__ */ b({
9
+ __name: "BaseDatePickerMonthSelector",
10
+ props: {
11
+ cursor: {},
12
+ disabled: { type: Boolean }
13
+ },
14
+ emits: ["update:month"],
15
+ setup(d, { emit: i }) {
16
+ const o = d, m = i, u = c(() => o.cursor.month()), _ = c(() => {
17
+ const t = o.cursor.clone().startOf("year"), n = u.value;
18
+ return Array.from({ length: 12 }, (e, r) => {
19
+ const s = t.add(r, "month");
20
+ return {
21
+ text: s.format("MMMM"),
22
+ key: s.unix(),
23
+ selected: r === n,
24
+ handler: () => m("update:month", r)
25
+ };
26
+ });
27
+ });
28
+ return (t, n) => (a(), l("div", v, [
29
+ h("div", g, [
30
+ (a(!0), l(p, null, k(_.value, (e) => (a(), f(C, {
31
+ key: e.key,
32
+ "aria-label": e.text,
33
+ "aria-selected": e.selected,
34
+ class: y({
35
+ content__btn: !0,
36
+ "content__btn--selected": e.selected
37
+ }),
38
+ disabled: t.disabled,
39
+ role: "option",
40
+ type: "button",
41
+ onClick: e.handler
42
+ }, {
43
+ default: M(() => [
44
+ x(B(e.text), 1)
45
+ ]),
46
+ _: 2
47
+ }, 1032, ["aria-label", "aria-selected", "class", "disabled", "onClick"]))), 128))
48
+ ])
49
+ ]));
50
+ }
51
+ });
33
52
  export {
34
- a as default
53
+ N as default
35
54
  };
package/dist/index259.js CHANGED
@@ -1,30 +1,34 @@
1
- import { defineComponent as l, createElementBlock as n, openBlock as r, unref as a, createElementVNode as t } from "vue";
2
- import { useLocale as s } from "./index229.js";
3
- const c = ["aria-label"], b = /* @__PURE__ */ l({
4
- __name: "ClearableButton",
5
- setup(u) {
6
- const { t: o } = s();
7
- return (i, e) => (r(), n("button", {
8
- "aria-label": a(o)("common.clearLabel").value,
9
- class: "bb-clearable-button",
10
- type: "button"
11
- }, e[0] || (e[0] = [
12
- t("svg", {
13
- viewBox: "0 0 24 24",
14
- xmlns: "http://www.w3.org/2000/svg"
15
- }, [
16
- t("path", {
17
- d: "M12 12l7 7M12 12l-7 -7M12 12l-7 7M12 12l7 -7",
18
- fill: "none",
19
- stroke: "currentColor",
20
- "stroke-linecap": "round",
21
- "stroke-linejoin": "round",
22
- "stroke-width": "2"
23
- })
24
- ], -1)
25
- ]), 8, c));
1
+ import { defineComponent as c, createBlock as l, openBlock as m, Transition as u, withCtx as f, renderSlot as d } from "vue";
2
+ const y = /* @__PURE__ */ c({
3
+ __name: "ScaleFade",
4
+ props: {
5
+ duration: { default: 200 },
6
+ scaleFrom: { default: 0.97 }
7
+ },
8
+ setup(n) {
9
+ const t = n, a = (s) => {
10
+ const e = s;
11
+ e.style.opacity = "0", e.style.transform = `scale(${t.scaleFrom})`, e.style.transformOrigin = "center top";
12
+ }, r = (s, e) => {
13
+ const o = s;
14
+ o.style.transition = `opacity ${t.duration}ms ease-out, transform ${t.duration}ms cubic-bezier(0.34, 1.56, 0.64, 1)`, o.offsetHeight, o.style.opacity = "1", o.style.transform = "scale(1)", setTimeout(e, t.duration);
15
+ }, i = (s, e) => {
16
+ const o = s;
17
+ o.style.transition = `opacity ${t.duration}ms ease-in, transform ${t.duration}ms ease-in`, o.style.opacity = "0", o.style.transform = `scale(${t.scaleFrom})`, setTimeout(e, t.duration);
18
+ };
19
+ return (s, e) => (m(), l(u, {
20
+ css: !1,
21
+ onBeforeEnter: a,
22
+ onEnter: r,
23
+ onLeave: i
24
+ }, {
25
+ default: f(() => [
26
+ d(s.$slots, "default")
27
+ ]),
28
+ _: 3
29
+ }));
26
30
  }
27
31
  });
28
32
  export {
29
- b as default
33
+ y as default
30
34
  };
@@ -0,0 +1,62 @@
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 "./index343.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
+ });
60
+ export {
61
+ V as default
62
+ };
package/dist/index261.js CHANGED
@@ -1,5 +1,7 @@
1
- import t from "./index302.js";
2
- const r = t;
1
+ const o = (l, n, f = (r) => r, u) => l.map((r) => Array.isArray(r[n]) ? [
2
+ f(r, u),
3
+ ...o(r[n], n, f, f(r, u))
4
+ ] : [f(r, u)]).flat();
3
5
  export {
4
- r as throttle
6
+ o as flattenTree
5
7
  };