bitboss-ui 2.1.84 → 2.1.85

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/components/BbTable/utils.d.ts +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index107.js +7 -7
  4. package/dist/index112.js +1 -1
  5. package/dist/index114.js +1 -1
  6. package/dist/index120.js +1 -1
  7. package/dist/index122.js +50 -50
  8. package/dist/index13.js +2 -2
  9. package/dist/index130.js +1 -1
  10. package/dist/index132.js +5 -5
  11. package/dist/index134.js +1 -1
  12. package/dist/index136.js +2 -2
  13. package/dist/index143.js +2 -2
  14. package/dist/index15.js +5 -5
  15. package/dist/index17.js +3 -3
  16. package/dist/index19.js +5 -5
  17. package/dist/index21.js +14 -14
  18. package/dist/index217.js +32 -4
  19. package/dist/index218.js +28 -8
  20. package/dist/index220.js +5 -2
  21. package/dist/index221.js +5 -3
  22. package/dist/index222.js +5 -5
  23. package/dist/index223.js +5 -5
  24. package/dist/index224.js +3 -5
  25. package/dist/index225.js +2 -5
  26. package/dist/index226.js +6 -5
  27. package/dist/index227.js +8 -5
  28. package/dist/index228.js +268 -2
  29. package/dist/index229.js +52 -3
  30. package/dist/index23.js +11 -11
  31. package/dist/index230.js +51 -12
  32. package/dist/index231.js +30 -18
  33. package/dist/index232.js +57 -132
  34. package/dist/index233.js +15 -0
  35. package/dist/index234.js +5 -34
  36. package/dist/index235.js +8 -9
  37. package/dist/index236.js +5 -13
  38. package/dist/index237.js +4 -13
  39. package/dist/index238.js +19 -32
  40. package/dist/index239.js +199 -26
  41. package/dist/index241.js +135 -7
  42. package/dist/index243.js +1 -1
  43. package/dist/index246.js +14 -15
  44. package/dist/index247.js +15 -49
  45. package/dist/index248.js +48 -12
  46. package/dist/index249.js +15 -3
  47. package/dist/index25.js +3 -3
  48. package/dist/index250.js +1 -1
  49. package/dist/index251.js +2 -16
  50. package/dist/index252.js +2 -5
  51. package/dist/index253.js +2 -2
  52. package/dist/index254.js +7 -6
  53. package/dist/index255.js +7 -8
  54. package/dist/index256.js +4 -268
  55. package/dist/index257.js +7 -50
  56. package/dist/index258.js +51 -50
  57. package/dist/index259.js +187 -31
  58. package/dist/index260.js +3 -60
  59. package/dist/index261.js +3 -5
  60. package/dist/index262.js +33 -187
  61. package/dist/index263.js +9 -3
  62. package/dist/index264.js +3 -67
  63. package/dist/index265.js +9 -3
  64. package/dist/index266.js +13 -4
  65. package/dist/index267.js +23 -9
  66. package/dist/index268.js +4 -41
  67. package/dist/index269.js +22 -3
  68. package/dist/index27.js +1 -1
  69. package/dist/index270.js +12 -200
  70. package/dist/index271.js +12 -0
  71. package/dist/index272.js +3 -3
  72. package/dist/index273.js +3 -11
  73. package/dist/index274.js +7 -106
  74. package/dist/index275.js +5 -0
  75. package/dist/index276.js +17 -99
  76. package/dist/index277.js +14 -0
  77. package/dist/index278.js +106 -4
  78. package/dist/index280.js +99 -7
  79. package/dist/index282.js +229 -23
  80. package/dist/index283.js +6 -2
  81. package/dist/index284.js +16 -7
  82. package/dist/index285.js +8 -6
  83. package/dist/index286.js +10 -8
  84. package/dist/index287.js +5 -6
  85. package/dist/index288.js +5 -16
  86. package/dist/index289.js +5 -18
  87. package/dist/index29.js +2 -2
  88. package/dist/index290.js +2 -12
  89. package/dist/index291.js +2 -229
  90. package/dist/index292.js +67 -10
  91. package/dist/index293.js +8 -3
  92. package/dist/index295.js +1 -1
  93. package/dist/index298.js +12 -121
  94. package/dist/index299.js +2 -2
  95. package/dist/index300.js +11 -10
  96. package/dist/index302.js +23 -12
  97. package/dist/index304.js +2 -16
  98. package/dist/index305.js +2 -2
  99. package/dist/index306.js +2 -19
  100. package/dist/index307.js +2 -2
  101. package/dist/index308.js +28 -3
  102. package/dist/index309.js +2 -7
  103. package/dist/index31.js +2 -2
  104. package/dist/index310.js +7 -2
  105. package/dist/index311.js +1 -1
  106. package/dist/index312.js +3 -27
  107. package/dist/index313.js +3 -2
  108. package/dist/index314.js +3 -2
  109. package/dist/index315.js +17 -2
  110. package/dist/index316.js +5 -2
  111. package/dist/index317.js +5 -2
  112. package/dist/index318.js +4 -28
  113. package/dist/index319.js +6 -2
  114. package/dist/index320.js +4 -3
  115. package/dist/index321.js +3 -17
  116. package/dist/index322.js +3 -4
  117. package/dist/index323.js +2 -5
  118. package/dist/index324.js +719 -3
  119. package/dist/index325.js +366 -4
  120. package/dist/index326.js +57 -5
  121. package/dist/index327.js +5 -6
  122. package/dist/index328.js +7 -3
  123. package/dist/index329.js +7 -3
  124. package/dist/index33.js +5 -5
  125. package/dist/index330.js +19 -719
  126. package/dist/index331.js +9 -366
  127. package/dist/index332.js +12 -54
  128. package/dist/index333.js +93 -2
  129. package/dist/index334.js +2 -35
  130. package/dist/index335.js +228 -6
  131. package/dist/index336.js +122 -126
  132. package/dist/index337.js +2 -398
  133. package/dist/index338.js +14 -6
  134. package/dist/index339.js +2 -19
  135. package/dist/index340.js +18 -8
  136. package/dist/index341.js +2 -15
  137. package/dist/index342.js +35 -5
  138. package/dist/index343.js +6 -7
  139. package/dist/index344.js +128 -57
  140. package/dist/index345.js +396 -56
  141. package/dist/index346.js +7 -227
  142. package/dist/index347.js +5 -133
  143. package/dist/index348.js +8 -22
  144. package/dist/index349.js +60 -0
  145. package/dist/index35.js +4 -4
  146. package/dist/index350.js +58 -8
  147. package/dist/index351.js +22 -6
  148. package/dist/index353.js +130 -89
  149. package/dist/index354.js +2 -2
  150. package/dist/index355.js +503 -424
  151. package/dist/index356.js +427 -114
  152. package/dist/index357.js +124 -516
  153. package/dist/index37.js +16 -16
  154. package/dist/index39.js +6 -6
  155. package/dist/index41.js +2 -2
  156. package/dist/index43.js +5 -5
  157. package/dist/index45.js +6 -6
  158. package/dist/index49.js +2 -2
  159. package/dist/index53.js +1 -1
  160. package/dist/index55.js +1 -1
  161. package/dist/index57.js +2 -2
  162. package/dist/index61.js +5 -5
  163. package/dist/index67.js +1 -1
  164. package/dist/index80.js +6 -6
  165. package/dist/index82.js +1 -1
  166. package/dist/index84.js +2 -2
  167. package/dist/index86.js +3 -3
  168. package/dist/index88.js +1 -1
  169. package/dist/index91.js +3 -3
  170. package/dist/index93.js +2 -2
  171. package/dist/index95.js +5 -5
  172. package/package.json +1 -1
  173. package/dist/index219.js +0 -4
  174. package/dist/index242.js +0 -4
  175. package/dist/index279.js +0 -25
  176. package/dist/index281.js +0 -11
  177. package/dist/index352.js +0 -10
