bitboss-ui 2.1.91 → 2.1.93

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 (188) hide show
  1. package/dist/components/BbTab/BbTab.vue.d.ts +120 -91
  2. package/dist/index107.js +9 -9
  3. package/dist/index114.js +1 -1
  4. package/dist/index120.js +239 -167
  5. package/dist/index122.js +12 -12
  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/index141.js +2 -2
  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 +138 -2
  18. package/dist/index216.js +2 -138
  19. package/dist/index217.js +1 -1
  20. package/dist/index218.js +1 -1
  21. package/dist/index219.js +4 -5
  22. package/dist/index220.js +13 -5
  23. package/dist/index221.js +20 -5
  24. package/dist/index222.js +201 -5
  25. package/dist/index224.js +135 -2
  26. package/dist/index226.js +7 -8
  27. package/dist/index227.js +2 -268
  28. package/dist/index228.js +2 -52
  29. package/dist/index229.js +188 -52
  30. package/dist/index23.js +11 -11
  31. package/dist/index230.js +3 -32
  32. package/dist/index231.js +12 -59
  33. package/dist/index232.js +13 -13
  34. package/dist/index233.js +3 -4
  35. package/dist/index234.js +4 -20
  36. package/dist/index235.js +9 -200
  37. package/dist/index236.js +5 -0
  38. package/dist/index237.js +4 -135
  39. package/dist/index238.js +5 -0
  40. package/dist/index239.js +9 -10
  41. package/dist/index240.js +8 -3
  42. package/dist/index241.js +3 -4
  43. package/dist/index242.js +29 -3
  44. package/dist/index243.js +16 -86
  45. package/dist/index244.js +19 -0
  46. package/dist/index245.js +48 -26
  47. package/dist/index246.js +11 -16
  48. package/dist/index247.js +32 -50
  49. package/dist/index248.js +28 -15
  50. package/dist/index25.js +3 -3
  51. package/dist/index250.js +22 -15
  52. package/dist/index251.js +5 -34
  53. package/dist/index252.js +5 -9
  54. package/dist/index253.js +5 -13
  55. package/dist/index254.js +5 -23
  56. package/dist/index255.js +2 -9
  57. package/dist/index256.js +6 -23
  58. package/dist/index257.js +8 -2
  59. package/dist/index258.js +268 -2
  60. package/dist/index259.js +52 -4
  61. package/dist/index260.js +50 -7
  62. package/dist/index261.js +31 -52
  63. package/dist/index262.js +60 -2
  64. package/dist/index263.js +86 -2
  65. package/dist/index265.js +14 -32
  66. package/dist/index266.js +32 -26
  67. package/dist/index267.js +11 -0
  68. package/dist/index268.js +8 -10
  69. package/dist/index269.js +23 -5
  70. package/dist/index27.js +1 -1
  71. package/dist/index270.js +6 -3
  72. package/dist/index271.js +16 -6
  73. package/dist/index272.js +52 -15
  74. package/dist/index273.js +2 -106
  75. package/dist/index274.js +9 -0
  76. package/dist/index275.js +7 -100
  77. package/dist/index277.js +2 -3
  78. package/dist/index278.js +2 -13
  79. package/dist/index279.js +3 -5
  80. package/dist/index280.js +18 -5
  81. package/dist/index281.js +12 -5
  82. package/dist/index282.js +106 -3
  83. package/dist/index284.js +100 -7
  84. package/dist/index286.js +229 -3
  85. package/dist/index287.js +33 -2
  86. package/dist/index288.js +3 -7
  87. package/dist/index289.js +67 -7
  88. package/dist/index29.js +2 -2
  89. package/dist/index290.js +11 -67
  90. package/dist/index291.js +5 -18
  91. package/dist/index292.js +5 -12
  92. package/dist/index293.js +5 -229
  93. package/dist/index294.js +7 -0
  94. package/dist/index295.js +1 -1
  95. package/dist/index296.js +1 -1
  96. package/dist/index297.js +7 -17
  97. package/dist/index299.js +1 -1
  98. package/dist/index300.js +5 -3
  99. package/dist/index301.js +3 -6
  100. package/dist/index302.js +3 -280
  101. package/dist/index303.js +17 -2
  102. package/dist/index304.js +27 -15
  103. package/dist/index305.js +280 -2
  104. package/dist/index306.js +2 -16
  105. package/dist/index307.js +16 -2
  106. package/dist/index308.js +2 -27
  107. package/dist/index309.js +16 -2
  108. package/dist/index31.js +2 -2
  109. package/dist/index310.js +2 -2
  110. package/dist/index311.js +27 -2
  111. package/dist/index312.js +2 -2
  112. package/dist/index313.js +1 -1
  113. package/dist/index314.js +1 -1
  114. package/dist/index315.js +1 -1
  115. package/dist/index316.js +2 -4
  116. package/dist/index317.js +2 -5
  117. package/dist/index318.js +2 -719
  118. package/dist/index319.js +716 -363
  119. package/dist/index320.js +366 -57
  120. package/dist/index321.js +57 -3
  121. package/dist/index322.js +4 -3
  122. package/dist/index323.js +3 -4
  123. package/dist/index324.js +3 -6
  124. package/dist/index325.js +2 -5
  125. package/dist/index326.js +5 -124
  126. package/dist/index327.js +5 -2
  127. package/dist/index328.js +2 -15
  128. package/dist/index329.js +8 -2
  129. package/dist/index33.js +8 -8
  130. package/dist/index330.js +5 -18
  131. package/dist/index331.js +8 -2
  132. package/dist/index332.js +5 -2
  133. package/dist/index333.js +6 -7
  134. package/dist/index334.js +6 -5
  135. package/dist/index335.js +19 -8
  136. package/dist/index336.js +9 -5
  137. package/dist/index337.js +14 -6
  138. package/dist/index338.js +226 -33
  139. package/dist/index339.js +35 -6
  140. package/dist/index340.js +6 -129
  141. package/dist/index341.js +113 -382
  142. package/dist/index342.js +397 -6
  143. package/dist/index343.js +57 -18
  144. package/dist/index344.js +58 -9
  145. package/dist/index345.js +124 -14
  146. package/dist/index346.js +2 -58
  147. package/dist/index347.js +15 -58
  148. package/dist/index348.js +2 -22
  149. package/dist/index349.js +21 -0
  150. package/dist/index35.js +4 -4
  151. package/dist/index350.js +2 -2
  152. package/dist/index351.js +21 -227
  153. package/dist/index353.js +130 -89
  154. package/dist/index354.js +43 -437
  155. package/dist/index355.js +91 -126
  156. package/dist/index356.js +515 -42
  157. package/dist/index357.js +424 -503
  158. package/dist/index358.js +126 -48
  159. package/dist/index359.js +52 -0
  160. package/dist/index37.js +18 -18
  161. package/dist/index39.js +6 -6
  162. package/dist/index41.js +2 -2
  163. package/dist/index43.js +8 -8
  164. package/dist/index45.js +6 -6
  165. package/dist/index49.js +2 -2
  166. package/dist/index53.js +1 -1
  167. package/dist/index55.js +1 -1
  168. package/dist/index57.js +2 -2
  169. package/dist/index61.js +5 -5
  170. package/dist/index67.js +1 -1
  171. package/dist/index80.js +6 -6
  172. package/dist/index82.js +1 -1
  173. package/dist/index84.js +2 -2
  174. package/dist/index86.js +17 -17
  175. package/dist/index88.js +1 -1
  176. package/dist/index91.js +3 -3
  177. package/dist/index93.js +2 -2
  178. package/dist/index95.js +5 -5
  179. package/dist/utilities/functions/merge.d.ts +11 -1
  180. package/package.json +3 -3
  181. package/dist/index223.js +0 -5
  182. package/dist/index225.js +0 -8
  183. package/dist/index249.js +0 -14
  184. package/dist/index283.js +0 -10
  185. package/dist/index285.js +0 -190
  186. package/dist/index298.js +0 -30
  187. package/dist/index352.js +0 -136
  188. /package/dist/{index264.js → index276.js} +0 -0
