@mkbabb/glass-ui 10.1.0 → 10.1.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.
Files changed (37) hide show
  1. package/MIGRATION.md +25 -0
  2. package/dist/aurora.js +29 -29
  3. package/dist/{command-C-5xSEJ2.js → command-CTQCaHVA.js} +1 -1
  4. package/dist/command.js +1 -1
  5. package/dist/components/_shared/overlay/participation.d.ts +13 -1
  6. package/dist/components/dock/GlassDock.vue.d.ts +5 -5
  7. package/dist/components/dock/composables/dockContext.d.ts +16 -2
  8. package/dist/components/sheet/styles.css +1 -1
  9. package/dist/components/skeleton/Skeleton.vue.d.ts +6 -0
  10. package/dist/content-BhcJH1bI.js +22 -0
  11. package/dist/data-table-Cs93-uY7.js +511 -0
  12. package/dist/data-table.js +1 -1
  13. package/dist/dock.js +417 -409
  14. package/dist/easing.js +3 -3
  15. package/dist/glass-ui.css +1 -1
  16. package/dist/glass-ui.js +8 -8
  17. package/dist/labeled-field.js +1 -1
  18. package/dist/{menu-BnmCOa3y.js → menu-DN29N6KR.js} +6 -3
  19. package/dist/menu.js +1 -1
  20. package/dist/motion-core.js +11 -11
  21. package/dist/participation-Cs_UX_Dc.js +55 -0
  22. package/dist/{popover-DA87hFBx.js → popover-CJpvT2E6.js} +9 -4
  23. package/dist/popover.js +1 -1
  24. package/dist/{select-fy3vtArm.js → select-5QMeUAU6.js} +26 -24
  25. package/dist/select.js +1 -1
  26. package/dist/{sheet-BQJyER59.js → sheet-DmJxgAHc.js} +1 -1
  27. package/dist/sheet.js +1 -1
  28. package/dist/{slider-5ChjjWSR.js → slider-D1zkobtO.js} +1 -1
  29. package/dist/slider.js +1 -1
  30. package/dist/{tabs-rdRXKXxd.js → tabs-C0PYq3Tb.js} +1 -1
  31. package/dist/tabs.js +1 -1
  32. package/dist/{tooltip-DhTHhtJN.js → tooltip-D7j6TsE4.js} +3 -3
  33. package/dist/tooltip.js +1 -1
  34. package/package.json +1 -1
  35. package/dist/content-So3j6SOe.js +0 -18
  36. package/dist/data-table-Ba_uTfPc.js +0 -493
  37. package/dist/participation-Di4UHbzk.js +0 -42
package/dist/sheet.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { n as e, r as t, t as n } from "./motion-BvV1_24p.js";
2
- import { a as r, c as i, i as a, n as o, o as s, r as c, s as l, t as u } from "./sheet-BQJyER59.js";
2
+ import { a as r, c as i, i as a, n as o, o as s, r as c, s as l, t as u } from "./sheet-DmJxgAHc.js";
3
3
  export { u as SheetContent, c as nearestRung, a as projectRest, r as resolveRelease, n as scrimDetentOpacity, e as scrimOpacity, s as settleHorizon, t as sheetSlideTransform, l as springOmega, i as throwDistance, o as useSheetDetents };
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./useMotionAxis-D-rtIhca.js";
2
- import { n as t, o as n } from "./participation-Di4UHbzk.js";
2
+ import { n as t, s as n } from "./participation-Cs_UX_Dc.js";
3
3
  import { t as r } from "./useDragVelocity-C5BkKiNf.js";
4
4
  import { n as i } from "./valueDomain-DXRzfc8l.js";
5
5
  import { Fragment as a, Teleport as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createVNode as f, defineComponent as p, mergeProps as m, nextTick as ee, normalizeClass as te, normalizeStyle as h, onBeforeUnmount as g, onMounted as _, openBlock as v, ref as y, renderList as b, unref as x, useAttrs as ne, useTemplateRef as S, watch as C, withCtx as w } from "vue";
package/dist/slider.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./slider-5ChjjWSR.js";
1
+ import { t as e } from "./slider-D1zkobtO.js";
2
2
  export { e as Slider };
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./class-names-FlXcvRRT.js";
2
2
  import { n as t, r as n } from "./writeVelocityWeight-DoGOCW3e.js";
