@justeattakeaway/pie-data-table 0.0.0-snapshot-release-20260119130527 → 0.0.0-snapshot-release-20260121170533

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 (105) hide show
  1. package/custom-elements.json +533 -2
  2. package/dist/{PieElement-DF1Wh7-N.js → PieElement-XdhDoayO.js} +1 -1
  3. package/dist/defs.d.ts +19 -3
  4. package/dist/defs.d.ts.map +1 -1
  5. package/dist/index.d.ts +20 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +101 -49
  8. package/dist/pie-data-table-body/defs-react.d.ts +3 -0
  9. package/dist/pie-data-table-body/defs-react.d.ts.map +1 -0
  10. package/dist/pie-data-table-body/defs.d.ts +2 -0
  11. package/dist/pie-data-table-body/defs.d.ts.map +1 -0
  12. package/dist/pie-data-table-body/index.d.ts +18 -0
  13. package/dist/pie-data-table-body/index.d.ts.map +1 -0
  14. package/dist/pie-data-table-body/index.js +21 -0
  15. package/dist/pie-data-table-body/react.d.ts +7 -0
  16. package/dist/pie-data-table-body/react.d.ts.map +1 -0
  17. package/dist/pie-data-table-body/react.js +13 -0
  18. package/dist/pie-data-table-cell/defs-react.d.ts +3 -0
  19. package/dist/pie-data-table-cell/defs-react.d.ts.map +1 -0
  20. package/dist/pie-data-table-cell/defs.d.ts +14 -0
  21. package/dist/pie-data-table-cell/defs.d.ts.map +1 -0
  22. package/dist/pie-data-table-cell/index.d.ts +28 -0
  23. package/dist/pie-data-table-cell/index.d.ts.map +1 -0
  24. package/dist/pie-data-table-cell/index.js +39 -0
  25. package/dist/pie-data-table-cell/react.d.ts +7 -0
  26. package/dist/pie-data-table-cell/react.d.ts.map +1 -0
  27. package/dist/pie-data-table-cell/react.js +16 -0
  28. package/dist/pie-data-table-contents/defs-react.d.ts +3 -0
  29. package/dist/pie-data-table-contents/defs-react.d.ts.map +1 -0
  30. package/dist/pie-data-table-contents/defs.d.ts +2 -0
  31. package/dist/pie-data-table-contents/defs.d.ts.map +1 -0
  32. package/dist/pie-data-table-contents/index.d.ts +19 -0
  33. package/dist/pie-data-table-contents/index.d.ts.map +1 -0
  34. package/dist/pie-data-table-contents/index.js +24 -0
  35. package/dist/pie-data-table-contents/react.d.ts +7 -0
  36. package/dist/pie-data-table-contents/react.d.ts.map +1 -0
  37. package/dist/pie-data-table-contents/react.js +13 -0
  38. package/dist/pie-data-table-head/defs-react.d.ts +3 -0
  39. package/dist/pie-data-table-head/defs-react.d.ts.map +1 -0
  40. package/dist/pie-data-table-head/defs.d.ts +2 -0
  41. package/dist/pie-data-table-head/defs.d.ts.map +1 -0
  42. package/dist/pie-data-table-head/index.d.ts +19 -0
  43. package/dist/pie-data-table-head/index.d.ts.map +1 -0
  44. package/dist/pie-data-table-head/index.js +24 -0
  45. package/dist/pie-data-table-head/react.d.ts +7 -0
  46. package/dist/pie-data-table-head/react.d.ts.map +1 -0
  47. package/dist/pie-data-table-head/react.js +13 -0
  48. package/dist/pie-data-table-head-cell/defs-react.d.ts +3 -0
  49. package/dist/pie-data-table-head-cell/defs-react.d.ts.map +1 -0
  50. package/dist/pie-data-table-head-cell/defs.d.ts +14 -0
  51. package/dist/pie-data-table-head-cell/defs.d.ts.map +1 -0
  52. package/dist/pie-data-table-head-cell/index.d.ts +28 -0
  53. package/dist/pie-data-table-head-cell/index.d.ts.map +1 -0
  54. package/dist/pie-data-table-head-cell/index.js +39 -0
  55. package/dist/pie-data-table-head-cell/react.d.ts +7 -0
  56. package/dist/pie-data-table-head-cell/react.d.ts.map +1 -0
  57. package/dist/pie-data-table-head-cell/react.js +16 -0
  58. package/dist/pie-data-table-header/index.d.ts +1 -0
  59. package/dist/pie-data-table-header/index.d.ts.map +1 -1
  60. package/dist/pie-data-table-header/index.js +1 -1
  61. package/dist/pie-data-table-row/defs-react.d.ts +3 -0
  62. package/dist/pie-data-table-row/defs-react.d.ts.map +1 -0
  63. package/dist/pie-data-table-row/defs.d.ts +13 -0
  64. package/dist/pie-data-table-row/defs.d.ts.map +1 -0
  65. package/dist/pie-data-table-row/index.d.ts +27 -0
  66. package/dist/pie-data-table-row/index.d.ts.map +1 -0
  67. package/dist/pie-data-table-row/index.js +33 -0
  68. package/dist/pie-data-table-row/react.d.ts +7 -0
  69. package/dist/pie-data-table-row/react.d.ts.map +1 -0
  70. package/dist/pie-data-table-row/react.js +15 -0
  71. package/package.json +3 -3
  72. package/src/data-table.scss +12 -18
  73. package/src/defs.ts +24 -6
  74. package/src/index.ts +78 -12
  75. package/src/pie-data-table-body/data-table-body.scss +7 -0
  76. package/src/pie-data-table-body/defs-react.ts +3 -0
  77. package/src/pie-data-table-body/defs.ts +1 -0
  78. package/src/pie-data-table-body/index.ts +30 -0
  79. package/src/pie-data-table-body/react.ts +19 -0
  80. package/src/pie-data-table-cell/data-table-cell.scss +21 -0
  81. package/src/pie-data-table-cell/defs-react.ts +3 -0
  82. package/src/pie-data-table-cell/defs.ts +19 -0
  83. package/src/pie-data-table-cell/index.ts +62 -0
  84. package/src/pie-data-table-cell/react.ts +19 -0
  85. package/src/pie-data-table-contents/data-table-contents.scss +4 -0
  86. package/src/pie-data-table-contents/defs-react.ts +3 -0
  87. package/src/pie-data-table-contents/defs.ts +1 -0
  88. package/src/pie-data-table-contents/index.ts +36 -0
  89. package/src/pie-data-table-contents/react.ts +19 -0
  90. package/src/pie-data-table-head/data-table-head.scss +8 -0
  91. package/src/pie-data-table-head/defs-react.ts +3 -0
  92. package/src/pie-data-table-head/defs.ts +1 -0
  93. package/src/pie-data-table-head/index.ts +37 -0
  94. package/src/pie-data-table-head/react.ts +19 -0
  95. package/src/pie-data-table-head-cell/data-table-head-cell.scss +21 -0
  96. package/src/pie-data-table-head-cell/defs-react.ts +3 -0
  97. package/src/pie-data-table-head-cell/defs.ts +19 -0
  98. package/src/pie-data-table-head-cell/index.ts +60 -0
  99. package/src/pie-data-table-head-cell/react.ts +19 -0
  100. package/src/pie-data-table-header/index.ts +1 -0
  101. package/src/pie-data-table-row/data-table-row.scss +16 -0
  102. package/src/pie-data-table-row/defs-react.ts +3 -0
  103. package/src/pie-data-table-row/defs.ts +17 -0
  104. package/src/pie-data-table-row/index.ts +51 -0
  105. package/src/pie-data-table-row/react.ts +19 -0
