@k2b/ui 0.49.0 → 0.51.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 +70 -1
- package/dist/browser/actions/Button.js.map +1 -1
- package/dist/browser/actions/CommandList.js +861 -0
- package/dist/browser/actions/CommandList.js.map +1 -0
- package/dist/browser/actions/CommandMenu.js +237 -0
- package/dist/browser/actions/CommandMenu.js.map +1 -0
- package/dist/browser/actions/ContextMenu.js +3 -0
- package/dist/browser/actions/ContextMenu.js.map +1 -1
- package/dist/browser/actions/Dropdown.js +43 -10
- package/dist/browser/actions/Dropdown.js.map +1 -1
- package/dist/browser/actions/command-dock.js +47 -0
- package/dist/browser/actions/command-dock.js.map +1 -0
- package/dist/browser/actions/command-items.js +84 -0
- package/dist/browser/actions/command-items.js.map +1 -0
- package/dist/browser/actions/command-messages.js +42 -0
- package/dist/browser/actions/command-messages.js.map +1 -0
- package/dist/browser/actions/index.js +1 -0
- package/dist/browser/actions/index.js.map +1 -1
- package/dist/browser/charts/core/area.js +188 -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/chart-messages.js +17 -0
- package/dist/browser/charts/core/chart-messages.js.map +1 -0
- package/dist/browser/charts/core/hbar-layout.js +118 -0
- package/dist/browser/charts/core/hbar-layout.js.map +1 -0
- package/dist/browser/charts/core/hbar.js +39 -0
- package/dist/browser/charts/core/hbar.js.map +1 -0
- package/dist/browser/charts/core/index.js +17 -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/map.js +116 -0
- package/dist/browser/charts/core/map.js.map +1 -0
- package/dist/browser/charts/core/registry.js +35 -0
- package/dist/browser/charts/core/registry.js.map +1 -0
- package/dist/browser/charts/core/render-size.js +13 -0
- package/dist/browser/charts/core/render-size.js.map +1 -0
- package/dist/browser/charts/core/render.js +113 -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-renderers.js +2406 -0
- package/dist/browser/charts/core/svg-renderers.js.map +1 -0
- package/dist/browser/charts/core/svg.js +21 -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 +6 -0
- package/dist/browser/charts/core/types.js.map +1 -0
- package/dist/browser/charts/core/waterfall.js +162 -0
- package/dist/browser/charts/core/waterfall.js.map +1 -0
- package/dist/browser/charts/description.js +2 -0
- package/dist/browser/charts/description.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 +21 -616
- 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/ChartRoot.js +632 -0
- package/dist/browser/content/ChartRoot.js.map +1 -0
- package/dist/browser/content/ChartSnapshotView.js +16 -9
- package/dist/browser/content/ChartSnapshotView.js.map +1 -1
- package/dist/browser/content/ChartSparkline.js +24 -0
- package/dist/browser/content/ChartSparkline.js.map +1 -0
- 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/FileView.js +111 -61
- package/dist/browser/content/FileView.js.map +1 -1
- package/dist/browser/content/FlowAmount.js +82 -0
- package/dist/browser/content/FlowAmount.js.map +1 -0
- package/dist/browser/content/Lightbox.js +8 -8
- package/dist/browser/content/Lightbox.js.map +1 -1
- package/dist/browser/content/MapView.js +30 -28
- package/dist/browser/content/MapView.js.map +1 -1
- package/dist/browser/content/PdfPreview.js +84 -52
- package/dist/browser/content/PdfPreview.js.map +1 -1
- package/dist/browser/content/PdfViewer.js +588 -0
- package/dist/browser/content/PdfViewer.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 +251 -21
- 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 +178 -50
- 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 +174 -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 +4 -2
- 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 +5 -0
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/content/pdf-document.js +29 -0
- package/dist/browser/content/pdf-document.js.map +1 -0
- package/dist/browser/content/pdf-limits.js +31 -0
- package/dist/browser/content/pdf-limits.js.map +1 -0
- package/dist/browser/content/pdf-messages.js +34 -2
- package/dist/browser/content/pdf-messages.js.map +1 -1
- package/dist/browser/content/pdf-viewer-engine.js +57 -0
- package/dist/browser/content/pdf-viewer-worker.js +28 -0
- package/dist/browser/inputs/ChoiceInputs.js +94 -51
- package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
- package/dist/browser/inputs/ChoiceSlider.js +75 -58
- package/dist/browser/inputs/ChoiceSlider.js.map +1 -1
- package/dist/browser/inputs/DatePicker.js +118 -102
- package/dist/browser/inputs/DatePicker.js.map +1 -1
- package/dist/browser/inputs/PeriodPicker.js +874 -0
- package/dist/browser/inputs/PeriodPicker.js.map +1 -0
- 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/inputs/index.js +4 -1
- package/dist/browser/inputs/index.js.map +1 -1
- package/dist/browser/inputs/input-messages.js +8 -2
- package/dist/browser/inputs/input-messages.js.map +1 -1
- package/dist/browser/inputs/markdown/MarkdownEditor.js +14 -10
- package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
- package/dist/browser/inputs/markdown/SlashCommands.js +402 -0
- package/dist/browser/inputs/markdown/SlashCommands.js.map +1 -0
- package/dist/browser/inputs/period-picker-messages.js +71 -0
- package/dist/browser/inputs/period-picker-messages.js.map +1 -0
- package/dist/browser/inputs/period.js +263 -0
- package/dist/browser/inputs/period.js.map +1 -0
- package/dist/browser/intl/Format.js +31 -8
- package/dist/browser/intl/Format.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +7 -1
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/DetailPanel.js +147 -120
- package/dist/browser/layout/DetailPanel.js.map +1 -1
- package/dist/browser/layout/Discussion.js +101 -108
- package/dist/browser/layout/Discussion.js.map +1 -1
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/surfaces/BudgetList.js +281 -0
- package/dist/browser/surfaces/BudgetList.js.map +1 -0
- package/dist/browser/surfaces/DescriptionList.js +5 -2
- package/dist/browser/surfaces/DescriptionList.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 +327 -146
- 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 +79 -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/DashboardFrame.js +310 -0
- package/dist/browser/widgets/DashboardFrame.js.map +1 -0
- package/dist/browser/widgets/index.js +2 -0
- package/dist/browser/widgets/index.js.map +1 -1
- package/dist/licenses/pdfjs-dist.txt +177 -0
- package/dist/ssr/actions/Button.js.map +1 -1
- package/dist/ssr/actions/CommandList.js +638 -0
- package/dist/ssr/actions/CommandList.js.map +1 -0
- package/dist/ssr/actions/CommandMenu.js +197 -0
- package/dist/ssr/actions/CommandMenu.js.map +1 -0
- package/dist/ssr/actions/ContextMenu.js +3 -0
- package/dist/ssr/actions/ContextMenu.js.map +1 -1
- package/dist/ssr/actions/Dropdown.js +43 -10
- package/dist/ssr/actions/Dropdown.js.map +1 -1
- package/dist/ssr/actions/command-dock.js +47 -0
- package/dist/ssr/actions/command-dock.js.map +1 -0
- package/dist/ssr/actions/command-items.js +84 -0
- package/dist/ssr/actions/command-items.js.map +1 -0
- package/dist/ssr/actions/command-messages.js +42 -0
- package/dist/ssr/actions/command-messages.js.map +1 -0
- package/dist/ssr/actions/index.js +1 -0
- package/dist/ssr/actions/index.js.map +1 -1
- package/dist/ssr/charts/core/area.js +188 -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/chart-messages.js +17 -0
- package/dist/ssr/charts/core/chart-messages.js.map +1 -0
- package/dist/ssr/charts/core/hbar-layout.js +118 -0
- package/dist/ssr/charts/core/hbar-layout.js.map +1 -0
- package/dist/ssr/charts/core/hbar.js +39 -0
- package/dist/ssr/charts/core/hbar.js.map +1 -0
- package/dist/ssr/charts/core/index.js +17 -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/map.js +116 -0
- package/dist/ssr/charts/core/map.js.map +1 -0
- package/dist/ssr/charts/core/registry.js +35 -0
- package/dist/ssr/charts/core/registry.js.map +1 -0
- package/dist/ssr/charts/core/render-size.js +13 -0
- package/dist/ssr/charts/core/render-size.js.map +1 -0
- package/dist/ssr/charts/core/render.js +113 -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-renderers.js +2406 -0
- package/dist/ssr/charts/core/svg-renderers.js.map +1 -0
- package/dist/ssr/charts/core/svg.js +21 -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 +6 -0
- package/dist/ssr/charts/core/types.js.map +1 -0
- package/dist/ssr/charts/core/waterfall.js +162 -0
- package/dist/ssr/charts/core/waterfall.js.map +1 -0
- package/dist/ssr/charts/description.js +2 -0
- package/dist/ssr/charts/description.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 +21 -483
- 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/ChartRoot.js +475 -0
- package/dist/ssr/content/ChartRoot.js.map +1 -0
- package/dist/ssr/content/ChartSnapshotView.js +5 -1
- package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
- package/dist/ssr/content/ChartSparkline.js +24 -0
- package/dist/ssr/content/ChartSparkline.js.map +1 -0
- 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/FileView.js +56 -7
- package/dist/ssr/content/FileView.js.map +1 -1
- package/dist/ssr/content/FlowAmount.js +58 -0
- package/dist/ssr/content/FlowAmount.js.map +1 -0
- package/dist/ssr/content/Lightbox.js +8 -8
- package/dist/ssr/content/Lightbox.js.map +1 -1
- package/dist/ssr/content/MapView.js +9 -9
- package/dist/ssr/content/MapView.js.map +1 -1
- package/dist/ssr/content/PdfPreview.js +49 -20
- package/dist/ssr/content/PdfPreview.js.map +1 -1
- package/dist/ssr/content/PdfViewer.js +484 -0
- package/dist/ssr/content/PdfViewer.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 +251 -21
- 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 +178 -50
- 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 +174 -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 +4 -2
- 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 +5 -0
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/content/pdf-document.js +29 -0
- package/dist/ssr/content/pdf-document.js.map +1 -0
- package/dist/ssr/content/pdf-limits.js +31 -0
- package/dist/ssr/content/pdf-limits.js.map +1 -0
- package/dist/ssr/content/pdf-messages.js +34 -2
- package/dist/ssr/content/pdf-messages.js.map +1 -1
- package/dist/ssr/inputs/ChoiceInputs.js +49 -12
- package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
- package/dist/ssr/inputs/ChoiceSlider.js +17 -12
- package/dist/ssr/inputs/ChoiceSlider.js.map +1 -1
- package/dist/ssr/inputs/DatePicker.js +19 -13
- package/dist/ssr/inputs/DatePicker.js.map +1 -1
- package/dist/ssr/inputs/PeriodPicker.js +598 -0
- package/dist/ssr/inputs/PeriodPicker.js.map +1 -0
- 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/inputs/index.js +4 -1
- package/dist/ssr/inputs/index.js.map +1 -1
- package/dist/ssr/inputs/input-messages.js +8 -2
- package/dist/ssr/inputs/input-messages.js.map +1 -1
- package/dist/ssr/inputs/markdown/MarkdownEditor.js +3 -2
- package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
- package/dist/ssr/inputs/markdown/SlashCommands.js +339 -0
- package/dist/ssr/inputs/markdown/SlashCommands.js.map +1 -0
- package/dist/ssr/inputs/period-picker-messages.js +71 -0
- package/dist/ssr/inputs/period-picker-messages.js.map +1 -0
- package/dist/ssr/inputs/period.js +263 -0
- package/dist/ssr/inputs/period.js.map +1 -0
- package/dist/ssr/intl/Format.js +22 -2
- package/dist/ssr/intl/Format.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +7 -1
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/DetailPanel.js +27 -4
- package/dist/ssr/layout/DetailPanel.js.map +1 -1
- package/dist/ssr/layout/Discussion.js +16 -2
- package/dist/ssr/layout/Discussion.js.map +1 -1
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/surfaces/BudgetList.js +170 -0
- package/dist/ssr/surfaces/BudgetList.js.map +1 -0
- package/dist/ssr/surfaces/DescriptionList.js +1 -1
- package/dist/ssr/surfaces/DescriptionList.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 -52
- 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 +55 -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/DashboardFrame.js +200 -0
- package/dist/ssr/widgets/DashboardFrame.js.map +1 -0
- package/dist/ssr/widgets/index.js +2 -0
- package/dist/ssr/widgets/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/Button.d.ts +1 -1
- package/dist/types/actions/CommandList.d.ts +120 -0
- package/dist/types/actions/CommandMenu.d.ts +39 -0
- package/dist/types/actions/Dropdown.d.ts +17 -0
- package/dist/types/actions/command-dock.d.ts +8 -0
- package/dist/types/actions/command-items.d.ts +134 -0
- package/dist/types/actions/command-messages.d.ts +19 -0
- package/dist/types/actions/index.d.ts +3 -0
- 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/chart-messages.d.ts +5 -0
- package/dist/types/charts/core/hbar-layout.d.ts +74 -0
- package/dist/types/charts/core/hbar.d.ts +13 -0
- package/dist/types/charts/core/index.d.ts +16 -0
- package/dist/types/charts/core/inspection.d.ts +16 -0
- package/dist/types/charts/core/map.d.ts +3 -0
- package/dist/types/charts/core/registry.d.ts +33 -0
- package/dist/types/charts/core/render-size.d.ts +7 -0
- package/dist/types/charts/core/render.d.ts +37 -0
- package/dist/types/charts/core/snapshot.d.ts +27 -0
- package/dist/types/charts/core/svg-renderers.d.ts +722 -0
- package/dist/types/charts/core/svg.d.ts +20 -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 +20 -0
- package/dist/types/charts/core/waterfall.d.ts +68 -0
- package/dist/types/charts/description.d.ts +226 -0
- package/dist/types/charts.d.ts +5 -2
- package/dist/types/content/BalanceSummary.d.ts +29 -0
- package/dist/types/content/Chart.d.ts +19 -117
- package/dist/types/content/ChartExplorer.d.ts +43 -2
- package/dist/types/content/ChartRoot.d.ts +92 -0
- package/dist/types/content/ChartSnapshotView.d.ts +1 -0
- package/dist/types/content/ChartSparkline.d.ts +5 -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/PdfViewer.d.ts +32 -0
- package/dist/types/content/balance-summary-messages.d.ts +11 -0
- package/dist/types/content/chart-bar.d.ts +95 -2
- 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 +12 -2
- package/dist/types/content/pdf-document.d.ts +5 -0
- package/dist/types/content/pdf-engine.d.ts +9 -0
- package/dist/types/content/pdf-limits.d.ts +43 -0
- package/dist/types/content/pdf-messages.d.ts +16 -0
- package/dist/types/inputs/ChoiceInputs.d.ts +4 -0
- package/dist/types/inputs/ChoiceSlider.d.ts +12 -0
- package/dist/types/inputs/DatePicker.d.ts +22 -0
- package/dist/types/inputs/PeriodPicker.d.ts +24 -0
- package/dist/types/inputs/SelectChip.d.ts +2 -0
- package/dist/types/inputs/date-picker.d.ts +6 -0
- package/dist/types/inputs/index.d.ts +8 -2
- package/dist/types/inputs/input-messages.d.ts +3 -0
- package/dist/types/inputs/markdown/MarkdownEditor.d.ts +5 -0
- package/dist/types/inputs/markdown/SlashCommands.d.ts +20 -0
- package/dist/types/inputs/period-picker-messages.d.ts +34 -0
- package/dist/types/inputs/period.d.ts +134 -0
- package/dist/types/intl/Format.d.ts +5 -0
- package/dist/types/layout/AppWorkspace.d.ts +5 -0
- package/dist/types/layout/DetailPanel.d.ts +12 -0
- package/dist/types/layout/index.d.ts +1 -1
- package/dist/types/surfaces/BudgetList.d.ts +42 -0
- package/dist/types/surfaces/DescriptionList.d.ts +5 -0
- package/dist/types/surfaces/ProgressBar.d.ts +38 -2
- package/dist/types/surfaces/StatCell.d.ts +40 -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/DashboardFrame.d.ts +58 -0
- package/dist/types/widgets/index.d.ts +2 -0
- package/package.json +8 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["content/ChartSnapshotView.tsx"],"sourcesContent":["import { createEffect, createUniqueId, type JSX, onCleanup, onMount } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport type { ChartCursor } from \"./chart-cursor\";\nimport { createChartInspection } from \"./chart-inspection\";\nimport { closeChartInspectionOnOutside, sameChartDatum } from \"./chart-inspection-core\";\nimport { useChartMessages } from \"./chart-messages\";\nimport type { ChartSnapshot } from \"./chart-snapshot\";\nimport { selectedChartSvg } from \"./chart-svg\";\n\n/** Internal display for server-prepared geometry. Viewports are snapshot-owned. */\nexport function ChartSnapshotView(props: {\n snapshot: ChartSnapshot;\n cursor?: ChartCursor;\n selectedKey: string | null;\n onSelect: (key: string) => void;\n style?: JSX.CSSProperties;\n}) {\n const chartMessages = useChartMessages();\n let container: HTMLDivElement | undefined;\n let tooltip: HTMLSpanElement | undefined;\n let anchor: HTMLSpanElement | undefined;\n const id = `k2b-chart-tooltip-${createUniqueId()}`;\n const inspection = createChartInspection({\n container: () => container,\n cursor: () => props.cursor,\n tooltip: () => tooltip,\n anchor: () => anchor,\n kind: () => props.snapshot.kind,\n enabled: () => true,\n format: ({ datum }) => props.snapshot.marks.find((m) => sameChartDatum(m.datum, datum))?.tooltip ?? { rows: [] },\n select: ({ datum }) => {\n const mark = props.snapshot.marks.find((m) => sameChartDatum(m.datum, datum));\n if (mark) props.onSelect(mark.rowKey);\n },\n });\n createEffect(() => {\n props.snapshot;\n inspection.invalidate();\n });\n createEffect(() => inspection.selectData(props.snapshot.marks.filter((m) => m.rowKey === props.selectedKey).map((m) => m.datum)));\n onMount(() => {\n onCleanup(\n closeChartInspectionOnOutside({\n container: () => container,\n tooltip: () => tooltip,\n close: inspection.close,\n }),\n );\n });\n onCleanup(inspection.close);\n return (\n <div\n ref={container}\n class=\"k2b-chart\"\n data-chart-kind={props.snapshot.kind}\n data-interactive=\"true\"\n style={props.style}\n role=\"group\"\n aria-label={chartMessages().interactiveChart}\n tabIndex={0}\n onPointerDown={inspection.down}\n onPointerMove={inspection.move}\n onClick={inspection.click}\n onPointerLeave={inspection.leave}\n onFocusIn={inspection.focus}\n onFocusOut={inspection.close}\n onKeyDown={inspection.key}\n >\n <div\n class=\"k2b-chart__svg\"\n data-stretch={props.snapshot.stretch ? \"true\" : undefined}\n style={{\n \"--k2b-chart-width\": `${props.snapshot.width}px`,\n \"--k2b-chart-height\": `${props.snapshot.height}px`,\n \"aspect-ratio\": `${props.snapshot.width}/${props.snapshot.height}`,\n }}\n innerHTML={\n isServer\n ? selectedChartSvg(\n props.snapshot.svg,\n props.snapshot.marks.filter((m) => m.rowKey === props.selectedKey).map((m) => m.datum),\n )\n : props.snapshot.svg\n }\n />\n <span ref={anchor} class=\"k2b-chart__anchor\" aria-hidden=\"true\" />\n <span ref={tooltip} id={id} class=\"k2b-chart__tooltip k2b-tooltip\" role=\"tooltip\" popover=\"manual\" data-instant=\"true\" />\n </div>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAS,YAAY,EAAE,cAAc,EAAY,SAAS,EAAE,OAAO,QAAQ,UAAU;AACrF,SAAS,QAAQ,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":[],"sources":["content/ChartSnapshotView.tsx"],"sourcesContent":["import { createEffect, createUniqueId, type JSX, onCleanup, onMount } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport { useLocale } from \"../intl/locale\";\nimport type { ChartCursor } from \"./chart-cursor\";\nimport { createChartInspection } from \"./chart-inspection\";\nimport { closeChartInspectionOnOutside, sameChartDatum } from \"./chart-inspection-core\";\nimport { useChartMessages } from \"./chart-messages\";\nimport type { ChartSnapshot } from \"./chart-snapshot\";\nimport { selectedChartSvg } from \"./chart-svg\";\n\n/** Internal display for server-prepared geometry. Viewports are snapshot-owned. */\nexport function ChartSnapshotView(props: {\n snapshot: ChartSnapshot;\n cursor?: ChartCursor;\n legend?: () => ParentNode | undefined;\n selectedKey: string | null;\n onSelect: (key: string) => void;\n style?: JSX.CSSProperties;\n}) {\n const locale = useLocale();\n const chartMessages = useChartMessages();\n let container: HTMLDivElement | undefined;\n let tooltip: HTMLSpanElement | undefined;\n let anchor: HTMLSpanElement | undefined;\n const id = `k2b-chart-tooltip-${createUniqueId()}`;\n const inspection = createChartInspection({\n container: () => container,\n locale,\n legend: props.legend,\n cursor: () => props.cursor,\n tooltip: () => tooltip,\n anchor: () => anchor,\n kind: () => props.snapshot.kind,\n enabled: () => true,\n format: ({ datum }) => props.snapshot.marks.find((m) => sameChartDatum(m.datum, datum))?.tooltip ?? { rows: [] },\n select: ({ datum }) => {\n const mark = props.snapshot.marks.find((m) => sameChartDatum(m.datum, datum));\n if (mark) props.onSelect(mark.rowKey);\n },\n });\n createEffect(() => {\n props.snapshot;\n inspection.invalidate();\n });\n createEffect(() => inspection.selectData(props.snapshot.marks.filter((m) => m.rowKey === props.selectedKey).map((m) => m.datum)));\n onMount(() => {\n onCleanup(\n closeChartInspectionOnOutside({\n container: () => container,\n tooltip: () => tooltip,\n close: inspection.close,\n }),\n );\n });\n onCleanup(inspection.close);\n return (\n <div\n ref={container}\n class=\"k2b-chart\"\n data-chart-kind={props.snapshot.kind}\n data-interactive=\"true\"\n style={props.style}\n role=\"group\"\n aria-label={chartMessages().interactiveChart}\n tabIndex={0}\n onPointerDown={inspection.down}\n onPointerMove={inspection.move}\n onClick={inspection.click}\n onPointerLeave={inspection.leave}\n onFocusIn={inspection.focus}\n onFocusOut={inspection.close}\n onKeyDown={inspection.key}\n >\n <div\n class=\"k2b-chart__svg\"\n data-stretch={props.snapshot.stretch ? \"true\" : undefined}\n style={{\n \"min-width\": props.snapshot.minWidth ? `${props.snapshot.minWidth}px` : undefined,\n \"--k2b-chart-width\": `${props.snapshot.width}px`,\n \"--k2b-chart-height\": `${props.snapshot.height}px`,\n \"aspect-ratio\": `${props.snapshot.width}/${props.snapshot.height}`,\n }}\n innerHTML={\n isServer\n ? selectedChartSvg(\n props.snapshot.svg,\n props.snapshot.marks.filter((m) => m.rowKey === props.selectedKey).map((m) => m.datum),\n )\n : props.snapshot.svg\n }\n />\n <span ref={anchor} class=\"k2b-chart__anchor\" aria-hidden=\"true\" />\n <span ref={tooltip} id={id} class=\"k2b-chart__tooltip k2b-tooltip\" role=\"tooltip\" popover=\"manual\" data-instant=\"true\" />\n </div>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAS,YAAY,EAAE,cAAc,EAAY,SAAS,EAAE,OAAO,QAAQ,UAAU;AACrF,SAAS,QAAQ,QAAQ,cAAc;AACvC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,SAAS,qBAAqB,QAAQ,oBAAoB;AAC1D,SAAS,6BAA6B,EAAE,cAAc,QAAQ,yBAAyB;AACvF,SAAS,gBAAgB,QAAQ,kBAAkB;AAEnD,SAAS,gBAAgB,QAAQ,aAAa;;AAE9C;AACA,OAAO,SAAS,iBAAiB,CAAC,KAOjC,EAAE;EACD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC;EACxC,IAAI,SAAqC;EACzC,IAAI,OAAoC;EACxC,IAAI,MAAmC;EACvC,MAAM,EAAE,GAAG,qBAAqB,cAAc,CAAC,CAAC,EAAE;EAClD,MAAM,UAAU,GAAG,qBAAqB,CAAC;IACvC,SAAS,EAAE,MAAM,SAAS;IAC1B,MAAM;IACN,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,MAAM,EAAE,MAAM,KAAK,CAAC,MAAM;IAC1B,OAAO,EAAE,MAAM,OAAO;IACtB,MAAM,EAAE,MAAM,MAAM;IACpB,IAAI,EAAE,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI;IAC/B,OAAO,EAAE,MAAM,IAAI;IACnB,MAAM,EAAE,CAAC;MAAE;IAAM,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,IAAK,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,IAAI;MAAE,IAAI,EAAE;IAAG,CAAC;IAChH,MAAM,EAAE,CAAC;MAAE;IAAM,CAAC,KAAK;MACrB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,IAAK,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;MAC7E,IAAI,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;IACvC;EACF,CAAC,CAAC;EACF,YAAY,CAAC,MAAM;IACjB,KAAK,CAAC,QAAQ;IACd,UAAU,CAAC,UAAU,CAAC,CAAC;EACzB,CAAC,CAAC;EACF,YAAY,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC,IAAK,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAE,CAAC,IAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;EACjI,OAAO,CAAC,MAAM;IACZ,SAAS,CACP,6BAA6B,CAAC;MAC5B,SAAS,EAAE,MAAM,SAAS;MAC1B,OAAO,EAAE,MAAM,OAAO;MACtB,KAAK,EAAE,UAAU,CAAC;IACpB,CAAC,CACH,CAAC;EACH,CAAC,CAAC;EACF,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;EAC3B,gEAIqB,KAAK,CAAC,QAAQ,CAAC,IAAI,4BAE7B,KAAK,CAAC,KAAK,yCAEN,aAAa,CAAC,CAAC,CAAC,gBAAgB,gDAY5B,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,YAAG,SAAS,kDAE1C,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,YAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,WAAI,YAAG,SAAS,qDAC5D,YAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,WAAI,+CAC1B,YAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,WAAI,yCAClC,YAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,oBAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,SAAE,GAGlE,QAAQ,GACJ,gBAAgB,CACd,KAAK,CAAC,QAAQ,CAAC,GAAG,EAClB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC,IAAK,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAE,CAAC,IAAK,CAAC,CAAC,KAAK,CACvF,CAAC,GACD,KAAK,CAAC,QAAQ,CAAC,GAAG,gCAIF,EAAE;AAGhC","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { mergeProps } from "solid-js";
|
|
2
|
+
import { sparkline } from "../charts/core/svg-renderers";
|
|
3
|
+
import { renderChartRoot } from "./ChartRoot";
|
|
4
|
+
import { responsiveChartSvg } from "./chart-svg";
|
|
5
|
+
|
|
6
|
+
/** The same chart host and SVG for stat trends, without the catalog dispatcher. */
|
|
7
|
+
export function ChartSparkline(props) {
|
|
8
|
+
return renderChartRoot(mergeProps(props, {
|
|
9
|
+
kind: "sparkline"
|
|
10
|
+
}), (options, width, height) => {
|
|
11
|
+
if (options.kind !== "sparkline") throw new Error("Expected sparkline options");
|
|
12
|
+
const {
|
|
13
|
+
kind: _kind,
|
|
14
|
+
...data
|
|
15
|
+
} = options;
|
|
16
|
+
return responsiveChartSvg(sparkline({
|
|
17
|
+
...data,
|
|
18
|
+
width,
|
|
19
|
+
height,
|
|
20
|
+
inspect: true
|
|
21
|
+
}));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ChartSparkline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["content/ChartSparkline.tsx"],"sourcesContent":["import { mergeProps } from \"solid-js\";\nimport { sparkline } from \"../charts/core/svg-renderers\";\nimport { type ChartProps, renderChartRoot } from \"./ChartRoot\";\nimport { responsiveChartSvg } from \"./chart-svg\";\n\n/** The same chart host and SVG for stat trends, without the catalog dispatcher. */\nexport function ChartSparkline(props: Omit<Extract<ChartProps, { kind: \"sparkline\" }>, \"kind\">) {\n return renderChartRoot(mergeProps(props, { kind: \"sparkline\" as const }), (options, width, height) => {\n if (options.kind !== \"sparkline\") throw new Error(\"Expected sparkline options\");\n const { kind: _kind, ...data } = options;\n return responsiveChartSvg(sparkline({ ...data, width, height, inspect: true }));\n });\n}\n"],"mappings":"AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,SAAS,SAAS,QAAQ,8BAA8B;AACxD,SAA0B,eAAe,QAAQ,aAAa;AAC9D,SAAS,kBAAkB,QAAQ,aAAa;;AAEhD;AACA,OAAO,SAAS,cAAc,CAAC,KAA+D,EAAE;EAC9F,OAAO,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE;EAAqB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK;IACpG,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;IAC/E,MAAM;MAAE,IAAI,EAAE,KAAK;MAAE,GAAG;IAAK,CAAC,GAAG,OAAO;IACxC,OAAO,kBAAkB,CAAC,SAAS,CAAC;MAAE,GAAG,IAAI;MAAE,KAAK;MAAE,MAAM;MAAE,OAAO,EAAE;IAAK,CAAC,CAAC,CAAC;EACjF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ssrStyleProperty as _$ssrStyleProperty } from "solid-js/web";
|
|
2
1
|
import { memo as _$memo } from "solid-js/web";
|
|
2
|
+
import { ssrStyleProperty as _$ssrStyleProperty } from "solid-js/web";
|
|
3
3
|
import { ssrAttribute as _$ssrAttribute } from "solid-js/web";
|
|
4
4
|
import { createComponent as _$createComponent } from "solid-js/web";
|
|
5
5
|
import { ssr as _$ssr } from "solid-js/web";
|
|
@@ -10,22 +10,37 @@ var _tmpl$ = ["<span class=\"k2b-data-table__header-title\">", "</span>"],
|
|
|
10
10
|
_tmpl$4 = ["<a", " class=\"k2b-data-table__header-content k2b-data-table__sort\"", ">", "</a>"],
|
|
11
11
|
_tmpl$5 = ["<button type=\"button\" class=\"k2b-data-table__header-content k2b-data-table__sort\"", ">", "</button>"],
|
|
12
12
|
_tmpl$6 = ["<div class=\"k2b-data-table__header-content\"", ">", "</div>"],
|
|
13
|
-
_tmpl$7 = ["<
|
|
14
|
-
_tmpl$8 = ["<
|
|
15
|
-
_tmpl$9 = "<
|
|
16
|
-
_tmpl$0 = ["<
|
|
17
|
-
_tmpl$1 = ["<
|
|
18
|
-
_tmpl$10 = ["<
|
|
19
|
-
_tmpl$11 = ["<
|
|
20
|
-
_tmpl$12 = ["<
|
|
21
|
-
_tmpl$13 =
|
|
22
|
-
_tmpl$14 = ["<
|
|
23
|
-
_tmpl$15 = ["<
|
|
24
|
-
_tmpl$16 = ["<td class=\"k2b-data-
|
|
25
|
-
_tmpl$17 = ["<
|
|
26
|
-
_tmpl$18 = ["<
|
|
27
|
-
_tmpl$19 = ["<
|
|
28
|
-
_tmpl$20 = ["<
|
|
13
|
+
_tmpl$7 = ["<span class=\"k2b-data-table__bar\">", "<span class=\"k2b-data-table__bar-track\" aria-hidden=\"true\"><span style=\"", "\"></span></span></span>"],
|
|
14
|
+
_tmpl$8 = ["<td class=\"k2b-data-table__details-toggle\"><button type=\"button\" class=\"k2b-data-table__details-button\"", "><i class=\"", "\" aria-hidden=\"true\"></i></button></td>"],
|
|
15
|
+
_tmpl$9 = ["<tr class=\"", "\"", ">", "", "</tr>"],
|
|
16
|
+
_tmpl$0 = ["<tr class=\"k2b-data-table__details\"", "", "><td", "><dl>", "</dl></td></tr>"],
|
|
17
|
+
_tmpl$1 = ["<td class=\"", "\"", "><div", ">", "</div></td>"],
|
|
18
|
+
_tmpl$10 = ["<div", "><dt>", "</dt><dd>", "</dd></div>"],
|
|
19
|
+
_tmpl$11 = ["<caption class=\"k2b-sr-only\">", "</caption>"],
|
|
20
|
+
_tmpl$12 = ["<th scope=\"col\" class=\"k2b-data-table__details-toggle\"><span class=\"k2b-sr-only\">", "</span></th>"],
|
|
21
|
+
_tmpl$13 = "<div class=\"k2b-data-table__sentinel\" aria-hidden=\"true\"></div>",
|
|
22
|
+
_tmpl$14 = ["<div role=\"region\"", " tabindex=\"0\" class=\"", "\"", "><table", ">", "<thead class=\"k2b-data-table__head\"", "><tr class=\"k2b-data-table__head-row\">", "", "</tr></thead>", "", "</table>", "</div>"],
|
|
23
|
+
_tmpl$15 = ["<th scope=\"col\" class=\"", "\"", ">", "</th>"],
|
|
24
|
+
_tmpl$16 = ["<tr aria-hidden=\"true\"><td class=\"k2b-data-table__fill\"", "></td></tr>"],
|
|
25
|
+
_tmpl$17 = ["<tbody>", "</tbody>"],
|
|
26
|
+
_tmpl$18 = ["<tr>", "</tr>"],
|
|
27
|
+
_tmpl$19 = ["<td class=\"k2b-data-table__empty\"", ">", "</td>"],
|
|
28
|
+
_tmpl$20 = ["<button type=\"button\" class=\"k2b-data-table__clear-query\">", "</button>"],
|
|
29
|
+
_tmpl$21 = ["<td class=\"k2b-data-table__no-match\"", ">", " ", "</td>"],
|
|
30
|
+
_tmpl$22 = "<td class=\"k2b-data-table__details-toggle\"></td>",
|
|
31
|
+
_tmpl$23 = ["<tr class=\"k2b-data-table__row\" data-loading=\"true\" aria-hidden=\"true\">", "", "</tr>"],
|
|
32
|
+
_tmpl$24 = ["<td", "><span class=\"k2b-data-table__skeleton\"></span></td>"],
|
|
33
|
+
_tmpl$25 = ["<tbody>", "", "</tbody>"],
|
|
34
|
+
_tmpl$26 = ["<tbody aria-hidden=\"true\"><tr><td class=\"k2b-data-table__fill\"", "></td></tr></tbody>"],
|
|
35
|
+
_tmpl$27 = ["<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>", "</tbody>"],
|
|
36
|
+
_tmpl$28 = "<td class=\"k2b-data-table__footer-cell k2b-data-table__details-toggle\"></td>",
|
|
37
|
+
_tmpl$29 = ["<tr class=\"k2b-data-table__details\" data-footer=\"true\"><td", "><dl>", "</dl></td></tr>"],
|
|
38
|
+
_tmpl$30 = ["<tfoot class=\"k2b-data-table__foot\" data-sticky=\"true\"><tr class=\"k2b-data-table__foot-row\">", "", "</tr>", "</tfoot>"],
|
|
39
|
+
_tmpl$31 = ["<td class=\"k2b-data-table__footer-cell\"", ">", "</td>"],
|
|
40
|
+
_tmpl$32 = ["<div class=\"k2b-data-table__scrollbar\"", " aria-hidden=\"true\"><span style=\"", "\"></span></div>"],
|
|
41
|
+
_tmpl$33 = ["<div class=\"", "\">", "</div>"],
|
|
42
|
+
_tmpl$34 = ["<span", ">", "</span>"],
|
|
43
|
+
_tmpl$35 = ["<footer class=\"", "\">", "</footer>"];
|
|
29
44
|
import { createContext, createEffect, createMemo, createSignal, createUniqueId, For, Match, on, onCleanup, onMount, Show, Switch, useContext } from "solid-js";
|
|
30
45
|
import { Dynamic } from "solid-js/web";
|
|
31
46
|
import { announce } from "../feedback/announce";
|
|
@@ -33,15 +48,20 @@ import { suppressTextSelection } from "../internal/text-selection";
|
|
|
33
48
|
import { useLocale } from "../intl/locale";
|
|
34
49
|
import { useUiMessages } from "../intl/messages";
|
|
35
50
|
import { PanelHeader } from "../layout/PanelHeader";
|
|
51
|
+
import { DeltaBadge } from "../surfaces/delta-badge";
|
|
36
52
|
import { Paper } from "../surfaces/Paper";
|
|
37
53
|
import Placeholder from "../surfaces/Placeholder";
|
|
54
|
+
import { StatusBadge } from "../surfaces/StatusBadge";
|
|
55
|
+
import { formatTableNumber, groupRows, isEmptyCell, isNumericColumnType, readTableValue, tableCellText } from "./data-table-columns";
|
|
38
56
|
import { useDataTableMessages } from "./data-table-messages";
|
|
57
|
+
import { FlowAmount } from "./FlowAmount";
|
|
39
58
|
const DataTablePanelContext = createContext();
|
|
40
|
-
const defaultRender = (value, locale, messages) => {
|
|
59
|
+
const defaultRender = (value, locale, numbers, messages) => {
|
|
41
60
|
if (value === null || value === undefined || value === "") return "—";
|
|
42
61
|
if (value instanceof Date) return value.toLocaleString(locale);
|
|
43
62
|
if (typeof value === "boolean") return value ? messages.yes : messages.no;
|
|
44
|
-
|
|
63
|
+
// Numbers read in the reader's language: grouping and decimal mark follow the locale, at most three decimals.
|
|
64
|
+
if (typeof value === "number" || typeof value === "bigint") return numbers.format(Object.is(value, -0) ? 0 : value);
|
|
45
65
|
if (typeof value === "string") return value;
|
|
46
66
|
return JSON.stringify(value);
|
|
47
67
|
};
|
|
@@ -190,17 +210,14 @@ function DataTableRoot(props) {
|
|
|
190
210
|
suppressTextSelection(event.pointerId);
|
|
191
211
|
scrollFromPointer(event, axis);
|
|
192
212
|
};
|
|
193
|
-
const valueOf = (row, col) =>
|
|
194
|
-
if (typeof col.value === "function") return col.value(row);
|
|
195
|
-
if (col.value) return row[col.value];
|
|
196
|
-
return undefined;
|
|
197
|
-
};
|
|
213
|
+
const valueOf = (row, col) => readTableValue(row, col);
|
|
198
214
|
const columnPresentation = createMemo(() => {
|
|
199
215
|
const presentation = new Map();
|
|
200
216
|
for (const col of props.columns) {
|
|
201
|
-
|
|
202
|
-
let
|
|
203
|
-
|
|
217
|
+
// A typed column says what it holds; only an untyped one is read from its first value.
|
|
218
|
+
let numeric = isNumericColumnType(col.type);
|
|
219
|
+
let date = col.type === "date";
|
|
220
|
+
if (!col.type && (col.align === undefined || col.nowrap === undefined)) {
|
|
204
221
|
for (const row of props.rows) {
|
|
205
222
|
const value = valueOf(row, col);
|
|
206
223
|
if (value === null || value === undefined || value === "") continue;
|
|
@@ -223,6 +240,44 @@ function DataTableRoot(props) {
|
|
|
223
240
|
return align === "left" ? undefined : align;
|
|
224
241
|
};
|
|
225
242
|
const nowrapAttr = col => columnPresentation().get(col.id)?.nowrap ? "true" : undefined;
|
|
243
|
+
/** Text columns wrap inside their cell; every other value keeps one line. */
|
|
244
|
+
const wrapAttr = col => col.type === "text" && col.nowrap !== true ? "true" : undefined;
|
|
245
|
+
const priorityAttr = col => col.priority === 2 || col.priority === 3 ? String(col.priority) : undefined;
|
|
246
|
+
/** The lowest priority present: 3 shows the details toggle below 560 px, 2 below 420 px. */
|
|
247
|
+
const detailsPriority = createMemo(() => {
|
|
248
|
+
const priorities = props.columns.map(col => col.priority ?? 1);
|
|
249
|
+
return priorities.includes(3) ? "3" : priorities.includes(2) ? "2" : undefined;
|
|
250
|
+
});
|
|
251
|
+
const hiddenColumns = () => props.columns.filter(col => priorityAttr(col));
|
|
252
|
+
const columnCount = () => props.columns.length + (detailsPriority() ? 1 : 0);
|
|
253
|
+
const [openDetails, setOpenDetails] = createSignal(new Set());
|
|
254
|
+
const toggleDetails = row => setOpenDetails(open => {
|
|
255
|
+
const next = new Set(open);
|
|
256
|
+
if (!next.delete(row)) next.add(row);
|
|
257
|
+
return next;
|
|
258
|
+
});
|
|
259
|
+
/** A bar column fills its track at `max`, or else at its largest value. */
|
|
260
|
+
const barMax = createMemo(() => {
|
|
261
|
+
const max = new Map();
|
|
262
|
+
for (const col of props.columns) {
|
|
263
|
+
if (col.type !== "bar") continue;
|
|
264
|
+
if (col.max !== undefined && col.max > 0) {
|
|
265
|
+
max.set(col.id, col.max);
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
let largest = 0;
|
|
269
|
+
for (const row of props.rows) {
|
|
270
|
+
const value = Number(valueOf(row, col));
|
|
271
|
+
if (Number.isFinite(value)) largest = Math.max(largest, Math.abs(value));
|
|
272
|
+
}
|
|
273
|
+
max.set(col.id, largest);
|
|
274
|
+
}
|
|
275
|
+
return max;
|
|
276
|
+
});
|
|
277
|
+
const groups = createMemo(() => {
|
|
278
|
+
const col = props.groupBy ? props.columns.find(entry => entry.id === props.groupBy) : undefined;
|
|
279
|
+
return col ? groupRows(props.rows, col, locale()) : null;
|
|
280
|
+
});
|
|
226
281
|
const sortKeyOf = col => col.sortable === true ? col.id : typeof col.sortable === "string" ? col.sortable : null;
|
|
227
282
|
|
|
228
283
|
/**
|
|
@@ -280,8 +335,51 @@ function DataTableRoot(props) {
|
|
|
280
335
|
}
|
|
281
336
|
});
|
|
282
337
|
};
|
|
283
|
-
const
|
|
284
|
-
const
|
|
338
|
+
const numberFormat = createMemo(() => new Intl.NumberFormat(locale()));
|
|
339
|
+
const renderValueDefault = value => defaultRender(value, locale(), numberFormat(), messages());
|
|
340
|
+
/** A typed column shows its value the way its type reads; an untyped one falls back to the plain rendering. */
|
|
341
|
+
const renderTypedValue = (col, value) => {
|
|
342
|
+
if (!col.type || isEmptyCell(value)) return renderValueDefault(value);
|
|
343
|
+
if (col.type === "status") {
|
|
344
|
+
const state = col.states?.[String(value)];
|
|
345
|
+
return state ? _$createComponent(StatusBadge, {
|
|
346
|
+
get tone() {
|
|
347
|
+
return state.tone;
|
|
348
|
+
},
|
|
349
|
+
get label() {
|
|
350
|
+
return state.label;
|
|
351
|
+
},
|
|
352
|
+
variant: "dot"
|
|
353
|
+
}) : String(value);
|
|
354
|
+
}
|
|
355
|
+
if (col.type === "flow" && col.format?.currency && Number.isFinite(Number(value))) return _$createComponent(FlowAmount, {
|
|
356
|
+
get value() {
|
|
357
|
+
return Number(value);
|
|
358
|
+
},
|
|
359
|
+
get currency() {
|
|
360
|
+
return col.format.currency;
|
|
361
|
+
},
|
|
362
|
+
get decimals() {
|
|
363
|
+
return col.format.decimals;
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
if (col.type === "delta" && Number.isFinite(Number(value))) return _$createComponent(DeltaBadge, {
|
|
367
|
+
get delta() {
|
|
368
|
+
return {
|
|
369
|
+
value: Number(value),
|
|
370
|
+
unit: col.delta?.unit,
|
|
371
|
+
better: col.delta?.better
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
if (col.type === "bar") {
|
|
376
|
+
const number = Number(value);
|
|
377
|
+
const max = barMax().get(col.id) ?? 0;
|
|
378
|
+
if (!Number.isFinite(number)) return String(value);
|
|
379
|
+
return _$ssr(_tmpl$7, _$escape(formatTableNumber(number, col, locale())), _$ssrStyleProperty("width:", `${max > 0 ? _$escape(Math.min(100, Math.abs(number) / max * 100), true) : 0}%`));
|
|
380
|
+
}
|
|
381
|
+
return tableCellText(value, col, locale());
|
|
382
|
+
};
|
|
285
383
|
const onRowKeyDown = (event, row) => {
|
|
286
384
|
if (!isInteractive()) return;
|
|
287
385
|
if (isNestedRowControl(event)) return;
|
|
@@ -305,6 +403,53 @@ function DataTableRoot(props) {
|
|
|
305
403
|
if (typeof props.rowClass === "function") return props.rowClass(row) ?? "";
|
|
306
404
|
return props.rowClass ?? "";
|
|
307
405
|
};
|
|
406
|
+
|
|
407
|
+
// 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.
|
|
408
|
+
const detailLabel = col => typeof col.header === "function" ? col.header({
|
|
409
|
+
col
|
|
410
|
+
}) : typeof col.header === "string" || typeof col.header === "number" ? col.header : col.id;
|
|
411
|
+
const cellContent = (row, col, value) => props.renderCell ? props.renderCell({
|
|
412
|
+
row,
|
|
413
|
+
col,
|
|
414
|
+
value,
|
|
415
|
+
render: v => renderTypedValue(col, v)
|
|
416
|
+
}) : renderTypedValue(col, value);
|
|
417
|
+
|
|
418
|
+
/** `last` marks the final row of its body when details rows follow every row, so the frame keeps the only edge. */
|
|
419
|
+
const renderRow = (row, last) => {
|
|
420
|
+
const id = () => rowId(row);
|
|
421
|
+
const isSelected = () => props.selection ? props.selection.selected().has(id() ?? "") : props.selectedRowId && id() === props.selectedRowId;
|
|
422
|
+
const detailsId = `k2b-data-table-${createUniqueId()}-details`;
|
|
423
|
+
const open = () => openDetails().has(row);
|
|
424
|
+
return [_$ssr(_tmpl$9, `k2b-data-table__row ${_$escape(rowClass(row), true)}`, _$ssrAttribute("data-hover", shouldHoverRows() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-clickable", shouldHoverRows() && isInteractive() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-selected", isSelected() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-details-open", open() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-last", detailsPriority() && last() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("aria-selected", props.selection ? !!isSelected() : _$escape(undefined, true), false) + _$ssrAttribute("tabindex", props.selection ? props.selection.focused() === id() ? 0 : -1 : isInteractive() ? 0 : _$escape(undefined, true), false), _$escape(_$createComponent(For, {
|
|
425
|
+
get each() {
|
|
426
|
+
return props.columns;
|
|
427
|
+
},
|
|
428
|
+
children: (col, index) => {
|
|
429
|
+
const value = () => valueOf(row, col);
|
|
430
|
+
return _$ssr(_tmpl$1, `${_$escape(col.cellClass ?? "", true)} ${_$escape(col.class ?? "", true)}`, _$ssrAttribute("data-nowrap", _$escape(nowrapAttr(col), true), false) + _$ssrAttribute("data-wrap", _$escape(wrapAttr(col), true), false) + _$ssrAttribute("data-align", _$escape(alignAttr(col), true), false) + _$ssrAttribute("data-priority", _$escape(priorityAttr(col), true), false) + _$ssrAttribute("data-valign", props.verticalAlign && props.verticalAlign !== "middle" ? _$escape(props.verticalAlign, true) : _$escape(undefined, true), false) + _$ssrAttribute("data-highlighted", _$escape(columnHighlighted(index()), true), false), _$ssrAttribute("class", _$escape(cellContentClass(), true), false), _$escape(cellContent(row, col, value())));
|
|
431
|
+
}
|
|
432
|
+
})), _$escape(_$createComponent(Show, {
|
|
433
|
+
get when() {
|
|
434
|
+
return detailsPriority();
|
|
435
|
+
},
|
|
436
|
+
get children() {
|
|
437
|
+
return _$ssr(_tmpl$8, _$ssrAttribute("aria-expanded", _$escape(open(), true), false) + _$ssrAttribute("aria-controls", _$escape(detailsId, true), false) + _$ssrAttribute("aria-label", _$escape(dataTableMessages().showDetails, true), false), `ti ${open() ? "ti-chevron-up" : "ti-chevron-down"}`);
|
|
438
|
+
}
|
|
439
|
+
}))), _$createComponent(Show, {
|
|
440
|
+
get when() {
|
|
441
|
+
return detailsPriority();
|
|
442
|
+
},
|
|
443
|
+
get children() {
|
|
444
|
+
return _$ssr(_tmpl$0, _$ssrAttribute("id", _$escape(detailsId, true), false), _$ssrAttribute("hidden", !open(), true), _$ssrAttribute("colspan", _$escape(columnCount(), true), false), _$escape(_$createComponent(For, {
|
|
445
|
+
get each() {
|
|
446
|
+
return hiddenColumns();
|
|
447
|
+
},
|
|
448
|
+
children: col => _$ssr(_tmpl$10, _$ssrAttribute("data-priority", _$escape(priorityAttr(col), true), false), _$escape(detailLabel(col)), _$escape(cellContent(row, col, valueOf(row, col))))
|
|
449
|
+
})));
|
|
450
|
+
}
|
|
451
|
+
})];
|
|
452
|
+
};
|
|
308
453
|
onMount(() => {
|
|
309
454
|
if (typeof IntersectionObserver === "undefined" || !loadMoreRef) return;
|
|
310
455
|
// The viewport root notices the end whichever element scrolls; `isNearBottom` decides.
|
|
@@ -372,6 +517,9 @@ function DataTableRoot(props) {
|
|
|
372
517
|
get ["data-has-footer"]() {
|
|
373
518
|
return props.footer ? "true" : undefined;
|
|
374
519
|
},
|
|
520
|
+
get ["data-priorities"]() {
|
|
521
|
+
return detailsPriority();
|
|
522
|
+
},
|
|
375
523
|
get ["data-overflow-x"]() {
|
|
376
524
|
return scrollbars().x.overflow ? "true" : undefined;
|
|
377
525
|
},
|
|
@@ -386,35 +534,59 @@ function DataTableRoot(props) {
|
|
|
386
534
|
},
|
|
387
535
|
onMouseLeave: () => setHoveredColumn(null),
|
|
388
536
|
get children() {
|
|
389
|
-
return [_$ssr(_tmpl$
|
|
537
|
+
return [_$ssr(_tmpl$14, _$ssrAttribute("aria-label", labelledBy() ? _$escape(undefined, true) : _$escape(props.ariaLabel ?? dataTableMessages().dataTable, true), false) + _$ssrAttribute("aria-labelledby", _$escape(labelledBy(), true), false) + _$ssrAttribute("aria-busy", props.loading ? "true" : _$escape(undefined, true), false), `k2b-table-wrap${props.scrollClass ? ` ${_$escape(props.scrollClass, true)}` : ""}`, _$ssrAttribute("data-density", props.density === "compact" ? "compact" : _$escape(undefined, true), false) + _$ssrAttribute("data-has-footer", props.footer ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-surface", _$escape(surface(), true), false) + _$ssrAttribute("data-scroll-preserve", _$escape(props.scrollPreserveKey || undefined, true), false), _$ssrAttribute("class", _$escape(tableClass(), true), false) + _$ssrAttribute("data-fill", props.fillHeight ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
|
|
390
538
|
get when() {
|
|
391
539
|
return props.loading;
|
|
392
540
|
},
|
|
393
541
|
get children() {
|
|
394
|
-
return _$ssr(_tmpl$
|
|
542
|
+
return _$ssr(_tmpl$11, _$escape(dataTableMessages().loadingRows));
|
|
395
543
|
}
|
|
396
544
|
})), _$ssrAttribute("data-sticky", props.stickyHeader === false ? _$escape(undefined, true) : "true", false), _$escape(_$createComponent(For, {
|
|
397
545
|
get each() {
|
|
398
546
|
return props.columns;
|
|
399
547
|
},
|
|
400
|
-
children: (col, index) => _$ssr(_tmpl$
|
|
548
|
+
children: (col, index) => _$ssr(_tmpl$15, `${_$escape(col.headerClass ?? "", true)} ${_$escape(col.class ?? "", true)}`, _$ssrAttribute("data-align", _$escape(alignAttr(col), true), false) + _$ssrAttribute("data-priority", _$escape(priorityAttr(col), true), false) + _$ssrAttribute("data-highlighted", _$escape(columnHighlighted(index()), true), false) + _$ssrAttribute("aria-sort", _$escape(ariaSortFor(col), true), false), props.renderHeader ? _$escape(props.renderHeader({
|
|
401
549
|
col,
|
|
402
550
|
render: () => renderHeaderDefault(col)
|
|
403
551
|
})) : _$escape(renderHeaderDefault(col)))
|
|
552
|
+
})), _$escape(_$createComponent(Show, {
|
|
553
|
+
get when() {
|
|
554
|
+
return detailsPriority();
|
|
555
|
+
},
|
|
556
|
+
get children() {
|
|
557
|
+
return _$ssr(_tmpl$12, _$escape(dataTableMessages().details));
|
|
558
|
+
}
|
|
404
559
|
})), _$escape(_$createComponent(Show, {
|
|
405
560
|
get when() {
|
|
406
561
|
return props.rows.length > 0;
|
|
407
562
|
},
|
|
408
563
|
get fallback() {
|
|
409
|
-
return _$createComponent(Show, {
|
|
564
|
+
return _$ssr(_tmpl$17, _$escape(_$createComponent(Show, {
|
|
410
565
|
get when() {
|
|
411
566
|
return props.loading;
|
|
412
567
|
},
|
|
413
568
|
get fallback() {
|
|
414
|
-
return _$ssr(_tmpl$
|
|
415
|
-
get
|
|
416
|
-
return props.
|
|
417
|
-
}
|
|
569
|
+
return _$ssr(_tmpl$18, _$escape(_$createComponent(Show, {
|
|
570
|
+
get when() {
|
|
571
|
+
return props.query?.trim();
|
|
572
|
+
},
|
|
573
|
+
get fallback() {
|
|
574
|
+
return _$ssr(_tmpl$19, _$ssrAttribute("colspan", _$escape(columnCount(), true), false), _$escape(_$createComponent(Placeholder, {
|
|
575
|
+
get description() {
|
|
576
|
+
return props.empty ?? dataTableMessages().noRecords;
|
|
577
|
+
}
|
|
578
|
+
})));
|
|
579
|
+
},
|
|
580
|
+
children: query => _$ssr(_tmpl$21, _$ssrAttribute("colspan", _$escape(columnCount(), true), false), _$escape(dataTableMessages().noMatch({
|
|
581
|
+
query: query()
|
|
582
|
+
})), _$escape(_$createComponent(Show, {
|
|
583
|
+
get when() {
|
|
584
|
+
return props.onClearQuery;
|
|
585
|
+
},
|
|
586
|
+
get children() {
|
|
587
|
+
return _$ssr(_tmpl$20, _$escape(dataTableMessages().clearSearch));
|
|
588
|
+
}
|
|
589
|
+
})))
|
|
418
590
|
})));
|
|
419
591
|
},
|
|
420
592
|
get children() {
|
|
@@ -424,73 +596,110 @@ function DataTableRoot(props) {
|
|
|
424
596
|
length: loadingRows()
|
|
425
597
|
});
|
|
426
598
|
},
|
|
427
|
-
children: () => _$ssr(_tmpl$
|
|
599
|
+
children: () => _$ssr(_tmpl$23, _$escape(_$createComponent(For, {
|
|
428
600
|
get each() {
|
|
429
601
|
return props.columns;
|
|
430
602
|
},
|
|
431
|
-
children: col => _$ssr(_tmpl$
|
|
603
|
+
children: col => _$ssr(_tmpl$24, _$ssrAttribute("data-align", _$escape(alignAttr(col), true), false) + _$ssrAttribute("data-priority", _$escape(priorityAttr(col), true), false))
|
|
604
|
+
})), _$escape(_$createComponent(Show, {
|
|
605
|
+
get when() {
|
|
606
|
+
return detailsPriority();
|
|
607
|
+
},
|
|
608
|
+
get children() {
|
|
609
|
+
return _$ssr(_tmpl$22);
|
|
610
|
+
}
|
|
432
611
|
})))
|
|
433
612
|
}), _$createComponent(Show, {
|
|
434
613
|
get when() {
|
|
435
614
|
return props.fillHeight;
|
|
436
615
|
},
|
|
437
616
|
get children() {
|
|
438
|
-
return _$ssr(_tmpl$
|
|
617
|
+
return _$ssr(_tmpl$16, _$ssrAttribute("colspan", _$escape(columnCount(), true), false));
|
|
439
618
|
}
|
|
440
619
|
})];
|
|
441
620
|
}
|
|
442
|
-
});
|
|
621
|
+
})));
|
|
443
622
|
},
|
|
444
623
|
get children() {
|
|
445
|
-
return
|
|
446
|
-
get
|
|
447
|
-
return
|
|
624
|
+
return _$createComponent(Show, {
|
|
625
|
+
get when() {
|
|
626
|
+
return groups();
|
|
448
627
|
},
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
const isSelected = () => props.selection ? props.selection.selected().has(id() ?? "") : props.selectedRowId && id() === props.selectedRowId;
|
|
452
|
-
return _$ssr(_tmpl$13, `k2b-data-table__row ${_$escape(rowClass(row), true)}`, _$ssrAttribute("data-hover", shouldHoverRows() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-clickable", shouldHoverRows() && isInteractive() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("data-selected", isSelected() ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("aria-selected", props.selection ? !!isSelected() : _$escape(undefined, true), false) + _$ssrAttribute("tabindex", props.selection ? props.selection.focused() === id() ? 0 : -1 : isInteractive() ? 0 : _$escape(undefined, true), false), _$escape(_$createComponent(For, {
|
|
628
|
+
get fallback() {
|
|
629
|
+
return _$ssr(_tmpl$25, _$escape(_$createComponent(For, {
|
|
453
630
|
get each() {
|
|
454
|
-
return props.
|
|
631
|
+
return props.rows;
|
|
632
|
+
},
|
|
633
|
+
children: (row, index) => renderRow(row, () => index() === props.rows.length - 1)
|
|
634
|
+
})), _$escape(_$createComponent(Show, {
|
|
635
|
+
get when() {
|
|
636
|
+
return props.fillHeight;
|
|
455
637
|
},
|
|
456
|
-
children
|
|
457
|
-
|
|
458
|
-
return _$ssr(_tmpl$14, `${_$escape(col.cellClass ?? "", true)} ${_$escape(col.class ?? "", true)}`, _$ssrAttribute("data-nowrap", _$escape(nowrapAttr(col), true), false) + _$ssrAttribute("data-align", _$escape(alignAttr(col), true), false) + _$ssrAttribute("data-valign", props.verticalAlign && props.verticalAlign !== "middle" ? _$escape(props.verticalAlign, true) : _$escape(undefined, true), false) + _$ssrAttribute("data-highlighted", _$escape(columnHighlighted(index()), true), false), _$ssrAttribute("class", _$escape(cellContentClass(), true), false), props.renderCell ? _$escape(props.renderCell({
|
|
459
|
-
row,
|
|
460
|
-
col,
|
|
461
|
-
value: value(),
|
|
462
|
-
render: v => renderCellDefault(row, {
|
|
463
|
-
...col,
|
|
464
|
-
value: () => v
|
|
465
|
-
})
|
|
466
|
-
})) : _$escape(renderValueDefault(value())));
|
|
638
|
+
get children() {
|
|
639
|
+
return _$ssr(_tmpl$16, _$ssrAttribute("colspan", _$escape(columnCount(), true), false));
|
|
467
640
|
}
|
|
468
641
|
})));
|
|
469
|
-
}
|
|
470
|
-
}), _$createComponent(Show, {
|
|
471
|
-
get when() {
|
|
472
|
-
return props.fillHeight;
|
|
473
642
|
},
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
643
|
+
children: list => [_$createComponent(For, {
|
|
644
|
+
get each() {
|
|
645
|
+
return list();
|
|
646
|
+
},
|
|
647
|
+
children: group => _$ssr(_tmpl$27, _$ssrAttribute("colspan", _$escape(columnCount(), true), false), _$escape(group.label || "—"), _$escape(group.rows.length), _$escape(dataTableMessages().rowCount({
|
|
648
|
+
count: group.rows.length
|
|
649
|
+
})), _$escape(_$createComponent(For, {
|
|
650
|
+
get each() {
|
|
651
|
+
return group.rows;
|
|
652
|
+
},
|
|
653
|
+
children: (row, index) => renderRow(row, () => index() === group.rows.length - 1)
|
|
654
|
+
})))
|
|
655
|
+
}), _$createComponent(Show, {
|
|
656
|
+
get when() {
|
|
657
|
+
return props.fillHeight;
|
|
658
|
+
},
|
|
659
|
+
get children() {
|
|
660
|
+
return _$ssr(_tmpl$26, _$ssrAttribute("colspan", _$escape(columnCount(), true), false));
|
|
661
|
+
}
|
|
662
|
+
})]
|
|
663
|
+
});
|
|
478
664
|
}
|
|
479
665
|
})), _$escape(_$createComponent(Show, {
|
|
480
666
|
get when() {
|
|
481
667
|
return props.footer;
|
|
482
668
|
},
|
|
483
|
-
children: footer => _$ssr(_tmpl$
|
|
669
|
+
children: footer => _$ssr(_tmpl$30, _$escape(_$createComponent(For, {
|
|
484
670
|
get each() {
|
|
485
671
|
return props.columns;
|
|
486
672
|
},
|
|
487
673
|
children: (col, index) => {
|
|
488
674
|
const value = () => footer().values?.[col.id];
|
|
489
|
-
return _$ssr(_tmpl$
|
|
675
|
+
return _$ssr(_tmpl$31, _$ssrAttribute("data-nowrap", _$escape(nowrapAttr(col), true), false) + _$ssrAttribute("data-align", _$escape(alignAttr(col), true), false) + _$ssrAttribute("data-priority", _$escape(priorityAttr(col), true), false) + _$ssrAttribute("data-highlighted", _$escape(columnHighlighted(index()), true), false), footer().renderCell ? _$escape(footer().renderCell({
|
|
490
676
|
col,
|
|
491
677
|
value: value(),
|
|
492
|
-
render:
|
|
493
|
-
})) : _$escape(
|
|
678
|
+
render: v => renderTypedValue(col, v)
|
|
679
|
+
})) : _$escape(renderTypedValue(col, value())));
|
|
680
|
+
}
|
|
681
|
+
})), _$escape(_$createComponent(Show, {
|
|
682
|
+
get when() {
|
|
683
|
+
return detailsPriority();
|
|
684
|
+
},
|
|
685
|
+
get children() {
|
|
686
|
+
return _$ssr(_tmpl$28);
|
|
687
|
+
}
|
|
688
|
+
})), _$escape(_$createComponent(Show, {
|
|
689
|
+
get when() {
|
|
690
|
+
return detailsPriority();
|
|
691
|
+
},
|
|
692
|
+
get children() {
|
|
693
|
+
return _$ssr(_tmpl$29, _$ssrAttribute("colspan", _$escape(columnCount(), true), false), _$escape(_$createComponent(For, {
|
|
694
|
+
get each() {
|
|
695
|
+
return hiddenColumns();
|
|
696
|
+
},
|
|
697
|
+
children: col => _$ssr(_tmpl$10, _$ssrAttribute("data-priority", _$escape(priorityAttr(col), true), false), _$escape(detailLabel(col)), footer().renderCell ? _$escape(footer().renderCell({
|
|
698
|
+
col,
|
|
699
|
+
value: footer().values?.[col.id],
|
|
700
|
+
render: v => renderTypedValue(col, v)
|
|
701
|
+
})) : _$escape(renderTypedValue(col, footer().values?.[col.id])))
|
|
702
|
+
})));
|
|
494
703
|
}
|
|
495
704
|
})))
|
|
496
705
|
})), _$escape(_$createComponent(Show, {
|
|
@@ -498,11 +707,11 @@ function DataTableRoot(props) {
|
|
|
498
707
|
return shouldRenderLoadMoreSentinel();
|
|
499
708
|
},
|
|
500
709
|
get children() {
|
|
501
|
-
return _$ssr(_tmpl$
|
|
710
|
+
return _$ssr(_tmpl$13);
|
|
502
711
|
}
|
|
503
712
|
}))), _$createComponent(For, {
|
|
504
713
|
each: ["y", "x"],
|
|
505
|
-
children: axis => _$ssr(_tmpl$
|
|
714
|
+
children: axis => _$ssr(_tmpl$32, _$ssrAttribute("data-axis", _$escape(axis, true), false) + _$ssrAttribute("data-overflow", scrollbars()[axis].overflow ? "true" : _$escape(undefined, true), false), _$ssrStyleProperty("--k2b-data-table-scroll-offset:", `${_$escape(scrollbars()[axis].offset, true)}px`) + _$ssrStyleProperty(";--k2b-data-table-scroll-size:", `${_$escape(scrollbars()[axis].size, true)}px`))
|
|
506
715
|
})];
|
|
507
716
|
}
|
|
508
717
|
});
|
|
@@ -535,9 +744,9 @@ const DataTablePanel = props => {
|
|
|
535
744
|
const DataTableHeader = props => {
|
|
536
745
|
const panel = useContext(DataTablePanelContext);
|
|
537
746
|
panel?.registerHeading();
|
|
538
|
-
return _$ssr(_tmpl$
|
|
747
|
+
return _$ssr(_tmpl$33, `k2b-data-panel__header ${_$escape(props.class ?? "", true)}`, _$escape(_$createComponent(PanelHeader, {
|
|
539
748
|
get title() {
|
|
540
|
-
return _$ssr(_tmpl$
|
|
749
|
+
return _$ssr(_tmpl$34, _$ssrAttribute("id", _$escape(panel?.headingId, true), false), _$escape(props.title));
|
|
541
750
|
},
|
|
542
751
|
get subtitle() {
|
|
543
752
|
return props.subtitle;
|
|
@@ -553,8 +762,8 @@ const DataTableHeader = props => {
|
|
|
553
762
|
}
|
|
554
763
|
})));
|
|
555
764
|
};
|
|
556
|
-
const DataTableControls = props => _$ssr(_tmpl$
|
|
557
|
-
const DataTablePanelFooter = props => _$ssr(_tmpl$
|
|
765
|
+
const DataTableControls = props => _$ssr(_tmpl$33, `k2b-data-panel__controls ${_$escape(props.class ?? "", true)}`, _$escape(props.children));
|
|
766
|
+
const DataTablePanelFooter = props => _$ssr(_tmpl$35, `k2b-data-panel__footer ${_$escape(props.class ?? "", true)}`, _$escape(props.children));
|
|
558
767
|
const DataTable = DataTableRoot;
|
|
559
768
|
DataTable.Panel = DataTablePanel;
|
|
560
769
|
DataTable.Header = DataTableHeader;
|