package/dist/index232.js CHANGED
@@ -1,137 +1,62 @@
1
- import { defineComponent as A, mergeModels as L, useModel as T, ref as c, computed as a, watch as F, onMounted as S, createBlock as N, openBlock as w, resolveDynamicComponent as U, mergeProps as g, unref as y, withModifiers as h, withCtx as j, createElementVNode as q, createElementBlock as I, createCommentVNode as R, renderSlot as X, nextTick as z } from "vue";
2
- import { useCancelableFunction as G } from "./index334.js";
3
- import { useUntil as H } from "./index237.js";
4
- import { extractDomContainer as x } from "./index278.js";
5
- import { waitFor as J } from "./index335.js";
6
- import { arrow as K, useFloating as O } from "./index336.js";
7
- import { flip as Q, offset as W, shift as Y, hide as Z, autoUpdate as ee } from "./index337.js";
8
- const oe = {
9
- key: 0,
10
- class: "bb-common-popover__bubble"
11
- }, ue = /* @__PURE__ */ A({
12
- __name: "CommonPopover",
13
- props: /* @__PURE__ */ L({
14
- arrowPadding: {},
15
- eager: { type: Boolean },
16
- offset: {},
17
- padding: { default: 0 },
18
- placement: {},
19
- transitionDuration: { default: 250 },
20
- anchor: {},
21
- boundary: {},
22
- dialog: { type: Boolean },
23
- hideArrow: { type: Boolean },
24
- tag: { default: "span" },
25
- flip: { type: Boolean, default: !0 }
26
- }, {
27
- modelValue: { type: Boolean, default: !1 },
28
- modelModifiers: {}
29
- }),
30
- emits: ["update:modelValue"],
31
- setup(m) {
32
- const o = m, r = T(m, "modelValue"), s = c(r.value), C = a(() => o.dialog ? "dialog" : "span"), t = c(), f = c(), _ = a(() => {
33
- const e = o.anchor;
34
- return e && typeof e == "object" && "getBoundingClientRect" in e && !(e instanceof Element) ? e : x(e);
35
- }), B = H(r, { initialValue: o.eager }), P = a(() => {
36
- if (o.boundary)
37
- return typeof o.boundary == "string" ? document.querySelector(o.boundary) ?? void 0 : x(o.boundary) ?? void 0;
38
- }), k = a(() => {
39
- const e = P.value;
40
- return [
41
- ...o.flip ? [Q(e ? { boundary: e } : void 0)] : [],
42
- W(o.offset),
43
- Y({ padding: o.padding, ...e ? { boundary: e } : {} }),
44
- Z(),
45
- ...o.hideArrow ? [] : [
46
- K({
47
- element: f,
48
- padding: o.arrowPadding
49
- })
50
- ]
51
- ];
52
- }), { floatingStyles: E, placement: M, middlewareData: u, update: v } = O(
53
- _,
54
- t,
55
- {
56
- placement: o.placement,
57
- whileElementsMounted: ee,
58
- middleware: k,
59
- strategy: "fixed"
60
- }
61
- ), { execute: b } = G(
62
- ({ signal: e }, n) => new Promise((l) => {
63
- let i;
64
- const p = () => {
65
- i && clearTimeout(i);
66
- };
67
- e.addEventListener("abort", p), n ? ($(), v(), J(() => !!t.value).then(() => {
68
- s.value = !0, e.removeEventListener("abort", p), l(void 0);
69
- })) : (s.value = !1, i = setTimeout(() => {
70
- z(() => {
71
- t.value && (o.dialog ? t.value.close() : t.value.hidePopover()), e.removeEventListener("abort", p), v(), l(void 0);
72
- });
73
- }, o.transitionDuration));
74
- })
75
- ), $ = () => {
76
- if (!t.value) return;
77
- if (!o.dialog) return t.value.showPopover();
78
- t.value.showModal();
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 "./index328.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));
79
26
  };
80
- F(r, b), S(() => {
81
- r.value && b(r.value);
82
- });
83
- const D = a(() => {
84
- const e = r.value ? void 0 : -1, n = Math.round(u.value.arrow?.x ?? 0), l = o.dialog ? void 0 : "manual";
85
- return {
86
- style: {
87
- ...E.value,
88
- "--transition-duration": `${o.transitionDuration}ms`,
89
- "--page-padding": `${o.padding}px`,
90
- "--arrow-offset-x": `${n}px`
91
- },
92
- popover: l,
93
- tabindex: e
94
- };
95
- }), V = a(() => {
96
- if (u.value.arrow) {
97
- const { x: e, y: n } = u.value.arrow;
98
- return {
99
- style: {
100
- left: `${e}px`,
101
- top: `${n}px`
102
- }
103
- };
104
- }
105
- }), d = () => {
106
- r.value = !1;
107
- };
108
- return (e, n) => (w(), N(U(C.value), g({
109
- ref_key: "wrapper",
110
- ref: t,
111
- class: ["bb-common-popover", {
112
- "bb-common-popover--open": s.value,
113
- "bb-common-popover--no-arrow": e.hideArrow,
114
- [`bb-common-popover--${y(M)}`]: !0
115
- }]
116
- }, D.value, {
117
- onClick: h(d, ["self", "stop"]),
118
- onContextmenu: h(d, ["self", "stop", "prevent"]),
119
- onClose: d
120
- }), {
121
- default: j(() => [
122
- q("span", g({
123
- ref_key: "bubblearrow",
124
- ref: f,
125
- class: "bb-common-popover__arrow"
126
- }, V.value), null, 16),
127
- y(B) ? (w(), I("span", oe, [
128
- X(e.$slots, "default")
129
- ])) : R("", !0)
130
- ]),
131
- _: 3
132
- }, 16, ["class"]));
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));
133
58
  }