package/dist/index246.js CHANGED
@@ -1,19 +1,14 @@
1
- import { computed as u, unref as a } from "vue";
2
- import { hash as d } from "./index223.js";
3
- const p = ({
4
- items: m,
5
- key: e
6
- }) => {
7
- const n = (t) => e ? String(t[e]) : d(t), o = u(() => {
8
- const t = {}, s = Array.from(a(m) ?? []);
9
- for (let r = 0; r < s.length; r++) {
10
- const c = s[r];
11
- t[n(c)] = c;
12
- }
13
- return t;
14
- });
15
- return { data: o, get: (t) => o.value[n(t)] };
1
+ import { hash as e } from "./index241.js";
2
+ import { debouncedWatch as s } from "./index215.js";
3
+ const n = (o, c, h) => {
4
+ s(
5
+ o,
6
+ (r, t) => {
7
+ e(r) !== e(t) && c(r, t);
8
+ },
9
+ h
10
+ );
16
11
  };
17
12
  export {
18
- p as useIndexById
13
+ n as useHashedWatcher
19
14
  };
package/dist/index247.js CHANGED
@@ -1,53 +1,35 @@
1
- import { computed as l, unref as o } from "vue";
2
- import { useItemText as x } from "./index297.js";
3
- import { useItemValue as w } from "./index260.js";
4
- import { hash as y } from "./index223.js";
5
- import { useLogger as D } from "./index226.js";
6
- const { getItemText: O } = x(), { getItemValue: V } = w(), { warn: H } = D(), T = (u, c, m, a, d, r) => r ? !1 : !!(c || u.disabled || a && d >= a), q = ({
7
- items: u,
8
- disabled: c,
9
- selectable: m,
10
- itemText: a,
11
- itemValue: d,
12
- selectedIndexedByHash: r,
13
- max: b = 1 / 0
14
- }) => {
15
- const v = l(() => o(c)), p = l(() => o(u)), h = l(
16
- () => Object.keys(r.value).length
17
- ), g = o(b), f = (e) => {
18
- const n = V(e, o(d)), t = y(n), i = O(e, o(a)), s = r.value[t] !== void 0, I = T(
19
- e,
20
- v.value,
21
- m,
22
- g,
23
- h.value,
24
- s
25
- );
26
- return {
27
- item: e,
28
- text: i,
29
- value: n,
30
- valueHash: t,
31
- selected: s,
32
- disabled: o(I)
33
- };
34
- };
35
- return {
36
- options: l(() => {
37
- const e = [], n = /* @__PURE__ */ new Set();
38
- for (let t = 0; t < p.value.length; t++) {
39
- const i = p.value[t];
40
- i.disabled && H(
41
- "Disabling an item by passing a disabled option to the item itself is deprecated and will be removed in a future version. Use the `disabled` prop or the `selectable` iteratee prop instead."
42
- );
43
- const s = f(i);
44
- n.has(s.valueHash) || (n.add(s.valueHash), e.push(s));
45
- }
46
- return e;
47
- }),
48
- createOption: f
49
- };
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"
50
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]]);
51
33
  export {
52
- q as useBaseOptions
34
+ a as default
53
35
  };
