@kong-ui-public/table-data-grid 0.6.0 → 0.6.1-pr.3860.a89554fba.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/README.md +28 -1
- package/dist/style.css +1 -1
- package/dist/table-data-grid.es.js +465 -347
- package/dist/table-data-grid.umd.js +1 -1
- package/dist/types/components/TableDataGrid.vue.d.ts +1 -0
- package/dist/types/components/TableDataGrid.vue.d.ts.map +1 -1
- package/dist/types/components/TableDataGridCellRenderer.vue.d.ts +4 -1
- package/dist/types/components/TableDataGridCellRenderer.vue.d.ts.map +1 -1
- package/dist/types/composables/useTableDataGridColumnDefs.d.ts +12 -1
- package/dist/types/composables/useTableDataGridColumnDefs.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +19 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utils/tableDataGridPresentation.d.ts +51 -0
- package/dist/types/utils/tableDataGridPresentation.d.ts.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -247,6 +247,23 @@ should opt out of the default flexible fill behavior.
|
|
|
247
247
|
| `disableRowClick` | `boolean` | No | Suppresses `row:click` for clicks landing in this column's cells, e.g. an actions column. `cell:click` still fires. |
|
|
248
248
|
| `sortable` | `boolean` | No | Enables sorting on this column via AG Grid's built-in header sort control. Only one column can be sorted at a time. |
|
|
249
249
|
| `showSortIcon` | `boolean` | No | Shows the unsorted sort icon on this column even when it isn't the active sort, instead of only on hover or once sorted. Only relevant when `sortable` is true. |
|
|
250
|
+
| `dataType` | `'number'` | No | Enables numeric presentation options for this column. Aggregate options are applied only in unpaginated mode. |
|
|
251
|
+
| `valueFormatter` | `(value, row) => string` | No | Formats a raw value for display. A custom cell slot still receives the original `rowValue`. |
|
|
252
|
+
| `showPercentage` | `boolean` | No | In unpaginated numeric columns, shows the row's percentage of the complete returned column sum. |
|
|
253
|
+
| `percentageFormatter` | `(percentage) => string` | No | Optional formatter for the percentage points (50 means 50%) shown by `showPercentage`. The default uses the grid locale, up to two decimal places, and `< 0.01 %` for small positive values. |
|
|
254
|
+
| `bar` | `'relative' \| 'absolute'` | No | In unpaginated numeric columns, renders a bar. `relative` uses `value / sum`; `absolute` uses `value / maximum`, matching the TopN scales. |
|
|
255
|
+
| `thresholds` | `Array<{ value: number, type: 'warning' \| 'error' }>` | No | Applies threshold text/bar colors at or above the highest crossed threshold. Numeric finite values only. |
|
|
256
|
+
|
|
257
|
+
Numeric presentation is intentionally derived from the complete `rows` result
|
|
258
|
+
in unpaginated mode. Infinite mode does not calculate aggregate values; supplying
|
|
259
|
+
numeric presentation options there, or on a header without `dataType: 'number'`,
|
|
260
|
+
emits a console warning and omits those adornments. Nonnumeric or non-finite
|
|
261
|
+
values also warn once per column and keep their ordinary content without numeric
|
|
262
|
+
adornments. Missing values retain an empty bar track when a bar is configured.
|
|
263
|
+
Bars clamp to 0–100%; percentage labels are omitted when the column total is not positive.
|
|
264
|
+
|
|
265
|
+
Hosts render optional icons through the `cell-icon` slot. The grid places slot
|
|
266
|
+
content beside the cell value without replacing its default or custom content.
|
|
250
267
|
|
|
251
268
|
## Sorting
|
|
252
269
|
|
|
@@ -279,7 +296,13 @@ under one sort order is not valid under another.
|
|
|
279
296
|
## Custom Cell Content
|
|
280
297
|
|
|
281
298
|
Columns render custom cell content through a slot named after `header.key`.
|
|
282
|
-
Columns without a matching slot render
|
|
299
|
+
Columns without a matching slot render `valueFormatter(rowValue, row)` when
|
|
300
|
+
configured, otherwise their raw `rowValue`. The `cell-icon` slot, percentages,
|
|
301
|
+
and bars decorate both default values and slot content.
|
|
302
|
+
When a named slot renders no content, the grid falls back to the formatted
|
|
303
|
+
default value with ellipsis and an overflow tooltip; non-empty slot content
|
|
304
|
+
remains host-owned.
|
|
305
|
+
`cell-icon` is reserved for icon content and cannot name a column content slot.
|
|
283
306
|
|
|
284
307
|
```vue
|
|
285
308
|
<TableDataGrid
|
|
@@ -291,6 +314,9 @@ Columns without a matching slot render their raw `rowValue`.
|
|
|
291
314
|
{{ rowValue }}
|
|
292
315
|
</KBadge>
|
|
293
316
|
</template>
|
|
317
|
+
<template #cell-icon="{ column, rowValue }">
|
|
318
|
+
<ProviderIcon v-if="column.key === 'provider' && rowValue === 'openai'" />
|
|
319
|
+
</template>
|
|
294
320
|
</TableDataGrid>
|
|
295
321
|
```
|
|
296
322
|
|
|
@@ -320,6 +346,7 @@ Columns without a matching slot render their raw `rowValue`.
|
|
|
320
346
|
| --- | --- |
|
|
321
347
|
| `empty-state` | Replaces the default empty state after a successful empty result. |
|
|
322
348
|
| `error-state` | Replaces the default visible error state when `error` is true. |
|
|
349
|
+
| `cell-icon` | Adds optional host-rendered content before each cell's default value or column slot. Uses the same cell slot props; render nothing for cells without an icon. |
|
|
323
350
|
| `[columnKey]` | Renders custom cell content for the column matching `header.key`. See [Custom Cell Content](#custom-cell-content). |
|
|
324
351
|
|
|
325
352
|
## Exports
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.table-data-grid-cell-renderer,.table-data-grid-cell-tooltip,.table-data-grid-cell-content{display:block;min-width:0;width:100%}.table-data-grid-cell-content{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-table-data-grid[data-v-
|
|
1
|
+
.table-data-grid-cell-renderer,.table-data-grid-cell-tooltip,.table-data-grid-cell-content,.table-data-grid-cell-slot-content{display:block;min-width:0;width:100%}.table-data-grid-cell-renderer{align-items:center;display:flex;font-feature-settings:"case";font-variant-numeric:tabular-nums;gap:4px;gap:var(--kui-space-20, 4px);min-width:0;width:100%}.table-data-grid-cell-content,.table-data-grid-cell-slot-content,.table-data-grid-cell-relative{white-space:nowrap}.table-data-grid-cell-relative{font-size:12px;font-size:var(--kui-font-size-20, 12px);font-weight:400;font-weight:var(--kui-font-weight-regular, 400)}.table-data-grid-cell-renderer--bar .table-data-grid-cell-content,.table-data-grid-cell-renderer--bar .table-data-grid-cell-slot-content,.table-data-grid-cell-renderer--text-warning .table-data-grid-cell-content,.table-data-grid-cell-renderer--text-warning .table-data-grid-cell-slot-content,.table-data-grid-cell-renderer--text-error .table-data-grid-cell-content,.table-data-grid-cell-renderer--text-error .table-data-grid-cell-slot-content{font-weight:600;font-weight:var(--kui-font-weight-semibold, 600)}.table-data-grid-cell-renderer--text-warning{color:#995c00;color:var(--kui-color-text-warning, #995c00)}.table-data-grid-cell-renderer--text-error{color:#d60027;color:var(--kui-color-text-danger, #d60027)}.table-data-grid-cell-renderer--bar .table-data-grid-cell-content,.table-data-grid-cell-renderer--bar .table-data-grid-cell-slot-content,.table-data-grid-cell-renderer--bar .table-data-grid-cell-tooltip,.table-data-grid-cell-renderer--percentage .table-data-grid-cell-slot-content,.table-data-grid-cell-renderer--percentage .table-data-grid-cell-tooltip,.table-data-grid-cell-renderer--percentage .table-data-grid-cell-content{flex:0 1 auto;width:auto}.table-data-grid-cell-bar{background-color:#e0e4ea;background-color:var(--kui-color-background-neutral-weaker, #e0e4ea);border-radius:100px;border-radius:var(--kui-border-radius-round, 100px);display:block;flex:1 1 80px;height:8px;min-width:80px;overflow:hidden;width:100%}.table-data-grid-cell-bar-fill{background-color:#6a86d2;border-radius:inherit;display:block;height:100%}.table-data-grid-cell-bar[data-threshold=warning] .table-data-grid-cell-bar-fill{background-color:#995c00;background-color:var(--kui-color-background-warning, #995c00)}.table-data-grid-cell-bar[data-threshold=error] .table-data-grid-cell-bar-fill{background-color:#d60027;background-color:var(--kui-color-background-danger, #d60027)}.table-data-grid-cell-content{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-table-data-grid[data-v-08dd32b5]{border:none;border-radius:4px;border-radius:var(--kui-border-radius-20, 4px);box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;width:100%}.table-data-grid-grid[data-v-08dd32b5]{--ag-background-color: var(--kui-color-background, #ffffff);--ag-border-color: var(--kui-color-border, #e0e4ea);--ag-foreground-color: var(--kui-color-text, #0d0e14);--ag-header-background-color: var(--kui-color-background, #ffffff);--ag-header-column-border: 1px solid var(--kui-color-border, #e0e4ea);--ag-header-column-border-height: 30%;--ag-header-column-resize-handle-color: transparent;--ag-header-font-weight: var(--kui-font-weight-semibold, 600);--ag-header-text-color: var(--kui-color-text-neutral, #6c7489);--ag-wrapper-border: none;--ag-wrapper-border-radius: 0;flex:1 1 auto;min-height:0;width:100%}.ag-cell{align-items:center;display:flex;min-width:0}.ag-cell-wrapper,.ag-cell-value{min-width:0;width:100%}
|