134
59
  });
135
60
  export {
136
- ue as default
61
+ V as default
137
62
  };
@@ -0,0 +1,15 @@
1
+ import { locales as t } from "./index310.js";
2
+ import { _config as m } from "./index4.js";
3
+ import { get as c } from "./index286.js";
4
+ import { readonly as l, computed as n } from "vue";
5
+ const p = (o, ...r) => l(
6
+ n(() => c(t[m.locale], o).replace(
7
+ /\{(\d+)\}/g,
8
+ (a, e) => r[e]
9
+ ))
10
+ ), d = () => ({
11
+ t: p
12
+ });
13
+ export {
14
+ d as useLocale
15
+ };
package/dist/index234.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 "./index255.js";
4
- import { useFrameworkDetection as k } from "./index235.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 { getType as t } from "./index320.js";
2
+ function o(r) {
3
+ return t(r) === "Array";
4
+ }
34
5
  export {
35
- y as default
6
+ o as isArray
36
7
  };
package/dist/index235.js CHANGED
@@ -1,11 +1,10 @@
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 { getType as o } from "./index320.js";
2
+ function c(e) {
3
+ if (o(e) !== "Object")
4
+ return !1;
5
+ const t = Object.getPrototypeOf(e);
6
+ return !!t && t.constructor === Object && t === Object.prototype;
7
+ }
9
8
  export {
10
- s as useFrameworkDetection
9
+ c as isPlainObject
11
10
  };
