@justeattakeaway/pie-data-table 0.0.0-snapshot-release-20251014131309 → 0.0.0-snapshot-release-20251111101641
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/custom-elements.json +3 -714
- package/dist/index.d.ts +20 -62
- package/dist/index.js +20 -152
- package/dist/react.d.ts +25 -7
- package/dist/react.js +2 -4
- package/package.json +3 -3
- package/src/data-table.scss +2 -61
- package/src/defs.ts +3 -60
- package/src/index.ts +3 -172
- package/dist/PieElement-DgHPBi0_.js +0 -11
- package/dist/defs-react.d.ts +0 -9
- package/dist/defs-react.d.ts.map +0 -1
- package/dist/defs.d.ts +0 -51
- package/dist/defs.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/pie-data-table-body/defs-react.d.ts +0 -3
- package/dist/pie-data-table-body/defs-react.d.ts.map +0 -1
- package/dist/pie-data-table-body/defs.d.ts +0 -2
- package/dist/pie-data-table-body/defs.d.ts.map +0 -1
- package/dist/pie-data-table-body/index.d.ts +0 -17
- package/dist/pie-data-table-body/index.d.ts.map +0 -1
- package/dist/pie-data-table-body/index.js +0 -21
- package/dist/pie-data-table-body/react.d.ts +0 -7
- package/dist/pie-data-table-body/react.d.ts.map +0 -1
- package/dist/pie-data-table-body/react.js +0 -13
- package/dist/pie-data-table-cell/defs-react.d.ts +0 -3
- package/dist/pie-data-table-cell/defs-react.d.ts.map +0 -1
- package/dist/pie-data-table-cell/defs.d.ts +0 -14
- package/dist/pie-data-table-cell/defs.d.ts.map +0 -1
- package/dist/pie-data-table-cell/index.d.ts +0 -27
- package/dist/pie-data-table-cell/index.d.ts.map +0 -1
- package/dist/pie-data-table-cell/index.js +0 -39
- package/dist/pie-data-table-cell/react.d.ts +0 -7
- package/dist/pie-data-table-cell/react.d.ts.map +0 -1
- package/dist/pie-data-table-cell/react.js +0 -16
- package/dist/pie-data-table-contents/defs-react.d.ts +0 -3
- package/dist/pie-data-table-contents/defs-react.d.ts.map +0 -1
- package/dist/pie-data-table-contents/defs.d.ts +0 -2
- package/dist/pie-data-table-contents/defs.d.ts.map +0 -1
- package/dist/pie-data-table-contents/index.d.ts +0 -18
- package/dist/pie-data-table-contents/index.d.ts.map +0 -1
- package/dist/pie-data-table-contents/index.js +0 -24
- package/dist/pie-data-table-contents/react.d.ts +0 -7
- package/dist/pie-data-table-contents/react.d.ts.map +0 -1
- package/dist/pie-data-table-contents/react.js +0 -13
- package/dist/pie-data-table-head/defs-react.d.ts +0 -3
- package/dist/pie-data-table-head/defs-react.d.ts.map +0 -1
- package/dist/pie-data-table-head/defs.d.ts +0 -2
- package/dist/pie-data-table-head/defs.d.ts.map +0 -1
- package/dist/pie-data-table-head/index.d.ts +0 -18
- package/dist/pie-data-table-head/index.d.ts.map +0 -1
- package/dist/pie-data-table-head/index.js +0 -24
- package/dist/pie-data-table-head/react.d.ts +0 -7
- package/dist/pie-data-table-head/react.d.ts.map +0 -1
- package/dist/pie-data-table-head/react.js +0 -13
- package/dist/pie-data-table-head-cell/defs-react.d.ts +0 -3
- package/dist/pie-data-table-head-cell/defs-react.d.ts.map +0 -1
- package/dist/pie-data-table-head-cell/defs.d.ts +0 -14
- package/dist/pie-data-table-head-cell/defs.d.ts.map +0 -1
- package/dist/pie-data-table-head-cell/index.d.ts +0 -27
- package/dist/pie-data-table-head-cell/index.d.ts.map +0 -1
- package/dist/pie-data-table-head-cell/index.js +0 -39
- package/dist/pie-data-table-head-cell/react.d.ts +0 -7
- package/dist/pie-data-table-head-cell/react.d.ts.map +0 -1
- package/dist/pie-data-table-head-cell/react.js +0 -16
- package/dist/pie-data-table-header/defs-react.d.ts +0 -9
- package/dist/pie-data-table-header/defs-react.d.ts.map +0 -1
- package/dist/pie-data-table-header/defs.d.ts +0 -18
- package/dist/pie-data-table-header/defs.d.ts.map +0 -1
- package/dist/pie-data-table-header/index.d.ts +0 -40
- package/dist/pie-data-table-header/index.d.ts.map +0 -1
- package/dist/pie-data-table-header/index.js +0 -80
- package/dist/pie-data-table-header/react.d.ts +0 -7
- package/dist/pie-data-table-header/react.d.ts.map +0 -1
- package/dist/pie-data-table-header/react.js +0 -16
- package/dist/pie-data-table-row/defs-react.d.ts +0 -3
- package/dist/pie-data-table-row/defs-react.d.ts.map +0 -1
- package/dist/pie-data-table-row/defs.d.ts +0 -13
- package/dist/pie-data-table-row/defs.d.ts.map +0 -1
- package/dist/pie-data-table-row/index.d.ts +0 -30
- package/dist/pie-data-table-row/index.d.ts.map +0 -1
- package/dist/pie-data-table-row/index.js +0 -46
- package/dist/pie-data-table-row/react.d.ts +0 -7
- package/dist/pie-data-table-row/react.d.ts.map +0 -1
- package/dist/pie-data-table-row/react.js +0 -15
- package/dist/react.d.ts.map +0 -1
- package/src/pie-data-table-body/data-table-body.scss +0 -3
- package/src/pie-data-table-body/defs-react.ts +0 -3
- package/src/pie-data-table-body/defs.ts +0 -1
- package/src/pie-data-table-body/index.ts +0 -29
- package/src/pie-data-table-body/react.ts +0 -19
- package/src/pie-data-table-cell/data-table-cell.scss +0 -21
- package/src/pie-data-table-cell/defs-react.ts +0 -3
- package/src/pie-data-table-cell/defs.ts +0 -19
- package/src/pie-data-table-cell/index.ts +0 -61
- package/src/pie-data-table-cell/react.ts +0 -19
- package/src/pie-data-table-contents/data-table-contents.scss +0 -4
- package/src/pie-data-table-contents/defs-react.ts +0 -3
- package/src/pie-data-table-contents/defs.ts +0 -1
- package/src/pie-data-table-contents/index.ts +0 -35
- package/src/pie-data-table-contents/react.ts +0 -19
- package/src/pie-data-table-head/data-table-head.scss +0 -8
- package/src/pie-data-table-head/defs-react.ts +0 -3
- package/src/pie-data-table-head/defs.ts +0 -1
- package/src/pie-data-table-head/index.ts +0 -36
- package/src/pie-data-table-head/react.ts +0 -19
- package/src/pie-data-table-head-cell/data-table-head-cell.scss +0 -21
- package/src/pie-data-table-head-cell/defs-react.ts +0 -3
- package/src/pie-data-table-head-cell/defs.ts +0 -19
- package/src/pie-data-table-head-cell/index.ts +0 -59
- package/src/pie-data-table-head-cell/react.ts +0 -19
- package/src/pie-data-table-header/data-table-header.scss +0 -44
- package/src/pie-data-table-header/defs-react.ts +0 -8
- package/src/pie-data-table-header/defs.ts +0 -22
- package/src/pie-data-table-header/index.ts +0 -101
- package/src/pie-data-table-header/react.ts +0 -19
- package/src/pie-data-table-row/data-table-row.scss +0 -12
- package/src/pie-data-table-row/defs-react.ts +0 -3
- package/src/pie-data-table-row/defs.ts +0 -17
- package/src/pie-data-table-row/index.ts +0 -77
- package/src/pie-data-table-row/react.ts +0 -19
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { createComponent } from '@lit/react';
|
|
3
|
-
import { PieDataTableHead as PieDataTableHeadLit } from './index';
|
|
4
|
-
import { type DataTableHeadProps } from './defs';
|
|
5
|
-
|
|
6
|
-
export * from './defs';
|
|
7
|
-
|
|
8
|
-
const PieDataTableHeadReact = createComponent({
|
|
9
|
-
displayName: 'PieDataTableHead',
|
|
10
|
-
elementClass: PieDataTableHeadLit,
|
|
11
|
-
react: React,
|
|
12
|
-
tagName: 'pie-data-table-head',
|
|
13
|
-
events: {},
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
type ReactBaseType = React.HTMLAttributes<HTMLElement>
|
|
17
|
-
|
|
18
|
-
export const PieDataTableHead = PieDataTableHeadReact as React.ForwardRefExoticComponent<React.PropsWithoutRef<DataTableHeadProps>
|
|
19
|
-
& React.RefAttributes<PieDataTableHeadLit> & ReactBaseType>;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
:host {
|
|
2
|
-
padding: var(--dt-spacing-d);
|
|
3
|
-
border-bottom: 1px solid var(--data-table-border-color);
|
|
4
|
-
display: table-cell;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
:host([textAlign="right"]) {
|
|
8
|
-
text-align: right;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
:host([textAlign="center"]) {
|
|
12
|
-
text-align: center;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
:host([textAlign="left"]) {
|
|
16
|
-
text-align: left;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
:host([isHidden]) {
|
|
20
|
-
display: none;
|
|
21
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { type ComponentDefaultProps } from '@justeattakeaway/pie-webc-core';
|
|
2
|
-
|
|
3
|
-
export const dataTableHeadCellTextAlign = ['left', 'right', 'center'] as const;
|
|
4
|
-
|
|
5
|
-
export interface DataTableHeadCellProps {
|
|
6
|
-
/**
|
|
7
|
-
* Text alignment for the cell content
|
|
8
|
-
*/
|
|
9
|
-
textAlign?: typeof dataTableHeadCellTextAlign[number];
|
|
10
|
-
/**
|
|
11
|
-
* Whether the cell is hidden
|
|
12
|
-
*/
|
|
13
|
-
isHidden?: boolean;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export const defaultProps: ComponentDefaultProps<DataTableHeadCellProps, 'textAlign' | 'isHidden'> = {
|
|
17
|
-
textAlign: 'left',
|
|
18
|
-
isHidden: false,
|
|
19
|
-
};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { html, nothing, unsafeCSS } from 'lit';
|
|
2
|
-
import { property } from 'lit/decorators.js';
|
|
3
|
-
import { PieElement } from '@justeattakeaway/pie-webc-core/src/internals/PieElement';
|
|
4
|
-
import { safeCustomElement, validPropertyValues } from '@justeattakeaway/pie-webc-core';
|
|
5
|
-
|
|
6
|
-
import styles from './data-table-head-cell.scss?inline';
|
|
7
|
-
import {
|
|
8
|
-
type DataTableHeadCellProps,
|
|
9
|
-
dataTableHeadCellTextAlign,
|
|
10
|
-
defaultProps,
|
|
11
|
-
} from './defs';
|
|
12
|
-
|
|
13
|
-
export * from './defs';
|
|
14
|
-
|
|
15
|
-
const componentSelector = 'pie-data-table-head-cell';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @tagname pie-data-table-head-cell
|
|
19
|
-
*/
|
|
20
|
-
@safeCustomElement('pie-data-table-head-cell')
|
|
21
|
-
export class PieDataTableHeadCell extends PieElement implements DataTableHeadCellProps {
|
|
22
|
-
/**
|
|
23
|
-
* Text alignment for the cell content
|
|
24
|
-
*/
|
|
25
|
-
@property({ type: String })
|
|
26
|
-
@validPropertyValues(componentSelector, dataTableHeadCellTextAlign, defaultProps.textAlign)
|
|
27
|
-
public textAlign?: DataTableHeadCellProps['textAlign'];
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Whether the cell is hidden
|
|
31
|
-
*/
|
|
32
|
-
@property({ type: Boolean })
|
|
33
|
-
public isHidden?: DataTableHeadCellProps['isHidden'];
|
|
34
|
-
|
|
35
|
-
connectedCallback () {
|
|
36
|
-
if (!this.hasAttribute('role')) {
|
|
37
|
-
this.setAttribute('role', 'columnheader');
|
|
38
|
-
}
|
|
39
|
-
super.connectedCallback();
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
render () {
|
|
43
|
-
const { isHidden } = this;
|
|
44
|
-
|
|
45
|
-
if (isHidden) {
|
|
46
|
-
return nothing;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return html`<slot></slot>`;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
static styles = unsafeCSS(styles);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
declare global {
|
|
56
|
-
interface HTMLElementTagNameMap {
|
|
57
|
-
[componentSelector]: PieDataTableHeadCell;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { createComponent } from '@lit/react';
|
|
3
|
-
import { PieDataTableHeadCell as PieDataTableHeadCellLit } from './index';
|
|
4
|
-
import { type DataTableHeadCellProps } from './defs';
|
|
5
|
-
|
|
6
|
-
export * from './defs';
|
|
7
|
-
|
|
8
|
-
const PieDataTableHeadCellReact = createComponent({
|
|
9
|
-
displayName: 'PieDataTableHeadCell',
|
|
10
|
-
elementClass: PieDataTableHeadCellLit,
|
|
11
|
-
react: React,
|
|
12
|
-
tagName: 'pie-data-table-head-cell',
|
|
13
|
-
events: {},
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
type ReactBaseType = React.HTMLAttributes<HTMLElement>
|
|
17
|
-
|
|
18
|
-
export const PieDataTableHeadCell = PieDataTableHeadCellReact as React.ForwardRefExoticComponent<React.PropsWithoutRef<DataTableHeadCellProps>
|
|
19
|
-
& React.RefAttributes<PieDataTableHeadCellLit> & ReactBaseType>;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
@use '@justeattakeaway/pie-css/scss' as p;
|
|
2
|
-
|
|
3
|
-
:host {
|
|
4
|
-
display: block;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.c-data-table-header {
|
|
8
|
-
--data-table-header-background: transparent;
|
|
9
|
-
padding: var(--dt-spacing-d);
|
|
10
|
-
|
|
11
|
-
background-color: var(--data-table-header-background);
|
|
12
|
-
border-bottom: 1px solid var(--data-table-border-color);
|
|
13
|
-
|
|
14
|
-
display: flex;
|
|
15
|
-
justify-content: space-between;
|
|
16
|
-
align-items:flex-end;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.c-data-table-header-title-wrapper {
|
|
20
|
-
display: flex;
|
|
21
|
-
flex-direction: column;
|
|
22
|
-
gap: var(--dt-spacing-b);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.c-data-table-header-title {
|
|
26
|
-
font-weight: var(--dt-font-weight-extrabold);
|
|
27
|
-
font-size: #{p.font-size(--dt-font-size-24)};
|
|
28
|
-
line-height: calc(var(--dt-font-size-24-line-height) * 1px);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.c-data-table-header-subtitle {
|
|
32
|
-
font-weight: var(--dt-font-weight-regular);
|
|
33
|
-
font-size: #{p.font-size(--dt-font-size-16)};
|
|
34
|
-
line-height: calc(var(--dt-font-size-16-line-height) * 1px);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.c-data-table-header--strong {
|
|
38
|
-
--data-table-header-background: var(--dt-color-support-brand-02);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.c-data-table-action-buttons-wrapper {
|
|
42
|
-
display: flex;
|
|
43
|
-
gap: var(--dt-spacing-d);
|
|
44
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* TODO: Verify if ReactBaseType can be set as a more specific React interface
|
|
4
|
-
* Use the React IntrinsicElements interface to find how to map standard HTML elements to existing React Interfaces
|
|
5
|
-
* Example: an HTML button maps to `React.ButtonHTMLAttributes<HTMLButtonElement>`
|
|
6
|
-
* https://github.com/DefinitelyTyped/DefinitelyTyped/blob/0bb210867d16170c4a08d9ce5d132817651a0f80/types/react/index.d.ts#L2829
|
|
7
|
-
*/
|
|
8
|
-
export type ReactBaseType = React.HTMLAttributes<HTMLElement>
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type ComponentDefaultProps } from '@justeattakeaway/pie-webc-core';
|
|
2
|
-
|
|
3
|
-
export const dataTableHeaderVariant = ['subtle', 'strong'];
|
|
4
|
-
|
|
5
|
-
export interface DataTableHeaderProps {
|
|
6
|
-
/**
|
|
7
|
-
* Title text for the data table header
|
|
8
|
-
*/
|
|
9
|
-
title: string;
|
|
10
|
-
/**
|
|
11
|
-
* Subtitle text for the data table header
|
|
12
|
-
*/
|
|
13
|
-
subtitle?: string;
|
|
14
|
-
/**
|
|
15
|
-
* Emphasis level for the header
|
|
16
|
-
*/
|
|
17
|
-
variant?: typeof dataTableHeaderVariant[number];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export const defaultProps: ComponentDefaultProps<DataTableHeaderProps, keyof Omit<DataTableHeaderProps, 'title' | 'subtitle'>> = {
|
|
21
|
-
variant: 'subtle',
|
|
22
|
-
};
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { html, nothing, unsafeCSS } from 'lit';
|
|
2
|
-
import { property, state } from 'lit/decorators.js';
|
|
3
|
-
import { PieElement } from '@justeattakeaway/pie-webc-core/src/internals/PieElement';
|
|
4
|
-
import { safeCustomElement, validPropertyValues } from '@justeattakeaway/pie-webc-core';
|
|
5
|
-
import { classMap } from 'lit/directives/class-map.js';
|
|
6
|
-
|
|
7
|
-
import styles from './data-table-header.scss?inline';
|
|
8
|
-
import {
|
|
9
|
-
type DataTableHeaderProps,
|
|
10
|
-
dataTableHeaderVariant,
|
|
11
|
-
defaultProps,
|
|
12
|
-
} from './defs';
|
|
13
|
-
|
|
14
|
-
// Valid values available to consumers
|
|
15
|
-
export * from './defs';
|
|
16
|
-
|
|
17
|
-
const componentSelector = 'pie-data-table-header';
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @tagname pie-data-table-header
|
|
21
|
-
*/
|
|
22
|
-
@safeCustomElement('pie-data-table-header')
|
|
23
|
-
export class PieDataTableHeader extends PieElement implements DataTableHeaderProps {
|
|
24
|
-
/**
|
|
25
|
-
* Title text for the data table header
|
|
26
|
-
*/
|
|
27
|
-
@property({ type: String })
|
|
28
|
-
public title!: DataTableHeaderProps['title'];
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Subtitle text for the data table header
|
|
32
|
-
*/
|
|
33
|
-
@property({ type: String })
|
|
34
|
-
public subtitle: DataTableHeaderProps['subtitle'];
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Emphasis level for the header
|
|
38
|
-
*/
|
|
39
|
-
@property({ type: String })
|
|
40
|
-
@validPropertyValues(componentSelector, dataTableHeaderVariant, defaultProps.variant)
|
|
41
|
-
public variant?: typeof defaultProps.variant;
|
|
42
|
-
|
|
43
|
-
@state()
|
|
44
|
-
private hasActionButtons = false;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Handles the slot change event to determine if there are action buttons.
|
|
48
|
-
*
|
|
49
|
-
* @param event - The slot change event
|
|
50
|
-
*/
|
|
51
|
-
private handleSlotChange (event: Event) {
|
|
52
|
-
const slot = event.target as HTMLSlotElement;
|
|
53
|
-
this.hasActionButtons = slot.assignedElements().length > 0;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Lit lifecycle: called after the component's DOM has been rendered the first time.
|
|
58
|
-
*/
|
|
59
|
-
firstUpdated () {
|
|
60
|
-
// Get the named slot element after shadowRoot is ready
|
|
61
|
-
const slot = this.shadowRoot?.querySelector('slot[name="action-button"]') as HTMLSlotElement | null;
|
|
62
|
-
if (slot) {
|
|
63
|
-
this.hasActionButtons = slot.assignedElements().length > 0;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
render () {
|
|
68
|
-
const { title, subtitle, variant } = this;
|
|
69
|
-
|
|
70
|
-
const classes = {
|
|
71
|
-
'c-data-table-header': true,
|
|
72
|
-
'c-data-table-header--strong': variant === 'strong',
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
return html`
|
|
76
|
-
<header class="${classMap(classes)}">
|
|
77
|
-
<div class="c-data-table-header-title-wrapper">
|
|
78
|
-
${title ? html`<span class="c-data-table-header-title">${title}</span>` : nothing}
|
|
79
|
-
|
|
80
|
-
${subtitle ? html`<span class="c-data-table-header-subtitle">${subtitle}</span>` : nothing}
|
|
81
|
-
</div>
|
|
82
|
-
${this.hasActionButtons ? html`
|
|
83
|
-
<div class="c-data-table-action-buttons-wrapper">
|
|
84
|
-
<slot name="action-button" @slotchange=${this.handleSlotChange}></slot>
|
|
85
|
-
</div>
|
|
86
|
-
` : html`
|
|
87
|
-
<slot name="action-button" @slotchange=${this.handleSlotChange} style="display: none;"></slot>
|
|
88
|
-
`}
|
|
89
|
-
</header>
|
|
90
|
-
`;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// Renders a `CSSResult` generated from SCSS by Vite
|
|
94
|
-
static styles = unsafeCSS(styles);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
declare global {
|
|
98
|
-
interface HTMLElementTagNameMap {
|
|
99
|
-
[componentSelector]: PieDataTableHeader;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { createComponent } from '@lit/react';
|
|
3
|
-
import { PieDataTableHeader as PieDataTableHeaderLit } from './index';
|
|
4
|
-
import { type DataTableHeaderProps } from './defs';
|
|
5
|
-
|
|
6
|
-
export * from './defs';
|
|
7
|
-
|
|
8
|
-
const PieDataTableHeaderReact = createComponent({
|
|
9
|
-
displayName: 'PieDataTableHeader',
|
|
10
|
-
elementClass: PieDataTableHeaderLit,
|
|
11
|
-
react: React,
|
|
12
|
-
tagName: 'pie-data-table-header',
|
|
13
|
-
events: {},
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
type ReactBaseType = React.HTMLAttributes<HTMLElement>
|
|
17
|
-
|
|
18
|
-
export const PieDataTableHeader = PieDataTableHeaderReact as React.ForwardRefExoticComponent<React.PropsWithoutRef<DataTableHeaderProps>
|
|
19
|
-
& React.RefAttributes<PieDataTableHeaderLit> & ReactBaseType>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
:host {
|
|
2
|
-
display: table-row;
|
|
3
|
-
border-bottom: 1px solid var(--data-table-border-color);
|
|
4
|
-
|
|
5
|
-
::slotted(pie-data-table-cell) {
|
|
6
|
-
background-color: var(--data-table-background-hover-or-active, transparent);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
:host([isSelected]) {
|
|
11
|
-
background-color: var(--dt-color-container-subtle);
|
|
12
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type ComponentDefaultProps } from '@justeattakeaway/pie-webc-core';
|
|
2
|
-
|
|
3
|
-
export interface DataTableRowProps extends Partial<HTMLTableRowElement> {
|
|
4
|
-
/**
|
|
5
|
-
* Whether the row is currently selected
|
|
6
|
-
*/
|
|
7
|
-
isSelected?: boolean;
|
|
8
|
-
/**
|
|
9
|
-
* Whether the row is hidden
|
|
10
|
-
*/
|
|
11
|
-
isHidden?: boolean;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const defaultProps: ComponentDefaultProps<DataTableRowProps, 'isSelected' | 'isHidden'> = {
|
|
15
|
-
isSelected: false,
|
|
16
|
-
isHidden: false,
|
|
17
|
-
};
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { html, nothing, unsafeCSS } from 'lit';
|
|
2
|
-
import { property } from 'lit/decorators.js';
|
|
3
|
-
import { PieElement } from '@justeattakeaway/pie-webc-core/src/internals/PieElement';
|
|
4
|
-
import { safeCustomElement } from '@justeattakeaway/pie-webc-core';
|
|
5
|
-
|
|
6
|
-
import styles from './data-table-row.scss?inline';
|
|
7
|
-
import {
|
|
8
|
-
type DataTableRowProps,
|
|
9
|
-
} from './defs';
|
|
10
|
-
|
|
11
|
-
export * from './defs';
|
|
12
|
-
|
|
13
|
-
const componentSelector = 'pie-data-table-row';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @tagname pie-data-table-row
|
|
17
|
-
*/
|
|
18
|
-
@safeCustomElement('pie-data-table-row')
|
|
19
|
-
export class PieDataTableRow extends PieElement implements DataTableRowProps {
|
|
20
|
-
/**
|
|
21
|
-
* Whether the row is currently selected
|
|
22
|
-
*/
|
|
23
|
-
@property({ type: Boolean })
|
|
24
|
-
public isSelected?: DataTableRowProps['isSelected'];
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Whether the row is hidden
|
|
28
|
-
*/
|
|
29
|
-
@property({ type: Boolean })
|
|
30
|
-
public isHidden?: DataTableRowProps['isHidden'];
|
|
31
|
-
|
|
32
|
-
connectedCallback () {
|
|
33
|
-
if (!this.hasAttribute('role')) {
|
|
34
|
-
this.setAttribute('role', 'row');
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
this.addEventListener('mouseenter', this._handleMouseEnter);
|
|
38
|
-
this.addEventListener('mouseleave', this._handleMouseLeave);
|
|
39
|
-
this.style.setProperty('--data-table-background-hover-or-active', 'transparent');
|
|
40
|
-
|
|
41
|
-
super.connectedCallback();
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
disconnectedCallback () {
|
|
45
|
-
super.disconnectedCallback();
|
|
46
|
-
|
|
47
|
-
this.removeEventListener('mouseenter', this._handleMouseEnter);
|
|
48
|
-
this.removeEventListener('mouseleave', this._handleMouseLeave);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
private _handleMouseEnter = () => {
|
|
52
|
-
this.style.setProperty('--data-table-background-hover-or-active', 'var(--dt-color-container-subtle)');
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
private _handleMouseLeave = () => {
|
|
56
|
-
this.style.setProperty('--data-table-background-hover-or-active', 'transparent');
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
render () {
|
|
60
|
-
const { isHidden } = this;
|
|
61
|
-
|
|
62
|
-
if (isHidden) {
|
|
63
|
-
return nothing;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return html`<slot></slot>`;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Renders a `CSSResult` generated from SCSS by Vite
|
|
70
|
-
static styles = unsafeCSS(styles);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
declare global {
|
|
74
|
-
interface HTMLElementTagNameMap {
|
|
75
|
-
[componentSelector]: PieDataTableRow;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { createComponent } from '@lit/react';
|
|
3
|
-
import { PieDataTableRow as PieDataTableRowLit } from './index';
|
|
4
|
-
import { type DataTableRowProps } from './defs';
|
|
5
|
-
|
|
6
|
-
export * from './defs';
|
|
7
|
-
|
|
8
|
-
const PieDataTableRowReact = createComponent({
|
|
9
|
-
displayName: 'PieDataTableRow',
|
|
10
|
-
elementClass: PieDataTableRowLit,
|
|
11
|
-
react: React,
|
|
12
|
-
tagName: 'pie-data-table-row',
|
|
13
|
-
events: {},
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
type ReactBaseType = React.HTMLAttributes<HTMLElement>
|
|
17
|
-
|
|
18
|
-
export const PieDataTableRow = PieDataTableRowReact as React.ForwardRefExoticComponent<React.PropsWithoutRef<DataTableRowProps>
|
|
19
|
-
& React.RefAttributes<PieDataTableRowLit> & ReactBaseType>;
|