bitboss-ui 2.1.106 → 2.1.107

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 (289) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +153 -150
  4. package/dist/index109.js +9 -9
  5. package/dist/index11.js +1 -1
  6. package/dist/index110.js +502 -163
  7. package/dist/index112.js +130 -55
  8. package/dist/index114.js +106 -48
  9. package/dist/index116.js +52 -34
  10. package/dist/index118.js +33 -93
  11. package/dist/index12.js +2 -2
  12. package/dist/index120.js +56 -92
  13. package/dist/index122.js +120 -352
  14. package/dist/index124.js +344 -531
  15. package/dist/index126.js +535 -104
  16. package/dist/index128.js +52 -46
  17. package/dist/index13.js +6 -6
  18. package/dist/index130.js +36 -41
  19. package/dist/index132.js +117 -22
  20. package/dist/index134.js +23 -160
  21. package/dist/index136.js +158 -115
  22. package/dist/index138.js +115 -64
  23. package/dist/index14.js +2 -2
  24. package/dist/index140.js +68 -12
  25. package/dist/index142.js +13 -2
  26. package/dist/index143.js +11 -419
  27. package/dist/index144.js +2 -9
  28. package/dist/index145.js +419 -9
  29. package/dist/index146.js +9 -25
  30. package/dist/index147.js +9 -2
  31. package/dist/index148.js +25 -5
  32. package/dist/index149.js +2 -6
  33. package/dist/index150.js +5 -5
  34. package/dist/index151.js +6 -3
  35. package/dist/index152.js +5 -3
  36. package/dist/index153.js +1 -1
  37. package/dist/index154.js +1 -1
  38. package/dist/index155.js +1 -1
  39. package/dist/index156.js +1 -1
  40. package/dist/index157.js +1 -1
  41. package/dist/index158.js +1 -1
  42. package/dist/index159.js +1 -1
  43. package/dist/index16.js +6 -6
  44. package/dist/index160.js +1 -1
  45. package/dist/index161.js +1 -1
  46. package/dist/index162.js +1 -1
  47. package/dist/index163.js +1 -1
  48. package/dist/index164.js +1 -1
  49. package/dist/index165.js +1 -1
  50. package/dist/index166.js +1 -1
  51. package/dist/index167.js +1 -1
  52. package/dist/index168.js +1 -1
  53. package/dist/index169.js +1 -1
  54. package/dist/index170.js +1 -1
  55. package/dist/index171.js +1 -1
  56. package/dist/index172.js +1 -1
  57. package/dist/index173.js +1 -1
  58. package/dist/index174.js +1 -1
  59. package/dist/index175.js +1 -1
  60. package/dist/index176.js +1 -1
  61. package/dist/index177.js +1 -1
  62. package/dist/index178.js +1 -1
  63. package/dist/index179.js +1 -1
  64. package/dist/index18.js +3 -3
  65. package/dist/index180.js +1 -1
  66. package/dist/index181.js +3 -2
  67. package/dist/index182.js +1 -1
  68. package/dist/index183.js +1 -1
  69. package/dist/index184.js +1 -1
  70. package/dist/index185.js +2 -3
  71. package/dist/index186.js +1 -1
  72. package/dist/index187.js +1 -1
  73. package/dist/index188.js +1 -1
  74. package/dist/index189.js +1 -1
  75. package/dist/index190.js +3 -2
  76. package/dist/index191.js +1 -1
  77. package/dist/index192.js +2 -3
  78. package/dist/index193.js +1 -1
  79. package/dist/index194.js +1 -1
  80. package/dist/index195.js +2 -2
  81. package/dist/index196.js +2 -2
  82. package/dist/index197.js +1 -1
  83. package/dist/index198.js +1 -1
  84. package/dist/index199.js +1 -1
  85. package/dist/index20.js +8 -8
  86. package/dist/index200.js +3 -2
  87. package/dist/index201.js +1 -1
  88. package/dist/index202.js +2 -3
  89. package/dist/index203.js +1 -1
  90. package/dist/index204.js +1 -1
  91. package/dist/index205.js +1 -1
  92. package/dist/index206.js +1 -1
  93. package/dist/index207.js +1 -1
  94. package/dist/index208.js +1 -1
  95. package/dist/index209.js +1 -1
  96. package/dist/index210.js +1 -1
  97. package/dist/index211.js +1 -1
  98. package/dist/index212.js +1 -1
  99. package/dist/index213.js +1 -1
  100. package/dist/index214.js +1 -1
  101. package/dist/index215.js +1 -1
  102. package/dist/index216.js +5 -0
  103. package/dist/index217.js +3 -7
  104. package/dist/index218.js +3 -2
  105. package/dist/index22.js +14 -14
  106. package/dist/index220.js +7 -2
  107. package/dist/index221.js +137 -4
  108. package/dist/index222.js +2 -8
  109. package/dist/index223.js +2 -33
  110. package/dist/index224.js +5 -28
  111. package/dist/index225.js +10 -0
  112. package/dist/index226.js +9 -5
  113. package/dist/index227.js +2 -5
  114. package/dist/index228.js +21 -5
  115. package/dist/index229.js +3 -5
  116. package/dist/index230.js +30 -3
  117. package/dist/index231.js +18 -2
  118. package/dist/index232.js +17 -6
  119. package/dist/index233.js +51 -8
  120. package/dist/index234.js +12 -268
  121. package/dist/index235.js +4 -52
  122. package/dist/index236.js +12 -51
  123. package/dist/index237.js +18 -30
  124. package/dist/index238.js +3 -60
  125. package/dist/index239.js +25 -13
  126. package/dist/index24.js +12 -12
  127. package/dist/index240.js +3 -86
  128. package/dist/index241.js +11 -0
  129. package/dist/index242.js +4 -30
  130. package/dist/index243.js +51 -15
  131. package/dist/index244.js +8 -51
  132. package/dist/index245.js +2 -18
  133. package/dist/index246.js +11 -10
  134. package/dist/index247.js +135 -18
  135. package/dist/index249.js +4 -13
  136. package/dist/index250.js +23 -3
  137. package/dist/index251.js +3 -4
  138. package/dist/index252.js +2 -20
  139. package/dist/index253.js +18 -2
  140. package/dist/index254.js +12 -2
  141. package/dist/index255.js +18 -2
  142. package/dist/index256.js +106 -3
  143. package/dist/index258.js +102 -0
  144. package/dist/index26.js +4 -4
  145. package/dist/index260.js +106 -22
  146. package/dist/index261.js +11 -4
  147. package/dist/index262.js +5 -3
  148. package/dist/index263.js +5 -18
  149. package/dist/index264.js +5 -12
  150. package/dist/index265.js +5 -106
  151. package/dist/index266.js +8 -0
  152. package/dist/index267.js +263 -95
  153. package/dist/index268.js +54 -0
  154. package/dist/index269.js +48 -103
  155. package/dist/index270.js +32 -2
  156. package/dist/index271.js +60 -11
  157. package/dist/index272.js +86 -7
  158. package/dist/index274.js +32 -15
  159. package/dist/index275.js +2 -3
  160. package/dist/index276.js +7 -9
  161. package/dist/index277.js +7 -53
  162. package/dist/index278.js +6 -9
  163. package/dist/index279.js +34 -3
  164. package/dist/index28.js +2 -2
  165. package/dist/index280.js +59 -365
  166. package/dist/index281.js +190 -0
  167. package/dist/index282.js +3 -9
  168. package/dist/index283.js +33 -23
  169. package/dist/index284.js +6 -5
  170. package/dist/index285.js +10 -67
  171. package/dist/index286.js +3 -5
  172. package/dist/index287.js +3 -5
  173. package/dist/index288.js +373 -5
  174. package/dist/index290.js +12 -6
  175. package/dist/index291.js +28 -7
  176. package/dist/index293.js +2 -188
  177. package/dist/index294.js +2 -3
  178. package/dist/index295.js +5 -34
  179. package/dist/index296.js +6 -21
  180. package/dist/index297.js +15 -32
  181. package/dist/index298.js +5 -9
  182. package/dist/index299.js +7 -0
  183. package/dist/index30.js +6 -6
  184. package/dist/index300.js +5 -3
  185. package/dist/index301.js +9 -280
  186. package/dist/index302.js +23 -2
  187. package/dist/index303.js +5 -16
  188. package/dist/index305.js +3 -16
  189. package/dist/index306.js +28 -2
  190. package/dist/index307.js +17 -27
  191. package/dist/index308.js +7 -2
  192. package/dist/index309.js +5 -2
  193. package/dist/index310.js +4 -2
  194. package/dist/index311.js +3 -2
  195. package/dist/index312.js +3 -2
  196. package/dist/index313.js +3 -28
  197. package/dist/index314.js +1 -1
  198. package/dist/index315.js +280 -7
  199. package/dist/index316.js +2 -3
  200. package/dist/index317.js +16 -17
  201. package/dist/index318.js +2 -4
  202. package/dist/index319.js +16 -5
  203. package/dist/index32.js +2 -2
  204. package/dist/index320.js +2 -3
  205. package/dist/index321.js +27 -5
  206. package/dist/index322.js +2 -3
  207. package/dist/index323.js +2 -3
  208. package/dist/index324.js +1 -1
  209. package/dist/index325.js +2 -719
  210. package/dist/index326.js +2 -366
  211. package/dist/index327.js +2 -57
  212. package/dist/index328.js +1 -1
  213. package/dist/index329.js +4 -2
  214. package/dist/index330.js +2 -125
  215. package/dist/index331.js +2 -2
  216. package/dist/index332.js +5 -14
  217. package/dist/index333.js +3 -2
  218. package/dist/index334.js +719 -19
  219. package/dist/index335.js +366 -2
  220. package/dist/index336.js +56 -5
  221. package/dist/index337.js +227 -3
  222. package/dist/index338.js +125 -2
  223. package/dist/index339.js +2 -5
  224. package/dist/index34.js +8 -8
  225. package/dist/index340.js +14 -6
  226. package/dist/index341.js +2 -19
  227. package/dist/index342.js +18 -8
  228. package/dist/index343.js +2 -15
  229. package/dist/index344.js +6 -92
  230. package/dist/index345.js +5 -7
  231. package/dist/index346.js +198 -65
  232. package/dist/index347.js +257 -65
  233. package/dist/index349.js +129 -6
  234. package/dist/index350.js +382 -113
  235. package/dist/index351.js +6 -397
  236. package/dist/index352.js +17 -198
  237. package/dist/index353.js +9 -259
  238. package/dist/index354.js +12 -225
  239. package/dist/index355.js +66 -21
  240. package/dist/index356.js +69 -0
  241. package/dist/index357.js +93 -2
  242. package/dist/index358.js +21 -1
  243. package/dist/index36.js +5 -5
  244. package/dist/index360.js +2 -441
  245. package/dist/index361.js +2 -128
  246. package/dist/index362.js +131 -44
  247. package/dist/index363.js +44 -67
  248. package/dist/index364.js +66 -516
  249. package/dist/index365.js +435 -44
  250. package/dist/index366.js +130 -0
  251. package/dist/index367.js +522 -0
  252. package/dist/index368.js +52 -0
  253. package/dist/index38.js +25 -25
  254. package/dist/index40.js +8 -8
  255. package/dist/index42.js +2 -2
  256. package/dist/index44.js +8 -8
  257. package/dist/index46.js +9 -9
  258. package/dist/index48.js +4 -4
  259. package/dist/index50.js +4 -4
  260. package/dist/index54.js +1 -1
  261. package/dist/index56.js +2 -2
  262. package/dist/index58.js +2 -2
  263. package/dist/index60.js +3 -3
  264. package/dist/index62.js +7 -7
  265. package/dist/index68.js +1 -1
  266. package/dist/index7.js +2 -2
  267. package/dist/index74.js +4 -4
  268. package/dist/index75.js +1 -1
  269. package/dist/index82.js +8 -8
  270. package/dist/index84.js +2 -2
  271. package/dist/index86.js +3 -3
  272. package/dist/index88.js +3 -3
  273. package/dist/index9.js +1 -1
  274. package/dist/index90.js +1 -1
  275. package/dist/index93.js +4 -4
  276. package/dist/index95.js +3 -3
  277. package/dist/index97.js +6 -6
  278. package/dist/index99.js +2 -2
  279. package/package.json +2 -2
  280. package/dist/index141.js +0 -13
  281. package/dist/index219.js +0 -140
  282. package/dist/index248.js +0 -15
  283. package/dist/index257.js +0 -137
  284. package/dist/index259.js +0 -6
  285. package/dist/index273.js +0 -8
  286. package/dist/index289.js +0 -4
  287. package/dist/index292.js +0 -27
  288. package/dist/index304.js +0 -4
  289. package/dist/index359.js +0 -136
