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/index240.js CHANGED
@@ -1,19 +1,6 @@
1
- import { computed as i, unref as m } from "vue";
2
- import { hash as s } from "./index227.js";
3
- const p = ({ items: a, key: r }) => {
4
- const n = i(() => {
5
- const t = {}, c = new Array().concat(m(a));
6
- for (let e = 0; e < c.length; e++) {
7
- const o = c[e], u = r ? String(o[r]) : s(o);
8
- t[u] = o;
9
- }
10
- return t;
11
- });
12
- return {
13
- data: n,
14
- get: (t) => r ? n.value[String(t[r])] : n.value[s(t)]
15
- };
16
- };
1
+ function x(e) {
2
+ return /^#([A-Fa-f0-9]{6})$/.test(e);
3
+ }
17
4
  export {
18
- p as useIndexById
5
+ x as isHex
19
6
  };
package/dist/index241.js CHANGED
@@ -1,53 +1,199 @@
1
- import { computed as l, unref as o } from "vue";
2
- import { useItemText as x } from "./index311.js";
3
- import { useItemValue as w } from "./index273.js";
4
- import { hash as y } from "./index227.js";
5
- import { useLogger as D } from "./index229.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)
1
+ import { defineComponent as j, ref as c, onMounted as J, watch as Q, createElementBlock as S, openBlock as _, createElementVNode as w, createTextVNode as A, createCommentVNode as E, toDisplayString as C, unref as x } from "vue";
2
+ import { hexToRgb as B } from "./index330.js";
3
+ import { getHueFromRGB as K } from "./index331.js";
4
+ import { hslToHex as y } from "./index332.js";
5
+ import { useLocale as Z } from "./index214.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 }, ce = /* @__PURE__ */ j({
15
+ __name: "ColorPallette",
16
+ props: {
17
+ modelValue: {}
18
+ },
19
+ emits: ["update:modelValue"],
20
+ setup(F, { emit: N }) {
21
+ const R = F, f = N, { t: h } = Z(), o = c(R.modelValue), d = c(
22
+ y(K(...B(o.value ?? "#ff0000")), 100, 50)
23
+ ), O = c(null), s = c(null), r = c(null), l = c({ x: 0, y: 0 }), u = c({ x: 0 }), b = c(!1), k = c(!1), T = () => {
24
+ const e = s.value, t = r.value;
25
+ !e || !t || (e.width = e.offsetWidth, e.height = e.offsetHeight, t.width = t.offsetWidth, t.height = t.offsetHeight, v(), m());
26
+ }, D = () => {
27
+ const e = s.value;
28
+ return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
29
+ }, v = () => {
30
+ const e = s.value;
31
+ if (!e) return;
32
+ const t = D();
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
+ }, p = () => {
40
+ const e = D();
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
+ }, P = () => {
55
+ const e = r.value;
56
+ return e ? e.getContext("2d", { willReadFrequently: !0 }) : null;
57
+ }, m = () => {
58
+ const e = r.value;
59
+ if (!e) return;
60
+ const t = P();
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 = P();
70
+ if (!t) return;
71
+ const a = 10, n = 16, i = u.value.x - a / 2, M = e.height / 2 - n / 2;
72
+ t.beginPath(), t.roundRect(i, M, a, n, 2), t.strokeStyle = "lightgray", t.stroke(), t.fillStyle = "#ffffff", t.fill();
73
+ }, q = (e) => {
74
+ s.value && (window.addEventListener("pointermove", L), window.addEventListener("pointerup", G), b.value = !0, I(e));
75
+ }, U = (e) => {
76
+ r.value && (window.addEventListener("pointermove", L), window.addEventListener("pointerup", G), k.value = !0, V(e));
77
+ }, I = (e) => {
78
+ const t = s.value;
79
+ if (!t) return;
80
+ const a = t.getBoundingClientRect(), n = Math.max(0, Math.min(t.width, e.clientX - a.left)), i = Math.max(0, Math.min(t.height, e.clientY - a.top));
81
+ l.value = { x: n, y: i }, v(), p(), o.value = g(), f("update:modelValue", o.value);
82
+ }, V = (e) => {
83
+ const t = r.value;
84
+ if (!t) return;
85
+ const a = t.getBoundingClientRect(), n = Math.max(0, Math.min(t.width, e.clientX - a.left));
86
+ u.value = { x: n };
87
+ const i = n / t.width * 360;
88
+ d.value = y(i, 100, 50), m(), v(), p(), o.value = g(), f("update:modelValue", o.value);
89
+ }, L = (e) => {
90
+ b.value ? I(e) : k.value && V(e);
91
+ }, G = () => {
92
+ b.value = !1, k.value = !1;
93
+ }, X = (e) => {
94
+ var a, n;
95
+ switch (e.key) {
96
+ case "ArrowUp":
97
+ l.value.y = Math.max(0, l.value.y - 5);
98
+ break;
99
+ case "ArrowDown":
100
+ l.value.y = Math.min(
101
+ ((a = s.value) == null ? void 0 : a.height) ?? 0,
102
+ l.value.y + 5
103
+ );
104
+ break;
105
+ case "ArrowLeft":
106
+ l.value.x = Math.max(0, l.value.x - 5);
107
+ break;
108
+ case "ArrowRight":
109
+ l.value.x = Math.min(
110
+ ((n = s.value) == null ? void 0 : n.width) ?? 0,
111
+ l.value.x + 5
112
+ );
113
+ break;
114
+ default:
115
+ return;
116
+ }
117
+ v(), p(), o.value = g(), f("update:modelValue", o.value), e.preventDefault();
118
+ }, $ = (e) => {
119
+ var n, i;
120
+ switch (e.key) {
121
+ case "ArrowLeft":
122
+ u.value.x = Math.max(0, u.value.x - 5);
123
+ break;
124
+ case "ArrowRight":
125
+ u.value.x = Math.min(
126
+ ((n = r.value) == null ? void 0 : n.width) ?? 0,
127
+ u.value.x + 5
128
+ );
129
+ break;
130
+ default:
131
+ return;
132
+ }
133
+ const a = u.value.x / (((i = r.value) == null ? void 0 : i.width) ?? 1) * 360;
134
+ d.value = y(a, 100, 50), m(), H(), v(), p(), o.value = g(), f("update:modelValue", o.value), e.preventDefault();
33
135
  };
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));
136
+ J(() => {
137
+ T(), W(o.value ?? "#ff0000");
138
+ }), Q(
139
+ () => R.modelValue,
140
+ (e) => {
141
+ !e || e === o.value || (o.value = e, W(e), m(), v());
45
142
  }
46
- return e;
47
- }),
48
- createOption: f
49
- };
50
- };
143
+ );
144
+ const g = () => {
145
+ const e = s.value;
146
+ if (!e) return "#ffffff";
147
+ const t = e.getContext("2d");
148
+ if (!t) return "#ffffff";
149
+ const { x: a, y: n } = l.value, i = t.getImageData(a, n, 1, 1).data, [M, z, Y] = i;
150
+ return `#${((1 << 24) + (M << 16) + (z << 8) + Y).toString(16).slice(1)}`;
151
+ };
152
+ function W(e) {
153
+ var a;
154
+ const t = K(...B(e));
155
+ d.value = y(t, 100, 50), u.value.x = t / 360 * (((a = r.value) == null ? void 0 : a.width) ?? 0);
156
+ }
157
+ return (e, t) => (_(), S("div", {
158
+ ref_key: "paletteRef",
159
+ ref: O,
160
+ "aria-label": "Color Picker",
161
+ class: "bb-color-palette",
162
+ role: "application"
163
+ }, [
164
+ w("canvas", {
165
+ ref_key: "mainCanvasRef",
166
+ ref: s,
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: q
174
+ }, null, 544),
175
+ w("p", ee, [
176
+ A(C(x(h)("colorInput.mainCanvasDesc")) + " ", 1),
177
+ o.value ? (_(), S("span", te, C(x(h)("colorInput.mainCanvasSelectedColor", o.value)), 1)) : E("", !0)
178
+ ]),
179
+ w("canvas", {
180
+ ref_key: "hueCanvasRef",
181
+ ref: r,
182
+ "aria-describedby": "hueCanvasDesc",
183
+ "aria-label": "Hue Selection",
184
+ class: "bb-color-palette__hue-canvas",
185
+ role: "application",
186
+ tabindex: "0",
187
+ onKeydown: $,
188
+ onPointerdown: U
189
+ }, null, 544),
190
+ w("p", ae, [
191
+ A(C(x(h)("colorInput.hueCanvasDesc")) + " ", 1),
192
+ d.value ? (_(), S("span", ne, C(x(h)("colorInput.hueCanvasSelectedHue", d.value)), 1)) : E("", !0)
193
+ ])
194
+ ], 512));
195
+ }
196
+ });
51
197
  export {
52
- q as useBaseOptions
198
+ ce as default
53
199
  };
