@k2b/ui 0.29.0 → 0.30.0
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/README.md +1 -1
- package/dist/base.css +2 -2
- package/dist/browser/actions/Dropdown.js +6 -3
- package/dist/browser/actions/Dropdown.js.map +1 -1
- package/dist/browser/actions/FilterChip.js +137 -7
- package/dist/browser/actions/FilterChip.js.map +1 -1
- package/dist/browser/actions/SegmentedControl.js +5 -9
- package/dist/browser/actions/SegmentedControl.js.map +1 -1
- package/dist/browser/actions/SpotlightSearch.js +6 -3
- package/dist/browser/actions/SpotlightSearch.js.map +1 -1
- package/dist/browser/actions/Tabs.js +5 -2
- package/dist/browser/actions/Tabs.js.map +1 -1
- package/dist/browser/actions/ViewTabs.js +294 -0
- package/dist/browser/actions/ViewTabs.js.map +1 -0
- package/dist/browser/actions/filter-messages.js +6 -2
- package/dist/browser/actions/filter-messages.js.map +1 -1
- package/dist/browser/actions/index.js +2 -1
- package/dist/browser/actions/index.js.map +1 -1
- package/dist/browser/chat/ChatComposer.js +1108 -604
- package/dist/browser/chat/ChatComposer.js.map +1 -1
- package/dist/browser/chat/ChatDecision.js +120 -84
- package/dist/browser/chat/ChatDecision.js.map +1 -1
- package/dist/browser/chat/ChatPrimitives.js +292 -159
- package/dist/browser/chat/ChatPrimitives.js.map +1 -1
- package/dist/browser/chat/chat-messages.js +8 -0
- package/dist/browser/chat/chat-messages.js.map +1 -1
- package/dist/browser/chat/command-search.js +26 -15
- package/dist/browser/chat/command-search.js.map +1 -1
- package/dist/browser/chat/index.js +4 -2
- package/dist/browser/chat/index.js.map +1 -1
- package/dist/browser/content/Calendar.js +143 -116
- package/dist/browser/content/Calendar.js.map +1 -1
- package/dist/browser/content/CalendarWeekView.js +291 -266
- package/dist/browser/content/CalendarWeekView.js.map +1 -1
- package/dist/browser/content/DataTable.js +224 -155
- package/dist/browser/content/DataTable.js.map +1 -1
- package/dist/browser/content/data-table-messages.js +4 -2
- package/dist/browser/content/data-table-messages.js.map +1 -1
- package/dist/browser/feedback/MovedHint.js +197 -0
- package/dist/browser/feedback/MovedHint.js.map +1 -0
- package/dist/browser/feedback/dialog-core.js +66 -9
- package/dist/browser/feedback/dialog-core.js.map +1 -1
- package/dist/browser/feedback/index.js +1 -0
- package/dist/browser/feedback/index.js.map +1 -1
- package/dist/browser/feedback/prompts.js +6 -1
- package/dist/browser/feedback/prompts.js.map +1 -1
- package/dist/browser/inputs/DatePicker.js +337 -212
- package/dist/browser/inputs/DatePicker.js.map +1 -1
- package/dist/browser/inputs/date-picker.js +59 -5
- package/dist/browser/inputs/date-picker.js.map +1 -1
- package/dist/browser/intl/messages.js +12 -0
- package/dist/browser/intl/messages.js.map +1 -1
- package/dist/browser/intl/weekend.js +39 -0
- package/dist/browser/intl/weekend.js.map +1 -0
- package/dist/browser/layout/AppOverview.js +0 -1
- package/dist/browser/layout/AppOverview.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +688 -471
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/PageTitle.js +3 -2
- package/dist/browser/layout/PageTitle.js.map +1 -1
- package/dist/browser/layout/SettingsModal.js +2 -2
- package/dist/browser/layout/SettingsModal.js.map +1 -1
- package/dist/browser/layout/SidebarSwitcher.js +13 -12
- package/dist/browser/layout/SidebarSwitcher.js.map +1 -1
- package/dist/browser/layout/TabBar.js +1 -1
- package/dist/browser/layout/TabBar.js.map +1 -1
- package/dist/browser/layout/app-host-width.js +44 -0
- package/dist/browser/layout/app-host-width.js.map +1 -0
- package/dist/browser/layout/app-workspace-controller.js +219 -39
- package/dist/browser/layout/app-workspace-controller.js.map +1 -1
- package/dist/browser/layout/index.js +1 -0
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/surfaces/Placeholder.js +36 -13
- package/dist/browser/surfaces/Placeholder.js.map +1 -1
- package/dist/ssr/actions/Dropdown.js +5 -2
- package/dist/ssr/actions/Dropdown.js.map +1 -1
- package/dist/ssr/actions/FilterChip.js +59 -7
- package/dist/ssr/actions/FilterChip.js.map +1 -1
- package/dist/ssr/actions/SegmentedControl.js +1 -2
- package/dist/ssr/actions/SegmentedControl.js.map +1 -1
- package/dist/ssr/actions/SpotlightSearch.js +2 -2
- package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
- package/dist/ssr/actions/Tabs.js +2 -2
- package/dist/ssr/actions/Tabs.js.map +1 -1
- package/dist/ssr/actions/ViewTabs.js +211 -0
- package/dist/ssr/actions/ViewTabs.js.map +1 -0
- package/dist/ssr/actions/filter-messages.js +6 -2
- package/dist/ssr/actions/filter-messages.js.map +1 -1
- package/dist/ssr/actions/index.js +2 -1
- package/dist/ssr/actions/index.js.map +1 -1
- package/dist/ssr/chat/ChatComposer.js +546 -131
- package/dist/ssr/chat/ChatComposer.js.map +1 -1
- package/dist/ssr/chat/ChatDecision.js +33 -19
- package/dist/ssr/chat/ChatDecision.js.map +1 -1
- package/dist/ssr/chat/ChatPrimitives.js +95 -24
- package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
- package/dist/ssr/chat/chat-messages.js +8 -0
- package/dist/ssr/chat/chat-messages.js.map +1 -1
- package/dist/ssr/chat/command-search.js +26 -15
- package/dist/ssr/chat/command-search.js.map +1 -1
- package/dist/ssr/chat/index.js +4 -2
- package/dist/ssr/chat/index.js.map +1 -1
- package/dist/ssr/content/Calendar.js +109 -100
- package/dist/ssr/content/Calendar.js.map +1 -1
- package/dist/ssr/content/CalendarWeekView.js +42 -28
- package/dist/ssr/content/CalendarWeekView.js.map +1 -1
- package/dist/ssr/content/DataTable.js +78 -31
- package/dist/ssr/content/DataTable.js.map +1 -1
- package/dist/ssr/content/data-table-messages.js +4 -2
- package/dist/ssr/content/data-table-messages.js.map +1 -1
- package/dist/ssr/feedback/MovedHint.js +166 -0
- package/dist/ssr/feedback/MovedHint.js.map +1 -0
- package/dist/ssr/feedback/dialog-core.js +66 -9
- package/dist/ssr/feedback/dialog-core.js.map +1 -1
- package/dist/ssr/feedback/index.js +1 -0
- package/dist/ssr/feedback/index.js.map +1 -1
- package/dist/ssr/feedback/prompts.js +6 -1
- package/dist/ssr/feedback/prompts.js.map +1 -1
- package/dist/ssr/inputs/DatePicker.js +138 -69
- package/dist/ssr/inputs/DatePicker.js.map +1 -1
- package/dist/ssr/inputs/date-picker.js +59 -5
- package/dist/ssr/inputs/date-picker.js.map +1 -1
- package/dist/ssr/intl/messages.js +12 -0
- package/dist/ssr/intl/messages.js.map +1 -1
- package/dist/ssr/intl/weekend.js +39 -0
- package/dist/ssr/intl/weekend.js.map +1 -0
- package/dist/ssr/layout/AppOverview.js +0 -1
- package/dist/ssr/layout/AppOverview.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +203 -39
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/PageTitle.js +3 -2
- package/dist/ssr/layout/PageTitle.js.map +1 -1
- package/dist/ssr/layout/SettingsModal.js +2 -2
- package/dist/ssr/layout/SettingsModal.js.map +1 -1
- package/dist/ssr/layout/SidebarSwitcher.js +13 -12
- package/dist/ssr/layout/SidebarSwitcher.js.map +1 -1
- package/dist/ssr/layout/TabBar.js +1 -1
- package/dist/ssr/layout/TabBar.js.map +1 -1
- package/dist/ssr/layout/app-host-width.js +44 -0
- package/dist/ssr/layout/app-host-width.js.map +1 -0
- package/dist/ssr/layout/app-workspace-controller.js +219 -39
- package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
- package/dist/ssr/layout/index.js +1 -0
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/surfaces/Placeholder.js +24 -7
- package/dist/ssr/surfaces/Placeholder.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/Dropdown.d.ts +4 -0
- package/dist/types/actions/FilterChip.d.ts +22 -0
- package/dist/types/actions/ViewTabs.d.ts +30 -0
- package/dist/types/actions/filter-messages.d.ts +2 -0
- package/dist/types/actions/index.d.ts +4 -2
- package/dist/types/chat/ChatComposer.d.ts +52 -0
- package/dist/types/chat/ChatDecision.d.ts +18 -2
- package/dist/types/chat/ChatPrimitives.d.ts +10 -0
- package/dist/types/chat/chat-messages.d.ts +4 -0
- package/dist/types/chat/command-search.d.ts +2 -0
- package/dist/types/chat/index.d.ts +9 -8
- package/dist/types/content/DataTable.d.ts +3 -0
- package/dist/types/content/data-table-messages.d.ts +1 -0
- package/dist/types/feedback/MovedHint.d.ts +25 -0
- package/dist/types/feedback/dialog-core.d.ts +5 -2
- package/dist/types/feedback/index.d.ts +2 -0
- package/dist/types/feedback/prompts.d.ts +2 -0
- package/dist/types/inputs/DatePicker.d.ts +7 -0
- package/dist/types/inputs/date-picker.d.ts +25 -1
- package/dist/types/intl/messages.d.ts +6 -0
- package/dist/types/intl/weekend.d.ts +12 -0
- package/dist/types/layout/AppWorkspace.d.ts +43 -7
- package/dist/types/layout/app-host-width.d.ts +6 -0
- package/dist/types/layout/index.d.ts +2 -1
- package/dist/types/surfaces/Placeholder.d.ts +2 -1
- package/package.json +4 -4
|
@@ -17,21 +17,25 @@ var _tmpl$ = /*#__PURE__*/_$template(`<span class=k2b-data-table__header-title>`
|
|
|
17
17
|
_tmpl$4 = /*#__PURE__*/_$template(`<a class="k2b-data-table__header-content k2b-data-table__sort">`),
|
|
18
18
|
_tmpl$5 = /*#__PURE__*/_$template(`<button type=button class="k2b-data-table__header-content k2b-data-table__sort">`),
|
|
19
19
|
_tmpl$6 = /*#__PURE__*/_$template(`<div class=k2b-data-table__header-content>`),
|
|
20
|
-
_tmpl$7 = /*#__PURE__*/_$template(`<
|
|
21
|
-
_tmpl$8 = /*#__PURE__*/_$template(`<
|
|
22
|
-
_tmpl$9 = /*#__PURE__*/_$template(`<div
|
|
23
|
-
_tmpl$0 = /*#__PURE__*/_$template(`<
|
|
24
|
-
_tmpl$1 = /*#__PURE__*/_$template(`<
|
|
25
|
-
_tmpl$10 = /*#__PURE__*/_$template(`<tr>`),
|
|
26
|
-
_tmpl$11 = /*#__PURE__*/_$template(`<
|
|
27
|
-
_tmpl$12 = /*#__PURE__*/_$template(`<
|
|
28
|
-
_tmpl$13 = /*#__PURE__*/_$template(`<
|
|
29
|
-
_tmpl$14 = /*#__PURE__*/_$template(`<div
|
|
30
|
-
_tmpl$15 = /*#__PURE__*/_$template(`<
|
|
31
|
-
_tmpl$16 = /*#__PURE__*/_$template(`<
|
|
32
|
-
_tmpl$17 = /*#__PURE__*/_$template(`<
|
|
33
|
-
|
|
20
|
+
_tmpl$7 = /*#__PURE__*/_$template(`<caption class=k2b-sr-only>`),
|
|
21
|
+
_tmpl$8 = /*#__PURE__*/_$template(`<tr aria-hidden=true><td class=k2b-data-table__fill>`),
|
|
22
|
+
_tmpl$9 = /*#__PURE__*/_$template(`<div class=k2b-data-table__sentinel aria-hidden=true>`),
|
|
23
|
+
_tmpl$0 = /*#__PURE__*/_$template(`<div role=region tabindex=0><table><!$><!/><thead class=k2b-data-table__head><tr class=k2b-data-table__head-row></tr></thead><tbody></tbody><!$><!/></table><!$><!/>`),
|
|
24
|
+
_tmpl$1 = /*#__PURE__*/_$template(`<th scope=col>`),
|
|
25
|
+
_tmpl$10 = /*#__PURE__*/_$template(`<tr><td class=k2b-data-table__empty>`),
|
|
26
|
+
_tmpl$11 = /*#__PURE__*/_$template(`<tr class=k2b-data-table__row data-loading=true aria-hidden=true>`),
|
|
27
|
+
_tmpl$12 = /*#__PURE__*/_$template(`<td><span class=k2b-data-table__skeleton>`),
|
|
28
|
+
_tmpl$13 = /*#__PURE__*/_$template(`<tr>`),
|
|
29
|
+
_tmpl$14 = /*#__PURE__*/_$template(`<td><div>`),
|
|
30
|
+
_tmpl$15 = /*#__PURE__*/_$template(`<tfoot class=k2b-data-table__foot data-sticky=true><tr class=k2b-data-table__foot-row>`),
|
|
31
|
+
_tmpl$16 = /*#__PURE__*/_$template(`<td class=k2b-data-table__footer-cell>`),
|
|
32
|
+
_tmpl$17 = /*#__PURE__*/_$template(`<div class=k2b-data-table__scrollbar aria-hidden=true><span>`),
|
|
33
|
+
_tmpl$18 = /*#__PURE__*/_$template(`<div>`),
|
|
34
|
+
_tmpl$19 = /*#__PURE__*/_$template(`<span>`),
|
|
35
|
+
_tmpl$20 = /*#__PURE__*/_$template(`<footer>`);
|
|
36
|
+
import { createContext, createEffect, createMemo, createSignal, createUniqueId, For, Match, on, onCleanup, onMount, Show, Switch, useContext } from "solid-js";
|
|
34
37
|
import { Dynamic } from "solid-js/web";
|
|
38
|
+
import { announce } from "../feedback/announce";
|
|
35
39
|
import { suppressTextSelection } from "../internal/text-selection";
|
|
36
40
|
import { useLocale } from "../intl/locale";
|
|
37
41
|
import { useUiMessages } from "../intl/messages";
|
|
@@ -39,6 +43,7 @@ import { PanelHeader } from "../layout/PanelHeader";
|
|
|
39
43
|
import { Paper } from "../surfaces/Paper";
|
|
40
44
|
import Placeholder from "../surfaces/Placeholder";
|
|
41
45
|
import { useDataTableMessages } from "./data-table-messages";
|
|
46
|
+
const WIDE_TABLE_COLUMNS = 8;
|
|
42
47
|
const DataTablePanelContext = createContext();
|
|
43
48
|
const defaultRender = (value, locale, messages) => {
|
|
44
49
|
if (value === null || value === undefined || value === "") return "—";
|
|
@@ -105,6 +110,7 @@ function DataTableRoot(props) {
|
|
|
105
110
|
let previousRowsLength = props.rows.length;
|
|
106
111
|
let previousLoadingMore = !!props.loadingMore;
|
|
107
112
|
let previousHasMore = !!props.hasMore;
|
|
113
|
+
const loadingRows = () => Math.min(50, Math.max(1, Math.trunc(Number.isNaN(props.loadingRows) ? 5 : props.loadingRows ?? 5)));
|
|
108
114
|
const rowId = row => props.getRowId?.(row);
|
|
109
115
|
const isInteractive = () => !!props.selection || !!props.onRowClick || !!props.onRowDoubleClick;
|
|
110
116
|
const shouldHoverRows = () => props.hoverRows ?? isInteractive();
|
|
@@ -372,6 +378,11 @@ function DataTableRoot(props) {
|
|
|
372
378
|
if (scrollingTimeout !== undefined) clearTimeout(scrollingTimeout);
|
|
373
379
|
});
|
|
374
380
|
});
|
|
381
|
+
|
|
382
|
+
// Announced once per wait, outside the region that `aria-busy` keeps quiet.
|
|
383
|
+
createEffect(on(() => !!props.loading && props.rows.length === 0, waiting => {
|
|
384
|
+
if (waiting) announce(dataTableMessages().loadingRows);
|
|
385
|
+
}));
|
|
375
386
|
createEffect(() => {
|
|
376
387
|
const rowsLength = props.rows.length;
|
|
377
388
|
const nextHasMore = !!props.hasMore;
|
|
@@ -429,28 +440,40 @@ function DataTableRoot(props) {
|
|
|
429
440
|
onMouseLeave: () => setHoveredColumn(null),
|
|
430
441
|
get children() {
|
|
431
442
|
return [(() => {
|
|
432
|
-
var _el$0 = _$getNextElement(_tmpl$
|
|
443
|
+
var _el$0 = _$getNextElement(_tmpl$0),
|
|
433
444
|
_el$1 = _el$0.firstChild,
|
|
434
|
-
_el$
|
|
435
|
-
_el$
|
|
436
|
-
_el$
|
|
437
|
-
_el$
|
|
438
|
-
|
|
439
|
-
_el$18 = _el$
|
|
440
|
-
[_el$19, _co$3] = _$getNextMarker(_el$18.nextSibling)
|
|
445
|
+
_el$16 = _el$1.firstChild,
|
|
446
|
+
[_el$17, _co$2] = _$getNextMarker(_el$16.nextSibling),
|
|
447
|
+
_el$11 = _el$17.nextSibling,
|
|
448
|
+
_el$12 = _el$11.firstChild,
|
|
449
|
+
_el$13 = _el$11.nextSibling,
|
|
450
|
+
_el$18 = _el$13.nextSibling,
|
|
451
|
+
[_el$19, _co$3] = _$getNextMarker(_el$18.nextSibling),
|
|
452
|
+
_el$21 = _el$1.nextSibling,
|
|
453
|
+
[_el$22, _co$4] = _$getNextMarker(_el$21.nextSibling);
|
|
441
454
|
_el$0.addEventListener("scroll", onScroll);
|
|
442
455
|
var _ref$ = scrollRef;
|
|
443
456
|
typeof _ref$ === "function" ? _$use(_ref$, _el$0) : scrollRef = _el$0;
|
|
444
457
|
var _ref$2 = tableRef;
|
|
445
458
|
typeof _ref$2 === "function" ? _$use(_ref$2, _el$1) : tableRef = _el$1;
|
|
446
|
-
_$insert(_el$
|
|
459
|
+
_$insert(_el$1, _$createComponent(Show, {
|
|
460
|
+
get when() {
|
|
461
|
+
return props.loading;
|
|
462
|
+
},
|
|
463
|
+
get children() {
|
|
464
|
+
var _el$10 = _$getNextElement(_tmpl$7);
|
|
465
|
+
_$insert(_el$10, () => dataTableMessages().loadingRows);
|
|
466
|
+
return _el$10;
|
|
467
|
+
}
|
|
468
|
+
}), _el$17, _co$2);
|
|
469
|
+
_$insert(_el$12, _$createComponent(For, {
|
|
447
470
|
get each() {
|
|
448
471
|
return props.columns;
|
|
449
472
|
},
|
|
450
473
|
children: (col, index) => (() => {
|
|
451
|
-
var _el$
|
|
452
|
-
_el$
|
|
453
|
-
_$insert(_el$
|
|
474
|
+
var _el$23 = _$getNextElement(_tmpl$1);
|
|
475
|
+
_el$23.addEventListener("mouseenter", () => setHoveredColumnIfEnabled(index()));
|
|
476
|
+
_$insert(_el$23, (() => {
|
|
454
477
|
var _c$ = _$memo(() => !!props.renderHeader);
|
|
455
478
|
return () => _c$() ? props.renderHeader({
|
|
456
479
|
col,
|
|
@@ -458,14 +481,14 @@ function DataTableRoot(props) {
|
|
|
458
481
|
}) : renderHeaderDefault(col);
|
|
459
482
|
})());
|
|
460
483
|
_$effect(_p$ => {
|
|
461
|
-
var _v$
|
|
462
|
-
_v$
|
|
463
|
-
_v$
|
|
464
|
-
_v$
|
|
465
|
-
_v$
|
|
466
|
-
_v$
|
|
467
|
-
_v$
|
|
468
|
-
_v$
|
|
484
|
+
var _v$15 = `${col.headerClass ?? ""} ${col.class ?? ""}`,
|
|
485
|
+
_v$16 = alignAttr(col),
|
|
486
|
+
_v$17 = columnHighlighted(index()),
|
|
487
|
+
_v$18 = ariaSortFor(col);
|
|
488
|
+
_v$15 !== _p$.e && _$className(_el$23, _p$.e = _v$15);
|
|
489
|
+
_v$16 !== _p$.t && _$setAttribute(_el$23, "data-align", _p$.t = _v$16);
|
|
490
|
+
_v$17 !== _p$.a && _$setAttribute(_el$23, "data-highlighted", _p$.a = _v$17);
|
|
491
|
+
_v$18 !== _p$.o && _$setAttribute(_el$23, "aria-sort", _p$.o = _v$18);
|
|
469
492
|
return _p$;
|
|
470
493
|
}, {
|
|
471
494
|
e: undefined,
|
|
@@ -473,25 +496,65 @@ function DataTableRoot(props) {
|
|
|
473
496
|
a: undefined,
|
|
474
497
|
o: undefined
|
|
475
498
|
});
|
|
476
|
-
return _el$
|
|
499
|
+
return _el$23;
|
|
477
500
|
})()
|
|
478
501
|
}));
|
|
479
|
-
_$insert(_el$
|
|
502
|
+
_$insert(_el$13, _$createComponent(Show, {
|
|
480
503
|
get when() {
|
|
481
504
|
return props.rows.length > 0;
|
|
482
505
|
},
|
|
483
506
|
get fallback() {
|
|
484
|
-
return (
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
507
|
+
return _$createComponent(Show, {
|
|
508
|
+
get when() {
|
|
509
|
+
return props.loading;
|
|
510
|
+
},
|
|
511
|
+
get fallback() {
|
|
512
|
+
return (() => {
|
|
513
|
+
var _el$26 = _$getNextElement(_tmpl$10),
|
|
514
|
+
_el$27 = _el$26.firstChild;
|
|
515
|
+
_$insert(_el$27, _$createComponent(Placeholder, {
|
|
516
|
+
get description() {
|
|
517
|
+
return _$memo(() => props.empty ?? dataTableMessages().noRecords);
|
|
518
|
+
}
|
|
519
|
+
}));
|
|
520
|
+
_$effect(() => _$setAttribute(_el$27, "colspan", props.columns.length));
|
|
521
|
+
return _el$26;
|
|
522
|
+
})();
|
|
523
|
+
},
|
|
524
|
+
get children() {
|
|
525
|
+
return [_$createComponent(For, {
|
|
526
|
+
get each() {
|
|
527
|
+
return Array.from({
|
|
528
|
+
length: loadingRows()
|
|
529
|
+
});
|
|
530
|
+
},
|
|
531
|
+
children: () => (() => {
|
|
532
|
+
var _el$28 = _$getNextElement(_tmpl$11);
|
|
533
|
+
_$insert(_el$28, _$createComponent(For, {
|
|
534
|
+
get each() {
|
|
535
|
+
return props.columns;
|
|
536
|
+
},
|
|
537
|
+
children: col => (() => {
|
|
538
|
+
var _el$29 = _$getNextElement(_tmpl$12);
|
|
539
|
+
_$effect(() => _$setAttribute(_el$29, "data-align", alignAttr(col)));
|
|
540
|
+
return _el$29;
|
|
541
|
+
})()
|
|
542
|
+
}));
|
|
543
|
+
return _el$28;
|
|
544
|
+
})()
|
|
545
|
+
}), _$createComponent(Show, {
|
|
546
|
+
get when() {
|
|
547
|
+
return props.fillHeight;
|
|
548
|
+
},
|
|
549
|
+
get children() {
|
|
550
|
+
var _el$24 = _$getNextElement(_tmpl$8),
|
|
551
|
+
_el$25 = _el$24.firstChild;
|
|
552
|
+
_$effect(() => _$setAttribute(_el$25, "colspan", props.columns.length));
|
|
553
|
+
return _el$24;
|
|
554
|
+
}
|
|
555
|
+
})];
|
|
556
|
+
}
|
|
557
|
+
});
|
|
495
558
|
},
|
|
496
559
|
get children() {
|
|
497
560
|
return [_$createComponent(For, {
|
|
@@ -502,30 +565,30 @@ function DataTableRoot(props) {
|
|
|
502
565
|
const id = () => rowId(row);
|
|
503
566
|
const isSelected = () => props.selection ? props.selection.selected().has(id() ?? "") : props.selectedRowId && id() === props.selectedRowId;
|
|
504
567
|
return (() => {
|
|
505
|
-
var _el$
|
|
506
|
-
_el$
|
|
507
|
-
_el$
|
|
508
|
-
_el$
|
|
509
|
-
_el$
|
|
510
|
-
_el$
|
|
568
|
+
var _el$30 = _$getNextElement(_tmpl$13);
|
|
569
|
+
_el$30.$$keydown = e => onRowKeyDown(e, row);
|
|
570
|
+
_el$30.$$contextmenu = () => props.onRowContextMenu?.(row);
|
|
571
|
+
_el$30.$$dblclick = event => onRowDoubleClick(event, row);
|
|
572
|
+
_el$30.$$click = event => onRowClick(event, row);
|
|
573
|
+
_el$30.addEventListener("focus", () => {
|
|
511
574
|
const key = id();
|
|
512
575
|
if (key !== undefined) props.selection?.markFocused(key);
|
|
513
576
|
});
|
|
514
577
|
_$use(element => {
|
|
515
578
|
const key = id();
|
|
516
579
|
if (key !== undefined) props.selection?.register(key, element);
|
|
517
|
-
}, _el$
|
|
518
|
-
_$insert(_el$
|
|
580
|
+
}, _el$30);
|
|
581
|
+
_$insert(_el$30, _$createComponent(For, {
|
|
519
582
|
get each() {
|
|
520
583
|
return props.columns;
|
|
521
584
|
},
|
|
522
585
|
children: (col, index) => {
|
|
523
586
|
const value = () => valueOf(row, col);
|
|
524
587
|
return (() => {
|
|
525
|
-
var _el$
|
|
526
|
-
_el$
|
|
527
|
-
_el$
|
|
528
|
-
_$insert(_el$
|
|
588
|
+
var _el$31 = _$getNextElement(_tmpl$14),
|
|
589
|
+
_el$32 = _el$31.firstChild;
|
|
590
|
+
_el$31.addEventListener("mouseenter", () => setHoveredColumnIfEnabled(index()));
|
|
591
|
+
_$insert(_el$32, (() => {
|
|
529
592
|
var _c$2 = _$memo(() => !!props.renderCell);
|
|
530
593
|
return () => _c$2() ? props.renderCell({
|
|
531
594
|
row,
|
|
@@ -538,18 +601,18 @@ function DataTableRoot(props) {
|
|
|
538
601
|
}) : renderValueDefault(value());
|
|
539
602
|
})());
|
|
540
603
|
_$effect(_p$ => {
|
|
541
|
-
var _v$
|
|
542
|
-
_v$
|
|
543
|
-
_v$
|
|
544
|
-
_v$
|
|
545
|
-
_v$
|
|
546
|
-
_v$
|
|
547
|
-
_v$
|
|
548
|
-
_v$
|
|
549
|
-
_v$
|
|
550
|
-
_v$
|
|
551
|
-
_v$
|
|
552
|
-
_v$
|
|
604
|
+
var _v$25 = `${col.cellClass ?? ""} ${col.class ?? ""}`,
|
|
605
|
+
_v$26 = nowrapAttr(col),
|
|
606
|
+
_v$27 = alignAttr(col),
|
|
607
|
+
_v$28 = props.verticalAlign && props.verticalAlign !== "middle" ? props.verticalAlign : undefined,
|
|
608
|
+
_v$29 = columnHighlighted(index()),
|
|
609
|
+
_v$30 = cellContentClass();
|
|
610
|
+
_v$25 !== _p$.e && _$className(_el$31, _p$.e = _v$25);
|
|
611
|
+
_v$26 !== _p$.t && _$setAttribute(_el$31, "data-nowrap", _p$.t = _v$26);
|
|
612
|
+
_v$27 !== _p$.a && _$setAttribute(_el$31, "data-align", _p$.a = _v$27);
|
|
613
|
+
_v$28 !== _p$.o && _$setAttribute(_el$31, "data-valign", _p$.o = _v$28);
|
|
614
|
+
_v$29 !== _p$.i && _$setAttribute(_el$31, "data-highlighted", _p$.i = _v$29);
|
|
615
|
+
_v$30 !== _p$.n && _$className(_el$32, _p$.n = _v$30);
|
|
553
616
|
return _p$;
|
|
554
617
|
}, {
|
|
555
618
|
e: undefined,
|
|
@@ -559,23 +622,23 @@ function DataTableRoot(props) {
|
|
|
559
622
|
i: undefined,
|
|
560
623
|
n: undefined
|
|
561
624
|
});
|
|
562
|
-
return _el$
|
|
625
|
+
return _el$31;
|
|
563
626
|
})();
|
|
564
627
|
}
|
|
565
628
|
}));
|
|
566
629
|
_$effect(_p$ => {
|
|
567
|
-
var _v$
|
|
568
|
-
_v$
|
|
569
|
-
_v$
|
|
570
|
-
_v$
|
|
571
|
-
_v$
|
|
572
|
-
_v$
|
|
573
|
-
_v$
|
|
574
|
-
_v$
|
|
575
|
-
_v$
|
|
576
|
-
_v$
|
|
577
|
-
_v$
|
|
578
|
-
_v$
|
|
630
|
+
var _v$19 = `k2b-data-table__row ${rowClass(row)}`,
|
|
631
|
+
_v$20 = shouldHoverRows() ? "true" : undefined,
|
|
632
|
+
_v$21 = shouldHoverRows() && isInteractive() ? "true" : undefined,
|
|
633
|
+
_v$22 = isSelected() ? "true" : undefined,
|
|
634
|
+
_v$23 = props.selection ? !!isSelected() : undefined,
|
|
635
|
+
_v$24 = props.selection ? props.selection.focused() === id() ? 0 : -1 : isInteractive() ? 0 : undefined;
|
|
636
|
+
_v$19 !== _p$.e && _$className(_el$30, _p$.e = _v$19);
|
|
637
|
+
_v$20 !== _p$.t && _$setAttribute(_el$30, "data-hover", _p$.t = _v$20);
|
|
638
|
+
_v$21 !== _p$.a && _$setAttribute(_el$30, "data-clickable", _p$.a = _v$21);
|
|
639
|
+
_v$22 !== _p$.o && _$setAttribute(_el$30, "data-selected", _p$.o = _v$22);
|
|
640
|
+
_v$23 !== _p$.i && _$setAttribute(_el$30, "aria-selected", _p$.i = _v$23);
|
|
641
|
+
_v$24 !== _p$.n && _$setAttribute(_el$30, "tabindex", _p$.n = _v$24);
|
|
579
642
|
return _p$;
|
|
580
643
|
}, {
|
|
581
644
|
e: undefined,
|
|
@@ -586,7 +649,7 @@ function DataTableRoot(props) {
|
|
|
586
649
|
n: undefined
|
|
587
650
|
});
|
|
588
651
|
_$runHydrationEvents();
|
|
589
|
-
return _el$
|
|
652
|
+
return _el$30;
|
|
590
653
|
})();
|
|
591
654
|
}
|
|
592
655
|
}), _$createComponent(Show, {
|
|
@@ -594,10 +657,10 @@ function DataTableRoot(props) {
|
|
|
594
657
|
return props.fillHeight;
|
|
595
658
|
},
|
|
596
659
|
get children() {
|
|
597
|
-
var _el$
|
|
598
|
-
_el$
|
|
599
|
-
_$effect(() => _$setAttribute(_el$
|
|
600
|
-
return _el$
|
|
660
|
+
var _el$14 = _$getNextElement(_tmpl$8),
|
|
661
|
+
_el$15 = _el$14.firstChild;
|
|
662
|
+
_$effect(() => _$setAttribute(_el$15, "colspan", props.columns.length));
|
|
663
|
+
return _el$14;
|
|
601
664
|
}
|
|
602
665
|
})];
|
|
603
666
|
}
|
|
@@ -607,18 +670,18 @@ function DataTableRoot(props) {
|
|
|
607
670
|
return props.footer;
|
|
608
671
|
},
|
|
609
672
|
children: footer => (() => {
|
|
610
|
-
var _el$
|
|
611
|
-
_el$
|
|
612
|
-
_$insert(_el$
|
|
673
|
+
var _el$33 = _$getNextElement(_tmpl$15),
|
|
674
|
+
_el$34 = _el$33.firstChild;
|
|
675
|
+
_$insert(_el$34, _$createComponent(For, {
|
|
613
676
|
get each() {
|
|
614
677
|
return props.columns;
|
|
615
678
|
},
|
|
616
679
|
children: (col, index) => {
|
|
617
680
|
const value = () => footer().values?.[col.id];
|
|
618
681
|
return (() => {
|
|
619
|
-
var _el$
|
|
620
|
-
_el$
|
|
621
|
-
_$insert(_el$
|
|
682
|
+
var _el$35 = _$getNextElement(_tmpl$16);
|
|
683
|
+
_el$35.addEventListener("mouseenter", () => setHoveredColumnIfEnabled(index()));
|
|
684
|
+
_$insert(_el$35, (() => {
|
|
622
685
|
var _c$3 = _$memo(() => !!footer().renderCell);
|
|
623
686
|
return () => _c$3() ? footer().renderCell({
|
|
624
687
|
col,
|
|
@@ -627,57 +690,61 @@ function DataTableRoot(props) {
|
|
|
627
690
|
}) : renderValueDefault(value());
|
|
628
691
|
})());
|
|
629
692
|
_$effect(_p$ => {
|
|
630
|
-
var _v$
|
|
631
|
-
_v$
|
|
632
|
-
_v$
|
|
633
|
-
_v$
|
|
634
|
-
_v$
|
|
635
|
-
_v$
|
|
693
|
+
var _v$31 = nowrapAttr(col),
|
|
694
|
+
_v$32 = alignAttr(col),
|
|
695
|
+
_v$33 = columnHighlighted(index());
|
|
696
|
+
_v$31 !== _p$.e && _$setAttribute(_el$35, "data-nowrap", _p$.e = _v$31);
|
|
697
|
+
_v$32 !== _p$.t && _$setAttribute(_el$35, "data-align", _p$.t = _v$32);
|
|
698
|
+
_v$33 !== _p$.a && _$setAttribute(_el$35, "data-highlighted", _p$.a = _v$33);
|
|
636
699
|
return _p$;
|
|
637
700
|
}, {
|
|
638
701
|
e: undefined,
|
|
639
702
|
t: undefined,
|
|
640
703
|
a: undefined
|
|
641
704
|
});
|
|
642
|
-
return _el$
|
|
705
|
+
return _el$35;
|
|
643
706
|
})();
|
|
644
707
|
}
|
|
645
708
|
}));
|
|
646
|
-
return _el$
|
|
709
|
+
return _el$33;
|
|
647
710
|
})()
|
|
648
|
-
}), _el$
|
|
711
|
+
}), _el$19, _co$3);
|
|
649
712
|
_$insert(_el$0, _$createComponent(Show, {
|
|
650
713
|
get when() {
|
|
651
714
|
return shouldRenderLoadMoreSentinel();
|
|
652
715
|
},
|
|
653
716
|
get children() {
|
|
654
|
-
var _el$
|
|
717
|
+
var _el$20 = _$getNextElement(_tmpl$9);
|
|
655
718
|
var _ref$3 = loadMoreRef;
|
|
656
|
-
typeof _ref$3 === "function" ? _$use(_ref$3, _el$
|
|
657
|
-
return _el$
|
|
719
|
+
typeof _ref$3 === "function" ? _$use(_ref$3, _el$20) : loadMoreRef = _el$20;
|
|
720
|
+
return _el$20;
|
|
658
721
|
}
|
|
659
|
-
}), _el$
|
|
722
|
+
}), _el$22, _co$4);
|
|
660
723
|
_$effect(_p$ => {
|
|
661
724
|
var _v$5 = labelledBy() ? undefined : props.ariaLabel ?? dataTableMessages().dataTable,
|
|
662
725
|
_v$6 = labelledBy(),
|
|
663
|
-
_v$7 =
|
|
664
|
-
_v$8 = props.
|
|
665
|
-
_v$9 = props.
|
|
666
|
-
_v$0 =
|
|
667
|
-
_v$1 =
|
|
668
|
-
_v$10 =
|
|
669
|
-
_v$11 =
|
|
670
|
-
_v$12 = props.
|
|
726
|
+
_v$7 = props.loading ? "true" : undefined,
|
|
727
|
+
_v$8 = `k2b-table-wrap${props.scrollClass ? ` ${props.scrollClass}` : ""}`,
|
|
728
|
+
_v$9 = props.density === "compact" ? "compact" : undefined,
|
|
729
|
+
_v$0 = props.footer ? "true" : undefined,
|
|
730
|
+
_v$1 = surface(),
|
|
731
|
+
_v$10 = props.scrollPreserveKey || undefined,
|
|
732
|
+
_v$11 = tableClass(),
|
|
733
|
+
_v$12 = props.fillHeight ? "true" : undefined,
|
|
734
|
+
_v$13 = props.columns.length > WIDE_TABLE_COLUMNS ? "true" : undefined,
|
|
735
|
+
_v$14 = props.stickyHeader === false ? undefined : "true";
|
|
671
736
|
_v$5 !== _p$.e && _$setAttribute(_el$0, "aria-label", _p$.e = _v$5);
|
|
672
737
|
_v$6 !== _p$.t && _$setAttribute(_el$0, "aria-labelledby", _p$.t = _v$6);
|
|
673
|
-
_v$7 !== _p$.a && _$
|
|
674
|
-
_v$8 !== _p$.o && _$
|
|
675
|
-
_v$9 !== _p$.i && _$setAttribute(_el$0, "data-
|
|
676
|
-
_v$0 !== _p$.n && _$setAttribute(_el$0, "data-
|
|
677
|
-
_v$1 !== _p$.s && _$setAttribute(_el$0, "data-
|
|
678
|
-
_v$10 !== _p$.h && _$
|
|
679
|
-
_v$11 !== _p$.r && _$
|
|
680
|
-
_v$12 !== _p$.d && _$setAttribute(_el$
|
|
738
|
+
_v$7 !== _p$.a && _$setAttribute(_el$0, "aria-busy", _p$.a = _v$7);
|
|
739
|
+
_v$8 !== _p$.o && _$className(_el$0, _p$.o = _v$8);
|
|
740
|
+
_v$9 !== _p$.i && _$setAttribute(_el$0, "data-density", _p$.i = _v$9);
|
|
741
|
+
_v$0 !== _p$.n && _$setAttribute(_el$0, "data-has-footer", _p$.n = _v$0);
|
|
742
|
+
_v$1 !== _p$.s && _$setAttribute(_el$0, "data-surface", _p$.s = _v$1);
|
|
743
|
+
_v$10 !== _p$.h && _$setAttribute(_el$0, "data-scroll-preserve", _p$.h = _v$10);
|
|
744
|
+
_v$11 !== _p$.r && _$className(_el$1, _p$.r = _v$11);
|
|
745
|
+
_v$12 !== _p$.d && _$setAttribute(_el$1, "data-fill", _p$.d = _v$12);
|
|
746
|
+
_v$13 !== _p$.l && _$setAttribute(_el$1, "data-wide", _p$.l = _v$13);
|
|
747
|
+
_v$14 !== _p$.u && _$setAttribute(_el$11, "data-sticky", _p$.u = _v$14);
|
|
681
748
|
return _p$;
|
|
682
749
|
}, {
|
|
683
750
|
e: undefined,
|
|
@@ -689,28 +756,30 @@ function DataTableRoot(props) {
|
|
|
689
756
|
s: undefined,
|
|
690
757
|
h: undefined,
|
|
691
758
|
r: undefined,
|
|
692
|
-
d: undefined
|
|
759
|
+
d: undefined,
|
|
760
|
+
l: undefined,
|
|
761
|
+
u: undefined
|
|
693
762
|
});
|
|
694
763
|
return _el$0;
|
|
695
764
|
})(), _$createComponent(For, {
|
|
696
765
|
each: ["y", "x"],
|
|
697
766
|
children: axis => (() => {
|
|
698
|
-
var _el$
|
|
699
|
-
_el$
|
|
700
|
-
_el$
|
|
701
|
-
_el$
|
|
702
|
-
_el$
|
|
767
|
+
var _el$36 = _$getNextElement(_tmpl$17),
|
|
768
|
+
_el$37 = _el$36.firstChild;
|
|
769
|
+
_el$36.addEventListener("pointercancel", event => event.currentTarget.releasePointerCapture(event.pointerId));
|
|
770
|
+
_el$36.$$pointerup = event => event.currentTarget.releasePointerCapture(event.pointerId);
|
|
771
|
+
_el$36.$$pointermove = event => {
|
|
703
772
|
if (event.currentTarget.hasPointerCapture(event.pointerId)) scrollFromPointer(event, axis);
|
|
704
773
|
};
|
|
705
|
-
_el$
|
|
706
|
-
_$setAttribute(_el$
|
|
774
|
+
_el$36.$$pointerdown = event => startScrollbarDrag(event, axis);
|
|
775
|
+
_$setAttribute(_el$36, "data-axis", axis);
|
|
707
776
|
_$effect(_p$ => {
|
|
708
|
-
var _v$
|
|
709
|
-
_v$
|
|
710
|
-
_v$
|
|
711
|
-
_v$
|
|
712
|
-
_v$
|
|
713
|
-
_v$
|
|
777
|
+
var _v$34 = scrollbars()[axis].overflow ? "true" : undefined,
|
|
778
|
+
_v$35 = `${scrollbars()[axis].offset}px`,
|
|
779
|
+
_v$36 = `${scrollbars()[axis].size}px`;
|
|
780
|
+
_v$34 !== _p$.e && _$setAttribute(_el$36, "data-overflow", _p$.e = _v$34);
|
|
781
|
+
_v$35 !== _p$.t && _$setStyleProperty(_el$37, "--k2b-data-table-scroll-offset", _p$.t = _v$35);
|
|
782
|
+
_v$36 !== _p$.a && _$setStyleProperty(_el$37, "--k2b-data-table-scroll-size", _p$.a = _v$36);
|
|
714
783
|
return _p$;
|
|
715
784
|
}, {
|
|
716
785
|
e: undefined,
|
|
@@ -718,7 +787,7 @@ function DataTableRoot(props) {
|
|
|
718
787
|
a: undefined
|
|
719
788
|
});
|
|
720
789
|
_$runHydrationEvents();
|
|
721
|
-
return _el$
|
|
790
|
+
return _el$36;
|
|
722
791
|
})()
|
|
723
792
|
})];
|
|
724
793
|
}
|
|
@@ -753,14 +822,14 @@ const DataTableHeader = props => {
|
|
|
753
822
|
const panel = useContext(DataTablePanelContext);
|
|
754
823
|
panel?.registerHeading();
|
|
755
824
|
return (() => {
|
|
756
|
-
var _el$
|
|
757
|
-
_$insert(_el$
|
|
825
|
+
var _el$38 = _$getNextElement(_tmpl$18);
|
|
826
|
+
_$insert(_el$38, _$createComponent(PanelHeader, {
|
|
758
827
|
get title() {
|
|
759
828
|
return (() => {
|
|
760
|
-
var _el$
|
|
761
|
-
_$insert(_el$
|
|
762
|
-
_$effect(() => _$setAttribute(_el$
|
|
763
|
-
return _el$
|
|
829
|
+
var _el$39 = _$getNextElement(_tmpl$19);
|
|
830
|
+
_$insert(_el$39, () => props.title);
|
|
831
|
+
_$effect(() => _$setAttribute(_el$39, "id", panel?.headingId));
|
|
832
|
+
return _el$39;
|
|
764
833
|
})();
|
|
765
834
|
},
|
|
766
835
|
get subtitle() {
|
|
@@ -776,21 +845,21 @@ const DataTableHeader = props => {
|
|
|
776
845
|
return props.size;
|
|
777
846
|
}
|
|
778
847
|
}));
|
|
779
|
-
_$effect(() => _$className(_el$
|
|
780
|
-
return _el$
|
|
848
|
+
_$effect(() => _$className(_el$38, `k2b-data-panel__header ${props.class ?? ""}`));
|
|
849
|
+
return _el$38;
|
|
781
850
|
})();
|
|
782
851
|
};
|
|
783
852
|
const DataTableControls = props => (() => {
|
|
784
|
-
var _el$
|
|
785
|
-
_$insert(_el$
|
|
786
|
-
_$effect(() => _$className(_el$
|
|
787
|
-
return _el$
|
|
853
|
+
var _el$40 = _$getNextElement(_tmpl$18);
|
|
854
|
+
_$insert(_el$40, () => props.children);
|
|
855
|
+
_$effect(() => _$className(_el$40, `k2b-data-panel__controls ${props.class ?? ""}`));
|
|
856
|
+
return _el$40;
|
|
788
857
|
})();
|
|
789
858
|
const DataTablePanelFooter = props => (() => {
|
|
790
|
-
var _el$
|
|
791
|
-
_$insert(_el$
|
|
792
|
-
_$effect(() => _$className(_el$
|
|
793
|
-
return _el$
|
|
859
|
+
var _el$41 = _$getNextElement(_tmpl$20);
|
|
860
|
+
_$insert(_el$41, () => props.children);
|
|
861
|
+
_$effect(() => _$className(_el$41, `k2b-data-panel__footer ${props.class ?? ""}`));
|
|
862
|
+
return _el$41;
|
|
794
863
|
})();
|
|
795
864
|
const DataTable = DataTableRoot;
|
|
796
865
|
DataTable.Panel = DataTablePanel;
|