@@ -16,9 +16,9 @@
16
16
  "kind": "variable",
17
17
  "name": "defaultProps",
18
18
  "type": {
19
- "text": "ComponentDefaultProps<DataTableProps, keyof Omit<DataTableProps, 'columns' | 'data'>>"
19
+ "text": "ComponentDefaultProps<DataTableProps, keyof Omit<DataTableProps, 'columns' | 'data' >>"
20
20
  },
21
- "default": "{\n hasBorder: true,\n isStriped: false,\n}"
21
+ "default": "{\n additionalRows: [],\n}"
22
22
  }
23
23
  ],
24
24
  "exports": [
@@ -40,6 +40,16 @@
40
40
  "kind": "class",
41
41
  "description": "",
42
42
  "name": "PieDataTable",
43
+ "slots": [
44
+ {
45
+ "description": "Slot for custom table header content",
46
+ "name": "table-header"
47
+ },
48
+ {
49
+ "description": "Default slot for when there is no data to display in the table",
50
+ "name": ""
51
+ }
52
+ ],
43
53
  "members": [
44
54
  {
45
55
  "kind": "field",
@@ -61,6 +71,43 @@
61
71
  "default": "[]",
62
72
  "description": "Array of data objects to display"
63
73
  },
74
+ {
75
+ "kind": "field",
76
+ "name": "additionalRows",
77
+ "type": {
78
+ "text": "DataTableAdditionalRow[] | undefined"
79
+ },
80
+ "privacy": "public",
81
+ "description": "Arbitrary additional rows to display at the bottom of the table"
82
+ },
83
+ {
84
+ "kind": "method",
85
+ "name": "mapTextAlignClasses",
86
+ "privacy": "private",
87
+ "parameters": [
88
+ {
89
+ "name": "prefix",
90
+ "type": {
91
+ "text": "string"
92
+ },
93
+ "description": "The prefix for the CSS class"
94
+ },
95
+ {
96
+ "name": "textAlign",
97
+ "optional": true,
98
+ "type": {
99
+ "text": "string"
100
+ },
101
+ "description": "The text alignment value"
102
+ }
103
+ ],
104
+ "description": "Maps text alignment values to corresponding CSS classes",
105
+ "return": {
106
+ "type": {
107
+ "text": ""
108
+ }
109
+ }
110
+ },
64
111
  {
65
112
  "kind": "method",
66
113
  "name": "renderHeaderCell",
@@ -109,6 +156,17 @@
109
156
  "name": "renderTableRows",
110
157
  "privacy": "private",
111
158
  "description": "Renders the table rows"
159
+ },
160
+ {
161
+ "kind": "method",
162
+ "name": "renderAdditionalRows",
163
+ "privacy": "private",
164
+ "description": "Renders the additional rows for the table"
165
+ },
166
+ {
167
+ "kind": "method",
168
+ "name": "renderHTMLTable",
169
+ "privacy": "private"
112
170
  }
113
171
  ],
114
172
  "mixins": [
@@ -144,6 +202,382 @@
144
202
  }
145
203
  ]
