@krumio/trailhand-ui 1.7.0 → 1.8.1

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 (54) hide show
  1. package/README.md +13 -13
  2. package/dist/components/action-menu/action-menu.d.ts.map +1 -1
  3. package/dist/components/action-menu/action-menu.js +14 -12
  4. package/dist/components/action-menu/action-menu.js.map +1 -1
  5. package/dist/components/button/button.js +18 -18
  6. package/dist/components/data-table/data-table.d.ts +1 -11
  7. package/dist/components/data-table/data-table.d.ts.map +1 -1
  8. package/dist/components/data-table/data-table.js +39 -112
  9. package/dist/components/data-table/data-table.js.map +1 -1
  10. package/dist/components/icon/icon.d.ts +16 -0
  11. package/dist/components/icon/icon.d.ts.map +1 -1
  12. package/dist/components/icon/icon.js +30 -2
  13. package/dist/components/icon/icon.js.map +1 -1
  14. package/dist/components/progress-bar/index.d.ts +2 -0
  15. package/dist/components/progress-bar/index.d.ts.map +1 -0
  16. package/dist/components/progress-bar/index.js +2 -0
  17. package/dist/components/progress-bar/index.js.map +1 -0
  18. package/dist/components/progress-bar/progress-bar.d.ts +27 -0
  19. package/dist/components/progress-bar/progress-bar.d.ts.map +1 -0
  20. package/dist/components/progress-bar/progress-bar.js +124 -0
  21. package/dist/components/progress-bar/progress-bar.js.map +1 -0
  22. package/dist/components/th-card/index.d.ts +3 -0
  23. package/dist/components/th-card/index.d.ts.map +1 -0
  24. package/dist/components/th-card/index.js +2 -0
  25. package/dist/components/th-card/index.js.map +1 -0
  26. package/dist/components/th-card/th-card.d.ts +40 -0
  27. package/dist/components/th-card/th-card.d.ts.map +1 -0
  28. package/dist/components/th-card/th-card.js +376 -0
  29. package/dist/components/th-card/th-card.js.map +1 -0
  30. package/dist/components/th-tag/index.d.ts +3 -0
  31. package/dist/components/th-tag/index.d.ts.map +1 -0
  32. package/dist/components/th-tag/index.js +2 -0
  33. package/dist/components/th-tag/index.js.map +1 -0
  34. package/dist/components/th-tag/th-tag.d.ts +67 -0
  35. package/dist/components/th-tag/th-tag.d.ts.map +1 -0
  36. package/dist/components/th-tag/th-tag.js +287 -0
  37. package/dist/components/th-tag/th-tag.js.map +1 -0
  38. package/dist/components/toggle-switch/toggle-switch.d.ts.map +1 -1
  39. package/dist/components/toggle-switch/toggle-switch.js +5 -3
  40. package/dist/components/toggle-switch/toggle-switch.js.map +1 -1
  41. package/dist/index.d.ts +4 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +5 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/styles/colors.css +116 -86
  46. package/dist/utils/formatters.d.ts +9 -0
  47. package/dist/utils/formatters.d.ts.map +1 -0
  48. package/dist/utils/formatters.js +66 -0
  49. package/dist/utils/formatters.js.map +1 -0
  50. package/dist/utils/index.d.ts +2 -0
  51. package/dist/utils/index.d.ts.map +1 -0
  52. package/dist/utils/index.js +2 -0
  53. package/dist/utils/index.js.map +1 -0
  54. package/package.json +3 -2
package/README.md CHANGED
@@ -31,22 +31,22 @@ Trailhand UI includes a design system with CSS custom properties. Import `colors
31
31
 
32
32
  ```css
33
33
  /* Available variables */
34
- --color-primary: #3d98d3;
35
- --color-white: #FFFFFF;
36
- --color-black: #000000;
34
+ --th-color-primary: #3d98d3;
35
+ --th-color-white: #FFFFFF;
36
+ --th-color-black: #000000;
37
37
 
38
38
  /* Greyscale */
39
- --color-grey-100 through --color-grey-800
39
+ --th-color-grey-100 through --th-color-grey-800
40
40
 
