@nubisco/ui 5.25.2 → 5.26.1
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.
- package/dist/{ActionGroup-lEopoloN.js → ActionGroup-BepLbLUB.js} +1 -1
- package/dist/{ActionGroup-CUN48Qea.cjs → ActionGroup-CPJcdC_x.cjs} +1 -1
- package/dist/{AiProvider-B4salihw.js → AiProvider-CkzXTd_m.js} +1 -1
- package/dist/{AiProvider-pHIvM5zN.cjs → AiProvider-ueSRHZ4d.cjs} +1 -1
- package/dist/{BackToTop-Dm7Aq_81.cjs → BackToTop-Bep47dq4.cjs} +1 -1
- package/dist/{BackToTop-C4Aol9qJ.js → BackToTop-DwInsaIf.js} +1 -1
- package/dist/{BlueprintControls-COeG8N6G.js → BlueprintControls-CLW9PC_k.js} +1 -1
- package/dist/{BlueprintControls-BfTyqOwC.cjs → BlueprintControls-xe0sgQXW.cjs} +1 -1
- package/dist/{Board-R38Zb5t2.js → Board-CTjk-pTy.js} +1 -1
- package/dist/{Board-DmOzimbT.cjs → Board-CoxZg27T.cjs} +1 -1
- package/dist/{BriefingDestination-CA8Dv-tJ.js → BriefingDestination-D_IHVo71.js} +1 -1
- package/dist/{BriefingDestination-DIXsBoE2.cjs → BriefingDestination-Md4A2sPI.cjs} +1 -1
- package/dist/{Button-C0UUTgEB.cjs → Button-CbQyG-jg.cjs} +1 -1
- package/dist/{Button-IcCXOoCT.js → Button-Cq9dEeHz.js} +1 -1
- package/dist/{Confirm-YhMEfWX5.cjs → Confirm-Bdc104-K.cjs} +1 -1
- package/dist/{Confirm-DQqArhXl.js → Confirm-CpKo6Tav.js} +2 -2
- package/dist/{CopyButton-CqrXMntq.js → CopyButton-DRpVCGXL.js} +1 -1
- package/dist/{CopyButton-BfjJRwj9.cjs → CopyButton-rEPzSx4v.cjs} +1 -1
- package/dist/DataTable-D0JW9sxz.cjs +1 -0
- package/dist/DataTable-DwLWLUUt.js +500 -0
- package/dist/FileUploader-DAbs5fWp.cjs +1 -0
- package/dist/FileUploader-DBGNk6Qg.js +187 -0
- package/dist/{Modal-CtCD-xEb.cjs → Modal-Bcl003Rp.cjs} +1 -1
- package/dist/{Modal-CfcTmfeK.js → Modal-CWeCxkXh.js} +1 -1
- package/dist/{NotificationCenter-CGhxyax1.cjs → NotificationCenter-BceqDL0a.cjs} +1 -1
- package/dist/{NotificationCenter-xL9_6BMt.js → NotificationCenter-DNA6BL18.js} +1 -1
- package/dist/{Pagination-CSISbmpl.js → Pagination-DJ8ZuHST.js} +1 -1
- package/dist/{Pagination-Ci1te4UW.cjs → Pagination-d-FYh-zd.cjs} +1 -1
- package/dist/{TableOfContents-BqF5y-1t.js → TableOfContents-1OY_mlI4.js} +1 -1
- package/dist/{TableOfContents-C6xx7P4d.cjs → TableOfContents-BZCrLDe1.cjs} +1 -1
- package/dist/{Video-CY0UEDLL.js → Video-BbraQauu.js} +1 -1
- package/dist/{Video-Bgzvf-C9.cjs → Video-DDytsRcF.cjs} +1 -1
- package/dist/{Walkthrough-KmxZqXxV.js → Walkthrough-BYCQMYqG.js} +1 -1
- package/dist/{Walkthrough-oU-NaG_A.cjs → Walkthrough-ZuHZx69C.cjs} +1 -1
- package/dist/all.cjs +1 -1
- package/dist/all.mjs +17 -17
- package/dist/components/ActionGroup.cjs +1 -1
- package/dist/components/ActionGroup.mjs +1 -1
- package/dist/components/AiProvider.cjs +1 -1
- package/dist/components/AiProvider.mjs +1 -1
- package/dist/components/BackToTop.cjs +1 -1
- package/dist/components/BackToTop.mjs +1 -1
- package/dist/components/BlueprintControls.cjs +1 -1
- package/dist/components/BlueprintControls.mjs +1 -1
- package/dist/components/Board.cjs +1 -1
- package/dist/components/Board.mjs +1 -1
- package/dist/components/BriefingDestination.cjs +1 -1
- package/dist/components/BriefingDestination.mjs +1 -1
- package/dist/components/Button.cjs +1 -1
- package/dist/components/Button.mjs +1 -1
- package/dist/components/Button.vue.d.ts.map +1 -1
- package/dist/components/Confirm.cjs +1 -1
- package/dist/components/Confirm.mjs +1 -1
- package/dist/components/CopyButton.cjs +1 -1
- package/dist/components/CopyButton.mjs +1 -1
- package/dist/components/DataTable.cjs +1 -1
- package/dist/components/DataTable.d.ts +17 -1
- package/dist/components/DataTable.mjs +1 -1
- package/dist/components/DataTable.vue.d.ts +7 -1
- package/dist/components/DataTable.vue.d.ts.map +1 -1
- package/dist/components/FileUploader.cjs +1 -1
- package/dist/components/FileUploader.mjs +1 -1
- package/dist/components/FileUploader.vue.d.ts +1 -0
- package/dist/components/FileUploader.vue.d.ts.map +1 -1
- package/dist/components/Modal.cjs +1 -1
- package/dist/components/Modal.mjs +1 -1
- package/dist/components/NotificationCenter.cjs +1 -1
- package/dist/components/NotificationCenter.mjs +1 -1
- package/dist/components/Pagination.cjs +1 -1
- package/dist/components/Pagination.mjs +1 -1
- package/dist/components/TableOfContents.cjs +1 -1
- package/dist/components/TableOfContents.mjs +1 -1
- package/dist/components/Video.cjs +1 -1
- package/dist/components/Video.mjs +1 -1
- package/dist/components/Walkthrough.cjs +1 -1
- package/dist/components/Walkthrough.mjs +1 -1
- package/dist/composables/useConfirm.composable.cjs +1 -1
- package/dist/composables/useConfirm.composable.mjs +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +17 -17
- package/dist/styles/Button.css +1 -1
- package/dist/styles/DataTable.css +1 -1
- package/dist/styles/FileUploader.css +1 -1
- package/dist/ui.css +3 -3
- package/package.json +1 -1
- package/dist/DataTable-COfiHgll.js +0 -412
- package/dist/DataTable-XSEybeeP.cjs +0 -1
- package/dist/FileUploader-BjYXOXxj.cjs +0 -1
- package/dist/FileUploader-DwKKUn71.js +0 -162
|
@@ -1,412 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
|
|
2
|
-
import { r as t } from "./Size.d-Bah6vMl3.js";
|
|
3
|
-
import { t as n } from "./Icon-rREAqsu0.js";
|
|
4
|
-
import { useSurfaceLayer as r } from "./composables/useSurfaceLayer.composable.mjs";
|
|
5
|
-
import { usePhoneLayout as i } from "./composables/usePhoneLayout.composable.mjs";
|
|
6
|
-
import { t as a } from "./Button-IcCXOoCT.js";
|
|
7
|
-
import { t as o } from "./Grid-XtnH-vr_.js";
|
|
8
|
-
import { t as s } from "./Checkbox-B3gBM6xy.js";
|
|
9
|
-
import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createTextVNode as m, createVNode as h, defineComponent as g, getCurrentInstance as ee, mergeProps as te, normalizeClass as _, normalizeStyle as ne, onBeforeUnmount as re, openBlock as v, ref as y, renderList as b, renderSlot as x, toDisplayString as S, unref as ie, useId as ae, useSlots as oe, watch as C, withCtx as w, withModifiers as T } from "vue";
|
|
10
|
-
import * as se from "@nubisco/ui/icons/arrow-up";
|
|
11
|
-
import * as ce from "@nubisco/ui/icons/arrows-down-up";
|
|
12
|
-
import * as le from "@nubisco/ui/icons/arrow-down";
|
|
13
|
-
//#region src/components/DataTable.vue?vue&type=script&setup=true&lang.ts
|
|
14
|
-
var ue = ["inert", "aria-hidden"], de = { key: 0 }, fe = {
|
|
15
|
-
key: 0,
|
|
16
|
-
class: "nb-data-table__title"
|
|
17
|
-
}, pe = {
|
|
18
|
-
key: 1,
|
|
19
|
-
class: "nb-data-table__description"
|
|
20
|
-
}, me = ["inert", "aria-hidden"], he = {
|
|
21
|
-
key: 1,
|
|
22
|
-
class: "nb-data-table__batch",
|
|
23
|
-
role: "region",
|
|
24
|
-
"aria-label": "Table batch actions"
|
|
25
|
-
}, ge = { class: "nb-data-table__batch-count" }, _e = { class: "nb-data-table__batch-actions" }, ve = { class: "nb-data-table__scroll" }, ye = [
|
|
26
|
-
"role",
|
|
27
|
-
"aria-label",
|
|
28
|
-
"aria-busy"
|
|
29
|
-
], be = {
|
|
30
|
-
key: 0,
|
|
31
|
-
class: "nb-data-table__col-select"
|
|
32
|
-
}, xe = {
|
|
33
|
-
key: 1,
|
|
34
|
-
class: "nb-data-table__col-actions"
|
|
35
|
-
}, Se = ["role"], Ce = ["role"], we = {
|
|
36
|
-
key: 0,
|
|
37
|
-
scope: "col",
|
|
38
|
-
class: "nb-data-table__th nb-data-table__select-cell"
|
|
39
|
-
}, Te = ["aria-sort"], Ee = ["onClick"], De = { class: "nb-data-table__th-label" }, Oe = {
|
|
40
|
-
key: 1,
|
|
41
|
-
class: "nb-data-table__th-label"
|
|
42
|
-
}, ke = {
|
|
43
|
-
key: 1,
|
|
44
|
-
scope: "col",
|
|
45
|
-
class: "nb-data-table__th nb-data-table__actions-cell"
|
|
46
|
-
}, Ae = ["role"], je = {
|
|
47
|
-
key: 0,
|
|
48
|
-
class: "nb-data-table__td"
|
|
49
|
-
}, Me = {
|
|
50
|
-
key: 1,
|
|
51
|
-
class: "nb-data-table__td"
|
|
52
|
-
}, Ne = {
|
|
53
|
-
key: 1,
|
|
54
|
-
class: "nb-data-table__state-row"
|
|
55
|
-
}, Pe = ["colspan"], Fe = {
|
|
56
|
-
key: 2,
|
|
57
|
-
class: "nb-data-table__state-row"
|
|
58
|
-
}, Ie = ["colspan"], Le = [
|
|
59
|
-
"role",
|
|
60
|
-
"aria-selected",
|
|
61
|
-
"onClick"
|
|
62
|
-
], Re = [
|
|
63
|
-
"checked",
|
|
64
|
-
"aria-label",
|
|
65
|
-
"onChange"
|
|
66
|
-
], ze = ["role", "data-label"], Be = {
|
|
67
|
-
key: 1,
|
|
68
|
-
class: "nb-data-table__footer"
|
|
69
|
-
}, E = /* @__PURE__ */ e(/* @__PURE__ */ g({
|
|
70
|
-
__name: "DataTable",
|
|
71
|
-
props: {
|
|
72
|
-
columns: {},
|
|
73
|
-
rows: {},
|
|
74
|
-
rowKey: {},
|
|
75
|
-
size: { default: t.Medium },
|
|
76
|
-
sortState: { default: null },
|
|
77
|
-
selectable: { default: "none" },
|
|
78
|
-
selected: { default: () => [] },
|
|
79
|
-
loading: {
|
|
80
|
-
type: Boolean,
|
|
81
|
-
default: !1
|
|
82
|
-
},
|
|
83
|
-
skeletonRows: { default: 5 },
|
|
84
|
-
error: { default: void 0 },
|
|
85
|
-
emptyMessage: { default: void 0 },
|
|
86
|
-
stickyHeader: {
|
|
87
|
-
type: Boolean,
|
|
88
|
-
default: !0
|
|
89
|
-
},
|
|
90
|
-
zebra: {
|
|
91
|
-
type: Boolean,
|
|
92
|
-
default: !1
|
|
93
|
-
},
|
|
94
|
-
fill: {
|
|
95
|
-
type: Boolean,
|
|
96
|
-
default: !1
|
|
97
|
-
},
|
|
98
|
-
title: { default: void 0 },
|
|
99
|
-
description: { default: void 0 },
|
|
100
|
-
ariaLabel: { default: void 0 },
|
|
101
|
-
stackOnPhone: {
|
|
102
|
-
type: Boolean,
|
|
103
|
-
default: !1
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
emits: [
|
|
107
|
-
"sort",
|
|
108
|
-
"update:selected",
|
|
109
|
-
"row-click"
|
|
110
|
-
],
|
|
111
|
-
setup(e, { emit: t }) {
|
|
112
|
-
let g = e, { layerProps: E } = r(), D = t, O = oe(), Ve = `nb-data-table-select-${ae()}`, He = l(() => g.size), k = l(() => g.columns.filter((e) => !e.hidden)), A = l(() => g.selectable !== "none"), j = l(() => !!O["row-actions"]), Ue = l(() => k.value.length + (A.value ? 1 : 0) + (j.value ? 1 : 0)), { phone: We } = i(), M = l(() => g.stackOnPhone && We.value), Ge = l(() => (k.value.find((e) => e.primary) ?? k.value.find((e) => !e.phoneHidden && !e.phoneMeta))?.key);
|
|
113
|
-
function Ke(e) {
|
|
114
|
-
return e.phoneHidden ? "nb-data-table__td--phone-hidden" : e.key === Ge.value ? "nb-data-table__td--primary" : e.phoneMeta ? "nb-data-table__td--meta" : "nb-data-table__td--field";
|
|
115
|
-
}
|
|
116
|
-
let qe = l(() => !g.loading && !g.error && g.rows.length > 0 && (g.selectable === "multiple" || k.value.some((e) => e.sortable && !e.phoneHidden)));
|
|
117
|
-
function Je(e) {
|
|
118
|
-
if (e.width != null) return { width: typeof e.width == "number" ? `${e.width}px` : e.width };
|
|
119
|
-
}
|
|
120
|
-
function N(e, t) {
|
|
121
|
-
return t[e.key];
|
|
122
|
-
}
|
|
123
|
-
function Ye(e) {
|
|
124
|
-
return e == null ? "" : String(e);
|
|
125
|
-
}
|
|
126
|
-
let P = (e) => e.column.render?.(e.row, N(e.column, e.row), e.rowIndex) ?? null;
|
|
127
|
-
P.props = [
|
|
128
|
-
"column",
|
|
129
|
-
"row",
|
|
130
|
-
"rowIndex"
|
|
131
|
-
];
|
|
132
|
-
function F(e) {
|
|
133
|
-
let t = g.rowKey;
|
|
134
|
-
return typeof t == "function" ? t(e) : e[t];
|
|
135
|
-
}
|
|
136
|
-
let I = l(() => new Set(g.selected)), Xe = l(() => g.selected), L = l(() => g.selected.length);
|
|
137
|
-
function R(e) {
|
|
138
|
-
return I.value.has(F(e));
|
|
139
|
-
}
|
|
140
|
-
let z = l(() => g.rows.map((e) => F(e))), B = l(() => z.value.length > 0 && z.value.every((e) => I.value.has(e))), Ze = l(() => !B.value && z.value.some((e) => I.value.has(e))), V = y(null), H = !1;
|
|
141
|
-
function U(e) {
|
|
142
|
-
H = e.shiftKey;
|
|
143
|
-
}
|
|
144
|
-
C(z, () => {
|
|
145
|
-
V.value = null;
|
|
146
|
-
});
|
|
147
|
-
function Qe(e, t) {
|
|
148
|
-
let n = F(e), r = new Set(g.selected), i = !r.has(n), a = V.value, o = (e) => {
|
|
149
|
-
i ? r.add(e) : r.delete(e);
|
|
150
|
-
};
|
|
151
|
-
if (H && a !== null && a !== t) {
|
|
152
|
-
let e = Math.min(a, t), n = Math.max(a, t);
|
|
153
|
-
for (let t = e; t <= n; t++) {
|
|
154
|
-
let e = g.rows[t];
|
|
155
|
-
e && o(F(e));
|
|
156
|
-
}
|
|
157
|
-
} else o(n), V.value = t;
|
|
158
|
-
H = !1, D("update:selected", [...r]);
|
|
159
|
-
}
|
|
160
|
-
function $e(e) {
|
|
161
|
-
D("update:selected", [F(e)]);
|
|
162
|
-
}
|
|
163
|
-
function et() {
|
|
164
|
-
let e = new Set(g.selected);
|
|
165
|
-
B.value ? z.value.forEach((t) => e.delete(t)) : z.value.forEach((t) => e.add(t)), D("update:selected", [...e]);
|
|
166
|
-
}
|
|
167
|
-
function W() {
|
|
168
|
-
D("update:selected", []);
|
|
169
|
-
}
|
|
170
|
-
let G = l(() => g.selectable !== "none" && !!O["batch-actions"]), K = l(() => G.value && L.value > 0), tt = l(() => !!g.title || !!g.description || !!O.toolbar || !!O.search || !!O["toolbar-actions"]), nt = l(() => tt.value || G.value), q = y(null), J = y(null), Y = y(null), X = y(!1);
|
|
171
|
-
function Z() {
|
|
172
|
-
let e = J.value, t = Y.value;
|
|
173
|
-
X.value = !!e && !!t && t.offsetTop >= e.offsetTop + e.offsetHeight - 1;
|
|
174
|
-
}
|
|
175
|
-
let Q = null;
|
|
176
|
-
C([
|
|
177
|
-
q,
|
|
178
|
-
J,
|
|
179
|
-
Y
|
|
180
|
-
], (e) => {
|
|
181
|
-
if (Q?.disconnect(), Z(), !(typeof ResizeObserver > "u")) {
|
|
182
|
-
Q ??= new ResizeObserver(Z);
|
|
183
|
-
for (let t of e) t && Q.observe(t);
|
|
184
|
-
}
|
|
185
|
-
}, { flush: "post" }), re(() => {
|
|
186
|
-
Q?.disconnect(), Q = null;
|
|
187
|
-
});
|
|
188
|
-
function $(e) {
|
|
189
|
-
return !!g.sortState && g.sortState.key === e.key && g.sortState.direction !== "none";
|
|
190
|
-
}
|
|
191
|
-
function rt(e) {
|
|
192
|
-
return $(e) ? g.sortState.direction === "asc" ? "ascending" : "descending" : "none";
|
|
193
|
-
}
|
|
194
|
-
function it(e) {
|
|
195
|
-
return $(e) ? g.sortState.direction === "asc" ? se : le : ce;
|
|
196
|
-
}
|
|
197
|
-
function at(e) {
|
|
198
|
-
return e === "asc" ? "desc" : e === "desc" ? "none" : "asc";
|
|
199
|
-
}
|
|
200
|
-
function ot(e) {
|
|
201
|
-
let t = g.sortState && g.sortState.key === e.key ? g.sortState.direction : "none";
|
|
202
|
-
D("sort", {
|
|
203
|
-
key: e.key,
|
|
204
|
-
direction: at(t)
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
let st = ee(), ct = l(() => !!st?.vnode.props?.onRowClick);
|
|
208
|
-
function lt(e, t) {
|
|
209
|
-
D("row-click", e, t);
|
|
210
|
-
}
|
|
211
|
-
return (t, r) => (v(), f("div", te({ class: [
|
|
212
|
-
"nb-data-table",
|
|
213
|
-
`nb-data-table--${e.size}`,
|
|
214
|
-
{ "nb-data-table--zebra": e.zebra },
|
|
215
|
-
{ "nb-data-table--sticky": e.stickyHeader },
|
|
216
|
-
{ "nb-data-table--fill": e.fill },
|
|
217
|
-
{ "nb-data-table--stacked": M.value },
|
|
218
|
-
{ "nb-data-table--stacked-headless": M.value && !qe.value }
|
|
219
|
-
] }, ie(E)), [
|
|
220
|
-
nt.value ? (v(), f("div", {
|
|
221
|
-
key: 0,
|
|
222
|
-
ref_key: "toolbarRef",
|
|
223
|
-
ref: q,
|
|
224
|
-
class: _(["nb-data-table__toolbar", { "nb-data-table__toolbar--wrapped": X.value }])
|
|
225
|
-
}, [
|
|
226
|
-
p("div", {
|
|
227
|
-
ref_key: "toolbarHeadingRef",
|
|
228
|
-
ref: J,
|
|
229
|
-
class: "nb-data-table__toolbar-heading",
|
|
230
|
-
inert: K.value || void 0,
|
|
231
|
-
"aria-hidden": K.value || void 0
|
|
232
|
-
}, [x(t.$slots, "toolbar", { selectedCount: L.value }, () => [e.title || e.description ? (v(), f("div", de, [e.title ? (v(), f("h2", fe, S(e.title), 1)) : d("", !0), e.description ? (v(), f("p", pe, S(e.description), 1)) : d("", !0)])) : d("", !0)], !0)], 8, ue),
|
|
233
|
-
t.$slots.search || t.$slots["toolbar-actions"] ? (v(), f("div", {
|
|
234
|
-
key: 0,
|
|
235
|
-
ref_key: "toolbarToolsRef",
|
|
236
|
-
ref: Y,
|
|
237
|
-
class: _(["nb-data-table__toolbar-tools", { "nb-data-table__toolbar-tools--grow-search": X.value && !!t.$slots.search }]),
|
|
238
|
-
inert: K.value || void 0,
|
|
239
|
-
"aria-hidden": K.value || void 0
|
|
240
|
-
}, [x(t.$slots, "search", {}, void 0, !0), x(t.$slots, "toolbar-actions", {}, void 0, !0)], 10, me)) : d("", !0),
|
|
241
|
-
K.value ? (v(), f("div", he, [
|
|
242
|
-
p("span", ge, S(L.value) + " selected ", 1),
|
|
243
|
-
p("div", _e, [x(t.$slots, "batch-actions", {
|
|
244
|
-
selectedKeys: Xe.value,
|
|
245
|
-
clear: W
|
|
246
|
-
}, void 0, !0)]),
|
|
247
|
-
h(a, {
|
|
248
|
-
class: "nb-data-table__batch-cancel",
|
|
249
|
-
variant: "ghost",
|
|
250
|
-
size: He.value,
|
|
251
|
-
onClick: W
|
|
252
|
-
}, {
|
|
253
|
-
default: w(() => [...r[2] ||= [m(" Cancel ", -1)]]),
|
|
254
|
-
_: 1
|
|
255
|
-
}, 8, ["size"])
|
|
256
|
-
])) : d("", !0)
|
|
257
|
-
], 2)) : d("", !0),
|
|
258
|
-
p("div", ve, [p("table", {
|
|
259
|
-
class: "nb-data-table__table",
|
|
260
|
-
role: M.value ? "table" : void 0,
|
|
261
|
-
"aria-label": e.ariaLabel || e.title || void 0,
|
|
262
|
-
"aria-busy": e.loading || void 0
|
|
263
|
-
}, [
|
|
264
|
-
p("colgroup", null, [
|
|
265
|
-
A.value ? (v(), f("col", be)) : d("", !0),
|
|
266
|
-
(v(!0), f(c, null, b(k.value, (e) => (v(), f("col", {
|
|
267
|
-
key: `col-${e.key}`,
|
|
268
|
-
style: ne(Je(e))
|
|
269
|
-
}, null, 4))), 128)),
|
|
270
|
-
j.value ? (v(), f("col", xe)) : d("", !0)
|
|
271
|
-
]),
|
|
272
|
-
p("thead", {
|
|
273
|
-
class: "nb-data-table__head",
|
|
274
|
-
role: M.value ? "rowgroup" : void 0
|
|
275
|
-
}, [p("tr", { role: M.value ? "row" : void 0 }, [
|
|
276
|
-
A.value ? (v(), f("th", we, [e.selectable === "multiple" ? (v(), u(s, {
|
|
277
|
-
key: 0,
|
|
278
|
-
"model-value": B.value,
|
|
279
|
-
indeterminate: Ze.value,
|
|
280
|
-
"aria-label": "Select all rows",
|
|
281
|
-
"onUpdate:modelValue": et
|
|
282
|
-
}, null, 8, ["model-value", "indeterminate"])) : d("", !0)])) : d("", !0),
|
|
283
|
-
(v(!0), f(c, null, b(k.value, (e) => (v(), f("th", {
|
|
284
|
-
key: `th-${e.key}`,
|
|
285
|
-
scope: "col",
|
|
286
|
-
class: _([
|
|
287
|
-
"nb-data-table__th",
|
|
288
|
-
`nb-data-table__th--${e.align || "left"}`,
|
|
289
|
-
{ "nb-data-table__th--sortable": e.sortable },
|
|
290
|
-
{ "nb-data-table__th--sorted": $(e) },
|
|
291
|
-
M.value && e.phoneHidden && "nb-data-table__th--phone-hidden"
|
|
292
|
-
]),
|
|
293
|
-
"aria-sort": e.sortable ? rt(e) : void 0
|
|
294
|
-
}, [e.sortable ? (v(), f("button", {
|
|
295
|
-
key: 0,
|
|
296
|
-
type: "button",
|
|
297
|
-
class: "nb-data-table__sort",
|
|
298
|
-
onClick: (t) => ot(e)
|
|
299
|
-
}, [p("span", De, [x(t.$slots, `header-${e.key}`, { column: e }, () => [m(S(e.header), 1)], !0)]), h(n, {
|
|
300
|
-
name: it(e),
|
|
301
|
-
class: "nb-data-table__sort-icon",
|
|
302
|
-
"aria-hidden": "true"
|
|
303
|
-
}, null, 8, ["name"])], 8, Ee)) : (v(), f("span", Oe, [x(t.$slots, `header-${e.key}`, { column: e }, () => [m(S(e.header), 1)], !0)]))], 10, Te))), 128)),
|
|
304
|
-
j.value ? (v(), f("th", ke, [...r[3] ||= [p("span", { class: "nb-sr-only" }, "Row actions", -1)]])) : d("", !0)
|
|
305
|
-
], 8, Ce)], 8, Se),
|
|
306
|
-
p("tbody", {
|
|
307
|
-
class: "nb-data-table__body",
|
|
308
|
-
role: M.value ? "rowgroup" : void 0
|
|
309
|
-
}, [e.loading ? (v(!0), f(c, { key: 0 }, b(e.skeletonRows, (e) => (v(), f("tr", {
|
|
310
|
-
key: `skeleton-${e}`,
|
|
311
|
-
class: "nb-data-table__row nb-data-table__row--skeleton"
|
|
312
|
-
}, [
|
|
313
|
-
A.value ? (v(), f("td", je, [...r[4] ||= [p("span", { class: "nb-data-table__skeleton nb-data-table__skeleton--box" }, null, -1)]])) : d("", !0),
|
|
314
|
-
(v(!0), f(c, null, b(k.value, (t) => (v(), f("td", {
|
|
315
|
-
key: `sk-${e}-${t.key}`,
|
|
316
|
-
class: "nb-data-table__td"
|
|
317
|
-
}, [...r[5] ||= [p("span", { class: "nb-data-table__skeleton" }, null, -1)]]))), 128)),
|
|
318
|
-
j.value ? (v(), f("td", Me, [...r[6] ||= [p("span", { class: "nb-data-table__skeleton nb-data-table__skeleton--box" }, null, -1)]])) : d("", !0)
|
|
319
|
-
]))), 128)) : e.error ? (v(), f("tr", Ne, [p("td", {
|
|
320
|
-
colspan: Ue.value,
|
|
321
|
-
class: "nb-data-table__state nb-data-table__state--error"
|
|
322
|
-
}, [x(t.$slots, "error", { error: e.error }, () => [h(o, {
|
|
323
|
-
is: "span",
|
|
324
|
-
align: "center",
|
|
325
|
-
justify: "center",
|
|
326
|
-
gap: "xs",
|
|
327
|
-
class: "nb-data-table__state-inner"
|
|
328
|
-
}, {
|
|
329
|
-
default: w(() => [h(n, {
|
|
330
|
-
name: "warning-circle-fill",
|
|
331
|
-
"aria-hidden": "true"
|
|
332
|
-
}), p("span", null, S(e.error), 1)]),
|
|
333
|
-
_: 1
|
|
334
|
-
})], !0)], 8, Pe)])) : e.rows.length ? (v(!0), f(c, { key: 3 }, b(e.rows, (n, i) => (v(), f("tr", {
|
|
335
|
-
key: F(n),
|
|
336
|
-
class: _([
|
|
337
|
-
"nb-data-table__row",
|
|
338
|
-
{ "nb-data-table__row--selected": R(n) },
|
|
339
|
-
{ "nb-data-table__row--clickable": ct.value }
|
|
340
|
-
]),
|
|
341
|
-
role: M.value ? "row" : void 0,
|
|
342
|
-
"aria-selected": e.selectable === "none" ? void 0 : R(n),
|
|
343
|
-
onClick: (e) => lt(n, i)
|
|
344
|
-
}, [
|
|
345
|
-
A.value ? (v(), f("td", {
|
|
346
|
-
key: 0,
|
|
347
|
-
class: "nb-data-table__td nb-data-table__select-cell",
|
|
348
|
-
onClick: r[0] ||= T(() => {}, ["stop"]),
|
|
349
|
-
onMousedown: U,
|
|
350
|
-
onKeydown: U
|
|
351
|
-
}, [e.selectable === "multiple" ? (v(), u(s, {
|
|
352
|
-
key: 0,
|
|
353
|
-
"model-value": R(n),
|
|
354
|
-
"aria-label": `Select row ${i + 1}`,
|
|
355
|
-
"onUpdate:modelValue": (e) => Qe(n, i)
|
|
356
|
-
}, null, 8, [
|
|
357
|
-
"model-value",
|
|
358
|
-
"aria-label",
|
|
359
|
-
"onUpdate:modelValue"
|
|
360
|
-
])) : (v(), f("input", {
|
|
361
|
-
key: 1,
|
|
362
|
-
type: "radio",
|
|
363
|
-
class: "nb-data-table__radio",
|
|
364
|
-
name: Ve,
|
|
365
|
-
checked: R(n),
|
|
366
|
-
"aria-label": `Select row ${i + 1}`,
|
|
367
|
-
onChange: (e) => $e(n)
|
|
368
|
-
}, null, 40, Re))], 32)) : d("", !0),
|
|
369
|
-
(v(!0), f(c, null, b(k.value, (r) => (v(), f("td", {
|
|
370
|
-
key: `td-${F(n)}-${r.key}`,
|
|
371
|
-
class: _([
|
|
372
|
-
"nb-data-table__td",
|
|
373
|
-
`nb-data-table__td--${r.align || "left"}`,
|
|
374
|
-
r.cellClass,
|
|
375
|
-
M.value && Ke(r)
|
|
376
|
-
]),
|
|
377
|
-
role: M.value ? "cell" : void 0,
|
|
378
|
-
"data-label": e.stackOnPhone ? r.header : void 0
|
|
379
|
-
}, [x(t.$slots, `cell-${r.key}`, {
|
|
380
|
-
row: n,
|
|
381
|
-
value: N(r, n),
|
|
382
|
-
column: r,
|
|
383
|
-
rowIndex: i
|
|
384
|
-
}, () => [r.render ? (v(), u(P, {
|
|
385
|
-
key: 0,
|
|
386
|
-
column: r,
|
|
387
|
-
row: n,
|
|
388
|
-
"row-index": i
|
|
389
|
-
}, null, 8, [
|
|
390
|
-
"column",
|
|
391
|
-
"row",
|
|
392
|
-
"row-index"
|
|
393
|
-
])) : (v(), f(c, { key: 1 }, [m(S(Ye(N(r, n))), 1)], 64))], !0)], 10, ze))), 128)),
|
|
394
|
-
j.value ? (v(), f("td", {
|
|
395
|
-
key: 1,
|
|
396
|
-
class: "nb-data-table__td nb-data-table__actions-cell",
|
|
397
|
-
onClick: r[1] ||= T(() => {}, ["stop"])
|
|
398
|
-
}, [x(t.$slots, "row-actions", {
|
|
399
|
-
row: n,
|
|
400
|
-
rowIndex: i
|
|
401
|
-
}, void 0, !0)])) : d("", !0)
|
|
402
|
-
], 10, Le))), 128)) : (v(), f("tr", Fe, [p("td", {
|
|
403
|
-
colspan: Ue.value,
|
|
404
|
-
class: "nb-data-table__state nb-data-table__state--empty"
|
|
405
|
-
}, [x(t.$slots, "empty", {}, () => [p("span", null, S(e.emptyMessage || "No data to display"), 1)], !0)], 8, Ie)]))], 8, Ae)
|
|
406
|
-
], 8, ye)]),
|
|
407
|
-
t.$slots.footer ? (v(), f("div", Be, [x(t.$slots, "footer", {}, void 0, !0)])) : d("", !0)
|
|
408
|
-
], 16));
|
|
409
|
-
}
|
|
410
|
-
}), [["__scopeId", "data-v-0d151db9"]]);
|
|
411
|
-
//#endregion
|
|
412
|
-
export { E as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),n=require(`./Size.d-GBIblj2D.cjs`),r=require(`./Icon-C8R_r_In.cjs`),i=require(`./composables/useSurfaceLayer.composable.cjs`),a=require(`./composables/usePhoneLayout.composable.cjs`),o=require(`./Button-C0UUTgEB.cjs`),s=require(`./Grid-D8c0StGs.cjs`),c=require(`./Checkbox-lWejJzIQ.cjs`);let l=require(`vue`),u=require(`@nubisco/ui/icons/arrow-up`);u=e.n(u);let d=require(`@nubisco/ui/icons/arrows-down-up`);d=e.n(d);let f=require(`@nubisco/ui/icons/arrow-down`);f=e.n(f);var p=[`inert`,`aria-hidden`],m={key:0},h={key:0,class:`nb-data-table__title`},g={key:1,class:`nb-data-table__description`},ee=[`inert`,`aria-hidden`],te={key:1,class:`nb-data-table__batch`,role:`region`,"aria-label":`Table batch actions`},ne={class:`nb-data-table__batch-count`},re={class:`nb-data-table__batch-actions`},ie={class:`nb-data-table__scroll`},ae=[`role`,`aria-label`,`aria-busy`],oe={key:0,class:`nb-data-table__col-select`},se={key:1,class:`nb-data-table__col-actions`},ce=[`role`],le=[`role`],ue={key:0,scope:`col`,class:`nb-data-table__th nb-data-table__select-cell`},_=[`aria-sort`],de=[`onClick`],fe={class:`nb-data-table__th-label`},pe={key:1,class:`nb-data-table__th-label`},me={key:1,scope:`col`,class:`nb-data-table__th nb-data-table__actions-cell`},he=[`role`],ge={key:0,class:`nb-data-table__td`},v={key:1,class:`nb-data-table__td`},y={key:1,class:`nb-data-table__state-row`},b=[`colspan`],x={key:2,class:`nb-data-table__state-row`},_e=[`colspan`],ve=[`role`,`aria-selected`,`onClick`],ye=[`checked`,`aria-label`,`onChange`],be=[`role`,`data-label`],xe={key:1,class:`nb-data-table__footer`},S=(0,l.defineComponent)({__name:`DataTable`,props:{columns:{},rows:{},rowKey:{},size:{default:n.r.Medium},sortState:{default:null},selectable:{default:`none`},selected:{default:()=>[]},loading:{type:Boolean,default:!1},skeletonRows:{default:5},error:{default:void 0},emptyMessage:{default:void 0},stickyHeader:{type:Boolean,default:!0},zebra:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},title:{default:void 0},description:{default:void 0},ariaLabel:{default:void 0},stackOnPhone:{type:Boolean,default:!1}},emits:[`sort`,`update:selected`,`row-click`],setup(e,{emit:t}){let n=e,{layerProps:S}=i.useSurfaceLayer(),C=t,w=(0,l.useSlots)(),T=`nb-data-table-select-${(0,l.useId)()}`,E=(0,l.computed)(()=>n.size),D=(0,l.computed)(()=>n.columns.filter(e=>!e.hidden)),O=(0,l.computed)(()=>n.selectable!==`none`),k=(0,l.computed)(()=>!!w[`row-actions`]),A=(0,l.computed)(()=>D.value.length+(O.value?1:0)+(k.value?1:0)),{phone:j}=a.usePhoneLayout(),M=(0,l.computed)(()=>n.stackOnPhone&&j.value),Se=(0,l.computed)(()=>(D.value.find(e=>e.primary)??D.value.find(e=>!e.phoneHidden&&!e.phoneMeta))?.key);function Ce(e){return e.phoneHidden?`nb-data-table__td--phone-hidden`:e.key===Se.value?`nb-data-table__td--primary`:e.phoneMeta?`nb-data-table__td--meta`:`nb-data-table__td--field`}let we=(0,l.computed)(()=>!n.loading&&!n.error&&n.rows.length>0&&(n.selectable===`multiple`||D.value.some(e=>e.sortable&&!e.phoneHidden)));function Te(e){if(e.width!=null)return{width:typeof e.width==`number`?`${e.width}px`:e.width}}function N(e,t){return t[e.key]}function Ee(e){return e==null?``:String(e)}let P=e=>e.column.render?.(e.row,N(e.column,e.row),e.rowIndex)??null;P.props=[`column`,`row`,`rowIndex`];function F(e){let t=n.rowKey;return typeof t==`function`?t(e):e[t]}let I=(0,l.computed)(()=>new Set(n.selected)),De=(0,l.computed)(()=>n.selected),L=(0,l.computed)(()=>n.selected.length);function R(e){return I.value.has(F(e))}let z=(0,l.computed)(()=>n.rows.map(e=>F(e))),B=(0,l.computed)(()=>z.value.length>0&&z.value.every(e=>I.value.has(e))),Oe=(0,l.computed)(()=>!B.value&&z.value.some(e=>I.value.has(e))),V=(0,l.ref)(null),H=!1;function U(e){H=e.shiftKey}(0,l.watch)(z,()=>{V.value=null});function ke(e,t){let r=F(e),i=new Set(n.selected),a=!i.has(r),o=V.value,s=e=>{a?i.add(e):i.delete(e)};if(H&&o!==null&&o!==t){let e=Math.min(o,t),r=Math.max(o,t);for(let t=e;t<=r;t++){let e=n.rows[t];e&&s(F(e))}}else s(r),V.value=t;H=!1,C(`update:selected`,[...i])}function Ae(e){C(`update:selected`,[F(e)])}function je(){let e=new Set(n.selected);B.value?z.value.forEach(t=>e.delete(t)):z.value.forEach(t=>e.add(t)),C(`update:selected`,[...e])}function W(){C(`update:selected`,[])}let G=(0,l.computed)(()=>n.selectable!==`none`&&!!w[`batch-actions`]),K=(0,l.computed)(()=>G.value&&L.value>0),Me=(0,l.computed)(()=>!!n.title||!!n.description||!!w.toolbar||!!w.search||!!w[`toolbar-actions`]),Ne=(0,l.computed)(()=>Me.value||G.value),q=(0,l.ref)(null),J=(0,l.ref)(null),Y=(0,l.ref)(null),X=(0,l.ref)(!1);function Z(){let e=J.value,t=Y.value;X.value=!!e&&!!t&&t.offsetTop>=e.offsetTop+e.offsetHeight-1}let Q=null;(0,l.watch)([q,J,Y],e=>{if(Q?.disconnect(),Z(),!(typeof ResizeObserver>`u`)){Q??=new ResizeObserver(Z);for(let t of e)t&&Q.observe(t)}},{flush:`post`}),(0,l.onBeforeUnmount)(()=>{Q?.disconnect(),Q=null});function $(e){return!!n.sortState&&n.sortState.key===e.key&&n.sortState.direction!==`none`}function Pe(e){return $(e)?n.sortState.direction===`asc`?`ascending`:`descending`:`none`}function Fe(e){return $(e)?n.sortState.direction===`asc`?u:f:d}function Ie(e){return e===`asc`?`desc`:e===`desc`?`none`:`asc`}function Le(e){let t=n.sortState&&n.sortState.key===e.key?n.sortState.direction:`none`;C(`sort`,{key:e.key,direction:Ie(t)})}let Re=(0,l.getCurrentInstance)(),ze=(0,l.computed)(()=>!!Re?.vnode.props?.onRowClick);function Be(e,t){C(`row-click`,e,t)}return(t,n)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,(0,l.mergeProps)({class:[`nb-data-table`,`nb-data-table--${e.size}`,{"nb-data-table--zebra":e.zebra},{"nb-data-table--sticky":e.stickyHeader},{"nb-data-table--fill":e.fill},{"nb-data-table--stacked":M.value},{"nb-data-table--stacked-headless":M.value&&!we.value}]},(0,l.unref)(S)),[Ne.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,ref_key:`toolbarRef`,ref:q,class:(0,l.normalizeClass)([`nb-data-table__toolbar`,{"nb-data-table__toolbar--wrapped":X.value}])},[(0,l.createElementVNode)(`div`,{ref_key:`toolbarHeadingRef`,ref:J,class:`nb-data-table__toolbar-heading`,inert:K.value||void 0,"aria-hidden":K.value||void 0},[(0,l.renderSlot)(t.$slots,`toolbar`,{selectedCount:L.value},()=>[e.title||e.description?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,m,[e.title?((0,l.openBlock)(),(0,l.createElementBlock)(`h2`,h,(0,l.toDisplayString)(e.title),1)):(0,l.createCommentVNode)(``,!0),e.description?((0,l.openBlock)(),(0,l.createElementBlock)(`p`,g,(0,l.toDisplayString)(e.description),1)):(0,l.createCommentVNode)(``,!0)])):(0,l.createCommentVNode)(``,!0)],!0)],8,p),t.$slots.search||t.$slots[`toolbar-actions`]?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,ref_key:`toolbarToolsRef`,ref:Y,class:(0,l.normalizeClass)([`nb-data-table__toolbar-tools`,{"nb-data-table__toolbar-tools--grow-search":X.value&&!!t.$slots.search}]),inert:K.value||void 0,"aria-hidden":K.value||void 0},[(0,l.renderSlot)(t.$slots,`search`,{},void 0,!0),(0,l.renderSlot)(t.$slots,`toolbar-actions`,{},void 0,!0)],10,ee)):(0,l.createCommentVNode)(``,!0),K.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,te,[(0,l.createElementVNode)(`span`,ne,(0,l.toDisplayString)(L.value)+` selected `,1),(0,l.createElementVNode)(`div`,re,[(0,l.renderSlot)(t.$slots,`batch-actions`,{selectedKeys:De.value,clear:W},void 0,!0)]),(0,l.createVNode)(o.t,{class:`nb-data-table__batch-cancel`,variant:`ghost`,size:E.value,onClick:W},{default:(0,l.withCtx)(()=>[...n[2]||=[(0,l.createTextVNode)(` Cancel `,-1)]]),_:1},8,[`size`])])):(0,l.createCommentVNode)(``,!0)],2)):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`div`,ie,[(0,l.createElementVNode)(`table`,{class:`nb-data-table__table`,role:M.value?`table`:void 0,"aria-label":e.ariaLabel||e.title||void 0,"aria-busy":e.loading||void 0},[(0,l.createElementVNode)(`colgroup`,null,[O.value?((0,l.openBlock)(),(0,l.createElementBlock)(`col`,oe)):(0,l.createCommentVNode)(``,!0),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(D.value,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`col`,{key:`col-${e.key}`,style:(0,l.normalizeStyle)(Te(e))},null,4))),128)),k.value?((0,l.openBlock)(),(0,l.createElementBlock)(`col`,se)):(0,l.createCommentVNode)(``,!0)]),(0,l.createElementVNode)(`thead`,{class:`nb-data-table__head`,role:M.value?`rowgroup`:void 0},[(0,l.createElementVNode)(`tr`,{role:M.value?`row`:void 0},[O.value?((0,l.openBlock)(),(0,l.createElementBlock)(`th`,ue,[e.selectable===`multiple`?((0,l.openBlock)(),(0,l.createBlock)(c.t,{key:0,"model-value":B.value,indeterminate:Oe.value,"aria-label":`Select all rows`,"onUpdate:modelValue":je},null,8,[`model-value`,`indeterminate`])):(0,l.createCommentVNode)(``,!0)])):(0,l.createCommentVNode)(``,!0),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(D.value,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`th`,{key:`th-${e.key}`,scope:`col`,class:(0,l.normalizeClass)([`nb-data-table__th`,`nb-data-table__th--${e.align||`left`}`,{"nb-data-table__th--sortable":e.sortable},{"nb-data-table__th--sorted":$(e)},M.value&&e.phoneHidden&&`nb-data-table__th--phone-hidden`]),"aria-sort":e.sortable?Pe(e):void 0},[e.sortable?((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:0,type:`button`,class:`nb-data-table__sort`,onClick:t=>Le(e)},[(0,l.createElementVNode)(`span`,fe,[(0,l.renderSlot)(t.$slots,`header-${e.key}`,{column:e},()=>[(0,l.createTextVNode)((0,l.toDisplayString)(e.header),1)],!0)]),(0,l.createVNode)(r.t,{name:Fe(e),class:`nb-data-table__sort-icon`,"aria-hidden":`true`},null,8,[`name`])],8,de)):((0,l.openBlock)(),(0,l.createElementBlock)(`span`,pe,[(0,l.renderSlot)(t.$slots,`header-${e.key}`,{column:e},()=>[(0,l.createTextVNode)((0,l.toDisplayString)(e.header),1)],!0)]))],10,_))),128)),k.value?((0,l.openBlock)(),(0,l.createElementBlock)(`th`,me,[...n[3]||=[(0,l.createElementVNode)(`span`,{class:`nb-sr-only`},`Row actions`,-1)]])):(0,l.createCommentVNode)(``,!0)],8,le)],8,ce),(0,l.createElementVNode)(`tbody`,{class:`nb-data-table__body`,role:M.value?`rowgroup`:void 0},[e.loading?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:0},(0,l.renderList)(e.skeletonRows,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`tr`,{key:`skeleton-${e}`,class:`nb-data-table__row nb-data-table__row--skeleton`},[O.value?((0,l.openBlock)(),(0,l.createElementBlock)(`td`,ge,[...n[4]||=[(0,l.createElementVNode)(`span`,{class:`nb-data-table__skeleton nb-data-table__skeleton--box`},null,-1)]])):(0,l.createCommentVNode)(``,!0),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(D.value,t=>((0,l.openBlock)(),(0,l.createElementBlock)(`td`,{key:`sk-${e}-${t.key}`,class:`nb-data-table__td`},[...n[5]||=[(0,l.createElementVNode)(`span`,{class:`nb-data-table__skeleton`},null,-1)]]))),128)),k.value?((0,l.openBlock)(),(0,l.createElementBlock)(`td`,v,[...n[6]||=[(0,l.createElementVNode)(`span`,{class:`nb-data-table__skeleton nb-data-table__skeleton--box`},null,-1)]])):(0,l.createCommentVNode)(``,!0)]))),128)):e.error?((0,l.openBlock)(),(0,l.createElementBlock)(`tr`,y,[(0,l.createElementVNode)(`td`,{colspan:A.value,class:`nb-data-table__state nb-data-table__state--error`},[(0,l.renderSlot)(t.$slots,`error`,{error:e.error},()=>[(0,l.createVNode)(s.t,{is:`span`,align:`center`,justify:`center`,gap:`xs`,class:`nb-data-table__state-inner`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)(r.t,{name:`warning-circle-fill`,"aria-hidden":`true`}),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.error),1)]),_:1})],!0)],8,b)])):e.rows.length?((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,{key:3},(0,l.renderList)(e.rows,(r,i)=>((0,l.openBlock)(),(0,l.createElementBlock)(`tr`,{key:F(r),class:(0,l.normalizeClass)([`nb-data-table__row`,{"nb-data-table__row--selected":R(r)},{"nb-data-table__row--clickable":ze.value}]),role:M.value?`row`:void 0,"aria-selected":e.selectable===`none`?void 0:R(r),onClick:e=>Be(r,i)},[O.value?((0,l.openBlock)(),(0,l.createElementBlock)(`td`,{key:0,class:`nb-data-table__td nb-data-table__select-cell`,onClick:n[0]||=(0,l.withModifiers)(()=>{},[`stop`]),onMousedown:U,onKeydown:U},[e.selectable===`multiple`?((0,l.openBlock)(),(0,l.createBlock)(c.t,{key:0,"model-value":R(r),"aria-label":`Select row ${i+1}`,"onUpdate:modelValue":e=>ke(r,i)},null,8,[`model-value`,`aria-label`,`onUpdate:modelValue`])):((0,l.openBlock)(),(0,l.createElementBlock)(`input`,{key:1,type:`radio`,class:`nb-data-table__radio`,name:T,checked:R(r),"aria-label":`Select row ${i+1}`,onChange:e=>Ae(r)},null,40,ye))],32)):(0,l.createCommentVNode)(``,!0),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(D.value,n=>((0,l.openBlock)(),(0,l.createElementBlock)(`td`,{key:`td-${F(r)}-${n.key}`,class:(0,l.normalizeClass)([`nb-data-table__td`,`nb-data-table__td--${n.align||`left`}`,n.cellClass,M.value&&Ce(n)]),role:M.value?`cell`:void 0,"data-label":e.stackOnPhone?n.header:void 0},[(0,l.renderSlot)(t.$slots,`cell-${n.key}`,{row:r,value:N(n,r),column:n,rowIndex:i},()=>[n.render?((0,l.openBlock)(),(0,l.createBlock)(P,{key:0,column:n,row:r,"row-index":i},null,8,[`column`,`row`,`row-index`])):((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createTextVNode)((0,l.toDisplayString)(Ee(N(n,r))),1)],64))],!0)],10,be))),128)),k.value?((0,l.openBlock)(),(0,l.createElementBlock)(`td`,{key:1,class:`nb-data-table__td nb-data-table__actions-cell`,onClick:n[1]||=(0,l.withModifiers)(()=>{},[`stop`])},[(0,l.renderSlot)(t.$slots,`row-actions`,{row:r,rowIndex:i},void 0,!0)])):(0,l.createCommentVNode)(``,!0)],10,ve))),128)):((0,l.openBlock)(),(0,l.createElementBlock)(`tr`,x,[(0,l.createElementVNode)(`td`,{colspan:A.value,class:`nb-data-table__state nb-data-table__state--empty`},[(0,l.renderSlot)(t.$slots,`empty`,{},()=>[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.emptyMessage||`No data to display`),1)],!0)],8,_e)]))],8,he)],8,ae)]),t.$slots.footer?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,xe,[(0,l.renderSlot)(t.$slots,`footer`,{},void 0,!0)])):(0,l.createCommentVNode)(``,!0)],16))}}),C=t.t(S,[[`__scopeId`,`data-v-0d151db9`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return C}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./Icon-C8R_r_In.cjs`),n=require(`./composables/useSurfaceLayer.composable.cjs`),r=require(`./Button-C0UUTgEB.cjs`);let i=require(`vue`),a=require(`@nubisco/ui/icons/x`),o=require(`@nubisco/ui/icons/circle-notch`);var s=function(e){return e.Primary=`primary`,e.Secondary=`secondary`,e.Ghost=`ghost`,e.Danger=`danger`,e.Success=`success`,e.Warning=`warning`,e}(s||{}),c=function(e){return e.Idle=`idle`,e.Loading=`loading`,e.Success=`success`,e}(c||{}),l={key:0,class:`nb-file-uploader__heading`},u={key:1,class:`nb-file-uploader__description`},d=[`accept`,`multiple`],f={key:4,class:`nb-file-uploader__list`},p={class:`nb-file-uploader__name`},m={class:`nb-file-uploader__status`},h=[`aria-label`,`onClick`],g={key:0,class:`nb-file-uploader__error`},_=(0,i.defineComponent)({__name:`FileUploader`,props:{heading:{},description:{},buttonLabel:{default:`Add file`},variant:{default:s.Primary},accept:{},multiple:{type:Boolean,default:!1},maxSize:{},disabled:{type:Boolean},id:{}},emits:[`change`,`remove`],setup(e,{expose:s,emit:_}){let v=e,{layerProps:y}=n.useSurfaceLayer(),b=_,x=(0,i.ref)(null),S=(0,i.ref)([]),C=(0,i.ref)(!1),w=0;function T(){x.value?.click()}function E(e){if(v.maxSize&&e.size>v.maxSize)return`File exceeds size limit.`;if(v.accept){let t=v.accept.split(`,`).map(e=>e.trim().toLowerCase()),n=e.name.toLowerCase();if(!t.some(t=>t.startsWith(`.`)?n.endsWith(t):t.includes(`/`)?e.type===t||e.type.startsWith(t.replaceAll(`*`,``)):!1))return`File type not accepted.`}}function D(e){let t=Array.from(e);v.multiple||(S.value=[]);for(let e of t){let t=E(e);S.value.push({file:e,status:c.Idle,error:t})}b(`change`,S.value.filter(e=>!e.error).map(e=>e.file))}function O(e){let t=e.target;t.files?.length&&(D(t.files),t.value=``)}function k(){w++,C.value=!0}function A(){w--,w<=0&&(w=0,C.value=!1)}function j(e){w=0,C.value=!1;let t=e.dataTransfer?.files;t?.length&&D(t)}function M(e){let t=S.value[e];S.value.splice(e,1),b(`remove`,t.file),b(`change`,S.value.filter(e=>!e.error).map(e=>e.file))}function N(e,t,n){S.value[e]&&(S.value[e].status=t,S.value[e].error=n)}return s({files:S,setFileStatus:N}),(n,s)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,(0,i.mergeProps)({class:`nb-file-uploader`},(0,i.unref)(y),{onDragenter:(0,i.withModifiers)(k,[`prevent`]),onDragover:s[0]||=(0,i.withModifiers)(()=>{},[`prevent`]),onDragleave:(0,i.withModifiers)(A,[`prevent`]),onDrop:(0,i.withModifiers)(j,[`prevent`])}),[e.heading?((0,i.openBlock)(),(0,i.createElementBlock)(`p`,l,(0,i.toDisplayString)(e.heading),1)):(0,i.createCommentVNode)(``,!0),e.description?((0,i.openBlock)(),(0,i.createElementBlock)(`p`,u,(0,i.toDisplayString)(e.description),1)):(0,i.createCommentVNode)(``,!0),C.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:2,class:(0,i.normalizeClass)([`nb-file-uploader__dropzone`,`nb-file-uploader__dropzone--${e.variant}`])},[...s[1]||=[(0,i.createElementVNode)(`span`,{class:`nb-file-uploader__drop-label`},[(0,i.createTextVNode)(` Drag and drop files here`),(0,i.createElementVNode)(`br`),(0,i.createTextVNode)(`or click to upload `)],-1)]],2)):((0,i.openBlock)(),(0,i.createBlock)(r.t,{key:3,class:`nb-file-uploader__btn`,variant:e.variant,onClick:(0,i.withModifiers)(T,[`stop`])},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(e.buttonLabel),1)]),_:1},8,[`variant`])),(0,i.createElementVNode)(`input`,{ref_key:`inputRef`,ref:x,type:`file`,class:`nb-file-uploader__input`,accept:e.accept,multiple:e.multiple,onChange:O},null,40,d),S.value.length?((0,i.openBlock)(),(0,i.createElementBlock)(`ul`,f,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(S.value,(e,n)=>((0,i.openBlock)(),(0,i.createElementBlock)(`li`,{key:n,class:(0,i.normalizeClass)([`nb-file-uploader__item`,{"nb-file-uploader__item--error":e.error,"nb-file-uploader__item--success":e.status===`success`}])},[(0,i.createElementVNode)(`span`,p,(0,i.toDisplayString)(e.file.name),1),(0,i.createElementVNode)(`span`,m,[e.status===`loading`?((0,i.openBlock)(),(0,i.createBlock)(t.t,{key:0,name:(0,i.unref)(o.regular),class:`nb-file-uploader__spinner`},null,8,[`name`])):e.status===`success`?((0,i.openBlock)(),(0,i.createBlock)(t.t,{key:1,name:`check-circle-fill`,class:`nb-file-uploader__check`})):(0,i.createCommentVNode)(``,!0),e.error?((0,i.openBlock)(),(0,i.createBlock)(t.t,{key:2,name:`warning-circle-fill`,class:`nb-file-uploader__warn`})):(0,i.createCommentVNode)(``,!0),e.status===`loading`?(0,i.createCommentVNode)(``,!0):((0,i.openBlock)(),(0,i.createElementBlock)(`button`,{key:3,class:`nb-file-uploader__remove`,type:`button`,"aria-label":`Remove ${e.file.name}`,onClick:e=>M(n)},[(0,i.createVNode)(t.t,{name:(0,i.unref)(a.regular)},null,8,[`name`])],8,h))]),e.error?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,g,(0,i.toDisplayString)(e.error),1)):(0,i.createCommentVNode)(``,!0)],2))),128))])):(0,i.createCommentVNode)(``,!0)],16))}}),v=e.t(_,[[`__scopeId`,`data-v-7f391a7f`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return v}});
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
|
|
2
|
-
import { t } from "./Icon-rREAqsu0.js";
|
|
3
|
-
import { useSurfaceLayer as n } from "./composables/useSurfaceLayer.composable.mjs";
|
|
4
|
-
import { t as r } from "./Button-IcCXOoCT.js";
|
|
5
|
-
import { Fragment as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, mergeProps as f, normalizeClass as p, openBlock as m, ref as h, renderList as g, toDisplayString as _, unref as v, withCtx as y, withModifiers as b } from "vue";
|
|
6
|
-
import { regular as x } from "@nubisco/ui/icons/x";
|
|
7
|
-
import { regular as S } from "@nubisco/ui/icons/circle-notch";
|
|
8
|
-
//#region src/types/Variants.d.ts
|
|
9
|
-
var C = /* @__PURE__ */ function(e) {
|
|
10
|
-
return e.Primary = "primary", e.Secondary = "secondary", e.Ghost = "ghost", e.Danger = "danger", e.Success = "success", e.Warning = "warning", e;
|
|
11
|
-
}(C || {}), w = /* @__PURE__ */ function(e) {
|
|
12
|
-
return e.Idle = "idle", e.Loading = "loading", e.Success = "success", e;
|
|
13
|
-
}(w || {}), T = {
|
|
14
|
-
key: 0,
|
|
15
|
-
class: "nb-file-uploader__heading"
|
|
16
|
-
}, E = {
|
|
17
|
-
key: 1,
|
|
18
|
-
class: "nb-file-uploader__description"
|
|
19
|
-
}, D = ["accept", "multiple"], O = {
|
|
20
|
-
key: 4,
|
|
21
|
-
class: "nb-file-uploader__list"
|
|
22
|
-
}, k = { class: "nb-file-uploader__name" }, A = { class: "nb-file-uploader__status" }, j = ["aria-label", "onClick"], M = {
|
|
23
|
-
key: 0,
|
|
24
|
-
class: "nb-file-uploader__error"
|
|
25
|
-
}, N = /* @__PURE__ */ e(/* @__PURE__ */ d({
|
|
26
|
-
__name: "FileUploader",
|
|
27
|
-
props: {
|
|
28
|
-
heading: {},
|
|
29
|
-
description: {},
|
|
30
|
-
buttonLabel: { default: "Add file" },
|
|
31
|
-
variant: { default: C.Primary },
|
|
32
|
-
accept: {},
|
|
33
|
-
multiple: {
|
|
34
|
-
type: Boolean,
|
|
35
|
-
default: !1
|
|
36
|
-
},
|
|
37
|
-
maxSize: {},
|
|
38
|
-
disabled: { type: Boolean },
|
|
39
|
-
id: {}
|
|
40
|
-
},
|
|
41
|
-
emits: ["change", "remove"],
|
|
42
|
-
setup(e, { expose: d, emit: C }) {
|
|
43
|
-
let N = e, { layerProps: P } = n(), F = C, I = h(null), L = h([]), R = h(!1), z = 0;
|
|
44
|
-
function B() {
|
|
45
|
-
I.value?.click();
|
|
46
|
-
}
|
|
47
|
-
function V(e) {
|
|
48
|
-
if (N.maxSize && e.size > N.maxSize) return "File exceeds size limit.";
|
|
49
|
-
if (N.accept) {
|
|
50
|
-
let t = N.accept.split(",").map((e) => e.trim().toLowerCase()), n = e.name.toLowerCase();
|
|
51
|
-
if (!t.some((t) => t.startsWith(".") ? n.endsWith(t) : t.includes("/") ? e.type === t || e.type.startsWith(t.replaceAll("*", "")) : !1)) return "File type not accepted.";
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
function H(e) {
|
|
55
|
-
let t = Array.from(e);
|
|
56
|
-
N.multiple || (L.value = []);
|
|
57
|
-
for (let e of t) {
|
|
58
|
-
let t = V(e);
|
|
59
|
-
L.value.push({
|
|
60
|
-
file: e,
|
|
61
|
-
status: w.Idle,
|
|
62
|
-
error: t
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
F("change", L.value.filter((e) => !e.error).map((e) => e.file));
|
|
66
|
-
}
|
|
67
|
-
function U(e) {
|
|
68
|
-
let t = e.target;
|
|
69
|
-
t.files?.length && (H(t.files), t.value = "");
|
|
70
|
-
}
|
|
71
|
-
function W() {
|
|
72
|
-
z++, R.value = !0;
|
|
73
|
-
}
|
|
74
|
-
function G() {
|
|
75
|
-
z--, z <= 0 && (z = 0, R.value = !1);
|
|
76
|
-
}
|
|
77
|
-
function K(e) {
|
|
78
|
-
z = 0, R.value = !1;
|
|
79
|
-
let t = e.dataTransfer?.files;
|
|
80
|
-
t?.length && H(t);
|
|
81
|
-
}
|
|
82
|
-
function q(e) {
|
|
83
|
-
let t = L.value[e];
|
|
84
|
-
L.value.splice(e, 1), F("remove", t.file), F("change", L.value.filter((e) => !e.error).map((e) => e.file));
|
|
85
|
-
}
|
|
86
|
-
function J(e, t, n) {
|
|
87
|
-
L.value[e] && (L.value[e].status = t, L.value[e].error = n);
|
|
88
|
-
}
|
|
89
|
-
return d({
|
|
90
|
-
files: L,
|
|
91
|
-
setFileStatus: J
|
|
92
|
-
}), (n, d) => (m(), s("div", f({ class: "nb-file-uploader" }, v(P), {
|
|
93
|
-
onDragenter: b(W, ["prevent"]),
|
|
94
|
-
onDragover: d[0] ||= b(() => {}, ["prevent"]),
|
|
95
|
-
onDragleave: b(G, ["prevent"]),
|
|
96
|
-
onDrop: b(K, ["prevent"])
|
|
97
|
-
}), [
|
|
98
|
-
e.heading ? (m(), s("p", T, _(e.heading), 1)) : o("", !0),
|
|
99
|
-
e.description ? (m(), s("p", E, _(e.description), 1)) : o("", !0),
|
|
100
|
-
R.value ? (m(), s("div", {
|
|
101
|
-
key: 2,
|
|
102
|
-
class: p(["nb-file-uploader__dropzone", `nb-file-uploader__dropzone--${e.variant}`])
|
|
103
|
-
}, [...d[1] ||= [c("span", { class: "nb-file-uploader__drop-label" }, [
|
|
104
|
-
l(" Drag and drop files here"),
|
|
105
|
-
c("br"),
|
|
106
|
-
l("or click to upload ")
|
|
107
|
-
], -1)]], 2)) : (m(), a(r, {
|
|
108
|
-
key: 3,
|
|
109
|
-
class: "nb-file-uploader__btn",
|
|
110
|
-
variant: e.variant,
|
|
111
|
-
onClick: b(B, ["stop"])
|
|
112
|
-
}, {
|
|
113
|
-
default: y(() => [l(_(e.buttonLabel), 1)]),
|
|
114
|
-
_: 1
|
|
115
|
-
}, 8, ["variant"])),
|
|
116
|
-
c("input", {
|
|
117
|
-
ref_key: "inputRef",
|
|
118
|
-
ref: I,
|
|
119
|
-
type: "file",
|
|
120
|
-
class: "nb-file-uploader__input",
|
|
121
|
-
accept: e.accept,
|
|
122
|
-
multiple: e.multiple,
|
|
123
|
-
onChange: U
|
|
124
|
-
}, null, 40, D),
|
|
125
|
-
L.value.length ? (m(), s("ul", O, [(m(!0), s(i, null, g(L.value, (e, n) => (m(), s("li", {
|
|
126
|
-
key: n,
|
|
127
|
-
class: p(["nb-file-uploader__item", {
|
|
128
|
-
"nb-file-uploader__item--error": e.error,
|
|
129
|
-
"nb-file-uploader__item--success": e.status === "success"
|
|
130
|
-
}])
|
|
131
|
-
}, [
|
|
132
|
-
c("span", k, _(e.file.name), 1),
|
|
133
|
-
c("span", A, [
|
|
134
|
-
e.status === "loading" ? (m(), a(t, {
|
|
135
|
-
key: 0,
|
|
136
|
-
name: v(S),
|
|
137
|
-
class: "nb-file-uploader__spinner"
|
|
138
|
-
}, null, 8, ["name"])) : e.status === "success" ? (m(), a(t, {
|
|
139
|
-
key: 1,
|
|
140
|
-
name: "check-circle-fill",
|
|
141
|
-
class: "nb-file-uploader__check"
|
|
142
|
-
})) : o("", !0),
|
|
143
|
-
e.error ? (m(), a(t, {
|
|
144
|
-
key: 2,
|
|
145
|
-
name: "warning-circle-fill",
|
|
146
|
-
class: "nb-file-uploader__warn"
|
|
147
|
-
})) : o("", !0),
|
|
148
|
-
e.status === "loading" ? o("", !0) : (m(), s("button", {
|
|
149
|
-
key: 3,
|
|
150
|
-
class: "nb-file-uploader__remove",
|
|
151
|
-
type: "button",
|
|
152
|
-
"aria-label": `Remove ${e.file.name}`,
|
|
153
|
-
onClick: (e) => q(n)
|
|
154
|
-
}, [u(t, { name: v(x) }, null, 8, ["name"])], 8, j))
|
|
155
|
-
]),
|
|
156
|
-
e.error ? (m(), s("div", M, _(e.error), 1)) : o("", !0)
|
|
157
|
-
], 2))), 128))])) : o("", !0)
|
|
158
|
-
], 16));
|
|
159
|
-
}
|
|
160
|
-
}), [["__scopeId", "data-v-7f391a7f"]]);
|
|
161
|
-
//#endregion
|
|
162
|
-
export { N as t };
|