@toolbox-web/grid 1.24.2 → 1.25.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/all.d.ts +0 -1
- package/all.js +2 -2
- package/all.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/lib/core/constants.d.ts +0 -1
- package/lib/core/grid.d.ts +145 -33
- package/lib/core/internal/aggregators.d.ts +0 -1
- package/lib/core/internal/aria.d.ts +8 -1
- package/lib/core/internal/columns.d.ts +3 -4
- package/lib/core/internal/config-manager.d.ts +2 -54
- package/lib/core/internal/dom-builder.d.ts +0 -1
- package/lib/core/internal/event-delegation.d.ts +3 -4
- package/lib/core/internal/feature-hook.d.ts +0 -1
- package/lib/core/internal/focus-manager.d.ts +49 -0
- package/lib/core/internal/header.d.ts +2 -3
- package/lib/core/internal/idle-scheduler.d.ts +0 -1
- package/lib/core/internal/inference.d.ts +0 -1
- package/lib/core/internal/keyboard.d.ts +3 -4
- package/lib/core/internal/loading.d.ts +0 -1
- package/lib/core/internal/render-scheduler.d.ts +3 -66
- package/lib/core/internal/resize.d.ts +2 -3
- package/lib/core/internal/row-animation.d.ts +0 -1
- package/lib/core/internal/row-manager.d.ts +31 -0
- package/lib/core/internal/rows.d.ts +4 -5
- package/lib/core/internal/sanitize.d.ts +0 -1
- package/lib/core/internal/shell.d.ts +7 -25
- package/lib/core/internal/sorting.d.ts +3 -4
- package/lib/core/internal/style-injector.d.ts +0 -1
- package/lib/core/internal/touch-scroll.d.ts +31 -12
- package/lib/core/internal/utils.d.ts +8 -1
- package/lib/core/internal/validate-config.d.ts +4 -5
- package/lib/core/internal/virtualization-manager.d.ts +48 -0
- package/lib/core/internal/virtualization.d.ts +0 -1
- package/lib/core/plugin/base-plugin.d.ts +2 -3
- package/lib/core/plugin/expander-column.d.ts +0 -1
- package/lib/core/plugin/index.d.ts +0 -1
- package/lib/core/plugin/plugin-manager.d.ts +2 -1
- package/lib/core/plugin/types.d.ts +7 -2
- package/lib/core/styles/index.d.ts +0 -1
- package/lib/core/types.d.ts +364 -54
- package/lib/features/clipboard.d.ts +0 -1
- package/lib/features/column-virtualization.d.ts +0 -1
- package/lib/features/context-menu.d.ts +0 -1
- package/lib/features/editing.d.ts +0 -1
- package/lib/features/export.d.ts +0 -1
- package/lib/features/filtering.d.ts +0 -1
- package/lib/features/grouping-columns.d.ts +0 -1
- package/lib/features/grouping-rows.d.ts +0 -1
- package/lib/features/master-detail.d.ts +0 -1
- package/lib/features/multi-sort.d.ts +1 -2
- package/lib/features/multi-sort.js.map +1 -1
- package/lib/features/pinned-columns.d.ts +0 -1
- package/lib/features/pinned-rows.d.ts +0 -1
- package/lib/features/pivot.d.ts +0 -1
- package/lib/features/print.d.ts +0 -1
- package/lib/features/registry.d.ts +0 -1
- package/lib/features/reorder-columns.d.ts +1 -2
- package/lib/features/reorder-columns.js.map +1 -1
- package/lib/features/reorder-rows.d.ts +1 -2
- package/lib/features/reorder-rows.js.map +1 -1
- package/lib/features/responsive.d.ts +0 -1
- package/lib/features/selection.d.ts +0 -1
- package/lib/features/server-side.d.ts +0 -1
- package/lib/features/tree.d.ts +0 -1
- package/lib/features/undo-redo.d.ts +0 -1
- package/lib/features/visibility.d.ts +0 -1
- package/lib/plugins/clipboard/ClipboardPlugin.d.ts +0 -1
- package/lib/plugins/clipboard/copy.d.ts +0 -1
- package/lib/plugins/clipboard/index.d.ts +0 -1
- package/lib/plugins/clipboard/index.js +1 -1
- package/lib/plugins/clipboard/index.js.map +1 -1
- package/lib/plugins/clipboard/paste.d.ts +0 -1
- package/lib/plugins/clipboard/types.d.ts +6 -1
- package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts +0 -1
- package/lib/plugins/column-virtualization/column-virtualization.d.ts +0 -1
- package/lib/plugins/column-virtualization/index.d.ts +0 -1
- package/lib/plugins/column-virtualization/index.js +1 -1
- package/lib/plugins/column-virtualization/index.js.map +1 -1
- package/lib/plugins/column-virtualization/types.d.ts +0 -1
- package/lib/plugins/context-menu/ContextMenuPlugin.d.ts +16 -1
- package/lib/plugins/context-menu/index.d.ts +1 -2
- package/lib/plugins/context-menu/index.js +1 -1
- package/lib/plugins/context-menu/index.js.map +1 -1
- package/lib/plugins/context-menu/menu.d.ts +14 -1
- package/lib/plugins/context-menu/types.d.ts +13 -3
- package/lib/plugins/editing/EditingPlugin.d.ts +4 -6
- package/lib/plugins/editing/editors.d.ts +0 -1
- package/lib/plugins/editing/index.d.ts +0 -1
- package/lib/plugins/editing/index.js +1 -1
- package/lib/plugins/editing/index.js.map +1 -1
- package/lib/plugins/editing/internal/cell-validation.d.ts +0 -1
- package/lib/plugins/editing/internal/dirty-tracking-manager.d.ts +0 -1
- package/lib/plugins/editing/internal/dirty-tracking.d.ts +2 -2
- package/lib/plugins/editing/internal/editor-injection.d.ts +3 -4
- package/lib/plugins/editing/internal/helpers.d.ts +0 -1
- package/lib/plugins/editing/types.d.ts +15 -14
- package/lib/plugins/export/ExportPlugin.d.ts +0 -1
- package/lib/plugins/export/csv.d.ts +0 -1
- package/lib/plugins/export/excel.d.ts +0 -1
- package/lib/plugins/export/index.d.ts +0 -1
- package/lib/plugins/export/index.js +1 -1
- package/lib/plugins/export/index.js.map +1 -1
- package/lib/plugins/export/types.d.ts +4 -1
- package/lib/plugins/filtering/FilteringPlugin.d.ts +0 -1
- package/lib/plugins/filtering/filter-model.d.ts +0 -1
- package/lib/plugins/filtering/filter-panel-date.d.ts +0 -1
- package/lib/plugins/filtering/filter-panel-default.d.ts +0 -1
- package/lib/plugins/filtering/filter-panel-number.d.ts +0 -1
- package/lib/plugins/filtering/index.d.ts +0 -1
- package/lib/plugins/filtering/index.js +1 -1
- package/lib/plugins/filtering/index.js.map +1 -1
- package/lib/plugins/filtering/types.d.ts +4 -1
- package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts +0 -1
- package/lib/plugins/grouping-columns/grouping-columns.d.ts +0 -1
- package/lib/plugins/grouping-columns/index.d.ts +0 -1
- package/lib/plugins/grouping-columns/index.js +1 -1
- package/lib/plugins/grouping-columns/index.js.map +1 -1
- package/lib/plugins/grouping-columns/types.d.ts +0 -1
- package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts +0 -1
- package/lib/plugins/grouping-rows/grouping-rows.d.ts +0 -1
- package/lib/plugins/grouping-rows/index.d.ts +0 -1
- package/lib/plugins/grouping-rows/index.js +1 -1
- package/lib/plugins/grouping-rows/index.js.map +1 -1
- package/lib/plugins/grouping-rows/types.d.ts +4 -1
- package/lib/plugins/master-detail/MasterDetailPlugin.d.ts +0 -1
- package/lib/plugins/master-detail/index.d.ts +0 -1
- package/lib/plugins/master-detail/index.js +1 -1
- package/lib/plugins/master-detail/index.js.map +1 -1
- package/lib/plugins/master-detail/master-detail.d.ts +0 -1
- package/lib/plugins/master-detail/types.d.ts +4 -1
- package/lib/plugins/multi-sort/MultiSortPlugin.d.ts +3 -3
- package/lib/plugins/multi-sort/index.d.ts +1 -2
- package/lib/plugins/multi-sort/index.js +1 -1
- package/lib/plugins/multi-sort/index.js.map +1 -1
- package/lib/plugins/multi-sort/multi-sort.d.ts +0 -1
- package/lib/plugins/multi-sort/types.d.ts +5 -1
- package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts +0 -1
- package/lib/plugins/pinned-columns/index.d.ts +0 -1
- package/lib/plugins/pinned-columns/index.js +1 -1
- package/lib/plugins/pinned-columns/index.js.map +1 -1
- package/lib/plugins/pinned-columns/pinned-columns.d.ts +0 -1
- package/lib/plugins/pinned-columns/types.d.ts +0 -1
- package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts +0 -1
- package/lib/plugins/pinned-rows/index.d.ts +0 -1
- package/lib/plugins/pinned-rows/index.js +1 -1
- package/lib/plugins/pinned-rows/index.js.map +1 -1
- package/lib/plugins/pinned-rows/pinned-rows.d.ts +0 -1
- package/lib/plugins/pinned-rows/types.d.ts +0 -1
- package/lib/plugins/pivot/PivotPlugin.d.ts +0 -1
- package/lib/plugins/pivot/index.d.ts +0 -1
- package/lib/plugins/pivot/index.js +1 -1
- package/lib/plugins/pivot/index.js.map +1 -1
- package/lib/plugins/pivot/pivot-engine.d.ts +0 -1
- package/lib/plugins/pivot/pivot-model.d.ts +0 -1
- package/lib/plugins/pivot/pivot-panel.d.ts +0 -1
- package/lib/plugins/pivot/pivot-rows.d.ts +0 -1
- package/lib/plugins/pivot/types.d.ts +0 -1
- package/lib/plugins/print/PrintPlugin.d.ts +0 -1
- package/lib/plugins/print/index.d.ts +0 -1
- package/lib/plugins/print/index.js +1 -1
- package/lib/plugins/print/index.js.map +1 -1
- package/lib/plugins/print/print-isolated.d.ts +0 -1
- package/lib/plugins/print/types.d.ts +6 -1
- package/lib/plugins/reorder-columns/ReorderPlugin.d.ts +5 -5
- package/lib/plugins/reorder-columns/column-drag.d.ts +3 -2
- package/lib/plugins/reorder-columns/index.d.ts +0 -1
- package/lib/plugins/reorder-columns/index.js +1 -1
- package/lib/plugins/reorder-columns/index.js.map +1 -1
- package/lib/plugins/reorder-columns/types.d.ts +4 -1
- package/lib/plugins/reorder-rows/RowReorderPlugin.d.ts +3 -3
- package/lib/plugins/reorder-rows/index.d.ts +0 -1
- package/lib/plugins/reorder-rows/index.js +1 -1
- package/lib/plugins/reorder-rows/index.js.map +1 -1
- package/lib/plugins/reorder-rows/types.d.ts +4 -1
- package/lib/plugins/responsive/ResponsivePlugin.d.ts +0 -1
- package/lib/plugins/responsive/index.d.ts +0 -1
- package/lib/plugins/responsive/index.js +1 -1
- package/lib/plugins/responsive/index.js.map +1 -1
- package/lib/plugins/responsive/types.d.ts +4 -1
- package/lib/plugins/selection/SelectionPlugin.d.ts +1 -3
- package/lib/plugins/selection/index.d.ts +0 -1
- package/lib/plugins/selection/index.js +1 -1
- package/lib/plugins/selection/index.js.map +1 -1
- package/lib/plugins/selection/range-selection.d.ts +0 -1
- package/lib/plugins/selection/row-selection.d.ts +0 -1
- package/lib/plugins/selection/types.d.ts +4 -1
- package/lib/plugins/server-side/ServerSidePlugin.d.ts +0 -1
- package/lib/plugins/server-side/cache.d.ts +0 -1
- package/lib/plugins/server-side/datasource.d.ts +0 -1
- package/lib/plugins/server-side/index.d.ts +0 -1
- package/lib/plugins/server-side/index.js +1 -1
- package/lib/plugins/server-side/index.js.map +1 -1
- package/lib/plugins/server-side/types.d.ts +0 -1
- package/lib/plugins/shared/data-collection.d.ts +0 -1
- package/lib/plugins/tree/TreePlugin.d.ts +0 -1
- package/lib/plugins/tree/index.d.ts +0 -1
- package/lib/plugins/tree/index.js +1 -1
- package/lib/plugins/tree/index.js.map +1 -1
- package/lib/plugins/tree/tree-data.d.ts +0 -1
- package/lib/plugins/tree/tree-detect.d.ts +0 -1
- package/lib/plugins/tree/types.d.ts +4 -1
- package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts +1 -2
- package/lib/plugins/undo-redo/history.d.ts +0 -1
- package/lib/plugins/undo-redo/index.d.ts +0 -1
- package/lib/plugins/undo-redo/index.js +1 -1
- package/lib/plugins/undo-redo/index.js.map +1 -1
- package/lib/plugins/undo-redo/types.d.ts +6 -1
- package/lib/plugins/visibility/VisibilityPlugin.d.ts +0 -1
- package/lib/plugins/visibility/index.d.ts +0 -1
- package/lib/plugins/visibility/index.js +1 -1
- package/lib/plugins/visibility/index.js.map +1 -1
- package/lib/plugins/visibility/types.d.ts +0 -1
- package/lib/plugins/visibility/visibility.d.ts +0 -1
- package/package.json +1 -1
- package/public.d.ts +31 -12
- package/umd/grid.all.umd.js +1 -1
- package/umd/grid.all.umd.js.map +1 -1
- package/umd/grid.umd.js +1 -1
- package/umd/grid.umd.js.map +1 -1
- package/umd/plugins/clipboard.umd.js +1 -1
- package/umd/plugins/clipboard.umd.js.map +1 -1
- package/umd/plugins/column-virtualization.umd.js +1 -1
- package/umd/plugins/column-virtualization.umd.js.map +1 -1
- package/umd/plugins/context-menu.umd.js +1 -1
- package/umd/plugins/context-menu.umd.js.map +1 -1
- package/umd/plugins/editing.umd.js +1 -1
- package/umd/plugins/editing.umd.js.map +1 -1
- package/umd/plugins/filtering.umd.js +1 -1
- package/umd/plugins/filtering.umd.js.map +1 -1
- package/umd/plugins/grouping-columns.umd.js +1 -1
- package/umd/plugins/grouping-columns.umd.js.map +1 -1
- package/umd/plugins/master-detail.umd.js +1 -1
- package/umd/plugins/master-detail.umd.js.map +1 -1
- package/umd/plugins/multi-sort.umd.js +1 -1
- package/umd/plugins/multi-sort.umd.js.map +1 -1
- package/umd/plugins/pinned-columns.umd.js +1 -1
- package/umd/plugins/pinned-columns.umd.js.map +1 -1
- package/umd/plugins/pinned-rows.umd.js +1 -1
- package/umd/plugins/pinned-rows.umd.js.map +1 -1
- package/umd/plugins/print.umd.js +1 -1
- package/umd/plugins/print.umd.js.map +1 -1
- package/umd/plugins/reorder-columns.umd.js +1 -1
- package/umd/plugins/reorder-columns.umd.js.map +1 -1
- package/umd/plugins/reorder-rows.umd.js +1 -1
- package/umd/plugins/reorder-rows.umd.js.map +1 -1
- package/umd/plugins/responsive.umd.js +1 -1
- package/umd/plugins/responsive.umd.js.map +1 -1
- package/umd/plugins/selection.umd.js +1 -1
- package/umd/plugins/selection.umd.js.map +1 -1
- package/umd/plugins/server-side.umd.js.map +1 -1
- package/umd/plugins/tree.umd.js +1 -1
- package/umd/plugins/tree.umd.js.map +1 -1
- package/umd/plugins/undo-redo.umd.js.map +1 -1
- package/umd/plugins/visibility.umd.js +1 -1
- package/umd/plugins/visibility.umd.js.map +1 -1
- package/all.d.ts.map +0 -1
- package/index.d.ts.map +0 -1
- package/lib/core/constants.d.ts.map +0 -1
- package/lib/core/grid.d.ts.map +0 -1
- package/lib/core/internal/aggregators.d.ts.map +0 -1
- package/lib/core/internal/aria.d.ts.map +0 -1
- package/lib/core/internal/columns.d.ts.map +0 -1
- package/lib/core/internal/config-manager.d.ts.map +0 -1
- package/lib/core/internal/dom-builder.d.ts.map +0 -1
- package/lib/core/internal/event-delegation.d.ts.map +0 -1
- package/lib/core/internal/feature-hook.d.ts.map +0 -1
- package/lib/core/internal/header.d.ts.map +0 -1
- package/lib/core/internal/idle-scheduler.d.ts.map +0 -1
- package/lib/core/internal/inference.d.ts.map +0 -1
- package/lib/core/internal/keyboard.d.ts.map +0 -1
- package/lib/core/internal/loading.d.ts.map +0 -1
- package/lib/core/internal/render-scheduler.d.ts.map +0 -1
- package/lib/core/internal/resize.d.ts.map +0 -1
- package/lib/core/internal/row-animation.d.ts.map +0 -1
- package/lib/core/internal/rows.d.ts.map +0 -1
- package/lib/core/internal/sanitize.d.ts.map +0 -1
- package/lib/core/internal/shell.d.ts.map +0 -1
- package/lib/core/internal/sorting.d.ts.map +0 -1
- package/lib/core/internal/style-injector.d.ts.map +0 -1
- package/lib/core/internal/touch-scroll.d.ts.map +0 -1
- package/lib/core/internal/utils.d.ts.map +0 -1
- package/lib/core/internal/validate-config.d.ts.map +0 -1
- package/lib/core/internal/virtualization.d.ts.map +0 -1
- package/lib/core/plugin/base-plugin.d.ts.map +0 -1
- package/lib/core/plugin/expander-column.d.ts.map +0 -1
- package/lib/core/plugin/index.d.ts.map +0 -1
- package/lib/core/plugin/plugin-manager.d.ts.map +0 -1
- package/lib/core/plugin/types.d.ts.map +0 -1
- package/lib/core/styles/index.d.ts.map +0 -1
- package/lib/core/types.d.ts.map +0 -1
- package/lib/features/clipboard.d.ts.map +0 -1
- package/lib/features/column-virtualization.d.ts.map +0 -1
- package/lib/features/context-menu.d.ts.map +0 -1
- package/lib/features/editing.d.ts.map +0 -1
- package/lib/features/export.d.ts.map +0 -1
- package/lib/features/filtering.d.ts.map +0 -1
- package/lib/features/grouping-columns.d.ts.map +0 -1
- package/lib/features/grouping-rows.d.ts.map +0 -1
- package/lib/features/magic-string.es-CkyDP9Ir.mjs.map +0 -1
- package/lib/features/master-detail.d.ts.map +0 -1
- package/lib/features/multi-sort.d.ts.map +0 -1
- package/lib/features/pinned-columns.d.ts.map +0 -1
- package/lib/features/pinned-rows.d.ts.map +0 -1
- package/lib/features/pivot.d.ts.map +0 -1
- package/lib/features/print.d.ts.map +0 -1
- package/lib/features/registry.d.ts.map +0 -1
- package/lib/features/registry.spec.js +0 -5
- package/lib/features/registry.spec.js.map +0 -1
- package/lib/features/reorder-columns.d.ts.map +0 -1
- package/lib/features/reorder-rows.d.ts.map +0 -1
- package/lib/features/responsive.d.ts.map +0 -1
- package/lib/features/selection.d.ts.map +0 -1
- package/lib/features/server-side.d.ts.map +0 -1
- package/lib/features/tree.d.ts.map +0 -1
- package/lib/features/undo-redo.d.ts.map +0 -1
- package/lib/features/visibility.d.ts.map +0 -1
- package/lib/plugins/clipboard/ClipboardPlugin.d.ts.map +0 -1
- package/lib/plugins/clipboard/copy.d.ts.map +0 -1
- package/lib/plugins/clipboard/index.d.ts.map +0 -1
- package/lib/plugins/clipboard/paste.d.ts.map +0 -1
- package/lib/plugins/clipboard/types.d.ts.map +0 -1
- package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts.map +0 -1
- package/lib/plugins/column-virtualization/column-virtualization.d.ts.map +0 -1
- package/lib/plugins/column-virtualization/index.d.ts.map +0 -1
- package/lib/plugins/column-virtualization/types.d.ts.map +0 -1
- package/lib/plugins/context-menu/ContextMenuPlugin.d.ts.map +0 -1
- package/lib/plugins/context-menu/index.d.ts.map +0 -1
- package/lib/plugins/context-menu/menu.d.ts.map +0 -1
- package/lib/plugins/context-menu/types.d.ts.map +0 -1
- package/lib/plugins/editing/EditingPlugin.d.ts.map +0 -1
- package/lib/plugins/editing/editors.d.ts.map +0 -1
- package/lib/plugins/editing/index.d.ts.map +0 -1
- package/lib/plugins/editing/internal/cell-validation.d.ts.map +0 -1
- package/lib/plugins/editing/internal/dirty-tracking-manager.d.ts.map +0 -1
- package/lib/plugins/editing/internal/dirty-tracking.d.ts.map +0 -1
- package/lib/plugins/editing/internal/editor-injection.d.ts.map +0 -1
- package/lib/plugins/editing/internal/helpers.d.ts.map +0 -1
- package/lib/plugins/editing/types.d.ts.map +0 -1
- package/lib/plugins/export/ExportPlugin.d.ts.map +0 -1
- package/lib/plugins/export/csv.d.ts.map +0 -1
- package/lib/plugins/export/excel.d.ts.map +0 -1
- package/lib/plugins/export/index.d.ts.map +0 -1
- package/lib/plugins/export/types.d.ts.map +0 -1
- package/lib/plugins/filtering/FilteringPlugin.d.ts.map +0 -1
- package/lib/plugins/filtering/filter-model.d.ts.map +0 -1
- package/lib/plugins/filtering/filter-panel-date.d.ts.map +0 -1
- package/lib/plugins/filtering/filter-panel-default.d.ts.map +0 -1
- package/lib/plugins/filtering/filter-panel-number.d.ts.map +0 -1
- package/lib/plugins/filtering/index.d.ts.map +0 -1
- package/lib/plugins/filtering/types.d.ts.map +0 -1
- package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts.map +0 -1
- package/lib/plugins/grouping-columns/grouping-columns.d.ts.map +0 -1
- package/lib/plugins/grouping-columns/index.d.ts.map +0 -1
- package/lib/plugins/grouping-columns/types.d.ts.map +0 -1
- package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts.map +0 -1
- package/lib/plugins/grouping-rows/grouping-rows.d.ts.map +0 -1
- package/lib/plugins/grouping-rows/index.d.ts.map +0 -1
- package/lib/plugins/grouping-rows/types.d.ts.map +0 -1
- package/lib/plugins/master-detail/MasterDetailPlugin.d.ts.map +0 -1
- package/lib/plugins/master-detail/index.d.ts.map +0 -1
- package/lib/plugins/master-detail/master-detail.d.ts.map +0 -1
- package/lib/plugins/master-detail/types.d.ts.map +0 -1
- package/lib/plugins/multi-sort/MultiSortPlugin.d.ts.map +0 -1
- package/lib/plugins/multi-sort/index.d.ts.map +0 -1
- package/lib/plugins/multi-sort/multi-sort.d.ts.map +0 -1
- package/lib/plugins/multi-sort/types.d.ts.map +0 -1
- package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts.map +0 -1
- package/lib/plugins/pinned-columns/index.d.ts.map +0 -1
- package/lib/plugins/pinned-columns/pinned-columns.d.ts.map +0 -1
- package/lib/plugins/pinned-columns/types.d.ts.map +0 -1
- package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts.map +0 -1
- package/lib/plugins/pinned-rows/index.d.ts.map +0 -1
- package/lib/plugins/pinned-rows/pinned-rows.d.ts.map +0 -1
- package/lib/plugins/pinned-rows/types.d.ts.map +0 -1
- package/lib/plugins/pivot/PivotPlugin.d.ts.map +0 -1
- package/lib/plugins/pivot/index.d.ts.map +0 -1
- package/lib/plugins/pivot/pivot-engine.d.ts.map +0 -1
- package/lib/plugins/pivot/pivot-model.d.ts.map +0 -1
- package/lib/plugins/pivot/pivot-panel.d.ts.map +0 -1
- package/lib/plugins/pivot/pivot-rows.d.ts.map +0 -1
- package/lib/plugins/pivot/types.d.ts.map +0 -1
- package/lib/plugins/print/PrintPlugin.d.ts.map +0 -1
- package/lib/plugins/print/index.d.ts.map +0 -1
- package/lib/plugins/print/print-isolated.d.ts.map +0 -1
- package/lib/plugins/print/types.d.ts.map +0 -1
- package/lib/plugins/reorder-columns/ReorderPlugin.d.ts.map +0 -1
- package/lib/plugins/reorder-columns/column-drag.d.ts.map +0 -1
- package/lib/plugins/reorder-columns/index.d.ts.map +0 -1
- package/lib/plugins/reorder-columns/types.d.ts.map +0 -1
- package/lib/plugins/reorder-rows/RowReorderPlugin.d.ts.map +0 -1
- package/lib/plugins/reorder-rows/index.d.ts.map +0 -1
- package/lib/plugins/reorder-rows/types.d.ts.map +0 -1
- package/lib/plugins/responsive/ResponsivePlugin.d.ts.map +0 -1
- package/lib/plugins/responsive/index.d.ts.map +0 -1
- package/lib/plugins/responsive/types.d.ts.map +0 -1
- package/lib/plugins/selection/SelectionPlugin.d.ts.map +0 -1
- package/lib/plugins/selection/index.d.ts.map +0 -1
- package/lib/plugins/selection/range-selection.d.ts.map +0 -1
- package/lib/plugins/selection/row-selection.d.ts.map +0 -1
- package/lib/plugins/selection/types.d.ts.map +0 -1
- package/lib/plugins/server-side/ServerSidePlugin.d.ts.map +0 -1
- package/lib/plugins/server-side/cache.d.ts.map +0 -1
- package/lib/plugins/server-side/datasource.d.ts.map +0 -1
- package/lib/plugins/server-side/index.d.ts.map +0 -1
- package/lib/plugins/server-side/types.d.ts.map +0 -1
- package/lib/plugins/shared/data-collection.d.ts.map +0 -1
- package/lib/plugins/tree/TreePlugin.d.ts.map +0 -1
- package/lib/plugins/tree/index.d.ts.map +0 -1
- package/lib/plugins/tree/tree-data.d.ts.map +0 -1
- package/lib/plugins/tree/tree-detect.d.ts.map +0 -1
- package/lib/plugins/tree/types.d.ts.map +0 -1
- package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts.map +0 -1
- package/lib/plugins/undo-redo/history.d.ts.map +0 -1
- package/lib/plugins/undo-redo/index.d.ts.map +0 -1
- package/lib/plugins/undo-redo/types.d.ts.map +0 -1
- package/lib/plugins/visibility/VisibilityPlugin.d.ts.map +0 -1
- package/lib/plugins/visibility/index.d.ts.map +0 -1
- package/lib/plugins/visibility/types.d.ts.map +0 -1
- package/lib/plugins/visibility/visibility.d.ts.map +0 -1
- package/public.d.ts.map +0 -1
|
@@ -47,4 +47,3 @@ export declare function flattenPivotRows(rows: PivotRow[], expandedKeys?: Set<st
|
|
|
47
47
|
* Get all group keys from pivot rows (for expand all / collapse all).
|
|
48
48
|
*/
|
|
49
49
|
export declare function getAllGroupKeys(rows: PivotRow[]): string[];
|
|
50
|
-
//# sourceMappingURL=pivot-engine.d.ts.map
|
|
@@ -3,4 +3,3 @@ import { PivotConfig } from './types';
|
|
|
3
3
|
export declare const getPivotAggregator: typeof getValueAggregator;
|
|
4
4
|
export declare function validatePivotConfig(config: PivotConfig): string[];
|
|
5
5
|
export declare function createValueKey(columnValues: string[], valueField: string): string;
|
|
6
|
-
//# sourceMappingURL=pivot-model.d.ts.map
|
|
@@ -22,4 +22,3 @@ export interface PanelCallbacks {
|
|
|
22
22
|
* Returns a cleanup function that removes all event listeners and DOM elements.
|
|
23
23
|
*/
|
|
24
24
|
export declare function renderPivotPanel(container: HTMLElement, config: PivotConfig, isActive: boolean, callbacks: PanelCallbacks): () => void;
|
|
25
|
-
//# sourceMappingURL=pivot-panel.d.ts.map
|
|
@@ -31,4 +31,3 @@ export declare function renderPivotLeafRow(row: PivotRowData, rowEl: HTMLElement
|
|
|
31
31
|
* Render the grand total row.
|
|
32
32
|
*/
|
|
33
33
|
export declare function renderPivotGrandTotalRow(row: PivotRowData, rowEl: HTMLElement, columns: ColumnConfig[]): boolean;
|
|
34
|
-
//# sourceMappingURL=pivot-rows.d.ts.map
|
|
@@ -7,4 +7,3 @@
|
|
|
7
7
|
export { printGridIsolated, type PrintIsolatedOptions } from './print-isolated';
|
|
8
8
|
export { PrintPlugin } from './PrintPlugin';
|
|
9
9
|
export type { PrintCompleteDetail, PrintConfig, PrintOrientation, PrintParams, PrintStartDetail } from './types';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const t="tbw-print-isolation-style";async function e(e,i={}){const{orientation:n="landscape"}=i,r=e.id;document.querySelectorAll(`#${CSS.escape(r)}`).length>1&&console.warn(`[tbw-grid:print] Multiple elements found with id="${r}". Print isolation may not work correctly. Ensure each grid has a unique ID.`),document.getElementById(t)?.remove();const o=function(e,i){const n=document.createElement("style");return n.id=t,n.textContent=`\n /* Print isolation: hide everything except the target grid */\n @media print {\n /* Hide all body children by default */\n body > *:not(#${e}) {\n display: none !important;\n }\n\n /* But show the grid and ensure it's not hidden by ancestor rules */\n #${e} {\n display: block !important;\n position: static !important;\n visibility: visible !important;\n opacity: 1 !important;\n overflow: visible !important;\n height: auto !important;\n width: 100% !important;\n max-height: none !important;\n margin: 0 !important;\n padding: 0 !important;\n transform: none !important;\n }\n\n /* If grid is nested, we need to show its ancestors too */\n #${e},\n #${e} * {\n visibility: visible !important;\n }\n\n /* Walk up the DOM and show all ancestors of the grid */\n body *:has(> #${e}),\n body *:has(#${e}) {\n display: block !important;\n visibility: visible !important;\n opacity: 1 !important;\n overflow: visible !important;\n height: auto !important;\n position: static !important;\n transform: none !important;\n background: transparent !important;\n border: none !important;\n padding: 0 !important;\n margin: 0 !important;\n }\n\n /* Hide siblings of ancestors (everything that's not in the path to the grid) */\n body *:has(#${e}) > *:not(:has(#${e})):not(#${e}) {\n display: none !important;\n }\n\n /* Page settings */\n @page {\n size: ${i};\n margin: 1cm;\n }\n\n /* Ensure proper print styling */\n body {\n margin: 0 !important;\n padding: 0 !important;\n background: white !important;\n color-scheme: light !important;\n }\n }\n\n /* Screen: also apply isolation for print preview */\n @media screen {\n /* When this stylesheet is active, we're about to print */\n /* No screen-specific rules needed - isolation only applies to print */\n }\n `,n}(r,n);return document.head.appendChild(o),new Promise(e=>{const i=()=>{window.removeEventListener("afterprint",i),document.getElementById(t)?.remove(),e()};window.addEventListener("afterprint",i),window.print(),setTimeout(()=>{window.removeEventListener("afterprint",i),document.getElementById(t)?.remove(),e()},5e3)})}const i='<svg viewBox="0 0 16 16" width="12" height="12"><path fill="currentColor" d="M6 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z"/></svg>',n={expand:"▶",collapse:"▼",sortAsc:"▲",sortDesc:"▼",sortNone:"⇅",submenuArrow:"▶",dragHandle:"⋮⋮",toolPanel:"☰",filter:i,filterActive:i,print:"🖨️"};class r{static dependencies;static manifest;aliases;version="undefined"!=typeof __GRID_VERSION__?__GRID_VERSION__:"dev";styles;cellRenderers;headerRenderers;cellEditors;grid;config;userConfig;#t;get defaultConfig(){return{}}constructor(t={}){this.userConfig=t}attach(t){this.#t?.abort(),this.#t=new AbortController,this.grid=t,this.config={...this.defaultConfig,...this.userConfig}}detach(){this.#t?.abort(),this.#t=void 0}getPlugin(t){return this.grid?.getPlugin(t)}emit(t,e){this.grid?.dispatchEvent?.(new CustomEvent(t,{detail:e,bubbles:!0}))}emitCancelable(t,e){const i=new CustomEvent(t,{detail:e,bubbles:!0,cancelable:!0});return this.grid?.dispatchEvent?.(i),i.defaultPrevented}on(t,e){this.grid?._pluginManager?.subscribe(this,t,e)}off(t){this.grid?._pluginManager?.unsubscribe(this,t)}emitPluginEvent(t,e){this.grid?._pluginManager?.emitPluginEvent(t,e)}requestRender(){this.grid?.requestRender?.()}requestColumnsRender(){this.grid?.requestColumnsRender?.()}requestRenderWithFocus(){this.grid?.requestRenderWithFocus?.()}requestAfterRender(){this.grid?.requestAfterRender?.()}requestVirtualRefresh(){this.grid?.requestVirtualRefresh?.()}get rows(){return this.grid?.rows??[]}get sourceRows(){return this.grid?.sourceRows??[]}get columns(){return this.grid?.columns??[]}get visibleColumns(){return this.grid?._visibleColumns??[]}get gridElement(){return this.grid}get disconnectSignal(){return this.#t?.signal??this.grid?.disconnectSignal}get gridIcons(){const t=this.grid?.gridConfig?.icons??{};return{...n,...t}}get isAnimationEnabled(){const t=this.grid?.effectiveConfig?.animation?.mode??"reduced-motion";if(!1===t||"off"===t)return!1;if(!0===t||"on"===t)return!0;const e=this.gridElement;if(e){return"0"!==getComputedStyle(e).getPropertyValue("--tbw-animation-enabled").trim()}return!0}get animationDuration(){const t=this.gridElement;if(t){const e=getComputedStyle(t).getPropertyValue("--tbw-animation-duration").trim(),i=parseInt(e,10);if(!isNaN(i))return i}return 200}resolveIcon(t,e){return void 0!==e?e:this.gridIcons[t]}setIcon(t,e){"string"==typeof e?t.innerHTML=e:e instanceof HTMLElement&&(t.innerHTML="",t.appendChild(e.cloneNode(!0)))}warn(t){console.warn(`[tbw-grid:${this.name}] ${t}`)}}const o={button:!1,orientation:"landscape",warnThreshold:500,maxRows:0,includeTitle:!0,includeTimestamp:!0,title:"",isolate:!1};class s extends r{name="print";version="1.0.0";styles=".tbw-print-header,.tbw-print-footer{display:none}@media print{tbw-grid{overflow:visible!important;height:auto!important;border:none!important;border-radius:0!important;color-scheme:light only;-webkit-print-color-adjust:exact;print-color-adjust:exact}tbw-grid .tbw-grid-content{overflow:visible!important;height:auto!important;max-height:none!important}tbw-grid .tbw-scroll-area{overflow:visible!important;height:auto!important;max-height:none!important}tbw-grid .rows-body{overflow:visible!important;height:auto!important;max-height:none!important}tbw-grid .rows-container,tbw-grid .rows-viewport,tbw-grid .rows{overflow:visible!important;height:auto!important;max-height:none!important;transform:none!important}tbw-grid .rows-viewport .rows{position:static!important}tbw-grid .resize-handle,tbw-grid [part=sort-indicator],tbw-grid .tbw-filter-btn,tbw-grid .tool-panel,tbw-grid .tool-panel-content,tbw-grid .tbw-shell-header,tbw-grid .shell-toolbar,tbw-grid .tool-panel-toggle,tbw-grid [data-print-hide],tbw-grid .expander-cell,tbw-grid .tree-toggle,tbw-grid .context-menu,tbw-grid .faux-vscroll{display:none!important}tbw-grid .tbw-print-header{display:flex;justify-content:space-between;align-items:baseline;padding:var(--tbw-spacing-md, .5em) 0;margin-bottom:var(--tbw-spacing-md, .5em);border-bottom:2px solid var(--tbw-print-border, var(--tbw-color-border-strong));font-family:inherit}.tbw-print-header-title{font-size:1.25em;font-weight:700}.tbw-print-header-timestamp{font-size:var(--tbw-font-size-sm, .875em);color:var(--tbw-print-muted, var(--tbw-color-fg-muted))}tbw-grid .tbw-print-footer{display:block;margin-top:var(--tbw-spacing-md, .5em);padding-top:var(--tbw-spacing-md, .5em);border-top:1px solid var(--tbw-print-border, var(--tbw-color-border));font-size:var(--tbw-font-size-xs, .75em);color:var(--tbw-print-muted, var(--tbw-color-fg-muted));text-align:end}tbw-grid .data-grid-row{break-inside:avoid;page-break-inside:avoid}tbw-grid .cell{border:1px solid var(--tbw-print-cell-border, var(--tbw-color-border))!important}tbw-grid .header-row,tbw-grid .data-grid-row{padding-inline-end:1px}tbw-grid .data-grid-row:hover,tbw-grid .cell:hover{background:inherit!important}@page{margin:1cm}@page{tbw-grid.print-landscape{size:landscape}}@page{tbw-grid.print-portrait{size:portrait}}}";#e=!1;#i=null;#n=null;#r=null;#o=null;#s=null;#a=null;get#d(){return this.grid}isPrinting(){return this.#e}async print(t){if(this.#e)return void console.warn("[PrintPlugin] Print already in progress");const e=this.gridElement;if(!e)return void console.warn("[PrintPlugin] Grid not available");const i={...o,...this.config,...t},n=this.rows.length;let r=n,s=!1;if(i.warnThreshold>0&&n>i.warnThreshold){const t=i.maxRows>0?`\n\nNote: Output will be limited to ${i.maxRows.toLocaleString()} rows.`:"";if(!confirm(`This grid has ${n.toLocaleString()} rows. Printing large datasets may cause performance issues or browser slowdowns.${t}\n\nClick OK to continue, or Cancel to abort.`))return}i.maxRows>0&&n>i.maxRows&&(r=i.maxRows,s=!0),this.#e=!0;const a=performance.now();this.emit("print-start",{rowCount:r,limitApplied:s,originalRowCount:n});try{const t=this.#d;this.#n={bypassThreshold:t._virtualization?.bypassThreshold??24},this.#l(),s&&(this.#r=this.sourceRows,this.grid.rows=this.sourceRows.slice(0,r),await new Promise(t=>setTimeout(t,50))),(i.includeTitle||i.includeTimestamp)&&this.#p(i),await this.#h(),await new Promise(t=>requestAnimationFrame(t)),await new Promise(t=>requestAnimationFrame(t)),e.classList.add(`print-${i.orientation}`),await new Promise(t=>requestAnimationFrame(t)),await new Promise(t=>requestAnimationFrame(t)),i.isolate?await this.#m(i):await this.#c(),this.emit("print-complete",{success:!0,rowCount:r,duration:Math.round(performance.now()-a)})}catch(d){console.error("[PrintPlugin] Print failed:",d),this.emit("print-complete",{success:!1,rowCount:0,duration:Math.round(performance.now()-a)})}finally{this.#g(),this.#e=!1}}#p(t){const e=this.gridElement;if(e){if(this.#o=document.createElement("div"),this.#o.className="tbw-print-header",t.includeTitle){const e=t.title||this.grid.effectiveConfig?.shell?.header?.title||"Grid Data",i=document.createElement("div");i.className="tbw-print-header-title",i.textContent=e,this.#o.appendChild(i)}if(t.includeTimestamp){const t=document.createElement("div");t.className="tbw-print-header-timestamp",t.textContent=`Printed: ${/* @__PURE__ */(new Date).toLocaleString()}`,this.#o.appendChild(t)}e.insertBefore(this.#o,e.firstChild),this.#s=document.createElement("div"),this.#s.className="tbw-print-footer",this.#s.textContent=`Page generated from ${window.location.hostname}`,e.appendChild(this.#s)}}async#h(){const t=this.#d;if(!t._virtualization)return;const e=this.rows.length;t._virtualization.bypassThreshold=e+100,t.refreshVirtualWindow(!0),await new Promise(t=>setTimeout(t,100))}async#c(){return new Promise(t=>{const e=()=>{window.removeEventListener("afterprint",e),t()};window.addEventListener("afterprint",e),window.print(),setTimeout(()=>{"undefined"!=typeof window&&window.removeEventListener("afterprint",e),t()},1e3)})}async#m(t){const i=this.gridElement;i&&await e(i,{orientation:t.orientation})}#l(){const t=this.columns;if(t){this.#i=/* @__PURE__ */new Map;for(const e of t)e.printHidden&&e.field&&(this.#i.set(e.field,!e.hidden),this.grid.setColumnVisible(e.field,!1))}}#u(){if(this.#i){for(const[t,e]of this.#i)this.grid.setColumnVisible(t,e);this.#i=null}}#g(){const t=this.gridElement;if(!t)return;this.#u(),t.classList.remove("print-portrait","print-landscape"),null!==this.#a&&(t.style.transform="",t.style.transformOrigin="",t.style.width="",this.#a=null),this.#o&&(this.#o.remove(),this.#o=null),this.#s&&(this.#s.remove(),this.#s=null);const e=this.#d;this.#n&&e._virtualization&&(e._virtualization.bypassThreshold=this.#n.bypassThreshold,e.refreshVirtualWindow(!0),this.#n=null),null!==this.#r&&(this.grid.rows=this.#r,this.#r=null)}afterRender(){this.config?.button&&!this.#w&&(this.#b(),this.#w=!0)}#w=!1;#b(){const t=this.#d;t.registerToolbarContent?.({id:"print-button",order:900,render:t=>{const e=document.createElement("button");e.className="tbw-toolbar-btn tbw-print-btn",e.title="Print grid",e.type="button";const i=this.resolveIcon("print")||"🖨️";this.setIcon(e,i),e.addEventListener("click",()=>{this.print()},{signal:this.disconnectSignal}),t.appendChild(e)}})}}export{s as PrintPlugin,e as printGridIsolated};
|
|
1
|
+
function t(t,e){return`[tbw-grid${t?`#${t}`:""}${e?`:${e}`:""}]`}const e="tbw-print-isolation-style";async function i(i,n={}){const{orientation:r="landscape"}=n,o=i.id;document.querySelectorAll(`#${CSS.escape(o)}`).length>1&&console.warn(`${t(o,"print")} Multiple elements found with id="${o}". Print isolation may not work correctly. Ensure each grid has a unique ID.`),document.getElementById(e)?.remove();const s=function(t,i){const n=document.createElement("style");return n.id=e,n.textContent=`\n /* Print isolation: hide everything except the target grid */\n @media print {\n /* Hide all body children by default */\n body > *:not(#${t}) {\n display: none !important;\n }\n\n /* But show the grid and ensure it's not hidden by ancestor rules */\n #${t} {\n display: block !important;\n position: static !important;\n visibility: visible !important;\n opacity: 1 !important;\n overflow: visible !important;\n height: auto !important;\n width: 100% !important;\n max-height: none !important;\n margin: 0 !important;\n padding: 0 !important;\n transform: none !important;\n }\n\n /* If grid is nested, we need to show its ancestors too */\n #${t},\n #${t} * {\n visibility: visible !important;\n }\n\n /* Walk up the DOM and show all ancestors of the grid */\n body *:has(> #${t}),\n body *:has(#${t}) {\n display: block !important;\n visibility: visible !important;\n opacity: 1 !important;\n overflow: visible !important;\n height: auto !important;\n position: static !important;\n transform: none !important;\n background: transparent !important;\n border: none !important;\n padding: 0 !important;\n margin: 0 !important;\n }\n\n /* Hide siblings of ancestors (everything that's not in the path to the grid) */\n body *:has(#${t}) > *:not(:has(#${t})):not(#${t}) {\n display: none !important;\n }\n\n /* Page settings */\n @page {\n size: ${i};\n margin: 1cm;\n }\n\n /* Ensure proper print styling */\n body {\n margin: 0 !important;\n padding: 0 !important;\n background: white !important;\n color-scheme: light !important;\n }\n }\n\n /* Screen: also apply isolation for print preview */\n @media screen {\n /* When this stylesheet is active, we're about to print */\n /* No screen-specific rules needed - isolation only applies to print */\n }\n `,n}(o,r);return document.head.appendChild(s),new Promise(t=>{const i=()=>{window.removeEventListener("afterprint",i),document.getElementById(e)?.remove(),t()};window.addEventListener("afterprint",i),window.print(),setTimeout(()=>{window.removeEventListener("afterprint",i),document.getElementById(e)?.remove(),t()},5e3)})}const n='<svg viewBox="0 0 16 16" width="12" height="12"><path fill="currentColor" d="M6 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z"/></svg>',r={expand:"▶",collapse:"▼",sortAsc:"▲",sortDesc:"▼",sortNone:"⇅",submenuArrow:"▶",dragHandle:"⋮⋮",toolPanel:"☰",filter:n,filterActive:n,print:"🖨️"};class o{static dependencies;static manifest;aliases;version="undefined"!=typeof __GRID_VERSION__?__GRID_VERSION__:"dev";styles;cellRenderers;headerRenderers;cellEditors;grid;config;userConfig;#t;get defaultConfig(){return{}}constructor(t={}){this.userConfig=t}attach(t){this.#t?.abort(),this.#t=new AbortController,this.grid=t,this.config={...this.defaultConfig,...this.userConfig}}detach(){this.#t?.abort(),this.#t=void 0}getPlugin(t){return this.grid?.getPlugin(t)}emit(t,e){this.grid?.dispatchEvent?.(new CustomEvent(t,{detail:e,bubbles:!0}))}emitCancelable(t,e){const i=new CustomEvent(t,{detail:e,bubbles:!0,cancelable:!0});return this.grid?.dispatchEvent?.(i),i.defaultPrevented}on(t,e){this.grid?._pluginManager?.subscribe(this,t,e)}off(t){this.grid?._pluginManager?.unsubscribe(this,t)}emitPluginEvent(t,e){this.grid?._pluginManager?.emitPluginEvent(t,e)}requestRender(){this.grid?.requestRender?.()}requestColumnsRender(){this.grid?.requestColumnsRender?.()}requestRenderWithFocus(){this.grid?.requestRenderWithFocus?.()}requestAfterRender(){this.grid?.requestAfterRender?.()}requestVirtualRefresh(){this.grid?.requestVirtualRefresh?.()}get rows(){return this.grid?.rows??[]}get sourceRows(){return this.grid?.sourceRows??[]}get columns(){return this.grid?.columns??[]}get visibleColumns(){return this.grid?._visibleColumns??[]}get gridElement(){return this.grid?._hostElement}get disconnectSignal(){return this.#t?.signal??this.grid?.disconnectSignal}get gridIcons(){const t=this.grid?.gridConfig?.icons??{};return{...r,...t}}get isAnimationEnabled(){const t=this.grid?.effectiveConfig?.animation?.mode??"reduced-motion";if(!1===t||"off"===t)return!1;if(!0===t||"on"===t)return!0;const e=this.gridElement;if(e){return"0"!==getComputedStyle(e).getPropertyValue("--tbw-animation-enabled").trim()}return!0}get animationDuration(){const t=this.gridElement;if(t){const e=getComputedStyle(t).getPropertyValue("--tbw-animation-duration").trim(),i=parseInt(e,10);if(!isNaN(i))return i}return 200}resolveIcon(t,e){return void 0!==e?e:this.gridIcons[t]}setIcon(t,e){"string"==typeof e?t.innerHTML=e:e instanceof HTMLElement&&(t.innerHTML="",t.appendChild(e.cloneNode(!0)))}warn(e){console.warn(`${t(this.gridElement.id,this.name)} ${e}`)}}const s={button:!1,orientation:"landscape",warnThreshold:500,maxRows:0,includeTitle:!0,includeTimestamp:!0,title:"",isolate:!1};class a extends o{name="print";version="1.0.0";styles=".tbw-print-header,.tbw-print-footer{display:none}@media print{tbw-grid{overflow:visible!important;height:auto!important;border:none!important;border-radius:0!important;color-scheme:light only;-webkit-print-color-adjust:exact;print-color-adjust:exact}tbw-grid .tbw-grid-content{overflow:visible!important;height:auto!important;max-height:none!important}tbw-grid .tbw-scroll-area{overflow:visible!important;height:auto!important;max-height:none!important}tbw-grid .rows-body{overflow:visible!important;height:auto!important;max-height:none!important}tbw-grid .rows-container,tbw-grid .rows-viewport,tbw-grid .rows{overflow:visible!important;height:auto!important;max-height:none!important;transform:none!important}tbw-grid .rows-viewport .rows{position:static!important}tbw-grid .resize-handle,tbw-grid [part=sort-indicator],tbw-grid .tbw-filter-btn,tbw-grid .tool-panel,tbw-grid .tool-panel-content,tbw-grid .tbw-shell-header,tbw-grid .shell-toolbar,tbw-grid .tool-panel-toggle,tbw-grid [data-print-hide],tbw-grid .expander-cell,tbw-grid .tree-toggle,tbw-grid .context-menu,tbw-grid .faux-vscroll{display:none!important}tbw-grid .tbw-print-header{display:flex;justify-content:space-between;align-items:baseline;padding:var(--tbw-spacing-md, .5em) 0;margin-bottom:var(--tbw-spacing-md, .5em);border-bottom:2px solid var(--tbw-print-border, var(--tbw-color-border-strong));font-family:inherit}.tbw-print-header-title{font-size:1.25em;font-weight:700}.tbw-print-header-timestamp{font-size:var(--tbw-font-size-sm, .875em);color:var(--tbw-print-muted, var(--tbw-color-fg-muted))}tbw-grid .tbw-print-footer{display:block;margin-top:var(--tbw-spacing-md, .5em);padding-top:var(--tbw-spacing-md, .5em);border-top:1px solid var(--tbw-print-border, var(--tbw-color-border));font-size:var(--tbw-font-size-xs, .75em);color:var(--tbw-print-muted, var(--tbw-color-fg-muted));text-align:end}tbw-grid .data-grid-row{break-inside:avoid;page-break-inside:avoid}tbw-grid .cell{border:1px solid var(--tbw-print-cell-border, var(--tbw-color-border))!important}tbw-grid .header-row,tbw-grid .data-grid-row{padding-inline-end:1px}tbw-grid .data-grid-row:hover,tbw-grid .cell:hover{background:inherit!important}@page{margin:1cm}@page{tbw-grid.print-landscape{size:landscape}}@page{tbw-grid.print-portrait{size:portrait}}}";#e=!1;#i=null;#n=null;#r=null;#o=null;#s=null;#a=null;get#d(){return this.grid}isPrinting(){return this.#e}async print(t){if(this.#e)return void console.warn("[PrintPlugin] Print already in progress");const e=this.gridElement;if(!e)return void console.warn("[PrintPlugin] Grid not available");const i={...s,...this.config,...t},n=this.rows.length;let r=n,o=!1;if(i.warnThreshold>0&&n>i.warnThreshold){const t=i.maxRows>0?`\n\nNote: Output will be limited to ${i.maxRows.toLocaleString()} rows.`:"";if(!confirm(`This grid has ${n.toLocaleString()} rows. Printing large datasets may cause performance issues or browser slowdowns.${t}\n\nClick OK to continue, or Cancel to abort.`))return}i.maxRows>0&&n>i.maxRows&&(r=i.maxRows,o=!0),this.#e=!0;const a=performance.now();this.emit("print-start",{rowCount:r,limitApplied:o,originalRowCount:n});try{const t=this.#d;this.#n={bypassThreshold:t._virtualization?.bypassThreshold??24},this.#l(),o&&(this.#r=this.sourceRows,this.grid.rows=this.sourceRows.slice(0,r),await new Promise(t=>setTimeout(t,50))),(i.includeTitle||i.includeTimestamp)&&this.#p(i),await this.#h(),await new Promise(t=>requestAnimationFrame(t)),await new Promise(t=>requestAnimationFrame(t)),e.classList.add(`print-${i.orientation}`),await new Promise(t=>requestAnimationFrame(t)),await new Promise(t=>requestAnimationFrame(t)),i.isolate?await this.#m(i):await this.#c(),this.emit("print-complete",{success:!0,rowCount:r,duration:Math.round(performance.now()-a)})}catch(d){console.error("[PrintPlugin] Print failed:",d),this.emit("print-complete",{success:!1,rowCount:0,duration:Math.round(performance.now()-a)})}finally{this.#g(),this.#e=!1}}#p(t){const e=this.gridElement;if(e){if(this.#o=document.createElement("div"),this.#o.className="tbw-print-header",t.includeTitle){const e=t.title||this.grid.effectiveConfig?.shell?.header?.title||"Grid Data",i=document.createElement("div");i.className="tbw-print-header-title",i.textContent=e,this.#o.appendChild(i)}if(t.includeTimestamp){const t=document.createElement("div");t.className="tbw-print-header-timestamp",t.textContent=`Printed: ${/* @__PURE__ */(new Date).toLocaleString()}`,this.#o.appendChild(t)}e.insertBefore(this.#o,e.firstChild),this.#s=document.createElement("div"),this.#s.className="tbw-print-footer",this.#s.textContent=`Page generated from ${window.location.hostname}`,e.appendChild(this.#s)}}async#h(){const t=this.#d;if(!t._virtualization)return;const e=this.rows.length;t._virtualization.bypassThreshold=e+100,t.refreshVirtualWindow(!0),await new Promise(t=>setTimeout(t,100))}async#c(){return new Promise(t=>{const e=()=>{window.removeEventListener("afterprint",e),t()};window.addEventListener("afterprint",e),window.print(),setTimeout(()=>{"undefined"!=typeof window&&window.removeEventListener("afterprint",e),t()},1e3)})}async#m(t){const e=this.gridElement;e&&await i(e,{orientation:t.orientation})}#l(){const t=this.columns;if(t){this.#i=/* @__PURE__ */new Map;for(const e of t)e.printHidden&&e.field&&(this.#i.set(e.field,!e.hidden),this.grid.setColumnVisible(e.field,!1))}}#u(){if(this.#i){for(const[t,e]of this.#i)this.grid.setColumnVisible(t,e);this.#i=null}}#g(){const t=this.gridElement;if(!t)return;this.#u(),t.classList.remove("print-portrait","print-landscape"),null!==this.#a&&(t.style.transform="",t.style.transformOrigin="",t.style.width="",this.#a=null),this.#o&&(this.#o.remove(),this.#o=null),this.#s&&(this.#s.remove(),this.#s=null);const e=this.#d;this.#n&&e._virtualization&&(e._virtualization.bypassThreshold=this.#n.bypassThreshold,e.refreshVirtualWindow(!0),this.#n=null),null!==this.#r&&(this.grid.rows=this.#r,this.#r=null)}afterRender(){this.config?.button&&!this.#w&&(this.#b(),this.#w=!0)}#w=!1;#b(){const t=this.#d;t.registerToolbarContent?.({id:"print-button",order:900,render:t=>{const e=document.createElement("button");e.className="tbw-toolbar-btn tbw-print-btn",e.title="Print grid",e.type="button";const i=this.resolveIcon("print")||"🖨️";this.setIcon(e,i),e.addEventListener("click",()=>{this.print()},{signal:this.disconnectSignal}),t.appendChild(e)}})}}export{a as PrintPlugin,i as printGridIsolated};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|