@toolbox-web/grid 1.26.1 → 1.27.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.
Files changed (114) hide show
  1. package/all.js +2 -2
  2. package/all.js.map +1 -1
  3. package/index.js +1 -1
  4. package/index.js.map +1 -1
  5. package/lib/core/grid.d.ts +64 -1
  6. package/lib/core/internal/diagnostics.d.ts +4 -3
  7. package/lib/core/internal/row-manager.d.ts +3 -1
  8. package/lib/core/plugin/base-plugin.d.ts +2 -2
  9. package/lib/core/types.d.ts +59 -3
  10. package/lib/features/registry.js.map +1 -1
  11. package/lib/plugins/clipboard/ClipboardPlugin.d.ts +1 -1
  12. package/lib/plugins/clipboard/index.js.map +1 -1
  13. package/lib/plugins/column-virtualization/index.js.map +1 -1
  14. package/lib/plugins/context-menu/ContextMenuPlugin.d.ts +24 -5
  15. package/lib/plugins/context-menu/index.js.map +1 -1
  16. package/lib/plugins/editing/EditingPlugin.d.ts +1 -1
  17. package/lib/plugins/editing/index.js.map +1 -1
  18. package/lib/plugins/export/ExportPlugin.d.ts +1 -1
  19. package/lib/plugins/export/index.js.map +1 -1
  20. package/lib/plugins/filtering/index.d.ts +2 -2
  21. package/lib/plugins/filtering/index.js +1 -1
  22. package/lib/plugins/filtering/index.js.map +1 -1
  23. package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts +2 -2
  24. package/lib/plugins/grouping-columns/grouping-columns.d.ts +18 -3
  25. package/lib/plugins/grouping-columns/index.d.ts +0 -1
  26. package/lib/plugins/grouping-columns/index.js +1 -1
  27. package/lib/plugins/grouping-columns/index.js.map +1 -1
  28. package/lib/plugins/grouping-columns/types.d.ts +1 -7
  29. package/lib/plugins/grouping-rows/index.d.ts +2 -1
  30. package/lib/plugins/grouping-rows/index.js +1 -1
  31. package/lib/plugins/grouping-rows/index.js.map +1 -1
  32. package/lib/plugins/master-detail/MasterDetailPlugin.d.ts +2 -0
  33. package/lib/plugins/master-detail/index.js +1 -1
  34. package/lib/plugins/master-detail/index.js.map +1 -1
  35. package/lib/plugins/master-detail/types.d.ts +20 -1
  36. package/lib/plugins/multi-sort/index.js.map +1 -1
  37. package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts +8 -1
  38. package/lib/plugins/pinned-columns/index.js +1 -1
  39. package/lib/plugins/pinned-columns/index.js.map +1 -1
  40. package/lib/plugins/pinned-columns/pinned-columns.d.ts +11 -1
  41. package/lib/plugins/pinned-rows/index.d.ts +1 -1
  42. package/lib/plugins/pinned-rows/index.js +1 -1
  43. package/lib/plugins/pinned-rows/index.js.map +1 -1
  44. package/lib/plugins/pinned-rows/types.d.ts +10 -3
  45. package/lib/plugins/pivot/PivotPlugin.d.ts +107 -1
  46. package/lib/plugins/pivot/index.d.ts +2 -1
  47. package/lib/plugins/pivot/index.js +1 -1
  48. package/lib/plugins/pivot/index.js.map +1 -1
  49. package/lib/plugins/print/index.js.map +1 -1
  50. package/lib/plugins/print/types.d.ts +0 -3
  51. package/lib/plugins/reorder-columns/ReorderPlugin.d.ts +19 -2
  52. package/lib/plugins/reorder-columns/index.js +1 -1
  53. package/lib/plugins/reorder-columns/index.js.map +1 -1
  54. package/lib/plugins/reorder-rows/index.d.ts +1 -1
  55. package/lib/plugins/reorder-rows/index.js.map +1 -1
  56. package/lib/plugins/responsive/ResponsivePlugin.d.ts +1 -1
  57. package/lib/plugins/responsive/index.js +1 -1
  58. package/lib/plugins/responsive/index.js.map +1 -1
  59. package/lib/plugins/selection/SelectionPlugin.d.ts +1 -1
  60. package/lib/plugins/selection/index.js +1 -1
  61. package/lib/plugins/selection/index.js.map +1 -1
  62. package/lib/plugins/selection/types.d.ts +3 -3
  63. package/lib/plugins/server-side/ServerSidePlugin.d.ts +6 -1
  64. package/lib/plugins/server-side/index.js +1 -1
  65. package/lib/plugins/server-side/index.js.map +1 -1
  66. package/lib/plugins/tree/TreePlugin.d.ts +116 -0
  67. package/lib/plugins/tree/index.d.ts +1 -1
  68. package/lib/plugins/tree/index.js +1 -1
  69. package/lib/plugins/tree/index.js.map +1 -1
  70. package/lib/plugins/tree/types.d.ts +16 -1
  71. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts +1 -1
  72. package/lib/plugins/undo-redo/index.js.map +1 -1
  73. package/lib/plugins/undo-redo/types.d.ts +15 -3
  74. package/lib/plugins/visibility/VisibilityPlugin.d.ts +18 -5
  75. package/lib/plugins/visibility/index.js +1 -1
  76. package/lib/plugins/visibility/index.js.map +1 -1
  77. package/package.json +1 -1
  78. package/public.d.ts +2 -4
  79. package/themes/dg-theme-material.css +16 -4
  80. package/umd/grid.all.umd.js +1 -1
  81. package/umd/grid.all.umd.js.map +1 -1
  82. package/umd/grid.umd.js +1 -1
  83. package/umd/grid.umd.js.map +1 -1
  84. package/umd/plugins/clipboard.umd.js.map +1 -1
  85. package/umd/plugins/context-menu.umd.js.map +1 -1
  86. package/umd/plugins/editing.umd.js.map +1 -1
  87. package/umd/plugins/export.umd.js.map +1 -1
  88. package/umd/plugins/filtering.umd.js +1 -1
  89. package/umd/plugins/filtering.umd.js.map +1 -1
  90. package/umd/plugins/grouping-columns.umd.js +1 -1
  91. package/umd/plugins/grouping-columns.umd.js.map +1 -1
  92. package/umd/plugins/grouping-rows.umd.js +1 -1
  93. package/umd/plugins/grouping-rows.umd.js.map +1 -1
  94. package/umd/plugins/master-detail.umd.js +1 -1
  95. package/umd/plugins/master-detail.umd.js.map +1 -1
  96. package/umd/plugins/pinned-columns.umd.js +1 -1
  97. package/umd/plugins/pinned-columns.umd.js.map +1 -1
  98. package/umd/plugins/pinned-rows.umd.js +1 -1
  99. package/umd/plugins/pinned-rows.umd.js.map +1 -1
  100. package/umd/plugins/pivot.umd.js +1 -1
  101. package/umd/plugins/pivot.umd.js.map +1 -1
  102. package/umd/plugins/reorder-columns.umd.js +1 -1
  103. package/umd/plugins/reorder-columns.umd.js.map +1 -1
  104. package/umd/plugins/responsive.umd.js +1 -1
  105. package/umd/plugins/responsive.umd.js.map +1 -1
  106. package/umd/plugins/selection.umd.js +1 -1
  107. package/umd/plugins/selection.umd.js.map +1 -1
  108. package/umd/plugins/server-side.umd.js +1 -1
  109. package/umd/plugins/server-side.umd.js.map +1 -1
  110. package/umd/plugins/tree.umd.js +1 -1
  111. package/umd/plugins/tree.umd.js.map +1 -1
  112. package/umd/plugins/undo-redo.umd.js.map +1 -1
  113. package/umd/plugins/visibility.umd.js +1 -1
  114. package/umd/plugins/visibility.umd.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toolbox-web/grid",
