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/index87.js CHANGED
@@ -1,84 +1,387 @@
1
- import { defineComponent as m, openBlock as b, createBlock as c, withCtx as r, renderSlot as n, normalizeProps as s, guardReactiveProps as i, createVNode as h, mergeProps as f, createSlots as y, renderList as P } from "vue";
2
- import V from "./index14.js";
3
- import "./index15.js";
4
- import B from "./index32.js";
5
- import "./index33.js";
6
- const I = /* @__PURE__ */ m({
7
- __name: "BbTextInput",
1
+ import { defineComponent as ne, computed as b, ref as j, onMounted as oe, watch as E, openBlock as o, createBlock as ce, resolveDynamicComponent as de, normalizeClass as u, withCtx as ie, createElementVNode as s, createElementBlock as c, toDisplayString as r, createCommentVNode as g, renderSlot as p, createVNode as B, unref as k, Fragment as V, renderList as w, createTextVNode as be, mergeProps as ue } from "vue";
2
+ import { isNil as D } from "./index169.js";
3
+ import { clamp as re } from "./index179.js";
4
+ import { nanoid as pe } from "./index176.js";
5
+ import { useItemValue as me } from "./index168.js";
6
+ import { when as ye } from "./index172.js";
7
+ import F from "./index4.js";
8
+ import "./index5.js";
9
+ import fe from "./index18.js";
10
+ import "./index19.js";
11
+ const he = { key: 0 }, _e = { class: "bb-table-header-row" }, ge = { class: "bb-table-header__content" }, ke = {
12
+ key: 0,
13
+ class: "bb-table-check__label"
14
+ }, ve = { class: "bb-table-check__label-text" }, Ce = {
15
+ key: 1,
16
+ class: "bb-table-radio__label-text"
17
+ }, Ve = { class: "bb-table-header__content" }, we = { class: "bb-table-header__content" }, Te = { class: "bb-table-loading__row" }, Ne = ["colspan"], Ae = { class: "bb-table-loading__text" }, Se = {
18
+ class: "bb-table-skeleton__container",
19
+ role: "status"
20
+ }, $e = /* @__PURE__ */ s("div", { class: "bb-table-skeleton-item__avatar-container" }, [
21
+ /* @__PURE__ */ s("div", { class: "bb-table-skeleton-item__avatar" })
22
+ ], -1), Be = /* @__PURE__ */ s("div", { class: "bb-table-skeleton-item__text" }, [
23
+ /* @__PURE__ */ s("div", { class: "bb-table-skeleton-item__line" }),
24
+ /* @__PURE__ */ s("div", { class: "bb-table-skeleton-item__line" })
25
+ ], -1), De = [
26
+ $e,
27
+ Be
28
+ ], Ie = { class: "bb-table-no-data__row" }, Le = ["colspan"], ze = { class: "bb-table-no-data__text" }, Oe = ["onClick", "onContextmenu", "onDblclick"], Je = { class: "bb-table-check__label-text" }, Re = { class: "bb-table-radio__label-text" }, Xe = /* @__PURE__ */ ne({
29
+ __name: "BbTable",
8
30
  props: {
9
- autocomplete: {},
10
- autofocus: { type: Boolean },
11
- direction: {},
31
+ accessibleLabel: { type: Function, default: (T) => ["Seleziona"].concat(T.map((i) => i.content)).join(" ") },
32
+ actions: { type: Boolean },
33
+ actionsText: { default: "Azioni" },
34
+ align: { default: "left" },
35
+ allowSelectAll: { type: Boolean, default: !0 },
36
+ caption: {},
37
+ columns: { default: () => [] },
38
+ compact: { type: Boolean },
39
+ dependencies: { default: () => [] },
40
+ depsDebounceTime: { default: 0 },
12
41
  disabled: { type: Boolean },
13
- errors: {},
14
- hasErrors: { type: Boolean },
15
- hideLabel: { type: Boolean },
16
- id: {},
17
- inputPosition: {},
18
- label: {},
19
- labelPosition: {},
42
+ displayCaption: { type: Boolean },
43
+ fixed: { type: Boolean },
44
+ items: { type: [Array, Function], default: () => [] },
45
+ itemValue: {},
46
+ legend: {},
47
+ loading: { type: Boolean },
48
+ loadingText: { default: "Caricamento" },
20
49
  modelValue: {},
50
+ multiple: { type: Boolean, default: !0 },
21
51
  name: {},
22
- placeholder: {},
52
+ noDataText: { default: "Non ci sono elementi da visualizzare" },
23
53
  readonly: { type: Boolean },
24
- reverse: { type: Boolean },
25
- type: {}
54
+ selectable: { type: [Boolean, Function] },
55
+ selectAll: { type: Boolean },
56
+ selectAllText: { default: "Seleziona tutti gli elementi di questa pagina" },
57
+ selectText: { default: "Seleziona un elemento" },
58
+ tdClass: {},
59
+ thClass: {}
26
60
  },
27
- emits: ["blur", "change", "click", "focus", "input", "keydown", "mousedown", "mouseup", "update:modelValue"],
28
- setup(k, { emit: o }) {
29
- const u = {
30
- onBlur: (e) => o("blur", e),
31
- onChange: (e) => o("change", e),
32
- onClick: (e) => o("click", e),
33
- onFocus: (e) => o("focus", e),
34
- onInput: (e) => o("input", e),
35
- onMousedown: (e) => o("mousedown", e),
36
- onMouseup: (e) => o("mouseup", e),
37
- "onUpdate:modelValue": (e) => o("update:modelValue", e)
61
+ emits: [
62
+ "click:row",
63
+ "contextmenu:row",
64
+ "dblclick:row",
65
+ "item-selected",
66
+ "update:modelValue",
67
+ "update:selectAll"
68
+ ],
69
+ setup(T, { emit: i }) {
70
+ const a = T, { getItemValue: I } = me(), N = pe(), M = a.accessibleLabel, q = a.loadingText, H = a.noDataText, P = a.selectAllText, U = a.selectText, W = b(() => a.selectable ? "fieldset" : "div"), A = j(!1), L = b(() => a.loading || A.value), z = b(() => [!!a.selectable, !!a.actions].reduce(
71
+ (e, t) => e + +!!t,
72
+ a.columns.length
73
+ )), G = b(() => {
74
+ let e = {};
75
+ return [].concat(a.modelValue).forEach(
76
+ (t, l) => e[JSON.stringify(t)] = l
77
+ ), {
78
+ get: (t) => e[JSON.stringify(t)]
79
+ };
80
+ }), O = b(
81
+ () => a.columns.reduce((e, t) => {
82
+ const l = t.key.split(/\W+/g).join("_");
83
+ return e[t.key] = l, e;
84
+ }, {})
85
+ ), h = j([]), S = async () => {
86
+ let e = [];
87
+ Array.isArray(a.items) ? e = a.items : typeof a.items == "function" && (A.value = !0, e = await a.items(), A.value = !1), h.value = e;
38
88
  };
39
- return (e, v) => (b(), c(V, {
40
- class: "bb-text-input",
41
- direction: e.direction,
42
- errors: e.errors,
43
- hasErrors: e.hasErrors,
44
- hideLabel: e.hideLabel,
45
- id: e.id,
46
- inputPosition: e.inputPosition,
47
- label: e.label,
48
- labelPosition: e.labelPosition,
49
- modelValue: e.modelValue,
50
- name: e.name,
51
- reverse: e.reverse
89
+ oe(S), E(
90
+ () => a.items,
91
+ async () => {
92
+ await S(), a.multiple ? i("update:modelValue", []) : i("update:modelValue", null);
93
+ }
94
+ );
95
+ let $;
96
+ E(() => a.dependencies, async (e, t) => {
97
+ JSON.stringify(e) !== JSON.stringify(t) && ($ && clearTimeout($), $ = setTimeout(async () => {
98
+ await S(), a.multiple ? i("update:modelValue", []) : i("update:modelValue", null);
99
+ }, a.depsDebounceTime));
100
+ });
101
+ const K = b(
102
+ () => a.columns.map((e) => {
103
+ const t = e.align || "left", { label: l, key: d } = e, _ = `header_${O.value[e.key]}`;
104
+ let m = [];
105
+ return a.thClass && (m = m.concat(a.thClass)), e.thClass && (m = m.concat(e.thClass)), {
106
+ align: t,
107
+ key: d,
108
+ label: l,
109
+ slotName: _,
110
+ classes: m
111
+ };
112
+ })
113
+ ), v = b(() => h.value.map((e) => {
114
+ const t = I(e, a.itemValue), l = JSON.stringify(t);
115
+ let d = !!a.selectable;
116
+ typeof a.selectable == "function" && (d = !!a.selectable(e)), d = d && !a.disabled;
117
+ const _ = G.value.get(t), m = !D(_), R = a.columns.map((n) => {
118
+ const le = O.value[n.key], ae = n.align || "left", { label: te, key: se } = n;
119
+ let f = I(e, n.key);
120
+ n.formatter && // By default the formatter runs anyway
121
+ (!D(f) || n.formatOnNull !== !1) && (f = n.formatter(f, n.key, e)), n.placeholder && D(f) && (f = n.placeholder);
122
+ let y = [];
123
+ if (a.tdClass)
124
+ if (typeof a.tdClass == "function") {
125
+ let C = a.tdClass(f, n.key, e);
126
+ C && (y = y.concat(C));
127
+ } else
128
+ y = y.concat(a.tdClass);
129
+ if (n.tdClass)
130
+ if (typeof n.tdClass == "function") {
131
+ let C = n.tdClass(f, n.key, e);
132
+ C && (y = y.concat(C));
133
+ } else
134
+ y = y.concat(n.tdClass);
135
+ return {
136
+ align: ae,
137
+ classes: y,
138
+ content: f,
139
+ key: se,
140
+ label: te,
141
+ slotName: le
142
+ };
143
+ });
144
+ return {
145
+ accessibleLabel: M(R, e),
146
+ cols: R,
147
+ jsonValue: l,
148
+ original: e,
149
+ selectable: d,
150
+ selected: m,
151
+ selectedIndex: _,
152
+ value: t,
153
+ onRowClick: (n) => i("click:row", n, e, { selected: m }),
154
+ onRowContextMenu: (n) => i("contextmenu:row", n, e, { selected: m }),
155
+ onRowDblClick: (n) => i("dblclick:row", n, e, { selected: m })
156
+ };
157
+ })), Q = (e) => {
158
+ let t = e, l = [];
159
+ t && (l = v.value.reduce((d, _) => (_.selectable && d.push(_.value), d), [])), i("update:modelValue", l), i("update:selectAll", e);
160
+ }, X = b(
161
+ () => v.value.length && !v.value.some((e) => e.selectable && !e.selected)
162
+ ), Y = b(
163
+ () => v.value.some((e) => !e.selected) && !!a.modelValue.length
164
+ ), J = (e) => {
165
+ let t;
166
+ a.multiple ? e.selected ? t = a.modelValue.slice(0, e.selectedIndex).concat(a.modelValue.slice([e.selectedIndex + 1])) : t = a.modelValue.concat(e.value) : t = e.value, i("item-selected", e), i("update:modelValue", t);
167
+ }, Z = ye(
168
+ (e) => typeof e != "string",
169
+ JSON.stringify
170
+ ), x = b(() => [].concat(a.modelValue).map((e) => {
171
+ const t = Z(e);
172
+ return {
173
+ disabled: a.disabled,
174
+ name: a.name,
175
+ type: "hidden",
176
+ value: t
177
+ };
178
+ })), ee = b(() => re(h.value.length, 4, 10));
179
+ return (e, t) => (o(), ce(de(W.value), {
180
+ class: u({
181
+ "bb-table": !0,
182
+ [`bb-table--align-${e.align}`]: !0,
183
+ "bb-table--compact": e.compact,
184
+ "bb-table--fixed": e.fixed,
185
+ "bb-table--loading": L.value,
186
+ "bb-table--empty": !h.value.length
187
+ })
52
188
  }, {
53
- label: r((l) => [
54
- n(e.$slots, "label", s(i(l)))
55
- ]),
56
- input: r(({ id: l, name: d, hasErrors: t }) => [
57
- h(B, f({
58
- autocomplete: e.autocomplete,
59
- autofocus: e.autofocus,
60
- disabled: e.disabled,
61
- hasErrors: t,
62
- id: l,
63
- modelValue: e.modelValue,
64
- name: d,
65
- placeholder: e.placeholder,
66
- readonly: e.readonly,
67
- type: e.type
68
- }, u), y({ _: 2 }, [
69
- P(e.$slots, (L, a) => ({
70
- name: a,
71
- fn: r((p) => [
72
- n(e.$slots, a, s(i(p)))
189
+ default: ie(() => [
190
+ s("fieldset", null, [
191
+ e.selectable ? (o(), c("legend", he, r(e.legend), 1)) : g("", !0),
192
+ s("table", null, [
193
+ e.caption ? (o(), c("caption", {
194
+ key: 0,
195
+ class: u({
196
+ "bb-table-caption": !0,
197
+ "bb-table-caption--hidden": !e.displayCaption
198
+ })
199
+ }, r(e.caption), 3)) : g("", !0),
200
+ s("thead", null, [
201
+ p(e.$slots, "thead", {}, () => [
202
+ s("tr", _e, [
203
+ e.selectable ? (o(), c("th", {
204
+ key: 0,
205
+ class: u(["bb-table-header bb-table-header--select", e.thClass]),
206
+ scope: "col"
207
+ }, [
208
+ p(e.$slots, "header_select", {
209
+ multiple: e.multiple,
210
+ selectAll: e.selectAll
211
+ }, () => [
212
+ s("span", ge, [
213
+ e.allowSelectAll && e.multiple ? (o(), c("label", ke, [
214
+ B(F, {
215
+ class: "bb-table-check",
216
+ disabled: e.disabled,
217
+ indeterminate: Y.value,
218
+ readonly: e.readonly,
219
+ name: `select_all_${e.name || ""}`,
220
+ "model-value": X.value,
221
+ "onUpdate:modelValue": Q
222
+ }, null, 8, ["disabled", "indeterminate", "readonly", "name", "model-value"]),
223
+ s("span", ve, r(k(P)), 1)
224
+ ])) : e.multiple ? g("", !0) : (o(), c("span", Ce, r(k(U)), 1))
225
+ ])
226
+ ])
227
+ ], 2)) : g("", !0),
228
+ (o(!0), c(V, null, w(K.value, (l) => (o(), c("th", {
229
+ key: l.key,
230
+ class: u(l.classes),
231
+ scope: "col"
232
+ }, [
233
+ p(e.$slots, l.slotName, {
234
+ class: u(l.classes),
235
+ items: h.value,
236
+ label: l.label
237
+ }, () => [
238
+ s("span", Ve, r(l.label), 1)
239
+ ])
240
+ ], 2))), 128)),
241
+ e.actions ? (o(), c("th", {
242
+ key: 1,
243
+ class: u(["bb-table-header bb-table-header--actions", e.thClass]),
244
+ scope: "col"
245
+ }, [
246
+ p(e.$slots, "header_actions", {}, () => [
247
+ s("span", we, r(e.actionsText), 1)
248
+ ])
249
+ ], 2)) : g("", !0)
250
+ ])
251
+ ])
252
+ ]),
253
+ s("tbody", null, [
254
+ L.value ? p(e.$slots, "loading", {
255
+ key: 0,
256
+ align: e.align,
257
+ classes: e.tdClass,
258
+ items: h.value
259
+ }, () => [
260
+ s("tr", Te, [
261
+ s("td", {
262
+ class: "bb-table-loading__cell",
263
+ colspan: z.value
264
+ }, [
265
+ s("span", Ae, r(k(q)), 1),
266
+ s("div", Se, [
267
+ (o(!0), c(V, null, w(ee.value, (l) => (o(), c("div", {
268
+ class: "bb-table-skeleton-item",
269
+ key: l
270
+ }, De))), 128))
271
+ ])
272
+ ], 8, Ne)
273
+ ])
274
+ ]) : h.value.length ? p(e.$slots, "tbody", { key: 2 }, () => [
275
+ (o(!0), c(V, null, w(v.value, (l) => (o(), c("tr", {
276
+ class: "bb-table-data__row",
277
+ key: l.jsonValue,
278
+ onClick: l.onRowClick,
279
+ onContextmenu: l.onRowContextMenu,
280
+ onDblclick: l.onRowDblClick
281
+ }, [
282
+ e.selectable ? (o(), c("td", {
283
+ key: 0,
284
+ class: u(["bb-table-data__cell bb-table-data__cell--select", e.tdClass])
285
+ }, [
286
+ p(e.$slots, "select", {
287
+ align: e.align,
288
+ classes: e.tdClass,
289
+ item: l.original,
290
+ value: l.value,
291
+ checked: l.selected,
292
+ disabled: !l.selectable,
293
+ inputName: k(N),
294
+ readonly: e.readonly
295
+ }, () => [
296
+ e.multiple ? (o(), c("label", {
297
+ key: 0,
298
+ class: u(["bb-table-check__label", {
299
+ "bb-table-check__label--disabled": !l.selectable
300
+ }])
301
+ }, [
302
+ B(F, {
303
+ class: "bb-table-check",
304
+ checked: l.selected,
305
+ disabled: !l.selectable,
306
+ name: k(N),
307
+ readonly: e.readonly,
308
+ onChange: () => J(l)
309
+ }, null, 8, ["checked", "disabled", "name", "readonly", "onChange"]),
310
+ s("span", Je, r(l.accessibleLabel), 1)
311
+ ], 2)) : (o(), c("label", {
312
+ key: 1,
313
+ class: u(["bb-table-radio__label", {
314
+ "bb-table-radio__label--disabled": !l.selectable
315
+ }])
316
+ }, [
317
+ B(fe, {
318
+ class: "bb-table-radio",
319
+ checked: l.selected,
320
+ disabled: !l.selectable,
321
+ name: k(N),
322
+ readonly: e.readonly,
323
+ value: l.value,
324
+ onChange: () => J(l)
325
+ }, null, 8, ["checked", "disabled", "name", "readonly", "value", "onChange"]),
326
+ s("span", Re, r(l.accessibleLabel), 1)
327
+ ], 2))
328
+ ])
329
+ ], 2)) : g("", !0),
330
+ (o(!0), c(V, null, w(l.cols, (d) => (o(), c("td", {
331
+ key: d.key,
332
+ class: u(["bb-table-data__cell", d.classes])
333
+ }, [
334
+ p(e.$slots, d.slotName, {
335
+ align: d.align,
336
+ classes: d.classes,
337
+ content: d.content,
338
+ item: l.original,
339
+ value: l.value
340
+ }, () => [
341
+ be(r(d.content), 1)
342
+ ])
343
+ ], 2))), 128)),
344
+ e.actions ? (o(), c("td", {
345
+ key: 1,
346
+ class: u(["bb-table__cell bb-table__cell--actions", e.tdClass])
347
+ }, [
348
+ p(e.$slots, "actions", {
349
+ align: e.align,
350
+ classes: e.tdClass,
351
+ item: l.original,
352
+ value: l.value
353
+ })
354
+ ], 2)) : g("", !0)
355
+ ], 40, Oe))), 128))
356
+ ]) : p(e.$slots, "no-data", {
357
+ key: 1,
358
+ align: e.align,
359
+ classes: e.tdClass
360
+ }, () => [
361
+ s("tr", Ie, [
362
+ s("td", {
363
+ class: "bb-table-no-data__cell",
364
+ colspan: z.value
365
+ }, [
366
+ s("span", ze, r(k(H)), 1)
367
+ ], 8, Le)
368
+ ])
369
+ ])
370
+ ]),
371
+ s("tfoot", null, [
372
+ p(e.$slots, "tfoot")
73
373
  ])
74
- }))
75
- ]), 1040, ["autocomplete", "autofocus", "disabled", "hasErrors", "id", "modelValue", "name", "placeholder", "readonly", "type"])
374
+ ])
375
+ ]),
376
+ (o(!0), c(V, null, w(x.value, (l) => (o(), c("input", ue({
377
+ key: l.value
378
+ }, l), null, 16))), 128))
76
379
  ]),
77
380
  _: 3
78
- }, 8, ["direction", "errors", "hasErrors", "hideLabel", "id", "inputPosition", "label", "labelPosition", "modelValue", "name", "reverse"]));
381
+ }, 8, ["class"]));
79
382
  }
80
383
  });
81
384
  export {
82
- I as default
385
+ Xe as default
83
386
  };
84
387
  //# sourceMappingURL=index87.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index87.js","sources":["../src/components/BbTextInput/BbTextInput.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, mergeProps as _mergeProps, withCtx as _withCtx, renderList as _renderList, createSlots as _createSlots, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport BaseInputContainer from \"../BaseInputContainer/BaseInputContainer.vue\";\nimport BaseTextInput from \"../BaseTextInput/BaseTextInput.vue\";\nimport type { BaseTextInputEvents } from \"../BaseTextInput/BaseTextInput.vue\";\n\nexport interface BbTextInputProps {\n autocomplete?: string;\n autofocus?: boolean;\n direction?: \"horizontal\" | \"vertical\" | \"auto\" | string;\n disabled?: boolean;\n errors?: string | string[];\n hasErrors?: boolean;\n hideLabel?: boolean;\n id?: string;\n inputPosition?: \"left\" | \"center\" | \"right\";\n label: string;\n labelPosition?: \"left\" | \"center\" | \"right\";\n modelValue?: any;\n name?: string;\n placeholder?: string;\n readonly?: boolean;\n reverse?: boolean;\n type?: \"text\" | \"number\" | \"date\" | \"datetime-local\" | \"email\" | \"password\";\n}\n\nexport type BbTextInputEvents = BaseTextInputEvents;\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTextInput',\n props: {\n autocomplete: {},\n autofocus: { type: Boolean },\n direction: {},\n disabled: { type: Boolean },\n errors: {},\n hasErrors: { type: Boolean },\n hideLabel: { type: Boolean },\n id: {},\n inputPosition: {},\n label: {},\n labelPosition: {},\n modelValue: {},\n name: {},\n placeholder: {},\n readonly: { type: Boolean },\n reverse: { type: Boolean },\n type: {}\n },\n emits: [\"blur\", \"change\", \"click\", \"focus\", \"input\", \"keydown\", \"mousedown\", \"mouseup\", \"update:modelValue\"],\n setup(__props: any, { emit }) {\n\n\n\n\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n onBlur: (event: FocusEvent) => emit(\"blur\", event),\n onChange: (event: Event) => emit(\"change\", event),\n onClick: (event: MouseEvent) => emit(\"click\", event),\n onFocus: (event: FocusEvent) => emit(\"focus\", event),\n onInput: (event: Event) => emit(\"input\", event),\n onMousedown: (event: MouseEvent) => emit(\"mousedown\", event),\n onMouseup: (event: MouseEvent) => emit(\"mouseup\", event),\n \"onUpdate:modelValue\": (value: string | null) =>\n emit(\"update:modelValue\", value),\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(BaseInputContainer, {\n class: \"bb-text-input\",\n direction: _ctx.direction,\n errors: _ctx.errors,\n hasErrors: _ctx.hasErrors,\n hideLabel: _ctx.hideLabel,\n id: _ctx.id,\n inputPosition: _ctx.inputPosition,\n label: _ctx.label,\n labelPosition: _ctx.labelPosition,\n modelValue: _ctx.modelValue,\n name: _ctx.name,\n reverse: _ctx.reverse\n }, {\n label: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"label\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n input: _withCtx(({ id, name, hasErrors }) => [\n _createVNode(BaseTextInput, _mergeProps({\n autocomplete: _ctx.autocomplete,\n autofocus: _ctx.autofocus,\n disabled: _ctx.disabled,\n hasErrors: hasErrors,\n id: id,\n modelValue: _ctx.modelValue,\n name: name,\n placeholder: _ctx.placeholder,\n readonly: _ctx.readonly,\n type: _ctx.type\n }, eventListeners), _createSlots({ _: 2 }, [\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 ]), 1040, [\"autocomplete\", \"autofocus\", \"disabled\", \"hasErrors\", \"id\", \"modelValue\", \"name\", \"placeholder\", \"readonly\", \"type\"])\n ]),\n _: 3\n }, 8, [\"direction\", \"errors\", \"hasErrors\", \"hideLabel\", \"id\", \"inputPosition\", \"label\", \"labelPosition\", \"modelValue\", \"name\", \"reverse\"]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","emit","eventListeners","event","value","_ctx","_cache","_openBlock","_createBlock","BaseInputContainer","_withCtx","data","_renderSlot","_normalizeProps","_guardReactiveProps","id","name","hasErrors","_createVNode","BaseTextInput","_mergeProps","_createSlots","_renderList","_"],"mappings":";;;;;AA6BA,MAA4BA,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,cAAc,CAAC;AAAA,IACf,WAAW,EAAE,MAAM,QAAQ;AAAA,IAC3B,WAAW,CAAC;AAAA,IACZ,UAAU,EAAE,MAAM,QAAQ;AAAA,IAC1B,QAAQ,CAAC;AAAA,IACT,WAAW,EAAE,MAAM,QAAQ;AAAA,IAC3B,WAAW,EAAE,MAAM,QAAQ;AAAA,IAC3B,IAAI,CAAC;AAAA,IACL,eAAe,CAAC;AAAA,IAChB,OAAO,CAAC;AAAA,IACR,eAAe,CAAC;AAAA,IAChB,YAAY,CAAC;AAAA,IACb,MAAM,CAAC;AAAA,IACP,aAAa,CAAC;AAAA,IACd,UAAU,EAAE,MAAM,QAAQ;AAAA,IAC1B,SAAS,EAAE,MAAM,QAAQ;AAAA,IACzB,MAAM,CAAC;AAAA,EACT;AAAA,EACA,OAAO,CAAC,QAAQ,UAAU,SAAS,SAAS,SAAS,WAAW,aAAa,WAAW,mBAAmB;AAAA,EAC3G,MAAMC,GAAc,EAAE,MAAAC,KAAQ;AAShC,UAAMC,IAAiB;AAAA,MACrB,QAAQ,CAACC,MAAsBF,EAAK,QAAQE,CAAK;AAAA,MACjD,UAAU,CAACA,MAAiBF,EAAK,UAAUE,CAAK;AAAA,MAChD,SAAS,CAACA,MAAsBF,EAAK,SAASE,CAAK;AAAA,MACnD,SAAS,CAACA,MAAsBF,EAAK,SAASE,CAAK;AAAA,MACnD,SAAS,CAACA,MAAiBF,EAAK,SAASE,CAAK;AAAA,MAC9C,aAAa,CAACA,MAAsBF,EAAK,aAAaE,CAAK;AAAA,MAC3D,WAAW,CAACA,MAAsBF,EAAK,WAAWE,CAAK;AAAA,MACvD,uBAAuB,CAACC,MACtBH,EAAK,qBAAqBG,CAAK;AAAA,IAAA;AAG5B,WAAA,CAACC,GAAUC,OACRC,EAAA,GAAcC,EAAaC,GAAoB;AAAA,MACrD,OAAO;AAAA,MACP,WAAWJ,EAAK;AAAA,MAChB,QAAQA,EAAK;AAAA,MACb,WAAWA,EAAK;AAAA,MAChB,WAAWA,EAAK;AAAA,MAChB,IAAIA,EAAK;AAAA,MACT,eAAeA,EAAK;AAAA,MACpB,OAAOA,EAAK;AAAA,MACZ,eAAeA,EAAK;AAAA,MACpB,YAAYA,EAAK;AAAA,MACjB,MAAMA,EAAK;AAAA,MACX,SAASA,EAAK;AAAA,IAAA,GACb;AAAA,MACD,OAAOK,EAAS,CAACC,MAAS;AAAA,QACxBC,EAAYP,EAAK,QAAQ,SAASQ,EAAgBC,EAAoBH,CAAI,CAAC,CAAC;AAAA,MAAA,CAC7E;AAAA,MACD,OAAOD,EAAS,CAAC,EAAE,IAAAK,GAAI,MAAAC,GAAM,WAAAC,QAAgB;AAAA,QAC3CC,EAAaC,GAAeC,EAAY;AAAA,UACtC,cAAcf,EAAK;AAAA,UACnB,WAAWA,EAAK;AAAA,UAChB,UAAUA,EAAK;AAAA,UACf,WAAAY;AAAA,UACA,IAAAF;AAAA,UACA,YAAYV,EAAK;AAAA,UACjB,MAAAW;AAAA,UACA,aAAaX,EAAK;AAAA,UAClB,UAAUA,EAAK;AAAA,UACf,MAAMA,EAAK;AAAA,WACVH,CAAc,GAAGmB,EAAa,EAAE,GAAG,KAAK;AAAA,UACzCC,EAAYjB,EAAK,QAAQ,CAACkB,GAAGP,OACpB;AAAA,YACL,MAAMA;AAAAA,YACN,IAAIN,EAAS,CAACC,MAAS;AAAA,cACrBC,EAAYP,EAAK,QAAQW,GAAMH,EAAgBC,EAAoBH,CAAI,CAAC,CAAC;AAAA,YAAA,CAC1E;AAAA,UAAA,EAEJ;AAAA,QACF,CAAA,GAAG,MAAM,CAAC,gBAAgB,aAAa,YAAY,aAAa,MAAM,cAAc,QAAQ,eAAe,YAAY,MAAM,CAAC;AAAA,MAAA,CAChI;AAAA,MACD,GAAG;AAAA,IACF,GAAA,GAAG,CAAC,aAAa,UAAU,aAAa,aAAa,MAAM,iBAAiB,SAAS,iBAAiB,cAAc,QAAQ,SAAS,CAAC;AAAA,EAE3I;AAEA,CAAC;"}
1
+ {"version":3,"file":"index87.js","sources":["../src/components/BbTable/BbTable.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, renderSlot as _renderSlot, createVNode as _createVNode, unref as _unref, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, createTextVNode as _createTextVNode, mergeProps as _mergeProps, resolveDynamicComponent as _resolveDynamicComponent, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"bb-table-header-row\" }\nconst _hoisted_3 = { class: \"bb-table-header__content\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"bb-table-check__label\"\n}\nconst _hoisted_5 = { class: \"bb-table-check__label-text\" }\nconst _hoisted_6 = {\n key: 1,\n class: \"bb-table-radio__label-text\"\n}\nconst _hoisted_7 = { class: \"bb-table-header__content\" }\nconst _hoisted_8 = { class: \"bb-table-header__content\" }\nconst _hoisted_9 = { class: \"bb-table-loading__row\" }\nconst _hoisted_10 = [\"colspan\"]\nconst _hoisted_11 = { class: \"bb-table-loading__text\" }\nconst _hoisted_12 = {\n class: \"bb-table-skeleton__container\",\n role: \"status\"\n}\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__avatar-container\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__avatar\" })\n], -1)\nconst _hoisted_14 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__text\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__line\" }),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__line\" })\n], -1)\nconst _hoisted_15 = [\n _hoisted_13,\n _hoisted_14\n]\nconst _hoisted_16 = { class: \"bb-table-no-data__row\" }\nconst _hoisted_17 = [\"colspan\"]\nconst _hoisted_18 = { class: \"bb-table-no-data__text\" }\nconst _hoisted_19 = [\"onClick\", \"onContextmenu\", \"onDblclick\"]\nconst _hoisted_20 = { class: \"bb-table-check__label-text\" }\nconst _hoisted_21 = { class: \"bb-table-radio__label-text\" }\n\nimport { computed, onMounted, ref, watch } from \"vue\";\nimport { isNil } from \"@/utilities/functions/isNil\";\nimport { clamp } from \"@/utilities/functions/clamp\";\nimport { nanoid } from \"nanoid\";\nimport { useItemValue } from \"@/composables/useItemValue\";\nimport { when } from \"@/utilities/functions/when\";\nimport BaseCheckbox from \"../BaseCheckbox/BaseCheckbox.vue\";\nimport BaseRadio from \"../BaseRadio/BaseRadio.vue\";\nimport type { Classes } from \"@/types/Classes\";\n\ntype ColumnClasses =\n | Classes\n | (<T>(content: any, key: string, item: T) => Classes);\n\n/**\n * Column as defined from outside\n */\nexport interface TableColumn {\n align?: \"left\" | \"right\" | \"center\";\n formatOnNull?: boolean;\n formatter?: <T>(content: any, key: string, item: T) => any;\n key: string;\n label: string;\n placeholder?: string;\n tdClass?: ColumnClasses;\n thClass?: Classes;\n}\n\n/**\n * Projection that represents a row of cells with flags\n * linked to the state of the item\n */\ntype MappedItem = {\n accessibleLabel: string;\n cols: MappedCell[];\n jsonValue: string;\n original: any;\n selectable: boolean;\n selected: boolean;\n selectedIndex: number;\n value: string;\n onRowClick: (event: MouseEvent) => void;\n onRowContextMenu: (event: MouseEvent) => void;\n onRowDblClick: (event: MouseEvent) => void;\n};\n\n/**\n * Projection that represnets a header\n */\ntype MappedHeader = {\n align: string;\n classes?: Classes[];\n key: string;\n slotName: string;\n label: string;\n};\n\n/**\n * Projection that represents a cell of data.\n */\ntype MappedCell = {\n align: string;\n classes: ColumnClasses[];\n content: string;\n key: string;\n label: string;\n slotName: string;\n};\n\nexport interface BbTableProps {\n accessibleLabel?: (columns: MappedCell[], item: any) => string;\n actions?: boolean;\n actionsText?: string;\n align?: \"left\" | \"center\" | \"right\";\n allowSelectAll?: boolean;\n caption?: string;\n columns?: TableColumn[];\n compact?: boolean;\n dependencies?: any[];\n depsDebounceTime?: number;\n disabled?: boolean;\n displayCaption?: boolean;\n fixed?: boolean;\n items: any[] | (() => Promise<any[]>);\n itemValue?: string | (() => any);\n legend?: string;\n loading?: boolean;\n loadingText?: string;\n modelValue?: any;\n multiple?: boolean;\n name?: string;\n noDataText?: string;\n readonly?: boolean;\n selectable?: boolean | ((item: any) => boolean);\n selectAll?: boolean;\n selectAllText?: string;\n selectText?: string;\n tdClass?: Classes | ColumnClasses;\n thClass?: Classes;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTable',\n props: {\n accessibleLabel: { type: Function, default: (columns: MappedCell[]) =>\n [\"Seleziona\"].concat(columns.map((col) => col.content)).join(\" \") },\n actions: { type: Boolean },\n actionsText: { default: \"Azioni\" },\n align: { default: \"left\" },\n allowSelectAll: { type: Boolean, default: true },\n caption: {},\n columns: { default: () => [] },\n compact: { type: Boolean },\n dependencies: { default: () => [] },\n depsDebounceTime: { default: 0 },\n disabled: { type: Boolean },\n displayCaption: { type: Boolean },\n fixed: { type: Boolean },\n items: { type: [Array, Function], default: () => [] },\n itemValue: {},\n legend: {},\n loading: { type: Boolean },\n loadingText: { default: \"Caricamento\" },\n modelValue: {},\n multiple: { type: Boolean, default: true },\n name: {},\n noDataText: { default: \"Non ci sono elementi da visualizzare\" },\n readonly: { type: Boolean },\n selectable: { type: [Boolean, Function] },\n selectAll: { type: Boolean },\n selectAllText: { default: \"Seleziona tutti gli elementi di questa pagina\" },\n selectText: { default: \"Seleziona un elemento\" },\n tdClass: {},\n thClass: {}\n },\n emits: [\n \"click:row\",\n \"contextmenu:row\",\n \"dblclick:row\",\n \"item-selected\",\n \"update:modelValue\",\n \"update:selectAll\",\n],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\nconst { getItemValue } = useItemValue();\n\n/**\n * We do not allow the use of the checkbox or radio themselves as\n * they would not be submitted if the user has changed\n * page in the meantime, rather we provide a temporary\n * name so radio still work but we later add hidden inputs for submission\n */\nconst randomName = nanoid();\n\n/**\n * We allow table data classes to be a function so it can depend on the item\n */\n\n\n\n\nconst accessibleLabel = props.accessibleLabel;\nconst loadingText = props.loadingText;\nconst noDataText = props.noDataText;\nconst selectAllText = props.selectAllText;\nconst selectText = props.selectText;\n\n// We render the table in a fieldset to group checkbox / radios if the table is selectable\nconst containerTag = computed(() => (props.selectable ? \"fieldset\" : \"div\"));\nconst internalLoading = ref(false);\nconst loading = computed(() => props.loading || internalLoading.value);\n\nconst replacementContentSpan = computed(() => {\n return [!!props.selectable, !!props.actions].reduce(\n (acc: number, current) => acc + Number(!!current),\n props.columns.length\n );\n});\n\n/**\n * Indexes modelValue to a map so when can easily know which values are selected\n * (using JSON to circumvent identical object not being equal in JS)\n */\nconst modelValueIndexed = computed(() => {\n let map: { [key: string]: number } = {};\n []\n .concat(props.modelValue)\n .forEach(\n (value: any, index: number) => (map[JSON.stringify(value)] = index)\n );\n return {\n get: (value: any) => map[JSON.stringify(value)],\n };\n});\n\n/**\n * Map column identifiers to slot names\n */\nconst slotNames = computed(() =>\n props.columns.reduce((acc: { [key: string]: string }, curr: TableColumn) => {\n const mapped = curr.key.split(/\\W+/g).join(\"_\");\n acc[curr.key] = mapped;\n return acc;\n }, {})\n);\n\n/**\n * Items as loaded from the function or from the outside\n */\nconst internalItems = ref<any[]>([]);\n\nconst getItems = async () => {\n let items = [];\n if (Array.isArray(props.items)) {\n items = props.items;\n } else {\n if (typeof props.items === \"function\") {\n internalLoading.value = true;\n items = await props.items();\n internalLoading.value = false;\n }\n }\n internalItems.value = items;\n};\n\nonMounted(getItems);\n\n/**\n * When item changes update internal items and\n * deselect everything\n */\nwatch(\n () => props.items,\n async () => {\n await getItems();\n if (props.multiple) {\n emit(\"update:modelValue\", []);\n } else {\n emit(\"update:modelValue\", null);\n }\n }\n);\n/* Prevent vue from sharing this function across instances */\nlet timeout: ReturnType<typeof setTimeout>;;\nconst onDependencyChange = async (curr: any[], previous?: any[]) => {\n if (JSON.stringify(curr) !== JSON.stringify(previous)) {\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(async () => {\n await getItems();\n if (props.multiple) {\n emit(\"update:modelValue\", []);\n } else {\n emit(\"update:modelValue\", null);\n }\n }, props.depsDebounceTime);\n }\n};\nwatch(() => props.dependencies, onDependencyChange);\n\n/**\n * Take the columns and generate a simplified array for headers display\n */\nconst mappedHeaders = computed(() =>\n props.columns.map((column: TableColumn): MappedHeader => {\n const align = column.align || \"left\";\n const { label, key } = column;\n const slotName = `header_${slotNames.value[column.key]}`;\n // Create a single merged array of all the passed classes\n let classes: Classes = [];\n if (props.thClass) {\n classes = classes.concat(props.thClass);\n }\n if (column.thClass) {\n classes = classes.concat(column.thClass);\n }\n return {\n align,\n key,\n label,\n slotName,\n classes,\n };\n })\n);\n\n/**\n * Map items to an an array that represents the entire row.\n * Track every logic here so we don't have inline callbacks in the template.\n */\nconst mappedItems = computed<MappedItem[]>(() => {\n return internalItems.value.map((item: any) => {\n // By default the value if the item is the item.\n const value = getItemValue(item, props.itemValue);\n const jsonValue = JSON.stringify(value);\n\n /**\n * Item is selectable only if the table allows or item\n * passes iteratee and the selection is not disabled\n */\n let selectable = !!props.selectable;\n if (typeof props.selectable === \"function\") {\n selectable = !!props.selectable(item);\n }\n selectable = selectable && !props.disabled;\n\n //Track the index at which the item has been selected for easy of removal\n const selectedIndex = modelValueIndexed.value.get(value);\n const selected = !isNil(selectedIndex);\n\n // Create a projection of the columns and run all formatter logic so\n // we just display content in the template\n const cols: MappedCell[] = props.columns.map((column) => {\n // Slot identifier\n const slotName = slotNames.value[column.key];\n const align = column.align || \"left\";\n const { label, key } = column;\n // The content\n let content = getItemValue(item, column.key);\n if (\n column.formatter &&\n // By default the formatter runs anyway\n (!isNil(content) || column.formatOnNull !== false)\n ) {\n content = column.formatter(content, column.key, item);\n }\n if (column.placeholder && isNil(content)) {\n content = column.placeholder;\n }\n\n // Merge global and specific classes\n let classes: Classes = [];\n if (props.tdClass) {\n if (typeof props.tdClass === \"function\") {\n let temp = props.tdClass(content, column.key, item);\n if (temp) {\n classes = classes.concat(temp);\n }\n } else classes = classes.concat(props.tdClass);\n }\n if (column.tdClass) {\n if (typeof column.tdClass === \"function\") {\n let temp = column.tdClass(content, column.key, item);\n if (temp) {\n classes = classes.concat(temp);\n }\n } else classes = classes.concat(column.tdClass);\n }\n return {\n align,\n classes,\n content,\n key,\n label,\n slotName,\n };\n });\n\n const accessibleLabelText = accessibleLabel(cols, item);\n\n return {\n accessibleLabel: accessibleLabelText,\n cols,\n jsonValue,\n original: item,\n selectable,\n selected,\n selectedIndex,\n value,\n onRowClick: (event: MouseEvent) =>\n emit(\"click:row\", event, item, { selected }),\n onRowContextMenu: (event: MouseEvent) =>\n emit(\"contextmenu:row\", event, item, { selected }),\n onRowDblClick: (event: MouseEvent) =>\n emit(\"dblclick:row\", event, item, { selected }),\n };\n });\n});\n\n/**\n * Same behavior as GMail.\n * If anything is selected remove it.\n * Then when empty you select all items of this page\n */\nconst onChangeSelectAll = (value: boolean) => {\n let selectAllValue = value;\n let modelValue: any[] = [];\n\n if (selectAllValue) {\n modelValue = mappedItems.value.reduce((acc: any[], curr) => {\n if (curr.selectable) acc.push(curr.value);\n return acc;\n }, []);\n }\n emit(\"update:modelValue\", modelValue);\n emit(\"update:selectAll\", value);\n};\n\nconst allSelected = computed(\n () =>\n mappedItems.value.length &&\n !mappedItems.value.some((item) => item.selectable && !item.selected)\n);\nconst indeterminate = computed(\n () =>\n mappedItems.value.some((item) => !item.selected) &&\n !!props.modelValue.length\n);\n/**\n * Whenever an input changes update modelValue if any\n */\nconst onInputChange = (item: MappedItem) => {\n let valueToEmit;\n if (props.multiple) {\n if (item.selected) {\n valueToEmit = props.modelValue\n .slice(0, item.selectedIndex)\n .concat(props.modelValue.slice([item.selectedIndex + 1]));\n } else {\n valueToEmit = props.modelValue.concat(item.value);\n }\n } else {\n valueToEmit = item.value;\n }\n emit(\"item-selected\", item);\n emit(\"update:modelValue\", valueToEmit);\n};\n\n/**\n * When using this component for submission we add a bunch of hidden inputs\n * so the submitted inputs is on par with v-model\n */\n\n/**\n * This is used to keep the value compatible to common html expected values.\n * Convert to string everything that's not but do not double encode strings\n */\nconst makeInputValue = when(\n (item: unknown) => typeof item !== \"string\",\n JSON.stringify\n);\nconst hiddenInputs = computed(() => {\n return [].concat(props.modelValue).map((current) => {\n const value = makeInputValue(current);\n return {\n disabled: props.disabled,\n name: props.name,\n type: \"hidden\",\n value: value,\n };\n });\n});\n\nconst skeletonLength = computed(() => {\n return clamp(internalItems.value.length, 4, 10);\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_resolveDynamicComponent(containerTag.value), {\n class: _normalizeClass({\n 'bb-table': true,\n [`bb-table--align-${_ctx.align}`]: true,\n 'bb-table--compact': _ctx.compact,\n 'bb-table--fixed': _ctx.fixed,\n 'bb-table--loading': loading.value,\n 'bb-table--empty': !internalItems.value.length,\n })\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"fieldset\", null, [\n (_ctx.selectable)\n ? (_openBlock(), _createElementBlock(\"legend\", _hoisted_1, _toDisplayString(_ctx.legend), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"table\", null, [\n (_ctx.caption)\n ? (_openBlock(), _createElementBlock(\"caption\", {\n key: 0,\n class: _normalizeClass({\n 'bb-table-caption': true,\n 'bb-table-caption--hidden': !_ctx.displayCaption,\n })\n }, _toDisplayString(_ctx.caption), 3))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"thead\", null, [\n _renderSlot(_ctx.$slots, \"thead\", {}, () => [\n _createElementVNode(\"tr\", _hoisted_2, [\n (_ctx.selectable)\n ? (_openBlock(), _createElementBlock(\"th\", {\n key: 0,\n class: _normalizeClass([\"bb-table-header bb-table-header--select\", _ctx.thClass]),\n scope: \"col\"\n }, [\n _renderSlot(_ctx.$slots, 'header_select', {\n multiple: _ctx.multiple,\n selectAll: _ctx.selectAll\n }, () => [\n _createElementVNode(\"span\", _hoisted_3, [\n (_ctx.allowSelectAll && _ctx.multiple)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_4, [\n _createVNode(BaseCheckbox, {\n class: \"bb-table-check\",\n disabled: _ctx.disabled,\n indeterminate: indeterminate.value,\n readonly: _ctx.readonly,\n name: `select_all_${_ctx.name || ''}`,\n \"model-value\": allSelected.value,\n \"onUpdate:modelValue\": onChangeSelectAll\n }, null, 8, [\"disabled\", \"indeterminate\", \"readonly\", \"name\", \"model-value\"]),\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_unref(selectAllText)), 1)\n ]))\n : (!_ctx.multiple)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, _toDisplayString(_unref(selectText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 2))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(mappedHeaders.value, (header) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n key: header.key,\n class: _normalizeClass(header.classes),\n scope: \"col\"\n }, [\n _renderSlot(_ctx.$slots, header.slotName, {\n class: _normalizeClass(header.classes),\n items: internalItems.value,\n label: header.label\n }, () => [\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(header.label), 1)\n ])\n ], 2))\n }), 128)),\n (_ctx.actions)\n ? (_openBlock(), _createElementBlock(\"th\", {\n key: 1,\n class: _normalizeClass([\"bb-table-header bb-table-header--actions\", _ctx.thClass]),\n scope: \"col\"\n }, [\n _renderSlot(_ctx.$slots, \"header_actions\", {}, () => [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.actionsText), 1)\n ])\n ], 2))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (loading.value)\n ? _renderSlot(_ctx.$slots, 'loading', {\n key: 0,\n align: _ctx.align,\n classes: _ctx.tdClass,\n items: internalItems.value\n }, () => [\n _createElementVNode(\"tr\", _hoisted_9, [\n _createElementVNode(\"td\", {\n class: \"bb-table-loading__cell\",\n colspan: replacementContentSpan.value\n }, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(loadingText)), 1),\n _createElementVNode(\"div\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(skeletonLength.value, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"bb-table-skeleton-item\",\n key: item\n }, _hoisted_15))\n }), 128))\n ])\n ], 8, _hoisted_10)\n ])\n ])\n : (!internalItems.value.length)\n ? _renderSlot(_ctx.$slots, 'no-data', {\n key: 1,\n align: _ctx.align,\n classes: _ctx.tdClass\n }, () => [\n _createElementVNode(\"tr\", _hoisted_16, [\n _createElementVNode(\"td\", {\n class: \"bb-table-no-data__cell\",\n colspan: replacementContentSpan.value\n }, [\n _createElementVNode(\"span\", _hoisted_18, _toDisplayString(_unref(noDataText)), 1)\n ], 8, _hoisted_17)\n ])\n ])\n : _renderSlot(_ctx.$slots, \"tbody\", { key: 2 }, () => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(mappedItems.value, (item) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n class: \"bb-table-data__row\",\n key: item.jsonValue,\n onClick: item.onRowClick,\n onContextmenu: item.onRowContextMenu,\n onDblclick: item.onRowDblClick\n }, [\n (_ctx.selectable)\n ? (_openBlock(), _createElementBlock(\"td\", {\n key: 0,\n class: _normalizeClass([\"bb-table-data__cell bb-table-data__cell--select\", _ctx.tdClass])\n }, [\n _renderSlot(_ctx.$slots, 'select', {\n align: _ctx.align,\n classes: _ctx.tdClass,\n item: item.original,\n value: item.value,\n checked: item.selected,\n disabled: !item.selectable,\n inputName: _unref(randomName),\n readonly: _ctx.readonly\n }, () => [\n (_ctx.multiple)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n class: _normalizeClass([\"bb-table-check__label\", {\n 'bb-table-check__label--disabled': !item.selectable,\n }])\n }, [\n _createVNode(BaseCheckbox, {\n class: \"bb-table-check\",\n checked: item.selected,\n disabled: !item.selectable,\n name: _unref(randomName),\n readonly: _ctx.readonly,\n onChange: () => onInputChange(item)\n }, null, 8, [\"checked\", \"disabled\", \"name\", \"readonly\", \"onChange\"]),\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(item.accessibleLabel), 1)\n ], 2))\n : (_openBlock(), _createElementBlock(\"label\", {\n key: 1,\n class: _normalizeClass([\"bb-table-radio__label\", {\n 'bb-table-radio__label--disabled': !item.selectable,\n }])\n }, [\n _createVNode(BaseRadio, {\n class: \"bb-table-radio\",\n checked: item.selected,\n disabled: !item.selectable,\n name: _unref(randomName),\n readonly: _ctx.readonly,\n value: item.value,\n onChange: () => onInputChange(item)\n }, null, 8, [\"checked\", \"disabled\", \"name\", \"readonly\", \"value\", \"onChange\"]),\n _createElementVNode(\"span\", _hoisted_21, _toDisplayString(item.accessibleLabel), 1)\n ], 2))\n ])\n ], 2))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(item.cols, (col) => {\n return (_openBlock(), _createElementBlock(\"td\", {\n key: col.key,\n class: _normalizeClass([\"bb-table-data__cell\", col.classes])\n }, [\n _renderSlot(_ctx.$slots, col.slotName, {\n align: col.align,\n classes: col.classes,\n content: col.content,\n item: item.original,\n value: item.value\n }, () => [\n _createTextVNode(_toDisplayString(col.content), 1)\n ])\n ], 2))\n }), 128)),\n (_ctx.actions)\n ? (_openBlock(), _createElementBlock(\"td\", {\n key: 1,\n class: _normalizeClass([\"bb-table__cell bb-table__cell--actions\", _ctx.tdClass])\n }, [\n _renderSlot(_ctx.$slots, 'actions', {\n align: _ctx.align,\n classes: _ctx.tdClass,\n item: item.original,\n value: item.value\n })\n ], 2))\n : _createCommentVNode(\"\", true)\n ], 40, _hoisted_19))\n }), 128))\n ])\n ]),\n _createElementVNode(\"tfoot\", null, [\n _renderSlot(_ctx.$slots, \"tfoot\")\n ])\n ])\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(hiddenInputs.value, (input) => {\n return (_openBlock(), _createElementBlock(\"input\", _mergeProps({\n key: input.value\n }, input), null, 16))\n }), 128))\n ]),\n _: 3\n }, 8, [\"class\"]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_createElementVNode","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_sfc_main","_defineComponent","columns","col","__props","emit","props","getItemValue","useItemValue","randomName","nanoid","accessibleLabel","loadingText","noDataText","selectAllText","selectText","containerTag","computed","internalLoading","ref","loading","replacementContentSpan","acc","current","modelValueIndexed","map","value","index","slotNames","curr","mapped","internalItems","getItems","items","onMounted","watch","timeout","previous","mappedHeaders","column","align","label","key","slotName","classes","mappedItems","item","jsonValue","selectable","selectedIndex","selected","isNil","cols","content","temp","event","onChangeSelectAll","selectAllValue","modelValue","allSelected","indeterminate","onInputChange","valueToEmit","makeInputValue","when","hiddenInputs","skeletonLength","clamp","_ctx","_cache","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_createElementBlock","_toDisplayString","_createCommentVNode","_renderSlot","_createVNode","BaseCheckbox","_unref","_Fragment","_renderList","header","BaseRadio","_createTextVNode","input","_mergeProps"],"mappings":"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"}