3
3
  import { t as r } from "./useMotionAxis-D-rtIhca.js";
4
- import { a as i, c as a, l as o, r as s, s as c } from "./select-fy3vtArm.js";
4
+ import { a as i, c as a, l as o, r as s, s as c } from "./select-5QMeUAU6.js";
5
5
  import { n as l, t as u } from "./useSelectionGroup-zsEwitF6.js";
6
6
  import { t as d } from "./useDragMorph-B363RUbF.js";
7
7
  import { Fragment as f, computed as p, createBlock as m, createElementBlock as h, createElementVNode as g, createTextVNode as _, createVNode as v, defineComponent as y, mergeModels as b, mergeProps as x, nextTick as S, normalizeClass as C, normalizeStyle as w, onBeforeUnmount as T, onBeforeUpdate as E, onMounted as D, openBlock as O, ref as k, renderList as A, renderSlot as j, toDisplayString as M, unref as N, useModel as P, watch as F, withCtx as I } from "vue";
package/dist/tabs.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./tabs-rdRXKXxd.js";
1
+ import { t as e } from "./tabs-C0PYq3Tb.js";
2
2
  export { e as SegmentedTabs };
@@ -1,5 +1,5 @@
1
- import { t as e } from "./content-So3j6SOe.js";
2
- import { t } from "./participation-Di4UHbzk.js";
1
+ import { t as e } from "./content-BhcJH1bI.js";
2
+ import { t } from "./participation-Cs_UX_Dc.js";
3
3
  import { computed as n, createBlock as r, createVNode as i, defineComponent as a, mergeProps as o, openBlock as s, renderSlot as c, unref as l, useAttrs as u, withCtx as d } from "vue";
4
4
  import { TooltipContent as f, TooltipPortal as p, TooltipProvider as m, TooltipRoot as h, TooltipTrigger as g } from "reka-ui";
5
5
  //#endregion
@@ -69,7 +69,7 @@ var _ = /* @__PURE__ */ a({
69
69
  role: "hint",
70
70
  slot: "tooltip-content",
71
71
  dock: b.portalAttrs.value,
72
- class: ["z-tooltip", h.class]
72
+ class: h.class
73
73
  }));
