@floegence/floe-webapp-core 0.11.4 → 0.11.5
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/components/file-browser/types.d.ts +6 -0
- package/dist/hooks/useVirtualWindow.d.ts +29 -0
- package/dist/index105.js +62 -49
- package/dist/index11.js +121 -80
- package/dist/index120.js +405 -37
- package/dist/index121.js +17 -407
- package/dist/index122.js +39 -17
- package/dist/index123.js +31 -1111
- package/dist/index124.js +1111 -30
- package/dist/index125.js +29 -130
- package/dist/index126.js +134 -0
- package/dist/index14.js +70 -58
- package/dist/index29.js +1 -1
- package/dist/index30.js +1 -1
- package/dist/index34.js +1 -1
- package/dist/index44.js +56 -59
- package/dist/index45.js +242 -182
- package/dist/index46.js +1 -1
- package/dist/index47.js +230 -227
- package/dist/index48.js +100 -99
- package/dist/index65.js +1 -1
- package/dist/index67.js +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
|
@@ -160,9 +160,15 @@ export interface FileBrowserContextValue {
|
|
|
160
160
|
currentFiles: Accessor<FileItem[]>;
|
|
161
161
|
filterQuery: Accessor<string>;
|
|
162
162
|
setFilterQuery: (query: string) => void;
|
|
163
|
+
/** Query that is actually applied to the list (may lag behind filterQuery for UI-first rendering) */
|
|
164
|
+
filterQueryApplied: Accessor<string>;
|
|
163
165
|
isFilterActive: Accessor<boolean>;
|
|
164
166
|
setFilterActive: (active: boolean) => void;
|
|
165
167
|
getFilterMatch: (name: string) => FilterMatchInfo | null;
|
|
168
|
+
/** Fast path: match info by file id (no repeated fuzzy matching) */
|
|
169
|
+
getFilterMatchForId: (id: string) => FilterMatchInfo | null;
|
|
170
|
+
/** Selected items in the current view, ordered by currentFiles order */
|
|
171
|
+
getSelectedItemsList: () => FileItem[];
|
|
166
172
|
sidebarCollapsed: Accessor<boolean>;
|
|
167
173
|
toggleSidebar: () => void;
|
|
168
174
|
sidebarWidth: Accessor<number>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Accessor } from 'solid-js';
|
|
2
|
+
export interface VirtualRange {
|
|
3
|
+
start: number;
|
|
4
|
+
end: number;
|
|
5
|
+
}
|
|
6
|
+
export interface UseVirtualWindowOptions {
|
|
7
|
+
count: Accessor<number>;
|
|
8
|
+
/** Fixed item size in pixels */
|
|
9
|
+
itemSize: Accessor<number>;
|
|
10
|
+
/** Extra items to render before/after the visible window */
|
|
11
|
+
overscan?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface UseVirtualWindowReturn {
|
|
14
|
+
/** Attach to the scroll container element */
|
|
15
|
+
scrollRef: (el: HTMLElement | null) => void;
|
|
16
|
+
/** Call this from the scroll container's onScroll handler */
|
|
17
|
+
onScroll: () => void;
|
|
18
|
+
range: Accessor<VirtualRange>;
|
|
19
|
+
paddingTop: Accessor<number>;
|
|
20
|
+
paddingBottom: Accessor<number>;
|
|
21
|
+
totalSize: Accessor<number>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Lightweight fixed-size virtual window.
|
|
25
|
+
*
|
|
26
|
+
* Unlike the chat virtual list (variable-height), this keeps O(1) math per scroll update and
|
|
27
|
+
* is intended for very large collections (e.g. 10k items in FileBrowser).
|
|
28
|
+
*/
|
|
29
|
+
export declare function useVirtualWindow(options: UseVirtualWindowOptions): UseVirtualWindowReturn;
|
package/dist/index105.js
CHANGED
|
@@ -1,64 +1,77 @@
|
|
|
1
|
-
import { createEffect as
|
|
2
|
-
import { useDeck as
|
|
3
|
-
import { applyDragDelta as
|
|
4
|
-
import { getGridConfigFromElement as
|
|
5
|
-
import { lockBodyStyle as
|
|
6
|
-
function
|
|
7
|
-
const
|
|
8
|
-
let
|
|
9
|
-
const
|
|
1
|
+
import { createEffect as B, onCleanup as G } from "solid-js";
|
|
2
|
+
import { useDeck as z } from "./index97.js";
|
|
3
|
+
import { applyDragDelta as R } from "./index112.js";
|
|
4
|
+
import { getGridConfigFromElement as N } from "./index11.js";
|
|
5
|
+
import { lockBodyStyle as O } from "./index109.js";
|
|
6
|
+
function V() {
|
|
7
|
+
const p = z();
|
|
8
|
+
let c = null, m = 0, f = 0, L = 0, g = 0, l = 0, P = 0, A = 0, F = 0, a = null, v = null, T = null, y = null, n = null, I = 0, k = 0, w = null;
|
|
9
|
+
const M = (t) => {
|
|
10
10
|
if (!t) {
|
|
11
|
-
|
|
11
|
+
y?.(), y = null;
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (
|
|
22
|
-
const i =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const w = window.getComputedStyle(d);
|
|
30
|
-
P = parseFloat(w.paddingLeft) || 0, I = parseFloat(w.paddingRight) || 0, l.startDrag(i, u, s), e.setPointerCapture(t.pointerId);
|
|
31
|
-
}, C = (t) => {
|
|
32
|
-
if (!(n !== t.pointerId || !c) && (y = t.clientX, D = t.clientY, r === null)) {
|
|
33
|
-
if (typeof requestAnimationFrame > "u") {
|
|
34
|
-
H();
|
|
14
|
+
y?.(), y = O({ cursor: "grabbing", "user-select": "none" });
|
|
15
|
+
}, C = () => {
|
|
16
|
+
c !== null && (a !== null && typeof cancelAnimationFrame < "u" && (cancelAnimationFrame(a), a = null), c = null, v = null, T = null, n = null, w = null, M(!1), p.endDrag(!0));
|
|
17
|
+
}, X = () => {
|
|
18
|
+
if (!n) return;
|
|
19
|
+
const t = n.getBoundingClientRect(), e = 48, d = 24, s = l - t.top, o = t.bottom - l;
|
|
20
|
+
let r = 0;
|
|
21
|
+
if (s < e ? r = -Math.ceil((e - s) / e * d) : o < e && (r = Math.ceil((e - o) / e * d)), r === 0) return;
|
|
22
|
+
const i = n.scrollTop, h = Math.max(0, Math.min(i + r, n.scrollHeight - n.clientHeight));
|
|
23
|
+
h !== i && (n.scrollTop = h);
|
|
24
|
+
}, Y = () => {
|
|
25
|
+
if (a !== null || typeof requestAnimationFrame > "u") return;
|
|
26
|
+
const t = () => {
|
|
27
|
+
if (c === null) {
|
|
28
|
+
a = null;
|
|
35
29
|
return;
|
|
36
30
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (
|
|
43
|
-
const
|
|
44
|
-
if (!
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (
|
|
31
|
+
x(), a = requestAnimationFrame(t);
|
|
32
|
+
};
|
|
33
|
+
a = requestAnimationFrame(t);
|
|
34
|
+
}, H = (t) => {
|
|
35
|
+
const e = t.target;
|
|
36
|
+
if (e.closest('button, input, select, textarea, [role="button"], a') || e.closest("[data-widget-resize-handle]")) return;
|
|
37
|
+
const o = e.closest("[data-widget-drag-handle]");
|
|
38
|
+
if (!o || t.pointerType === "mouse" && t.button !== 0) return;
|
|
39
|
+
const r = o.dataset.widgetDragHandle;
|
|
40
|
+
if (!r) return;
|
|
41
|
+
const i = o.closest(".deck-grid");
|
|
42
|
+
if (!i) return;
|
|
43
|
+
t.preventDefault(), t.stopPropagation(), c = t.pointerId, m = t.clientX, f = t.clientY, g = m, l = f, P = m, A = f, v = r, T = o, n = i, L = i.scrollTop, F = L, M(!0);
|
|
44
|
+
const u = p.activeLayout()?.widgets.find((b) => b.id === r);
|
|
45
|
+
w = u ? { ...u.position } : null;
|
|
46
|
+
const E = window.getComputedStyle(i);
|
|
47
|
+
I = parseFloat(E.paddingLeft) || 0, k = parseFloat(E.paddingRight) || 0, p.startDrag(r, m, f), o.setPointerCapture(t.pointerId), Y();
|
|
48
|
+
}, S = (t) => {
|
|
49
|
+
c !== t.pointerId || !v || (g = t.clientX, l = t.clientY, typeof requestAnimationFrame > "u" && x());
|
|
50
|
+
}, x = () => {
|
|
51
|
+
if (!v || !n || !w) return;
|
|
52
|
+
X();
|
|
53
|
+
const t = n.scrollTop;
|
|
54
|
+
if (g === P && l === A && t === F) return;
|
|
55
|
+
P = g, A = l, F = t;
|
|
56
|
+
const e = g - m, d = l - f + (t - L), { cols: s, rowHeight: o, gap: r } = N(n), i = n.clientWidth - I - k, h = r * (s - 1), u = (i - h) / s;
|
|
57
|
+
if (!Number.isFinite(u) || u <= 0) return;
|
|
58
|
+
const E = o + r, b = Math.round(e / u), W = Math.round(d / E), q = R(w, b, W, s);
|
|
59
|
+
p.updateDrag(q, { x: e, y: d });
|
|
60
|
+
}, D = (t) => {
|
|
61
|
+
if (c === t.pointerId) {
|
|
49
62
|
try {
|
|
50
|
-
|
|
63
|
+
T?.releasePointerCapture(t.pointerId);
|
|
51
64
|
} catch {
|
|
52
65
|
}
|
|
53
|
-
|
|
66
|
+
C();
|
|
54
67
|
}
|
|
55
68
|
};
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
69
|
+
B(() => {
|
|
70
|
+
p.editMode() && (typeof document > "u" || (document.addEventListener("pointerdown", H, !0), document.addEventListener("pointermove", S, !0), document.addEventListener("pointerup", D, !0), document.addEventListener("pointercancel", D, !0), G(() => {
|
|
71
|
+
C(), document.removeEventListener("pointerdown", H, !0), document.removeEventListener("pointermove", S, !0), document.removeEventListener("pointerup", D, !0), document.removeEventListener("pointercancel", D, !0);
|
|
59
72
|
})));
|
|
60
73
|
});
|
|
61
74
|
}
|
|
62
75
|
export {
|
|
63
|
-
|
|
76
|
+
V as useDeckDrag
|
|
64
77
|
};
|
package/dist/index11.js
CHANGED
|
@@ -1,67 +1,108 @@
|
|
|
1
|
-
import { insert as
|
|
2
|
-
import { createSignal as
|
|
3
|
-
import { cn as
|
|
4
|
-
import { useDeck as
|
|
5
|
-
import { useLayout as
|
|
6
|
-
import { hasCollision as
|
|
7
|
-
import { DeckCell as
|
|
8
|
-
import { DropZonePreview as
|
|
9
|
-
var
|
|
10
|
-
const
|
|
1
|
+
import { insert as w, createComponent as m, effect as z, setStyleProperty as v, className as L, setAttribute as _, template as C, use as A } from "solid-js/web";
|
|
2
|
+
import { createSignal as N, createEffect as T, createMemo as s, onMount as j, Show as D, For as V, onCleanup as W } from "solid-js";
|
|
3
|
+
import { cn as Z } from "./index106.js";
|
|
4
|
+
import { useDeck as $ } from "./index97.js";
|
|
5
|
+
import { useLayout as K } from "./index92.js";
|
|
6
|
+
import { hasCollision as U } from "./index111.js";
|
|
7
|
+
import { DeckCell as q } from "./index12.js";
|
|
8
|
+
import { DropZonePreview as B } from "./index19.js";
|
|
9
|
+
var J = /* @__PURE__ */ C('<div class="pointer-events-none z-0"style="grid-column:1 / -1;--deck-grid-unit-x:calc((100% - 92px) / 24 + 4px);background-position:0 0, 0 0, 0 0, 0 0, 0 0, 0 0">'), Q = /* @__PURE__ */ C('<div data-grid-cols=24 data-gap=4 data-default-rows=24 style="scrollbar-gutter:stable;grid-template-columns:repeat(24, 1fr);gap:4px"><div class=pointer-events-none aria-hidden=true style="grid-column:1 / -1">');
|
|
10
|
+
const O = 24, a = 24, x = 4, b = 20, P = 4, X = {
|
|
11
11
|
x: 0,
|
|
12
12
|
y: 0
|
|
13
13
|
};
|
|
14
|
-
function
|
|
15
|
-
const
|
|
16
|
-
let
|
|
17
|
-
const [
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
function st(d) {
|
|
15
|
+
const c = $(), M = K();
|
|
16
|
+
let p;
|
|
17
|
+
const [y, I] = N(0), H = () => c.activeLayout()?.widgets ?? [], f = () => c.dragState(), k = () => c.resizeState();
|
|
18
|
+
T(() => {
|
|
19
|
+
M.isMobile() && c.editMode() && c.setEditMode(!1);
|
|
20
20
|
});
|
|
21
21
|
const G = s(() => {
|
|
22
|
-
const
|
|
23
|
-
if (!
|
|
24
|
-
const
|
|
25
|
-
return
|
|
26
|
-
}),
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
let
|
|
30
|
-
for (const
|
|
31
|
-
const t =
|
|
22
|
+
const r = f();
|
|
23
|
+
if (!r) return !0;
|
|
24
|
+
const e = c.activeLayout();
|
|
25
|
+
return e ? !U(r.currentPosition, e.widgets, r.widgetId) : !0;
|
|
26
|
+
}), F = s(() => {
|
|
27
|
+
const r = H();
|
|
28
|
+
if (r.length === 0) return a;
|
|
29
|
+
let e = a;
|
|
30
|
+
for (const i of r) {
|
|
31
|
+
const t = i.position.row + i.position.rowSpan;
|
|
32
|
+
t > e && (e = t);
|
|
33
|
+
}
|
|
34
|
+
return e;
|
|
35
|
+
}), S = s(() => {
|
|
36
|
+
let r = F();
|
|
37
|
+
const e = f();
|
|
38
|
+
if (e) {
|
|
39
|
+
const t = e.currentPosition.row + e.currentPosition.rowSpan;
|
|
40
|
+
t > r && (r = t);
|
|
41
|
+
}
|
|
42
|
+
const i = k();
|
|
43
|
+
if (i) {
|
|
44
|
+
const t = i.currentPosition.row + i.currentPosition.rowSpan;
|
|
32
45
|
t > r && (r = t);
|
|
33
46
|
}
|
|
34
|
-
return r;
|
|
35
|
-
}),
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
38
|
-
const
|
|
39
|
-
return Math.max(
|
|
47
|
+
return Math.max(a, r);
|
|
48
|
+
}), h = s(() => {
|
|
49
|
+
const r = y();
|
|
50
|
+
if (r <= 0) return b;
|
|
51
|
+
const i = (r - P * 2 - (a - 1) * x) / a;
|
|
52
|
+
return Math.max(b, i);
|
|
40
53
|
});
|
|
41
|
-
|
|
42
|
-
if (!
|
|
43
|
-
const
|
|
44
|
-
for (const
|
|
45
|
-
|
|
54
|
+
j(() => {
|
|
55
|
+
if (!p || typeof ResizeObserver > "u") return;
|
|
56
|
+
const r = new ResizeObserver((e) => {
|
|
57
|
+
for (const i of e)
|
|
58
|
+
I(i.contentRect.height);
|
|
46
59
|
});
|
|
47
|
-
|
|
60
|
+
r.observe(p), I(p.clientHeight), W(() => r.disconnect());
|
|
48
61
|
});
|
|
49
|
-
const
|
|
62
|
+
const E = s(() => S() > a ? !0 : y() <= 0 ? !1 : a * h() + (a - 1) * x + P * 2 > y() + 1);
|
|
50
63
|
return (() => {
|
|
51
|
-
var
|
|
52
|
-
return typeof
|
|
64
|
+
var r = Q(), e = r.firstChild, i = p;
|
|
65
|
+
return typeof i == "function" ? A(i, r) : p = r, w(r, m(D, {
|
|
53
66
|
get when() {
|
|
54
|
-
return
|
|
67
|
+
return c.editMode();
|
|
55
68
|
},
|
|
56
69
|
get children() {
|
|
57
|
-
var t =
|
|
58
|
-
return
|
|
70
|
+
var t = J();
|
|
71
|
+
return z((n) => {
|
|
72
|
+
var l = `1 / ${S() + 1}`, g = `${h() + x}px`, u = [
|
|
73
|
+
// Fine
|
|
74
|
+
"linear-gradient(to right, color-mix(in srgb, var(--border) 35%, transparent) 1px, transparent 1px)",
|
|
75
|
+
"linear-gradient(to bottom, color-mix(in srgb, var(--border) 35%, transparent) 1px, transparent 1px)",
|
|
76
|
+
// Major (6)
|
|
77
|
+
"linear-gradient(to right, color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px)",
|
|
78
|
+
"linear-gradient(to bottom, color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px)",
|
|
79
|
+
// Major (12)
|
|
80
|
+
"linear-gradient(to right, color-mix(in srgb, var(--border) 75%, transparent) 2px, transparent 2px)",
|
|
81
|
+
"linear-gradient(to bottom, color-mix(in srgb, var(--border) 75%, transparent) 2px, transparent 2px)"
|
|
82
|
+
].join(", "), o = [
|
|
83
|
+
// Fine
|
|
84
|
+
"var(--deck-grid-unit-x) var(--deck-grid-unit-y)",
|
|
85
|
+
"var(--deck-grid-unit-x) var(--deck-grid-unit-y)",
|
|
86
|
+
// Major (6)
|
|
87
|
+
"calc(var(--deck-grid-unit-x) * 6) calc(var(--deck-grid-unit-y) * 6)",
|
|
88
|
+
"calc(var(--deck-grid-unit-x) * 6) calc(var(--deck-grid-unit-y) * 6)",
|
|
89
|
+
// Major (12)
|
|
90
|
+
"calc(var(--deck-grid-unit-x) * 12) calc(var(--deck-grid-unit-y) * 12)",
|
|
91
|
+
"calc(var(--deck-grid-unit-x) * 12) calc(var(--deck-grid-unit-y) * 12)"
|
|
92
|
+
].join(", ");
|
|
93
|
+
return l !== n.e && v(t, "grid-row", n.e = l), g !== n.t && v(t, "--deck-grid-unit-y", n.t = g), u !== n.a && v(t, "background-image", n.a = u), o !== n.o && v(t, "background-size", n.o = o), n;
|
|
94
|
+
}, {
|
|
95
|
+
e: void 0,
|
|
96
|
+
t: void 0,
|
|
97
|
+
a: void 0,
|
|
98
|
+
o: void 0
|
|
99
|
+
}), t;
|
|
59
100
|
}
|
|
60
|
-
}), null),
|
|
101
|
+
}), null), w(r, m(D, {
|
|
61
102
|
get when() {
|
|
62
|
-
return
|
|
103
|
+
return f();
|
|
63
104
|
},
|
|
64
|
-
children: (t) =>
|
|
105
|
+
children: (t) => m(B, {
|
|
65
106
|
get position() {
|
|
66
107
|
return t().currentPosition;
|
|
67
108
|
},
|
|
@@ -69,72 +110,72 @@ function at(a) {
|
|
|
69
110
|
return G();
|
|
70
111
|
}
|
|
71
112
|
})
|
|
72
|
-
}), null),
|
|
113
|
+
}), null), w(r, m(V, {
|
|
73
114
|
get each() {
|
|
74
|
-
return
|
|
115
|
+
return H();
|
|
75
116
|
},
|
|
76
117
|
children: (t) => {
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
if (
|
|
118
|
+
const n = s(() => {
|
|
119
|
+
const o = f();
|
|
120
|
+
if (o && o.widgetId === t.id)
|
|
80
121
|
return t.position;
|
|
81
|
-
const
|
|
82
|
-
return
|
|
83
|
-
}),
|
|
84
|
-
const
|
|
85
|
-
return
|
|
122
|
+
const R = k();
|
|
123
|
+
return R && R.widgetId === t.id ? R.currentPosition : t.position;
|
|
124
|
+
}), l = s(() => f()?.widgetId === t.id), g = s(() => k()?.widgetId === t.id), u = s(() => {
|
|
125
|
+
const o = f();
|
|
126
|
+
return o && o.widgetId === t.id ? o.pixelOffset : X;
|
|
86
127
|
});
|
|
87
|
-
return
|
|
128
|
+
return m(q, {
|
|
88
129
|
widget: t,
|
|
89
130
|
get position() {
|
|
90
|
-
return
|
|
131
|
+
return n();
|
|
91
132
|
},
|
|
92
133
|
get isDragging() {
|
|
93
|
-
return
|
|
134
|
+
return l();
|
|
94
135
|
},
|
|
95
136
|
get isResizing() {
|
|
96
|
-
return
|
|
137
|
+
return g();
|
|
97
138
|
},
|
|
98
139
|
get pixelOffset() {
|
|
99
|
-
return
|
|
140
|
+
return u();
|
|
100
141
|
}
|
|
101
142
|
});
|
|
102
143
|
}
|
|
103
|
-
}), null),
|
|
104
|
-
var
|
|
144
|
+
}), null), w(r, () => d.children, null), z((t) => {
|
|
145
|
+
var n = Z(
|
|
105
146
|
"deck-grid relative w-full h-full overflow-x-hidden",
|
|
106
147
|
// Only enable vertical scroll when content exceeds 24 rows
|
|
107
|
-
|
|
148
|
+
E() ? "overflow-y-scroll" : "overflow-y-hidden",
|
|
108
149
|
"grid p-1",
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
),
|
|
112
|
-
return
|
|
150
|
+
c.editMode() && "bg-muted/20",
|
|
151
|
+
d.class
|
|
152
|
+
), l = `${h()}px`, g = h(), u = `1 / ${S() + 1}`;
|
|
153
|
+
return n !== t.e && L(r, t.e = n), l !== t.t && v(r, "grid-auto-rows", t.t = l), g !== t.a && _(r, "data-row-height", t.a = g), u !== t.o && v(e, "grid-row", t.o = u), t;
|
|
113
154
|
}, {
|
|
114
155
|
e: void 0,
|
|
115
156
|
t: void 0,
|
|
116
157
|
a: void 0,
|
|
117
158
|
o: void 0
|
|
118
|
-
}),
|
|
159
|
+
}), r;
|
|
119
160
|
})();
|
|
120
161
|
}
|
|
121
162
|
const ct = {
|
|
122
|
-
cols:
|
|
123
|
-
defaultRows:
|
|
124
|
-
gap:
|
|
163
|
+
cols: O,
|
|
164
|
+
defaultRows: a,
|
|
165
|
+
gap: x,
|
|
125
166
|
// Deprecated: use getGridConfig() or read from data-row-height attribute instead
|
|
126
|
-
rowHeight:
|
|
167
|
+
rowHeight: b
|
|
127
168
|
};
|
|
128
|
-
function dt(
|
|
169
|
+
function dt(d) {
|
|
129
170
|
return {
|
|
130
|
-
cols: parseInt(
|
|
131
|
-
rowHeight: parseFloat(
|
|
132
|
-
gap: parseInt(
|
|
133
|
-
defaultRows: parseInt(
|
|
171
|
+
cols: parseInt(d.dataset.gridCols || String(O), 10),
|
|
172
|
+
rowHeight: parseFloat(d.dataset.rowHeight || String(b)),
|
|
173
|
+
gap: parseInt(d.dataset.gap || String(x), 10),
|
|
174
|
+
defaultRows: parseInt(d.dataset.defaultRows || String(a), 10)
|
|
134
175
|
};
|
|
135
176
|
}
|
|
136
177
|
export {
|
|
137
178
|
ct as DECK_GRID_CONFIG,
|
|
138
|
-
|
|
179
|
+
st as DeckGrid,
|
|
139
180
|
dt as getGridConfigFromElement
|
|
140
181
|
};
|