package/dist/index243.js CHANGED
@@ -1,14 +1,4 @@
1
- import { hash as e } from "./index227.js";
2
- import { debouncedWatch as s } from "./index206.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
- );
11
- };
1
+ const r = (e) => typeof e > "u" || e === null;
12
2
  export {
13
- n as useHashedWatcher
3
+ r as isNil
14
4
  };
package/dist/index244.js CHANGED
@@ -1,4 +1,88 @@
1
- const o = (e) => typeof e == "boolean" ? e : e === "true";
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 "./index214.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",
11
+ props: {
12
+ direction: {},
13
+ hasErrors: { type: Boolean },
14
+ hideLabel: { type: Boolean },
15
+ loadingText: {},
16
+ loading: { type: Boolean },
17
+ noDataText: {},
18
+ options: {}
19
+ },
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
+ }])
29
+ }, [
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")
82
+ ])
83
+ ], 2));
84
+ }
85
+ });
2
86
  export {
3
- o as booleanishToBoolean
87
+ C as default
4
88
  };
package/dist/index246.js CHANGED
@@ -1,4 +1,31 @@
1
- const s = (r) => !!r && !!r.match(/^(#|var\(--|(rgb|hsl)a?\()/);
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
+ };
2
29
  export {
3
- s as isCssColor
30
+ p as useItemsGetter
4
31
  };
package/dist/index247.js CHANGED
@@ -1,108 +1,19 @@
1
- import { defineComponent as y, ref as F, computed as H, watch as N, createElementBlock as L, openBlock as p, Fragment as S, renderList as V, createBlock as A, withModifiers as O, normalizeClass as P, withCtx as $, createTextVNode as z, toDisplayString as D } from "vue";
2
- import { hash as d } from "./index227.js";
3
- import { isNil as l } from "./index258.js";
4
- import E from "./index67.js";
5
- /* empty css */
6
- const K = /* @__PURE__ */ y({
7
- __name: "ChipsBox",
8
- props: {
9
- options: {}
10
- },
11
- emits: ["option:unselected"],
12
- setup(f, { expose: v, emit: h }) {
13
- const t = f, u = h, n = F(null), i = H(() => t.options.some((e) => !e.disabled)), a = (e = 1) => {
14
- const s = l(n.value) ? -1 : n.value;
15
- let o = (s + e) % t.options.length;
16
- for (; t.options[o].disabled && o !== s; )
17
- o = a(e + 1);
18
- return o;
19
- }, x = () => {
20
- if (!i.value) return;
21
- const e = a();
22
- n.value = e;
23
- }, c = (e = 1) => {
24
- const s = l(n.value) ? 0 : n.value;
25
- let o = (s - e + t.options.length) % t.options.length;
26
- for (; t.options[o].disabled && o !== s; )
27
- o = c(e + 1);
28
- return o;
29
- }, m = async () => {
30
- if (!i.value) return;
31
- const e = c();
32
- n.value = e;
33
- }, w = () => {
34
- if (!i.value) return;
35
- let e = 0;
36
- for (; t.options[e].disabled; )
37
- e++;
38
- n.value = e;
39
- }, b = () => {
40
- if (!i.value) return;
41
- let e = t.options.length - 1;
42
- for (; t.options[e].disabled && e !== 0; )
43
- e--;
44
- n.value = e;
45
- }, I = () => {
46
- if (!i.value) return;
47
- let e = 0;
48
- for (; !t.options[e].selected && t.options.length !== e; )
49
- e++;
50
- n.value = e;
51
- }, g = () => {
52
- if (!i.value) return;
53
- let e = t.options.length - 1;
54
- for (; t.options[e].selected && e !== 0; )
55
- e--;
56
- n.value = e;
57
- }, _ = (e) => {
58
- if (!i.value) return;
59
- const s = t.options.findIndex(
60
- (o) => o.valueHash === e
61
- );
62
- s >= 0 && (n.value = s);
63
- }, r = () => {
64
- n.value = null;
65
- }, k = () => {
66
- if (l(n.value)) return;
67
- const e = t.options[n.value];
68
- e.selected && u("option:unselected", e);
69
- }, C = () => l(n.value) ? void 0 : t.options[n.value];
70
- return N(
71
- () => t.options,
72
- (e, s) => {
73
- d(e) !== d(s) && r();
74
- },
75
- {
76
- flush: "post"
77
- }
78
- ), v({
79
- focusNext: x,
80
- focusPrevious: m,
81
- focusFirst: w,
82
- focusFirstSelected: I,
83
- focusLast: b,
84
- focusLastSelected: g,
85
- blur: r,
86
- confirmOption: k,
87
- focusByHash: _,
88
- getHighlighted: C
89
- }), (e, s) => (p(!0), L(S, null, V(e.options, (o, B) => (p(), A(E, {
90
- key: o.valueHash,
91
- class: P({
92
- "bb-chipsbox-item": !0,
93
- "bb-chipsbox-item--focused": B === n.value
94
- }),
95
- clearable: !0,
96
- text: o.text,
97
- "onClick:clear": O((M) => u("option:unselected", o), ["stop"])
98
- }, {
99
- default: $(() => [
100
- z(D(o.text), 1)
101
- ]),
102
- _: 2
103
- }, 1032, ["class", "text", "onClick:clear"]))), 128));
104
- }
105
- });
1
+ import { computed as i, unref as m } from "vue";
2
+ import { hash as s } from "./index233.js";
3
+ const p = ({ items: a, key: r }) => {
4
+ const n = i(() => {
5
+ const t = {}, c = new Array().concat(m(a));
6
+ for (let e = 0; e < c.length; e++) {
7
+ const o = c[e], u = r ? String(o[r]) : s(o);
8
+ t[u] = o;
9
+ }
10
+ return t;
11
+ });
12
+ return {
13
+ data: n,
14
+ get: (t) => r ? n.value[String(t[r])] : n.value[s(t)]
15
+ };
16
+ };
106
17
  export {
107
- K as default
18
+ p as useIndexById
108
19
  };
@@ -0,0 +1,53 @@
1
+ import { computed as l, unref as o } from "vue";
2
+ import { useItemText as x } from "./index314.js";
3
+ import { useItemValue as w } from "./index273.js";
4
+ import { hash as y } from "./index233.js";
5
+ import { useLogger as D } from "./index234.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
+ };
50
+ };
51
+ export {
52
+ q as useBaseOptions
53
+ };