74
74
  return (e, t) => (s(), r(l(p), null, {
75
75
  default: d(() => [i(l(f), o({
package/dist/tooltip.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as e, n as t, r as n, t as r } from "./tooltip-DhTHhtJN.js";
1
+ import { i as e, n as t, r as n, t as r } from "./tooltip-D7j6TsE4.js";
2
2
  export { e as Tooltip, n as TooltipContent, r as TooltipProvider, t as TooltipTrigger };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mkbabb/glass-ui",
3
- "version": "10.1.0",
3
+ "version": "10.1.1",
4
4
  "description": "Glassmorphic design system — Vue 3.5 components, reka-ui primitives, Tailwind CSS v4 tokens",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,18 +0,0 @@
1
- import { t as e } from "./class-names-FlXcvRRT.js";
2
- import { t } from "./resolve-DdrNvBby.js";
3
- //#region src/components/_shared/overlay/content.ts
4
- var n = {
5
- hint: "tooltip",
6
- menu: "menu",
7
- panel: "overlay"
8
- };
9
- function r(r) {
10
- return {
11
- class: e(t("floating"), "glass-overlay-plate glass-reveal", r.class),
12
- "data-slot": r.slot,
13
- "data-reveal": n[r.role],
14
- ...r.dock
15
- };
16
- }
17
- //#endregion
18
- export { r as t };
@@ -1,493 +0,0 @@
1
- import { t as e } from "./class-names-FlXcvRRT.js";
2
- import { t } from "./primitive-B2t2jdqM.js";
3
- import { t as n } from "./useResizeObserver-CdUlm2QZ.js";
4
- import { t as r } from "./_plugin-vue_export-helper-B3ysoDQm.js";
5
- import { t as i } from "./focus-Duf7EpUu.js";
6
- import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, isRef as m, mergeProps as h, nextTick as ee, normalizeClass as g, onBeforeUpdate as te, onUpdated as ne, openBlock as _, ref as v, renderList as y, renderSlot as b, resolveDynamicComponent as x, toDisplayString as S, toValue as C, unref as w, useAttrs as T, useSlots as re, withCtx as E, withModifiers as D } from "vue";
7
- //#region src/components/table/Table.vue?vue&type=script&setup=true&lang.ts
8
- var O = {
9
- "data-slot": "table-container",
10
- class: "relative w-full overflow-auto"
11
- }, k = [
12
- "role",
13
- "aria-label",
14
- "aria-colcount",
15
- "aria-rowcount"
16
- ], A = /* @__PURE__ */ p({
17
- inheritAttrs: !1,
18
- __name: "Table",
19
- props: {
20
- class: { type: [
21
- Boolean,
22
- null,
23
- String,
24
- Object,
25
- Array
26
- ] },
27
- role: {},
28
- ariaLabel: {},
29
- ariaColCount: {},
30
- ariaRowCount: {}
31
- },
32
- setup(t) {
33
- let n = t, r = T();
34
- return (t, i) => (_(), l("div", O, [u("table", h(w(r), {
35
- "data-slot": "table",
36
- class: w(e)("w-full caption-bottom text-small", n.class),
37
- role: n.role,
38
- "aria-label": n.ariaLabel,
39
- "aria-colcount": n.ariaColCount,
40
- "aria-rowcount": n.ariaRowCount
41
- }), [b(t.$slots, "default")], 16, k)]));
42
- }
43
- }), j = /* @__PURE__ */ p({
44
- __name: "TableBody",
45
- props: { class: { type: [
46
- Boolean,
47
- null,
48
- String,
49
- Object,
50
- Array
51
- ] } },
52
- setup(t) {
53
- let n = t;
54
- return (t, r) => (_(), l("tbody", { class: g(w(e)("[&_tr:last-child]:border-0", n.class)) }, [b(t.$slots, "default")], 2));
55
- }
56
- }), M = /* @__PURE__ */ p({
57
- __name: "TableCell",
58
- props: { class: { type: [
59
- Boolean,
60
- null,
61
- String,
62
- Object,
63
- Array
64
- ] } },
65
- setup(t) {
66
- let n = t;
67
- return (t, r) => (_(), l("td", { class: g(w(e)("table-cell align-middle [&:has([role=checkbox])]:pr-0", n.class)) }, [b(t.$slots, "default")], 2));
68
- }
69
- }), N = /* @__PURE__ */ p({
70
- __name: "TableHead",
71
- props: { class: { type: [
72
- Boolean,
73
- null,
74
- String,
75
- Object,
76
- Array
77
- ] } },
78
- setup(t) {
79
- let n = t;
80
- return (t, r) => (_(), l("th", { class: g(w(e)("table-head text-left data-[align=center]:text-center data-[align=right]:text-right align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0", n.class)) }, [b(t.$slots, "default")], 2));
81
- }
82
- }), P = /* @__PURE__ */ p({
83
- __name: "TableHeader",
84
- props: { class: { type: [
85
- Boolean,
86
- null,
87
- String,
88
- Object,
89
- Array
90
- ] } },
91
- setup(t) {
92
- let n = t;
93
- return (t, r) => (_(), l("thead", { class: g(w(e)("[&_tr]:border-b", n.class)) }, [b(t.$slots, "default")], 2));
94
- }
95
- }), F = /* @__PURE__ */ p({
96
- __name: "TableRow",
97
- props: { class: { type: [
98
- Boolean,
99
- null,
100
- String,
101
- Object,
102
- Array
103
- ] } },
104
- setup(t) {
105
- let n = t;
106
- return (t, r) => (_(), l("tr", { class: g(w(e)("border-b", n.class)) }, [b(t.$slots, "default")], 2));
107
- }
108
- }), I = { class: "flex items-center justify-center py-10" }, L = /* @__PURE__ */ p({
109
- __name: "TableEmpty",
110
- props: {
111
- class: { type: [
112
- Boolean,
113
- null,
114
- String,
115
- Object,
116
- Array
117
- ] },
118
- colspan: { default: 1 }
119
- },
120
- setup(t) {
121
- let n = t, r = o(() => {
122
- let { class: e, ...t } = n;
123
- return t;
124
- });
125
- return (t, i) => (_(), s(F, null, {
126
- default: E(() => [f(M, h({ class: w(e)("p-4 whitespace-nowrap align-middle text-small text-foreground", n.class) }, r.value), {
127
- default: E(() => [u("div", I, [b(t.$slots, "default")])]),
128
- _: 3
129
- }, 16, ["class"])]),
130
- _: 3
131
- }));
132
- }
133
- }), R = /*#__PURE__*/ r(/* @__PURE__ */ p({
134
- inheritAttrs: !1,
135
- __name: "Skeleton",
136
- props: { class: { type: [
137
- Boolean,
138
- null,
139
- String,
140
- Object,
141
- Array
142
- ] } },
143
- setup(n) {
144
- let r = n, i = T(), a = o(() => Object.fromEntries(Object.entries(t(i)).filter(([e]) => e !== "role" && !e.startsWith("aria-"))));
145
- return (t, n) => (_(), l("div", h(a.value, {
146
- "data-slot": "skeleton",
147
- "aria-hidden": "true",
148
- class: w(e)("skeleton", r.class)
149
- }), null, 16));
150
- }
151
- }), [["__scopeId", "data-v-0d5ebb1f"]]);
152
- //#endregion
153
- //#region src/components/data-table/composables/useDataTableRowIdentity.ts
154
- function z(e, t) {
155
- return t.split(".").reduce((e, t) => {
156
- if (!(typeof e != "object" || !e)) return e[t];
157
- }, e);
158
- }
159
- function B(e) {
160
- return m(e) ? e.value : e;
161
- }
162
- function V(e) {
163
- return [
164
- "string",
165
- "number",
166
- "symbol"
167
- ].includes(typeof e);
168
- }
169
- function ie(e) {
170
- return { rowEntries: o(() => {
171
- let t = /* @__PURE__ */ new Set(), n = B(e.getRowId);
172
- return C(e.rows).map((r, i) => {
173
- let a = n ? n(r) : z(r, C(e.rowKey));
174
- if (!V(a)) throw TypeError(`[DataTable] Row ${i} has no stable identity.`);
175
- if (t.has(a)) throw TypeError(`[DataTable] Duplicate row identity ${String(a)}.`);
176
- return t.add(a), {
177
- row: r,
178
- key: a
179
- };
180
- });
181
- }) };
182
- }
183
- //#endregion
184
- //#region src/components/data-table/composables/useDataTableResponsive.ts
185
- function ae(e) {
186
- let { columns: t, responsive: n, cardBreakpoint: r, containerWidth: i } = e;
187
- return {
188
- isCard: o(() => {
189
- let e = C(i);
190
- return C(n) && e > 0 && e < C(r);
191
- }),
192
- headerColumn: o(() => C(t)[0]),
193
- bodyColumns: o(() => C(t).slice(1))
194
- };
195
- }
196
- //#endregion
197
- //#region src/components/data-table/DataTable.vue?vue&type=script&setup=true&lang.ts
198
- var oe = ["data-state", "aria-busy"], se = {
199
- key: 0,
200
- class: "data-table-state glass-quiet",
201
- role: "alert"
202
- }, ce = {
203
- key: 1,
204
- class: "data-table-cards"
205
- }, le = ["role", "aria-label"], ue = { class: "data-table-card-header" }, de = { class: "data-table-card-title" }, fe = {
206
- key: 0,
207
- class: "data-table-card-fields"
208
- }, pe = { class: "data-table-card-label" }, me = ["data-align"], he = {
209
- key: 3,
210
- class: "data-table-state glass-quiet"
211
- }, ge = ["data-align", "onClick"], _e = { "aria-hidden": "true" }, ve = { role: "alert" }, H = /* @__PURE__ */ p({
212
- __name: "DataTable",
213
- props: {
214
- columns: {},
215
- rows: {},
216
- status: { default: "ready" },
217
- filtered: {
218
- type: Boolean,
219
- default: !1
220
- },
221
- rowKey: { default: "_id" },
222
- getRowId: {},
223
- role: {},
224
- ariaLabel: {},
225
- ariaColCount: {},
226
- ariaRowCount: {},
227
- getRowAttrs: {},
228
- getRowIndex: {},
229
- rowRef: {},
230
- tabbableRowId: {},
231
- sort: {},
232
- selectable: {
233
- type: Boolean,
234
- default: !1
235
- },
236
- selectedRowId: {},
237
- responsive: {
238
- type: Boolean,
239
- default: !1
240
- },
241
- cardBreakpoint: { default: 640 },
242
- class: { type: [
243
- Boolean,
244
- null,
245
- String,
246
- Object,
247
- Array
248
- ] }
249
- },
250
- emits: [
251
- "update:sort",
252
- "update:selectedRowId",
253
- "update:tabbableRowId",
254
- "select"
255
- ],
256
- setup(t, { emit: r }) {
257
- let p = t, m = r, C = re(), T = o(() => !!C["row-actions"]), O = o(() => p.role ?? (p.selectable || p.tabbableRowId !== void 0 ? "grid" : void 0)), k = o(() => p.ariaColCount ?? p.columns.length + +!!T.value), I = o(() => p.ariaRowCount ?? (O.value ? p.rows.length + 1 : void 0)), z = o(() => p.status === "error" ? "error" : p.status === "loading" && p.rows.length === 0 ? "loading" : p.rows.length === 0 ? p.filtered ? "filtered-empty" : "empty" : p.status), B = v(null), V = v(0);
258
- n(B, (e) => {
259
- V.value = e.width;
260
- });
261
- let { isCard: H, headerColumn: U, bodyColumns: W } = ae({
262
- columns: () => p.columns,
263
- responsive: () => p.responsive,
264
- cardBreakpoint: () => p.cardBreakpoint,
265
- containerWidth: V
266
- }), { rowEntries: G } = ie({
267
- rows: () => p.rows,
268
- rowKey: () => p.rowKey,
269
- getRowId: o(() => p.getRowId)
270
- }), K = /* @__PURE__ */ new Map();
271
- function q(e, t, n) {
272
- let r = n, i = n instanceof HTMLElement ? n : r?.$el, a = i instanceof HTMLElement ? i : null;
273
- a ? K.set(e.key, a) : K.delete(e.key), p.rowRef?.(a, e.row, t);
274
- }
275
- let J = null;
276
- te(() => {
277
- J = Array.from(K).find(([, e]) => e === document.activeElement)?.[0] ?? null;
278
- }), ne(() => {
279
- J !== null && K.get(J)?.focus(), J = null;
280
- });
281
- let Y = Array.from({ length: 5 }, (e, t) => t);
282
- function X(e, t) {
283
- return t.split(".").reduce((e, t) => {
284
- if (!(typeof e != "object" || !e)) return e[t];
285
- }, e);
286
- }
287
- function Z(e, t) {
288
- let n = X(e, t.key);
289
- return t.formatter ? t.formatter(n, e) : n == null ? "—" : String(n);
290
- }
291
- function ye(e) {
292
- if (!e.sortable) return;
293
- let t = p.sort;
294
- t?.key === e.key ? m("update:sort", {
295
- key: e.key,
296
- direction: t.direction === "asc" ? "desc" : "asc"
297
- }) : m("update:sort", {
298
- key: e.key,
299
- direction: "asc"
300
- });
301
- }
302
- function be(e) {
303
- if (e.sortable) return p.sort?.key === e.key ? p.sort.direction === "asc" ? "ascending" : "descending" : "none";
304
- }
305
- function xe(e) {
306
- return e.sortable ? p.sort?.key === e.key ? p.sort.direction === "asc" ? " ↑" : " ↓" : " ↕" : "";
307
- }
308
- function Se(e) {
309
- return Object.is(p.selectedRowId, e.key);
310
- }
311
- function Q(e) {
312
- m("update:selectedRowId", e.key), m("update:tabbableRowId", e.key), m("select", e.row), K.get(e.key)?.focus({ preventScroll: !0 });
313
- }
314
- function Ce(e, t) {
315
- if (!(e.target instanceof Element)) return;
316
- let n = e.target.closest(i);
317
- (!n || n === e.currentTarget) && Q(t);
318
- }
319
- function we(e, t) {
320
- if (e.target !== e.currentTarget) return;
321
- if (["Enter", " "].includes(e.key)) {
322
- if (!p.selectable) return;
323
- e.preventDefault(), Q(t);
324
- return;
325
- }
326
- let n = e.key === "Home" ? 0 : e.key === "End" ? G.value.length - 1 : -1, r = e.key === "ArrowUp" ? -1 : +(e.key === "ArrowDown");
327
- if (n < 0 && r === 0) return;
328
- let i = G.value.findIndex(({ key: e }) => Object.is(e, t.key)), a = Math.max(0, Math.min(G.value.length - 1, n >= 0 ? n : i + r)), o = G.value[a];
329
- o && (e.preventDefault(), m("update:tabbableRowId", o.key), ee(() => K.get(o.key)?.focus({ preventScroll: !0 })));
330
- }
331
- let Te = o(() => p.tabbableRowId === void 0 ? p.selectable ? G.value.find(({ key: e }) => Object.is(e, p.selectedRowId))?.key ?? G.value[0]?.key ?? null : null : G.value.some(({ key: e }) => Object.is(e, p.tabbableRowId)) ? p.tabbableRowId : null);
332
- function Ee(e, t = !1) {
333
- if (!p.selectable) return {};
334
- let n = Se(e);
335
- return {
336
- class: "data-table-row-interactive",
337
- role: t ? "option" : void 0,
338
- "aria-selected": n,
339
- "data-state": n ? "selected" : void 0,
340
- onClick: (t) => Ce(t, e)
341
- };
342
- }
343
- function $(e, t, n = !1) {
344
- let r = { ...p.getRowAttrs?.(e.row, t) };
345
- n ? delete r["aria-rowindex"] : p.getRowIndex && (r["aria-rowindex"] = p.getRowIndex(e.row, t));
346
- let i = p.selectable || p.tabbableRowId !== void 0 ? {
347
- class: "focus-ring",
348
- tabindex: Object.is(Te.value, e.key) ? 0 : -1,
349
- onFocus: () => m("update:tabbableRowId", e.key),
350
- onKeydown: (t) => we(t, e)
351
- } : {};
352
- return h(r, Ee(e, n), i);
353
- }
354
- return (n, r) => (_(), l("div", {
355
- "data-slot": "data-table",
356
- ref_key: "rootRef",
357
- ref: B,
358
- class: g(w(e)("data-table", p.class)),
359
- "data-state": z.value,
360
- "aria-busy": t.status === "loading" || void 0
361
- }, [w(H) ? (_(), l(a, { key: 0 }, [t.status === "error" ? (_(), l("div", se, [b(n.$slots, "error", {}, () => [r[2] ||= d("Unable to load data", -1)])])) : t.status === "loading" && t.rows.length === 0 ? (_(), l("div", ce, [(_(!0), l(a, null, y(w(Y), (e) => (_(), l("div", {
362
- key: "skel-card-" + e,
363
- class: "data-table-card glass-quiet"
364
- }, [f(w(R), { class: "data-table-card-skeleton-title" }), f(w(R), { class: "h-3 w-3/4" })]))), 128))])) : t.rows.length > 0 ? (_(), l("div", {
365
- key: 2,
366
- class: "data-table-cards",
367
- role: t.selectable ? "listbox" : void 0,
368
- "aria-label": t.selectable ? t.ariaLabel ?? "Rows" : void 0
369
- }, [(_(!0), l(a, null, y(w(G), (t, i) => (_(), l("div", h({
370
- key: t.key,
371
- ref_for: !0,
372
- ref: (e) => q(t, i, e)
373
- }, { ref_for: !0 }, $(t, i, !0), { class: "data-table-card glass-quiet" }), [u("div", ue, [u("div", de, [w(U)?.component ? (_(), s(x(w(U).component), {
374
- key: 0,
375
- value: X(t.row, w(U).key),
376
- row: t.row
377
- }, null, 8, ["value", "row"])) : w(U) ? (_(), l(a, { key: 1 }, [d(S(Z(t.row, w(U))), 1)], 64)) : c("", !0)]), T.value ? (_(), l("div", {
378
- key: 0,
379
- class: "data-table-actions",
380
- onClick: r[0] ||= D(() => {}, ["stop"])
381
- }, [b(n.$slots, "row-actions", { row: t.row })])) : c("", !0)]), w(W).length > 0 ? (_(), l("dl", fe, [(_(!0), l(a, null, y(w(W), (n) => (_(), l(a, { key: n.key }, [u("dt", pe, S(n.label), 1), u("dd", {
382
- class: g(w(e)("data-table-card-value", n.class)),
383
- "data-align": n.align ?? "left"
384
- }, [n.component ? (_(), s(x(n.component), {
385
- key: 0,
386
- value: X(t.row, n.key),
387
- row: t.row
388
- }, null, 8, ["value", "row"])) : (_(), l(a, { key: 1 }, [d(S(Z(t.row, n)), 1)], 64))], 10, me)], 64))), 128))])) : c("", !0)], 16))), 128))], 8, le)) : (_(), l("div", he, [t.filtered ? b(n.$slots, "filtered-empty", {}, () => [r[3] ||= d("No matching rows", -1)], void 0, 0) : b(n.$slots, "empty", {}, () => [r[4] ||= d("No rows yet", -1)], void 0, 1)]))], 64)) : (_(), s(w(A), {
389
- key: 1,
390
- role: O.value,
391
- "aria-label": t.ariaLabel,
392
- "aria-col-count": k.value,
393
- "aria-row-count": I.value
394
- }, {
395
- default: E(() => [f(w(P), null, {
396
- default: E(() => [f(w(F), {
397
- class: "data-table-header-row",
398
- "aria-rowindex": O.value === "grid" ? 1 : void 0
399
- }, {
400
- default: E(() => [(_(!0), l(a, null, y(t.columns, (e) => (_(), s(w(N), {
401
- key: e.key,
402
- class: g(e.headerClass),
403
- "data-align": e.align ?? "left",
404
- "aria-sort": be(e)
405
- }, {
406
- default: E(() => [e.sortable ? (_(), l("button", {
407
- key: 0,
408
- type: "button",
409
- class: "data-table-sort focus-ring",
410
- "data-align": e.align ?? "left",
411
- onClick: (t) => ye(e)
412
- }, [u("span", null, S(e.label), 1), u("span", _e, S(xe(e)), 1)], 8, ge)) : (_(), l(a, { key: 1 }, [d(S(e.label), 1)], 64))]),
413
- _: 2
414
- }, 1032, [
415
- "class",
416
- "data-align",
417
- "aria-sort"
418
- ]))), 128)), T.value ? (_(), s(w(N), {
419
- key: 0,
420
- class: "data-table-actions-cell"
421
- })) : c("", !0)]),
422
- _: 1
423
- }, 8, ["aria-rowindex"])]),
424
- _: 1
425
- }), f(w(j), null, {
426
- default: E(() => [t.status === "error" ? (_(), s(w(L), {
427
- key: 0,
428
- colspan: t.columns.length + +!!T.value,
429
- role: O.value === "grid" ? "presentation" : void 0
430
- }, {
431
- default: E(() => [u("span", ve, [b(n.$slots, "error", {}, () => [r[5] ||= d("Unable to load data", -1)])])]),
432
- _: 3
433
- }, 8, ["colspan", "role"])) : t.status === "loading" && t.rows.length === 0 ? (_(!0), l(a, { key: 1 }, y(w(Y), (e) => (_(), s(w(F), { key: "skel-" + e }, {
434
- default: E(() => [(_(!0), l(a, null, y(t.columns, (e) => (_(), s(w(M), {
435
- key: e.key,
436
- "data-align": e.align ?? "left"
437
- }, {
438
- default: E(() => [f(w(R), { class: "data-table-cell-skeleton" })]),
439
- _: 1
440
- }, 8, ["data-align"]))), 128)), T.value ? (_(), s(w(M), {
441
- key: 0,
442
- class: "data-table-actions-cell"
443
- }, {
444
- default: E(() => [f(w(R), { class: "data-table-action-skeleton" })]),
445
- _: 1
446
- })) : c("", !0)]),
447
- _: 1
448
- }))), 128)) : t.rows.length > 0 ? (_(!0), l(a, { key: 2 }, y(w(G), (e, i) => (_(), s(w(F), h({
449
- key: e.key,
450
- ref_for: !0,
451
- ref: (t) => q(e, i, t)
452
- }, { ref_for: !0 }, $(e, i)), {
453
- default: E(() => [(_(!0), l(a, null, y(t.columns, (t) => (_(), s(w(M), {
454
- key: t.key,
455
- class: g(t.class),
456
- "data-align": t.align ?? "left"
457
- }, {
458
- default: E(() => [t.component ? (_(), s(x(t.component), {
459
- key: 0,
460
- value: X(e.row, t.key),
461
- row: e.row
462
- }, null, 8, ["value", "row"])) : (_(), l(a, { key: 1 }, [d(S(Z(e.row, t)), 1)], 64))]),
463
- _: 2
464
- }, 1032, ["class", "data-align"]))), 128)), T.value ? (_(), s(w(M), {
465
- key: 0,
466
- class: "data-table-actions-cell",
467
- onClick: r[1] ||= D(() => {}, ["stop"])
468
- }, {
469
- default: E(() => [b(n.$slots, "row-actions", { row: e.row })]),
470
- _: 2
471
- }, 1024)) : c("", !0)]),
472
- _: 2
473
- }, 1040))), 128)) : (_(), s(w(L), {
474
- key: 3,
475
- colspan: t.columns.length + +!!T.value,
476
- role: O.value === "grid" ? "presentation" : void 0
477
- }, {
478
- default: E(() => [t.filtered ? b(n.$slots, "filtered-empty", {}, () => [r[6] ||= d("No matching rows", -1)], void 0, 0) : b(n.$slots, "empty", {}, () => [r[7] ||= d("No rows yet", -1)], void 0, 1)]),
479
- _: 3
480
- }, 8, ["colspan", "role"]))]),
481
- _: 3
482
- })]),
483
- _: 3
484
- }, 8, [
485
- "role",
486
- "aria-label",
487
- "aria-col-count",
488
- "aria-row-count"
489
- ])), b(n.$slots, "sentinel")], 10, oe));
490
- }
491
- });
492
- //#endregion
493
- export { P as a, j as c, F as i, A as l, R as n, N as o, L as r, M as s, H as t };
@@ -1,42 +0,0 @@
1
- import { n as e } from "./springPresets-Cbe0Voqg.js";
2
- import { n as t } from "./createContext-BhkE9mLH.js";
3
- import { computed as n, onScopeDispose as r, ref as i, toValue as a, watch as o } from "vue";
4
- //#region src/components/dock/constants.ts
5
- var s = {
6
- response: e("dock").response,
7
- dampingFraction: e("dock").dampingFraction
8
- }, c = "[data-dismissable-layer]:not([data-state=\"closed\"])", l = "glass-ui:dock-context", u = "glass-ui:dock-layer-group", d = 3600, f = t(l, "[glass-ui:dock] useDockContext() called outside <GlassDock>; use useOptionalDockContext() if the primitive may render outside a dock."), { KEY: p } = f;
9
- function m(e) {
10
- f.provide(e);
11
- }
12
- var h = f.use, g = f.useOptional;
13
- //#endregion
14
- //#region src/components/_shared/overlay/participation.ts
15
- function _(e, t) {
16
- let n = i(!1);
17
- function a() {
18
- n.value || (n.value = !0, e()?.keepOpen(t));
19
- }
20
- function o() {
21
- n.value && (n.value = !1, e()?.release(t));
22
- }
23
- return r(o), {
24
- isHeld: n,
25
- acquire: a,
26
- release: o
27
- };
28
- }
29
- function v(e) {
30
- let t = g(), r = _(() => t, e?.kind), i = n(() => t?.id ? {
31
- "data-glass-dock-portal": "",
32
- "data-glass-dock-owner": t.id
33
- } : {});
34
- return e?.hold !== void 0 && o(() => a(e.hold), (e) => e ? r.acquire() : r.release(), { immediate: !0 }), {
35
- portalAttrs: i,
36
- isHeld: r.isHeld,
37
- hold: r.acquire,
38
- release: r.release
39
- };
40
- }
41
- //#endregion
42
- export { h as a, u as c, m as i, s as l, _ as n, g as o, p as r, d as s, v as t, c as u };