package/dist/index126.js CHANGED
@@ -1,124 +1,555 @@
1
- import { defineComponent as f, ref as y, computed as v, createBlock as B, openBlock as g, withCtx as l, createVNode as k, mergeProps as $, renderSlot as r, normalizeProps as n, guardReactiveProps as i } from "vue";
2
- import w from "./index28.js";
1
+ import { defineComponent as he, mergeModels as X, ref as ke, computed as u, toRef as O, useModel as Y, watch as M, reactive as ge, createBlock as Z, openBlock as s, resolveDynamicComponent as xe, normalizeClass as i, withCtx as we, createElementBlock as o, createCommentVNode as p, createElementVNode as n, toDisplayString as m, renderSlot as c, unref as v, Fragment as k, renderList as x, normalizeStyle as H, createVNode as ee, createTextVNode as Ce, mergeProps as Ie } from "vue";
2
+ import { clamp as Ve } from "./index223.js";
3
+ import { hash as T } from "./index229.js";
4
+ import { isNil as w } from "./index227.js";
5
+ import { when as $e } from "./index242.js";
6
+ import { useId as Be } from "./index8.js";
7
+ import { useItemValue as He } from "./index226.js";
8
+ import { useItemsGetter as Te } from "./index230.js";
9
+ import { usePrefill as Ae } from "./index231.js";
10
+ import { useIndexById as le } from "./index232.js";
11
+ import { useBaseOptions as Ne } from "./index233.js";
12
+ import { useHashedWatcher as Le } from "./index234.js";
13
+ import { useLocale as De } from "./index236.js";
14
+ import ae from "./index18.js";
3
15
  /* empty css */
