@k2b/ui 0.48.0 → 0.50.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/dist/base.css +40 -2
- package/dist/browser/actions/ContextMenu.js +3 -0
- package/dist/browser/actions/ContextMenu.js.map +1 -1
- package/dist/browser/actions/CopyButton.js +26 -18
- package/dist/browser/actions/CopyButton.js.map +1 -1
- package/dist/browser/charts/core/area.js +190 -0
- package/dist/browser/charts/core/area.js.map +1 -0
- package/dist/browser/charts/core/calendar.js +186 -0
- package/dist/browser/charts/core/calendar.js.map +1 -0
- package/dist/browser/charts/core/chart-map-data.js +9 -0
- package/dist/browser/charts/core/chart-map-data.js.map +1 -0
- package/dist/browser/charts/core/index.js +12 -0
- package/dist/browser/charts/core/index.js.map +1 -0
- package/dist/browser/charts/core/inspection.js +9 -0
- package/dist/browser/charts/core/inspection.js.map +1 -0
- package/dist/browser/charts/core/registry.js +28 -0
- package/dist/browser/charts/core/registry.js.map +1 -0
- package/dist/browser/charts/core/render.js +103 -0
- package/dist/browser/charts/core/render.js.map +1 -0
- package/dist/browser/charts/core/snapshot.js +65 -0
- package/dist/browser/charts/core/snapshot.js.map +1 -0
- package/dist/browser/charts/core/svg.js +2542 -0
- package/dist/browser/charts/core/svg.js.map +1 -0
- package/dist/browser/charts/core/termination.test-fixture.js +162 -0
- package/dist/browser/charts/core/termination.test-fixture.js.map +1 -0
- package/dist/browser/charts/core/text.js +13 -0
- package/dist/browser/charts/core/text.js.map +1 -0
- package/dist/browser/charts/core/types.js +8 -0
- package/dist/browser/charts/core/types.js.map +1 -0
- package/dist/browser/charts.js +4 -2
- package/dist/browser/charts.js.map +1 -1
- package/dist/browser/content/BalanceSummary.js +106 -0
- package/dist/browser/content/BalanceSummary.js.map +1 -0
- package/dist/browser/content/Chart.js +134 -115
- package/dist/browser/content/Chart.js.map +1 -1
- package/dist/browser/content/ChartExplorer.js +366 -122
- package/dist/browser/content/ChartExplorer.js.map +1 -1
- package/dist/browser/content/ChartSnapshotView.js +16 -9
- package/dist/browser/content/ChartSnapshotView.js.map +1 -1
- package/dist/browser/content/DataTable.js +676 -293
- package/dist/browser/content/DataTable.js.map +1 -1
- package/dist/browser/content/DataTableTools.js +119 -0
- package/dist/browser/content/DataTableTools.js.map +1 -0
- package/dist/browser/content/FlowAmount.js +82 -0
- package/dist/browser/content/FlowAmount.js.map +1 -0
- package/dist/browser/content/balance-summary-messages.js +26 -0
- package/dist/browser/content/balance-summary-messages.js.map +1 -0
- package/dist/browser/content/chart-bar.js +6 -6
- package/dist/browser/content/chart-bar.js.map +1 -1
- package/dist/browser/content/chart-calendar.js +43 -0
- package/dist/browser/content/chart-calendar.js.map +1 -0
- package/dist/browser/content/chart-inspection-core.js +164 -37
- package/dist/browser/content/chart-inspection-core.js.map +1 -1
- package/dist/browser/content/chart-inspection.js.map +1 -1
- package/dist/browser/content/chart-line-gaps.js +2 -2
- package/dist/browser/content/chart-line-gaps.js.map +1 -1
- package/dist/browser/content/chart-map-viewport.js.map +1 -1
- package/dist/browser/content/chart-message-catalog.js +164 -0
- package/dist/browser/content/chart-message-catalog.js.map +1 -0
- package/dist/browser/content/chart-messages.js +2 -138
- package/dist/browser/content/chart-messages.js.map +1 -1
- package/dist/browser/content/chart-snapshot.js +1 -62
- package/dist/browser/content/chart-snapshot.js.map +1 -1
- package/dist/browser/content/chart-state-timeline.js +1 -1
- package/dist/browser/content/chart-state-timeline.js.map +1 -1
- package/dist/browser/content/chart-svg.js +2 -1
- package/dist/browser/content/chart-svg.js.map +1 -1
- package/dist/browser/content/chart-time-axis.js +139 -0
- package/dist/browser/content/chart-time-axis.js.map +1 -0
- package/dist/browser/content/data-table-columns.js +160 -0
- package/dist/browser/content/data-table-columns.js.map +1 -0
- package/dist/browser/content/data-table-messages.js +38 -2
- package/dist/browser/content/data-table-messages.js.map +1 -1
- package/dist/browser/content/flow-amount-messages.js +26 -0
- package/dist/browser/content/flow-amount-messages.js.map +1 -0
- package/dist/browser/content/index.js +4 -0
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/feedback/prompt-confirm.js +7 -4
- package/dist/browser/feedback/prompt-confirm.js.map +1 -1
- package/dist/browser/feedback/prompts.js +3 -3
- package/dist/browser/feedback/prompts.js.map +1 -1
- package/dist/browser/inputs/DatePicker.js +5 -4
- package/dist/browser/inputs/DatePicker.js.map +1 -1
- package/dist/browser/inputs/NumberInput.js +17 -5
- package/dist/browser/inputs/NumberInput.js.map +1 -1
- package/dist/browser/inputs/SelectChip.js +50 -17
- package/dist/browser/inputs/SelectChip.js.map +1 -1
- package/dist/browser/inputs/date-picker.js +13 -0
- package/dist/browser/inputs/date-picker.js.map +1 -1
- package/dist/browser/intl/Format.js +31 -8
- package/dist/browser/intl/Format.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +580 -522
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/MobileShell.js +26 -0
- package/dist/browser/layout/MobileShell.js.map +1 -1
- package/dist/browser/layout/index.js +1 -0
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/layout/sheet-handle.js +155 -0
- package/dist/browser/layout/sheet-handle.js.map +1 -0
- package/dist/browser/surfaces/BudgetList.js +281 -0
- package/dist/browser/surfaces/BudgetList.js.map +1 -0
- package/dist/browser/surfaces/NoticeCard.js +48 -29
- package/dist/browser/surfaces/NoticeCard.js.map +1 -1
- package/dist/browser/surfaces/ProgressBar.js +134 -21
- package/dist/browser/surfaces/ProgressBar.js.map +1 -1
- package/dist/browser/surfaces/StatCell.js +320 -144
- package/dist/browser/surfaces/StatCell.js.map +1 -1
- package/dist/browser/surfaces/StatGrid.js +75 -57
- package/dist/browser/surfaces/StatGrid.js.map +1 -1
- package/dist/browser/surfaces/budget-messages.js +64 -0
- package/dist/browser/surfaces/budget-messages.js.map +1 -0
- package/dist/browser/surfaces/delta-badge.js +65 -0
- package/dist/browser/surfaces/delta-badge.js.map +1 -0
- package/dist/browser/surfaces/index.js +2 -1
- package/dist/browser/surfaces/index.js.map +1 -1
- package/dist/browser/surfaces/person-color.js +2 -2
- package/dist/browser/surfaces/person-color.js.map +1 -1
- package/dist/browser/surfaces/stat-cell-messages.js +41 -0
- package/dist/browser/surfaces/stat-cell-messages.js.map +1 -0
- package/dist/browser/widgets/Dashboard.js +137 -0
- package/dist/browser/widgets/Dashboard.js.map +1 -0
- package/dist/browser/widgets/index.js +1 -0
- package/dist/browser/widgets/index.js.map +1 -1
- package/dist/ssr/actions/ContextMenu.js +3 -0
- package/dist/ssr/actions/ContextMenu.js.map +1 -1
- package/dist/ssr/actions/CopyButton.js +13 -8
- package/dist/ssr/actions/CopyButton.js.map +1 -1
- package/dist/ssr/charts/core/area.js +190 -0
- package/dist/ssr/charts/core/area.js.map +1 -0
- package/dist/ssr/charts/core/calendar.js +186 -0
- package/dist/ssr/charts/core/calendar.js.map +1 -0
- package/dist/ssr/charts/core/chart-map-data.js +9 -0
- package/dist/ssr/charts/core/chart-map-data.js.map +1 -0
- package/dist/ssr/charts/core/index.js +12 -0
- package/dist/ssr/charts/core/index.js.map +1 -0
- package/dist/ssr/charts/core/inspection.js +9 -0
- package/dist/ssr/charts/core/inspection.js.map +1 -0
- package/dist/ssr/charts/core/registry.js +28 -0
- package/dist/ssr/charts/core/registry.js.map +1 -0
- package/dist/ssr/charts/core/render.js +103 -0
- package/dist/ssr/charts/core/render.js.map +1 -0
- package/dist/ssr/charts/core/snapshot.js +65 -0
- package/dist/ssr/charts/core/snapshot.js.map +1 -0
- package/dist/ssr/charts/core/svg.js +2542 -0
- package/dist/ssr/charts/core/svg.js.map +1 -0
- package/dist/ssr/charts/core/termination.test-fixture.js +162 -0
- package/dist/ssr/charts/core/termination.test-fixture.js.map +1 -0
- package/dist/ssr/charts/core/text.js +13 -0
- package/dist/ssr/charts/core/text.js.map +1 -0
- package/dist/ssr/charts/core/types.js +8 -0
- package/dist/ssr/charts/core/types.js.map +1 -0
- package/dist/ssr/charts.js +4 -2
- package/dist/ssr/charts.js.map +1 -1
- package/dist/ssr/content/BalanceSummary.js +75 -0
- package/dist/ssr/content/BalanceSummary.js.map +1 -0
- package/dist/ssr/content/Chart.js +90 -95
- package/dist/ssr/content/Chart.js.map +1 -1
- package/dist/ssr/content/ChartExplorer.js +190 -46
- package/dist/ssr/content/ChartExplorer.js.map +1 -1
- package/dist/ssr/content/ChartSnapshotView.js +5 -1
- package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
- package/dist/ssr/content/DataTable.js +287 -78
- package/dist/ssr/content/DataTable.js.map +1 -1
- package/dist/ssr/content/DataTableTools.js +106 -0
- package/dist/ssr/content/DataTableTools.js.map +1 -0
- package/dist/ssr/content/FlowAmount.js +58 -0
- package/dist/ssr/content/FlowAmount.js.map +1 -0
- package/dist/ssr/content/balance-summary-messages.js +26 -0
- package/dist/ssr/content/balance-summary-messages.js.map +1 -0
- package/dist/ssr/content/chart-bar.js +6 -6
- package/dist/ssr/content/chart-bar.js.map +1 -1
- package/dist/ssr/content/chart-calendar.js +43 -0
- package/dist/ssr/content/chart-calendar.js.map +1 -0
- package/dist/ssr/content/chart-inspection-core.js +164 -37
- package/dist/ssr/content/chart-inspection-core.js.map +1 -1
- package/dist/ssr/content/chart-inspection.js.map +1 -1
- package/dist/ssr/content/chart-line-gaps.js +2 -2
- package/dist/ssr/content/chart-line-gaps.js.map +1 -1
- package/dist/ssr/content/chart-map-viewport.js.map +1 -1
- package/dist/ssr/content/chart-message-catalog.js +164 -0
- package/dist/ssr/content/chart-message-catalog.js.map +1 -0
- package/dist/ssr/content/chart-messages.js +2 -138
- package/dist/ssr/content/chart-messages.js.map +1 -1
- package/dist/ssr/content/chart-snapshot.js +1 -62
- package/dist/ssr/content/chart-snapshot.js.map +1 -1
- package/dist/ssr/content/chart-state-timeline.js +1 -1
- package/dist/ssr/content/chart-state-timeline.js.map +1 -1
- package/dist/ssr/content/chart-svg.js +2 -1
- package/dist/ssr/content/chart-svg.js.map +1 -1
- package/dist/ssr/content/chart-time-axis.js +139 -0
- package/dist/ssr/content/chart-time-axis.js.map +1 -0
- package/dist/ssr/content/data-table-columns.js +160 -0
- package/dist/ssr/content/data-table-columns.js.map +1 -0
- package/dist/ssr/content/data-table-messages.js +38 -2
- package/dist/ssr/content/data-table-messages.js.map +1 -1
- package/dist/ssr/content/flow-amount-messages.js +26 -0
- package/dist/ssr/content/flow-amount-messages.js.map +1 -0
- package/dist/ssr/content/index.js +4 -0
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/feedback/prompt-confirm.js +7 -4
- package/dist/ssr/feedback/prompt-confirm.js.map +1 -1
- package/dist/ssr/feedback/prompts.js +3 -3
- package/dist/ssr/feedback/prompts.js.map +1 -1
- package/dist/ssr/inputs/DatePicker.js +5 -4
- package/dist/ssr/inputs/DatePicker.js.map +1 -1
- package/dist/ssr/inputs/NumberInput.js +17 -5
- package/dist/ssr/inputs/NumberInput.js.map +1 -1
- package/dist/ssr/inputs/SelectChip.js +26 -9
- package/dist/ssr/inputs/SelectChip.js.map +1 -1
- package/dist/ssr/inputs/date-picker.js +13 -0
- package/dist/ssr/inputs/date-picker.js.map +1 -1
- package/dist/ssr/intl/Format.js +22 -2
- package/dist/ssr/intl/Format.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +158 -114
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/MobileShell.js +26 -0
- package/dist/ssr/layout/MobileShell.js.map +1 -1
- package/dist/ssr/layout/index.js +1 -0
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/layout/sheet-handle.js +155 -0
- package/dist/ssr/layout/sheet-handle.js.map +1 -0
- package/dist/ssr/surfaces/BudgetList.js +170 -0
- package/dist/ssr/surfaces/BudgetList.js.map +1 -0
- package/dist/ssr/surfaces/NoticeCard.js +25 -10
- package/dist/ssr/surfaces/NoticeCard.js.map +1 -1
- package/dist/ssr/surfaces/ProgressBar.js +96 -5
- package/dist/ssr/surfaces/ProgressBar.js.map +1 -1
- package/dist/ssr/surfaces/StatCell.js +157 -51
- package/dist/ssr/surfaces/StatCell.js.map +1 -1
- package/dist/ssr/surfaces/StatGrid.js +24 -35
- package/dist/ssr/surfaces/StatGrid.js.map +1 -1
- package/dist/ssr/surfaces/budget-messages.js +64 -0
- package/dist/ssr/surfaces/budget-messages.js.map +1 -0
- package/dist/ssr/surfaces/delta-badge.js +41 -0
- package/dist/ssr/surfaces/delta-badge.js.map +1 -0
- package/dist/ssr/surfaces/index.js +2 -1
- package/dist/ssr/surfaces/index.js.map +1 -1
- package/dist/ssr/surfaces/person-color.js +2 -2
- package/dist/ssr/surfaces/person-color.js.map +1 -1
- package/dist/ssr/surfaces/stat-cell-messages.js +41 -0
- package/dist/ssr/surfaces/stat-cell-messages.js.map +1 -0
- package/dist/ssr/widgets/Dashboard.js +84 -0
- package/dist/ssr/widgets/Dashboard.js.map +1 -0
- package/dist/ssr/widgets/index.js +1 -0
- package/dist/ssr/widgets/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/charts/core/area.d.ts +62 -0
- package/dist/types/charts/core/calendar.d.ts +57 -0
- package/dist/types/charts/core/chart-map-data.d.ts +3 -0
- package/dist/types/charts/core/index.d.ts +11 -0
- package/dist/types/charts/core/inspection.d.ts +16 -0
- package/dist/types/charts/core/registry.d.ts +27 -0
- package/dist/types/charts/core/render.d.ts +40 -0
- package/dist/types/charts/core/snapshot.d.ts +27 -0
- package/dist/types/charts/core/svg.d.ts +714 -0
- package/dist/types/charts/core/termination.test-fixture.d.ts +1 -0
- package/dist/types/charts/core/text.d.ts +5 -0
- package/dist/types/charts/core/types.d.ts +31 -0
- package/dist/types/charts.d.ts +4 -2
- package/dist/types/content/BalanceSummary.d.ts +29 -0
- package/dist/types/content/Chart.d.ts +26 -36
- package/dist/types/content/ChartExplorer.d.ts +43 -2
- package/dist/types/content/ChartSnapshotView.d.ts +1 -0
- package/dist/types/content/DataTable.d.ts +28 -0
- package/dist/types/content/DataTableTools.d.ts +44 -0
- package/dist/types/content/FlowAmount.d.ts +28 -0
- package/dist/types/content/balance-summary-messages.d.ts +11 -0
- package/dist/types/content/chart-bar.d.ts +1 -1
- package/dist/types/content/chart-calendar.d.ts +4 -0
- package/dist/types/content/chart-inspection-core.d.ts +21 -16
- package/dist/types/content/chart-inspection.d.ts +5 -1
- package/dist/types/content/chart-map-viewport.d.ts +1 -1
- package/dist/types/content/chart-message-catalog.d.ts +84 -0
- package/dist/types/content/chart-messages.d.ts +2 -33
- package/dist/types/content/chart-snapshot.d.ts +1 -26
- package/dist/types/content/chart-svg.d.ts +1 -1
- package/dist/types/content/chart-time-axis.d.ts +26 -0
- package/dist/types/content/data-table-columns.d.ts +72 -0
- package/dist/types/content/data-table-messages.d.ts +18 -0
- package/dist/types/content/flow-amount-messages.d.ts +11 -0
- package/dist/types/content/index.d.ts +10 -2
- package/dist/types/feedback/prompt-confirm.d.ts +3 -1
- package/dist/types/feedback/prompts.d.ts +2 -2
- package/dist/types/inputs/NumberInput.d.ts +1 -1
- package/dist/types/inputs/SelectChip.d.ts +2 -0
- package/dist/types/inputs/date-picker.d.ts +6 -0
- package/dist/types/intl/Format.d.ts +5 -0
- package/dist/types/layout/AppWorkspace.d.ts +21 -1
- package/dist/types/layout/MobileShell.d.ts +5 -0
- package/dist/types/layout/index.d.ts +2 -1
- package/dist/types/layout/sheet-handle.d.ts +21 -0
- package/dist/types/surfaces/BudgetList.d.ts +42 -0
- package/dist/types/surfaces/NoticeCard.d.ts +5 -2
- package/dist/types/surfaces/ProgressBar.d.ts +38 -2
- package/dist/types/surfaces/StatCell.d.ts +35 -2
- package/dist/types/surfaces/StatGrid.d.ts +3 -1
- package/dist/types/surfaces/budget-messages.d.ts +30 -0
- package/dist/types/surfaces/delta-badge.d.ts +10 -0
- package/dist/types/surfaces/index.d.ts +4 -3
- package/dist/types/surfaces/person-color.d.ts +2 -2
- package/dist/types/surfaces/stat-cell-messages.d.ts +19 -0
- package/dist/types/widgets/Dashboard.d.ts +42 -0
- package/dist/types/widgets/index.d.ts +1 -0
- package/package.json +7 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { template as _$template } from "solid-js/web";
|
|
2
2
|
import { delegateEvents as _$delegateEvents } from "solid-js/web";
|
|
3
|
-
import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
|
|
4
|
-
import { use as _$use } from "solid-js/web";
|
|
5
3
|
import { memo as _$memo } from "solid-js/web";
|
|
4
|
+
import { setProperty as _$setProperty } from "solid-js/web";
|
|
5
|
+
import { use as _$use } from "solid-js/web";
|
|
6
|
+
import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
|
|
6
7
|
import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
|
|
7
8
|
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
8
9
|
import { className as _$className } from "solid-js/web";
|
|
@@ -17,22 +18,37 @@ var _tmpl$ = /*#__PURE__*/_$template(`<span class=k2b-data-table__header-title>`
|
|
|
17
18
|
_tmpl$4 = /*#__PURE__*/_$template(`<a class="k2b-data-table__header-content k2b-data-table__sort">`),
|
|
18
19
|
_tmpl$5 = /*#__PURE__*/_$template(`<button type=button class="k2b-data-table__header-content k2b-data-table__sort">`),
|
|
19
20
|
_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(`<
|
|
23
|
-
_tmpl$0 = /*#__PURE__*/_$template(`<
|
|
24
|
-
_tmpl$1 = /*#__PURE__*/_$template(`<
|
|
25
|
-
_tmpl$10 = /*#__PURE__*/_$template(`<
|
|
26
|
-
_tmpl$11 = /*#__PURE__*/_$template(`<
|
|
27
|
-
_tmpl$12 = /*#__PURE__*/_$template(`<
|
|
28
|
-
_tmpl$13 = /*#__PURE__*/_$template(`<
|
|
29
|
-
_tmpl$14 = /*#__PURE__*/_$template(`<
|
|
30
|
-
_tmpl$15 = /*#__PURE__*/_$template(`<
|
|
31
|
-
_tmpl$16 = /*#__PURE__*/_$template(`<td class=k2b-data-
|
|
32
|
-
_tmpl$17 = /*#__PURE__*/_$template(`<
|
|
33
|
-
_tmpl$18 = /*#__PURE__*/_$template(`<
|
|
34
|
-
_tmpl$19 = /*#__PURE__*/_$template(`<
|
|
35
|
-
_tmpl$20 = /*#__PURE__*/_$template(`<
|
|
21
|
+
_tmpl$7 = /*#__PURE__*/_$template(`<span class=k2b-data-table__bar><!$><!/><span class=k2b-data-table__bar-track aria-hidden=true><span>`),
|
|
22
|
+
_tmpl$8 = /*#__PURE__*/_$template(`<td class=k2b-data-table__details-toggle><button type=button class=k2b-data-table__details-button><i aria-hidden=true>`),
|
|
23
|
+
_tmpl$9 = /*#__PURE__*/_$template(`<tr><!$><!/><!$><!/>`),
|
|
24
|
+
_tmpl$0 = /*#__PURE__*/_$template(`<tr class=k2b-data-table__details><td><dl>`),
|
|
25
|
+
_tmpl$1 = /*#__PURE__*/_$template(`<td><div>`),
|
|
26
|
+
_tmpl$10 = /*#__PURE__*/_$template(`<div><dt></dt><dd>`),
|
|
27
|
+
_tmpl$11 = /*#__PURE__*/_$template(`<caption class=k2b-sr-only>`),
|
|
28
|
+
_tmpl$12 = /*#__PURE__*/_$template(`<th scope=col class=k2b-data-table__details-toggle><span class=k2b-sr-only>`),
|
|
29
|
+
_tmpl$13 = /*#__PURE__*/_$template(`<div class=k2b-data-table__sentinel aria-hidden=true>`),
|
|
30
|
+
_tmpl$14 = /*#__PURE__*/_$template(`<div role=region tabindex=0><table><!$><!/><thead class=k2b-data-table__head><tr class=k2b-data-table__head-row><!$><!/><!$><!/></tr></thead><!$><!/><!$><!/></table><!$><!/>`),
|
|
31
|
+
_tmpl$15 = /*#__PURE__*/_$template(`<th scope=col>`),
|
|
32
|
+
_tmpl$16 = /*#__PURE__*/_$template(`<tr aria-hidden=true><td class=k2b-data-table__fill>`),
|
|
33
|
+
_tmpl$17 = /*#__PURE__*/_$template(`<tbody>`),
|
|
34
|
+
_tmpl$18 = /*#__PURE__*/_$template(`<tr>`),
|
|
35
|
+
_tmpl$19 = /*#__PURE__*/_$template(`<td class=k2b-data-table__empty>`),
|
|
36
|
+
_tmpl$20 = /*#__PURE__*/_$template(`<button type=button class=k2b-data-table__clear-query>`),
|
|
37
|
+
_tmpl$21 = /*#__PURE__*/_$template(`<td class=k2b-data-table__no-match><!$><!/> <!$><!/>`),
|
|
38
|
+
_tmpl$22 = /*#__PURE__*/_$template(`<td class=k2b-data-table__details-toggle>`),
|
|
39
|
+
_tmpl$23 = /*#__PURE__*/_$template(`<tr class=k2b-data-table__row data-loading=true aria-hidden=true><!$><!/><!$><!/>`),
|
|
40
|
+
_tmpl$24 = /*#__PURE__*/_$template(`<td><span class=k2b-data-table__skeleton>`),
|
|
41
|
+
_tmpl$25 = /*#__PURE__*/_$template(`<tbody><!$><!/><!$><!/>`),
|
|
42
|
+
_tmpl$26 = /*#__PURE__*/_$template(`<tbody aria-hidden=true><tr><td class=k2b-data-table__fill>`),
|
|
43
|
+
_tmpl$27 = /*#__PURE__*/_$template(`<tbody class=k2b-data-table__group><tr class=k2b-data-table__group-row><th scope=rowgroup><!$><!/><span class=k2b-data-table__group-count><span aria-hidden=true></span><span class=k2b-sr-only>, <!$><!/></span></span></th></tr><!$><!/>`),
|
|
44
|
+
_tmpl$28 = /*#__PURE__*/_$template(`<td class="k2b-data-table__footer-cell k2b-data-table__details-toggle">`),
|
|
45
|
+
_tmpl$29 = /*#__PURE__*/_$template(`<tr class=k2b-data-table__details data-footer=true><td><dl>`),
|
|
46
|
+
_tmpl$30 = /*#__PURE__*/_$template(`<tfoot class=k2b-data-table__foot data-sticky=true><tr class=k2b-data-table__foot-row><!$><!/><!$><!/></tr><!$><!/>`),
|
|
47
|
+
_tmpl$31 = /*#__PURE__*/_$template(`<td class=k2b-data-table__footer-cell>`),
|
|
48
|
+
_tmpl$32 = /*#__PURE__*/_$template(`<div class=k2b-data-table__scrollbar aria-hidden=true><span>`),
|
|
49
|
+
_tmpl$33 = /*#__PURE__*/_$template(`<div>`),
|
|
50
|
+
_tmpl$34 = /*#__PURE__*/_$template(`<span>`),
|
|
51
|
+
_tmpl$35 = /*#__PURE__*/_$template(`<footer>`);
|
|
36
52
|
import { createContext, createEffect, createMemo, createSignal, createUniqueId, For, Match, on, onCleanup, onMount, Show, Switch, useContext } from "solid-js";
|
|
37
53
|
import { Dynamic } from "solid-js/web";
|
|
38
54
|
import { announce } from "../feedback/announce";
|
|
@@ -40,15 +56,20 @@ import { suppressTextSelection } from "../internal/text-selection";
|
|
|
40
56
|
import { useLocale } from "../intl/locale";
|
|
41
57
|
import { useUiMessages } from "../intl/messages";
|
|
42
58
|
import { PanelHeader } from "../layout/PanelHeader";
|
|
59
|
+
import { DeltaBadge } from "../surfaces/delta-badge";
|
|
43
60
|
import { Paper } from "../surfaces/Paper";
|
|
44
61
|
import Placeholder from "../surfaces/Placeholder";
|
|
62
|
+
import { StatusBadge } from "../surfaces/StatusBadge";
|
|
63
|
+
import { formatTableNumber, groupRows, isEmptyCell, isNumericColumnType, readTableValue, tableCellText } from "./data-table-columns";
|
|
45
64
|
import { useDataTableMessages } from "./data-table-messages";
|
|
65
|
+
import { FlowAmount } from "./FlowAmount";
|
|
46
66
|
const DataTablePanelContext = createContext();
|
|
47
|
-
const defaultRender = (value, locale, messages) => {
|
|
67
|
+
const defaultRender = (value, locale, numbers, messages) => {
|
|
48
68
|
if (value === null || value === undefined || value === "") return "—";
|
|
49
69
|
if (value instanceof Date) return value.toLocaleString(locale);
|
|
50
70
|
if (typeof value === "boolean") return value ? messages.yes : messages.no;
|
|
51
|
-
|
|
71
|
+
// Numbers read in the reader's language: grouping and decimal mark follow the locale, at most three decimals.
|
|
72
|
+
if (typeof value === "number" || typeof value === "bigint") return numbers.format(Object.is(value, -0) ? 0 : value);
|
|
52
73
|
if (typeof value === "string") return value;
|
|
53
74
|
return JSON.stringify(value);
|
|
54
75
|
};
|
|
@@ -197,17 +218,14 @@ function DataTableRoot(props) {
|
|
|
197
218
|
suppressTextSelection(event.pointerId);
|
|
198
219
|
scrollFromPointer(event, axis);
|
|
199
220
|
};
|
|
200
|
-
const valueOf = (row, col) =>
|
|
201
|
-
if (typeof col.value === "function") return col.value(row);
|
|
202
|
-
if (col.value) return row[col.value];
|
|
203
|
-
return undefined;
|
|
204
|
-
};
|
|
221
|
+
const valueOf = (row, col) => readTableValue(row, col);
|
|
205
222
|
const columnPresentation = createMemo(() => {
|
|
206
223
|
const presentation = new Map();
|
|
207
224
|
for (const col of props.columns) {
|
|
208
|
-
|
|
209
|
-
let
|
|
210
|
-
|
|
225
|
+
// A typed column says what it holds; only an untyped one is read from its first value.
|
|
226
|
+
let numeric = isNumericColumnType(col.type);
|
|
227
|
+
let date = col.type === "date";
|
|
228
|
+
if (!col.type && (col.align === undefined || col.nowrap === undefined)) {
|
|
211
229
|
for (const row of props.rows) {
|
|
212
230
|
const value = valueOf(row, col);
|
|
213
231
|
if (value === null || value === undefined || value === "") continue;
|
|
@@ -230,6 +248,44 @@ function DataTableRoot(props) {
|
|
|
230
248
|
return align === "left" ? undefined : align;
|
|
231
249
|
};
|
|
232
250
|
const nowrapAttr = col => columnPresentation().get(col.id)?.nowrap ? "true" : undefined;
|
|
251
|
+
/** Text columns wrap inside their cell; every other value keeps one line. */
|
|
252
|
+
const wrapAttr = col => col.type === "text" && col.nowrap !== true ? "true" : undefined;
|
|
253
|
+
const priorityAttr = col => col.priority === 2 || col.priority === 3 ? String(col.priority) : undefined;
|
|
254
|
+
/** The lowest priority present: 3 shows the details toggle below 560 px, 2 below 420 px. */
|
|
255
|
+
const detailsPriority = createMemo(() => {
|
|
256
|
+
const priorities = props.columns.map(col => col.priority ?? 1);
|
|
257
|
+
return priorities.includes(3) ? "3" : priorities.includes(2) ? "2" : undefined;
|
|
258
|
+
});
|
|
259
|
+
const hiddenColumns = () => props.columns.filter(col => priorityAttr(col));
|
|
260
|
+
const columnCount = () => props.columns.length + (detailsPriority() ? 1 : 0);
|
|
261
|
+
const [openDetails, setOpenDetails] = createSignal(new Set());
|
|
262
|
+
const toggleDetails = row => setOpenDetails(open => {
|
|
263
|
+
const next = new Set(open);
|
|
264
|
+
if (!next.delete(row)) next.add(row);
|
|
265
|
+
return next;
|
|
266
|
+
});
|
|
267
|
+
/** A bar column fills its track at `max`, or else at its largest value. */
|
|
268
|
+
const barMax = createMemo(() => {
|
|
269
|
+
const max = new Map();
|
|
270
|
+
for (const col of props.columns) {
|
|
271
|
+
if (col.type !== "bar") continue;
|
|
272
|
+
if (col.max !== undefined && col.max > 0) {
|
|
273
|
+
max.set(col.id, col.max);
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
let largest = 0;
|
|
277
|
+
for (const row of props.rows) {
|
|
278
|
+
const value = Number(valueOf(row, col));
|
|
279
|
+
if (Number.isFinite(value)) largest = Math.max(largest, Math.abs(value));
|
|
280
|
+
}
|
|
281
|
+
max.set(col.id, largest);
|
|
282
|
+
}
|
|
283
|
+
return max;
|
|
284
|
+
});
|
|
285
|
+
const groups = createMemo(() => {
|
|
286
|
+
const col = props.groupBy ? props.columns.find(entry => entry.id === props.groupBy) : undefined;
|
|
287
|
+
return col ? groupRows(props.rows, col, locale()) : null;
|
|
288
|
+
});
|
|
233
289
|
const sortKeyOf = col => col.sortable === true ? col.id : typeof col.sortable === "string" ? col.sortable : null;
|
|
234
290
|
|
|
235
291
|
/**
|
|
@@ -332,8 +388,60 @@ function DataTableRoot(props) {
|
|
|
332
388
|
}
|
|
333
389
|
});
|
|
334
390
|
};
|
|
335
|
-
const
|
|
336
|
-
const
|
|
391
|
+
const numberFormat = createMemo(() => new Intl.NumberFormat(locale()));
|
|
392
|
+
const renderValueDefault = value => defaultRender(value, locale(), numberFormat(), messages());
|
|
393
|
+
/** A typed column shows its value the way its type reads; an untyped one falls back to the plain rendering. */
|
|
394
|
+
const renderTypedValue = (col, value) => {
|
|
395
|
+
if (!col.type || isEmptyCell(value)) return renderValueDefault(value);
|
|
396
|
+
if (col.type === "status") {
|
|
397
|
+
const state = col.states?.[String(value)];
|
|
398
|
+
return state ? _$createComponent(StatusBadge, {
|
|
399
|
+
get tone() {
|
|
400
|
+
return state.tone;
|
|
401
|
+
},
|
|
402
|
+
get label() {
|
|
403
|
+
return state.label;
|
|
404
|
+
},
|
|
405
|
+
variant: "dot"
|
|
406
|
+
}) : String(value);
|
|
407
|
+
}
|
|
408
|
+
if (col.type === "flow" && col.format?.currency && Number.isFinite(Number(value))) return _$createComponent(FlowAmount, {
|
|
409
|
+
get value() {
|
|
410
|
+
return Number(value);
|
|
411
|
+
},
|
|
412
|
+
get currency() {
|
|
413
|
+
return col.format.currency;
|
|
414
|
+
},
|
|
415
|
+
get decimals() {
|
|
416
|
+
return col.format.decimals;
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
if (col.type === "delta" && Number.isFinite(Number(value))) return _$createComponent(DeltaBadge, {
|
|
420
|
+
get delta() {
|
|
421
|
+
return {
|
|
422
|
+
value: Number(value),
|
|
423
|
+
unit: col.delta?.unit,
|
|
424
|
+
better: col.delta?.better
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
if (col.type === "bar") {
|
|
429
|
+
const number = Number(value);
|
|
430
|
+
const max = barMax().get(col.id) ?? 0;
|
|
431
|
+
if (!Number.isFinite(number)) return String(value);
|
|
432
|
+
return (() => {
|
|
433
|
+
var _el$0 = _$getNextElement(_tmpl$7),
|
|
434
|
+
_el$11 = _el$0.firstChild,
|
|
435
|
+
[_el$12, _co$2] = _$getNextMarker(_el$11.nextSibling),
|
|
436
|
+
_el$1 = _el$12.nextSibling,
|
|
437
|
+
_el$10 = _el$1.firstChild;
|
|
438
|
+
_$insert(_el$0, () => formatTableNumber(number, col, locale()), _el$12, _co$2);
|
|
439
|
+
_$effect(_$p => _$setStyleProperty(_el$10, "width", `${max > 0 ? Math.min(100, Math.abs(number) / max * 100) : 0}%`));
|
|
440
|
+
return _el$0;
|
|
441
|
+
})();
|
|
442
|
+
}
|
|
443
|
+
return tableCellText(value, col, locale());
|
|
444
|
+
};
|
|
337
445
|
const onRowKeyDown = (event, row) => {
|
|
338
446
|
if (!isInteractive()) return;
|
|
339
447
|
if (isNestedRowControl(event)) return;
|
|
@@ -357,6 +465,179 @@ function DataTableRoot(props) {
|
|
|
357
465
|
if (typeof props.rowClass === "function") return props.rowClass(row) ?? "";
|
|
358
466
|
return props.rowClass ?? "";
|
|
359
467
|
};
|
|
468
|
+
|
|
469
|
+
// A heading given as a JSX node lives in the head; each details line needs its own copy, so it takes text or a fresh call.
|
|
470
|
+
const detailLabel = col => typeof col.header === "function" ? col.header({
|
|
471
|
+
col
|
|
472
|
+
}) : typeof col.header === "string" || typeof col.header === "number" ? col.header : col.id;
|
|
473
|
+
const cellContent = (row, col, value) => props.renderCell ? props.renderCell({
|
|
474
|
+
row,
|
|
475
|
+
col,
|
|
476
|
+
value,
|
|
477
|
+
render: v => renderTypedValue(col, v)
|
|
478
|
+
}) : renderTypedValue(col, value);
|
|
479
|
+
|
|
480
|
+
/** `last` marks the final row of its body when details rows follow every row, so the frame keeps the only edge. */
|
|
481
|
+
const renderRow = (row, last) => {
|
|
482
|
+
const id = () => rowId(row);
|
|
483
|
+
const isSelected = () => props.selection ? props.selection.selected().has(id() ?? "") : props.selectedRowId && id() === props.selectedRowId;
|
|
484
|
+
const detailsId = `k2b-data-table-${createUniqueId()}-details`;
|
|
485
|
+
const open = () => openDetails().has(row);
|
|
486
|
+
return [(() => {
|
|
487
|
+
var _el$13 = _$getNextElement(_tmpl$9),
|
|
488
|
+
_el$17 = _el$13.firstChild,
|
|
489
|
+
[_el$18, _co$3] = _$getNextMarker(_el$17.nextSibling),
|
|
490
|
+
_el$19 = _el$18.nextSibling,
|
|
491
|
+
[_el$20, _co$4] = _$getNextMarker(_el$19.nextSibling);
|
|
492
|
+
_el$13.$$keydown = e => onRowKeyDown(e, row);
|
|
493
|
+
_el$13.$$contextmenu = () => props.onRowContextMenu?.(row);
|
|
494
|
+
_el$13.$$dblclick = event => onRowDoubleClick(event, row);
|
|
495
|
+
_el$13.$$click = event => onRowClick(event, row);
|
|
496
|
+
_el$13.addEventListener("focus", () => {
|
|
497
|
+
const key = id();
|
|
498
|
+
if (key !== undefined) props.selection?.markFocused(key);
|
|
499
|
+
});
|
|
500
|
+
_$use(element => {
|
|
501
|
+
const key = id();
|
|
502
|
+
if (key !== undefined) props.selection?.register(key, element);
|
|
503
|
+
}, _el$13);
|
|
504
|
+
_$insert(_el$13, _$createComponent(For, {
|
|
505
|
+
get each() {
|
|
506
|
+
return props.columns;
|
|
507
|
+
},
|
|
508
|
+
children: (col, index) => {
|
|
509
|
+
const value = () => valueOf(row, col);
|
|
510
|
+
return (() => {
|
|
511
|
+
var _el$24 = _$getNextElement(_tmpl$1),
|
|
512
|
+
_el$25 = _el$24.firstChild;
|
|
513
|
+
_el$24.addEventListener("mouseenter", () => setHoveredColumnIfEnabled(index()));
|
|
514
|
+
_$insert(_el$25, () => cellContent(row, col, value()));
|
|
515
|
+
_$effect(_p$ => {
|
|
516
|
+
var _v$16 = `${col.cellClass ?? ""} ${col.class ?? ""}`,
|
|
517
|
+
_v$17 = nowrapAttr(col),
|
|
518
|
+
_v$18 = wrapAttr(col),
|
|
519
|
+
_v$19 = alignAttr(col),
|
|
520
|
+
_v$20 = priorityAttr(col),
|
|
521
|
+
_v$21 = props.verticalAlign && props.verticalAlign !== "middle" ? props.verticalAlign : undefined,
|
|
522
|
+
_v$22 = columnHighlighted(index()),
|
|
523
|
+
_v$23 = cellContentClass();
|
|
524
|
+
_v$16 !== _p$.e && _$className(_el$24, _p$.e = _v$16);
|
|
525
|
+
_v$17 !== _p$.t && _$setAttribute(_el$24, "data-nowrap", _p$.t = _v$17);
|
|
526
|
+
_v$18 !== _p$.a && _$setAttribute(_el$24, "data-wrap", _p$.a = _v$18);
|
|
527
|
+
_v$19 !== _p$.o && _$setAttribute(_el$24, "data-align", _p$.o = _v$19);
|
|
528
|
+
_v$20 !== _p$.i && _$setAttribute(_el$24, "data-priority", _p$.i = _v$20);
|
|
529
|
+
_v$21 !== _p$.n && _$setAttribute(_el$24, "data-valign", _p$.n = _v$21);
|
|
530
|
+
_v$22 !== _p$.s && _$setAttribute(_el$24, "data-highlighted", _p$.s = _v$22);
|
|
531
|
+
_v$23 !== _p$.h && _$className(_el$25, _p$.h = _v$23);
|
|
532
|
+
return _p$;
|
|
533
|
+
}, {
|
|
534
|
+
e: undefined,
|
|
535
|
+
t: undefined,
|
|
536
|
+
a: undefined,
|
|
537
|
+
o: undefined,
|
|
538
|
+
i: undefined,
|
|
539
|
+
n: undefined,
|
|
540
|
+
s: undefined,
|
|
541
|
+
h: undefined
|
|
542
|
+
});
|
|
543
|
+
return _el$24;
|
|
544
|
+
})();
|
|
545
|
+
}
|
|
546
|
+
}), _el$18, _co$3);
|
|
547
|
+
_$insert(_el$13, _$createComponent(Show, {
|
|
548
|
+
get when() {
|
|
549
|
+
return detailsPriority();
|
|
550
|
+
},
|
|
551
|
+
get children() {
|
|
552
|
+
var _el$14 = _$getNextElement(_tmpl$8),
|
|
553
|
+
_el$15 = _el$14.firstChild,
|
|
554
|
+
_el$16 = _el$15.firstChild;
|
|
555
|
+
_el$15.$$click = () => toggleDetails(row);
|
|
556
|
+
_$setAttribute(_el$15, "aria-controls", detailsId);
|
|
557
|
+
_$effect(_p$ => {
|
|
558
|
+
var _v$5 = open(),
|
|
559
|
+
_v$6 = dataTableMessages().showDetails,
|
|
560
|
+
_v$7 = `ti ${open() ? "ti-chevron-up" : "ti-chevron-down"}`;
|
|
561
|
+
_v$5 !== _p$.e && _$setAttribute(_el$15, "aria-expanded", _p$.e = _v$5);
|
|
562
|
+
_v$6 !== _p$.t && _$setAttribute(_el$15, "aria-label", _p$.t = _v$6);
|
|
563
|
+
_v$7 !== _p$.a && _$className(_el$16, _p$.a = _v$7);
|
|
564
|
+
return _p$;
|
|
565
|
+
}, {
|
|
566
|
+
e: undefined,
|
|
567
|
+
t: undefined,
|
|
568
|
+
a: undefined
|
|
569
|
+
});
|
|
570
|
+
_$runHydrationEvents();
|
|
571
|
+
return _el$14;
|
|
572
|
+
}
|
|
573
|
+
}), _el$20, _co$4);
|
|
574
|
+
_$effect(_p$ => {
|
|
575
|
+
var _v$8 = `k2b-data-table__row ${rowClass(row)}`,
|
|
576
|
+
_v$9 = shouldHoverRows() ? "true" : undefined,
|
|
577
|
+
_v$0 = shouldHoverRows() && isInteractive() ? "true" : undefined,
|
|
578
|
+
_v$1 = isSelected() ? "true" : undefined,
|
|
579
|
+
_v$10 = open() ? "true" : undefined,
|
|
580
|
+
_v$11 = detailsPriority() && last() ? "true" : undefined,
|
|
581
|
+
_v$12 = props.selection ? !!isSelected() : undefined,
|
|
582
|
+
_v$13 = props.selection ? props.selection.focused() === id() ? 0 : -1 : isInteractive() ? 0 : undefined;
|
|
583
|
+
_v$8 !== _p$.e && _$className(_el$13, _p$.e = _v$8);
|
|
584
|
+
_v$9 !== _p$.t && _$setAttribute(_el$13, "data-hover", _p$.t = _v$9);
|
|
585
|
+
_v$0 !== _p$.a && _$setAttribute(_el$13, "data-clickable", _p$.a = _v$0);
|
|
586
|
+
_v$1 !== _p$.o && _$setAttribute(_el$13, "data-selected", _p$.o = _v$1);
|
|
587
|
+
_v$10 !== _p$.i && _$setAttribute(_el$13, "data-details-open", _p$.i = _v$10);
|
|
588
|
+
_v$11 !== _p$.n && _$setAttribute(_el$13, "data-last", _p$.n = _v$11);
|
|
589
|
+
_v$12 !== _p$.s && _$setAttribute(_el$13, "aria-selected", _p$.s = _v$12);
|
|
590
|
+
_v$13 !== _p$.h && _$setAttribute(_el$13, "tabindex", _p$.h = _v$13);
|
|
591
|
+
return _p$;
|
|
592
|
+
}, {
|
|
593
|
+
e: undefined,
|
|
594
|
+
t: undefined,
|
|
595
|
+
a: undefined,
|
|
596
|
+
o: undefined,
|
|
597
|
+
i: undefined,
|
|
598
|
+
n: undefined,
|
|
599
|
+
s: undefined,
|
|
600
|
+
h: undefined
|
|
601
|
+
});
|
|
602
|
+
_$runHydrationEvents();
|
|
603
|
+
return _el$13;
|
|
604
|
+
})(), _$createComponent(Show, {
|
|
605
|
+
get when() {
|
|
606
|
+
return detailsPriority();
|
|
607
|
+
},
|
|
608
|
+
get children() {
|
|
609
|
+
var _el$21 = _$getNextElement(_tmpl$0),
|
|
610
|
+
_el$22 = _el$21.firstChild,
|
|
611
|
+
_el$23 = _el$22.firstChild;
|
|
612
|
+
_$setAttribute(_el$21, "id", detailsId);
|
|
613
|
+
_$insert(_el$23, _$createComponent(For, {
|
|
614
|
+
get each() {
|
|
615
|
+
return hiddenColumns();
|
|
616
|
+
},
|
|
617
|
+
children: col => (() => {
|
|
618
|
+
var _el$26 = _$getNextElement(_tmpl$10),
|
|
619
|
+
_el$27 = _el$26.firstChild,
|
|
620
|
+
_el$28 = _el$27.nextSibling;
|
|
621
|
+
_$insert(_el$27, () => detailLabel(col));
|
|
622
|
+
_$insert(_el$28, () => cellContent(row, col, valueOf(row, col)));
|
|
623
|
+
_$effect(() => _$setAttribute(_el$26, "data-priority", priorityAttr(col)));
|
|
624
|
+
return _el$26;
|
|
625
|
+
})()
|
|
626
|
+
}));
|
|
627
|
+
_$effect(_p$ => {
|
|
628
|
+
var _v$14 = !open(),
|
|
629
|
+
_v$15 = columnCount();
|
|
630
|
+
_v$14 !== _p$.e && _$setProperty(_el$21, "hidden", _p$.e = _v$14);
|
|
631
|
+
_v$15 !== _p$.t && _$setAttribute(_el$22, "colspan", _p$.t = _v$15);
|
|
632
|
+
return _p$;
|
|
633
|
+
}, {
|
|
634
|
+
e: undefined,
|
|
635
|
+
t: undefined
|
|
636
|
+
});
|
|
637
|
+
return _el$21;
|
|
638
|
+
}
|
|
639
|
+
})];
|
|
640
|
+
};
|
|
360
641
|
onMount(() => {
|
|
361
642
|
if (typeof IntersectionObserver === "undefined" || !loadMoreRef) return;
|
|
362
643
|
// The viewport root notices the end whichever element scrolls; `isNearBottom` decides.
|
|
@@ -424,6 +705,9 @@ function DataTableRoot(props) {
|
|
|
424
705
|
get ["data-has-footer"]() {
|
|
425
706
|
return props.footer ? "true" : undefined;
|
|
426
707
|
},
|
|
708
|
+
get ["data-priorities"]() {
|
|
709
|
+
return detailsPriority();
|
|
710
|
+
},
|
|
427
711
|
get ["data-overflow-x"]() {
|
|
428
712
|
return scrollbars().x.overflow ? "true" : undefined;
|
|
429
713
|
},
|
|
@@ -439,40 +723,45 @@ function DataTableRoot(props) {
|
|
|
439
723
|
onMouseLeave: () => setHoveredColumn(null),
|
|
440
724
|
get children() {
|
|
441
725
|
return [(() => {
|
|
442
|
-
var _el$
|
|
443
|
-
_el$
|
|
444
|
-
_el$
|
|
445
|
-
[_el$
|
|
446
|
-
_el$
|
|
447
|
-
_el$
|
|
448
|
-
_el$
|
|
449
|
-
_el$
|
|
450
|
-
|
|
451
|
-
_el$
|
|
452
|
-
|
|
453
|
-
|
|
726
|
+
var _el$29 = _$getNextElement(_tmpl$14),
|
|
727
|
+
_el$30 = _el$29.firstChild,
|
|
728
|
+
_el$40 = _el$30.firstChild,
|
|
729
|
+
[_el$41, _co$7] = _$getNextMarker(_el$40.nextSibling),
|
|
730
|
+
_el$32 = _el$41.nextSibling,
|
|
731
|
+
_el$33 = _el$32.firstChild,
|
|
732
|
+
_el$36 = _el$33.firstChild,
|
|
733
|
+
[_el$37, _co$5] = _$getNextMarker(_el$36.nextSibling),
|
|
734
|
+
_el$38 = _el$37.nextSibling,
|
|
735
|
+
[_el$39, _co$6] = _$getNextMarker(_el$38.nextSibling),
|
|
736
|
+
_el$42 = _el$32.nextSibling,
|
|
737
|
+
[_el$43, _co$8] = _$getNextMarker(_el$42.nextSibling),
|
|
738
|
+
_el$44 = _el$43.nextSibling,
|
|
739
|
+
[_el$45, _co$9] = _$getNextMarker(_el$44.nextSibling),
|
|
740
|
+
_el$47 = _el$30.nextSibling,
|
|
741
|
+
[_el$48, _co$0] = _$getNextMarker(_el$47.nextSibling);
|
|
742
|
+
_el$29.addEventListener("scroll", onScroll);
|
|
454
743
|
var _ref$ = scrollRef;
|
|
455
|
-
typeof _ref$ === "function" ? _$use(_ref$, _el$
|
|
744
|
+
typeof _ref$ === "function" ? _$use(_ref$, _el$29) : scrollRef = _el$29;
|
|
456
745
|
var _ref$2 = tableRef;
|
|
457
|
-
typeof _ref$2 === "function" ? _$use(_ref$2, _el$
|
|
458
|
-
_$insert(_el$
|
|
746
|
+
typeof _ref$2 === "function" ? _$use(_ref$2, _el$30) : tableRef = _el$30;
|
|
747
|
+
_$insert(_el$30, _$createComponent(Show, {
|
|
459
748
|
get when() {
|
|
460
749
|
return props.loading;
|
|
461
750
|
},
|
|
462
751
|
get children() {
|
|
463
|
-
var _el$
|
|
464
|
-
_$insert(_el$
|
|
465
|
-
return _el$
|
|
752
|
+
var _el$31 = _$getNextElement(_tmpl$11);
|
|
753
|
+
_$insert(_el$31, () => dataTableMessages().loadingRows);
|
|
754
|
+
return _el$31;
|
|
466
755
|
}
|
|
467
|
-
}), _el$
|
|
468
|
-
_$insert(_el$
|
|
756
|
+
}), _el$41, _co$7);
|
|
757
|
+
_$insert(_el$33, _$createComponent(For, {
|
|
469
758
|
get each() {
|
|
470
759
|
return props.columns;
|
|
471
760
|
},
|
|
472
761
|
children: (col, index) => (() => {
|
|
473
|
-
var _el$
|
|
474
|
-
_el$
|
|
475
|
-
_$insert(_el$
|
|
762
|
+
var _el$49 = _$getNextElement(_tmpl$15);
|
|
763
|
+
_el$49.addEventListener("mouseenter", () => setHoveredColumnIfEnabled(index()));
|
|
764
|
+
_$insert(_el$49, (() => {
|
|
476
765
|
var _c$ = _$memo(() => !!props.renderHeader);
|
|
477
766
|
return () => _c$() ? props.renderHeader({
|
|
478
767
|
col,
|
|
@@ -480,268 +769,362 @@ function DataTableRoot(props) {
|
|
|
480
769
|
}) : renderHeaderDefault(col);
|
|
481
770
|
})());
|
|
482
771
|
_$effect(_p$ => {
|
|
483
|
-
var _v$
|
|
484
|
-
_v$
|
|
485
|
-
_v$
|
|
486
|
-
_v$
|
|
487
|
-
|
|
488
|
-
_v$
|
|
489
|
-
_v$
|
|
490
|
-
_v$
|
|
772
|
+
var _v$35 = `${col.headerClass ?? ""} ${col.class ?? ""}`,
|
|
773
|
+
_v$36 = alignAttr(col),
|
|
774
|
+
_v$37 = priorityAttr(col),
|
|
775
|
+
_v$38 = columnHighlighted(index()),
|
|
776
|
+
_v$39 = ariaSortFor(col);
|
|
777
|
+
_v$35 !== _p$.e && _$className(_el$49, _p$.e = _v$35);
|
|
778
|
+
_v$36 !== _p$.t && _$setAttribute(_el$49, "data-align", _p$.t = _v$36);
|
|
779
|
+
_v$37 !== _p$.a && _$setAttribute(_el$49, "data-priority", _p$.a = _v$37);
|
|
780
|
+
_v$38 !== _p$.o && _$setAttribute(_el$49, "data-highlighted", _p$.o = _v$38);
|
|
781
|
+
_v$39 !== _p$.i && _$setAttribute(_el$49, "aria-sort", _p$.i = _v$39);
|
|
491
782
|
return _p$;
|
|
492
783
|
}, {
|
|
493
784
|
e: undefined,
|
|
494
785
|
t: undefined,
|
|
495
786
|
a: undefined,
|
|
496
|
-
o: undefined
|
|
787
|
+
o: undefined,
|
|
788
|
+
i: undefined
|
|
497
789
|
});
|
|
498
|
-
return _el$
|
|
790
|
+
return _el$49;
|
|
499
791
|
})()
|
|
500
|
-
}));
|
|
501
|
-
_$insert(_el$
|
|
792
|
+
}), _el$37, _co$5);
|
|
793
|
+
_$insert(_el$33, _$createComponent(Show, {
|
|
794
|
+
get when() {
|
|
795
|
+
return detailsPriority();
|
|
796
|
+
},
|
|
797
|
+
get children() {
|
|
798
|
+
var _el$34 = _$getNextElement(_tmpl$12),
|
|
799
|
+
_el$35 = _el$34.firstChild;
|
|
800
|
+
_$insert(_el$35, () => dataTableMessages().details);
|
|
801
|
+
return _el$34;
|
|
802
|
+
}
|
|
803
|
+
}), _el$39, _co$6);
|
|
804
|
+
_$insert(_el$30, _$createComponent(Show, {
|
|
502
805
|
get when() {
|
|
503
806
|
return props.rows.length > 0;
|
|
504
807
|
},
|
|
505
808
|
get fallback() {
|
|
506
|
-
return
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
children: () => (() => {
|
|
531
|
-
var _el$28 = _$getNextElement(_tmpl$11);
|
|
532
|
-
_$insert(_el$28, _$createComponent(For, {
|
|
533
|
-
get each() {
|
|
534
|
-
return props.columns;
|
|
809
|
+
return (() => {
|
|
810
|
+
var _el$50 = _$getNextElement(_tmpl$17);
|
|
811
|
+
_$insert(_el$50, _$createComponent(Show, {
|
|
812
|
+
get when() {
|
|
813
|
+
return props.loading;
|
|
814
|
+
},
|
|
815
|
+
get fallback() {
|
|
816
|
+
return (() => {
|
|
817
|
+
var _el$53 = _$getNextElement(_tmpl$18);
|
|
818
|
+
_$insert(_el$53, _$createComponent(Show, {
|
|
819
|
+
get when() {
|
|
820
|
+
return props.query?.trim();
|
|
821
|
+
},
|
|
822
|
+
get fallback() {
|
|
823
|
+
return (() => {
|
|
824
|
+
var _el$54 = _$getNextElement(_tmpl$19);
|
|
825
|
+
_$insert(_el$54, _$createComponent(Placeholder, {
|
|
826
|
+
get description() {
|
|
827
|
+
return _$memo(() => props.empty ?? dataTableMessages().noRecords);
|
|
828
|
+
}
|
|
829
|
+
}));
|
|
830
|
+
_$effect(() => _$setAttribute(_el$54, "colspan", columnCount()));
|
|
831
|
+
return _el$54;
|
|
832
|
+
})();
|
|
535
833
|
},
|
|
536
|
-
children:
|
|
537
|
-
var _el$
|
|
538
|
-
|
|
539
|
-
|
|
834
|
+
children: query => (() => {
|
|
835
|
+
var _el$55 = _$getNextElement(_tmpl$21),
|
|
836
|
+
_el$58 = _el$55.firstChild,
|
|
837
|
+
[_el$59, _co$1] = _$getNextMarker(_el$58.nextSibling),
|
|
838
|
+
_el$56 = _el$59.nextSibling,
|
|
839
|
+
_el$60 = _el$56.nextSibling,
|
|
840
|
+
[_el$61, _co$10] = _$getNextMarker(_el$60.nextSibling);
|
|
841
|
+
_$insert(_el$55, () => dataTableMessages().noMatch({
|
|
842
|
+
query: query()
|
|
843
|
+
}), _el$59, _co$1);
|
|
844
|
+
_$insert(_el$55, _$createComponent(Show, {
|
|
845
|
+
get when() {
|
|
846
|
+
return props.onClearQuery;
|
|
847
|
+
},
|
|
848
|
+
get children() {
|
|
849
|
+
var _el$57 = _$getNextElement(_tmpl$20);
|
|
850
|
+
_el$57.$$click = () => props.onClearQuery?.();
|
|
851
|
+
_$insert(_el$57, () => dataTableMessages().clearSearch);
|
|
852
|
+
_$runHydrationEvents();
|
|
853
|
+
return _el$57;
|
|
854
|
+
}
|
|
855
|
+
}), _el$61, _co$10);
|
|
856
|
+
_$effect(() => _$setAttribute(_el$55, "colspan", columnCount()));
|
|
857
|
+
return _el$55;
|
|
540
858
|
})()
|
|
541
859
|
}));
|
|
542
|
-
return _el$
|
|
543
|
-
})()
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
860
|
+
return _el$53;
|
|
861
|
+
})();
|
|
862
|
+
},
|
|
863
|
+
get children() {
|
|
864
|
+
return [_$createComponent(For, {
|
|
865
|
+
get each() {
|
|
866
|
+
return Array.from({
|
|
867
|
+
length: loadingRows()
|
|
868
|
+
});
|
|
869
|
+
},
|
|
870
|
+
children: () => (() => {
|
|
871
|
+
var _el$62 = _$getNextElement(_tmpl$23),
|
|
872
|
+
_el$64 = _el$62.firstChild,
|
|
873
|
+
[_el$65, _co$11] = _$getNextMarker(_el$64.nextSibling),
|
|
874
|
+
_el$66 = _el$65.nextSibling,
|
|
875
|
+
[_el$67, _co$12] = _$getNextMarker(_el$66.nextSibling);
|
|
876
|
+
_$insert(_el$62, _$createComponent(For, {
|
|
877
|
+
get each() {
|
|
878
|
+
return props.columns;
|
|
879
|
+
},
|
|
880
|
+
children: col => (() => {
|
|
881
|
+
var _el$68 = _$getNextElement(_tmpl$24);
|
|
882
|
+
_$effect(_p$ => {
|
|
883
|
+
var _v$40 = alignAttr(col),
|
|
884
|
+
_v$41 = priorityAttr(col);
|
|
885
|
+
_v$40 !== _p$.e && _$setAttribute(_el$68, "data-align", _p$.e = _v$40);
|
|
886
|
+
_v$41 !== _p$.t && _$setAttribute(_el$68, "data-priority", _p$.t = _v$41);
|
|
887
|
+
return _p$;
|
|
888
|
+
}, {
|
|
889
|
+
e: undefined,
|
|
890
|
+
t: undefined
|
|
891
|
+
});
|
|
892
|
+
return _el$68;
|
|
893
|
+
})()
|
|
894
|
+
}), _el$65, _co$11);
|
|
895
|
+
_$insert(_el$62, _$createComponent(Show, {
|
|
896
|
+
get when() {
|
|
897
|
+
return detailsPriority();
|
|
898
|
+
},
|
|
899
|
+
get children() {
|
|
900
|
+
return _$getNextElement(_tmpl$22);
|
|
901
|
+
}
|
|
902
|
+
}), _el$67, _co$12);
|
|
903
|
+
return _el$62;
|
|
904
|
+
})()
|
|
905
|
+
}), _$createComponent(Show, {
|
|
906
|
+
get when() {
|
|
907
|
+
return props.fillHeight;
|
|
908
|
+
},
|
|
909
|
+
get children() {
|
|
910
|
+
var _el$51 = _$getNextElement(_tmpl$16),
|
|
911
|
+
_el$52 = _el$51.firstChild;
|
|
912
|
+
_$effect(() => _$setAttribute(_el$52, "colspan", columnCount()));
|
|
913
|
+
return _el$51;
|
|
914
|
+
}
|
|
915
|
+
})];
|
|
916
|
+
}
|
|
917
|
+
}));
|
|
918
|
+
return _el$50;
|
|
919
|
+
})();
|
|
557
920
|
},
|
|
558
921
|
get children() {
|
|
559
|
-
return
|
|
560
|
-
get
|
|
561
|
-
return
|
|
922
|
+
return _$createComponent(Show, {
|
|
923
|
+
get when() {
|
|
924
|
+
return groups();
|
|
562
925
|
},
|
|
563
|
-
|
|
564
|
-
const id = () => rowId(row);
|
|
565
|
-
const isSelected = () => props.selection ? props.selection.selected().has(id() ?? "") : props.selectedRowId && id() === props.selectedRowId;
|
|
926
|
+
get fallback() {
|
|
566
927
|
return (() => {
|
|
567
|
-
var _el$
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
_el$
|
|
573
|
-
const key = id();
|
|
574
|
-
if (key !== undefined) props.selection?.markFocused(key);
|
|
575
|
-
});
|
|
576
|
-
_$use(element => {
|
|
577
|
-
const key = id();
|
|
578
|
-
if (key !== undefined) props.selection?.register(key, element);
|
|
579
|
-
}, _el$30);
|
|
580
|
-
_$insert(_el$30, _$createComponent(For, {
|
|
928
|
+
var _el$69 = _$getNextElement(_tmpl$25),
|
|
929
|
+
_el$72 = _el$69.firstChild,
|
|
930
|
+
[_el$73, _co$13] = _$getNextMarker(_el$72.nextSibling),
|
|
931
|
+
_el$74 = _el$73.nextSibling,
|
|
932
|
+
[_el$75, _co$14] = _$getNextMarker(_el$74.nextSibling);
|
|
933
|
+
_$insert(_el$69, _$createComponent(For, {
|
|
581
934
|
get each() {
|
|
582
|
-
return props.
|
|
935
|
+
return props.rows;
|
|
936
|
+
},
|
|
937
|
+
children: (row, index) => renderRow(row, () => index() === props.rows.length - 1)
|
|
938
|
+
}), _el$73, _co$13);
|
|
939
|
+
_$insert(_el$69, _$createComponent(Show, {
|
|
940
|
+
get when() {
|
|
941
|
+
return props.fillHeight;
|
|
583
942
|
},
|
|
584
|
-
children
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
_el$31.addEventListener("mouseenter", () => setHoveredColumnIfEnabled(index()));
|
|
590
|
-
_$insert(_el$32, (() => {
|
|
591
|
-
var _c$2 = _$memo(() => !!props.renderCell);
|
|
592
|
-
return () => _c$2() ? props.renderCell({
|
|
593
|
-
row,
|
|
594
|
-
col,
|
|
595
|
-
value: value(),
|
|
596
|
-
render: v => renderCellDefault(row, {
|
|
597
|
-
...col,
|
|
598
|
-
value: () => v
|
|
599
|
-
})
|
|
600
|
-
}) : renderValueDefault(value());
|
|
601
|
-
})());
|
|
602
|
-
_$effect(_p$ => {
|
|
603
|
-
var _v$24 = `${col.cellClass ?? ""} ${col.class ?? ""}`,
|
|
604
|
-
_v$25 = nowrapAttr(col),
|
|
605
|
-
_v$26 = alignAttr(col),
|
|
606
|
-
_v$27 = props.verticalAlign && props.verticalAlign !== "middle" ? props.verticalAlign : undefined,
|
|
607
|
-
_v$28 = columnHighlighted(index()),
|
|
608
|
-
_v$29 = cellContentClass();
|
|
609
|
-
_v$24 !== _p$.e && _$className(_el$31, _p$.e = _v$24);
|
|
610
|
-
_v$25 !== _p$.t && _$setAttribute(_el$31, "data-nowrap", _p$.t = _v$25);
|
|
611
|
-
_v$26 !== _p$.a && _$setAttribute(_el$31, "data-align", _p$.a = _v$26);
|
|
612
|
-
_v$27 !== _p$.o && _$setAttribute(_el$31, "data-valign", _p$.o = _v$27);
|
|
613
|
-
_v$28 !== _p$.i && _$setAttribute(_el$31, "data-highlighted", _p$.i = _v$28);
|
|
614
|
-
_v$29 !== _p$.n && _$className(_el$32, _p$.n = _v$29);
|
|
615
|
-
return _p$;
|
|
616
|
-
}, {
|
|
617
|
-
e: undefined,
|
|
618
|
-
t: undefined,
|
|
619
|
-
a: undefined,
|
|
620
|
-
o: undefined,
|
|
621
|
-
i: undefined,
|
|
622
|
-
n: undefined
|
|
623
|
-
});
|
|
624
|
-
return _el$31;
|
|
625
|
-
})();
|
|
943
|
+
get children() {
|
|
944
|
+
var _el$70 = _$getNextElement(_tmpl$16),
|
|
945
|
+
_el$71 = _el$70.firstChild;
|
|
946
|
+
_$effect(() => _$setAttribute(_el$71, "colspan", columnCount()));
|
|
947
|
+
return _el$70;
|
|
626
948
|
}
|
|
627
|
-
}));
|
|
628
|
-
|
|
629
|
-
var _v$18 = `k2b-data-table__row ${rowClass(row)}`,
|
|
630
|
-
_v$19 = shouldHoverRows() ? "true" : undefined,
|
|
631
|
-
_v$20 = shouldHoverRows() && isInteractive() ? "true" : undefined,
|
|
632
|
-
_v$21 = isSelected() ? "true" : undefined,
|
|
633
|
-
_v$22 = props.selection ? !!isSelected() : undefined,
|
|
634
|
-
_v$23 = props.selection ? props.selection.focused() === id() ? 0 : -1 : isInteractive() ? 0 : undefined;
|
|
635
|
-
_v$18 !== _p$.e && _$className(_el$30, _p$.e = _v$18);
|
|
636
|
-
_v$19 !== _p$.t && _$setAttribute(_el$30, "data-hover", _p$.t = _v$19);
|
|
637
|
-
_v$20 !== _p$.a && _$setAttribute(_el$30, "data-clickable", _p$.a = _v$20);
|
|
638
|
-
_v$21 !== _p$.o && _$setAttribute(_el$30, "data-selected", _p$.o = _v$21);
|
|
639
|
-
_v$22 !== _p$.i && _$setAttribute(_el$30, "aria-selected", _p$.i = _v$22);
|
|
640
|
-
_v$23 !== _p$.n && _$setAttribute(_el$30, "tabindex", _p$.n = _v$23);
|
|
641
|
-
return _p$;
|
|
642
|
-
}, {
|
|
643
|
-
e: undefined,
|
|
644
|
-
t: undefined,
|
|
645
|
-
a: undefined,
|
|
646
|
-
o: undefined,
|
|
647
|
-
i: undefined,
|
|
648
|
-
n: undefined
|
|
649
|
-
});
|
|
650
|
-
_$runHydrationEvents();
|
|
651
|
-
return _el$30;
|
|
949
|
+
}), _el$75, _co$14);
|
|
950
|
+
return _el$69;
|
|
652
951
|
})();
|
|
653
|
-
}
|
|
654
|
-
}), _$createComponent(Show, {
|
|
655
|
-
get when() {
|
|
656
|
-
return props.fillHeight;
|
|
657
952
|
},
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
953
|
+
children: list => [_$createComponent(For, {
|
|
954
|
+
get each() {
|
|
955
|
+
return list();
|
|
956
|
+
},
|
|
957
|
+
children: group => (() => {
|
|
958
|
+
var _el$79 = _$getNextElement(_tmpl$27),
|
|
959
|
+
_el$80 = _el$79.firstChild,
|
|
960
|
+
_el$81 = _el$80.firstChild,
|
|
961
|
+
_el$88 = _el$81.firstChild,
|
|
962
|
+
[_el$89, _co$16] = _$getNextMarker(_el$88.nextSibling),
|
|
963
|
+
_el$82 = _el$89.nextSibling,
|
|
964
|
+
_el$83 = _el$82.firstChild,
|
|
965
|
+
_el$84 = _el$83.nextSibling,
|
|
966
|
+
_el$85 = _el$84.firstChild,
|
|
967
|
+
_el$86 = _el$85.nextSibling,
|
|
968
|
+
[_el$87, _co$15] = _$getNextMarker(_el$86.nextSibling),
|
|
969
|
+
_el$90 = _el$80.nextSibling,
|
|
970
|
+
[_el$91, _co$17] = _$getNextMarker(_el$90.nextSibling);
|
|
971
|
+
_$insert(_el$81, () => group.label || "—", _el$89, _co$16);
|
|
972
|
+
_$insert(_el$83, () => group.rows.length);
|
|
973
|
+
_$insert(_el$84, () => dataTableMessages().rowCount({
|
|
974
|
+
count: group.rows.length
|
|
975
|
+
}), _el$87, _co$15);
|
|
976
|
+
_$insert(_el$79, _$createComponent(For, {
|
|
977
|
+
get each() {
|
|
978
|
+
return group.rows;
|
|
979
|
+
},
|
|
980
|
+
children: (row, index) => renderRow(row, () => index() === group.rows.length - 1)
|
|
981
|
+
}), _el$91, _co$17);
|
|
982
|
+
_$effect(() => _$setAttribute(_el$81, "colspan", columnCount()));
|
|
983
|
+
return _el$79;
|
|
984
|
+
})()
|
|
985
|
+
}), _$createComponent(Show, {
|
|
986
|
+
get when() {
|
|
987
|
+
return props.fillHeight;
|
|
988
|
+
},
|
|
989
|
+
get children() {
|
|
990
|
+
var _el$76 = _$getNextElement(_tmpl$26),
|
|
991
|
+
_el$77 = _el$76.firstChild,
|
|
992
|
+
_el$78 = _el$77.firstChild;
|
|
993
|
+
_$effect(() => _$setAttribute(_el$78, "colspan", columnCount()));
|
|
994
|
+
return _el$76;
|
|
995
|
+
}
|
|
996
|
+
})]
|
|
997
|
+
});
|
|
665
998
|
}
|
|
666
|
-
}));
|
|
667
|
-
_$insert(_el$
|
|
999
|
+
}), _el$43, _co$8);
|
|
1000
|
+
_$insert(_el$30, _$createComponent(Show, {
|
|
668
1001
|
get when() {
|
|
669
1002
|
return props.footer;
|
|
670
1003
|
},
|
|
671
1004
|
children: footer => (() => {
|
|
672
|
-
var _el$
|
|
673
|
-
_el$
|
|
674
|
-
|
|
1005
|
+
var _el$92 = _$getNextElement(_tmpl$30),
|
|
1006
|
+
_el$93 = _el$92.firstChild,
|
|
1007
|
+
_el$95 = _el$93.firstChild,
|
|
1008
|
+
[_el$96, _co$18] = _$getNextMarker(_el$95.nextSibling),
|
|
1009
|
+
_el$97 = _el$96.nextSibling,
|
|
1010
|
+
[_el$98, _co$19] = _$getNextMarker(_el$97.nextSibling),
|
|
1011
|
+
_el$102 = _el$93.nextSibling,
|
|
1012
|
+
[_el$103, _co$20] = _$getNextMarker(_el$102.nextSibling);
|
|
1013
|
+
_$insert(_el$93, _$createComponent(For, {
|
|
675
1014
|
get each() {
|
|
676
1015
|
return props.columns;
|
|
677
1016
|
},
|
|
678
1017
|
children: (col, index) => {
|
|
679
1018
|
const value = () => footer().values?.[col.id];
|
|
680
1019
|
return (() => {
|
|
681
|
-
var _el$
|
|
682
|
-
_el$
|
|
683
|
-
_$insert(_el$
|
|
684
|
-
var _c$
|
|
685
|
-
return () => _c$
|
|
1020
|
+
var _el$104 = _$getNextElement(_tmpl$31);
|
|
1021
|
+
_el$104.addEventListener("mouseenter", () => setHoveredColumnIfEnabled(index()));
|
|
1022
|
+
_$insert(_el$104, (() => {
|
|
1023
|
+
var _c$2 = _$memo(() => !!footer().renderCell);
|
|
1024
|
+
return () => _c$2() ? footer().renderCell({
|
|
686
1025
|
col,
|
|
687
1026
|
value: value(),
|
|
688
|
-
render:
|
|
689
|
-
}) :
|
|
1027
|
+
render: v => renderTypedValue(col, v)
|
|
1028
|
+
}) : renderTypedValue(col, value());
|
|
690
1029
|
})());
|
|
691
1030
|
_$effect(_p$ => {
|
|
692
|
-
var _v$
|
|
693
|
-
_v$
|
|
694
|
-
_v$
|
|
695
|
-
|
|
696
|
-
_v$
|
|
697
|
-
_v$
|
|
1031
|
+
var _v$42 = nowrapAttr(col),
|
|
1032
|
+
_v$43 = alignAttr(col),
|
|
1033
|
+
_v$44 = priorityAttr(col),
|
|
1034
|
+
_v$45 = columnHighlighted(index());
|
|
1035
|
+
_v$42 !== _p$.e && _$setAttribute(_el$104, "data-nowrap", _p$.e = _v$42);
|
|
1036
|
+
_v$43 !== _p$.t && _$setAttribute(_el$104, "data-align", _p$.t = _v$43);
|
|
1037
|
+
_v$44 !== _p$.a && _$setAttribute(_el$104, "data-priority", _p$.a = _v$44);
|
|
1038
|
+
_v$45 !== _p$.o && _$setAttribute(_el$104, "data-highlighted", _p$.o = _v$45);
|
|
698
1039
|
return _p$;
|
|
699
1040
|
}, {
|
|
700
1041
|
e: undefined,
|
|
701
1042
|
t: undefined,
|
|
702
|
-
a: undefined
|
|
1043
|
+
a: undefined,
|
|
1044
|
+
o: undefined
|
|
703
1045
|
});
|
|
704
|
-
return _el$
|
|
1046
|
+
return _el$104;
|
|
705
1047
|
})();
|
|
706
1048
|
}
|
|
707
|
-
}));
|
|
708
|
-
|
|
1049
|
+
}), _el$96, _co$18);
|
|
1050
|
+
_$insert(_el$93, _$createComponent(Show, {
|
|
1051
|
+
get when() {
|
|
1052
|
+
return detailsPriority();
|
|
1053
|
+
},
|
|
1054
|
+
get children() {
|
|
1055
|
+
return _$getNextElement(_tmpl$28);
|
|
1056
|
+
}
|
|
1057
|
+
}), _el$98, _co$19);
|
|
1058
|
+
_$insert(_el$92, _$createComponent(Show, {
|
|
1059
|
+
get when() {
|
|
1060
|
+
return detailsPriority();
|
|
1061
|
+
},
|
|
1062
|
+
get children() {
|
|
1063
|
+
var _el$99 = _$getNextElement(_tmpl$29),
|
|
1064
|
+
_el$100 = _el$99.firstChild,
|
|
1065
|
+
_el$101 = _el$100.firstChild;
|
|
1066
|
+
_$insert(_el$101, _$createComponent(For, {
|
|
1067
|
+
get each() {
|
|
1068
|
+
return hiddenColumns();
|
|
1069
|
+
},
|
|
1070
|
+
children: col => (() => {
|
|
1071
|
+
var _el$105 = _$getNextElement(_tmpl$10),
|
|
1072
|
+
_el$106 = _el$105.firstChild,
|
|
1073
|
+
_el$107 = _el$106.nextSibling;
|
|
1074
|
+
_$insert(_el$106, () => detailLabel(col));
|
|
1075
|
+
_$insert(_el$107, (() => {
|
|
1076
|
+
var _c$3 = _$memo(() => !!footer().renderCell);
|
|
1077
|
+
return () => _c$3() ? footer().renderCell({
|
|
1078
|
+
col,
|
|
1079
|
+
value: footer().values?.[col.id],
|
|
1080
|
+
render: v => renderTypedValue(col, v)
|
|
1081
|
+
}) : renderTypedValue(col, footer().values?.[col.id]);
|
|
1082
|
+
})());
|
|
1083
|
+
_$effect(() => _$setAttribute(_el$105, "data-priority", priorityAttr(col)));
|
|
1084
|
+
return _el$105;
|
|
1085
|
+
})()
|
|
1086
|
+
}));
|
|
1087
|
+
_$effect(() => _$setAttribute(_el$100, "colspan", columnCount()));
|
|
1088
|
+
return _el$99;
|
|
1089
|
+
}
|
|
1090
|
+
}), _el$103, _co$20);
|
|
1091
|
+
return _el$92;
|
|
709
1092
|
})()
|
|
710
|
-
}), _el$
|
|
711
|
-
_$insert(_el$
|
|
1093
|
+
}), _el$45, _co$9);
|
|
1094
|
+
_$insert(_el$29, _$createComponent(Show, {
|
|
712
1095
|
get when() {
|
|
713
1096
|
return shouldRenderLoadMoreSentinel();
|
|
714
1097
|
},
|
|
715
1098
|
get children() {
|
|
716
|
-
var _el$
|
|
1099
|
+
var _el$46 = _$getNextElement(_tmpl$13);
|
|
717
1100
|
var _ref$3 = loadMoreRef;
|
|
718
|
-
typeof _ref$3 === "function" ? _$use(_ref$3, _el$
|
|
719
|
-
return _el$
|
|
1101
|
+
typeof _ref$3 === "function" ? _$use(_ref$3, _el$46) : loadMoreRef = _el$46;
|
|
1102
|
+
return _el$46;
|
|
720
1103
|
}
|
|
721
|
-
}), _el$
|
|
1104
|
+
}), _el$48, _co$0);
|
|
722
1105
|
_$effect(_p$ => {
|
|
723
|
-
var _v$
|
|
724
|
-
_v$
|
|
725
|
-
_v$
|
|
726
|
-
_v$
|
|
727
|
-
_v$
|
|
728
|
-
_v$
|
|
729
|
-
_v$
|
|
730
|
-
_v$
|
|
731
|
-
_v$
|
|
732
|
-
_v$
|
|
733
|
-
_v$
|
|
734
|
-
_v$
|
|
735
|
-
_v$
|
|
736
|
-
_v$
|
|
737
|
-
_v$
|
|
738
|
-
_v$
|
|
739
|
-
_v$
|
|
740
|
-
_v$
|
|
741
|
-
_v$
|
|
742
|
-
_v$
|
|
743
|
-
_v$
|
|
744
|
-
_v$
|
|
1106
|
+
var _v$24 = labelledBy() ? undefined : props.ariaLabel ?? dataTableMessages().dataTable,
|
|
1107
|
+
_v$25 = labelledBy(),
|
|
1108
|
+
_v$26 = props.loading ? "true" : undefined,
|
|
1109
|
+
_v$27 = `k2b-table-wrap${props.scrollClass ? ` ${props.scrollClass}` : ""}`,
|
|
1110
|
+
_v$28 = props.density === "compact" ? "compact" : undefined,
|
|
1111
|
+
_v$29 = props.footer ? "true" : undefined,
|
|
1112
|
+
_v$30 = surface(),
|
|
1113
|
+
_v$31 = props.scrollPreserveKey || undefined,
|
|
1114
|
+
_v$32 = tableClass(),
|
|
1115
|
+
_v$33 = props.fillHeight ? "true" : undefined,
|
|
1116
|
+
_v$34 = props.stickyHeader === false ? undefined : "true";
|
|
1117
|
+
_v$24 !== _p$.e && _$setAttribute(_el$29, "aria-label", _p$.e = _v$24);
|
|
1118
|
+
_v$25 !== _p$.t && _$setAttribute(_el$29, "aria-labelledby", _p$.t = _v$25);
|
|
1119
|
+
_v$26 !== _p$.a && _$setAttribute(_el$29, "aria-busy", _p$.a = _v$26);
|
|
1120
|
+
_v$27 !== _p$.o && _$className(_el$29, _p$.o = _v$27);
|
|
1121
|
+
_v$28 !== _p$.i && _$setAttribute(_el$29, "data-density", _p$.i = _v$28);
|
|
1122
|
+
_v$29 !== _p$.n && _$setAttribute(_el$29, "data-has-footer", _p$.n = _v$29);
|
|
1123
|
+
_v$30 !== _p$.s && _$setAttribute(_el$29, "data-surface", _p$.s = _v$30);
|
|
1124
|
+
_v$31 !== _p$.h && _$setAttribute(_el$29, "data-scroll-preserve", _p$.h = _v$31);
|
|
1125
|
+
_v$32 !== _p$.r && _$className(_el$30, _p$.r = _v$32);
|
|
1126
|
+
_v$33 !== _p$.d && _$setAttribute(_el$30, "data-fill", _p$.d = _v$33);
|
|
1127
|
+
_v$34 !== _p$.l && _$setAttribute(_el$32, "data-sticky", _p$.l = _v$34);
|
|
745
1128
|
return _p$;
|
|
746
1129
|
}, {
|
|
747
1130
|
e: undefined,
|
|
@@ -756,26 +1139,26 @@ function DataTableRoot(props) {
|
|
|
756
1139
|
d: undefined,
|
|
757
1140
|
l: undefined
|
|
758
1141
|
});
|
|
759
|
-
return _el$
|
|
1142
|
+
return _el$29;
|
|
760
1143
|
})(), _$createComponent(For, {
|
|
761
1144
|
each: ["y", "x"],
|
|
762
1145
|
children: axis => (() => {
|
|
763
|
-
var _el$
|
|
764
|
-
_el$
|
|
765
|
-
_el$
|
|
766
|
-
_el$
|
|
767
|
-
_el$
|
|
1146
|
+
var _el$108 = _$getNextElement(_tmpl$32),
|
|
1147
|
+
_el$109 = _el$108.firstChild;
|
|
1148
|
+
_el$108.addEventListener("pointercancel", event => event.currentTarget.releasePointerCapture(event.pointerId));
|
|
1149
|
+
_el$108.$$pointerup = event => event.currentTarget.releasePointerCapture(event.pointerId);
|
|
1150
|
+
_el$108.$$pointermove = event => {
|
|
768
1151
|
if (event.currentTarget.hasPointerCapture(event.pointerId)) scrollFromPointer(event, axis);
|
|
769
1152
|
};
|
|
770
|
-
_el$
|
|
771
|
-
_$setAttribute(_el$
|
|
1153
|
+
_el$108.$$pointerdown = event => startScrollbarDrag(event, axis);
|
|
1154
|
+
_$setAttribute(_el$108, "data-axis", axis);
|
|
772
1155
|
_$effect(_p$ => {
|
|
773
|
-
var _v$
|
|
774
|
-
_v$
|
|
775
|
-
_v$
|
|
776
|
-
_v$
|
|
777
|
-
_v$
|
|
778
|
-
_v$
|
|
1156
|
+
var _v$46 = scrollbars()[axis].overflow ? "true" : undefined,
|
|
1157
|
+
_v$47 = `${scrollbars()[axis].offset}px`,
|
|
1158
|
+
_v$48 = `${scrollbars()[axis].size}px`;
|
|
1159
|
+
_v$46 !== _p$.e && _$setAttribute(_el$108, "data-overflow", _p$.e = _v$46);
|
|
1160
|
+
_v$47 !== _p$.t && _$setStyleProperty(_el$109, "--k2b-data-table-scroll-offset", _p$.t = _v$47);
|
|
1161
|
+
_v$48 !== _p$.a && _$setStyleProperty(_el$109, "--k2b-data-table-scroll-size", _p$.a = _v$48);
|
|
779
1162
|
return _p$;
|
|
780
1163
|
}, {
|
|
781
1164
|
e: undefined,
|
|
@@ -783,7 +1166,7 @@ function DataTableRoot(props) {
|
|
|
783
1166
|
a: undefined
|
|
784
1167
|
});
|
|
785
1168
|
_$runHydrationEvents();
|
|
786
|
-
return _el$
|
|
1169
|
+
return _el$108;
|
|
787
1170
|
})()
|
|
788
1171
|
})];
|
|
789
1172
|
}
|
|
@@ -818,14 +1201,14 @@ const DataTableHeader = props => {
|
|
|
818
1201
|
const panel = useContext(DataTablePanelContext);
|
|
819
1202
|
panel?.registerHeading();
|
|
820
1203
|
return (() => {
|
|
821
|
-
var _el$
|
|
822
|
-
_$insert(_el$
|
|
1204
|
+
var _el$110 = _$getNextElement(_tmpl$33);
|
|
1205
|
+
_$insert(_el$110, _$createComponent(PanelHeader, {
|
|
823
1206
|
get title() {
|
|
824
1207
|
return (() => {
|
|
825
|
-
var _el$
|
|
826
|
-
_$insert(_el$
|
|
827
|
-
_$effect(() => _$setAttribute(_el$
|
|
828
|
-
return _el$
|
|
1208
|
+
var _el$111 = _$getNextElement(_tmpl$34);
|
|
1209
|
+
_$insert(_el$111, () => props.title);
|
|
1210
|
+
_$effect(() => _$setAttribute(_el$111, "id", panel?.headingId));
|
|
1211
|
+
return _el$111;
|
|
829
1212
|
})();
|
|
830
1213
|
},
|
|
831
1214
|
get subtitle() {
|
|
@@ -841,21 +1224,21 @@ const DataTableHeader = props => {
|
|
|
841
1224
|
return props.size;
|
|
842
1225
|
}
|
|
843
1226
|
}));
|
|
844
|
-
_$effect(() => _$className(_el$
|
|
845
|
-
return _el$
|
|
1227
|
+
_$effect(() => _$className(_el$110, `k2b-data-panel__header ${props.class ?? ""}`));
|
|
1228
|
+
return _el$110;
|
|
846
1229
|
})();
|
|
847
1230
|
};
|
|
848
1231
|
const DataTableControls = props => (() => {
|
|
849
|
-
var _el$
|
|
850
|
-
_$insert(_el$
|
|
851
|
-
_$effect(() => _$className(_el$
|
|
852
|
-
return _el$
|
|
1232
|
+
var _el$112 = _$getNextElement(_tmpl$33);
|
|
1233
|
+
_$insert(_el$112, () => props.children);
|
|
1234
|
+
_$effect(() => _$className(_el$112, `k2b-data-panel__controls ${props.class ?? ""}`));
|
|
1235
|
+
return _el$112;
|
|
853
1236
|
})();
|
|
854
1237
|
const DataTablePanelFooter = props => (() => {
|
|
855
|
-
var _el$
|
|
856
|
-
_$insert(_el$
|
|
857
|
-
_$effect(() => _$className(_el$
|
|
858
|
-
return _el$
|
|
1238
|
+
var _el$113 = _$getNextElement(_tmpl$35);
|
|
1239
|
+
_$insert(_el$113, () => props.children);
|
|
1240
|
+
_$effect(() => _$className(_el$113, `k2b-data-panel__footer ${props.class ?? ""}`));
|
|
1241
|
+
return _el$113;
|
|
859
1242
|
})();
|
|
860
1243
|
const DataTable = DataTableRoot;
|
|
861
1244
|
DataTable.Panel = DataTablePanel;
|