package/dist/index248.js CHANGED
@@ -1,17 +1,30 @@
1
- import { isNil as f } from "./index258.js";
2
- import { computed as t, unref as o } from "vue";
3
- const a = ({ modelValue: e, iteratee: h, multiple: u }) => {
4
- const i = t(
5
- () => new Array().concat(o(e))
6
- ), s = t(() => i.value.reduce(
7
- (r, n) => (h(n) ? r.coherent.push(n) : r.incoherent.push(n), r),
8
- { coherent: [], incoherent: [] }
9
- )), c = t(() => u && !o(e).length || !u && f(o(e)) ? !0 : !s.value.incoherent.length);
10
- return {
11
- status: s,
12
- coherent: c
13
- };
14
- };
1
+ import { defineComponent as l, createElementBlock as n, openBlock as r, unref as a, createElementVNode as t } from "vue";
2
+ import { useLocale as s } from "./index220.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));
26
+ }
27
+ });
15
28
  export {
16
- a as useCoherence
29
+ b as default
17
30
  };
package/dist/index25.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { defineComponent as I, mergeModels as M, useModel as W, computed as h, ref as g, watch as N, onMounted as P, createElementBlock as n, openBlock as r, withModifiers as F, normalizeStyle as O, normalizeClass as q, unref as y, createCommentVNode as f, Fragment as A, createElementVNode as a, renderSlot as s, createTextVNode as K, toDisplayString as T, nextTick as R } from "vue";
2
- import { parseSize as U } from "./index278.js";
2
+ import { parseSize as U } from "./index231.js";
3
3
  import { useId as D } from "./index8.js";
