bitboss-ui 0.1.2 → 0.1.4

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 (284) hide show
  1. package/dist/components/BaseDatePicker/BaseDatePicker.vue.d.ts +1 -0
  2. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +151 -0
  3. package/dist/components/BbPopover/BbPopover.vue.d.ts +96 -0
  4. package/dist/components/BbRatio/BbRatio.vue.d.ts +12 -0
  5. package/dist/components/BbSpinner/BbSpinner.vue.d.ts +1 -1
  6. package/dist/index.d.ts +4 -0
  7. package/dist/index.js +104 -98
  8. package/dist/index.js.map +1 -1
  9. package/dist/index10.js +123 -95
  10. package/dist/index10.js.map +1 -1
  11. package/dist/index100.js +43 -3
  12. package/dist/index100.js.map +1 -1
  13. package/dist/index101.js +2 -2
  14. package/dist/index102.js +2 -2
  15. package/dist/index103.js +2 -2
  16. package/dist/index104.js +2 -2
  17. package/dist/index105.js +2 -2
  18. package/dist/index106.js +2 -2
  19. package/dist/index107.js +2 -2
  20. package/dist/index108.js +2 -2
  21. package/dist/index109.js +2 -2
  22. package/dist/index110.js +2 -2
  23. package/dist/index111.js +2 -2
  24. package/dist/index112.js +2 -2
  25. package/dist/index113.js +2 -2
  26. package/dist/index114.js +2 -2
  27. package/dist/index115.js +2 -2
  28. package/dist/index116.js +2 -2
  29. package/dist/index117.js +2 -2
  30. package/dist/index118.js +2 -2
  31. package/dist/index119.js +3 -2
  32. package/dist/index119.js.map +1 -1
  33. package/dist/index12.js +4 -4
  34. package/dist/index120.js +2 -2
  35. package/dist/index121.js +3 -2
  36. package/dist/index121.js.map +1 -1
  37. package/dist/index123.js +2 -2
  38. package/dist/index124.js +2 -3
  39. package/dist/index124.js.map +1 -1
  40. package/dist/index125.js +2 -2
  41. package/dist/index126.js +2 -3
  42. package/dist/index126.js.map +1 -1
  43. package/dist/index127.js +2 -2
  44. package/dist/index128.js +2 -2
  45. package/dist/index129.js +3 -2
  46. package/dist/index129.js.map +1 -1
  47. package/dist/index130.js +2 -2
  48. package/dist/index131.js +2 -2
  49. package/dist/index132.js +2 -2
  50. package/dist/index133.js +2 -2
  51. package/dist/index134.js +2 -3
  52. package/dist/index134.js.map +1 -1
  53. package/dist/index135.js +2 -2
  54. package/dist/index136.js +2 -2
  55. package/dist/index137.js +2 -2
  56. package/dist/index138.js +2 -2
  57. package/dist/index139.js +2 -2
  58. package/dist/index14.js +6 -6
  59. package/dist/index140.js +3 -2
  60. package/dist/index140.js.map +1 -1
  61. package/dist/index141.js +2 -2
  62. package/dist/index142.js +3 -2
  63. package/dist/index142.js.map +1 -1
  64. package/dist/index145.js +2 -2
  65. package/dist/index146.js +2 -3
  66. package/dist/index146.js.map +1 -1
  67. package/dist/index147.js +2 -2
  68. package/dist/index148.js +2 -3
  69. package/dist/index148.js.map +1 -1
  70. package/dist/index149.js +2 -2
  71. package/dist/index150.js +2 -2
  72. package/dist/index151.js +3 -2
  73. package/dist/index151.js.map +1 -1
  74. package/dist/index152.js +3 -4
  75. package/dist/index152.js.map +1 -1
  76. package/dist/index153.js +3 -8
  77. package/dist/index153.js.map +1 -1
  78. package/dist/index154.js +3 -2
  79. package/dist/index154.js.map +1 -1
  80. package/dist/index155.js +3 -2
  81. package/dist/index155.js.map +1 -1
  82. package/dist/index156.js +3 -5
  83. package/dist/index156.js.map +1 -1
  84. package/dist/index157.js +348 -17
  85. package/dist/index157.js.map +1 -1
  86. package/dist/index158.js +131 -17
  87. package/dist/index158.js.map +1 -1
  88. package/dist/index159.js +5 -29
  89. package/dist/index159.js.map +1 -1
  90. package/dist/index16.js +1 -1
  91. package/dist/index160.js +19 -2
  92. package/dist/index160.js.map +1 -1
  93. package/dist/index162.js +2 -2
  94. package/dist/index162.js.map +1 -1
  95. package/dist/index163.js +184 -14
  96. package/dist/index163.js.map +1 -1
  97. package/dist/index164.js +2 -13
  98. package/dist/index164.js.map +1 -1
  99. package/dist/index165.js +23 -2
  100. package/dist/index165.js.map +1 -1
  101. package/dist/index166.js +328 -3
  102. package/dist/index166.js.map +1 -1
  103. package/dist/index167.js +16 -2
  104. package/dist/index167.js.map +1 -1
  105. package/dist/index168.js +12 -5
  106. package/dist/index168.js.map +1 -1
  107. package/dist/index169.js +2 -350
  108. package/dist/index169.js.map +1 -1
  109. package/dist/index170.js +2 -134
  110. package/dist/index170.js.map +1 -1
  111. package/dist/index171.js +2 -186
  112. package/dist/index171.js.map +1 -1
  113. package/dist/index172.js +4 -23
  114. package/dist/index172.js.map +1 -1
  115. package/dist/index173.js +8 -328
  116. package/dist/index173.js.map +1 -1
  117. package/dist/index174.js +20 -2
  118. package/dist/index174.js.map +1 -1
  119. package/dist/index175.js +29 -21
  120. package/dist/index175.js.map +1 -1
  121. package/dist/index176.js +2 -3
  122. package/dist/index176.js.map +1 -1
  123. package/dist/index177.js +3 -3
  124. package/dist/index177.js.map +1 -1
  125. package/dist/index178.js +6 -38
  126. package/dist/index178.js.map +1 -1
  127. package/dist/index179.js +2 -28
  128. package/dist/index179.js.map +1 -1
  129. package/dist/index18.js +2 -2
  130. package/dist/index180.js +2 -13
  131. package/dist/index180.js.map +1 -1
  132. package/dist/index181.js +20 -8
  133. package/dist/index181.js.map +1 -1
  134. package/dist/index182.js +3 -96
  135. package/dist/index182.js.map +1 -1
  136. package/dist/index183.js +3 -4
  137. package/dist/index183.js.map +1 -1
  138. package/dist/index184.js +38 -295
  139. package/dist/index184.js.map +1 -1
  140. package/dist/index185.js +9 -6
  141. package/dist/index185.js.map +1 -1
  142. package/dist/index186.js +96 -2
  143. package/dist/index186.js.map +1 -1
  144. package/dist/index187.js +28 -2
  145. package/dist/index187.js.map +1 -1
  146. package/dist/index188.js +13 -2
  147. package/dist/index188.js.map +1 -1
  148. package/dist/index189.js +6 -2
  149. package/dist/index189.js.map +1 -1
  150. package/dist/index190.js +2 -235
  151. package/dist/index190.js.map +1 -1
  152. package/dist/index191.js +294 -88
  153. package/dist/index191.js.map +1 -1
  154. package/dist/index192.js +2 -2
  155. package/dist/index193.js +2 -117
  156. package/dist/index193.js.map +1 -1
  157. package/dist/index194.js +111 -100
  158. package/dist/index194.js.map +1 -1
  159. package/dist/index195.js +105 -78
  160. package/dist/index195.js.map +1 -1
  161. package/dist/index196.js +4 -224
  162. package/dist/index196.js.map +1 -1
  163. package/dist/index197.js +226 -249
  164. package/dist/index197.js.map +1 -1
  165. package/dist/index198.js +2 -38
  166. package/dist/index198.js.map +1 -1
  167. package/dist/index199.js +2 -2
  168. package/dist/index199.js.map +1 -1
  169. package/dist/index20.js +4 -4
  170. package/dist/index200.js +89 -2
  171. package/dist/index200.js.map +1 -1
  172. package/dist/index201.js +79 -2
  173. package/dist/index201.js.map +1 -1
  174. package/dist/index202.js +49 -8
  175. package/dist/index202.js.map +1 -1
  176. package/dist/index203.js +223 -5
  177. package/dist/index203.js.map +1 -1
  178. package/dist/index204.js +261 -0
  179. package/dist/index204.js.map +1 -0
  180. package/dist/index205.js +41 -0
  181. package/dist/index205.js.map +1 -0
  182. package/dist/index206.js +5 -0
  183. package/dist/index206.js.map +1 -0
  184. package/dist/index207.js +5 -0
  185. package/dist/index207.js.map +1 -0
  186. package/dist/index208.js +12 -0
  187. package/dist/index208.js.map +1 -0
  188. package/dist/index209.js +9 -0
  189. package/dist/index209.js.map +1 -0
  190. package/dist/index210.js +5 -0
  191. package/dist/index210.js.map +1 -0
  192. package/dist/index211.js +14 -0
  193. package/dist/index211.js.map +1 -0
  194. package/dist/index212.js +434 -0
  195. package/dist/index212.js.map +1 -0
  196. package/dist/index213.js +12 -0
  197. package/dist/index213.js.map +1 -0
  198. package/dist/index214.js +203 -0
  199. package/dist/index214.js.map +1 -0
  200. package/dist/index22.js +14 -14
  201. package/dist/index24.js +4 -4
  202. package/dist/index26.js +2 -2
  203. package/dist/index28.js +4 -4
  204. package/dist/index34.js +2 -2
  205. package/dist/index36.js +50 -37
  206. package/dist/index36.js.map +1 -1
  207. package/dist/index38.js +39 -39
  208. package/dist/index38.js.map +1 -1
  209. package/dist/index4.js +2 -2
  210. package/dist/index40.js +36 -82
  211. package/dist/index40.js.map +1 -1
  212. package/dist/index42.js +44 -57
  213. package/dist/index42.js.map +1 -1
  214. package/dist/index44.js +98 -79
  215. package/dist/index44.js.map +1 -1
  216. package/dist/index46.js +79 -81
  217. package/dist/index46.js.map +1 -1
  218. package/dist/index48.js +80 -40
  219. package/dist/index48.js.map +1 -1
  220. package/dist/index50.js +40 -283
  221. package/dist/index50.js.map +1 -1
  222. package/dist/index52.js +279 -95
  223. package/dist/index52.js.map +1 -1
  224. package/dist/index54.js +98 -212
  225. package/dist/index54.js.map +1 -1
  226. package/dist/index56.js +213 -44
  227. package/dist/index56.js.map +1 -1
  228. package/dist/index58.js +45 -40
  229. package/dist/index58.js.map +1 -1
  230. package/dist/index59.js +2 -96
  231. package/dist/index59.js.map +1 -1
  232. package/dist/index6.js +4 -4
  233. package/dist/index60.js +44 -2
  234. package/dist/index60.js.map +1 -1
  235. package/dist/index61.js +89 -211
  236. package/dist/index61.js.map +1 -1
  237. package/dist/index63.js +210 -130
  238. package/dist/index63.js.map +1 -1
  239. package/dist/index65.js +134 -18
  240. package/dist/index65.js.map +1 -1
  241. package/dist/index67.js +145 -74
  242. package/dist/index67.js.map +1 -1
  243. package/dist/index69.js +18 -98
  244. package/dist/index69.js.map +1 -1
  245. package/dist/index71.js +77 -17
  246. package/dist/index71.js.map +1 -1
  247. package/dist/index73.js +48 -66
  248. package/dist/index73.js.map +1 -1
  249. package/dist/index75.js +21 -78
  250. package/dist/index75.js.map +1 -1
  251. package/dist/index77.js +77 -46
  252. package/dist/index77.js.map +1 -1
  253. package/dist/index79.js +44 -61
  254. package/dist/index79.js.map +1 -1
  255. package/dist/index8.js +188 -181
  256. package/dist/index8.js.map +1 -1
  257. package/dist/index81.js +82 -106
  258. package/dist/index81.js.map +1 -1
  259. package/dist/index83.js +88 -370
  260. package/dist/index83.js.map +1 -1
  261. package/dist/index85.js +106 -74
  262. package/dist/index85.js.map +1 -1
  263. package/dist/index87.js +371 -68
  264. package/dist/index87.js.map +1 -1
  265. package/dist/index89.js +75 -111
  266. package/dist/index89.js.map +1 -1
  267. package/dist/index91.js +76 -87
  268. package/dist/index91.js.map +1 -1
  269. package/dist/index93.js +111 -32
  270. package/dist/index93.js.map +1 -1
  271. package/dist/index94.js +2 -37
  272. package/dist/index94.js.map +1 -1
  273. package/dist/index95.js +87 -42
  274. package/dist/index95.js.map +1 -1
  275. package/dist/index96.js +2 -43
  276. package/dist/index96.js.map +1 -1
  277. package/dist/index97.js +38 -3
  278. package/dist/index97.js.map +1 -1
  279. package/dist/index98.js +37 -3
  280. package/dist/index98.js.map +1 -1
  281. package/dist/index99.js +47 -3
  282. package/dist/index99.js.map +1 -1
  283. package/dist/style.css +1 -1
  284. package/package.json +1 -1