146
204
  },
205
+ {
206
+ "kind": "javascript-module",
207
+ "path": "src/pie-data-table-body/defs-react.js",
208
+ "declarations": [],
209
+ "exports": []
210
+ },
211
+ {
212
+ "kind": "javascript-module",
213
+ "path": "src/pie-data-table-body/defs.js",
214
+ "declarations": [],
215
+ "exports": []
216
+ },
217
+ {
218
+ "kind": "javascript-module",
219
+ "path": "src/pie-data-table-body/index.js",
220
+ "declarations": [
221
+ {
222
+ "kind": "class",
223
+ "description": "",
224
+ "name": "PieDataTableBody",
225
+ "slots": [
226
+ {
227
+ "description": "Default slot",
228
+ "name": ""
229
+ }
230
+ ],
231
+ "members": [],
232
+ "superclass": {
233
+ "name": "PieElement",
234
+ "package": "@justeattakeaway/pie-webc-core/src/internals/PieElement"
235
+ },
236
+ "tagName": "pie-data-table-body",
237
+ "customElement": true
238
+ }
239
+ ],
240
+ "exports": [
241
+ {
242
+ "kind": "js",
243
+ "name": "*",
244
+ "declaration": {
245
+ "name": "*",
246
+ "package": "./defs"
247
+ }
248
+ },
249
+ {
250
+ "kind": "js",
251
+ "name": "PieDataTableBody",
252
+ "declaration": {
253
+ "name": "PieDataTableBody",
254
+ "module": "src/pie-data-table-body/index.js"
255
+ }
256
+ }
257
+ ]
258
+ },
259
+ {
260
+ "kind": "javascript-module",
261
+ "path": "src/pie-data-table-cell/defs-react.js",
262
+ "declarations": [],
263
+ "exports": []
264
+ },
265
+ {
266
+ "kind": "javascript-module",
267
+ "path": "src/pie-data-table-cell/defs.js",
268
+ "declarations": [
269
+ {
270
+ "kind": "variable",
271
+ "name": "dataTableCellTextAlign",
272
+ "type": {
273
+ "text": "['left', 'right', 'center']"
274
+ },
275
+ "default": "['left', 'right', 'center']"
276
+ },
277
+ {
278
+ "kind": "variable",
279
+ "name": "defaultProps",
280
+ "type": {
281
+ "text": "ComponentDefaultProps<DataTableCellProps, 'textAlign' | 'isHidden'>"
282
+ },
283
+ "default": "{\n textAlign: 'left',\n isHidden: false,\n}"
284
+ }
285
+ ],
286
+ "exports": [
287
+ {
288
+ "kind": "js",
289
+ "name": "dataTableCellTextAlign",
290
+ "declaration": {
291
+ "name": "dataTableCellTextAlign",
292
+ "module": "src/pie-data-table-cell/defs.js"
293
+ }
294
+ },
295
+ {
296
+ "kind": "js",
297
+ "name": "defaultProps",
298
+ "declaration": {
299
+ "name": "defaultProps",
300
+ "module": "src/pie-data-table-cell/defs.js"
301
+ }
302
+ }
303
+ ]
304
+ },
305
+ {
306
+ "kind": "javascript-module",
307
+ "path": "src/pie-data-table-cell/index.js",
308
+ "declarations": [
309
+ {
310
+ "kind": "class",
311
+ "description": "",
312
+ "name": "PieDataTableCell",
313
+ "slots": [
314
+ {
315
+ "description": "Default slot",
316
+ "name": ""
317
+ }
318
+ ],
319
+ "members": [
320
+ {
321
+ "kind": "field",
322
+ "name": "textAlign",
323
+ "type": {
324
+ "text": "DataTableCellProps['textAlign'] | undefined"
325
+ },
326
+ "privacy": "public",
327
+ "description": "Text alignment for the cell content"
328
+ },
329
+ {
330
+ "kind": "field",
331
+ "name": "isHidden",
332
+ "type": {
333
+ "text": "DataTableCellProps['isHidden'] | undefined"
334
+ },
335
+ "privacy": "public",
336
+ "description": "Whether the cell is hidden"
337
+ }
338
+ ],
339
+ "superclass": {
340
+ "name": "PieElement",
341
+ "package": "@justeattakeaway/pie-webc-core/src/internals/PieElement"
342
+ },
343
+ "tagName": "pie-data-table-cell",
344
+ "customElement": true
345
+ }
346
+ ],
347
+ "exports": [
348
+ {
349
+ "kind": "js",
350
+ "name": "*",
351
+ "declaration": {
352
+ "name": "*",
353
+ "package": "./defs"
354
+ }
355
+ },
356
+ {
357
+ "kind": "js",
358
+ "name": "PieDataTableCell",
359
+ "declaration": {
360
+ "name": "PieDataTableCell",
361
+ "module": "src/pie-data-table-cell/index.js"
362
+ }
363
+ }
364
+ ]
365
+ },
366
+ {
367
+ "kind": "javascript-module",
368
+ "path": "src/pie-data-table-contents/defs-react.js",
369
+ "declarations": [],
370
+ "exports": []
371
+ },
372
+ {
373
+ "kind": "javascript-module",
374
+ "path": "src/pie-data-table-contents/defs.js",
375
+ "declarations": [],
376
+ "exports": []
377
+ },
378
+ {
379
+ "kind": "javascript-module",
380
+ "path": "src/pie-data-table-contents/index.js",
381
+ "declarations": [
382
+ {
383
+ "kind": "class",
384
+ "description": "",
385
+ "name": "PieDataTableContents",
386
+ "slots": [
387
+ {
388
+ "description": "Default slot",
389
+ "name": ""
390
+ }
391
+ ],
392
+ "members": [],
393
+ "superclass": {
394
+ "name": "PieElement",
395
+ "package": "@justeattakeaway/pie-webc-core/src/internals/PieElement"
396
+ },
397
+ "tagName": "pie-data-table-contents",
398
+ "customElement": true
399
+ }
400
+ ],
401
+ "exports": [
402
+ {
403
+ "kind": "js",
404
+ "name": "*",
405
+ "declaration": {
406
+ "name": "*",
407
+ "package": "./defs"
408
+ }
409
+ },
410
+ {
411
+ "kind": "js",
412
+ "name": "PieDataTableContents",
413
+ "declaration": {
414
+ "name": "PieDataTableContents",
415
+ "module": "src/pie-data-table-contents/index.js"
416
+ }
417
+ }
418
+ ]
419
+ },
420
+ {
421
+ "kind": "javascript-module",
422
+ "path": "src/pie-data-table-head/defs-react.js",
423
+ "declarations": [],
424
+ "exports": []
425
+ },
426
+ {
427
+ "kind": "javascript-module",
428
+ "path": "src/pie-data-table-head/defs.js",
429
+ "declarations": [],
430
+ "exports": []
431
+ },
432
+ {
433
+ "kind": "javascript-module",
434
+ "path": "src/pie-data-table-head/index.js",
435
+ "declarations": [
436
+ {
437
+ "kind": "class",
438
+ "description": "",
439
+ "name": "PieDataTableHead",
440
+ "slots": [
441
+ {
442
+ "description": "Default slot",
443
+ "name": ""
444
+ }
445
+ ],
446
+ "members": [],
447
+ "superclass": {
448
+ "name": "PieElement",
449
+ "package": "@justeattakeaway/pie-webc-core/src/internals/PieElement"
450
+ },
451
+ "tagName": "pie-data-table-head",
452
+ "customElement": true
453
+ }
454
+ ],
455
+ "exports": [
456
+ {
457
+ "kind": "js",
458
+ "name": "*",
459
+ "declaration": {
460
+ "name": "*",
461
+ "package": "./defs"
462
+ }
463
+ },
464
+ {
465
+ "kind": "js",
466
+ "name": "PieDataTableHead",
467
+ "declaration": {
468
+ "name": "PieDataTableHead",
469
+ "module": "src/pie-data-table-head/index.js"
470
+ }
471
+ }
472
+ ]
473
+ },
474
+ {
475
+ "kind": "javascript-module",
476
+ "path": "src/pie-data-table-head-cell/defs-react.js",
477
+ "declarations": [],
478
+ "exports": []
479
+ },
480
+ {
481
+ "kind": "javascript-module",
482
+ "path": "src/pie-data-table-head-cell/defs.js",
483
+ "declarations": [
484
+ {
485
+ "kind": "variable",
486
+ "name": "dataTableHeadCellTextAlign",
487
+ "type": {
488
+ "text": "['left', 'right', 'center']"
489
+ },
490
+ "default": "['left', 'right', 'center']"
491
+ },
492
+ {
493
+ "kind": "variable",
494
+ "name": "defaultProps",
495
+ "type": {
496
+ "text": "ComponentDefaultProps<DataTableHeadCellProps, 'textAlign' | 'isHidden'>"
497
+ },
498
+ "default": "{\n textAlign: 'left',\n isHidden: false,\n}"
499
+ }
500
+ ],
501
+ "exports": [
502
+ {
503
+ "kind": "js",
504
+ "name": "dataTableHeadCellTextAlign",
505
+ "declaration": {
506
+ "name": "dataTableHeadCellTextAlign",
507
+ "module": "src/pie-data-table-head-cell/defs.js"
508
+ }
509
+ },
510
+ {
511
+ "kind": "js",
512
+ "name": "defaultProps",
513
+ "declaration": {
514
+ "name": "defaultProps",
515
+ "module": "src/pie-data-table-head-cell/defs.js"
516
+ }
517
+ }
518
+ ]
519
+ },
520
+ {
521
+ "kind": "javascript-module",
522
+ "path": "src/pie-data-table-head-cell/index.js",
523
+ "declarations": [
524
+ {
525
+ "kind": "class",
526
+ "description": "",
527
+ "name": "PieDataTableHeadCell",
528
+ "slots": [
529
+ {
530
+ "description": "Default slot",
531
+ "name": ""
532
+ }
533
+ ],
534
+ "members": [
535
+ {
536
+ "kind": "field",
537
+ "name": "textAlign",
538
+ "type": {
539
+ "text": "DataTableHeadCellProps['textAlign'] | undefined"
540
+ },
541
+ "privacy": "public",
542
+ "description": "Text alignment for the cell content"
543
+ },
544
+ {
545
+ "kind": "field",
546
+ "name": "isHidden",
547
+ "type": {
548
+ "text": "DataTableHeadCellProps['isHidden'] | undefined"
549
+ },
550
+ "privacy": "public",
551
+ "description": "Whether the cell is hidden"
552
+ }
553
+ ],
554
+ "superclass": {
555
+ "name": "PieElement",
556
+ "package": "@justeattakeaway/pie-webc-core/src/internals/PieElement"
557
+ },
558
+ "tagName": "pie-data-table-head-cell",
559
+ "customElement": true
560
+ }
561
+ ],
562
+ "exports": [
563
+ {
564
+ "kind": "js",
565
+ "name": "*",
566
+ "declaration": {
567
+ "name": "*",
568
+ "package": "./defs"
569
+ }
570
+ },
571
+ {
572
+ "kind": "js",
573
+ "name": "PieDataTableHeadCell",
574
+ "declaration": {
575
+ "name": "PieDataTableHeadCell",
576
+ "module": "src/pie-data-table-head-cell/index.js"
577
+ }
578
+ }
579
+ ]
580
+ },
147
581
  {
148
582
  "kind": "javascript-module",
149
583
  "path": "src/pie-data-table-header/defs-react.js",
@@ -198,6 +632,12 @@
198
632
  "kind": "class",
199
633
  "description": "",
200
634
  "name": "PieDataTableHeader",
635
+ "slots": [
636
+ {
637
+ "description": "Slot for action buttons in the header",
638
+ "name": "action-button"
639
+ }
640
+ ],
201
641
  "members": [
202
642
  {
203
643
  "kind": "field",
@@ -290,6 +730,97 @@
290
730
  }
291
731
  }
292
732
  ]