4
- import { useLocale as j } from "./index232.js";
4
+ import { useLocale as j } from "./index220.js";
5
5
  import { useMobile as G } from "./index9.js";
6
- import { useUntil as J } from "./index253.js";
6
+ import { useUntil as J } from "./index232.js";
7
7
  import { wait as w } from "./index140.js";
8
8
  import { _config as Q } from "./index4.js";
9
9
  const X = ["aria-describedby", "aria-labelledby", "aria-live", "inert"], Y = {
package/dist/index250.js CHANGED
@@ -1,18 +1,25 @@
1
- import { isNotNil as n } from "./index144.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 };
1
+ const i = (t) => {
2
+ const n = t.toString().replace(/\.0+$/, "").replace(/\.$/, "");
3
+ return parseFloat(n) || 0;
15
4
  };
5
+ function s(t) {
6
+ if (typeof t == "number")
7
+ return {
8
+ value: i(t),
9
+ unit: "px"
10
+ };
11
+ if (typeof t == "string") {
12
+ const r = /^(-?\d*\.?\d+)([a-zA-Z%]*)?$/, e = t.match(r);
13
+ if (e) {
14
+ const [, n, o = "px"] = e, a = parseFloat(n);
15
+ return {
16
+ value: i(a),
17
+ unit: o
18
+ };
19
+ }
20
+ }
21
+ throw new Error(`Invalid width: ${t}`);
22
+ }
16
23
  export {
17
- h as usePrefill
24
+ s as parseWidthString
18
25
  };
package/dist/index251.js CHANGED
@@ -1,36 +1,7 @@
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 "./index226.js";
4
- import { useFrameworkDetection as k } from "./index252.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
- );
16
- }
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
- );
23
- }
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
- }));
32
- }
33
- });
1
+ import { getDefaultExportFromCjs as r } from "./index326.js";
2
+ import { __require as o } from "./index305.js";
3
+ var t = o();
4
+ const s = /* @__PURE__ */ r(t);
34
5
  export {
35
- y as default
6
+ s as default
36
7
  };
package/dist/index252.js CHANGED
@@ -1,11 +1,7 @@
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 { getDefaultExportFromCjs as r } from "./index326.js";
2
+ import { __require as e } from "./index307.js";
3
+ var t = e();
4
+ const m = /* @__PURE__ */ r(t);
9
5
  export {
10
- s as useFrameworkDetection
6
+ m as default
11
7
  };
package/dist/index253.js CHANGED
@@ -1,15 +1,7 @@
1
- import { ref as c, watch as f, toValue as u } from "vue";
2
- const p = (e, { initialValue: r = !1, nextValue: o = !0 } = {}) => {
3
- const t = c(r);
4
- if (r) return t;
5
- const n = f(
6
- () => u(e),
7
- (s) => {
8
- s && (t.value = o, n());
9
- }
10
- );
11
- return t;
12
- };
1
+ import { getDefaultExportFromCjs as r } from "./index326.js";
2
+ import { __require as e } from "./index309.js";
3
+ var o = e();
4
+ const m = /* @__PURE__ */ r(o);
13
5
  export {
14
- p as useUntil
6
+ m as default
15
7
  };
