@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
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { deltaText } from "../surfaces/delta-badge";
|
|
2
|
+
import { resolveStatCellMessages } from "../surfaces/stat-cell-messages";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* What a column holds. It decides alignment, wrapping, the shown text, search and sort:
|
|
6
|
+
* text wraps; number, amount, bar, flow and delta read right-aligned with equal-width digits; date reads in the
|
|
7
|
+
* reader's language; status shows a badge from `states`.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/** A number format by name, as a portable description stores it. `decimals` fixes the fraction digits. */
|
|
11
|
+
|
|
12
|
+
/** The label and tone of one stored status value. */
|
|
13
|
+
|
|
14
|
+
/** The typed part of a column, independent of how the row stores its values. */
|
|
15
|
+
|
|
16
|
+
const numericTypes = new Set(["number", "amount", "bar", "flow", "delta"]);
|
|
17
|
+
export const isNumericColumnType = type => !!type && numericTypes.has(type);
|
|
18
|
+
const finite = value => {
|
|
19
|
+
if (typeof value === "number") return Number.isFinite(value) ? value : null;
|
|
20
|
+
if (typeof value === "string" && value.trim() !== "" && Number.isFinite(Number(value))) return Number(value);
|
|
21
|
+
return null;
|
|
22
|
+
};
|
|
23
|
+
const fractionDigits = decimals => {
|
|
24
|
+
if (decimals === undefined) return {};
|
|
25
|
+
const digits = Math.min(20, Math.max(0, Math.trunc(decimals) || 0));
|
|
26
|
+
return {
|
|
27
|
+
minimumFractionDigits: digits,
|
|
28
|
+
maximumFractionDigits: digits
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/** Formats a number the way a typed column shows it: in the reader's language, by the column's format. */
|
|
33
|
+
export const formatTableNumber = (value, column, locale) => {
|
|
34
|
+
const format = column.format ?? {};
|
|
35
|
+
// An amount or a flow is money: with a currency it always reads as one, whatever `style` says.
|
|
36
|
+
const money = column.type === "amount" || column.type === "flow" || format.style === "currency";
|
|
37
|
+
const options = money && format.currency ? {
|
|
38
|
+
style: "currency",
|
|
39
|
+
currency: format.currency
|
|
40
|
+
} : format.style === "percent" ? {
|
|
41
|
+
style: "percent",
|
|
42
|
+
maximumFractionDigits: 1
|
|
43
|
+
} : {
|
|
44
|
+
maximumFractionDigits: 3
|
|
45
|
+
};
|
|
46
|
+
return new Intl.NumberFormat(locale, {
|
|
47
|
+
...options,
|
|
48
|
+
...(format.compact ? {
|
|
49
|
+
notation: "compact",
|
|
50
|
+
maximumFractionDigits: 1
|
|
51
|
+
} : {}),
|
|
52
|
+
...fractionDigits(format.decimals)
|
|
53
|
+
}).format(Object.is(value, -0) ? 0 : value);
|
|
54
|
+
};
|
|
55
|
+
const dateOnly = /^\d{4}-\d{2}-\d{2}$/;
|
|
56
|
+
/** A date column reads ISO text, a timestamp or a Date; a day without a time stays that day in every zone. */
|
|
57
|
+
export const formatTableDate = (value, locale, timeZone) => {
|
|
58
|
+
if (typeof value === "string" && dateOnly.test(value)) {
|
|
59
|
+
const day = new Date(`${value}T00:00:00Z`);
|
|
60
|
+
return Number.isNaN(day.getTime()) ? null : new Intl.DateTimeFormat(locale, {
|
|
61
|
+
dateStyle: "medium",
|
|
62
|
+
timeZone: "UTC"
|
|
63
|
+
}).format(day);
|
|
64
|
+
}
|
|
65
|
+
const date = value instanceof Date ? value : typeof value === "string" || typeof value === "number" ? new Date(value) : null;
|
|
66
|
+
if (!date || Number.isNaN(date.getTime())) return null;
|
|
67
|
+
return new Intl.DateTimeFormat(locale, {
|
|
68
|
+
dateStyle: "medium",
|
|
69
|
+
timeStyle: "short",
|
|
70
|
+
timeZone
|
|
71
|
+
}).format(date);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
/** True when the value is missing: such a cell shows a dash, sorts last and never counts as zero. */
|
|
75
|
+
export const isEmptyCell = value => value === null || value === undefined || value === "";
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The text a typed cell shows, for search, grouping and copied rows. A flow is the amount without its sign, as the
|
|
79
|
+
* arrow says the direction; a delta is its signed change.
|
|
80
|
+
*/
|
|
81
|
+
export const tableCellText = (value, column, locale) => {
|
|
82
|
+
if (isEmptyCell(value)) return "";
|
|
83
|
+
const type = column.type ?? "text";
|
|
84
|
+
if (type === "status") return column.states?.[String(value)]?.label ?? String(value);
|
|
85
|
+
if (type === "date") return formatTableDate(value, locale, column.timeZone) ?? String(value);
|
|
86
|
+
if (isNumericColumnType(type)) {
|
|
87
|
+
const number = finite(value);
|
|
88
|
+
if (number === null) return String(value);
|
|
89
|
+
if (type === "delta") return deltaText({
|
|
90
|
+
value: number,
|
|
91
|
+
unit: column.delta?.unit
|
|
92
|
+
}, locale, resolveStatCellMessages(locale));
|
|
93
|
+
return formatTableNumber(type === "flow" ? Math.abs(number) : number, column, locale);
|
|
94
|
+
}
|
|
95
|
+
return typeof value === "object" ? JSON.stringify(value) : String(value);
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/** The value a typed column sorts by: numbers by value, dates by time, a status by its label, the rest as text. */
|
|
99
|
+
export const tableSortValue = (value, column, locale) => {
|
|
100
|
+
if (isEmptyCell(value)) return null;
|
|
101
|
+
const type = column.type ?? "text";
|
|
102
|
+
if (isNumericColumnType(type)) return finite(value);
|
|
103
|
+
if (type === "date") {
|
|
104
|
+
const time = value instanceof Date ? value.getTime() : typeof value === "number" ? value : Date.parse(String(value));
|
|
105
|
+
return Number.isFinite(time) ? time : null;
|
|
106
|
+
}
|
|
107
|
+
if (typeof value === "number") return value;
|
|
108
|
+
return tableCellText(value, column, locale);
|
|
109
|
+
};
|
|
110
|
+
export const readTableValue = (row, column) => typeof column.value === "function" ? column.value(row) : column.value ? row[column.value] : undefined;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* The rows any of whose shown values contains the query, ignoring case and accents. An empty query keeps every row.
|
|
114
|
+
* Matches the text a reader sees, so a status matches by its label and an amount as it is formatted.
|
|
115
|
+
*/
|
|
116
|
+
export const filterRows = (rows, columns, query, locale) => {
|
|
117
|
+
const fold = text => text.normalize("NFD").replace(/\p{Diacritic}/gu, "").toLocaleLowerCase(locale);
|
|
118
|
+
const needle = fold(query.trim());
|
|
119
|
+
if (!needle) return [...rows];
|
|
120
|
+
return rows.filter(row => columns.some(column => fold(tableCellText(readTableValue(row, column), column, locale)).includes(needle)));
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/** Rows in the order of one column: values first, missing values last in both directions. */
|
|
124
|
+
export const sortRows = (rows, columns, sort, locale) => {
|
|
125
|
+
const column = sort ? columns.find(entry => entry.id === sort.key) : undefined;
|
|
126
|
+
if (!sort || !column) return [...rows];
|
|
127
|
+
const collator = new Intl.Collator(locale, {
|
|
128
|
+
numeric: true
|
|
129
|
+
});
|
|
130
|
+
const keyed = rows.map((row, index) => ({
|
|
131
|
+
row,
|
|
132
|
+
index,
|
|
133
|
+
key: tableSortValue(readTableValue(row, column), column, locale)
|
|
134
|
+
}));
|
|
135
|
+
const factor = sort.direction === "asc" ? 1 : -1;
|
|
136
|
+
keyed.sort((a, b) => {
|
|
137
|
+
if (a.key === null || b.key === null) return a.key === b.key ? a.index - b.index : a.key === null ? 1 : -1;
|
|
138
|
+
const order = typeof a.key === "number" && typeof b.key === "number" ? a.key - b.key : collator.compare(String(a.key), String(b.key));
|
|
139
|
+
return order * factor || a.index - b.index;
|
|
140
|
+
});
|
|
141
|
+
return keyed.map(entry => entry.row);
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
/** Rows split by one column, in the order each group first appears; the label is the group's shown value. */
|
|
145
|
+
export const groupRows = (rows, column, locale) => {
|
|
146
|
+
const groups = new Map();
|
|
147
|
+
for (const row of rows) {
|
|
148
|
+
const value = readTableValue(row, column);
|
|
149
|
+
const key = isEmptyCell(value) ? "" : String(value);
|
|
150
|
+
const group = groups.get(key) ?? {
|
|
151
|
+
key,
|
|
152
|
+
label: tableCellText(value, column, locale),
|
|
153
|
+
rows: []
|
|
154
|
+
};
|
|
155
|
+
group.rows.push(row);
|
|
156
|
+
groups.set(key, group);
|
|
157
|
+
}
|
|
158
|
+
return [...groups.values()];
|
|
159
|
+
};
|
|
160
|
+
//# sourceMappingURL=data-table-columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["content/data-table-columns.ts"],"sourcesContent":["import { deltaText } from \"../surfaces/delta-badge\";\nimport type { StatusTone } from \"../surfaces/StatusBadge\";\nimport { resolveStatCellMessages } from \"../surfaces/stat-cell-messages\";\n\n/**\n * What a column holds. It decides alignment, wrapping, the shown text, search and sort:\n * text wraps; number, amount, bar, flow and delta read right-aligned with equal-width digits; date reads in the\n * reader's language; status shows a badge from `states`.\n */\nexport type DataTableColumnType = \"text\" | \"number\" | \"date\" | \"status\" | \"bar\" | \"amount\" | \"flow\" | \"delta\";\n\n/** A number format by name, as a portable description stores it. `decimals` fixes the fraction digits. */\nexport type DataTableNumberFormat = {\n style?: \"number\" | \"percent\" | \"currency\";\n /** ISO 4217 code; required for `style: \"currency\"`, `amount` and `flow`. */\n currency?: string;\n decimals?: number;\n compact?: boolean;\n};\n\n/** The label and tone of one stored status value. */\nexport type DataTableStatusState = { label: string; tone: StatusTone };\n\n/** The typed part of a column, independent of how the row stores its values. */\nexport type DataTableTypedColumn = {\n type?: DataTableColumnType;\n format?: DataTableNumberFormat;\n /** Labels and tones of a status column, by stored value. */\n states?: Readonly<Record<string, DataTableStatusState>>;\n /** The value a bar column fills its track at; defaults to the largest value in the rows. */\n max?: number;\n /** The IANA zone a date column with a time reads in, such as the zone of the data's owner; defaults to the reader's. */\n timeZone?: string;\n /** How a delta column reads its change: `ratio` (default) `0.082` as `+8.2 %`, `points` `0.031` as `+3.1 pts`; `better` rates it. */\n delta?: { unit?: \"ratio\" | \"points\"; better?: \"up\" | \"down\" };\n};\n\nconst numericTypes = new Set<DataTableColumnType>([\"number\", \"amount\", \"bar\", \"flow\", \"delta\"]);\nexport const isNumericColumnType = (type?: DataTableColumnType): boolean => !!type && numericTypes.has(type);\n\nconst finite = (value: unknown): number | null => {\n if (typeof value === \"number\") return Number.isFinite(value) ? value : null;\n if (typeof value === \"string\" && value.trim() !== \"\" && Number.isFinite(Number(value))) return Number(value);\n return null;\n};\n\nconst fractionDigits = (decimals?: number) => {\n if (decimals === undefined) return {};\n const digits = Math.min(20, Math.max(0, Math.trunc(decimals) || 0));\n return { minimumFractionDigits: digits, maximumFractionDigits: digits };\n};\n\n/** Formats a number the way a typed column shows it: in the reader's language, by the column's format. */\nexport const formatTableNumber = (value: number, column: DataTableTypedColumn, locale: string): string => {\n const format = column.format ?? {};\n // An amount or a flow is money: with a currency it always reads as one, whatever `style` says.\n const money = column.type === \"amount\" || column.type === \"flow\" || format.style === \"currency\";\n const options: Intl.NumberFormatOptions =\n money && format.currency\n ? { style: \"currency\", currency: format.currency }\n : format.style === \"percent\"\n ? { style: \"percent\", maximumFractionDigits: 1 }\n : { maximumFractionDigits: 3 };\n return new Intl.NumberFormat(locale, {\n ...options,\n ...(format.compact ? { notation: \"compact\", maximumFractionDigits: 1 } : {}),\n ...fractionDigits(format.decimals),\n }).format(Object.is(value, -0) ? 0 : value);\n};\n\nconst dateOnly = /^\\d{4}-\\d{2}-\\d{2}$/;\n/** A date column reads ISO text, a timestamp or a Date; a day without a time stays that day in every zone. */\nexport const formatTableDate = (value: unknown, locale: string, timeZone?: string): string | null => {\n if (typeof value === \"string\" && dateOnly.test(value)) {\n const day = new Date(`${value}T00:00:00Z`);\n return Number.isNaN(day.getTime()) ? null : new Intl.DateTimeFormat(locale, { dateStyle: \"medium\", timeZone: \"UTC\" }).format(day);\n }\n const date = value instanceof Date ? value : typeof value === \"string\" || typeof value === \"number\" ? new Date(value) : null;\n if (!date || Number.isNaN(date.getTime())) return null;\n return new Intl.DateTimeFormat(locale, { dateStyle: \"medium\", timeStyle: \"short\", timeZone }).format(date);\n};\n\n/** True when the value is missing: such a cell shows a dash, sorts last and never counts as zero. */\nexport const isEmptyCell = (value: unknown): boolean => value === null || value === undefined || value === \"\";\n\n/**\n * The text a typed cell shows, for search, grouping and copied rows. A flow is the amount without its sign, as the\n * arrow says the direction; a delta is its signed change.\n */\nexport const tableCellText = (value: unknown, column: DataTableTypedColumn, locale: string): string => {\n if (isEmptyCell(value)) return \"\";\n const type = column.type ?? \"text\";\n if (type === \"status\") return column.states?.[String(value)]?.label ?? String(value);\n if (type === \"date\") return formatTableDate(value, locale, column.timeZone) ?? String(value);\n if (isNumericColumnType(type)) {\n const number = finite(value);\n if (number === null) return String(value);\n if (type === \"delta\") return deltaText({ value: number, unit: column.delta?.unit }, locale, resolveStatCellMessages(locale));\n return formatTableNumber(type === \"flow\" ? Math.abs(number) : number, column, locale);\n }\n return typeof value === \"object\" ? JSON.stringify(value) : String(value);\n};\n\n/** The value a typed column sorts by: numbers by value, dates by time, a status by its label, the rest as text. */\nexport const tableSortValue = (value: unknown, column: DataTableTypedColumn, locale: string): number | string | null => {\n if (isEmptyCell(value)) return null;\n const type = column.type ?? \"text\";\n if (isNumericColumnType(type)) return finite(value);\n if (type === \"date\") {\n const time = value instanceof Date ? value.getTime() : typeof value === \"number\" ? value : Date.parse(String(value));\n return Number.isFinite(time) ? time : null;\n }\n if (typeof value === \"number\") return value;\n return tableCellText(value, column, locale);\n};\n\ntype Readable<T> = DataTableTypedColumn & { id: string; value?: keyof T | ((row: T) => unknown) };\n\nexport const readTableValue = <T>(row: T, column: Readable<T>): unknown =>\n typeof column.value === \"function\" ? column.value(row) : column.value ? row[column.value] : undefined;\n\n/**\n * The rows any of whose shown values contains the query, ignoring case and accents. An empty query keeps every row.\n * Matches the text a reader sees, so a status matches by its label and an amount as it is formatted.\n */\nexport const filterRows = <T>(rows: readonly T[], columns: readonly Readable<T>[], query: string, locale: string): T[] => {\n const fold = (text: string) =>\n text\n .normalize(\"NFD\")\n .replace(/\\p{Diacritic}/gu, \"\")\n .toLocaleLowerCase(locale);\n const needle = fold(query.trim());\n if (!needle) return [...rows];\n return rows.filter((row) => columns.some((column) => fold(tableCellText(readTableValue(row, column), column, locale)).includes(needle)));\n};\n\n/** Rows in the order of one column: values first, missing values last in both directions. */\nexport const sortRows = <T>(\n rows: readonly T[],\n columns: readonly Readable<T>[],\n sort: { key: string; direction: \"asc\" | \"desc\" } | null | undefined,\n locale: string,\n): T[] => {\n const column = sort ? columns.find((entry) => entry.id === sort.key) : undefined;\n if (!sort || !column) return [...rows];\n const collator = new Intl.Collator(locale, { numeric: true });\n const keyed = rows.map((row, index) => ({ row, index, key: tableSortValue(readTableValue(row, column), column, locale) }));\n const factor = sort.direction === \"asc\" ? 1 : -1;\n keyed.sort((a, b) => {\n if (a.key === null || b.key === null) return a.key === b.key ? a.index - b.index : a.key === null ? 1 : -1;\n const order = typeof a.key === \"number\" && typeof b.key === \"number\" ? a.key - b.key : collator.compare(String(a.key), String(b.key));\n return order * factor || a.index - b.index;\n });\n return keyed.map((entry) => entry.row);\n};\n\n/** Rows split by one column, in the order each group first appears; the label is the group's shown value. */\nexport const groupRows = <T>(rows: readonly T[], column: Readable<T>, locale: string): { key: string; label: string; rows: T[] }[] => {\n const groups = new Map<string, { key: string; label: string; rows: T[] }>();\n for (const row of rows) {\n const value = readTableValue(row, column);\n const key = isEmptyCell(value) ? \"\" : String(value);\n const group = groups.get(key) ?? { key, label: tableCellText(value, column, locale), rows: [] };\n group.rows.push(row);\n groups.set(key, group);\n }\n return [...groups.values()];\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,13 +7,49 @@ const dataTableMessages = i18n.define({
|
|
|
7
7
|
dataTable: "Data table",
|
|
8
8
|
noColumns: "No columns.",
|
|
9
9
|
noRecords: "No records",
|
|
10
|
-
loadingRows: "Loading rows"
|
|
10
|
+
loadingRows: "Loading rows",
|
|
11
|
+
noMatch: ({
|
|
12
|
+
query
|
|
13
|
+
}) => `No row matches “${query}”.`,
|
|
14
|
+
clearSearch: "Clear search",
|
|
15
|
+
details: "Details",
|
|
16
|
+
showDetails: "Show the row's hidden values",
|
|
17
|
+
rowCount: ({
|
|
18
|
+
count
|
|
19
|
+
}) => count === 1 ? "1 row" : `${count} rows`,
|
|
20
|
+
search: "Search",
|
|
21
|
+
searchTable: ({
|
|
22
|
+
label
|
|
23
|
+
}) => `Search ${label}`,
|
|
24
|
+
groupRows: "Group rows",
|
|
25
|
+
notGrouped: "Not grouped",
|
|
26
|
+
groupedBy: ({
|
|
27
|
+
label
|
|
28
|
+
}) => `By ${label}`
|
|
11
29
|
},
|
|
12
30
|
de: {
|
|
13
31
|
dataTable: "Datentabelle",
|
|
14
32
|
noColumns: "Keine Spalten.",
|
|
15
33
|
noRecords: "Keine Einträge",
|
|
16
|
-
loadingRows: "Zeilen werden geladen"
|
|
34
|
+
loadingRows: "Zeilen werden geladen",
|
|
35
|
+
noMatch: ({
|
|
36
|
+
query
|
|
37
|
+
}) => `Keine Zeile passt zu „${query}“.`,
|
|
38
|
+
clearSearch: "Suche löschen",
|
|
39
|
+
details: "Details",
|
|
40
|
+
showDetails: "Ausgeblendete Werte der Zeile zeigen",
|
|
41
|
+
rowCount: ({
|
|
42
|
+
count
|
|
43
|
+
}) => count === 1 ? "1 Zeile" : `${count} Zeilen`,
|
|
44
|
+
search: "Suchen",
|
|
45
|
+
searchTable: ({
|
|
46
|
+
label
|
|
47
|
+
}) => `${label} durchsuchen`,
|
|
48
|
+
groupRows: "Zeilen gruppieren",
|
|
49
|
+
notGrouped: "Nicht gruppiert",
|
|
50
|
+
groupedBy: ({
|
|
51
|
+
label
|
|
52
|
+
}) => `Nach ${label}`
|
|
17
53
|
}
|
|
18
54
|
}
|
|
19
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["content/data-table-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst dataTableMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n dataTable: \"Data table\",\n noColumns: \"No columns.\",\n noRecords: \"No records\",\n loadingRows: \"Loading rows\",\n },\n de: {\n dataTable: \"Datentabelle\",\n noColumns: \"Keine Spalten.\",\n noRecords: \"Keine Einträge\",\n loadingRows: \"Zeilen werden geladen\",\n },\n },\n});\n\nexport type DataTableMessages = ReturnType<(typeof dataTableMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const useDataTableMessages = (): (() => DataTableMessages) => {\n const locale = useLocale();\n return () => dataTableMessages.resolve([locale()]).t;\n};\n\nexport const checkDataTableMessages = () => dataTableMessages.check();\n"],"mappings":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC;EACpC,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,SAAS,EAAE,YAAY;MACvB,SAAS,EAAE,aAAa;MACxB,SAAS,EAAE,YAAY;MACvB,WAAW,EAAE;
|
|
1
|
+
{"version":3,"names":[],"sources":["content/data-table-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst dataTableMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n dataTable: \"Data table\",\n noColumns: \"No columns.\",\n noRecords: \"No records\",\n loadingRows: \"Loading rows\",\n noMatch: ({ query }: { query: string }) => `No row matches “${query}”.`,\n clearSearch: \"Clear search\",\n details: \"Details\",\n showDetails: \"Show the row's hidden values\",\n rowCount: ({ count }: { count: number }) => (count === 1 ? \"1 row\" : `${count} rows`),\n search: \"Search\",\n searchTable: ({ label }: { label: string }) => `Search ${label}`,\n groupRows: \"Group rows\",\n notGrouped: \"Not grouped\",\n groupedBy: ({ label }: { label: string }) => `By ${label}`,\n },\n de: {\n dataTable: \"Datentabelle\",\n noColumns: \"Keine Spalten.\",\n noRecords: \"Keine Einträge\",\n loadingRows: \"Zeilen werden geladen\",\n noMatch: ({ query }: { query: string }) => `Keine Zeile passt zu „${query}“.`,\n clearSearch: \"Suche löschen\",\n details: \"Details\",\n showDetails: \"Ausgeblendete Werte der Zeile zeigen\",\n rowCount: ({ count }: { count: number }) => (count === 1 ? \"1 Zeile\" : `${count} Zeilen`),\n search: \"Suchen\",\n searchTable: ({ label }: { label: string }) => `${label} durchsuchen`,\n groupRows: \"Zeilen gruppieren\",\n notGrouped: \"Nicht gruppiert\",\n groupedBy: ({ label }: { label: string }) => `Nach ${label}`,\n },\n },\n});\n\nexport type DataTableMessages = ReturnType<(typeof dataTableMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const useDataTableMessages = (): (() => DataTableMessages) => {\n const locale = useLocale();\n return () => dataTableMessages.resolve([locale()]).t;\n};\n\nexport const checkDataTableMessages = () => dataTableMessages.check();\n"],"mappings":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC;EACpC,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,SAAS,EAAE,YAAY;MACvB,SAAS,EAAE,aAAa;MACxB,SAAS,EAAE,YAAY;MACvB,WAAW,EAAE,cAAc;MAC3B,OAAO,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,mBAAmB,KAAK,IAAI;MACvE,WAAW,EAAE,cAAc;MAC3B,OAAO,EAAE,SAAS;MAClB,WAAW,EAAE,8BAA8B;MAC3C,QAAQ,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAM,KAAK,KAAK,CAAC,GAAG,OAAO,GAAG,GAAG,KAAK,OAAQ;MACrF,MAAM,EAAE,QAAQ;MAChB,WAAW,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,UAAU,KAAK,EAAE;MAChE,SAAS,EAAE,YAAY;MACvB,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,MAAM,KAAK;IAC1D,CAAC;IACD,EAAE,EAAE;MACF,SAAS,EAAE,cAAc;MACzB,SAAS,EAAE,gBAAgB;MAC3B,SAAS,EAAE,gBAAgB;MAC3B,WAAW,EAAE,uBAAuB;MACpC,OAAO,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,yBAAyB,KAAK,IAAI;MAC7E,WAAW,EAAE,eAAe;MAC5B,OAAO,EAAE,SAAS;MAClB,WAAW,EAAE,sCAAsC;MACnD,QAAQ,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAM,KAAK,KAAK,CAAC,GAAG,SAAS,GAAG,GAAG,KAAK,SAAU;MACzF,MAAM,EAAE,QAAQ;MAChB,WAAW,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,cAAc;MACrE,SAAS,EAAE,mBAAmB;MAC9B,UAAU,EAAE,iBAAiB;MAC7B,SAAS,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,QAAQ,KAAK;IAC5D;EACF;AACF,CAAC,CAAC;AAIF;AACA,OAAO,MAAM,oBAAoB,GAAG,MAAiC;EACnE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,OAAO,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,OAAO,MAAM,sBAAsB,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { i18n } from "@k2b/stdlib";
|
|
2
|
+
import { useLocale } from "../intl/locale";
|
|
3
|
+
const flowAmountMessages = i18n.define({
|
|
4
|
+
baseLocale: "en",
|
|
5
|
+
messages: {
|
|
6
|
+
en: {
|
|
7
|
+
in: "incoming",
|
|
8
|
+
out: "outgoing",
|
|
9
|
+
none: "no amount",
|
|
10
|
+
invalid: "amount unknown"
|
|
11
|
+
},
|
|
12
|
+
de: {
|
|
13
|
+
in: "Eingang",
|
|
14
|
+
out: "Ausgang",
|
|
15
|
+
none: "kein Betrag",
|
|
16
|
+
invalid: "Betrag unbekannt"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
/** Resolved from an explicit locale override, else the inherited render locale. */
|
|
21
|
+
export const useFlowAmountMessages = override => {
|
|
22
|
+
const locale = useLocale();
|
|
23
|
+
return () => flowAmountMessages.resolve([override?.() ?? locale()]).t;
|
|
24
|
+
};
|
|
25
|
+
export const checkFlowAmountMessages = () => flowAmountMessages.check();
|
|
26
|
+
//# sourceMappingURL=flow-amount-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["content/flow-amount-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst flowAmountMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n in: \"incoming\",\n out: \"outgoing\",\n none: \"no amount\",\n invalid: \"amount unknown\",\n },\n de: {\n in: \"Eingang\",\n out: \"Ausgang\",\n none: \"kein Betrag\",\n invalid: \"Betrag unbekannt\",\n },\n },\n});\n\nexport type FlowAmountMessages = ReturnType<(typeof flowAmountMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from an explicit locale override, else the inherited render locale. */\nexport const useFlowAmountMessages = (override?: () => string | undefined): (() => FlowAmountMessages) => {\n const locale = useLocale();\n return () => flowAmountMessages.resolve([override?.() ?? locale()]).t;\n};\n\nexport const checkFlowAmountMessages = () => flowAmountMessages.check();\n"],"mappings":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;EACrC,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,EAAE,EAAE,UAAU;MACd,GAAG,EAAE,UAAU;MACf,IAAI,EAAE,WAAW;MACjB,OAAO,EAAE;IACX,CAAC;IACD,EAAE,EAAE;MACF,EAAE,EAAE,SAAS;MACb,GAAG,EAAE,SAAS;MACd,IAAI,EAAE,aAAa;MACnB,OAAO,EAAE;IACX;EACF;AACF,CAAC,CAAC;AAIF;AACA,OAAO,MAAM,qBAAqB,GAAI,QAAmC,IAAiC;EACxG,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,OAAO,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,OAAO,MAAM,uBAAuB,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { BalanceSummary } from "./BalanceSummary";
|
|
1
2
|
export { default as Calendar } from "./Calendar";
|
|
2
3
|
export { default as Chart } from "./Chart";
|
|
3
4
|
export { ChartExplorer } from "./ChartExplorer";
|
|
@@ -11,12 +12,15 @@ export { prepareChartSnapshot } from "./chart-snapshot";
|
|
|
11
12
|
export { highlightSql } from "./code-highlight";
|
|
12
13
|
export { createCollectionSelection } from "./collection-selection";
|
|
13
14
|
export { default as DataTable } from "./DataTable";
|
|
15
|
+
export { createDataTableView, DataTableTools } from "./DataTableTools";
|
|
14
16
|
export { DocCode, DocConceptGrid, DocInlineCode, DocLead, DocNote, DocPage, DocRows, DocSection } from "./Docs";
|
|
17
|
+
export { filterRows, sortRows } from "./data-table-columns";
|
|
15
18
|
export { FileBrowserPanel, openFileBrowser } from "./FileBrowser";
|
|
16
19
|
export { FileGrid } from "./FileGrid";
|
|
17
20
|
export { default as FileTree } from "./FileTree";
|
|
18
21
|
export { FileTypeIcon, fileKindLabel, fileTypeOf } from "./FileTypeIcon";
|
|
19
22
|
export { canPreviewFile, default as FileView, formatFileViewSize, getFileViewPreviewKind } from "./FileView";
|
|
23
|
+
export { FlowAmount, flowDirection } from "./FlowAmount";
|
|
20
24
|
export { Kbd } from "./Kbd";
|
|
21
25
|
export { LabelChip } from "./LabelChip";
|
|
22
26
|
export { default as Lightbox } from "./Lightbox";
|
|
@@ -34,6 +38,7 @@ export { MARKDOWN_CALLOUT_CLASSES, MARKDOWN_CALLOUT_ICON_ATTRIBUTES, markdownInf
|
|
|
34
38
|
export { markdownLinkReference, markdownReferenceIcon, markdownReferenceType, markdownReferenceTypeLabel, markStandaloneLinks, renderMarkdownLink } from "./markdown-links";
|
|
35
39
|
export { Pagination } from "./Pagination";
|
|
36
40
|
export { default as PdfPreview } from "./PdfPreview";
|
|
41
|
+
export { default as PdfViewer } from "./PdfViewer";
|
|
37
42
|
export { default as RangePicker } from "./RangePicker";
|
|
38
43
|
export { ReactionBar } from "./ReactionBar";
|
|
39
44
|
export { REFERENCE_CHIP_MAX_CHARACTERS, ReferenceChip, truncateMiddle } from "./ReferenceChip";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["content/index.ts"],"sourcesContent":["export type {\n CalendarAttendee,\n CalendarCommand,\n CalendarController,\n CalendarCustomView,\n CalendarDayBadge,\n CalendarEvent,\n CalendarEventColor,\n CalendarEventLink,\n CalendarEventRenderContext,\n CalendarEventTimeChange,\n CalendarExternalDrag,\n CalendarLabels,\n CalendarProps,\n CalendarQuickCreateControls,\n CalendarRange,\n CalendarRecurrence,\n CalendarResource,\n CalendarSelectionControls,\n CalendarView,\n} from \"./Calendar\";\nexport { default as Calendar } from \"./Calendar\";\n\nexport type { ChartKind, ChartLabels, ChartProps, ChartRenderOptions } from \"./Chart\";\nexport { default as Chart } from \"./Chart\";\nexport type { ChartExplorerColumn, ChartExplorerProps, ChartLegendEntry } from \"./ChartExplorer\";\nexport { ChartExplorer } from \"./ChartExplorer\";\nexport type { ChartExplorerControlsProps } from \"./ChartExplorerControls\";\nexport { ChartExplorerControls } from \"./ChartExplorerControls\";\nexport { ChartFilterControls, type ChartFilterControlsProps } from \"./ChartFilterControls\";\nexport { ChartSnapshotView } from \"./ChartSnapshotView\";\nexport type { CodeDisplayLanguage, CodeDisplayProps } from \"./CodeDisplay\";\nexport { default as CodeDisplay } from \"./CodeDisplay\";\nexport { type ChartCursor, createChartCursor } from \"./chart-cursor\";\nexport type {\n ChartExplorerCharts,\n ChartExplorerController,\n ChartExplorerData,\n ChartExplorerOptions,\n ChartExplorerRequest,\n ChartExplorerRow,\n ChartExplorerSnapshot,\n} from \"./chart-explorer\";\nexport { createChartExplorer } from \"./chart-explorer\";\nexport type { ChartDatumRef, ChartSelection, ChartTooltip, ChartTooltipFormatter } from \"./chart-inspection-core\";\nexport type { ChartSnapshot } from \"./chart-snapshot\";\nexport { prepareChartSnapshot } from \"./chart-snapshot\";\nexport type {\n StateTimelineChartOptions,\n StateTimelineDomain,\n StateTimelineInterval,\n StateTimelineRow,\n StateTimelineState,\n} from \"./chart-state-timeline\";\nexport { highlightSql } from \"./code-highlight\";\nexport { type CollectionSelection, createCollectionSelection, type SelectionModifiers } from \"./collection-selection\";\nexport type {\n DataTableColumn,\n DataTableControlsProps,\n DataTableFooter,\n DataTableHeaderProps,\n DataTablePanelFooterProps,\n DataTablePanelProps,\n DataTableProps,\n DataTableRenderCell,\n DataTableRenderHeader,\n DataTableSort,\n} from \"./DataTable\";\nexport { default as DataTable } from \"./DataTable\";\nexport type { DocCodeHighlighter, DocCodeProps, DocConcept, DocNoteVariant, DocRow } from \"./Docs\";\nexport { DocCode, DocConceptGrid, DocInlineCode, DocLead, DocNote, DocPage, DocRows, DocSection } from \"./Docs\";\nexport { FileBrowserPanel, type FileBrowserPanelProps, type FileSource, openFileBrowser } from \"./FileBrowser\";\nexport { FileGrid, type FileGridGroup, type FileGridOpenProps, type FileGridProps, type FileGridSelectableProps } from \"./FileGrid\";\nexport { default as FileTree, type FileTreeActions, type FileTreeEntry, type FileTreeProps } from \"./FileTree\";\nexport { type FileType, FileTypeIcon, type FileTypeIconProps, fileKindLabel, fileTypeOf } from \"./FileTypeIcon\";\nexport {\n canPreviewFile,\n default as FileView,\n type FileViewContent,\n type FileViewFile,\n type FileViewPreviewKind,\n type FileViewProps,\n type FileViewRenderer,\n type FileViewRendererProps,\n formatFileViewSize,\n getFileViewPreviewKind,\n} from \"./FileView\";\nexport type { KbdProps } from \"./Kbd\";\nexport { Kbd } from \"./Kbd\";\nexport type { LabelChipProps } from \"./LabelChip\";\nexport { LabelChip } from \"./LabelChip\";\nexport type { LightboxAction, LightboxImage } from \"./Lightbox\";\nexport { default as Lightbox } from \"./Lightbox\";\nexport type { LogTableEntry } from \"./LogEntriesTable\";\nexport { default as LogEntriesTable } from \"./LogEntriesTable\";\nexport { MapAttribution } from \"./MapAttribution\";\nexport { MapView } from \"./MapView\";\nexport { MapViewFrame } from \"./MapViewFrame\";\nexport { default as MarkdownView, type MarkdownRenderOptions, type MarkdownViewProps, renderSafeMarkdown } from \"./MarkdownView\";\nexport { type MatchRange, MatchText, type MatchTextProps, matchParts } from \"./MatchText\";\nexport type {\n MessageEventGroupProps,\n MessageEventRowProps,\n MessageGroupEntry,\n MessageRowAction,\n MessageRowAttachment,\n MessageRowAuthor,\n MessageRowFile,\n MessageRowMedia,\n MessageRowOrigin,\n MessageRowProgress,\n MessageRowProps,\n MessageRowQuote,\n MessageRowReaction,\n MessageRowStatus,\n MessageRowThread,\n MessageSystemRowProps,\n} from \"./MessageRow\";\nexport { MessageEventGroup, MessageEventRow, MessageRow, MessageSystemRow, startsMessageGroup } from \"./MessageRow\";\nexport { type MapPaletteColors, type MapTheme, mapPalette } from \"./map-palette\";\nexport { type MapStyleOptions, mapAttribution, mapStyle } from \"./map-style\";\nexport { MAP_SNAPSHOT_MAX_PIXELS, MapSnapshotError, type MapSnapshotErrorCode } from \"./map-view-snapshot\";\nexport type {\n MapViewArea,\n MapViewFit,\n MapViewFrameProps,\n MapViewHandle,\n MapViewLine,\n MapViewLineTone,\n MapViewMarker,\n MapViewOwnLocation,\n MapViewPoint,\n MapViewProps,\n MapViewSnapshot,\n MapViewSnapshotOptions,\n MapViewStyle,\n MapViewStyleSource,\n MapViewTone,\n} from \"./map-view-types\";\nexport {\n MARKDOWN_CALLOUT_CLASSES,\n MARKDOWN_CALLOUT_ICON_ATTRIBUTES,\n type MarkdownInfoBlock,\n type MarkdownInfoBlockRenderInput,\n type MarkdownInfoBlockType,\n markdownInfoBlocks,\n renderMarkdownInfoBlock,\n scanMarkdownInfoBlock,\n} from \"./markdown-info-blocks\";\nexport {\n type MarkdownLinkInput,\n type MarkdownReference,\n type MarkdownReferenceKind,\n type MarkdownReferenceType,\n markdownLinkReference,\n markdownReferenceIcon,\n markdownReferenceType,\n markdownReferenceTypeLabel,\n markStandaloneLinks,\n renderMarkdownLink,\n} from \"./markdown-links\";\nexport { Pagination, type PaginationProps } from \"./Pagination\";\nexport type { PdfPreviewProps, PdfPreviewRequest } from \"./PdfPreview\";\nexport { default as PdfPreview } from \"./PdfPreview\";\nexport type { RangeOption, RangePickerProps } from \"./RangePicker\";\nexport { default as RangePicker } from \"./RangePicker\";\nexport { ReactionBar, type ReactionBarItem, type ReactionBarProps } from \"./ReactionBar\";\nexport type {\n ReferenceChipObjectProps,\n ReferenceChipPersonProps,\n ReferenceChipProps,\n ReferenceChipTimeProps,\n} from \"./ReferenceChip\";\nexport { REFERENCE_CHIP_MAX_CHARACTERS, ReferenceChip, truncateMiddle } from \"./ReferenceChip\";\nexport type { StepsProps } from \"./Steps\";\nexport { Steps } from \"./Steps\";\nexport type { StructuredDataPreviewMode, StructuredDataPreviewProps, StructuredDataValue } from \"./StructuredDataPreview\";\nexport { default as StructuredDataPreview, isStructuredDataValue } from \"./StructuredDataPreview\";\nexport type { TimelineColor, TimelineController, TimelineItem, TimelineProps } from \"./Timeline\";\nexport { default as Timeline } from \"./Timeline\";\nexport { VideoPlayer, type VideoPlayerProps } from \"./VideoPlayer\";\nexport type { VirtualFeedController, VirtualFeedProps, VirtualFeedScrollOptions } from \"./VirtualFeed\";\nexport { VirtualFeed } from \"./VirtualFeed\";\nexport type { ZoomPanAction, ZoomPanFullscreen, ZoomPanViewportProps } from \"./ZoomPanViewport\";\nexport { ZoomPanViewport } from \"./ZoomPanViewport\";\n"],"mappings":"AAqBA,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAGhD,SAAS,OAAO,IAAI,KAAK,QAAQ,SAAS;AAE1C,SAAS,aAAa,QAAQ,iBAAiB;AAE/C,SAAS,qBAAqB,QAAQ,yBAAyB;AAC/D,SAAS,mBAAmB,QAAuC,uBAAuB;AAC1F,SAAS,iBAAiB,QAAQ,qBAAqB;AAEvD,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AACtD,SAA2B,iBAAiB,QAAQ,gBAAgB;AAUpE,SAAS,mBAAmB,QAAQ,kBAAkB;AAGtD,SAAS,oBAAoB,QAAQ,kBAAkB;AAQvD,SAAS,YAAY,QAAQ,kBAAkB;AAC/C,SAAmC,yBAAyB,QAAiC,wBAAwB;AAarH,SAAS,OAAO,IAAI,SAAS,QAAQ,aAAa;AAElD,SAAS,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,QAAQ,QAAQ;AAC/G,SAAS,gBAAgB,EAA+C,eAAe,QAAQ,eAAe;AAC9G,SAAS,QAAQ,QAAsG,YAAY;AACnI,SAAS,OAAO,IAAI,QAAQ,QAAsE,YAAY;AAC9G,SAAwB,YAAY,EAA0B,aAAa,EAAE,UAAU,QAAQ,gBAAgB;AAC/G,SACE,cAAc,EACd,OAAO,IAAI,QAAQ,EAOnB,kBAAkB,EAClB,sBAAsB,QACjB,YAAY;AAEnB,SAAS,GAAG,QAAQ,OAAO;AAE3B,SAAS,SAAS,QAAQ,aAAa;AAEvC,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAEhD,SAAS,OAAO,IAAI,eAAe,QAAQ,mBAAmB;AAC9D,SAAS,cAAc,QAAQ,kBAAkB;AACjD,SAAS,OAAO,QAAQ,WAAW;AACnC,SAAS,YAAY,QAAQ,gBAAgB;AAC7C,SAAS,OAAO,IAAI,YAAY,EAAsD,kBAAkB,QAAQ,gBAAgB;AAChI,SAA0B,SAAS,EAAuB,UAAU,QAAQ,aAAa;AAmBzF,SAAS,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,QAAQ,cAAc;AACnH,SAA+C,UAAU,QAAQ,eAAe;AAChF,SAA+B,cAAc,EAAE,QAAQ,QAAQ,aAAa;AAC5E,SAAS,uBAAuB,EAAE,gBAAgB,QAAmC,qBAAqB;AAkB1G,SACE,wBAAwB,EACxB,gCAAgC,EAIhC,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,QAChB,wBAAwB;AAC/B,SAKE,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,QACb,kBAAkB;AACzB,SAAS,UAAU,QAA8B,cAAc;AAE/D,SAAS,OAAO,IAAI,UAAU,QAAQ,cAAc;AAEpD,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AACtD,SAAS,WAAW,QAAqD,eAAe;AAOxF,SAAS,6BAA6B,EAAE,aAAa,EAAE,cAAc,QAAQ,iBAAiB;AAE9F,SAAS,KAAK,QAAQ,SAAS;AAE/B,SAAS,OAAO,IAAI,qBAAqB,EAAE,qBAAqB,QAAQ,yBAAyB;AAEjG,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAChD,SAAS,WAAW,QAA+B,eAAe;AAElE,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,eAAe,QAAQ,mBAAmB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["content/index.ts"],"sourcesContent":["export type { ChartDateFormat, ChartDatum, ChartDatumRole, ChartFormat, ChartNumberFormat } from \"../charts/core\";\nexport { BalanceSummary, type BalanceSummaryProps } from \"./BalanceSummary\";\nexport type {\n CalendarAttendee,\n CalendarCommand,\n CalendarController,\n CalendarCustomView,\n CalendarDayBadge,\n CalendarEvent,\n CalendarEventColor,\n CalendarEventLink,\n CalendarEventRenderContext,\n CalendarEventTimeChange,\n CalendarExternalDrag,\n CalendarLabels,\n CalendarProps,\n CalendarQuickCreateControls,\n CalendarRange,\n CalendarRecurrence,\n CalendarResource,\n CalendarSelectionControls,\n CalendarView,\n} from \"./Calendar\";\nexport { default as Calendar } from \"./Calendar\";\n\nexport type { ChartKind, ChartKindProps, ChartLabels, ChartProps, ChartRenderOptions } from \"./Chart\";\nexport { default as Chart } from \"./Chart\";\nexport type { ChartExplorerColumn, ChartExplorerProps, ChartFrameRequest, ChartLegendEntry } from \"./ChartExplorer\";\nexport { ChartExplorer } from \"./ChartExplorer\";\nexport type { ChartExplorerControlsProps } from \"./ChartExplorerControls\";\nexport { ChartExplorerControls } from \"./ChartExplorerControls\";\nexport { ChartFilterControls, type ChartFilterControlsProps } from \"./ChartFilterControls\";\nexport { ChartSnapshotView } from \"./ChartSnapshotView\";\nexport type { CodeDisplayLanguage, CodeDisplayProps } from \"./CodeDisplay\";\nexport { default as CodeDisplay } from \"./CodeDisplay\";\nexport { type ChartCursor, createChartCursor } from \"./chart-cursor\";\nexport type {\n ChartExplorerCharts,\n ChartExplorerController,\n ChartExplorerData,\n ChartExplorerOptions,\n ChartExplorerRequest,\n ChartExplorerRow,\n ChartExplorerSnapshot,\n} from \"./chart-explorer\";\nexport { createChartExplorer } from \"./chart-explorer\";\nexport type { ChartDatumRef, ChartSelection, ChartTooltip, ChartTooltipFormatter } from \"./chart-inspection-core\";\nexport type { ChartSnapshot } from \"./chart-snapshot\";\nexport { prepareChartSnapshot } from \"./chart-snapshot\";\nexport type {\n StateTimelineChartOptions,\n StateTimelineDomain,\n StateTimelineInterval,\n StateTimelineRow,\n StateTimelineState,\n} from \"./chart-state-timeline\";\nexport type { ChartTimeAxis } from \"./chart-time-axis\";\nexport { highlightSql } from \"./code-highlight\";\nexport { type CollectionSelection, createCollectionSelection, type SelectionModifiers } from \"./collection-selection\";\nexport type {\n DataTableColumn,\n DataTableControlsProps,\n DataTableFooter,\n DataTableHeaderProps,\n DataTablePanelFooterProps,\n DataTablePanelProps,\n DataTableProps,\n DataTableRenderCell,\n DataTableRenderHeader,\n DataTableSort,\n} from \"./DataTable\";\nexport { default as DataTable } from \"./DataTable\";\nexport type { DataTableToolsProps, DataTableView, DataTableViewOptions } from \"./DataTableTools\";\nexport { createDataTableView, DataTableTools } from \"./DataTableTools\";\nexport type { DocCodeHighlighter, DocCodeProps, DocConcept, DocNoteVariant, DocRow } from \"./Docs\";\nexport { DocCode, DocConceptGrid, DocInlineCode, DocLead, DocNote, DocPage, DocRows, DocSection } from \"./Docs\";\nexport type {\n DataTableColumnType,\n DataTableNumberFormat,\n DataTableStatusState,\n DataTableTypedColumn,\n} from \"./data-table-columns\";\nexport { filterRows, sortRows } from \"./data-table-columns\";\nexport { FileBrowserPanel, type FileBrowserPanelProps, type FileSource, openFileBrowser } from \"./FileBrowser\";\nexport { FileGrid, type FileGridGroup, type FileGridOpenProps, type FileGridProps, type FileGridSelectableProps } from \"./FileGrid\";\nexport { default as FileTree, type FileTreeActions, type FileTreeEntry, type FileTreeProps } from \"./FileTree\";\nexport { type FileType, FileTypeIcon, type FileTypeIconProps, fileKindLabel, fileTypeOf } from \"./FileTypeIcon\";\nexport {\n canPreviewFile,\n default as FileView,\n type FileViewContent,\n type FileViewFile,\n type FileViewPreviewKind,\n type FileViewProps,\n type FileViewRenderer,\n type FileViewRendererProps,\n formatFileViewSize,\n getFileViewPreviewKind,\n} from \"./FileView\";\nexport { FlowAmount, type FlowAmountDirection, type FlowAmountProps, flowDirection } from \"./FlowAmount\";\nexport type { KbdProps } from \"./Kbd\";\nexport { Kbd } from \"./Kbd\";\nexport type { LabelChipProps } from \"./LabelChip\";\nexport { LabelChip } from \"./LabelChip\";\nexport type { LightboxAction, LightboxImage } from \"./Lightbox\";\nexport { default as Lightbox } from \"./Lightbox\";\nexport type { LogTableEntry } from \"./LogEntriesTable\";\nexport { default as LogEntriesTable } from \"./LogEntriesTable\";\nexport { MapAttribution } from \"./MapAttribution\";\nexport { MapView } from \"./MapView\";\nexport { MapViewFrame } from \"./MapViewFrame\";\nexport { default as MarkdownView, type MarkdownRenderOptions, type MarkdownViewProps, renderSafeMarkdown } from \"./MarkdownView\";\nexport { type MatchRange, MatchText, type MatchTextProps, matchParts } from \"./MatchText\";\nexport type {\n MessageEventGroupProps,\n MessageEventRowProps,\n MessageGroupEntry,\n MessageRowAction,\n MessageRowAttachment,\n MessageRowAuthor,\n MessageRowFile,\n MessageRowMedia,\n MessageRowOrigin,\n MessageRowProgress,\n MessageRowProps,\n MessageRowQuote,\n MessageRowReaction,\n MessageRowStatus,\n MessageRowThread,\n MessageSystemRowProps,\n} from \"./MessageRow\";\nexport { MessageEventGroup, MessageEventRow, MessageRow, MessageSystemRow, startsMessageGroup } from \"./MessageRow\";\nexport { type MapPaletteColors, type MapTheme, mapPalette } from \"./map-palette\";\nexport { type MapStyleOptions, mapAttribution, mapStyle } from \"./map-style\";\nexport { MAP_SNAPSHOT_MAX_PIXELS, MapSnapshotError, type MapSnapshotErrorCode } from \"./map-view-snapshot\";\nexport type {\n MapViewArea,\n MapViewFit,\n MapViewFrameProps,\n MapViewHandle,\n MapViewLine,\n MapViewLineTone,\n MapViewMarker,\n MapViewOwnLocation,\n MapViewPoint,\n MapViewProps,\n MapViewSnapshot,\n MapViewSnapshotOptions,\n MapViewStyle,\n MapViewStyleSource,\n MapViewTone,\n} from \"./map-view-types\";\nexport {\n MARKDOWN_CALLOUT_CLASSES,\n MARKDOWN_CALLOUT_ICON_ATTRIBUTES,\n type MarkdownInfoBlock,\n type MarkdownInfoBlockRenderInput,\n type MarkdownInfoBlockType,\n markdownInfoBlocks,\n renderMarkdownInfoBlock,\n scanMarkdownInfoBlock,\n} from \"./markdown-info-blocks\";\nexport {\n type MarkdownLinkInput,\n type MarkdownReference,\n type MarkdownReferenceKind,\n type MarkdownReferenceType,\n markdownLinkReference,\n markdownReferenceIcon,\n markdownReferenceType,\n markdownReferenceTypeLabel,\n markStandaloneLinks,\n renderMarkdownLink,\n} from \"./markdown-links\";\nexport { Pagination, type PaginationProps } from \"./Pagination\";\nexport type { PdfPreviewProps, PdfPreviewRequest } from \"./PdfPreview\";\nexport { default as PdfPreview } from \"./PdfPreview\";\nexport type { PdfViewerProps } from \"./PdfViewer\";\nexport { default as PdfViewer } from \"./PdfViewer\";\nexport type { RangeOption, RangePickerProps } from \"./RangePicker\";\nexport { default as RangePicker } from \"./RangePicker\";\nexport { ReactionBar, type ReactionBarItem, type ReactionBarProps } from \"./ReactionBar\";\nexport type {\n ReferenceChipObjectProps,\n ReferenceChipPersonProps,\n ReferenceChipProps,\n ReferenceChipTimeProps,\n} from \"./ReferenceChip\";\nexport { REFERENCE_CHIP_MAX_CHARACTERS, ReferenceChip, truncateMiddle } from \"./ReferenceChip\";\nexport type { StepsProps } from \"./Steps\";\nexport { Steps } from \"./Steps\";\nexport type { StructuredDataPreviewMode, StructuredDataPreviewProps, StructuredDataValue } from \"./StructuredDataPreview\";\nexport { default as StructuredDataPreview, isStructuredDataValue } from \"./StructuredDataPreview\";\nexport type { TimelineColor, TimelineController, TimelineItem, TimelineProps } from \"./Timeline\";\nexport { default as Timeline } from \"./Timeline\";\nexport { VideoPlayer, type VideoPlayerProps } from \"./VideoPlayer\";\nexport type { VirtualFeedController, VirtualFeedProps, VirtualFeedScrollOptions } from \"./VirtualFeed\";\nexport { VirtualFeed } from \"./VirtualFeed\";\nexport type { ZoomPanAction, ZoomPanFullscreen, ZoomPanViewportProps } from \"./ZoomPanViewport\";\nexport { ZoomPanViewport } from \"./ZoomPanViewport\";\n"],"mappings":"AACA,SAAS,cAAc,QAAkC,kBAAkB;AAsB3E,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAGhD,SAAS,OAAO,IAAI,KAAK,QAAQ,SAAS;AAE1C,SAAS,aAAa,QAAQ,iBAAiB;AAE/C,SAAS,qBAAqB,QAAQ,yBAAyB;AAC/D,SAAS,mBAAmB,QAAuC,uBAAuB;AAC1F,SAAS,iBAAiB,QAAQ,qBAAqB;AAEvD,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AACtD,SAA2B,iBAAiB,QAAQ,gBAAgB;AAUpE,SAAS,mBAAmB,QAAQ,kBAAkB;AAGtD,SAAS,oBAAoB,QAAQ,kBAAkB;AASvD,SAAS,YAAY,QAAQ,kBAAkB;AAC/C,SAAmC,yBAAyB,QAAiC,wBAAwB;AAarH,SAAS,OAAO,IAAI,SAAS,QAAQ,aAAa;AAElD,SAAS,mBAAmB,EAAE,cAAc,QAAQ,kBAAkB;AAEtE,SAAS,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,QAAQ,QAAQ;AAO/G,SAAS,UAAU,EAAE,QAAQ,QAAQ,sBAAsB;AAC3D,SAAS,gBAAgB,EAA+C,eAAe,QAAQ,eAAe;AAC9G,SAAS,QAAQ,QAAsG,YAAY;AACnI,SAAS,OAAO,IAAI,QAAQ,QAAsE,YAAY;AAC9G,SAAwB,YAAY,EAA0B,aAAa,EAAE,UAAU,QAAQ,gBAAgB;AAC/G,SACE,cAAc,EACd,OAAO,IAAI,QAAQ,EAOnB,kBAAkB,EAClB,sBAAsB,QACjB,YAAY;AACnB,SAAS,UAAU,EAAkD,aAAa,QAAQ,cAAc;AAExG,SAAS,GAAG,QAAQ,OAAO;AAE3B,SAAS,SAAS,QAAQ,aAAa;AAEvC,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAEhD,SAAS,OAAO,IAAI,eAAe,QAAQ,mBAAmB;AAC9D,SAAS,cAAc,QAAQ,kBAAkB;AACjD,SAAS,OAAO,QAAQ,WAAW;AACnC,SAAS,YAAY,QAAQ,gBAAgB;AAC7C,SAAS,OAAO,IAAI,YAAY,EAAsD,kBAAkB,QAAQ,gBAAgB;AAChI,SAA0B,SAAS,EAAuB,UAAU,QAAQ,aAAa;AAmBzF,SAAS,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,QAAQ,cAAc;AACnH,SAA+C,UAAU,QAAQ,eAAe;AAChF,SAA+B,cAAc,EAAE,QAAQ,QAAQ,aAAa;AAC5E,SAAS,uBAAuB,EAAE,gBAAgB,QAAmC,qBAAqB;AAkB1G,SACE,wBAAwB,EACxB,gCAAgC,EAIhC,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,QAChB,wBAAwB;AAC/B,SAKE,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,QACb,kBAAkB;AACzB,SAAS,UAAU,QAA8B,cAAc;AAE/D,SAAS,OAAO,IAAI,UAAU,QAAQ,cAAc;AAEpD,SAAS,OAAO,IAAI,SAAS,QAAQ,aAAa;AAElD,SAAS,OAAO,IAAI,WAAW,QAAQ,eAAe;AACtD,SAAS,WAAW,QAAqD,eAAe;AAOxF,SAAS,6BAA6B,EAAE,aAAa,EAAE,cAAc,QAAQ,iBAAiB;AAE9F,SAAS,KAAK,QAAQ,SAAS;AAE/B,SAAS,OAAO,IAAI,qBAAqB,EAAE,qBAAqB,QAAQ,yBAAyB;AAEjG,SAAS,OAAO,IAAI,QAAQ,QAAQ,YAAY;AAChD,SAAS,WAAW,QAA+B,eAAe;AAElE,SAAS,WAAW,QAAQ,eAAe;AAE3C,SAAS,eAAe,QAAQ,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loads the PDF engine behind `PdfViewer`. The engine is pdf.js with a little glue, bundled once by the @k2b/ui build
|
|
3
|
+
* into its own module next to the pdf.js worker. A host's bundler copies both as files and never bundles pdf.js
|
|
4
|
+
* itself, so no page or script carries it until a document opens.
|
|
5
|
+
*/
|
|
6
|
+
/// <reference path="./pdf-worker.d.ts" />
|
|
7
|
+
// The build points these at its prebuilt `pdf-viewer-engine.js` and the worker copy `pdf-viewer-worker.js`.
|
|
8
|
+
const workerUrl = "";
|
|
9
|
+
// @ts-expect-error TypeScript reads a `type: "file"` import as a module import; the engine module has no default export.
|
|
10
|
+
const engineUrl = "";
|
|
11
|
+
import { PDF_LIMITS, pdfTooLarge } from "./pdf-limits";
|
|
12
|
+
export { PDF_LIMITS, PDF_TOO_LARGE, pageImageWidth } from "./pdf-limits";
|
|
13
|
+
const isEngine = value => typeof value === "object" && value !== null && typeof Reflect.get(value, "openPdf") === "function";
|
|
14
|
+
|
|
15
|
+
/** Opens a PDF; `null` after an abort. Throws `PDF_TOO_LARGE` past `PDF_LIMITS`, or pdf.js's error for a broken file. */
|
|
16
|
+
export const openPdfDocument = async (data, signal) => {
|
|
17
|
+
const size = data instanceof Blob ? data.size : data.byteLength;
|
|
18
|
+
if (size > PDF_LIMITS.maxBytes) throw pdfTooLarge(`PDF is larger than ${PDF_LIMITS.maxBytes} bytes`);
|
|
19
|
+
// pdf.js hands its bytes to the worker, which detaches them: a caller's ArrayBuffer stays theirs as a copy.
|
|
20
|
+
const bytes = data instanceof Blob ? await data.arrayBuffer() : data.slice(0);
|
|
21
|
+
if (signal.aborted) return null;
|
|
22
|
+
// A relative address resolves against this module, where the bundler put the engine file.
|
|
23
|
+
const engine = await import(/* @vite-ignore */engineUrl);
|
|
24
|
+
if (!isEngine(engine)) throw new Error("The PDF engine could not be loaded");
|
|
25
|
+
// Closed while the engine loaded: parse nothing.
|
|
26
|
+
if (signal.aborted) return null;
|
|
27
|
+
return engine.openPdf(bytes, signal, workerUrl);
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=pdf-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["content/pdf-document.ts"],"sourcesContent":["/**\n * Loads the PDF engine behind `PdfViewer`. The engine is pdf.js with a little glue, bundled once by the @k2b/ui build\n * into its own module next to the pdf.js worker. A host's bundler copies both as files and never bundles pdf.js\n * itself, so no page or script carries it until a document opens.\n */\n/// <reference path=\"./pdf-worker.d.ts\" />\n// The build points these at its prebuilt `pdf-viewer-engine.js` and the worker copy `pdf-viewer-worker.js`.\nimport workerUrl from \"pdfjs-dist/legacy/build/pdf.worker.min.mjs\" with { type: \"file\" };\n// @ts-expect-error TypeScript reads a `type: \"file\"` import as a module import; the engine module has no default export.\nimport engineUrl from \"./pdf-engine.ts\" with { type: \"file\" };\nimport { PDF_LIMITS, type PdfDocumentHandle, pdfTooLarge } from \"./pdf-limits\";\n\nexport type { PdfDocumentHandle, PdfPageImage, PdfPageSize } from \"./pdf-limits\";\nexport { PDF_LIMITS, PDF_TOO_LARGE, pageImageWidth } from \"./pdf-limits\";\n\ntype PdfEngine = {\n openPdf: (data: ArrayBuffer, signal: AbortSignal, workerUrl: string) => Promise<PdfDocumentHandle | null>;\n};\n\nconst isEngine = (value: unknown): value is PdfEngine =>\n typeof value === \"object\" && value !== null && typeof Reflect.get(value, \"openPdf\") === \"function\";\n\n/** Opens a PDF; `null` after an abort. Throws `PDF_TOO_LARGE` past `PDF_LIMITS`, or pdf.js's error for a broken file. */\nexport const openPdfDocument = async (data: Blob | ArrayBuffer, signal: AbortSignal): Promise<PdfDocumentHandle | null> => {\n const size = data instanceof Blob ? data.size : data.byteLength;\n if (size > PDF_LIMITS.maxBytes) throw pdfTooLarge(`PDF is larger than ${PDF_LIMITS.maxBytes} bytes`);\n // pdf.js hands its bytes to the worker, which detaches them: a caller's ArrayBuffer stays theirs as a copy.\n const bytes = data instanceof Blob ? await data.arrayBuffer() : data.slice(0);\n if (signal.aborted) return null;\n // A relative address resolves against this module, where the bundler put the engine file.\n const engine: unknown = await import(/* @vite-ignore */ engineUrl);\n if (!isEngine(engine)) throw new Error(\"The PDF engine could not be loaded\");\n // Closed while the engine loaded: parse nothing.\n if (signal.aborted) return null;\n return engine.openPdf(bytes, signal, workerUrl);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS,MAAM,4CAA4C,QAAQ,IAAI,EAAE,MAAM;AACtF;AACA,OAAO,SAAS,MAAM,iBAAiB,QAAQ,IAAI,EAAE,MAAM;AAC3D,SAAS,UAAU,EAA0B,WAAW,QAAQ,cAAc;AAG9E,SAAS,UAAU,EAAE,aAAa,EAAE,cAAc,QAAQ,cAAc;AAMxE,MAAM,QAAQ,GAAI,KAAc,IAC9B,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,UAAU;;AAEpG;AACA,OAAO,MAAM,eAAe,GAAG,OAAO,IAAwB,EAAE,MAAmB,KAAwC;EACzH,MAAM,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU;EAC/D,IAAI,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,WAAW,CAAC,sBAAsB,UAAU,CAAC,QAAQ,QAAQ,CAAC;EACpG;EACA,MAAM,KAAK,GAAG,IAAI,YAAY,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAC7E,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI;EAC/B;EACA,MAAM,MAAe,GAAG,MAAM,OAAO,kBAAmB,SAAS,CAAC;EAClE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;EAC5E;EACA,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI;EAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;AACjD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Shapes and bounds shared by `PdfViewer`, its loader, and the pdf.js engine. */
|
|
2
|
+
|
|
3
|
+
/** A page's size in PDF points at scale 1. */
|
|
4
|
+
|
|
5
|
+
/** One drawn page: an object URL the caller revokes, and its size in pixels. */
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Bounds for one document. Bytes and pages bound parsing work and memory; a larger document falls back to the
|
|
9
|
+
* browser's own viewer. Canvas pixels stay below the size Safari still draws (larger canvases come out blank).
|
|
10
|
+
*/
|
|
11
|
+
export const PDF_LIMITS = {
|
|
12
|
+
maxBytes: 100 * 1024 * 1024,
|
|
13
|
+
maxPages: 2000,
|
|
14
|
+
maxCanvasPixels: 16_000_000,
|
|
15
|
+
maxImageWidth: 4096
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/** The name of the error a document past `PDF_LIMITS` raises; the host shows the browser's viewer instead. */
|
|
19
|
+
export const PDF_TOO_LARGE = "PdfTooLargeError";
|
|
20
|
+
export const pdfTooLarge = message => Object.assign(new Error(message), {
|
|
21
|
+
name: PDF_TOO_LARGE
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Pixel width for a page image shown `displayWidth` CSS pixels wide: display width times the device pixel ratio
|
|
26
|
+
* (at most 2), at least 400 px where the page allows it, at most `PDF_LIMITS.maxImageWidth`, and always small enough
|
|
27
|
+
* that the canvas stays under `PDF_LIMITS.maxCanvasPixels` for the page's height-to-width `ratio`, also for a very
|
|
28
|
+
* tall page. Very deep zoom turns slightly soft, never blank.
|
|
29
|
+
*/
|
|
30
|
+
export const pageImageWidth = (displayWidth, pixelRatio, ratio) => Math.max(1, Math.floor(Math.min(Math.max(400, displayWidth * Math.min(Math.max(pixelRatio, 1), 2)), PDF_LIMITS.maxImageWidth, Math.sqrt(PDF_LIMITS.maxCanvasPixels / Math.max(ratio, 0.1)))));
|
|
31
|
+
//# sourceMappingURL=pdf-limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["content/pdf-limits.ts"],"sourcesContent":["/** Shapes and bounds shared by `PdfViewer`, its loader, and the pdf.js engine. */\n\n/** A page's size in PDF points at scale 1. */\nexport type PdfPageSize = { width: number; height: number };\n\n/** One drawn page: an object URL the caller revokes, and its size in pixels. */\nexport type PdfPageImage = { url: string; width: number; height: number };\n\nexport type PdfDocumentHandle = {\n pages: readonly PdfPageSize[];\n /** Draws one page `widthPx` wide; `null` after an abort. The caller revokes the returned URL. */\n draw: (index: number, widthPx: number, signal: AbortSignal) => Promise<PdfPageImage | null>;\n /**\n * Lays the selectable, searchable text of one page into `container`. Positions are relative to the page; the font\n * follows `--total-scale-factor` (CSS pixels per point) on the container or above, so zoom changes only that value.\n */\n textLayer: (index: number, container: HTMLElement, signal: AbortSignal) => Promise<void>;\n close: () => Promise<void>;\n};\n\n/**\n * Bounds for one document. Bytes and pages bound parsing work and memory; a larger document falls back to the\n * browser's own viewer. Canvas pixels stay below the size Safari still draws (larger canvases come out blank).\n */\nexport const PDF_LIMITS = {\n maxBytes: 100 * 1024 * 1024,\n maxPages: 2000,\n maxCanvasPixels: 16_000_000,\n maxImageWidth: 4096,\n} as const;\n\n/** The name of the error a document past `PDF_LIMITS` raises; the host shows the browser's viewer instead. */\nexport const PDF_TOO_LARGE = \"PdfTooLargeError\";\n\nexport const pdfTooLarge = (message: string): Error => Object.assign(new Error(message), { name: PDF_TOO_LARGE });\n\n/**\n * Pixel width for a page image shown `displayWidth` CSS pixels wide: display width times the device pixel ratio\n * (at most 2), at least 400 px where the page allows it, at most `PDF_LIMITS.maxImageWidth`, and always small enough\n * that the canvas stays under `PDF_LIMITS.maxCanvasPixels` for the page's height-to-width `ratio`, also for a very\n * tall page. Very deep zoom turns slightly soft, never blank.\n */\nexport const pageImageWidth = (displayWidth: number, pixelRatio: number, ratio: number): number =>\n Math.max(\n 1,\n Math.floor(\n Math.min(\n Math.max(400, displayWidth * Math.min(Math.max(pixelRatio, 1), 2)),\n PDF_LIMITS.maxImageWidth,\n Math.sqrt(PDF_LIMITS.maxCanvasPixels / Math.max(ratio, 0.1)),\n ),\n ),\n );\n"],"mappings":"AAAA;;AAEA;;AAGA;;AAeA;AACA;AACA;AACA;AACA,OAAO,MAAM,UAAU,GAAG;EACxB,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;EAC3B,QAAQ,EAAE,IAAI;EACd,eAAe,EAAE,UAAU;EAC3B,aAAa,EAAE;AACjB,CAAU;;AAEV;AACA,OAAO,MAAM,aAAa,GAAG,kBAAkB;AAE/C,OAAO,MAAM,WAAW,GAAI,OAAe,IAAY,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;EAAE,IAAI,EAAE;AAAc,CAAC,CAAC;;AAEjH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAE,UAAkB,EAAE,KAAa,KACpF,IAAI,CAAC,GAAG,CACN,CAAC,EACD,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAClE,UAAU,CAAC,aAAa,EACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAC7D,CACF,CACF,CAAC","ignoreList":[]}
|
|
@@ -14,7 +14,23 @@ const pdfMessages = i18n.define({
|
|
|
14
14
|
pdfPreviewNoViewerDescription: "Your browser cannot show PDFs inside a page. Open the document to view it.",
|
|
15
15
|
pdfPreviewRendering: "Rendering PDF preview…",
|
|
16
16
|
previewPdf: "Preview PDF",
|
|
17
|
-
renderPdfPreview: "Render a PDF preview to see the final output."
|
|
17
|
+
renderPdfPreview: "Render a PDF preview to see the final output.",
|
|
18
|
+
pdfPage: ({
|
|
19
|
+
number,
|
|
20
|
+
total
|
|
21
|
+
}) => `Page ${number} of ${total}`,
|
|
22
|
+
pdfPageShort: ({
|
|
23
|
+
number,
|
|
24
|
+
total
|
|
25
|
+
}) => `${number} / ${total}`,
|
|
26
|
+
pdfZoom: "Zoom",
|
|
27
|
+
pdfZoomOut: "Zoom out",
|
|
28
|
+
pdfZoomIn: "Zoom in",
|
|
29
|
+
pdfZoomPercent: ({
|
|
30
|
+
value
|
|
31
|
+
}) => `${value}%`,
|
|
32
|
+
pdfFitWidth: "Width",
|
|
33
|
+
pdfFitWidthLabel: "Fit to width"
|
|
18
34
|
},
|
|
19
35
|
de: {
|
|
20
36
|
openPreview: "Vorschau öffnen",
|
|
@@ -27,7 +43,23 @@ const pdfMessages = i18n.define({
|
|
|
27
43
|
pdfPreviewNoViewerDescription: "Dein Browser kann PDFs nicht innerhalb einer Seite anzeigen. Öffne das Dokument, um es anzusehen.",
|
|
28
44
|
pdfPreviewRendering: "PDF-Vorschau wird erstellt…",
|
|
29
45
|
previewPdf: "PDF anzeigen",
|
|
30
|
-
renderPdfPreview: "Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen."
|
|
46
|
+
renderPdfPreview: "Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen.",
|
|
47
|
+
pdfPage: ({
|
|
48
|
+
number,
|
|
49
|
+
total
|
|
50
|
+
}) => `Seite ${number} von ${total}`,
|
|
51
|
+
pdfPageShort: ({
|
|
52
|
+
number,
|
|
53
|
+
total
|
|
54
|
+
}) => `${number} / ${total}`,
|
|
55
|
+
pdfZoom: "Zoom",
|
|
56
|
+
pdfZoomOut: "Verkleinern",
|
|
57
|
+
pdfZoomIn: "Vergrößern",
|
|
58
|
+
pdfZoomPercent: ({
|
|
59
|
+
value
|
|
60
|
+
}) => `${value} %`,
|
|
61
|
+
pdfFitWidth: "Breite",
|
|
62
|
+
pdfFitWidthLabel: "An die Breite anpassen"
|
|
31
63
|
}
|
|
32
64
|
}
|
|
33
65
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["content/pdf-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst pdfMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n openPreview: \"Open preview\",\n pdfPreview: \"PDF preview\",\n pdfPreviewHttpError: ({ status }: { status: number }) => `PDF preview failed with HTTP ${status}`,\n pdfPreviewTabBlocked: \"The browser blocked the new tab. Allow pop-ups and try again.\",\n pdfPreviewNoViewer: \"This PDF cannot be shown here\",\n pdfPreviewNoViewerDescription: \"Your browser cannot show PDFs inside a page. Open the document to view it.\",\n pdfPreviewRendering: \"Rendering PDF preview…\",\n previewPdf: \"Preview PDF\",\n renderPdfPreview: \"Render a PDF preview to see the final output.\",\n },\n de: {\n openPreview: \"Vorschau öffnen\",\n pdfPreview: \"PDF-Vorschau\",\n pdfPreviewHttpError: ({ status }) => `PDF-Vorschau ist mit HTTP ${status} fehlgeschlagen`,\n pdfPreviewTabBlocked: \"Der Browser hat den neuen Tab blockiert. Erlaube Pop-ups und versuche es erneut.\",\n pdfPreviewNoViewer: \"Dieses PDF kann hier nicht angezeigt werden\",\n pdfPreviewNoViewerDescription: \"Dein Browser kann PDFs nicht innerhalb einer Seite anzeigen. Öffne das Dokument, um es anzusehen.\",\n pdfPreviewRendering: \"PDF-Vorschau wird erstellt…\",\n previewPdf: \"PDF anzeigen\",\n renderPdfPreview: \"Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen.\",\n },\n },\n});\n\nexport type PdfMessages = ReturnType<(typeof pdfMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const usePdfMessages = (): (() => PdfMessages) => {\n const locale = useLocale();\n return () => pdfMessages.resolve([locale()]).t;\n};\n\n/** Imperative UI inherits the document locale when no locale is supplied. */\nexport const resolvePdfMessages = (locale?: string): PdfMessages =>\n pdfMessages.resolve([locale ?? (typeof document === \"undefined\" ? pdfMessages.baseLocale : document.documentElement.lang)]).t;\n\nexport const checkPdfMessages = () => pdfMessages.check();\n"],"mappings":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;EAC9B,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,WAAW,EAAE,cAAc;MAC3B,UAAU,EAAE,aAAa;MACzB,mBAAmB,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,gCAAgC,MAAM,EAAE;MACjG,oBAAoB,EAAE,+DAA+D;MACrF,kBAAkB,EAAE,+BAA+B;MACnD,6BAA6B,EAAE,4EAA4E;MAC3G,mBAAmB,EAAE,wBAAwB;MAC7C,UAAU,EAAE,aAAa;MACzB,gBAAgB,EAAE;IACpB,CAAC;IACD,EAAE,EAAE;MACF,WAAW,EAAE,iBAAiB;MAC9B,UAAU,EAAE,cAAc;MAC1B,mBAAmB,EAAE,CAAC;QAAE;MAAO,CAAC,KAAK,6BAA6B,MAAM,iBAAiB;MACzF,oBAAoB,EAAE,kFAAkF;MACxG,kBAAkB,EAAE,6CAA6C;MACjE,6BAA6B,EAAE,mGAAmG;MAClI,mBAAmB,EAAE,6BAA6B;MAClD,UAAU,EAAE,cAAc;MAC1B,gBAAgB,EAAE;IACpB;EACF;AACF,CAAC,CAAC;AAIF;AACA,OAAO,MAAM,cAAc,GAAG,MAA2B;EACvD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;;AAED;AACA,OAAO,MAAM,kBAAkB,GAAI,MAAe,IAChD,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,OAAO,QAAQ,KAAK,WAAW,GAAG,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/H,OAAO,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["content/pdf-messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"../intl/locale\";\n\nconst pdfMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n openPreview: \"Open preview\",\n pdfPreview: \"PDF preview\",\n pdfPreviewHttpError: ({ status }: { status: number }) => `PDF preview failed with HTTP ${status}`,\n pdfPreviewTabBlocked: \"The browser blocked the new tab. Allow pop-ups and try again.\",\n pdfPreviewNoViewer: \"This PDF cannot be shown here\",\n pdfPreviewNoViewerDescription: \"Your browser cannot show PDFs inside a page. Open the document to view it.\",\n pdfPreviewRendering: \"Rendering PDF preview…\",\n previewPdf: \"Preview PDF\",\n renderPdfPreview: \"Render a PDF preview to see the final output.\",\n pdfPage: ({ number, total }: { number: number; total: number }) => `Page ${number} of ${total}`,\n pdfPageShort: ({ number, total }: { number: number; total: number }) => `${number} / ${total}`,\n pdfZoom: \"Zoom\",\n pdfZoomOut: \"Zoom out\",\n pdfZoomIn: \"Zoom in\",\n pdfZoomPercent: ({ value }: { value: number }) => `${value}%`,\n pdfFitWidth: \"Width\",\n pdfFitWidthLabel: \"Fit to width\",\n },\n de: {\n openPreview: \"Vorschau öffnen\",\n pdfPreview: \"PDF-Vorschau\",\n pdfPreviewHttpError: ({ status }) => `PDF-Vorschau ist mit HTTP ${status} fehlgeschlagen`,\n pdfPreviewTabBlocked: \"Der Browser hat den neuen Tab blockiert. Erlaube Pop-ups und versuche es erneut.\",\n pdfPreviewNoViewer: \"Dieses PDF kann hier nicht angezeigt werden\",\n pdfPreviewNoViewerDescription: \"Dein Browser kann PDFs nicht innerhalb einer Seite anzeigen. Öffne das Dokument, um es anzusehen.\",\n pdfPreviewRendering: \"PDF-Vorschau wird erstellt…\",\n previewPdf: \"PDF anzeigen\",\n renderPdfPreview: \"Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen.\",\n pdfPage: ({ number, total }) => `Seite ${number} von ${total}`,\n pdfPageShort: ({ number, total }) => `${number} / ${total}`,\n pdfZoom: \"Zoom\",\n pdfZoomOut: \"Verkleinern\",\n pdfZoomIn: \"Vergrößern\",\n pdfZoomPercent: ({ value }) => `${value} %`,\n pdfFitWidth: \"Breite\",\n pdfFitWidthLabel: \"An die Breite anpassen\",\n },\n },\n});\n\nexport type PdfMessages = ReturnType<(typeof pdfMessages)[\"resolve\"]>[\"t\"];\n\n/** Resolved from the inherited render locale. */\nexport const usePdfMessages = (): (() => PdfMessages) => {\n const locale = useLocale();\n return () => pdfMessages.resolve([locale()]).t;\n};\n\n/** Imperative UI inherits the document locale when no locale is supplied. */\nexport const resolvePdfMessages = (locale?: string): PdfMessages =>\n pdfMessages.resolve([locale ?? (typeof document === \"undefined\" ? pdfMessages.baseLocale : document.documentElement.lang)]).t;\n\nexport const checkPdfMessages = () => pdfMessages.check();\n"],"mappings":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,gBAAgB;AAE1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;EAC9B,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,WAAW,EAAE,cAAc;MAC3B,UAAU,EAAE,aAAa;MACzB,mBAAmB,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,gCAAgC,MAAM,EAAE;MACjG,oBAAoB,EAAE,+DAA+D;MACrF,kBAAkB,EAAE,+BAA+B;MACnD,6BAA6B,EAAE,4EAA4E;MAC3G,mBAAmB,EAAE,wBAAwB;MAC7C,UAAU,EAAE,aAAa;MACzB,gBAAgB,EAAE,+CAA+C;MACjE,OAAO,EAAE,CAAC;QAAE,MAAM;QAAE;MAAyC,CAAC,KAAK,QAAQ,MAAM,OAAO,KAAK,EAAE;MAC/F,YAAY,EAAE,CAAC;QAAE,MAAM;QAAE;MAAyC,CAAC,KAAK,GAAG,MAAM,MAAM,KAAK,EAAE;MAC9F,OAAO,EAAE,MAAM;MACf,UAAU,EAAE,UAAU;MACtB,SAAS,EAAE,SAAS;MACpB,cAAc,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,GAAG;MAC7D,WAAW,EAAE,OAAO;MACpB,gBAAgB,EAAE;IACpB,CAAC;IACD,EAAE,EAAE;MACF,WAAW,EAAE,iBAAiB;MAC9B,UAAU,EAAE,cAAc;MAC1B,mBAAmB,EAAE,CAAC;QAAE;MAAO,CAAC,KAAK,6BAA6B,MAAM,iBAAiB;MACzF,oBAAoB,EAAE,kFAAkF;MACxG,kBAAkB,EAAE,6CAA6C;MACjE,6BAA6B,EAAE,mGAAmG;MAClI,mBAAmB,EAAE,6BAA6B;MAClD,UAAU,EAAE,cAAc;MAC1B,gBAAgB,EAAE,yDAAyD;MAC3E,OAAO,EAAE,CAAC;QAAE,MAAM;QAAE;MAAM,CAAC,KAAK,SAAS,MAAM,QAAQ,KAAK,EAAE;MAC9D,YAAY,EAAE,CAAC;QAAE,MAAM;QAAE;MAAM,CAAC,KAAK,GAAG,MAAM,MAAM,KAAK,EAAE;MAC3D,OAAO,EAAE,MAAM;MACf,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,YAAY;MACvB,cAAc,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,GAAG,KAAK,IAAI;MAC3C,WAAW,EAAE,QAAQ;MACrB,gBAAgB,EAAE;IACpB;EACF;AACF,CAAC,CAAC;AAIF;AACA,OAAO,MAAM,cAAc,GAAG,MAA2B;EACvD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;;AAED;AACA,OAAO,MAAM,kBAAkB,GAAI,MAAe,IAChD,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,OAAO,QAAQ,KAAK,WAAW,GAAG,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/H,OAAO,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC","ignoreList":[]}
|