package/dist/index236.js CHANGED
@@ -1,15 +1,7 @@
1
- const c = (t, r) => {
2
- if (typeof t == "string") {
3
- const e = /^(\d+)([a-zA-Z%]+)?$/, n = t.match(e);
4
- if (n) {
5
- const [, o, a] = n;
6
- return a ? t : o + "px";
7
- } else if (t in r)
8
- return r[t] + "px";
9
- throw new Error(`Invalid size: ${t}`);
10
- }
11
- return t + "px";
12
- };
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();
13
5
  export {
14
- c as parseSize
6
+ o as flattenTree
15
7
  };
package/dist/index237.js CHANGED
@@ -1,15 +1,6 @@
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
+ function x(e) {
2
+ return /^#([A-Fa-f0-9]{6})$/.test(e);
3
+ }
13
4
  export {
14
- p as useUntil
5
+ x as isHex
15
6
  };
package/dist/index238.js CHANGED
@@ -1,35 +1,22 @@
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"
1
+ import { MaskInput as r } from "./index259.js";
2
+ const u = /* @__PURE__ */ new WeakMap(), p = (a, n) => {
3
+ if (a.arg == null || a.instance == null) return;
4
+ const s = "setup" in a.instance.$.type;
5
+ a.arg in a.instance ? a.instance[a.arg] = n : s && console.warn("Maska: please expose `%s` using defineExpose", a.arg);
6
+ }, k = (a, n) => {
7
+ var s;
8
+ const t = a instanceof HTMLInputElement ? a : a.querySelector("input");
9
+ if (t == null || t?.type === "file") return;
10
+ let e = {};
11
+ if (n.value != null && (e = typeof n.value == "string" ? { mask: n.value } : { ...n.value }), n.arg != null) {
12
+ const l = (o) => {
13
+ const i = n.modifiers.unmasked ? o.unmasked : n.modifiers.completed ? o.completed : o.masked;
14
+ p(n, i);
15
+ };
16
+ e.onMaska = e.onMaska == null ? l : Array.isArray(e.onMaska) ? [...e.onMaska, l] : [e.onMaska, l];
17
+ }
18
+ u.has(t) ? (s = u.get(t)) == null || s.update(e) : u.set(t, new r(t, e));
9
19
  };
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]]);
33
20
  export {
34
- a as default
21
+ k as vMaska
35
22
  };