package/dist/index254.js CHANGED
@@ -1,25 +1,7 @@
1
- const i = (t) => {
2
- const n = t.toString().replace(/\.0+$/, "").replace(/\.$/, "");
3
- return parseFloat(n) || 0;
4
- };
5
- function s(t) {
6
- if (typeof t == "number")
7
- return {
8
- value: i(t),
9
- unit: "px"
10
- };
11
- if (typeof t == "string") {
12
- const r = /^(-?\d*\.?\d+)([a-zA-Z%]*)?$/, e = t.match(r);
13
- if (e) {
14
- const [, n, o = "px"] = e, a = parseFloat(n);
15
- return {
16
- value: i(a),
17
- unit: o
18
- };
19
- }
20
- }
21
- throw new Error(`Invalid width: ${t}`);
22
- }
1
+ import { getDefaultExportFromCjs as e } from "./index326.js";
2
+ import { __require as r } from "./index311.js";
3
+ var o = r();
4
+ const f = /* @__PURE__ */ e(o);
23
5
  export {
24
- s as parseWidthString
6
+ f as default
25
7
  };
package/dist/index255.js CHANGED
@@ -1,11 +1,4 @@
1
- const o = (n, t) => {
2
- for (let e = n.length - 1; e >= 0; e--) {
3
- const i = n[e];
4
- if (t(i, e, n))
5
- return e;
6
- }
7
- return -1;
8
- };
1
+ const e = (t) => t[t.length - 1];
9
2
  export {
10
- o as findRightIndex
3
+ e as last
11
4
  };
package/dist/index256.js CHANGED
@@ -1,25 +1,8 @@
1
- const e = {
2
- inert: ":not([inert]):not([inert] *)",
3
- negTabIndex: ':not([tabindex^="-"])',
4
- disabled: ":not(:disabled)"
5
- }, n = [
6
- `a[href]${e.inert}${e.negTabIndex}`,
7
- `area[href]${e.inert}${e.negTabIndex}`,
8
- `input:not([type="hidden"]):not([type="radio"])${e.inert}${e.negTabIndex}${e.disabled}`,
9
- `input[type="radio"]${e.inert}${e.negTabIndex}${e.disabled}`,
10
- `select${e.inert}${e.negTabIndex}${e.disabled}`,
11
- `textarea${e.inert}${e.negTabIndex}${e.disabled}`,
12
- `button${e.inert}${e.negTabIndex}${e.disabled}`,
13
- `details${e.inert} > summary:first-of-type${e.negTabIndex}`,
14
- // Discard until Firefox supports `:has()`
15
- // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12
16
- // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,
17
- `iframe${e.inert}${e.negTabIndex}`,
18
- `audio[controls]${e.inert}${e.negTabIndex}`,
19
- `video[controls]${e.inert}${e.negTabIndex}`,
20
- `[contenteditable]${e.inert}${e.negTabIndex}`,
21
- `[tabindex]${e.inert}${e.negTabIndex}`
22
- ];
1
+ function e(t, r) {
2
+ if (!/\d{4}-\d{2}-\d{2}/.test(t))
3
+ throw new Error(`${r} must be in the format YYYY-MM-DD`);
4
+ return t;
5
+ }
23
6
  export {
24
- n as default
7
+ e as validateDateFormat
25
8
  };
package/dist/index257.js CHANGED
@@ -1,4 +1,10 @@
1
- const s = (r) => !!r && !!r.match(/^(#|var\(--|(rgb|hsl)a?\()/);
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
+ }
7
+ });
2
8
  export {
3
- s as isCssColor
9
+ e as useLogger
4
10
  };
package/dist/index258.js CHANGED
@@ -1,4 +1,270 @@
1
- const r = (e) => typeof e > "u" || e === null;
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 "./index334.js";
3
+ import { identity as L } from "./index278.js";
4
+ import { isNotNil as ke } from "./index144.js";
5
+ import { last as ve } from "./index255.js";
6
+ import { sort as N } from "./index335.js";
7
+ import { validateDateFormat as R } from "./index256.js";
8
+ import { toInnerValue as Oe, toOuterValue as p } from "./index336.js";
9
+ import { isDateDisabled as we } from "./index337.js";
10
+ import g from "./index251.js";
11
+ import Se from "./index332.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);
87
+ }
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);
108
+ }
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));
266
+ }
267
+ });
2
268
  export {
3
- r as isNil
269
+ Pe as default
4
270
  };