41
41
  /* Semantic aliases */
42
- --color-text-primary: #212121;
43
- --color-text-secondary: #636363;
44
- --color-text-muted: #8D8D8D;
45
- --color-background: #FFFFFF;
46
- --color-border: #D7D7D7;
47
- --color-error: #9F3A3A;
48
- --color-success: #30AC66;
49
- --color-warning: #D3C255;
42
+ --th-color-text-primary: #212121;
43
+ --th-color-text-secondary: #636363;
44
+ --th-color-text-muted: #8D8D8D;
45
+ --th-color-background: #FFFFFF;
46
+ --th-color-border: #D7D7D7;
47
+ --th-color-error: #9F3A3A;
48
+ --th-color-success: #30AC66;
49
+ --th-color-warning: #D3C255;
50
50
  ```
51
51
 
52
52
  ### Theming
@@ -55,7 +55,7 @@ Override any variable to customize the look:
55
55
 
56
56
  ```css
57
57
  :root {
58
- --color-primary: #your-brand-color;
58
+ --th-color-primary: #your-brand-color;
59
59
  }
60
60
  ```
61
61
 
@@ -1 +1 @@
1
- {"version":3,"file":"action-menu.d.ts","sourceRoot":"","sources":["../../../src/components/action-menu/action-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D;;GAEG;AACH,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,UAAU;IAExC,OAAO,EAAE,cAAc,EAAE,CAAM;IAG/B,QAAQ,EAAE,YAAY,CAAM;IAG5B,QAAQ,UAAS;IAGjB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,wBAAwB,CAAqB;IAErD,OAAgB,MAAM,0BAkHpB;;IAOO,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAKrC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAUnB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAenB;;;OAGG;IACM,MAAM,IAAI,cAAc;CAqFlC"}
1
+ {"version":3,"file":"action-menu.d.ts","sourceRoot":"","sources":["../../../src/components/action-menu/action-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D;;GAEG;AACH,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,UAAU;IAExC,OAAO,EAAE,cAAc,EAAE,CAAM;IAG/B,QAAQ,EAAE,YAAY,CAAM;IAG5B,QAAQ,UAAS;IAGjB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,wBAAwB,CAAqB;IAErD,OAAgB,MAAM,0BAmHpB;;IAOO,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAKrC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAUnB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAenB;;;OAGG;IACM,MAAM,IAAI,cAAc;CAsFlC"}
@@ -159,6 +159,7 @@ export class ActionMenu extends LitElement {
159
159
  @click=${this._toggleMenu}
160
160
  aria-haspopup="true"
161
161
  aria-expanded=${this._isOpen}
162
+ aria-label="Actions"
162
163
  >
163
164
  ${this._renderIcon()}
164
165
  </button>
@@ -205,6 +206,7 @@ ActionMenu.styles = css `
205
206
  :host {
206
207
  display: inline-block;
207
208
  position: relative;
209
+ font-family: var(--font-family, 'Poppins', sans-serif);
208
210
  }
209
211
 