package/dist/index239.js CHANGED
@@ -1,30 +1,203 @@
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 "./index230.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 j, ref as s, onMounted as J, watch as Q, createElementBlock as M, openBlock as S, createElementVNode as x, createTextVNode as L, createCommentVNode as B, toDisplayString as y, unref as w } from "vue";
2
+ import { hexToRgb as K } from "./index346.js";
3
+ import { getHueFromRGB as F } from "./index347.js";
4
+ import { hslToHex as b } from "./index348.js";
5
+ import { useLocale as Z } from "./index233.js";
6
+ const ee = {
7
+ id: "mainCanvasDesc",
8
+ "aria-live": "polite",
9
+ class: "sr-only"
10
+ }, te = { key: 0 }, ae = {
11
+ id: "hueCanvasDesc",
12
+ "aria-live": "polite",
13
+ class: "sr-only"
14
+ }, ne = { key: 0 }, ue = /* @__PURE__ */ j({
15
+ __name: "ColorPallette",
16
+ props: {
17
+ modelValue: {}
18
+ },
19
+ emits: ["update:modelValue"],
20
+ setup(N, { emit: O }) {
21
+ const _ = N, f = O, { t: h } = Z(), o = s(_.modelValue), d = s(
22
+ b(F(...K(o.value ?? "#ff0000")), 100, 50)
23
+ ), T = s(null), i = s(null), r = s(null), l = s({ x: 0, y: 0 }), u = s({ x: 0 }), p = s(!1), P = s(!1), q = () => {
24
+ const e = i.value, t = r.value;
25
+ !e || !t || (e.width = e.offsetWidth, e.height = e.offsetHeight, t.width = t.offsetWidth, t.height = t.offsetHeight, v(), g());
26
+ }, R = () => {
27
+ const e = i.value;
28
+ return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
29
+ }, v = () => {
30
+ const e = i.value;
31
+ if (!e) return;
32
+ const t = R();
33
+ if (!t) return;
34
+ t.clearRect(0, 0, e.width, e.height);
35
+ const a = t.createLinearGradient(0, 0, e.width, 0);
36
+ a.addColorStop(0, d.value), a.addColorStop(1, "#ffffff");
37
+ const n = t.createLinearGradient(0, 0, 0, e.height);
38
+ n.addColorStop(0, "transparent"), n.addColorStop(1, "#000000"), t.fillStyle = a, t.fillRect(0, 0, e.width, e.height), t.fillStyle = n, t.globalCompositeOperation = "multiply", t.fillRect(0, 0, e.width, e.height), t.globalCompositeOperation = "source-over", t.fillStyle = "#000000", t.strokeStyle = "#000000", t.lineWidth = 1;
39
+ }, m = () => {
40
+ const e = R();
41
+ e && (e.beginPath(), e.arc(
42
+ l.value.x,
43
+ l.value.y,
44
+ 8,
45
+ 0,
46
+ 2 * Math.PI
47
+ ), e.strokeStyle = "#ffffff", e.lineWidth = 2, e.stroke(), e.beginPath(), e.arc(
48
+ l.value.x,
49
+ l.value.y,
50
+ 7,
51
+ 0,
52
+ 2 * Math.PI
53
+ ), e.strokeStyle = "#000000", e.lineWidth = 1, e.stroke(), e.globalCompositeOperation = "source-over");
54
+ }, D = () => {
55
+ const e = r.value;
56
+ return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
57
+ }, g = () => {
58
+ const e = r.value;
59
+ if (!e) return;
60
+ const t = D();
61
+ if (!t) return;
62
+ const a = t.createLinearGradient(0, 0, e.width, 0);
63
+ for (let n = 0; n <= 360; n += 60)
64
+ a.addColorStop(n / 360, `hsl(${n}, 100%, 50%)`);
65
+ a.addColorStop(1, "hsl(360, 100%, 50%)"), t.fillStyle = a, t.fillRect(0, 0, e.width, e.height), H(), t.fillStyle = "#000000", t.strokeStyle = "#000000", t.lineWidth = 1;
66
+ }, H = () => {
67
+ const e = r.value;
68
+ if (!e) return;
69
+ const t = D();
70
+ if (!t) return;
71
+ const a = 10, n = 16, c = u.value.x - a / 2, k = e.height / 2 - n / 2;
72
+ t.beginPath(), t.roundRect(c, k, a, n, 2), t.strokeStyle = "lightgray", t.stroke(), t.fillStyle = "#ffffff", t.fill();
73
+ }, E = (e) => {
74
+ const t = i.value;
75
+ t && (t.setPointerCapture(e.pointerId), p.value = !0, I(e));
76
+ }, U = (e) => {
77
+ const t = r.value;
78
+ t && (t.setPointerCapture(e.pointerId), P.value = !0, V(e));
79
+ }, I = (e) => {
80
+ const t = i.value;
81
+ if (!t) return;
82
+ const a = t.getBoundingClientRect(), n = Math.max(0, Math.min(t.width - 1, e.clientX - a.left)), c = Math.max(0, Math.min(t.height - 1, e.clientY - a.top));
83
+ l.value = { x: n, y: c }, v(), m(), o.value = C(), f("update:modelValue", o.value);
84
+ }, V = (e) => {
85
+ const t = r.value;
86
+ if (!t) return;
87
+ const a = t.getBoundingClientRect(), n = Math.max(0, Math.min(t.width - 1, e.clientX - a.left));
88
+ u.value = { x: n };
89
+ const c = n / t.width * 360;
90
+ d.value = b(c, 100, 50), g(), v(), m(), o.value = C(), f("update:modelValue", o.value);
91
+ }, G = (e) => {
92
+ p.value ? I(e) : P.value && V(e);
93
+ }, W = (e) => {
94
+ const t = p.value ? i.value : r.value;
95
+ t && t.releasePointerCapture(e.pointerId), p.value = !1, P.value = !1;
96
+ }, X = (e) => {
97
+ switch (e.key) {
98
+ case "ArrowUp":
99
+ l.value.y = Math.max(0, l.value.y - 5);
100
+ break;
101
+ case "ArrowDown":
102
+ l.value.y = Math.min(
103
+ i.value?.height ?? 0,
104
+ l.value.y + 5
105
+ );
106
+ break;
107
+ case "ArrowLeft":
108
+ l.value.x = Math.max(0, l.value.x - 5);
109
+ break;
110
+ case "ArrowRight":
111
+ l.value.x = Math.min(
112
+ i.value?.width ?? 0,
113
+ l.value.x + 5
114
+ );
115
+ break;
116
+ default:
117
+ return;
118
+ }
119
+ v(), m(), o.value = C(), f("update:modelValue", o.value), e.preventDefault();
120
+ }, $ = (e) => {
121
+ switch (e.key) {
122
+ case "ArrowLeft":
123
+ u.value.x = Math.max(0, u.value.x - 5);
124
+ break;
125
+ case "ArrowRight":
126
+ u.value.x = Math.min(
127
+ r.value?.width ?? 0,
128
+ u.value.x + 5
129
+ );
130
+ break;
131
+ default:
132
+ return;
133
+ }
134
+ const a = u.value.x / (r.value?.width ?? 1) * 360;
135
+ d.value = b(a, 100, 50), g(), H(), v(), m(), o.value = C(), f("update:modelValue", o.value), e.preventDefault();
136
+ };
137
+ J(() => {
138
+ q(), A(o.value ?? "#ff0000");
139
+ }), Q(
140
+ () => _.modelValue,
141
+ (e) => {
142
+ !e || e === o.value || (o.value = e, A(e), g(), v());
143
+ }
144
+ );
145
+ const C = () => {
146
+ const e = i.value;
147
+ if (!e) return "#ffffff";
148
+ const t = e.getContext("2d");
149
+ if (!t) return "#ffffff";
150
+ const { x: a, y: n } = l.value, c = t.getImageData(a, n, 1, 1).data, [k, z, Y] = c;
151
+ return `#${((1 << 24) + (k << 16) + (z << 8) + Y).toString(16).slice(1)}`;
152
+ };
153
+ function A(e) {
154
+ const t = F(...K(e));
155
+ d.value = b(t, 100, 50), u.value.x = t / 360 * (r.value?.width ?? 0);
156
+ }
157
+ return (e, t) => (S(), M("span", {
158
+ ref_key: "paletteRef",
159
+ ref: T,
160
+ "aria-label": "Color Picker",
161
+ class: "bb-color-palette",
162
+ role: "application"
163
+ }, [
164
+ x("canvas", {
165
+ ref_key: "mainCanvasRef",
166
+ ref: i,
167
+ "aria-describedby": "mainCanvasDesc",
168
+ "aria-label": "Main Color Selection",
169
+ class: "bb-color-palette__canvas",
170
+ role: "application",
171
+ tabindex: "0",
172
+ onKeydown: X,
173
+ onPointerdown: E,
174
+ onPointermove: G,
175
+ onPointerup: W
176
+ }, null, 544),
177
+ x("span", ee, [
178
+ L(y(w(h)("colorInput.mainCanvasDesc")) + " ", 1),
179
+ o.value ? (S(), M("span", te, y(w(h)("colorInput.mainCanvasSelectedColor", o.value)), 1)) : B("", !0)
180
+ ]),
181
+ x("canvas", {
182
+ ref_key: "hueCanvasRef",
183
+ ref: r,
184
+ "aria-describedby": "hueCanvasDesc",
185
+ "aria-label": "Hue Selection",
186
+ class: "bb-color-palette__hue-canvas",
187
+ role: "application",
188
+ tabindex: "0",
189
+ onKeydown: $,
190
+ onPointerdown: U,
191
+ onPointermove: G,
192
+ onPointerup: W
193
+ }, null, 544),
194
+ x("span", ae, [
195
+ L(y(w(h)("colorInput.hueCanvasDesc")) + " ", 1),
196
+ d.value ? (S(), M("span", ne, y(w(h)("colorInput.hueCanvasSelectedHue", d.value)), 1)) : B("", !0)
197
+ ])
198
+ ], 512));
26
199
  }
27
200
  });
28
201
  export {
29
- b as default
202
+ ue as default
30
203
  };