733
+ },
734
+ {
735
+ "kind": "javascript-module",
736
+ "path": "src/pie-data-table-row/defs-react.js",
737
+ "declarations": [],
738
+ "exports": []
739
+ },
740
+ {
741
+ "kind": "javascript-module",
742
+ "path": "src/pie-data-table-row/defs.js",
743
+ "declarations": [
744
+ {
745
+ "kind": "variable",
746
+ "name": "defaultProps",
747
+ "type": {
748
+ "text": "ComponentDefaultProps<DataTableRowProps, 'isSelected' | 'isHidden'>"
749
+ },
750
+ "default": "{\n isSelected: false,\n isHidden: false,\n}"
751
+ }
752
+ ],
753
+ "exports": [
754
+ {
755
+ "kind": "js",
756
+ "name": "defaultProps",
757
+ "declaration": {
758
+ "name": "defaultProps",
759
+ "module": "src/pie-data-table-row/defs.js"
760
+ }
761
+ }
762
+ ]
763
+ },
764
+ {
765
+ "kind": "javascript-module",
766
+ "path": "src/pie-data-table-row/index.js",
767
+ "declarations": [
768
+ {
769
+ "kind": "class",
770
+ "description": "",
771
+ "name": "PieDataTableRow",
772
+ "slots": [
773
+ {
774
+ "description": "Default slot",
775
+ "name": ""
776
+ }
777
+ ],
778
+ "members": [
779
+ {
780
+ "kind": "field",
781
+ "name": "isSelected",
782
+ "type": {
783
+ "text": "DataTableRowProps['isSelected'] | undefined"
784
+ },
785
+ "privacy": "public",
786
+ "description": "Whether the row is currently selected"
787
+ },
788
+ {
789
+ "kind": "field",
790
+ "name": "isHidden",
791
+ "type": {
792
+ "text": "DataTableRowProps['isHidden'] | undefined"
793
+ },
794
+ "privacy": "public",
795
+ "description": "Whether the row is hidden"
796
+ }
797
+ ],
798
+ "superclass": {
799
+ "name": "PieElement",
800
+ "package": "@justeattakeaway/pie-webc-core/src/internals/PieElement"
801
+ },
802
+ "tagName": "pie-data-table-row",
803
+ "customElement": true
804
+ }
805
+ ],
806
+ "exports": [
807
+ {
808
+ "kind": "js",
809
+ "name": "*",
810
+ "declaration": {
811
+ "name": "*",
812
+ "package": "./defs"
813
+ }
814
+ },
815
+ {
816
+ "kind": "js",
817
+ "name": "PieDataTableRow",
818
+ "declaration": {
819
+ "name": "PieDataTableRow",
820
+ "module": "src/pie-data-table-row/index.js"
821
+ }
822
+ }
823
+ ]
293
824
  }