210
212
  .action-menu__button {
@@ -214,17 +216,17 @@ ActionMenu.styles = css `
214
216
  width: 32px;
215
217
  height: 32px;
216
218
  padding: 0;
217
- border: 1px solid var(--border, var(--color-border, #D7D7D7));
219
+ border: 1px solid var(--border, var(--th-color-border, #D7D7D7));
218
220
  border-radius: 4px;
219
- background-color: var(--body-bg, var(--color-white, #FFFFFF));
220
- color: var(--body-text, var(--color-text-primary, #212121));
221
+ background-color: var(--body-bg, var(--th-color-white, #FFFFFF));
222
+ color: var(--body-text, var(--th-color-text-primary, #212121));
221
223
  cursor: pointer;
222
224
  transition: all 0.2s;
223
225
  }
224
226
 
225
227
  .action-menu__button:hover:not(:disabled) {
226
- background-color: var(--sortable-table-row-hover-bg, var(--color-grey-100, #FAFAFA));
227
- border-color: var(--link, var(--color-primary, #3d98d3));
228
+ background-color: var(--sortable-table-row-hover-bg, var(--th-color-grey-100, #FAFAFA));
229
+ border-color: var(--link, var(--th-color-primary, #3d98d3));
228
230
  }
229
231
 
230
232
  .action-menu__button:disabled {
@@ -243,8 +245,8 @@ ActionMenu.styles = css `
243
245
  top: 100%;
244
246
  margin-top: 4px;
245
247
  min-width: 180px;
246
- background-color: var(--body-bg, var(--color-white, #FFFFFF));
247
- border: 1px solid var(--border, var(--color-border, #D7D7D7));
248
+ background-color: var(--body-bg, var(--th-color-white, #FFFFFF));
249
+ border: 1px solid var(--border, var(--th-color-border, #D7D7D7));
248
250
  border-radius: 4px;
249
251
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
250
252
  z-index: 1000;
@@ -279,7 +281,7 @@ ActionMenu.styles = css `
279
281
  padding: 0.5rem 1rem;
280
282
  border: none;
281
283
  background: none;
282
- color: var(--body-text, var(--color-text-primary, #212121));
284
+ color: var(--body-text, var(--th-color-text-primary, #212121));
283
285
  font-size: 14px;
284
286
  text-align: left;
285
287
  cursor: pointer;
@@ -287,7 +289,7 @@ ActionMenu.styles = css `
287
289
  }
288
290
 
289
291
  .action-menu__action:hover:not(:disabled) {
290
- background-color: var(--sortable-table-row-hover-bg, var(--color-grey-100, #FAFAFA));
292
+ background-color: var(--sortable-table-row-hover-bg, var(--th-color-grey-100, #FAFAFA));
291
293
  }
292
294
 
293
295
  .action-menu__action:disabled {
@@ -296,7 +298,7 @@ ActionMenu.styles = css `
296
298
  }
297
299
 
298
300
  .action-menu__action--danger {
299
- color: var(--error, var(--color-error, #9F3A3A));
301
+ color: var(--error, var(--th-color-error, #9F3A3A));
300
302
  }
301
303
 
302
304
  .action-menu__action--danger:hover:not(:disabled) {
@@ -306,13 +308,13 @@ ActionMenu.styles = css `
306
308
  .action-menu__divider {
307
309
  height: 1px;
308
310
  margin: 0.5rem 0;
309
- background-color: var(--border, var(--color-border, #D7D7D7));
311
+ background-color: var(--border, var(--th-color-border, #D7D7D7));
310
312
  }
311
313
 
312
314
  .action-menu__empty {
313
315
  padding: 1rem;
314
316
  text-align: center;
315
- color: var(--muted, var(--color-text-muted, #8D8D8D));
317
+ color: var(--muted, var(--th-color-text-muted, #8D8D8D));
316
318
  font-size: 13px;
317
319
  }
318
320
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"action-menu.js","sourceRoot":"","sources":["../../../src/components/action-menu/action-menu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-menu.js","sourceRoot":"","sources":["../../../src/components/action-menu/action-menu.ts"],"names":[],"mappings":"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"}
@@ -86,55 +86,55 @@ Button.styles = css `
86
86
 
87
87
  .trailhand-button:disabled {
88
88
  cursor: not-allowed;
89
- background-color: var(--button-disabled-bg, #e0e0e0);
90
- color: var(--button-disabled-color, #a8a8a8);
89
+ background-color: var(--th-button-disabled-bg, #e0e0e0);
90
+ color: var(--th-button-disabled-color, #a8a8a8);
91
91
  border: none;
92
92
  }
93
93
 
94
94
  .trailhand-button--primary {
95
- color: var(--button-primary-color, #fff);
96
- background-color: var(--button-primary-bg, #005cb9);
95
+ color: var(--th-button-primary-color, #fff);
96
+ background-color: var(--th-button-primary-bg, #005cb9);
97
97
  }
98
98
 
99
99
  .trailhand-button--primary:not(:disabled):hover {
100
- background-color: var(--button-primary-bg-hover, #00478e);
100
+ background-color: var(--th-button-primary-bg-hover, #00478e);
101
101
  }
102
102
 
103
103
  .trailhand-button--secondary {
104
- color: var(--button-secondary-color, #005cb9);
105
- background-color: var(--button-secondary-bg, #ffffff);
106
- border: 1px solid var(--button-secondary-border, #005cb9);
104
+ color: var(--th-button-secondary-color, #005cb9);
105
+ background-color: var(--th-button-secondary-bg, #ffffff);
106
+ border: 1px solid var(--th-button-secondary-border, #005cb9);
107
107
  }
108
108
 
109
109
  .trailhand-button--secondary:not(:disabled):hover {
110
- background-color: var(--button-secondary-bg-hover, #f5faff);
110
+ background-color: var(--th-button-secondary-bg-hover, #f5faff);
111
111
  }
112
112
 
113
113
  .trailhand-button--alternate {
114
- color: var(--button-alternate-color, #ffffff);
115
- background-color: var(--button-alternate-bg, #3492f1);
114
+ color: var(--th-button-alternate-color, #ffffff);
115
+ background-color: var(--th-button-alternate-bg, #3492f1);
116
116
  }
117
117
 
118
118
  .trailhand-button--alternate:not(:disabled):hover {
119
- background-color: var(--button-alternate-bg-hover, #156ec8);
119
+ background-color: var(--th-button-alternate-bg-hover, #156ec8);
120
120
  }
121
121
 
122
122
  .trailhand-button--destructive {
123
- color: var(--button-destructive-color, #fff);
124
- background-color: var(--button-destructive-bg, #9f3a3a);
123
+ color: var(--th-button-destructive-color, #fff);
124
+ background-color: var(--th-button-destructive-bg, #9f3a3a);
125
125
  }
126
126
 
127
127
  .trailhand-button--destructive:not(:disabled):hover {
128
- background-color: var(--button-destructive-bg-hover, #731616);
128
+ background-color: var(--th-button-destructive-bg-hover, #731616);
129
129
  }
130
130
 
131
131
  .trailhand-button--confirmation {
132
- color: var(--button-confirmation-color, #fff);
133
- background-color: var(--button-confirmation-bg, #30ac66);
132
+ color: var(--th-button-confirmation-color, #fff);
133
+ background-color: var(--th-button-confirmation-bg, #30ac66);
134
134
  }
135
135
 
136
136
  .trailhand-button--confirmation:not(:disabled):hover {
137
- background-color: var(--button-confirmation-bg-hover, #0f8240);
137
+ background-color: var(--th-button-confirmation-bg-hover, #0f8240);
138
138
  }
139
139
 
140
140
  .trailhand-button--small {
@@ -1,10 +1,5 @@
1
1
  import { LitElement, TemplateResult } from 'lit';
2
- import '../action-menu/action-menu';
3
2
  import 'iconify-icon';
4
- /**
5
- * Type definition for formatter functions
6
- */
7
- type FormatterFunction = (value: any) => string;
8
3
  /**
9
4
  * Type definition for sort functions
10
5
  */
@@ -33,10 +28,6 @@ export interface DataTableColumn {
33
28
  link?: string | LinkFunction;
34
29
  linkTarget?: '_self' | '_blank' | '_parent' | '_top';
35
30
  }
36
- /**
37
- * Data table formatters for common column types
38
- */
39
- export declare const dataTableFormatters: Record<string, FormatterFunction>;
40
31
  /**
41
32
  * A feature-rich data table component with sorting, filtering, and pagination.
42
33
  * Supports custom cell rendering, row actions, and various formatters.
@@ -50,8 +41,7 @@ export declare class DataTable extends LitElement {
50
41
  paginated: boolean;
51
42
  loading: boolean;
52
43
  keyField: string;
53
- rowActions: boolean;
54
- rowActionsWidth: number;
44
+ renderActions?: (row: RowData) => unknown;
55
45
  emptyMessage: string;
56
46
  noResultsMessage: string;
57
47
  private _searchQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/data-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/data-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D,OAAO,cAAc,CAAC;AAatB;;GAEG;AACH,KAAK,YAAY,GAAG,CAClB,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,SAAS,EAAE,KAAK,GAAG,MAAM,KACtB,MAAM,CAAC;AAEZ;;GAEG;AACH,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;AAE7C;;GAEG;AACH,UAAU,OAAO;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACzD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;CACtD;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,UAAU;IAEvC,OAAO,EAAE,eAAe,EAAE,CAAM;IAGhC,IAAI,EAAE,OAAO,EAAE,CAAM;IAGrB,WAAW,SAAM;IAGjB,UAAU,UAAQ;IAGlB,QAAQ,UAAQ;IAGhB,SAAS,UAAQ;IAGjB,OAAO,UAAS;IAGhB,QAAQ,SAAQ;IAGhB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;IAG1C,YAAY,SAAuB;IAGnC,gBAAgB,SAAsB;IAItC,OAAO,CAAC,YAAY,CAAM;IAG1B,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,WAAW,CAAuB;IAG1C,OAAO,CAAC,cAAc,CAAyB;IAE/C,OAAgB,MAAM,0BA8NpB;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAmBpB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAgBnB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;OAIG;IACH,OAAO,KAAK,aAAa,GAexB;IAED;;;;OAIG;IACH,OAAO,KAAK,WAAW,GA6BtB;IAED;;;;OAIG;IACH,OAAO,KAAK,cAAc,GAQzB;IAED;;;;OAIG;IACH,OAAO,KAAK,WAAW,GAKtB;IAED;;;;OAIG;IACH,OAAO,KAAK,eAAe,GAW1B;IAED;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAiBnB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM5B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,SAAS,IAAI,IAAI;IAKjB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;;OAGG;IACM,MAAM,IAAI,cAAc;CA4JlC"}
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { LitElement, html, css } from 'lit';
8
8
  import { property, state } from 'lit/decorators.js';
9
- import '../action-menu/action-menu';
9
+ import { dataTableFormatters } from '../../utils/formatters';
10
10
  import 'iconify-icon';
11
11
  import { addIcon } from 'iconify-icon';
12
12
  import chevronUp from '@iconify/icons-heroicons/chevron-up-20-solid';
@@ -18,71 +18,6 @@ addIcon('heroicons:chevron-up-20-solid', chevronUp);
18
18
  addIcon('heroicons:chevron-down-20-solid', chevronDown);
19
19
  addIcon('heroicons:chevron-left-20-solid', chevronLeft);
20
20
  addIcon('heroicons:chevron-right-20-solid', chevronRight);
21
- /**
22
- * Data table formatters for common column types
23
- */
24
- export const dataTableFormatters = {
25
- /**
26
- * Format a date value as relative time (e.g., "5d", "3h", "15m")
27
- */
28
- age: (value) => {
29
- if (!value)
30
- return '-';
31
- const date = new Date(value);
32
- const now = new Date();
33
- const diffMs = now.getTime() - date.getTime();
34
- const diffMins = Math.floor(diffMs / 60000);
35
- const diffHours = Math.floor(diffMs / 3600000);
36
- const diffDays = Math.floor(diffMs / 86400000);
37
- if (diffDays > 0)
38
- return `${diffDays}d`;
39
- if (diffHours > 0)
40
- return `${diffHours}h`;
41
- if (diffMins > 0)
42
- return `${diffMins}m`;
43
- return 'Just now';
44
- },
45
- /**
46
- * Format a date as a localized date string
47
- */
48
- date: (value) => {
49
- if (!value)
50
- return '-';
51
- return new Date(value).toLocaleDateString();
52
- },
53
- /**
54
- * Format a date as a localized date and time string
55
- */
56
- dateTime: (value) => {
57
- if (!value)
58
- return '-';
59
- return new Date(value).toLocaleString();
60
- },
61
- /**
62
- * Format memory bytes to human readable format (B, KB, MB, GB, TB)
63
- */
64
- memory: (value) => {
65
- if (!value || value === 0)
66
- return '0 B';
67
- const units = ['B', 'KB', 'MB', 'GB', 'TB'];
68
- let val = Number(value);
69
- let unitIndex = 0;
70
- while (val >= 1024 && unitIndex < units.length - 1) {
71
- val = val / 1024;
72
- unitIndex++;
73
- }
74
- return `${Math.round(val)} ${units[unitIndex]}`;
75
- },
76
- /**
77
- * Format millicpus value
78
- */
79
- milliCPUs: (value) => {
80
- if (!value || value === 0)
81
- return '0';
82
- const formatted = Math.round(Number(value)).toString();
83
- return formatted === '0' ? '0' : formatted;
84
- },
85
- };
86
21
  /**
87
22
  * A feature-rich data table component with sorting, filtering, and pagination.
88
23
  * Supports custom cell rendering, row actions, and various formatters.
@@ -98,8 +33,6 @@ export class DataTable extends LitElement {
98
33
  this.paginated = true;
99
34
  this.loading = false;
100
35
  this.keyField = 'id';
101
- this.rowActions = true;
102
- this.rowActionsWidth = 40;
103
36
  this.emptyMessage = 'No data available';
104
37
  this.noResultsMessage = 'No results found';
105
38
  // Internal state
@@ -481,11 +414,11 @@ export class DataTable extends LitElement {
481
414
  </div>
482
415
  </th>
483
416
  `)}
484
- ${this.rowActions
417
+ ${this.renderActions
485
418
  ? html `
486
419
  <th
487
420
  class="data-table__th data-table__th--actions"
488
- style="width: ${this.rowActionsWidth}px"
421
+ style="width: var(--data-table-actions-width, 40px)"
489
422
  ></th>
490
423
  `
491
424
  : ''}
@@ -497,7 +430,7 @@ export class DataTable extends LitElement {
497
430
  <tr class="data-table__tr">
498
431
  <td
499
432
  class="data-table__td data-table__td--empty"
500
- colspan=${this.rowActions
433
+ colspan=${this.renderActions
501
434
  ? this.columns.length + 1
502
435
  : this.columns.length}
503
436
  >
@@ -523,16 +456,12 @@ export class DataTable extends LitElement {
523
456
  </slot>
524
457
  </td>
525
458
  `)}
526
- ${this.rowActions
459
+ ${this.renderActions
527
460
  ? html `
528
461
  <td
529
462
  class="data-table__td data-table__td--actions"
530
463
  >
531
- <slot name="actions" .row=${row}>
532
- <action-menu
533
- .resource=${row}
534
- ></action-menu>
535
- </slot>
464
+ ${this.renderActions(row)}
536
465
  </td>
537
466
  `
538
467
  : ''}
@@ -586,6 +515,7 @@ DataTable.styles = css `
586
515
  :host {
587
516
  display: block;
588
517
  width: 100%;
518
+ font-family: var(--font-family, 'Poppins', sans-serif);
589
519
  }
590
520
 
591
521
  .data-table {
@@ -605,20 +535,20 @@ DataTable.styles = css `
605
535
  width: 100%;
606
536
  max-width: 300px;
607
537
  padding: 0.5rem 1rem;
608
- border: 1px solid var(--border, var(--color-border, #D7D7D7));
538
+ border: 1px solid var(--border, var(--th-color-border, #D7D7D7));
609
539
  border-radius: 4px;
610
- background-color: var(--input-bg, var(--color-white, #FFFFFF));
611
- color: var(--input-text, var(--color-text-primary, #212121));
540
+ background-color: var(--input-bg, var(--th-color-white, #FFFFFF));
541
+ color: var(--input-text, var(--th-color-text-primary, #212121));
612
542
  font-size: 14px;
613
543
  }
614
544
 
615
545
  .data-table__search-input:focus {
616
546
  outline: none;
617
- border-color: var(--primary, var(--color-primary, #3d98d3));
547
+ border-color: var(--primary, var(--th-color-primary, #3d98d3));
618
548
  }
619
549
 
620
550
  .data-table__search-input::placeholder {
621
- color: var(--input-placeholder, var(--color-text-muted, #8D8D8D));
551
+ color: var(--input-placeholder, var(--th-color-text-muted, #8D8D8D));
622
552
  }
623
553
 
624
554
  .data-table__loading {
@@ -628,14 +558,14 @@ DataTable.styles = css `
628
558
  justify-content: center;
629
559
  padding: 3rem;
630
560
  gap: 1rem;
631
- color: var(--body-text, var(--color-text-primary, #212121));
561
+ color: var(--body-text, var(--th-color-text-primary, #212121));
632
562
  }
633
563
 
634
564
  .data-table__spinner {
635
565
  width: 40px;
636
566
  height: 40px;
637
- border: 4px solid var(--border, var(--color-border, #D7D7D7));
638
- border-top-color: var(--primary, var(--color-primary, #3d98d3));
567
+ border: 4px solid var(--border, var(--th-color-border, #D7D7D7));
568
+ border-top-color: var(--primary, var(--th-color-primary, #3d98d3));
639
569
  border-radius: 50%;
640
570
  animation: spin 1s linear infinite;
641
571
  }
@@ -647,28 +577,28 @@ DataTable.styles = css `
647
577
  }
648
578
 
649
579
  .data-table__wrapper {
650
- border: 1px solid var(--border, var(--color-border, #D7D7D7));
580
+ border: 1px solid var(--border, var(--th-color-border, #D7D7D7));
651
581
  border-radius: 4px;
652
582
  }
653
583
 
654
584
  .data-table__table {
655
585
  width: 100%;
656
586
  border-collapse: collapse;
657
- background-color: var(--body-bg, var(--color-white, #FFFFFF));
587
+ background-color: var(--body-bg, var(--th-color-white, #FFFFFF));
658
588
  }
659
589
 
660
590
  .data-table__thead {
661
- background-color: var(--sortable-table-header-bg, var(--color-grey-100, #FAFAFA));
662
- border-bottom: 1px solid var(--border, var(--color-border, #D7D7D7));
591
+ background-color: var(--sortable-table-header-bg, var(--th-color-grey-100, #FAFAFA));
592
+ border-bottom: 1px solid var(--border, var(--th-color-border, #D7D7D7));
663
593
  }
664
594
 
665
595
  .data-table__th {
666
596
  padding: 0.75rem 1rem;
667
597
  text-align: left;
668
598
  font-weight: 600;
669
- color: var(--body-text, var(--color-text-primary, #212121));
599
+ color: var(--body-text, var(--th-color-text-primary, #212121));
670
600
  white-space: nowrap;
671
- border-bottom: 1px solid var(--border, var(--color-border, #D7D7D7));
601
+ border-bottom: 1px solid var(--border, var(--th-color-border, #D7D7D7));
672
602
  }
673
603
 
674
604
  .data-table__th--sortable {
@@ -677,11 +607,11 @@ DataTable.styles = css `
677
607
  }
678
608
 
679
609
  .data-table__th--sortable:hover {
680
- background-color: var(--sortable-table-header-hover-bg, var(--color-grey-200, #EBEBEB));
610
+ background-color: var(--sortable-table-header-hover-bg, var(--th-color-grey-200, #EBEBEB));
681
611
  }
682
612
 
683
613
  .data-table__th--sorted {
684
- background-color: var(--sortable-table-header-sorted-bg, var(--color-grey-200, #EBEBEB));
614
+ background-color: var(--sortable-table-header-sorted-bg, var(--th-color-grey-200, #EBEBEB));
685
615
  }
686
616
 
687
617
  .data-table__th--actions {
@@ -698,22 +628,22 @@ DataTable.styles = css `
698
628
  .data-table__sort-icon {
699
629
  display: inline-flex;
700
630
  align-items: center;
701
- color: var(--muted, var(--color-text-muted, #8D8D8D));
631
+ color: var(--muted, var(--th-color-text-muted, #8D8D8D));
702
632
  width: 16px;
703
633
  height: 16px;
704
634
  font-size: 16px;
705
635
  }
706
636
 
707
637
  .data-table__tbody {
708
- background-color: var(--body-bg, var(--color-white, #FFFFFF));
638
+ background-color: var(--body-bg, var(--th-color-white, #FFFFFF));
709
639
  }
710
640
 
711
641
  .data-table__tr {
712
- border-bottom: 1px solid var(--border, var(--color-border, #D7D7D7));
642
+ border-bottom: 1px solid var(--border, var(--th-color-border, #D7D7D7));
713
643
  }
714
644
 
715
645
  .data-table__tr:hover {
716
- background-color: var(--sortable-table-row-hover-bg, var(--color-grey-100, #FAFAFA));
646
+ background-color: var(--sortable-table-row-hover-bg, var(--th-color-grey-100, #FAFAFA));
717
647
  }
718
648
 
719
649
  .data-table__tr:last-child {
@@ -722,11 +652,11 @@ DataTable.styles = css `
722
652
 
723
653
  .data-table__td {
724
654
  padding: 0.75rem 1rem;
725
- color: var(--body-text, var(--color-text-primary, #212121));
655
+ color: var(--body-text, var(--th-color-text-primary, #212121));
726
656
  }
727
657
 
728
658
  .data-table__td a {
729
- color: var(--link, var(--color-primary, #3d98d3));
659
+ color: var(--link, var(--th-color-primary, #3d98d3));
730
660
  text-decoration: none;
731
661
  }
732
662
 
@@ -737,7 +667,7 @@ DataTable.styles = css `
737
667
  .data-table__td--empty {
738
668
  text-align: center;
739
669
  padding: 2rem;
740
- color: var(--muted, var(--color-text-muted, #8D8D8D));
670
+ color: var(--muted, var(--th-color-text-muted, #8D8D8D));
741
671
  }
742
672
 
743
673
  .data-table__td--actions {
@@ -757,7 +687,7 @@ DataTable.styles = css `
757
687
  }
758
688
 
759
689
  .data-table__pagination-info {
760
- color: var(--muted, var(--color-text-muted, #8D8D8D));
690
+ color: var(--muted, var(--th-color-text-muted, #8D8D8D));
761
691
  font-size: 13px;
762
692
  }
763
693
 
@@ -768,7 +698,7 @@ DataTable.styles = css `
768
698
  }
769
699
 
770
700
  .data-table__pagination-current {
771
- color: var(--body-text, var(--color-text-primary, #212121));
701
+ color: var(--body-text, var(--th-color-text-primary, #212121));
772
702
  font-size: 13px;
773
703
  min-width: 60px;
774
704
  text-align: center;
@@ -781,17 +711,17 @@ DataTable.styles = css `
781
711
  width: 32px;
782
712
  height: 32px;
783
713
  padding: 0;
784
- border: 1px solid var(--border, var(--color-border, #D7D7D7));
714
+ border: 1px solid var(--border, var(--th-color-border, #D7D7D7));
785
715
  border-radius: 4px;
786
- background-color: var(--body-bg, var(--color-white, #FFFFFF));
787
- color: var(--body-text, var(--color-text-primary, #212121));
716
+ background-color: var(--body-bg, var(--th-color-white, #FFFFFF));
717
+ color: var(--body-text, var(--th-color-text-primary, #212121));
788
718
  cursor: pointer;
789
719
  transition: all 0.2s;
790
720
  }
791
721
 
792
722
  .data-table__pagination-btn:hover:not(:disabled) {
793
- background-color: var(--sortable-table-row-hover-bg, var(--color-grey-100, #FAFAFA));
794
- border-color: var(--link, var(--color-primary, #3d98d3));
723
+ background-color: var(--sortable-table-row-hover-bg, var(--th-color-grey-100, #FAFAFA));
724
+ border-color: var(--link, var(--th-color-primary, #3d98d3));
795
725
  }
796
726
 
797
727
  .data-table__pagination-btn:disabled {
@@ -829,11 +759,8 @@ __decorate([
829
759
  property({ type: String, attribute: 'key-field' })
830
760
  ], DataTable.prototype, "keyField", void 0);
831
761
  __decorate([
832
- property({ type: Boolean, attribute: 'row-actions' })
833
- ], DataTable.prototype, "rowActions", void 0);
834
- __decorate([
835
- property({ type: Number, attribute: 'row-actions-width' })
836
- ], DataTable.prototype, "rowActionsWidth", void 0);
762
+ property({ attribute: false })
763
+ ], DataTable.prototype, "renderActions", void 0);
837
764
  __decorate([
838
765
  property({ type: String, attribute: 'empty-message' })
839
766
  ], DataTable.prototype, "emptyMessage", void 0);