3
- "version": "1.26.1",
3
+ "version": "1.27.0",
4
4
  "description": "Zero-dependency, framework-agnostic data grid web component with virtualization, sorting, filtering, editing, and 20+ plugins. Works in vanilla JS, React, Vue, Angular, and any framework.",
5
5
  "type": "module",
6
6
  "main": "./index.js",
package/public.d.ts CHANGED
@@ -72,8 +72,6 @@ export declare function createGrid<TRow = unknown>(config?: Partial<GridConfig<T
72
72
  * ```
73
73
  *
74
74
  * @param selector - CSS selector to find the grid element
75
- * @param parentOrAwait - Parent node to search within, or `true` to wait for upgrade
76
- * @param awaitUpgrade - When `true`, waits for the custom element to be defined before resolving
77
75
  * @returns The typed grid element (or null), either synchronously or as a Promise
78
76
  */
79
77
  export declare function queryGrid<TRow = unknown>(selector: string): DataGridElement<TRow> | null;
@@ -209,11 +207,11 @@ export declare const PluginEvents: {
209
207
  export type PluginEventName = (typeof PluginEvents)[keyof typeof PluginEvents];
210
208
  export type {
211
209
  /** @deprecated Use CellActivateDetail instead */
212
- ActivateCellDetail, AggregatorRef, AnimationConfig, AnimationMode, AnimationStyle, BaseColumnConfig, CellActivateDetail, CellActivateTrigger, CellChangeDetail, CellClickDetail, CellRenderContext, ColumnConfig, ColumnConfigMap, ColumnEditorContext, ColumnEditorSpec, ColumnResizeDetail, ColumnSortState, ColumnState, ColumnType, ColumnViewRenderer, DataChangeDetail, DataGridCustomEvent, DataGridElement as DataGridElementInterface, DataGridEventMap, ExpandCollapseAnimation, ExternalMountEditorDetail, ExternalMountViewDetail, FeatureConfig, FitMode, FrameworkAdapter, GridColumnState, GridConfig, GridIcons, GridPlugin, HeaderCellContext, HeaderContentDefinition, HeaderLabelContext, HeaderLabelRenderer, HeaderRenderer, IconValue, InferredColumnResult, LoadingContext, LoadingRenderer, LoadingSize, PrimitiveColumnType, PublicGrid, RowAnimationType, RowClickDetail, RowGroupRenderConfig, RowUpdate, ScrollToRowOptions, ShellConfig, ShellHeaderConfig, SortChangeDetail, SortHandler, SortState, ToolbarContentDefinition, ToolPanelConfig, ToolPanelDefinition, TypeDefault, UpdateSource } from './lib/core/types';
210
+ ActivateCellDetail, AggregatorRef, AnimationConfig, AnimationMode, AnimationStyle, BaseColumnConfig, CellActivateDetail, CellActivateTrigger, CellChangeDetail, CellClickDetail, CellRenderContext, ColumnConfig, ColumnConfigMap, ColumnEditorContext, ColumnEditorSpec, ColumnResizeDetail, ColumnSortState, ColumnState, ColumnType, ColumnViewRenderer, DataChangeDetail, DataGridCustomEvent, DataGridElement as DataGridElementInterface, DataGridEventMap, ExpandCollapseAnimation, ExternalMountEditorDetail, ExternalMountViewDetail, FeatureConfig, FitMode, FrameworkAdapter, GridColumnState, GridConfig, GridIcons, GridPlugin, HeaderCellContext, HeaderContentDefinition, HeaderLabelContext, HeaderLabelRenderer, HeaderRenderer, IconValue, InferredColumnResult, LoadingContext, LoadingRenderer, LoadingSize, PrimitiveColumnType, PublicGrid, RowAnimationType, RowClickDetail, RowGroupRenderConfig, RowTransaction, RowUpdate, ScrollToRowOptions, ShellConfig, ShellHeaderConfig, SortChangeDetail, SortHandler, SortState, ToolbarContentDefinition, ToolPanelConfig, ToolPanelDefinition, TransactionResult, TypeDefault, UpdateSource, } from './lib/core/types';
213
211
  export { DEFAULT_ANIMATION_CONFIG, DEFAULT_GRID_ICONS, FitModeEnum } from './lib/core/types';
214
212
  export { builtInSort, defaultComparator } from './lib/core/internal/sorting';
215
213
  export { BaseGridPlugin, PLUGIN_QUERIES } from './lib/core/plugin';
216
- export type { AfterCellRenderContext, AfterRowRenderContext, CellMouseEvent, EventDefinition, PluginDependency, PluginManifest, PluginQuery, QueryDefinition } from './lib/core/plugin';
214
+ export type { AfterCellRenderContext, AfterRowRenderContext, CellMouseEvent, EventDefinition, PluginDependency, PluginManifest, PluginQuery, QueryDefinition, } from './lib/core/plugin';
217
215
  export { GridClasses, GridCSSVars, GridDataAttrs, GridSelectors } from './lib/core/constants';
218
216
  export type { GridClassName, GridCSSVar, GridDataAttr } from './lib/core/constants';
219
217
  /**
@@ -17,10 +17,10 @@
17
17
  --tbw-color-border: light-dark(#e7e0ec, #49454f);
18
18
  --tbw-color-border-strong: light-dark(#79747e, #938f99);
19
19
  --tbw-color-border-cell: transparent;
20
- --tbw-color-border-header: light-dark(#e7e0ec, #49454f);
20
+ --tbw-color-border-header: var(--tbw-color-border);
21
21
 
22
22
  /* Row divider - subtle horizontal line */
23
- --tbw-row-divider: 1px solid light-dark(#e7e0ec, #49454f);
23
+ --tbw-row-divider: 1px solid var(--tbw-color-border);
24
24
 
25
25
  /* M3 Primary - Purple/Violet */
26
26
  --tbw-color-accent: light-dark(#6750a4, #d0bcff);
@@ -68,7 +68,7 @@
68
68
 
69
69
  /* ========== Focus & Selection ========== */
70
70
  --tbw-focus-outline: 2px solid var(--tbw-color-accent);
71
- --tbw-focus-outline-offset: 2px;
71
+ --tbw-focus-outline-offset: -2px;
72
72
  --tbw-focus-background: rgba(from var(--tbw-color-accent) r g b / 12%);
73
73
 
74
74
  --tbw-range-border-color: var(--tbw-color-accent);
@@ -84,7 +84,7 @@
84
84
  --tbw-sort-indicator-active-color: var(--tbw-color-accent);
85
85
 
86
86
  /* ========== Borders ========== */
87
- --tbw-border-header: 1px solid light-dark(#e7e0ec, #49454f);
87
+ --tbw-border-header: 1px solid var(--tbw-color-border);
88
88
  --tbw-border-input: 1px solid light-dark(#79747e, #938f99);
89
89
  --tbw-editing-border: 2px solid var(--tbw-color-accent);
90
90
 
@@ -114,6 +114,18 @@
114
114
  }
115
115
  }
116
116
 
117
+ .header-row .cell {
118
+ &::after {
119
+ content: '';
120
+ position: absolute;
121
+ top: 30%;
122
+ right: 0;
123
+ width: 1px;
124
+ height: 40%;
125
+ background: var(--tbw-color-border);
126
+ }
127
+ }
128
+
117
129
  /* Filter button — larger for M3, works with any icon type */
118
130
  .header-row .cell .tbw-filter-btn {
119
131
  font-size: var(--tbw-icon-size-sm);