@justeattakeaway/pie-data-table 0.0.0-snapshot-release-20250818121553 → 0.0.0-snapshot-release-20251010234024

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 (104) hide show
  1. package/custom-elements.json +748 -259
  2. package/dist/{PieElement-Y2VnHR4y.js → PieElement-DgHPBi0_.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 +18 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +98 -46
  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 +17 -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 +27 -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 +18 -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 +18 -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 +27 -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.map +1 -1
  59. package/dist/pie-data-table-header/index.js +2 -1
  60. package/dist/pie-data-table-row/defs-react.d.ts +3 -0
  61. package/dist/pie-data-table-row/defs-react.d.ts.map +1 -0
  62. package/dist/pie-data-table-row/defs.d.ts +13 -0
  63. package/dist/pie-data-table-row/defs.d.ts.map +1 -0
  64. package/dist/pie-data-table-row/index.d.ts +30 -0
  65. package/dist/pie-data-table-row/index.d.ts.map +1 -0
  66. package/dist/pie-data-table-row/index.js +46 -0
  67. package/dist/pie-data-table-row/react.d.ts +7 -0
  68. package/dist/pie-data-table-row/react.d.ts.map +1 -0
  69. package/dist/pie-data-table-row/react.js +15 -0
  70. package/package.json +7 -4
  71. package/src/data-table.scss +11 -17
  72. package/src/defs.ts +24 -6
  73. package/src/index.ts +83 -12
  74. package/src/pie-data-table-body/data-table-body.scss +3 -0
  75. package/src/pie-data-table-body/defs-react.ts +3 -0
  76. package/src/pie-data-table-body/defs.ts +1 -0
  77. package/src/pie-data-table-body/index.ts +29 -0
  78. package/src/pie-data-table-body/react.ts +19 -0
  79. package/src/pie-data-table-cell/data-table-cell.scss +21 -0
  80. package/src/pie-data-table-cell/defs-react.ts +3 -0
  81. package/src/pie-data-table-cell/defs.ts +19 -0
  82. package/src/pie-data-table-cell/index.ts +61 -0
  83. package/src/pie-data-table-cell/react.ts +19 -0
  84. package/src/pie-data-table-contents/data-table-contents.scss +4 -0
  85. package/src/pie-data-table-contents/defs-react.ts +3 -0
  86. package/src/pie-data-table-contents/defs.ts +1 -0
  87. package/src/pie-data-table-contents/index.ts +35 -0
  88. package/src/pie-data-table-contents/react.ts +19 -0
  89. package/src/pie-data-table-head/data-table-head.scss +8 -0
  90. package/src/pie-data-table-head/defs-react.ts +3 -0
  91. package/src/pie-data-table-head/defs.ts +1 -0
  92. package/src/pie-data-table-head/index.ts +36 -0
  93. package/src/pie-data-table-head/react.ts +19 -0
  94. package/src/pie-data-table-head-cell/data-table-head-cell.scss +21 -0
  95. package/src/pie-data-table-head-cell/defs-react.ts +3 -0
  96. package/src/pie-data-table-head-cell/defs.ts +19 -0
  97. package/src/pie-data-table-head-cell/index.ts +59 -0
  98. package/src/pie-data-table-head-cell/react.ts +19 -0
  99. package/src/pie-data-table-header/index.ts +1 -0
  100. package/src/pie-data-table-row/data-table-row.scss +12 -0
  101. package/src/pie-data-table-row/defs-react.ts +3 -0
  102. package/src/pie-data-table-row/defs.ts +17 -0
  103. package/src/pie-data-table-row/index.ts +77 -0
  104. package/src/pie-data-table-row/react.ts +19 -0
@@ -0,0 +1,2 @@
1
+ export type DataTableHeadProps = Partial<HTMLTableSectionElement>;
2
+ //# sourceMappingURL=defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-head/defs.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { PieElement } from '@justeattakeaway/pie-webc-core/src/internals/PieElement';
2
+ import { DataTableHeadProps } from './defs';
3
+ export * from './defs';
4
+ declare const componentSelector = "pie-data-table-head";
5
+ /**
6
+ * @tagname pie-data-table-head
7
+ */
8
+ export declare class PieDataTableHead extends PieElement implements DataTableHeadProps {
9
+ connectedCallback(): void;
10
+ render(): import('lit-html').TemplateResult<1>;
11
+ static styles: import('lit').CSSResult;
12
+ }
13
+ declare global {
14
+ interface HTMLElementTagNameMap {
15
+ [componentSelector]: PieDataTableHead;
16
+ }
17
+ }
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-head/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAIrF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,cAAc,QAAQ,CAAC;AAEvB,QAAA,MAAM,iBAAiB,wBAAwB,CAAC;AAEhD;;GAEG;AACH,qBACa,gBAAiB,SAAQ,UAAW,YAAW,kBAAkB;IAC1E,iBAAiB;IAOjB,MAAM;IAIN,MAAM,CAAC,MAAM,0BAAqB;CACrC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;KACzC;CACJ"}
@@ -0,0 +1,24 @@
1
+ import { unsafeCSS as d, html as b } from "lit";
2
+ import { P as c } from "../PieElement-DgHPBi0_.js";
3
+ import { safeCustomElement as i } from "@justeattakeaway/pie-webc-core";
4
+ const p = ":host{background-color:transparent;font-weight:var(--dt-font-weight-bold);color:var(--data-table-header-color);border-bottom:1px solid var(--data-table-border-color);display:table-header-group}";
5
+ var h = Object.getOwnPropertyDescriptor, m = (o, a, n, l) => {
6
+ for (var e = l > 1 ? void 0 : l ? h(a, n) : a, t = o.length - 1, s; t >= 0; t--)
7
+ (s = o[t]) && (e = s(e) || e);
8
+ return e;
9
+ };
10
+ let r = class extends c {
11
+ connectedCallback() {
12
+ this.hasAttribute("role") || this.setAttribute("role", "rowgroup"), super.connectedCallback();
13
+ }
14
+ render() {
15
+ return b`<slot></slot>`;
16
+ }
17
+ };
18
+ r.styles = d(p);
19
+ r = m([
20
+ i("pie-data-table-head")
21
+ ], r);
22
+ export {
23
+ r as PieDataTableHead
24
+ };
@@ -0,0 +1,7 @@
1
+ import { PieDataTableHead as PieDataTableHeadLit } from './index';
2
+ import { DataTableHeadProps } from './defs';
3
+ import * as React from 'react';
4
+ export * from './defs';
5
+ type ReactBaseType = React.HTMLAttributes<HTMLElement>;
6
+ export declare const PieDataTableHead: React.ForwardRefExoticComponent<React.PropsWithoutRef<DataTableHeadProps> & React.RefAttributes<PieDataTableHeadLit> & ReactBaseType>;
7
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-head/react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,cAAc,QAAQ,CAAC;AAUvB,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAEtD,eAAO,MAAM,gBAAgB,EAA4B,KAAK,CAAC,yBAAyB,CAAC,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAC5H,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import * as a from "react";
2
+ import { createComponent as e } from "@lit/react";
3
+ import { PieDataTableHead as t } from "./index.js";
4
+ const o = e({
5
+ displayName: "PieDataTableHead",
6
+ elementClass: t,
7
+ react: a,
8
+ tagName: "pie-data-table-head",
9
+ events: {}
10
+ }), l = o;
11
+ export {
12
+ l as PieDataTableHead
13
+ };
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export type ReactBaseType = React.HTMLAttributes<HTMLElement>;
3
+ //# sourceMappingURL=defs-react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs-react.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-head-cell/defs-react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { ComponentDefaultProps } from '@justeattakeaway/pie-webc-core';
2
+ export declare const dataTableHeadCellTextAlign: readonly ["left", "right", "center"];
3
+ export interface DataTableHeadCellProps {
4
+ /**
5
+ * Text alignment for the cell content
6
+ */
7
+ textAlign?: typeof dataTableHeadCellTextAlign[number];
8
+ /**
9
+ * Whether the cell is hidden
10
+ */
11
+ isHidden?: boolean;
12
+ }
13
+ export declare const defaultProps: ComponentDefaultProps<DataTableHeadCellProps, 'textAlign' | 'isHidden'>;
14
+ //# sourceMappingURL=defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-head-cell/defs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,eAAO,MAAM,0BAA0B,sCAAuC,CAAC;AAE/E,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACtD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,qBAAqB,CAAC,sBAAsB,EAAE,WAAW,GAAG,UAAU,CAGhG,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { nothing } from 'lit';
2
+ import { PieElement } from '@justeattakeaway/pie-webc-core/src/internals/PieElement';
3
+ import { DataTableHeadCellProps } from './defs';
4
+ export * from './defs';
5
+ declare const componentSelector = "pie-data-table-head-cell";
6
+ /**
7
+ * @tagname pie-data-table-head-cell
8
+ */
9
+ export declare class PieDataTableHeadCell extends PieElement implements DataTableHeadCellProps {
10
+ /**
11
+ * Text alignment for the cell content
12
+ */
13
+ textAlign?: DataTableHeadCellProps['textAlign'];
14
+ /**
15
+ * Whether the cell is hidden
16
+ */
17
+ isHidden?: DataTableHeadCellProps['isHidden'];
18
+ connectedCallback(): void;
19
+ render(): typeof nothing | import('lit-html').TemplateResult<1>;
20
+ static styles: import('lit').CSSResult;
21
+ }
22
+ declare global {
23
+ interface HTMLElementTagNameMap {
24
+ [componentSelector]: PieDataTableHeadCell;
25
+ }
26
+ }
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-head-cell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAa,MAAM,KAAK,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAIrF,OAAO,EACH,KAAK,sBAAsB,EAG9B,MAAM,QAAQ,CAAC;AAEhB,cAAc,QAAQ,CAAC;AAEvB,QAAA,MAAM,iBAAiB,6BAA6B,CAAC;AAErD;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAW,YAAW,sBAAsB;IAClF;;OAEG;IAGI,SAAS,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAEvD;;OAEG;IAEI,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAErD,iBAAiB;IAOjB,MAAM;IAUN,MAAM,CAAC,MAAM,0BAAqB;CACrC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,CAAC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;KAC7C;CACJ"}
@@ -0,0 +1,39 @@
1
+ import { unsafeCSS as p, nothing as c, html as f } from "lit";
2
+ import { property as d } from "lit/decorators.js";
3
+ import { P as h } from "../PieElement-DgHPBi0_.js";
4
+ import { validPropertyValues as g, safeCustomElement as b } from "@justeattakeaway/pie-webc-core";
5
+ const m = ":host{padding:var(--dt-spacing-d);border-bottom:1px solid var(--data-table-border-color);display:table-cell}:host([textAlign=right]){text-align:right}:host([textAlign=center]){text-align:center}:host([textAlign=left]){text-align:left}:host([isHidden]){display:none}", x = ["left", "right", "center"], u = {
6
+ textAlign: "left",
7
+ isHidden: !1
8
+ };
9
+ var y = Object.defineProperty, v = Object.getOwnPropertyDescriptor, s = (l, r, n, o) => {
10
+ for (var e = o > 1 ? void 0 : o ? v(r, n) : r, a = l.length - 1, i; a >= 0; a--)
11
+ (i = l[a]) && (e = (o ? i(r, n, e) : i(e)) || e);
12
+ return o && e && y(r, n, e), e;
13
+ };
14
+ const A = "pie-data-table-head-cell";
15
+ let t = class extends h {
16
+ connectedCallback() {
17
+ this.hasAttribute("role") || this.setAttribute("role", "columnheader"), super.connectedCallback();
18
+ }
19
+ render() {
20
+ const { isHidden: l } = this;
21
+ return l ? c : f`<slot></slot>`;
22
+ }
23
+ };
24
+ t.styles = p(m);
25
+ s([
26
+ d({ type: String }),
27
+ g(A, x, u.textAlign)
28
+ ], t.prototype, "textAlign", 2);
29
+ s([
30
+ d({ type: Boolean })
31
+ ], t.prototype, "isHidden", 2);
32
+ t = s([
33
+ b("pie-data-table-head-cell")
34
+ ], t);
35
+ export {
36
+ t as PieDataTableHeadCell,
37
+ x as dataTableHeadCellTextAlign,
38
+ u as defaultProps
39
+ };
@@ -0,0 +1,7 @@
1
+ import { PieDataTableHeadCell as PieDataTableHeadCellLit } from './index';
2
+ import { DataTableHeadCellProps } from './defs';
3
+ import * as React from 'react';
4
+ export * from './defs';
5
+ type ReactBaseType = React.HTMLAttributes<HTMLElement>;
6
+ export declare const PieDataTableHeadCell: React.ForwardRefExoticComponent<React.PropsWithoutRef<DataTableHeadCellProps> & React.RefAttributes<PieDataTableHeadCellLit> & ReactBaseType>;
7
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-head-cell/react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAErD,cAAc,QAAQ,CAAC;AAUvB,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAEtD,eAAO,MAAM,oBAAoB,EAAgC,KAAK,CAAC,yBAAyB,CAAC,KAAK,CAAC,eAAe,CAAC,sBAAsB,CAAC,GACxI,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,GAAG,aAAa,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as e from "react";
2
+ import { createComponent as a } from "@lit/react";
3
+ import { PieDataTableHeadCell as l } from "./index.js";
4
+ import { dataTableHeadCellTextAlign as p, defaultProps as s } from "./index.js";
5
+ const t = a({
6
+ displayName: "PieDataTableHeadCell",
7
+ elementClass: l,
8
+ react: e,
9
+ tagName: "pie-data-table-head-cell",
10
+ events: {}
11
+ }), d = t;
12
+ export {
13
+ d as PieDataTableHeadCell,
14
+ p as dataTableHeadCellTextAlign,
15
+ s as defaultProps
16
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-header/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAKrF,OAAO,EACH,KAAK,oBAAoB,EAEzB,YAAY,EACf,MAAM,QAAQ,CAAC;AAGhB,cAAc,QAAQ,CAAC;AAEvB,QAAA,MAAM,iBAAiB,0BAA0B,CAAC;AAElD;;GAEG;AACH,qBACa,kBAAmB,SAAQ,UAAW,YAAW,oBAAoB;IAC9E;;OAEG;IAEI,KAAK,EAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE7C;;OAEG;IAEI,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAElD;;OAEG;IAGI,OAAO,CAAC,EAAE,OAAO,YAAY,CAAC,OAAO,CAAC;IAG7C,OAAO,CAAC,gBAAgB,CAAS;IAEjC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,YAAY;IAQZ,MAAM;IA0BN,MAAM,CAAC,MAAM,0BAAqB;CACrC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;KAC3C;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-header/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAKrF,OAAO,EACH,KAAK,oBAAoB,EAEzB,YAAY,EACf,MAAM,QAAQ,CAAC;AAGhB,cAAc,QAAQ,CAAC;AAEvB,QAAA,MAAM,iBAAiB,0BAA0B,CAAC;AAElD;;GAEG;AACH,qBACa,kBAAmB,SAAQ,UAAW,YAAW,oBAAoB;IAC9E;;OAEG;IAEI,KAAK,EAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE7C;;OAEG;IAEI,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAElD;;OAEG;IAGI,OAAO,CAAC,EAAE,OAAO,YAAY,CAAC,OAAO,CAAC;IAG7C,OAAO,CAAC,gBAAgB,CAAS;IAEjC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,YAAY;IAQZ,MAAM;IA2BN,MAAM,CAAC,MAAM,0BAAqB;CACrC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;KAC3C;CACJ"}
@@ -1,6 +1,6 @@
1
1
  import { unsafeCSS as h, nothing as p, html as n } from "lit";
2
2
  import { property as c, state as b } from "lit/decorators.js";
3
- import { P as g } from "../PieElement-Y2VnHR4y.js";
3
+ import { P as g } from "../PieElement-DgHPBi0_.js";
4
4
  import { validPropertyValues as u, safeCustomElement as f } from "@justeattakeaway/pie-webc-core";
5
5
  import { classMap as v } from "lit/directives/class-map.js";
6
6
  const m = "*,*:after,*:before{box-sizing:inherit}:host{display:block}.c-data-table-header{--data-table-header-background: transparent;padding:var(--dt-spacing-d);background-color:var(--data-table-header-background);border-bottom:1px solid var(--data-table-border-color);display:flex;justify-content:space-between;align-items:flex-end}.c-data-table-header-title-wrapper{display:flex;flex-direction:column;gap:var(--dt-spacing-b)}.c-data-table-header-title{font-weight:var(--dt-font-weight-extrabold);font-size:calc(var(--dt-font-size-24) * 1px);line-height:calc(var(--dt-font-size-24-line-height) * 1px)}.c-data-table-header-subtitle{font-weight:var(--dt-font-weight-regular);font-size:calc(var(--dt-font-size-16) * 1px);line-height:calc(var(--dt-font-size-16-line-height) * 1px)}.c-data-table-header--strong{--data-table-header-background: var(--dt-color-support-brand-02)}.c-data-table-action-buttons-wrapper{display:flex;gap:var(--dt-spacing-d)}", y = ["subtle", "strong"], x = {
@@ -42,6 +42,7 @@ let s = class extends g {
42
42
  })}">
43
43
  <div class="c-data-table-header-title-wrapper">
44
44
  ${e ? n`<span class="c-data-table-header-title">${e}</span>` : p}
45
+
45
46
  ${t ? n`<span class="c-data-table-header-subtitle">${t}</span>` : p}
46
47
  </div>
47
48
  ${this.hasActionButtons ? n`
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export type ReactBaseType = React.HTMLAttributes<HTMLElement>;
3
+ //# sourceMappingURL=defs-react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs-react.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-row/defs-react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { ComponentDefaultProps } from '@justeattakeaway/pie-webc-core';
2
+ export interface DataTableRowProps extends Partial<HTMLTableRowElement> {
3
+ /**
4
+ * Whether the row is currently selected
5
+ */
6
+ isSelected?: boolean;
7
+ /**
8
+ * Whether the row is hidden
9
+ */
10
+ isHidden?: boolean;
11
+ }
12
+ export declare const defaultProps: ComponentDefaultProps<DataTableRowProps, 'isSelected' | 'isHidden'>;
13
+ //# sourceMappingURL=defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-row/defs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,mBAAmB,CAAC;IACrE;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,YAAY,GAAG,UAAU,CAG5F,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { nothing } from 'lit';
2
+ import { PieElement } from '@justeattakeaway/pie-webc-core/src/internals/PieElement';
3
+ import { DataTableRowProps } from './defs';
4
+ export * from './defs';
5
+ declare const componentSelector = "pie-data-table-row";
6
+ /**
7
+ * @tagname pie-data-table-row
8
+ */
9
+ export declare class PieDataTableRow extends PieElement implements DataTableRowProps {
10
+ /**
11
+ * Whether the row is currently selected
12
+ */
13
+ isSelected?: DataTableRowProps['isSelected'];
14
+ /**
15
+ * Whether the row is hidden
16
+ */
17
+ isHidden?: DataTableRowProps['isHidden'];
18
+ connectedCallback(): void;
19
+ disconnectedCallback(): void;
20
+ private _handleMouseEnter;
21
+ private _handleMouseLeave;
22
+ render(): typeof nothing | import('lit-html').TemplateResult<1>;
23
+ static styles: import('lit').CSSResult;
24
+ }
25
+ declare global {
26
+ interface HTMLElementTagNameMap {
27
+ [componentSelector]: PieDataTableRow;
28
+ }
29
+ }
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-row/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAa,MAAM,KAAK,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAIrF,OAAO,EACH,KAAK,iBAAiB,EACzB,MAAM,QAAQ,CAAC;AAEhB,cAAc,QAAQ,CAAC;AAEvB,QAAA,MAAM,iBAAiB,uBAAuB,CAAC;AAE/C;;GAEG;AACH,qBACa,eAAgB,SAAQ,UAAW,YAAW,iBAAiB;IACxE;;OAEG;IAEI,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEpD;;OAEG;IAEI,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAEhD,iBAAiB;IAYjB,oBAAoB;IAOpB,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,MAAM;IAWN,MAAM,CAAC,MAAM,0BAAqB;CACrC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC;KACxC;CACJ"}
@@ -0,0 +1,46 @@
1
+ import { unsafeCSS as c, nothing as h, html as p } from "lit";
2
+ import { property as d } from "lit/decorators.js";
3
+ import { P as u } from "../PieElement-DgHPBi0_.js";
4
+ import { safeCustomElement as v } from "@justeattakeaway/pie-webc-core";
5
+ const b = ":host{display:table-row;border-bottom:1px solid var(--data-table-border-color)}:host ::slotted(pie-data-table-cell){background-color:var(--data-table-background-hover-or-active, transparent)}:host([isSelected]){background-color:var(--dt-color-container-subtle)}", g = {
6
+ isSelected: !1,
7
+ isHidden: !1
8
+ };
9
+ var m = Object.defineProperty, f = Object.getOwnPropertyDescriptor, i = (r, o, a, s) => {
10
+ for (var e = s > 1 ? void 0 : s ? f(o, a) : o, n = r.length - 1, l; n >= 0; n--)
11
+ (l = r[n]) && (e = (s ? l(o, a, e) : l(e)) || e);
12
+ return s && e && m(o, a, e), e;
13
+ };
14
+ let t = class extends u {
15
+ constructor() {
16
+ super(...arguments), this._handleMouseEnter = () => {
17
+ this.style.setProperty("--data-table-background-hover-or-active", "var(--dt-color-container-subtle)");
18
+ }, this._handleMouseLeave = () => {
19
+ this.style.setProperty("--data-table-background-hover-or-active", "transparent");
20
+ };
21
+ }
22
+ connectedCallback() {
23
+ this.hasAttribute("role") || this.setAttribute("role", "row"), this.addEventListener("mouseenter", this._handleMouseEnter), this.addEventListener("mouseleave", this._handleMouseLeave), this.style.setProperty("--data-table-background-hover-or-active", "transparent"), super.connectedCallback();
24
+ }
25
+ disconnectedCallback() {
26
+ super.disconnectedCallback(), this.removeEventListener("mouseenter", this._handleMouseEnter), this.removeEventListener("mouseleave", this._handleMouseLeave);
27
+ }
28
+ render() {
29
+ const { isHidden: r } = this;
30
+ return r ? h : p`<slot></slot>`;
31
+ }
32
+ };
33
+ t.styles = c(b);
34
+ i([
35
+ d({ type: Boolean })
36
+ ], t.prototype, "isSelected", 2);
37
+ i([
38
+ d({ type: Boolean })
39
+ ], t.prototype, "isHidden", 2);
40
+ t = i([
41
+ v("pie-data-table-row")
42
+ ], t);
43
+ export {
44
+ t as PieDataTableRow,
45
+ g as defaultProps
46
+ };
@@ -0,0 +1,7 @@
1
+ import { PieDataTableRow as PieDataTableRowLit } from './index';
2
+ import { DataTableRowProps } from './defs';
3
+ import * as React from 'react';
4
+ export * from './defs';
5
+ type ReactBaseType = React.HTMLAttributes<HTMLElement>;
6
+ export declare const PieDataTableRow: React.ForwardRefExoticComponent<React.PropsWithoutRef<DataTableRowProps> & React.RefAttributes<PieDataTableRowLit> & ReactBaseType>;
7
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/pie-data-table-row/react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD,cAAc,QAAQ,CAAC;AAUvB,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAEtD,eAAO,MAAM,eAAe,EAA2B,KAAK,CAAC,yBAAyB,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,GACzH,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import * as a from "react";
2
+ import { createComponent as e } from "@lit/react";
3
+ import { PieDataTableRow as t } from "./index.js";
4
+ import { defaultProps as s } from "./index.js";
5
+ const o = e({
6
+ displayName: "PieDataTableRow",
7
+ elementClass: t,
8
+ react: a,
9
+ tagName: "pie-data-table-row",
10
+ events: {}
11
+ }), i = o;
12
+ export {
13
+ i as PieDataTableRow,
14
+ s as defaultProps
15
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@justeattakeaway/pie-data-table",
3
3
  "description": "PIE Design System Data Table built using Web Components",
4
- "version": "0.0.0-snapshot-release-20250818121553",
4
+ "version": "0.0.0-snapshot-release-20251010234024",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -13,7 +13,10 @@
13
13
  "**/*.d.ts"
14
14
  ],
15
15
  "pieMetadata": {
16
- "componentStatus": "alpha"
16
+ "componentStatus": "alpha",
17
+ "replaces": {
18
+ "snacks": []
19
+ }
17
20
  },
18
21
  "scripts": {
19
22
  "build": "run -T vite build",
@@ -34,12 +37,12 @@
34
37
  "devDependencies": {
35
38
  "@custom-elements-manifest/analyzer": "0.9.0",
36
39
  "@justeattakeaway/pie-components-config": "0.21.0",
37
- "@justeattakeaway/pie-css": "0.19.0",
40
+ "@justeattakeaway/pie-css": "0.22.0",
38
41
  "@justeattakeaway/pie-monorepo-utils": "0.7.0",
39
42
  "cem-plugin-module-file-extensions": "0.0.5"
40
43
  },
41
44
  "dependencies": {
42
- "@justeattakeaway/pie-webc-core": "1.1.0"
45
+ "@justeattakeaway/pie-webc-core": "2.0.0"
43
46
  },
44
47
  "volta": {
45
48
  "extends": "../../../package.json"
@@ -33,40 +33,34 @@
33
33
  }
34
34
  }
35
35
 
36
- .c-data-table-header {
36
+ .c-data-table-head-cell {
37
37
  background-color: transparent;
38
38
  font-weight: var(--dt-font-weight-bold);
39
39
  color: var(--data-table-header-color);
40
40
  text-align: left;
41
- padding: var(--dt-spacing-d);
42
- border-bottom: 1px solid var(--data-table-border-color);
43
41
  }
44
42
 
45
- .c-data-table-header-text-align--left {
43
+ .c-data-table-head-cell-text-align--left,
44
+ .c-data-table-cell-text-align--left {
46
45
  text-align: left;
47
46
  }
48
47
 
49
- .c-data-table-header-text-align--right {
48
+ .c-data-table-head-cell-text-align--right,
49
+ .c-data-table-cell-text-align--right {
50
50
  text-align: right;
51
51
  }
52
52
 
53
- .c-data-table-header-text-align--center {
53
+ .c-data-table-head-cell-text-align--center,
54
+ .c-data-table-cell-text-align--center {
54
55
  text-align: center;
55
56
  }
56
57
 
57
- .c-data-table-cell {
58
+ .c-data-table-cell, .c-data-table-head-cell {
58
59
  padding: var(--dt-spacing-d);
59
60
  border-bottom: 1px solid var(--data-table-border-color);
60
61
  }
61
62
 
62
- .c-data-table-cell-text-align--left {
63
- text-align: left;
64
- }
65
-
66
- .c-data-table-cell-text-align--right {
67
- text-align: right;
68
- }
69
-
70
- .c-data-table-cell-text-align--center {
71
- text-align: center;
63
+ .c-data-table-cell--hidden,
64
+ .c-data-table-row--hidden {
65
+ display: none;
72
66
  }
package/src/defs.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { type ComponentDefaultProps } from '@justeattakeaway/pie-webc-core';
2
2
 
3
+ type TextAlign = 'left' | 'right' | 'center';
4
+
3
5
  export interface Column {
4
6
  /**
5
7
  * Unique identifier for the column
@@ -12,7 +14,7 @@ export interface Column {
12
14
  /**
13
15
  * Optional property to specify the text alignment of the column
14
16
  * */
15
- textAlign?: 'left' | 'right' | 'center';
17
+ textAlign?: TextAlign;
16
18
 
17
19
  /**
18
20
  * Optional property to specify the width of the column
@@ -24,19 +26,35 @@ export interface Column {
24
26
  accessor?: string;
25
27
  }
26
28
 
29
+ export type AdditionalCell = {
30
+ content: string | number;
31
+ textAlign?: TextAlign;
32
+ colSpan?: number;
33
+ hideCell?: boolean;
34
+ };
35
+
36
+ export type DataTableAdditionalRow = {
37
+ cells: AdditionalCell[];
38
+ hideRow?: boolean;
39
+ };
40
+
27
41
  export interface DataTableProps {
28
42
  /**
29
43
  * Array of column definitions
30
44
  */
31
- columns: Column[];
45
+ columns?: Column[];
32
46
 
33
47
  /**
34
48
  * Array of data objects to display
35
49
  */
36
- data: Record<string, unknown>[];
50
+ data?: Record<string, unknown>[];
51
+
52
+ /**
53
+ * Arbitrary additional rows to display at the bottom of the table
54
+ */
55
+ additionalRows?: DataTableAdditionalRow[];
37
56
  }
38
57
 
39
- export const defaultProps: ComponentDefaultProps<DataTableProps, keyof Omit<DataTableProps, 'columns' | 'data'>> = {
40
- hasBorder: true,
41
- isStriped: false,
58
+ export const defaultProps: ComponentDefaultProps<DataTableProps, keyof Omit<DataTableProps, 'columns' | 'data' >> = {
59
+ additionalRows: [],
42
60
  };