poe-svelte-ui-lib 1.33.0 → 1.33.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/Table/Table.svelte +18 -10
- package/package.json +1 -1
package/dist/Table/Table.svelte
CHANGED
|
@@ -42,7 +42,14 @@
|
|
|
42
42
|
let gridTemplate = $derived(
|
|
43
43
|
[...(header || []).filter((c) => c.width !== "0%").map((c) => c.width || "minmax(0, 1fr)"), ...(dataBuffer.clearButton ? [ACTIONS_COLUMN] : [])].join(" "),
|
|
44
44
|
)
|
|
45
|
-
|
|
45
|
+
/* Фактическая ширина полосы прокрутки тела, на неё сдвигается шапка (0 для оверлейных полос) */
|
|
46
|
+
let scrollbarWidth = $state(0)
|
|
47
|
+
const measureScrollbar = () => (scrollbarWidth = container ? container.offsetWidth - container.clientWidth : 0)
|
|
48
|
+
|
|
49
|
+
$effect(() => {
|
|
50
|
+
void [body, buffer.length, tableHeight]
|
|
51
|
+
tick().then(measureScrollbar)
|
|
52
|
+
})
|
|
46
53
|
let tableHeight = $state(0)
|
|
47
54
|
let modalData: { isOpen: boolean; rawData?: string; formattedData?: string } = $state({ isOpen: false, rawData: "", formattedData: "" })
|
|
48
55
|
|
|
@@ -188,8 +195,14 @@
|
|
|
188
195
|
}
|
|
189
196
|
|
|
190
197
|
$effect(() => {
|
|
191
|
-
|
|
192
|
-
|
|
198
|
+
if (!container) return () => (buffer = [])
|
|
199
|
+
const observer = new ResizeObserver(measureScrollbar)
|
|
200
|
+
observer.observe(container)
|
|
201
|
+
if (container.firstElementChild) observer.observe(container.firstElementChild)
|
|
202
|
+
return () => {
|
|
203
|
+
observer.disconnect()
|
|
204
|
+
buffer = []
|
|
205
|
+
}
|
|
193
206
|
})
|
|
194
207
|
|
|
195
208
|
$effect(() => {
|
|
@@ -213,7 +226,6 @@
|
|
|
213
226
|
tableHeight = i == 0 ? 0 + rowHeight : tableHeight + rowHeight
|
|
214
227
|
}
|
|
215
228
|
}
|
|
216
|
-
isScrollable = container ? container.scrollHeight > container.clientHeight : false
|
|
217
229
|
}
|
|
218
230
|
})()
|
|
219
231
|
})
|
|
@@ -232,8 +244,6 @@
|
|
|
232
244
|
window.addEventListener("scroll", handlePageScroll, true)
|
|
233
245
|
window.addEventListener("resize", handlePageScroll, true)
|
|
234
246
|
|
|
235
|
-
isScrollable = container ? container.scrollHeight > container.clientHeight : false
|
|
236
|
-
|
|
237
247
|
return () => {
|
|
238
248
|
window.removeEventListener("scroll", handlePageScroll, true)
|
|
239
249
|
window.removeEventListener("resize", handlePageScroll, true)
|
|
@@ -249,10 +259,8 @@
|
|
|
249
259
|
<div class="relative flex h-full w-full flex-col overflow-hidden rounded-[14px] border border-(--hairline-color) bg-(--back-color)">
|
|
250
260
|
<!-- Table Header -->
|
|
251
261
|
<div
|
|
252
|
-
class="grid border-b border-(--hairline-color) bg-(--container-color) text-[11px] font-bold tracking-[0.06em] text-(--muted-color) uppercase
|
|
253
|
-
|
|
254
|
-
: ''}"
|
|
255
|
-
style={`grid-template-columns: ${gridTemplate};`}
|
|
262
|
+
class="grid border-b border-(--hairline-color) bg-(--container-color) text-[11px] font-bold tracking-[0.06em] text-(--muted-color) uppercase"
|
|
263
|
+
style={`grid-template-columns: ${gridTemplate}; padding-right: ${scrollbarWidth}px;`}
|
|
256
264
|
>
|
|
257
265
|
{#each header as column, index (column)}
|
|
258
266
|
{#if column.width !== "0%"}
|