package/dist/index54.js CHANGED
@@ -1,221 +1,107 @@
1
- import { defineComponent as q, ref as h, watch as M, computed as m, openBlock as z, createBlock as H, resolveDynamicComponent as N, normalizeClass as j, withCtx as S, createElementVNode as p, withModifiers as g, renderSlot as G, normalizeProps as K, guardReactiveProps as O, createTextVNode as R, unref as U, createVNode as Y, createElementBlock as F, Fragment as Z, renderList as J, toDisplayString as Q } from "vue";
2
- import { findInTree as W } from "./index180.js";
3
- import { nanoid as X } from "./index165.js";
4
- import ee from "./index95.js";
5
- import "./index140.js";
6
- const te = ["onDrop", "onDragenter", "onDragover", "onDragleave"], ae = ["accept", "autofocus", "disabled", "multiple"], re = {
7
- class: "bb-dropzone__submittable-label",
8
- "aria-hidden": "true"
9
- }, oe = ["id", "name", "multiple", "disabled"], le = { class: "bb-dropzone__errors" }, pe = /* @__PURE__ */ q({
10
- __name: "BbDropzone",
1
+ import { defineComponent as f, openBlock as _, createElementBlock as B, normalizeClass as k, createVNode as i, unref as e, withCtx as s, renderSlot as d, createTextVNode as v, toDisplayString as h, createSlots as C, mergeProps as $, createElementVNode as l, renderList as D, normalizeProps as g, guardReactiveProps as y } from "vue";
2
+ import w from "./index2.js";
3
+ import "./index3.js";
4
+ import L from "./index52.js";
5
+ import "./index53.js";
6
+ const N = { class: "bb-dropdown-button__dropdown-label" }, P = /* @__PURE__ */ l("svg", {
7
+ class: "bb-dropdown-button__dropdown-chevron",
8
+ xmlns: "http://www.w3.org/2000/svg",
9
+ viewBox: "0 0 24 24"
10
+ }, [
11
+ /* @__PURE__ */ l("path", {
12
+ fill: "currentColor",
13
+ d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6l-6 6l1.41 1.41Z"
14
+ })
15
+ ], -1), T = /* @__PURE__ */ f({
16
+ __name: "BbDropdownButton",
11
17
  props: {
12
- accept: {},
13
- autofocus: { type: Boolean },
18
+ block: { type: Boolean },
14
19
  disabled: { type: Boolean },
15
- errors: {},
16
- hasErrors: { type: Boolean },
17
- id: {},
18
- maxFiles: {},
19
- maxSize: {},
20
- modelValue: {},
21
- multiple: { type: Boolean },
22
- name: {},
23
- tag: { default: "div" }
20
+ items: {},
21
+ placement: {},
22
+ theme: { default: "dropdown-btn" },
23
+ transitionDuration: {},
24
+ width: {}
24
25
  },
25
- emits: ["blur", "error", "focus", "update:modelValue"],
26
- setup(w, { emit: l }) {
27
- const a = w;
28
- let y;
29
- const d = h(null);
30
- if (a.accept && !Array.isArray(a.accept))
31
- throw new Error("Property accept is not an array");
32
- if (a.multiple && !Array.isArray(a.modelValue))
33
- throw new Error(
34
- "Component is set to multiple but modelValue is not an array"
35
- );
36
- M(
37
- () => a.modelValue,
38
- () => {
39
- let e = new DataTransfer();
40
- Array.isArray(a.modelValue) ? a.modelValue.length && a.modelValue.forEach((t) => e.items.add(t)) : a.modelValue && e.items.add(a.modelValue), d.value && (e.items.length ? d.value.files = e.files : d.value.files = null);
41
- }
42
- );
43
- const c = h([]), x = m(
44
- () => c.value.join(",")
45
- );
46
- M(
47
- () => a.accept,
48
- async () => {
49
- if (a.accept) {
50
- let e = [];
51
- for (let t = 0; t < a.accept.length; t++) {
52
- const r = a.accept[t];
53
- if (r.includes("/"))
54
- e.push(r);
55
- else {
56
- y || (y = await import("./index179.js").then((s) => s.i));
57
- const o = y.getType(r);
58
- if (!o)
59
- throw new Error(
60
- `Could not detect the correct mime associated with ${r}`
61
- );
62
- e.push(o);
63
- }
64
- }
65
- c.value = e;
66
- }
67
- },
68
- { immediate: !0 }
69
- );
70
- const b = a.id || `${X()}`, V = `bb_dz_${b}`, i = h(!1);
71
- let v;
72
- const C = m(() => ({
73
- "bb-dropzone": !0,
74
- "bb-dropzone--errors": k.value,
75
- "bb-dropzone--dragging": i.value
76
- })), L = m(() => ({
77
- dragging: i.value,
78
- id: b
79
- })), P = (e) => {
80
- if (i.value = !1, e.dataTransfer) {
81
- e.stopImmediatePropagation();
82
- let t;
83
- if (t = Array.from(e.dataTransfer.files), t = T(t), a.multiple ? Array.isArray(a.modelValue) && l("update:modelValue", [...a.modelValue, ...t]) : (t = t[0], l("update:modelValue", t)), e.currentTarget instanceof HTMLLabelElement) {
84
- const r = e.currentTarget.querySelector("input[type=file]");
85
- r instanceof HTMLInputElement && r.focus();
86
- }
87
- }
88
- }, $ = (e) => {
89
- if (e.target instanceof HTMLInputElement) {
90
- if (e.target.files) {
91
- let t;
92
- t = T(Array.from(e.target.files)), a.multiple ? Array.isArray(a.modelValue) && l("update:modelValue", [...a.modelValue, ...t]) : (t = t[0], l("update:modelValue", t));
93
- }
94
- e.target.value = "", e.target.files = null;
95
- }
96
- }, T = (e) => e.filter((t, r) => {
97
- if (a.maxSize && !(t.size <= a.maxSize))
98
- return l("error", f.maxSize(t)), !1;
99
- let o = !1;
100
- return a.modelValue && (Array.isArray(a.modelValue) ? o = a.modelValue.some(
101
- (s) => D(s, t)
102
- ) : o = D(a.modelValue, t)), o ? (l("error", f.uniqueness(t)), !1) : a.accept && !c.value.some((n) => {
103
- let u = !1;
104
- return n.includes("*") ? u = u || n.split("/")[0] === t.type.split("/")[0] : u = u || n === t.type, u;
105
- }) ? (l("error", f.accept(t)), !1) : a.maxFiles && Array.isArray(a.modelValue) && a.modelValue.length + r + 1 > a.maxFiles ? (l(
106
- "error",
107
- f.maxFiles(t, a.modelValue.length + r)
108
- ), !1) : !0;
109
- }), I = (e) => {
110
- const t = e.target;
111
- if (t instanceof HTMLElement) {
112
- const r = W(
113
- [t],
114
- "parentElement",
115
- (o) => o.classList.contains("bb-dropzone")
116
- );
117
- r && (r.id === V ? B() : E());
118
- }
119
- }, B = () => {
120
- clearTimeout(v), i.value = !0;
121
- }, E = () => {
122
- v = setTimeout(() => {
123
- i.value = !1;
124
- }, 100);
125
- }, A = (e, t = 2) => {
126
- if (!e)
127
- return "0 B";
128
- const r = 1024, o = t || 0, s = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"], n = Math.floor(Math.log(e) / Math.log(r));
129
- return parseFloat((e / Math.pow(r, n)).toFixed(o)) + " " + s[n];
130
- }, D = (e, t) => !["name", "size", "lastModified", "type"].some((o) => e[o] !== t[o]), f = {
131
- maxSize: (e) => {
132
- if (a.maxSize)
133
- return {
134
- type: "maxSize",
135
- file: e,
136
- formattedMaxSize: A(+a.maxSize),
137
- formattedSize: A(e.size),
138
- filename: e.name
139
- };
140
- },
141
- uniqueness: (e) => {
142
- if (a.maxSize)
143
- return {
144
- type: "uniqueness",
145
- file: e,
146
- filename: e.name
147
- };
148
- },
149
- accept: (e) => ({
150
- type: "accept",
151
- file: e,
152
- acceptedMimeTypes: c.value,
153
- mimeType: e.type,
154
- filename: e.name
155
- }),
156
- maxFiles: (e, t) => ({
157
- type: "maxFiles",
158
- file: e,
159
- maxFiles: a.maxFiles,
160
- totalFiles: t,
161
- filename: e.name
162
- })
163
- }, _ = m(() => a.errors ? [].concat(a.errors) : []), k = m(
164
- () => !!_.value.length || a.hasErrors
165
- );
166
- return (e, t) => (z(), H(N(e.tag), {
167
- class: j(C.value),
168
- id: V
169
- }, {
170
- default: S(() => [
171
- p("label", {
172
- onDrop: g(P, ["prevent"]),
173
- onDragenter: g(B, ["prevent"]),
174
- onDragover: g(I, ["prevent"]),
175
- onDragleave: g(E, ["prevent"])
176
- }, [
177
- p("input", {
178
- type: "file",
179
- accept: x.value,
180
- autofocus: e.autofocus,
181
- disabled: e.disabled,
182
- multiple: e.multiple,
183
- onChange: $,
184
- onFocus: t[0] || (t[0] = (r) => e.$emit("focus", r)),
185
- onBlur: t[1] || (t[1] = (r) => e.$emit("blur", r))
186
- }, null, 40, ae),
187
- G(e.$slots, "default", K(O(L.value)))
188
- ], 40, te),
189
- p("label", re, [
190
- R(" Server files "),
191
- p("input", {
192
- class: "bb-dropzone__submittable-input",
193
- type: "file",
194
- id: U(b),
195
- name: e.name,
196
- ref_key: "submittable",
197
- ref: d,
198
- multiple: e.multiple,
199
- disabled: e.disabled
200
- }, null, 8, oe)
26
+ setup(c) {
27
+ const o = c.items[0];
28
+ return (t, V) => (_(), B("span", {
29
+ class: k(["bb-dropdown-button", { "bb-dropdown-button--block": t.block }])
30
+ }, [
31
+ i(w, {
32
+ disabled: e(o).disabled || t.disabled,
33
+ href: e(o).href,
34
+ to: e(o).to,
35
+ onClick: e(o).handler,
36
+ class: "bb-dropdown-button__main-btn"
37
+ }, {
38
+ default: s(() => [
39
+ d(t.$slots, "left-btn", {
40
+ disabled: e(o).disabled || t.disabled,
41
+ text: e(o).text
42
+ }, () => [
43
+ v(h(e(o).text), 1)
44
+ ])
201
45
  ]),
202
- p("span", le, [
203
- Y(ee, { tag: "span" }, {
204
- default: S(() => [
205
- (z(!0), F(Z, null, J(_.value, (r) => (z(), F("span", {
206
- class: "bb-dropzone__error",
207
- key: r
208
- }, Q(r), 1))), 128))
209
- ]),
210
- _: 1
211
- })
212
- ])
213
- ]),
214
- _: 3
215
- }, 8, ["class"]));
46
+ _: 3
47
+ }, 8, ["disabled", "href", "to", "onClick"]),
48
+ i(L, {
49
+ disabled: t.disabled,
50
+ items: t.items,
51
+ placement: t.placement,
52
+ theme: t.theme,
53
+ transitionDuration: t.transitionDuration,
54
+ width: t.width
55
+ }, C({
56
+ activator: s(({
57
+ props: a,
58
+ opening: n,
59
+ open: r,
60
+ closed: b,
61
+ closing: p,
62
+ disabled: m,
63
+ placement: u
64
+ }) => [
65
+ d(t.$slots, "activator", {
66
+ props: a,
67
+ opening: n,
68
+ open: r,
69
+ closed: b,
70
+ closing: p,
71
+ disabled: m,
72
+ placement: u
73
+ }, () => [
74
+ i(w, $(a, { class: "bb-dropdown-button__dropdown-btn" }), {
75
+ default: s(() => [
76
+ l("span", N, h(r || n ? "Chiudi" : "Apri") + " il menu", 1),
77
+ d(t.$slots, "right-btn", {
78
+ opening: n,
79
+ open: r,
80
+ closed: b,
81
+ closing: p,
82
+ disabled: m,
83
+ placement: u
84
+ }, () => [
85
+ P
86
+ ])
87
+ ]),
88
+ _: 2
89
+ }, 1040)
90
+ ])
91
+ ]),
92
+ _: 2
93
+ }, [
94
+ D(t.$slots, (a, n) => ({
95
+ name: n,
96
+ fn: s((r) => [
97
+ d(t.$slots, n, g(y(r)))
98
+ ])
99
+ }))
100
+ ]), 1032, ["disabled", "items", "placement", "theme", "transitionDuration", "width"])
101
+ ], 2));
216
102
  }
217
103
  });
218
104
  export {
219
- pe as default
105
+ T as default
220
106
  };
221
107
  //# sourceMappingURL=index54.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index54.js","sources":["../src/components/BbDropzone/BbDropzone.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, withModifiers as _withModifiers, unref as _unref, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, withCtx as _withCtx, createVNode as _createVNode, resolveDynamicComponent as _resolveDynamicComponent, normalizeClass as _normalizeClass, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = [\"onDrop\", \"onDragenter\", \"onDragover\", \"onDragleave\"]\nconst _hoisted_2 = [\"accept\", \"autofocus\", \"disabled\", \"multiple\"]\nconst _hoisted_3 = {\n class: \"bb-dropzone__submittable-label\",\n \"aria-hidden\": \"true\"\n}\nconst _hoisted_4 = [\"id\", \"name\", \"multiple\", \"disabled\"]\nconst _hoisted_5 = { class: \"bb-dropzone__errors\" }\n\nimport { computed, ref, watch } from \"vue\";\nimport { findInTree } from \"@/utilities/functions/findInTree\";\nimport { nanoid } from \"nanoid\";\nimport BbSmoothHeight from \"../BbSmoothHeight/BbSmoothHeight.vue\";\n\nexport type DropZoneError = ReturnType<\n (typeof createError)[keyof typeof createError]\n>;\n\nexport interface BbDropzoneProps {\n accept?: string[];\n autofocus?: boolean;\n disabled?: boolean;\n errors?: string | string[];\n hasErrors?: boolean;\n id?: string;\n maxFiles?: number;\n maxSize?: number;\n modelValue: any;\n multiple?: boolean;\n name?: string;\n tag?: string;\n}\n\n// This is the dynamic import for mime\nexport type BbDropzoneEvents = {\n (e: \"blur\", event: FocusEvent): void;\n (e: \"error\", data: DropZoneError): void;\n (e: \"focus\", event: FocusEvent): void;\n (e: \"update:modelValue\", data: any): void;\n};\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbDropzone',\n props: {\n accept: {},\n autofocus: { type: Boolean },\n disabled: { type: Boolean },\n errors: {},\n hasErrors: { type: Boolean },\n id: {},\n maxFiles: {},\n maxSize: {},\n modelValue: {},\n multiple: { type: Boolean },\n name: {},\n tag: { default: \"div\" }\n },\n emits: [\"blur\", \"error\", \"focus\", \"update:modelValue\"],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\nlet mime: any;\n\n\n\n\nconst submittable = ref<any | null>(null);\n\nif (props.accept) {\n if (!Array.isArray(props.accept)) {\n throw new Error(\"Property accept is not an array\");\n }\n}\nif (props.multiple) {\n if (!Array.isArray(props.modelValue)) {\n throw new Error(\n \"Component is set to multiple but modelValue is not an array\"\n );\n }\n}\n\n/** Allow dropzone to be submittable (this is flimsy and might break) */\nwatch(\n () => props.modelValue,\n () => {\n let container = new DataTransfer();\n if (Array.isArray(props.modelValue)) {\n if (props.modelValue.length) {\n props.modelValue.forEach((file) => container.items.add(file));\n }\n } else {\n if (props.modelValue) container.items.add(props.modelValue);\n }\n if (submittable.value) {\n if (container.items.length) {\n submittable.value.files = container.files;\n } else {\n submittable.value.files = null;\n }\n }\n }\n);\n\nconst acceptedMimeTypes = ref<string[]>([]);\nconst acceptedMimeTypesString = computed(() =>\n acceptedMimeTypes.value.join(\",\")\n);\nwatch(\n () => props.accept,\n async () => {\n if (props.accept) {\n let accumulated = [];\n for (let i = 0; i < props.accept.length; i++) {\n const element = props.accept[i];\n if (element.includes(\"/\")) accumulated.push(element);\n else {\n if (!mime) mime = await import(\"mime\");\n const foundMime = mime.getType(element);\n if (!foundMime) {\n throw new Error(\n `Could not detect the correct mime associated with ${element}`\n );\n }\n accumulated.push(foundMime);\n }\n }\n acceptedMimeTypes.value = accumulated;\n }\n },\n { immediate: true }\n);\n\n/**\n * Component state\n */\nconst id = props.id || `${nanoid()}`;\nconst containerId = `bb_dz_${id}`;\n\nconst dragging = ref(false);\n// Add a timeout to prevent browser flickering\nlet draggingTimeout: ReturnType<typeof setTimeout>;\n\nconst classes = computed(() => {\n return {\n \"bb-dropzone\": true,\n \"bb-dropzone--errors\": hasErrors.value,\n \"bb-dropzone--dragging\": dragging.value,\n };\n});\nconst slotAttributes = computed(() => {\n return {\n dragging: dragging.value,\n id: id,\n };\n});\n\n/**\n * Component handlers\n */\nconst onDrop = (event: DragEvent) => {\n dragging.value = false;\n\n if (event.dataTransfer) {\n event.stopImmediatePropagation();\n let files;\n files = Array.from(event.dataTransfer.files);\n files = parseFiles(files);\n if (props.multiple) {\n if (Array.isArray(props.modelValue)) {\n emit(\"update:modelValue\", [...props.modelValue, ...files]);\n }\n } else {\n files = files[0];\n emit(\"update:modelValue\", files);\n }\n if (event.currentTarget instanceof HTMLLabelElement) {\n const innerInput = event.currentTarget.querySelector(\"input[type=file]\");\n if (innerInput instanceof HTMLInputElement) {\n innerInput.focus();\n }\n }\n }\n};\nconst onChange = (event: Event) => {\n if (event.target instanceof HTMLInputElement) {\n if (event.target.files) {\n let files;\n files = parseFiles(Array.from(event.target.files));\n if (props.multiple) {\n if (Array.isArray(props.modelValue)) {\n emit(\"update:modelValue\", [...props.modelValue, ...files]);\n }\n } else {\n files = files[0];\n emit(\"update:modelValue\", files);\n }\n }\n event.target.value = \"\";\n event.target.files = null;\n }\n};\n\nconst parseFiles = (files: File[]) => {\n return files.filter((file, index) => {\n // Sizecheck\n if (props.maxSize) {\n let passing = file.size <= props.maxSize;\n if (!passing) {\n emit(\"error\", createError.maxSize(file));\n return false;\n }\n }\n // Uniqueness check\n let alreadyExists = false;\n if (props.modelValue) {\n if (Array.isArray(props.modelValue)) {\n alreadyExists = props.modelValue.some((current) =>\n compareFiles(current, file)\n );\n } else {\n alreadyExists = compareFiles(props.modelValue, file);\n }\n }\n if (alreadyExists) {\n emit(\"error\", createError.uniqueness(file));\n return false;\n }\n // Mime type check\n if (props.accept) {\n const mimePassed = acceptedMimeTypes.value.some((mime) => {\n let found = false;\n if (mime.includes(\"*\"))\n found = found || mime.split(\"/\")[0] === file.type.split(\"/\")[0];\n else found = found || mime === file.type;\n return found;\n });\n if (!mimePassed) {\n emit(\"error\", createError.accept(file));\n return false;\n }\n }\n // Max files check\n if (props.maxFiles) {\n if (Array.isArray(props.modelValue)) {\n if (props.modelValue.length + index + 1 > props.maxFiles) {\n emit(\n \"error\",\n createError.maxFiles(file, props.modelValue.length + index)\n );\n return false;\n }\n }\n }\n return true;\n });\n};\n\nconst onDragOver = (event: Event) => {\n // Find the closest dropzone in case of nested dropzones\n const target = event.target;\n if (target instanceof HTMLElement) {\n const closestDropzone = findInTree([target], \"parentElement\", (el) =>\n el.classList.contains(\"bb-dropzone\")\n );\n if (closestDropzone) {\n /* When dragging over this dropzone set as dragging */\n if (closestDropzone.id === containerId) {\n setDragging();\n /* When dragging over a nested dropzone do not highlight this dropzone */\n } else {\n unsetDragging();\n }\n }\n }\n};\n\nconst setDragging = () => {\n clearTimeout(draggingTimeout);\n dragging.value = true;\n};\n\nconst unsetDragging = () => {\n draggingTimeout = setTimeout(() => {\n dragging.value = false;\n }, 100);\n};\n\nconst bytesToUnit = (bytes: number, decimals = 2) => {\n if (!bytes) return \"0 B\";\n const k = 1024;\n const dm = decimals || 0;\n const sizes = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n};\n\n/**\n * Returns true if files are identical by the properties that are accessible\n * @param file The file to check\n * @param otherFile The file to check against\n */\nconst compareFiles = (file: File, otherFile: File) => {\n const properties: (keyof File)[] = [\"name\", \"size\", \"lastModified\", \"type\"];\n return !properties.some((key) => file[key] !== otherFile[key]);\n};\n\n/**\n * Helper that creates errors based on component properties\n */\nconst createError = {\n maxSize: (file: File) => {\n // Todo update to isNil\n if (props.maxSize) {\n return {\n type: \"maxSize\",\n file: file,\n formattedMaxSize: bytesToUnit(+props.maxSize),\n formattedSize: bytesToUnit(file.size),\n filename: file.name,\n };\n }\n },\n uniqueness: (file: File) => {\n // Todo update to isNil\n if (props.maxSize) {\n return {\n type: \"uniqueness\",\n file: file,\n filename: file.name,\n };\n }\n },\n accept: (file: File) => {\n return {\n type: \"accept\",\n file: file,\n acceptedMimeTypes: acceptedMimeTypes.value,\n mimeType: file.type,\n filename: file.name,\n };\n },\n maxFiles: (file: File, totalFiles: number) => {\n return {\n type: \"maxFiles\",\n file: file,\n maxFiles: props.maxFiles,\n totalFiles,\n filename: file.name,\n };\n },\n};\n\nconst computedErrors = computed(() => {\n return props.errors ? ([] as string[]).concat(props.errors) : [];\n});\n\nconst hasErrors = computed(\n () => Boolean(computedErrors.value.length) || props.hasErrors\n);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.tag), {\n class: _normalizeClass(classes.value),\n id: containerId\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"label\", {\n onDrop: _withModifiers(onDrop, [\"prevent\"]),\n onDragenter: _withModifiers(setDragging, [\"prevent\"]),\n onDragover: _withModifiers(onDragOver, [\"prevent\"]),\n onDragleave: _withModifiers(unsetDragging, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n accept: acceptedMimeTypesString.value,\n autofocus: _ctx.autofocus,\n disabled: _ctx.disabled,\n multiple: _ctx.multiple,\n onChange: onChange,\n onFocus: _cache[0] || (_cache[0] = (event) => _ctx.$emit('focus', event)),\n onBlur: _cache[1] || (_cache[1] = (event) => _ctx.$emit('blur', event))\n }, null, 40, _hoisted_2),\n _renderSlot(_ctx.$slots, \"default\", _normalizeProps(_guardReactiveProps(slotAttributes.value)))\n ], 40, _hoisted_1),\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(\" Server files \"),\n _createElementVNode(\"input\", {\n class: \"bb-dropzone__submittable-input\",\n type: \"file\",\n id: _unref(id),\n name: _ctx.name,\n ref_key: \"submittable\",\n ref: submittable,\n multiple: _ctx.multiple,\n disabled: _ctx.disabled\n }, null, 8, _hoisted_4)\n ]),\n _createElementVNode(\"span\", _hoisted_5, [\n _createVNode(BbSmoothHeight, { tag: \"span\" }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(computedErrors.value, (error) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: \"bb-dropzone__error\",\n key: error\n }, _toDisplayString(error), 1))\n }), 128))\n ]),\n _: 1\n })\n ])\n ]),\n _: 3\n }, 8, [\"class\"]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_sfc_main","_defineComponent","__props","emit","props","mime","submittable","ref","watch","container","file","acceptedMimeTypes","acceptedMimeTypesString","computed","accumulated","i","element","foundMime","id","nanoid","containerId","dragging","draggingTimeout","classes","hasErrors","slotAttributes","onDrop","event","files","parseFiles","innerInput","onChange","index","createError","alreadyExists","current","compareFiles","found","onDragOver","target","closestDropzone","findInTree","el","setDragging","unsetDragging","bytesToUnit","bytes","decimals","k","dm","sizes","otherFile","key","totalFiles","computedErrors","_ctx","_cache","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_createElementVNode","_withModifiers","_renderSlot","_normalizeProps","_guardReactiveProps","_createTextVNode","_unref","_createVNode","BbSmoothHeight","_createElementBlock","_Fragment","_renderList","error","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"index54.js","sources":["../src/components/BbDropdownButton/BbDropdownButton.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderList as _renderList, createSlots as _createSlots, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bb-dropdown-button__dropdown-label\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"bb-dropdown-button__dropdown-chevron\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6l-6 6l1.41 1.41Z\"\n })\n], -1)\n\nimport BaseButton from \"../BaseButton/BaseButton.vue\";\nimport type { Item } from \"../BbDropdown/BbDropdown.vue\";\nimport BbDropdown from \"../BbDropdown/BbDropdown.vue\";\n\nexport type BbDropdownButtonProps = {\n block?: boolean;\n disabled?: boolean;\n items: Item[];\n placement?:\n | \"top\"\n | \"top-start\"\n | \"top-end\"\n | \"right\"\n | \"right-start\"\n | \"right-end\"\n | \"bottom\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"left\"\n | \"left-start\"\n | \"left-end\";\n theme?: string;\n transitionDuration?: number;\n width?: number;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbDropdownButton',\n props: {\n block: { type: Boolean },\n disabled: { type: Boolean },\n items: {},\n placement: {},\n theme: { default: \"dropdown-btn\" },\n transitionDuration: {},\n width: {}\n },\n setup(__props: any) {\n\nconst props = __props;\n\n\n\nconst mainBtn = props.items[0];\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: _normalizeClass([\"bb-dropdown-button\", { 'bb-dropdown-button--block': _ctx.block }])\n }, [\n _createVNode(BaseButton, {\n disabled: _unref(mainBtn).disabled || _ctx.disabled,\n href: _unref(mainBtn).href,\n to: _unref(mainBtn).to,\n onClick: _unref(mainBtn).handler,\n class: \"bb-dropdown-button__main-btn\"\n }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"left-btn\", {\n disabled: _unref(mainBtn).disabled || _ctx.disabled,\n text: _unref(mainBtn).text\n }, () => [\n _createTextVNode(_toDisplayString(_unref(mainBtn).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"disabled\", \"href\", \"to\", \"onClick\"]),\n _createVNode(BbDropdown, {\n disabled: _ctx.disabled,\n items: _ctx.items,\n placement: _ctx.placement,\n theme: _ctx.theme,\n transitionDuration: _ctx.transitionDuration,\n width: _ctx.width\n }, _createSlots({\n activator: _withCtx(({\n props,\n opening,\n open,\n closed,\n closing,\n disabled,\n placement,\n }) => [\n _renderSlot(_ctx.$slots, \"activator\", {\n props: props,\n opening: opening,\n open: open,\n closed: closed,\n closing: closing,\n disabled: disabled,\n placement: placement\n }, () => [\n _createVNode(BaseButton, _mergeProps(props, { class: \"bb-dropdown-button__dropdown-btn\" }), {\n default: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_1, _toDisplayString(open || opening ? \"Chiudi\" : \"Apri\") + \" il menu\", 1),\n _renderSlot(_ctx.$slots, \"right-btn\", {\n opening: opening,\n open: open,\n closed: closed,\n closing: closing,\n disabled: disabled,\n placement: placement\n }, () => [\n _hoisted_2\n ])\n ]),\n _: 2\n }, 1040)\n ])\n ]),\n _: 2\n }, [\n _renderList(_ctx.$slots, (_, name) => {\n return {\n name: name,\n fn: _withCtx((data) => [\n _renderSlot(_ctx.$slots, name, _normalizeProps(_guardReactiveProps(data)))\n ])\n }\n })\n ]), 1032, [\"disabled\", \"items\", \"placement\", \"theme\", \"transitionDuration\", \"width\"])\n ], 2))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_sfc_main","_defineComponent","__props","mainBtn","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","_createVNode","BaseButton","_unref","_withCtx","_renderSlot","_createTextVNode","_toDisplayString","BbDropdown","_createSlots","props","opening","open","closed","closing","disabled","placement","_mergeProps","_createElementVNode","_renderList","_","name","data","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
package/dist/index56.js CHANGED
@@ -1,52 +1,221 @@
1
- import { defineComponent as m, getCurrentInstance as x, inject as y, ref as h, computed as u, onMounted as _, watch as w, openBlock as z, createElementBlock as I, mergeProps as b } from "vue";
2
- import { isCssColor as g } from "./index151.js";
3
- const k = /* @__PURE__ */ m({
4
- __name: "BbIcon",
1
+ import { defineComponent as q, ref as h, watch as M, computed as m, openBlock as z, createBlock as H, resolveDynamicComponent as N, normalizeClass as j, withCtx as S, createElementVNode as p, withModifiers as g, renderSlot as G, normalizeProps as K, guardReactiveProps as O, createTextVNode as R, unref as U, createVNode as Y, createElementBlock as F, Fragment as Z, renderList as J, toDisplayString as Q } from "vue";
2
+ import { findInTree as W } from "./index188.js";
3
+ import { nanoid as X } from "./index176.js";
4
+ import ee from "./index99.js";
5
+ import "./index146.js";
6
+ const te = ["onDrop", "onDragenter", "onDragover", "onDragleave"], ae = ["accept", "autofocus", "disabled", "multiple"], re = {
7
+ class: "bb-dropzone__submittable-label",
8
+ "aria-hidden": "true"
9
+ }, oe = ["id", "name", "multiple", "disabled"], le = { class: "bb-dropzone__errors" }, pe = /* @__PURE__ */ q({
10
+ __name: "BbDropzone",
5
11
  props: {
6
- color: {},
7
- size: { default: "md" },
8
- type: {}
12
+ accept: {},
13
+ autofocus: { type: Boolean },
14
+ disabled: { type: Boolean },
15
+ errors: {},
16
+ hasErrors: { type: Boolean },
17
+ id: {},
18
+ maxFiles: {},
19
+ maxSize: {},
20
+ modelValue: {},
21
+ multiple: { type: Boolean },
22
+ name: {},
23
+ tag: { default: "div" }
9
24
  },
10
- setup(p) {
11
- var i, c;
12
- const e = p;
13
- let t;
14
- !!((c = (i = x()) == null ? void 0 : i.proxy) != null && c.$nuxt) ? t = useNuxtApp().$icons : t = y("icons");
15
- const n = h(null), a = {
16
- xs: 12,
17
- sm: 16,
18
- md: 24,
19
- lg: 28,
20
- xl: 36,
21
- xxl: 40
22
- }, f = u(() => {
23
- const o = {
24
- "bb-icon": !0
25
- };
26
- let l = { width: u(() => {
27
- let s;
28
- return typeof e.size == "string" ? s = a[e.size] ?? parseInt(e.size, 10) : s = e.size, s + "px";
29
- }).value };
30
- return e.color && (g(e.color) ? l.color = e.color : o[`text-${e.color}`] = !0), {
31
- class: o,
32
- style: l
33
- };
34
- }), r = () => {
35
- if (t) {
36
- if (typeof t[e.type] > "u")
37
- throw new Error(`Icon "${e.type}" does not exist.`);
38
- return t[e.type]().then((o) => {
39
- n.value && (n.value.innerHTML = o);
40
- });
25
+ emits: ["blur", "error", "focus", "update:modelValue"],
26
+ setup(w, { emit: l }) {
27
+ const a = w;
28
+ let y;
29
+ const d = h(null);
30
+ if (a.accept && !Array.isArray(a.accept))
31
+ throw new Error("Property accept is not an array");
32
+ if (a.multiple && !Array.isArray(a.modelValue))
33
+ throw new Error(
34
+ "Component is set to multiple but modelValue is not an array"
35
+ );
36
+ M(
37
+ () => a.modelValue,
38
+ () => {
39
+ let e = new DataTransfer();
40
+ Array.isArray(a.modelValue) ? a.modelValue.length && a.modelValue.forEach((t) => e.items.add(t)) : a.modelValue && e.items.add(a.modelValue), d.value && (e.items.length ? d.value.files = e.files : d.value.files = null);
41
41
  }
42
- };
43
- return _(r), w(() => e.type, r), (o, d) => (z(), I("i", b(f.value, {
44
- ref_key: "container",
45
- ref: n
46
- }), null, 16));
42
+ );
43
+ const c = h([]), x = m(
44
+ () => c.value.join(",")
45
+ );
46
+ M(
47
+ () => a.accept,
48
+ async () => {
49
+ if (a.accept) {
50
+ let e = [];
51
+ for (let t = 0; t < a.accept.length; t++) {
52
+ const r = a.accept[t];
53
+ if (r.includes("/"))
54
+ e.push(r);
55
+ else {
56
+ y || (y = await import("./index187.js").then((s) => s.i));
57
+ const o = y.getType(r);
58
+ if (!o)
59
+ throw new Error(
60
+ `Could not detect the correct mime associated with ${r}`
61
+ );
62
+ e.push(o);
63
+ }
64
+ }
65
+ c.value = e;
66
+ }
67
+ },
68
+ { immediate: !0 }
69
+ );
70
+ const b = a.id || `${X()}`, V = `bb_dz_${b}`, i = h(!1);
71
+ let v;
72
+ const C = m(() => ({
73
+ "bb-dropzone": !0,
74
+ "bb-dropzone--errors": k.value,
75
+ "bb-dropzone--dragging": i.value
76
+ })), L = m(() => ({
77
+ dragging: i.value,
78
+ id: b
79
+ })), P = (e) => {
80
+ if (i.value = !1, e.dataTransfer) {
81
+ e.stopImmediatePropagation();
82
+ let t;
83
+ if (t = Array.from(e.dataTransfer.files), t = T(t), a.multiple ? Array.isArray(a.modelValue) && l("update:modelValue", [...a.modelValue, ...t]) : (t = t[0], l("update:modelValue", t)), e.currentTarget instanceof HTMLLabelElement) {
84
+ const r = e.currentTarget.querySelector("input[type=file]");
85
+ r instanceof HTMLInputElement && r.focus();
86
+ }
87
+ }
88
+ }, $ = (e) => {
89
+ if (e.target instanceof HTMLInputElement) {
90
+ if (e.target.files) {
91
+ let t;
92
+ t = T(Array.from(e.target.files)), a.multiple ? Array.isArray(a.modelValue) && l("update:modelValue", [...a.modelValue, ...t]) : (t = t[0], l("update:modelValue", t));
93
+ }
94
+ e.target.value = "", e.target.files = null;
95
+ }
96
+ }, T = (e) => e.filter((t, r) => {
97
+ if (a.maxSize && !(t.size <= a.maxSize))
98
+ return l("error", f.maxSize(t)), !1;
99
+ let o = !1;
100
+ return a.modelValue && (Array.isArray(a.modelValue) ? o = a.modelValue.some(
101
+ (s) => D(s, t)
102
+ ) : o = D(a.modelValue, t)), o ? (l("error", f.uniqueness(t)), !1) : a.accept && !c.value.some((n) => {
103
+ let u = !1;
104
+ return n.includes("*") ? u = u || n.split("/")[0] === t.type.split("/")[0] : u = u || n === t.type, u;
105
+ }) ? (l("error", f.accept(t)), !1) : a.maxFiles && Array.isArray(a.modelValue) && a.modelValue.length + r + 1 > a.maxFiles ? (l(
106
+ "error",
107
+ f.maxFiles(t, a.modelValue.length + r)
108
+ ), !1) : !0;
109
+ }), I = (e) => {
110
+ const t = e.target;
111
+ if (t instanceof HTMLElement) {
112
+ const r = W(
113
+ [t],
114
+ "parentElement",
115
+ (o) => o.classList.contains("bb-dropzone")
116
+ );
117
+ r && (r.id === V ? B() : E());
118
+ }
119
+ }, B = () => {
120
+ clearTimeout(v), i.value = !0;
121
+ }, E = () => {
122
+ v = setTimeout(() => {
123
+ i.value = !1;
124
+ }, 100);
125
+ }, A = (e, t = 2) => {
126
+ if (!e)
127
+ return "0 B";
128
+ const r = 1024, o = t || 0, s = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"], n = Math.floor(Math.log(e) / Math.log(r));
129
+ return parseFloat((e / Math.pow(r, n)).toFixed(o)) + " " + s[n];
130
+ }, D = (e, t) => !["name", "size", "lastModified", "type"].some((o) => e[o] !== t[o]), f = {
131
+ maxSize: (e) => {
132
+ if (a.maxSize)
133
+ return {
134
+ type: "maxSize",
135
+ file: e,
136
+ formattedMaxSize: A(+a.maxSize),
137
+ formattedSize: A(e.size),
138
+ filename: e.name
139
+ };
140
+ },
141
+ uniqueness: (e) => {
142
+ if (a.maxSize)
143
+ return {
144
+ type: "uniqueness",
145
+ file: e,
146
+ filename: e.name
147
+ };
148
+ },
149
+ accept: (e) => ({
150
+ type: "accept",
151
+ file: e,
152
+ acceptedMimeTypes: c.value,
153
+ mimeType: e.type,
154
+ filename: e.name
155
+ }),
156
+ maxFiles: (e, t) => ({
157
+ type: "maxFiles",
158
+ file: e,
159
+ maxFiles: a.maxFiles,
160
+ totalFiles: t,
161
+ filename: e.name
162
+ })
163
+ }, _ = m(() => a.errors ? [].concat(a.errors) : []), k = m(
164
+ () => !!_.value.length || a.hasErrors
165
+ );
166
+ return (e, t) => (z(), H(N(e.tag), {
167
+ class: j(C.value),
168
+ id: V
169
+ }, {
170
+ default: S(() => [
171
+ p("label", {
172
+ onDrop: g(P, ["prevent"]),
173
+ onDragenter: g(B, ["prevent"]),
174
+ onDragover: g(I, ["prevent"]),
175
+ onDragleave: g(E, ["prevent"])
176
+ }, [
177
+ p("input", {
178
+ type: "file",
179
+ accept: x.value,
180
+ autofocus: e.autofocus,
181
+ disabled: e.disabled,
182
+ multiple: e.multiple,
183
+ onChange: $,
184
+ onFocus: t[0] || (t[0] = (r) => e.$emit("focus", r)),
185
+ onBlur: t[1] || (t[1] = (r) => e.$emit("blur", r))
186
+ }, null, 40, ae),
187
+ G(e.$slots, "default", K(O(L.value)))
188
+ ], 40, te),
189
+ p("label", re, [
190
+ R(" Server files "),
191
+ p("input", {
192
+ class: "bb-dropzone__submittable-input",
193
+ type: "file",
194
+ id: U(b),
195
+ name: e.name,
196
+ ref_key: "submittable",
197
+ ref: d,
198
+ multiple: e.multiple,
199
+ disabled: e.disabled
200
+ }, null, 8, oe)
201
+ ]),
202
+ p("span", le, [
203
+ Y(ee, { tag: "span" }, {
204
+ default: S(() => [
205
+ (z(!0), F(Z, null, J(_.value, (r) => (z(), F("span", {
206
+ class: "bb-dropzone__error",
207
+ key: r
208
+ }, Q(r), 1))), 128))
209
+ ]),
210
+ _: 1
211
+ })
212
+ ])
213
+ ]),
214
+ _: 3
215
+ }, 8, ["class"]));
47
216
  }
48
217
  });
49
218
  export {
50
- k as default
219
+ pe as default
51
220
  };
52
221
  //# sourceMappingURL=index56.js.map