@keenmate/web-grid 1.0.0-rc04 → 1.0.0-rc05

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/README.md CHANGED
@@ -71,7 +71,10 @@ npm install @keenmate/web-grid
71
71
  | `hoverable` | `boolean` | `false` | Highlight row on hover |
72
72
  | `showRowToolbar` | `boolean` | `false` | Show row action toolbar |
73
73
  | `rowToolbar` | `Array` | `[]` | Toolbar items configuration |
74
- | `toolbarTrigger` | `string` | `'hover'` | Toolbar trigger: `'hover'`, `'button'` |
74
+ | `toolbarTrigger` | `string` | `'hover'` | Toolbar trigger: `'hover'`, `'click'`, `'button'` |
75
+ | `toolbarPosition` | `string` | `'auto'` | Toolbar position: `'auto'`, `'left'`, `'right'`, `'top'` |
76
+ | `toolbarAlign` | `string` | `'center'` | Vertical alignment for left/right: `'center'`, `'top'` |
77
+ | `toolbarTopPosition` | `string` | `'center'` | Horizontal position for top: `'start'`, `'center'`, `'end'`, `'cursor'` |
75
78
  | `contextMenu` | `Array` | `[]` | Context menu items |
76
79
  | `validationTooltipCallback` | `Function` | `undefined` | Custom HTML tooltip for validation errors: `({ field, error, value, row, rowIndex }) => htmlString` |
77
80
 
@@ -128,6 +131,11 @@ grid.rowToolbar = [
128
131
  onclick: ({ row, rowIndex }) => { /* ... */ }
129
132
  }
130
133
  ]
134
+
135
+ // Positioning
136
+ grid.toolbarPosition = 'left' // Prefer left side (falls back if no space)
137
+ grid.toolbarAlign = 'top' // Align to top of row (for left/right position)
138
+ grid.toolbarTopPosition = 'cursor' // Position at cursor (for top position)
131
139
  ```
132
140
 
133
141
  ## Context Menu
@@ -14,6 +14,7 @@
14
14
  { "name": "base-main-bg", "required": true, "usage": "Table background, cell background, inputs" },
15
15
  { "name": "base-elevated-bg", "required": true, "usage": "Header background, striped rows, pagination buttons" },
16
16
  { "name": "base-hover-bg", "required": false, "usage": "Hover states, sorted header, active buttons" },
17
+ { "name": "base-disabled-bg", "required": false, "usage": "Readonly/disabled cell backgrounds" },
17
18
  { "name": "base-dropdown-bg", "required": false, "usage": "Toolbar, context menu, floating surfaces" },
18
19
  { "name": "base-border-color", "required": true, "usage": "Table, cell, header, toolbar borders" },
19
20
  { "name": "base-input-bg", "required": false, "usage": "Filter input, editor backgrounds" },
package/dist/grid.d.ts CHANGED
@@ -30,6 +30,7 @@ export declare class WebGrid<T = unknown> {
30
30
  protected _toolbarAlign: 'center' | 'top';
31
31
  protected _toolbarTopPosition: 'start' | 'center' | 'end' | 'cursor';
32
32
  protected _toolbarTrigger: 'hover' | 'click' | 'button';
33
+ protected _toolbarPosition: 'auto' | 'left' | 'right' | 'top';
33
34
  protected _contextMenu: ContextMenuItem<T>[] | undefined;
34
35
  protected _onrowchange: ((detail: RowChangeDetail<T>) => void) | undefined;
35
36
  protected _onroweditstart: ((detail: {
@@ -148,6 +149,8 @@ export declare class WebGrid<T = unknown> {
148
149
  set toolbarTopPosition(value: 'start' | 'center' | 'end' | 'cursor');
149
150
  get toolbarTrigger(): 'hover' | 'click' | 'button';
150
151
  set toolbarTrigger(value: 'hover' | 'click' | 'button');
152
+ get toolbarPosition(): 'auto' | 'left' | 'right' | 'top';
153
+ set toolbarPosition(value: 'auto' | 'left' | 'right' | 'top');
151
154
  get contextMenu(): ContextMenuItem<T>[] | undefined;
152
155
  set contextMenu(value: ContextMenuItem<T>[] | undefined);
153
156
  get sort(): SortState[];
@@ -47,6 +47,7 @@ export declare function getConnectorState(): ConnectorState;
47
47
  /**
48
48
  * Update connector path after row has moved
49
49
  * Call this after a moveUp/moveDown action to draw the bracket-shaped connector
50
+ * The connector is clipped at grid container boundaries
50
51
  */
51
52
  export declare function updateConnector<T>(ctx: GridContext<T>, displayItems: T[]): void;
52
53
  /**
package/dist/types.d.ts CHANGED
@@ -224,6 +224,7 @@ export type QuickGridProps<T> = {
224
224
  toolbarAlign?: 'center' | 'top';
225
225
  toolbarTopPosition?: 'start' | 'center' | 'end' | 'cursor';
226
226
  toolbarTrigger?: 'hover' | 'click' | 'button';
227
+ toolbarPosition?: 'auto' | 'left' | 'right' | 'top';
227
228
  showRowActions?: boolean;
228
229
  rowActions?: RowToolbarConfig<T>[];
229
230
  contextMenu?: ContextMenuItem<T>[];
@@ -109,6 +109,8 @@ export declare class GridElement<T = unknown> extends HTMLElement implements Gri
109
109
  set toolbarTopPosition(value: 'start' | 'center' | 'end' | 'cursor');
110
110
  get toolbarTrigger(): 'hover' | 'click' | 'button';
111
111
  set toolbarTrigger(value: 'hover' | 'click' | 'button');
112
+ get toolbarPosition(): 'auto' | 'left' | 'right' | 'top';
113
+ set toolbarPosition(value: 'auto' | 'left' | 'right' | 'top');
112
114
  get contextMenu(): ContextMenuItem<T>[] | undefined;
113
115
  set contextMenu(value: ContextMenuItem<T>[] | undefined);
114
116
  get showRowActions(): boolean;