294
825
  ]
295
826
  }
@@ -4,7 +4,7 @@ const t = class t extends i {
4
4
  this.getAttribute("v") || this.setAttribute("v", t.v);
5
5
  }
6
6
  };
7
- t.v = "0.2.1";
7
+ t.v = "0.2.3";
8
8
  let s = t;
9
9
  export {
10
10
  s as P
package/dist/defs.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ComponentDefaultProps } from '@justeattakeaway/pie-webc-core';
2
+ type TextAlign = 'left' | 'right' | 'center';
2
3
  export interface Column {
3
4
  /**
4
5
  * Unique identifier for the column
@@ -11,7 +12,7 @@ export interface Column {
11
12
  /**
12
13
  * Optional property to specify the text alignment of the column
13
14
  * */
14
- textAlign?: 'left' | 'right' | 'center';
15
+ textAlign?: TextAlign;
15
16
  /**
16
17
  * Optional property to specify the width of the column
17
18
  * */
@@ -21,15 +22,30 @@ export interface Column {
21
22
  * */
22
23
  accessor?: string;
23
24
  }
25
+ export type AdditionalCell = {
26
+ content: string | number;
27
+ textAlign?: TextAlign;
28
+ colSpan?: number;
29
+ hideCell?: boolean;
30
+ };
31
+ export type DataTableAdditionalRow = {
32
+ cells: AdditionalCell[];
33
+ hideRow?: boolean;
34
+ };
24
35
  export interface DataTableProps {
25
36
  /**
26
37
  * Array of column definitions
27
38
  */
28
- columns: Column[];
39
+ columns?: Column[];
29
40
  /**
30
41
  * Array of data objects to display
31
42
  */
32
- data: Record<string, unknown>[];
43
+ data?: Record<string, unknown>[];
44
+ /**
45
+ * Arbitrary additional rows to display at the bottom of the table
46
+ */
47
+ additionalRows?: DataTableAdditionalRow[];
33
48
  }
34
49
  export declare const defaultProps: ComponentDefaultProps<DataTableProps, keyof Omit<DataTableProps, 'columns' | 'data'>>;
50
+ export {};
35
51
  //# sourceMappingURL=defs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../src/defs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,MAAM,WAAW,MAAM;IACrB;;SAEK;IACL,EAAE,EAAE,MAAM,CAAC;IACX;;SAEK;IACL,OAAO,EAAE,MAAM,CAAC;IAChB;;SAEK;IACL,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAExC;;SAEK;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;SAEK;IACL,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACjC;AAED,eAAO,MAAM,YAAY,EAAE,qBAAqB,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC,CAG9G,CAAC"}
1
+ {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../src/defs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,KAAK,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,MAAM;IACrB;;SAEK;IACL,EAAE,EAAE,MAAM,CAAC;IACX;;SAEK;IACL,OAAO,EAAE,MAAM,CAAC;IAChB;;SAEK;IACL,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;SAEK;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;SAEK;IACL,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAEjC;;OAEG;IACH,cAAc,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC3C;AAED,eAAO,MAAM,YAAY,EAAE,qBAAqB,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,MAAM,CAAE,CAE/G,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import { PieElement } from '@justeattakeaway/pie-webc-core/src/internals/PieElement';
2
- import { DataTableProps, Column } from './defs';
2
+ import { DataTableProps, Column, DataTableAdditionalRow } from './defs';
3
3
  export * from './defs';
4
4
  declare const componentSelector = "pie-data-table";
5
5
  declare const PieDataTable_base: import('@justeattakeaway/pie-webc-core').GenericConstructor<import('@justeattakeaway/pie-webc-core').RTLInterface> & typeof PieElement;
6
6
  /**
7
7
  * @tagname pie-data-table
8
+ * @slot table-header - Slot for custom table header content
9
+ * @slot - Default slot for when there is no data to display in the table
8
10
  */
9
11
  export declare class PieDataTable extends PieDataTable_base implements DataTableProps {
10
12
  /**
@@ -15,6 +17,18 @@ export declare class PieDataTable extends PieDataTable_base implements DataTable
15
17
  * Array of data objects to display
16
18
  */
17
19
  data: Record<string, unknown>[];
20
+ /**
21
+ * Arbitrary additional rows to display at the bottom of the table
22
+ */
23
+ additionalRows?: DataTableAdditionalRow[];
24
+ /**
25
+ * Maps text alignment values to corresponding CSS classes
26
+ *
27
+ * @param prefix - The prefix for the CSS class
28
+ * @param textAlign - The text alignment value
29
+ * @returns An object with CSS classes as keys and boolean values indicating whether the class should be applied
30
+ */
31
+ private mapTextAlignClasses;
18
32
  /**
19
33
  * Renders a header cell for the table
20
34
  * @param column - The column definition to render
@@ -34,6 +48,11 @@ export declare class PieDataTable extends PieDataTable_base implements DataTable
34
48
  * Renders the table rows
35
49
  */
36
50
  private renderTableRows;
51
+ /**
52
+ * Renders the additional rows for the table
53
+ */
54
+ private renderAdditionalRows;
55
+ private renderHTMLTable;
37
56
  render(): import('lit-html').TemplateResult<1>;
38
57
  static styles: import('lit').CSSResult;
39
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAKrF,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,MAAM,EACd,MAAM,QAAQ,CAAC;AAGhB,cAAc,QAAQ,CAAC;AAEvB,QAAA,MAAM,iBAAiB,mBAAmB,CAAC;;AAE3C;;GAEG;AACH,qBACa,YAAa,SAAQ,iBAAqB,YAAW,cAAc;IAC5E;;OAEG;IAEI,OAAO,EAAE,MAAM,EAAE,CAAM;IAE9B;;OAEG;IAEI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAE5C;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB,MAAM;IAiBN,MAAM,CAAC,MAAM,0BAAqB;CACrC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC;KACrC;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAKrF,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,sBAAsB,EAE9B,MAAM,QAAQ,CAAC;AAGhB,cAAc,QAAQ,CAAC;AAEvB,QAAA,MAAM,iBAAiB,mBAAmB,CAAC;;AAE3C;;;;GAIG;AACH,qBACa,YAAa,SAAQ,iBAAqB,YAAW,cAAc;IAC5E;;OAEG;IAEI,OAAO,EAAE,MAAM,EAAE,CAAM;IAE9B;;OAEG;IAEI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAE5C;;OAEG;IAEI,cAAc,CAAC,EAAE,sBAAsB,EAAE,CAA+B;IAE/E;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,eAAe;IAUvB,MAAM;IAcN,MAAM,CAAC,MAAM,0BAAqB;CACrC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC;KACrC;CACJ"}