4
- import V from "./index46.js";
16
+ import Ee from "./index32.js";
5
17
  /* empty css */
6
- const I = /* @__PURE__ */ f({
7
- __name: "BbTag",
8
- props: {
9
- "append:icon": {},
10
- autocomplete: {},
11
- autofocus: {},
12
- comma: { type: Boolean },
13
- clearable: { type: Boolean },
18
+ import { columnKeyToSlotName as Pe, mergeHeaderClasses as Se, applyFixedTableColumns as Re, mergeCellClasses as Oe } from "./index243.js";
19
+ import { useLogger as Me } from "./index244.js";
20
+ const Fe = {
21
+ key: 0,
22
+ class: "sr-only"
23
+ }, ze = ["aria-rowindex"], Ke = { class: "bb-table-header__content" }, je = { class: "bb-table-check__label-text sr-only" }, qe = {
24
+ key: 1,
25
+ class: "bb-table-radio__label-text sr-only"
26
+ }, Ue = ["aria-sort"], We = { class: "bb-table-header__content" }, Ge = { class: "bb-table-header__content sr-only" }, Je = ["aria-rowindex"], Qe = {
27
+ key: 0,
28
+ class: "bb-table-skeleton__cell bb-table-skeleton__cell--select"
29
+ }, Xe = {
30
+ key: 0,
31
+ class: "bb-table-skeleton__cell-content"
32
+ }, Ye = {
33
+ key: 1,
34
+ class: "bb-table-skeleton__avatar"
35
+ }, Ze = {
36
+ key: 2,
37
+ class: "bb-table-skeleton__avatar-text"
38
+ }, el = { class: "bb-table-skeleton__cell-content" }, ll = {
39
+ key: 3,
40
+ class: "bb-table-skeleton__image"
41
+ }, al = {
42
+ key: 4,
43
+ class: "bb-table-skeleton__badge"
44
+ }, tl = {
45
+ key: 1,
46
+ class: "bb-table-skeleton__cell bb-table-skeleton__cell--actions"
47
+ }, sl = ["aria-rowindex"], ol = ["colspan"], nl = { class: "bb-table-loading__text sr-only" }, dl = ["aria-rowindex"], rl = ["colspan"], bl = { class: "bb-table-no-data__text" }, il = ["aria-rowindex", "onClick", "onContextmenu", "onDblclick"], cl = { class: "bb-table-check__label-text sr-only" }, ul = { class: "bb-table-radio__label-text sr-only" }, pl = ["aria-rowindex", "id"], ml = ["colspan"], El = /* @__PURE__ */ he({
48
+ __name: "BbTable",
49
+ props: /* @__PURE__ */ X({
50
+ accessibleLabel: {},
51
+ actions: { type: Boolean },
52
+ actionsText: { default: "Azioni" },
53
+ align: { default: "left" },
54
+ allowSelectAll: { type: Boolean, default: !0 },
55
+ caption: {},
14
56
  compact: { type: Boolean },
15
- direction: {},
57
+ dependencies: { default: () => [] },
58
+ depsDebounceTime: { default: 0 },
16
59
  disabled: { type: Boolean },
17
- divider: {},
18
- errors: {},
19
- hasErrors: { type: Boolean },
20
- hideLabel: { type: Boolean },
21
- hint: {},
22
- id: {},
23
- label: {},
24
- labelPosition: {},
60
+ displayCaption: { type: Boolean },
61
+ fixed: { type: Boolean },
62
+ fixedColumns: { default: () => [] },
63
+ fixedHeaders: { type: Boolean },
64
+ items: { type: [Array, Function], default: () => [] },
65
+ itemValue: {},
66
+ legend: {},
25
67
  loading: { type: Boolean },
26
- max: {},
27
- modelValue: {},
68
+ loadingText: {},
69
+ max: { default: 1 / 0 },
70
+ modelValue: { default: () => [] },
28
71
  multiple: { type: Boolean, default: !0 },
29
72
  name: {},
30
- persistentHint: { type: Boolean },
31
- placeholder: {},
32
- "prepend:icon": {},
73
+ noDataText: {},
74
+ page: {},
75
+ perPage: {},
33
76
  readonly: { type: Boolean },
34
- required: { type: Boolean },
35
- reverse: { type: Boolean }
36
- },
37
- emits: ["blur", "change", "click", "duplicate", "focus", "inactive", "input", "keydown", "keyup", "update:modelValue"],
38
- setup(t, { emit: u }) {
39
- const p = t, a = u, d = y(!1), m = v(() => p.persistentHint || d.value), c = {
40
- onBlur: (e) => a("blur", e),
41
- onChange: (e) => a("change", e),
42
- onClick: (e) => a("click", e),
43
- onDuplicate: (e) => a("duplicate", e),
44
- onFocus: (e) => {
45
- d.value = !0, a("focus", e);
77
+ selectAll: { type: Boolean },
78
+ selectable: { type: [Boolean, Function] },
79
+ selectAllLabel: {},
80
+ selectText: {},
81
+ tdClass: {},
82
+ thClass: {},
83
+ totalItems: {},
84
+ unselectedItems: { default: () => [] },
85
+ columns: { default: () => [] }
86
+ }, {
87
+ selectAll: { type: Boolean, required: !1, default: !1 },
88
+ selectAllModifiers: {},
89
+ expandedItems: {
90
+ required: !1,
91
+ default: () => []
92
+ },
93
+ expandedItemsModifiers: {}
94
+ }),
95
+ emits: /* @__PURE__ */ X(["click:row", "contextmenu:row", "dblclick:row", "update:modelValue", "update:selectAll", "update:expandedItems", "update:unselectedItems", "item:selected", "item:unselected"], ["update:selectAll", "update:expandedItems"]),
96
+ setup(A, { emit: te }) {
97
+ const { getItemValue: se } = He(), F = Be().id.value, a = A, b = te;
98
+ a.multiple && !Array.isArray(a.modelValue) && Me().throw(
99
+ "BbTable is set for multiple selection but modelValue is not an array."
100
+ );
101
+ const { t: C } = De(), N = ke(), oe = (e) => [C("table.select").value, ...e.map((t) => t.content)].join(" "), ne = u(() => a.selectable ? "fieldset" : "div"), L = u(() => a.loading || re.value), y = u(
102
+ () => !w(a.page) && !w(a.perPage) && !w(a.totalItems)
103
+ ), de = u(() => ({
104
+ "bb-table": !0,
105
+ [`bb-table--align-${a.align}`]: !0,
106
+ "bb-table--compact": a.compact,
107
+ "bb-table--fixed": a.fixed,
108
+ "bb-table--fixed-header": a.fixedHeaders,
109
+ "bb-table--loading": L.value,
110
+ "bb-table--empty": !I.value.length,
111
+ "bb-table--selectable": !!a.selectable
112
+ })), D = u(
113
+ () => a.columns.length + +!!a.selectable + +!!a.actions
114
+ ), z = u(
115
+ () => Object.fromEntries(
116
+ a.columns.map((e) => [e.key, Pe(e.key)])
117
+ )
118
+ ), {
119
+ getter: K,
120
+ items: E,
121
+ loading: re
122
+ } = Te({
123
+ items: O(a, "items")
124
+ }), { hasPrefilled: be } = Ae({
125
+ trigger: !0,
126
+ fn: async (e) => {
127
+ await K(e, a.modelValue);
128
+ }
129
+ }), { data: j } = le({
130
+ items: O(a, "modelValue")
131
+ }), { options: I } = Ne({
132
+ disabled: O(a, "disabled"),
133
+ items: E,
134
+ itemText: void 0,
135
+ itemValue: a.itemValue,
136
+ max: a.max,
137
+ selectable: !0,
138
+ selectedIndexedByHash: j
139
+ }), ie = async (e) => {
140
+ a.multiple ? b("update:modelValue", a.modelValue.concat(e.value)) : b("update:modelValue", e.value);
141
+ }, ce = async (e) => {
142
+ if (a.multiple) {
143
+ const t = { ...j.value };
144
+ delete t[e.valueHash], b("update:modelValue", Object.values(t));
145
+ } else
146
+ b("update:modelValue", null);
147
+ };
148
+ Le(
149
+ () => [a.dependencies, a.items],
150
+ async () => {
151
+ be.value && await K(!1, a.modelValue);
46
152
  },
47
- onInactive: () => {
48
- d.value = !1, a("inactive");
153
+ {
154
+ debounce: a.depsDebounceTime
155
+ }
156
+ );
157
+ const ue = (e, t) => {
158
+ const l = z.value[e.key], d = e.align ?? "left";
159
+ let r = se(t.item, e.key);
160
+ return e.formatter && (!w(r) || e.formatOnNull !== !1) && (r = e.formatter(r, e.key, t.item)), e.placeholder && w(r) && (r = e.placeholder), {
161
+ align: d,
162
+ classes: Oe(
163
+ [`bb-table-data__cell--${d}`],
164
+ a.tdClass,
165
+ e.tdClass,
166
+ r,
167
+ e.key,
168
+ t.item
169
+ ),
170
+ content: r,
171
+ key: e.key,
172
+ label: e.label,
173
+ slotName: l
174
+ };
175
+ }, pe = u(
176
+ () => a.columns.map((e) => {
177
+ const t = e.align ?? "left", l = `header:${z.value[e.key]}`, d = e.sorted ? e.sorted === "asc" ? "ascending" : "descending" : void 0;
178
+ return {
179
+ align: t,
180
+ key: e.key,
181
+ label: e.label,
182
+ slotName: l,
183
+ classes: Se(
184
+ [`bb-table-header--${t}`],
185
+ a.thClass,
186
+ e.thClass
187
+ ),
188
+ sortDirection: d
189
+ };
190
+ })
191
+ ), q = u(() => {
192
+ let e = 0;
193
+ return I.value.map((t, l) => {
194
+ const d = !a.selectable || typeof a.selectable == "function" && !a.selectable(t.item) || !!t.disabled, r = (a.page ?? -1) * (a.perPage ?? 0), g = 1, fe = l + 1, _e = r + g + fe + e, J = a.columns.map(
195
+ (h) => ue(h, t)
196
+ ), Q = P.value[t.valueHash] ?? !1;
197
+ return Q && e++, {
198
+ accessibleLabel: oe(J),
199
+ cols: J,
200
+ expanded: Q,
201
+ onRowClick: (h) => b("click:row", h, t, !!t.selected),
202
+ onRowContextMenu: (h) => b("contextmenu:row", h, t, !!t.selected),
203
+ onRowDblClick: (h) => b("dblclick:row", h, t, !!t.selected),
204
+ item: t.item,
205
+ text: t.text,
206
+ rowIndex: _e,
207
+ valueHash: t.valueHash,
208
+ value: t.value,
209
+ selected: t.selected,
210
+ disabled: d
211
+ };
212
+ });
213
+ }), f = Y(A, "selectAll"), V = Y(A, "expandedItems"), { data: P } = le({
214
+ items: V
215
+ }), me = (e, t) => {
216
+ e.target instanceof HTMLElement && (e.target instanceof HTMLButtonElement || e.key !== "Enter" && e.key !== " " || (e.preventDefault(), $(t)));
217
+ }, S = (e) => ({
218
+ "aria-controls": w(P.value[e.valueHash]) ? void 0 : `expanded_${e.valueHash}`,
219
+ "aria-expanded": e.expanded ? "true" : "false",
220
+ onClick: (t) => {
221
+ t.stopPropagation(), $(e.valueHash);
49
222
  },
50
- onInput: (e) => a("input", e),
51
- onKeydown: (e) => a("keydown", e),
52
- onKeyup: (e) => a("keyup", e),
53
- "onUpdate:modelValue": (e) => a("update:modelValue", e)
223
+ onKeydown: (t) => me(t, e.valueHash)
224
+ }), $ = (e) => {
225
+ const t = I.value.find((l) => l.valueHash === e);
226
+ t && (e in P.value ? V.value = V.value.filter(
227
+ (l) => T(l) !== e
228
+ ) : V.value = [...V.value, t.value]);
54
229
  };
55
- return (e, P) => (g(), B(w, {
56
- id: e.id,
57
- class: "bb-tag",
58
- compact: e.compact,
59
- direction: e.direction,
60
- errors: e.errors,
61
- "has-errors": e.hasErrors,
62
- "hide-label": e.hideLabel,
63
- hint: e.hint,
64
- label: e.label,
65
- "label-position": e.labelPosition,
66
- "model-value": e.modelValue,
67
- name: e.name,
68
- reverse: e.reverse,
69
- "show-hint": m.value
230
+ M(f, () => {
231
+ _.clear(), b("update:unselectedItems", []), b("update:modelValue", []);
232
+ });
233
+ const U = u(() => !!(a.multiple && a.modelValue.length > 0 && !a.selectAll || f.value && _.size > 0)), _ = ge(/* @__PURE__ */ new Set());
234
+ M(
235
+ () => a.unselectedItems,
236
+ () => {
237
+ _.clear(), a.unselectedItems.forEach((e) => {
238
+ _.add(T(e));
239
+ });
240
+ }
241
+ );
242
+ const W = (e) => {
243
+ if (R(e)) {
244
+ ce(e), b("item:unselected", e.value), _.add(e.valueHash), b("update:unselectedItems", [...a.unselectedItems, e.value]);
245
+ return;
246
+ }
247
+ f.value || ie(e), b("item:selected", e.value), _.delete(e.valueHash), b(
248
+ "update:unselectedItems",
249
+ a.unselectedItems.filter((t) => T(t) !== T(e.value))
250
+ );
251
+ }, R = (e) => _.has(e.valueHash) ? !1 : e.selected || f.value, ve = $e(
252
+ (e) => typeof e != "string",
253
+ JSON.stringify
254
+ ), ye = u(
255
+ () => [].concat(a.modelValue ?? []).map((e) => ({
256
+ disabled: a.disabled,
257
+ name: a.name,
258
+ type: "hidden",
259
+ value: ve(e)
260
+ }))
261
+ ), B = [70, 45, 85, 55], G = u(
262
+ () => Ve(I.value.length || a.columns.length || 1, 4, 10)
263
+ );
264
+ return M(
265
+ () => [q.value, a.fixedColumns],
266
+ () => {
267
+ N.value && a.fixedColumns?.length && Re(N.value, a.fixedColumns);
268
+ },
269
+ { flush: "post" }
270
+ ), (e, t) => (s(), Z(xe(ne.value), {
271
+ "aria-busy": L.value,
272
+ "aria-rowcount": y.value ? a.totalItems : void 0,
273
+ class: i(de.value),
274
+ inert: e.disabled
70
275
  }, {
71
- label: l((s) => [
72
- r(e.$slots, "label", n(i(s)))
73
- ]),
74
- input: l(({ id: s, hasErrors: b, ariaDescribedby: h }) => [
75
- k(V, $({
76
- id: s,
77
- "append:icon": p["append:icon"],
78
- "aria-describedby": h,
79
- autocomplete: e.autocomplete,
80
- autofocus: e.autofocus,
81
- clearable: e.clearable,
82
- comma: e.comma,
83
- compact: e.compact,
84
- disabled: e.disabled,
85
- divider: e.divider,
86
- "has-errors": b,
87
- loading: e.loading,
88
- max: e.max,
89
- "model-value": e.modelValue,
90
- multiple: e.multiple,
91
- name: e.name,
92
- placeholder: e.placeholder,
93
- "prepend:icon": p["prepend:icon"],
94
- readonly: e.readonly,
95
- required: e.required
96
- }, c), {
97
- "prepend-outer": l((o) => [
98
- r(e.$slots, "prepend-outer", n(i(o)))
99
- ]),
100
- prepend: l((o) => [
101
- r(e.$slots, "prepend", n(i(o)))
102
- ]),
103
- prefix: l((o) => [
104
- r(e.$slots, "prefix", n(i(o)))
105
- ]),
106
- append: l((o) => [
107
- r(e.$slots, "append", n(i(o)))
108
- ]),
109
- suffix: l((o) => [
110
- r(e.$slots, "suffix", n(i(o)))
276
+ default: we(() => [
277
+ e.selectable ? (s(), o("legend", Fe, m(e.legend), 1)) : p("", !0),
278
+ n("table", {
279
+ ref_key: "tableRef",
280
+ ref: N
281
+ }, [
282
+ e.caption ? (s(), o("caption", {
283
+ key: 0,
284
+ class: i({
285
+ "bb-table-caption": !0,
286
+ "sr-only": !e.displayCaption
287
+ })
288
+ }, m(e.caption), 3)) : p("", !0),
289
+ n("thead", null, [
290
+ c(e.$slots, "thead", {}, () => [
291
+ n("tr", {
292
+ "aria-rowindex": y.value ? 1 : void 0,
293
+ class: "bb-table-header-row"
294
+ }, [
295
+ e.selectable ? (s(), o("th", {
296
+ key: 0,
297
+ class: i(["bb-table-header bb-table-header--select", e.thClass]),
298
+ scope: "col"
299
+ }, [
300
+ c(e.$slots, "header:select", {
301
+ multiple: e.multiple,
302
+ selectAll: !!f.value,
303
+ text: e.selectText || v(C)("table.selectText").value
304
+ }, () => [
305
+ n("span", Ke, [
306
+ e.allowSelectAll && e.multiple ? (s(), o("label", {
307
+ key: 0,
308
+ class: i(["bb-table-check__label", {
309
+ "bb-table-check__label--disabled": e.disabled
310
+ }])
311
+ }, [
312
+ (s(), Z(ae, {
313
+ key: U.value.toString(),
314
+ modelValue: f.value,
315
+ "onUpdate:modelValue": t[0] || (t[0] = (l) => f.value = l),
316
+ class: "bb-table-check",
317
+ disabled: e.disabled,
318
+ indeterminate: U.value,
319
+ name: `select_all_${e.name || ""}`,
320
+ readonly: e.readonly
321
+ }, null, 8, ["modelValue", "disabled", "indeterminate", "name", "readonly"])),
322
+ n("span", je, m(e.selectAllLabel || v(C)("table.selectAllLabel").value), 1)
323
+ ], 2)) : e.multiple ? p("", !0) : (s(), o("span", qe, m(e.selectText || v(C)("table.selectText").value), 1))
324
+ ])
325
+ ])
326
+ ], 2)) : p("", !0),
327
+ (s(!0), o(k, null, x(pe.value, (l) => (s(), o("th", {
328
+ key: l.key,
329
+ "aria-sort": l.sortDirection,
330
+ class: i(["bb-table-header", l.classes]),
331
+ scope: "col"
332
+ }, [
333
+ c(e.$slots, l.slotName, {
334
+ classes: l.classes,
335
+ items: v(E),
336
+ label: l.label
337
+ }, () => [
338
+ n("span", We, m(l.label), 1)
339
+ ])
340
+ ], 10, Ue))), 128)),
341
+ e.actions ? (s(), o("th", {
342
+ key: 1,
343
+ class: i(["bb-table-header bb-table-header--actions", e.thClass]),
344
+ scope: "col"
345
+ }, [
346
+ c(e.$slots, "header:actions", { text: e.actionsText }, () => [
347
+ n("span", Ge, m(e.actionsText), 1)
348
+ ])
349
+ ], 2)) : p("", !0)
350
+ ], 8, ze)
351
+ ])
111
352
  ]),
112
- "append-outer": l((o) => [
113
- r(e.$slots, "append-outer", n(i(o)))
353
+ n("tbody", null, [
354
+ L.value ? c(e.$slots, "loading", {
355
+ key: 0,
356
+ items: v(E)
357
+ }, () => [
358
+ (s(!0), o(k, null, x(G.value, (l, d) => (s(), o("tr", {
359
+ key: d,
360
+ "aria-rowindex": y.value ? d + 2 : void 0,
361
+ class: "bb-table-skeleton__row"
362
+ }, [
363
+ e.selectable ? (s(), o("td", Qe, t[1] || (t[1] = [
364
+ n("div", { class: "bb-table-skeleton__placeholder" }, null, -1)
365
+ ]))) : p("", !0),
366
+ (s(!0), o(k, null, x(a.columns, (r, g) => (s(), o("td", {
367
+ key: r.key,
368
+ class: i([
369
+ "bb-table-skeleton__cell",
370
+ `bb-table-skeleton__cell--${r.skeleton ?? "text"}`
371
+ ])
372
+ }, [
373
+ !r.skeleton || r.skeleton === "text" ? (s(), o("div", Xe, [
374
+ n("div", {
375
+ class: "bb-table-skeleton__line",
376
+ style: H({
377
+ width: `${B[(d + g) % 4]}%`
378
+ })
379
+ }, null, 4),
380
+ n("div", {
381
+ class: "bb-table-skeleton__line",
382
+ style: H({
383
+ width: `${B[(d + g + 2) % 4]}%`
384
+ })
385
+ }, null, 4)
386
+ ])) : r.skeleton === "avatar" ? (s(), o("div", Ye)) : r.skeleton === "avatar-text" ? (s(), o("div", Ze, [
387
+ t[2] || (t[2] = n("div", { class: "bb-table-skeleton__avatar" }, null, -1)),
388
+ n("div", el, [
389
+ n("div", {
390
+ class: "bb-table-skeleton__line",
391
+ style: H({
392
+ width: `${B[(d + g) % 4]}%`
393
+ })
394
+ }, null, 4),
395
+ n("div", {
396
+ class: "bb-table-skeleton__line",
397
+ style: H({
398
+ width: `${B[(d + g + 2) % 4]}%`
399
+ })
400
+ }, null, 4)
401
+ ])
402
+ ])) : r.skeleton === "image" ? (s(), o("div", ll)) : r.skeleton === "badge" ? (s(), o("div", al)) : p("", !0)
403
+ ], 2))), 128)),
404
+ e.actions ? (s(), o("td", tl, t[3] || (t[3] = [
405
+ n("div", { class: "bb-table-skeleton__placeholder" }, null, -1)
406
+ ]))) : p("", !0)
407
+ ], 8, Je))), 128)),
408
+ n("tr", {
409
+ "aria-rowindex": y.value ? G.value + 2 : void 0,
410
+ class: "bb-table-loading__row bb-table-loading__row--sr-only"
411
+ }, [
412
+ n("td", {
413
+ colspan: D.value,
414
+ class: "bb-table-loading__cell",
415
+ "aria-live": "polite",
416
+ role: "status"
417
+ }, [
418
+ n("span", nl, m(e.loadingText), 1)
419
+ ], 8, ol)
420
+ ], 8, sl)
421
+ ]) : v(I).length ? c(e.$slots, "tbody", { key: 2 }, () => [
422
+ (s(!0), o(k, null, x(q.value, (l) => (s(), o(k, {
423
+ key: l.valueHash
424
+ }, [
425
+ n("tr", {
426
+ "aria-rowindex": y.value && l.rowIndex ? l.rowIndex : void 0,
427
+ class: "bb-table-data__row",
428
+ onClick: l.onRowClick,
429
+ onContextmenu: l.onRowContextMenu,
430
+ onDblclick: l.onRowDblClick
431
+ }, [
432
+ e.selectable ? (s(), o("td", {
433
+ key: 0,
434
+ class: i(["bb-table-data__cell bb-table-data__cell--select", e.tdClass])
435
+ }, [
436
+ c(e.$slots, "select", {
437
+ checked: R(l),
438
+ disabled: !!l.disabled,
439
+ inputName: v(F),
440
+ item: l.item,
441
+ readonly: !!e.readonly,
442
+ value: l.value
443
+ }, () => [
444
+ e.multiple ? (s(), o("label", {
445
+ key: 0,
446
+ class: i(["bb-table-check__label", {
447
+ "bb-table-check__label--disabled": l.disabled
448
+ }])
449
+ }, [
450
+ ee(ae, {
451
+ checked: R(l),
452
+ class: "bb-table-check",
453
+ disabled: l.disabled,
454
+ readonly: e.readonly,
455
+ onChange: () => W(l)
456
+ }, null, 8, ["checked", "disabled", "readonly", "onChange"]),
457
+ n("span", cl, m(l.accessibleLabel), 1)
458
+ ], 2)) : (s(), o("label", {
459
+ key: 1,
460
+ class: i(["bb-table-radio__label", {
461
+ "bb-table-radio__label--disabled": l.disabled
462
+ }])
463
+ }, [
464
+ ee(Ee, {
465
+ checked: l.selected,
466
+ class: "bb-table-radio",
467
+ disabled: l.disabled,
468
+ name: v(F),
469
+ readonly: e.readonly,
470
+ value: l.value,
471
+ onChange: () => W(l)
472
+ }, null, 8, ["checked", "disabled", "name", "readonly", "value", "onChange"]),
473
+ n("span", ul, m(l.accessibleLabel), 1)
474
+ ], 2))
475
+ ])
476
+ ], 2)) : p("", !0),
477
+ (s(!0), o(k, null, x(l.cols, (d) => (s(), o("td", {
478
+ key: d.key,
479
+ class: i(["bb-table-data__cell", d.classes])
480
+ }, [
481
+ c(e.$slots, d.slotName, {
482
+ classes: d.classes,
483
+ content: d.content,
484
+ expanded: l.expanded,
485
+ item: l.item,
486
+ expandProps: S(l),
487
+ toggleExpanded: () => $(l.valueHash),
488
+ value: l.value
489
+ }, () => [
490
+ Ce(m(d.content), 1)
491
+ ])
492
+ ], 2))), 128)),
493
+ e.actions ? (s(), o("td", {
494
+ key: 1,
495
+ class: i(["bb-table__cell bb-table__cell--actions", e.tdClass])
496
+ }, [
497
+ c(e.$slots, "actions", {
498
+ expanded: l.expanded,
499
+ item: l.item,
500
+ expandProps: S(l),
501
+ toggleExpanded: () => $(l.valueHash),
502
+ value: l.value
503
+ })
504
+ ], 2)) : p("", !0)
505
+ ], 40, il),
506
+ l.expanded ? (s(), o("tr", {
507
+ key: 0,
508
+ "aria-rowindex": y.value && l.rowIndex ? l.rowIndex + 1 : void 0,
509
+ id: `expanded_${l.valueHash}`,
510
+ class: "bb-table-expand__row"
511
+ }, [
512
+ n("td", {
513
+ colspan: D.value,
514
+ class: "bb-table-expand__cell"
515
+ }, [
516
+ c(e.$slots, "expand", {
517
+ expanded: l.expanded,
518
+ item: l.item,
519
+ expandProps: S(l),
520
+ toggleExpanded: () => $(l.valueHash),
521
+ value: l.value
522
+ })
523
+ ], 8, ml)
524
+ ], 8, pl)) : p("", !0)
525
+ ], 64))), 128))
526
+ ]) : c(e.$slots, "no-data", { key: 1 }, () => [
527
+ n("tr", {
528
+ "aria-rowindex": y.value ? 2 : void 0,
529
+ class: "bb-table-no-data__row"
530
+ }, [
531
+ n("td", {
532
+ class: "bb-table-no-data__cell",
533
+ colspan: D.value
534
+ }, [
535
+ n("span", bl, m(e.noDataText || v(C)("table.noDataText").value), 1)
536
+ ], 8, rl)
537
+ ], 8, dl)
538
+ ])
114
539
  ]),
115
- _: 2
116
- }, 1040, ["id", "append:icon", "aria-describedby", "autocomplete", "autofocus", "clearable", "comma", "compact", "disabled", "divider", "has-errors", "loading", "max", "model-value", "multiple", "name", "placeholder", "prepend:icon", "readonly", "required"])
540
+ n("tfoot", null, [
541
+ c(e.$slots, "tfoot")
542
+ ])
543
+ ], 512),
544
+ (s(!0), o(k, null, x(ye.value, (l) => (s(), o("input", Ie({
545
+ key: l.value,
546
+ ref_for: !0
547
+ }, l), null, 16))), 128))
117
548
  ]),
118
549
  _: 3
119
- }, 8, ["id", "compact", "direction", "errors", "has-errors", "hide-label", "hint", "label", "label-position", "model-value", "name", "reverse", "show-hint"]));
550
+ }, 8, ["aria-busy", "aria-rowcount", "class", "inert"]));
120
551
  }
121
552
  });
122
553
  export {
123
- I as default
554
+ El as default
124
555
  };