@triptyk/ember-yeti-table 3.0.0 → 3.0.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.
- package/LICENSE.md +1 -1
- package/README.md +9 -115
- package/declarations/components/yeti-table/body.d.ts +32 -0
- package/declarations/components/yeti-table/body.d.ts.map +1 -0
- package/declarations/components/yeti-table/header.d.ts +33 -0
- package/declarations/components/yeti-table/header.d.ts.map +1 -0
- package/declarations/components/yeti-table/pagination.d.ts +40 -0
- package/declarations/components/yeti-table/pagination.d.ts.map +1 -0
- package/declarations/components/yeti-table/table.d.ts +21 -0
- package/declarations/components/yeti-table/table.d.ts.map +1 -0
- package/declarations/components/yeti-table/tbody/row/cell.d.ts +44 -0
- package/declarations/components/yeti-table/tbody/row/cell.d.ts.map +1 -0
- package/declarations/components/yeti-table/tbody/row.d.ts +37 -0
- package/declarations/components/yeti-table/tbody/row.d.ts.map +1 -0
- package/declarations/components/yeti-table/tbody.d.ts +29 -0
- package/declarations/components/yeti-table/tbody.d.ts.map +1 -0
- package/declarations/components/yeti-table/tfoot/row/cell.d.ts +40 -0
- package/declarations/components/yeti-table/tfoot/row/cell.d.ts.map +1 -0
- package/declarations/components/yeti-table/tfoot/row.d.ts +37 -0
- package/declarations/components/yeti-table/tfoot/row.d.ts.map +1 -0
- package/declarations/components/yeti-table/tfoot.d.ts +27 -0
- package/declarations/components/yeti-table/tfoot.d.ts.map +1 -0
- package/declarations/components/yeti-table/thead/row/cell.d.ts +54 -0
- package/declarations/components/yeti-table/thead/row/cell.d.ts.map +1 -0
- package/declarations/components/yeti-table/thead/row/column.d.ts +69 -0
- package/declarations/components/yeti-table/thead/row/column.d.ts.map +1 -0
- package/declarations/components/yeti-table/thead/row.d.ts +55 -0
- package/declarations/components/yeti-table/thead/row.d.ts.map +1 -0
- package/declarations/components/yeti-table/thead.d.ts +34 -0
- package/declarations/components/yeti-table/thead.d.ts.map +1 -0
- package/declarations/components/yeti-table.d.ts +107 -0
- package/declarations/components/yeti-table.d.ts.map +1 -0
- package/declarations/index.d.ts +1 -0
- package/declarations/index.d.ts.map +1 -0
- package/declarations/template-registry.d.ts +1 -0
- package/declarations/template-registry.d.ts.map +1 -0
- package/declarations/themes/default-theme.d.ts +3 -27
- package/declarations/themes/default-theme.d.ts.map +1 -1
- package/declarations/types.d.ts +82 -0
- package/declarations/types.d.ts.map +1 -0
- package/declarations/utils/create-regex.d.ts +1 -1
- package/declarations/utils/create-regex.d.ts.map +1 -1
- package/declarations/utils/filtering-utils.d.ts +2 -4
- package/declarations/utils/filtering-utils.d.ts.map +1 -1
- package/declarations/utils/sorting-utils.d.ts +6 -15
- package/declarations/utils/sorting-utils.d.ts.map +1 -1
- package/dist/components/yeti-table/body.js +19 -14
- package/dist/components/yeti-table/body.js.map +1 -1
- package/dist/components/yeti-table/header.js +10 -10
- package/dist/components/yeti-table/header.js.map +1 -1
- package/dist/components/yeti-table/pagination.js +14 -44
- package/dist/components/yeti-table/pagination.js.map +1 -1
- package/dist/components/yeti-table/table.js +1 -23
- package/dist/components/yeti-table/table.js.map +1 -1
- package/dist/components/yeti-table/tbody/row/cell.js +12 -12
- package/dist/components/yeti-table/tbody/row/cell.js.map +1 -1
- package/dist/components/yeti-table/tbody/row.js +15 -21
- package/dist/components/yeti-table/tbody/row.js.map +1 -1
- package/dist/components/yeti-table/tbody.js +1 -0
- package/dist/components/yeti-table/tbody.js.map +1 -1
- package/dist/components/yeti-table/tfoot/row/cell.js +9 -9
- package/dist/components/yeti-table/tfoot/row/cell.js.map +1 -1
- package/dist/components/yeti-table/tfoot/row.js +11 -11
- package/dist/components/yeti-table/tfoot/row.js.map +1 -1
- package/dist/components/yeti-table/tfoot.js +1 -0
- package/dist/components/yeti-table/tfoot.js.map +1 -1
- package/dist/components/yeti-table/thead/row/cell.js +11 -8
- package/dist/components/yeti-table/thead/row/cell.js.map +1 -1
- package/dist/components/yeti-table/thead/row/column.js +27 -128
- package/dist/components/yeti-table/thead/row/column.js.map +1 -1
- package/dist/components/yeti-table/thead/row.js +15 -15
- package/dist/components/yeti-table/thead/row.js.map +1 -1
- package/dist/components/yeti-table/thead.js +3 -22
- package/dist/components/yeti-table/thead.js.map +1 -1
- package/dist/components/yeti-table.js +99 -303
- package/dist/components/yeti-table.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/template-registry.js +2 -0
- package/dist/template-registry.js.map +1 -0
- package/dist/themes/default-theme.js +3 -2
- package/dist/themes/default-theme.js.map +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/create-regex.js +6 -6
- package/dist/utils/create-regex.js.map +1 -1
- package/dist/utils/filtering-utils.js +20 -8
- package/dist/utils/filtering-utils.js.map +1 -1
- package/dist/utils/sorting-utils.js +13 -18
- package/dist/utils/sorting-utils.js.map +1 -1
- package/package.json +37 -16
- package/src/components/yeti-table/{body.gjs → body.gts} +49 -45
- package/src/components/yeti-table/header.gts +67 -0
- package/src/components/yeti-table/pagination.gts +118 -0
- package/src/components/yeti-table/table.gts +27 -0
- package/src/components/yeti-table/tbody/row/{cell.gjs → cell.gts} +38 -19
- package/src/components/yeti-table/tbody/row.gts +76 -0
- package/src/components/yeti-table/tbody.gts +53 -0
- package/src/components/yeti-table/tfoot/row/cell.gts +64 -0
- package/src/components/yeti-table/tfoot/row.gts +59 -0
- package/src/components/yeti-table/tfoot.gts +41 -0
- package/src/components/yeti-table/thead/row/{cell.gjs → cell.gts} +36 -13
- package/src/components/yeti-table/thead/row/column.gts +177 -0
- package/src/components/yeti-table/thead/row.gts +105 -0
- package/src/components/yeti-table/thead.gts +65 -0
- package/src/components/yeti-table.gts +629 -0
- package/src/template-registry.ts +10 -0
- package/src/themes/{default-theme.js → default-theme.ts} +5 -1
- package/src/types.ts +94 -0
- package/src/utils/{create-regex.js → create-regex.ts} +10 -10
- package/src/utils/filtering-utils.ts +91 -0
- package/src/utils/{sorting-utils.js → sorting-utils.ts} +35 -26
- package/dist/_app_/themes/default-theme.js +0 -1
- package/dist/_app_/utils/create-regex.js +0 -1
- package/dist/_app_/utils/filtering-utils.js +0 -1
- package/dist/_app_/utils/sorting-utils.js +0 -1
- package/src/components/yeti-table/header.gjs +0 -54
- package/src/components/yeti-table/pagination.gjs +0 -155
- package/src/components/yeti-table/table.gjs +0 -34
- package/src/components/yeti-table/tbody/row.gjs +0 -89
- package/src/components/yeti-table/tbody.gjs +0 -55
- package/src/components/yeti-table/tfoot/row/cell.gjs +0 -45
- package/src/components/yeti-table/tfoot/row.gjs +0 -44
- package/src/components/yeti-table/tfoot.gjs +0 -33
- package/src/components/yeti-table/thead/row/column.gjs +0 -260
- package/src/components/yeti-table/thead/row.gjs +0 -71
- package/src/components/yeti-table/thead.gjs +0 -45
- package/src/components/yeti-table.gjs +0 -780
- package/src/utils/filtering-utils.js +0 -75
- /package/src/{.gitkeep → index.ts} +0 -0
package/LICENSE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2026
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
6
|
|
package/README.md
CHANGED
|
@@ -1,127 +1,21 @@
|
|
|
1
|
-
#
|
|
1
|
+
# another-addon-typescript
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[Short description of the addon.]
|
|
4
|
+
|
|
5
|
+
## Compatibility
|
|
6
|
+
|
|
7
|
+
- Ember.js v5.8 or above
|
|
8
|
+
- Embroider or ember-auto-import v2
|
|
4
9
|
|
|
5
10
|
## Installation
|
|
6
11
|
|
|
7
12
|
```
|
|
8
|
-
ember install
|
|
13
|
+
ember install another-addon-typescript
|
|
9
14
|
```
|
|
10
15
|
|
|
11
|
-
## Why Yeti Table?
|
|
12
|
-
|
|
13
|
-
Perhaps the biggest difference compared to other table solution is that Yeti Table uses templates to define your columns.
|
|
14
|
-
In many other table solutions you need to define columns in javascript.
|
|
15
|
-
Yeti Table was born from an experimentation of trying to define columns in templates.
|
|
16
|
-
|
|
17
|
-
In practice, this empowers customization and feels more in line with writing regular HTML tables.
|
|
18
|
-
This fact has many implications on the whole API of Yeti Table.
|
|
19
|
-
|
|
20
|
-
Yeti table currently weights around `6.17kb` (minified and gzipped).
|
|
21
|
-
|
|
22
|
-
## Features
|
|
23
|
-
|
|
24
|
-
Yeti Table was built with the needs of a real production app in mind. Out of the box, it supports:
|
|
25
|
-
|
|
26
|
-
- **Client side row sorting** - On a single column or on multiple columns.
|
|
27
|
-
- **Client side row filtering** - You can apply a global filter to the table or just to specific columns.
|
|
28
|
-
- **Client side pagination** - Provides pagination controls, but encourages you to build your own as well.
|
|
29
|
-
- **Server side data** - Allows your server to drive the table pagination, filtering and sorting if you choose to. Useful when the dataset is too large to fetch.
|
|
30
|
-
- **Customization** - Does not provide any styles. You can customize pretty much everything about how the tables are rendered on your templates. This includes custom css classes, click handlers and custom filtering and sorting logic.
|
|
31
|
-
|
|
32
16
|
## Usage
|
|
33
17
|
|
|
34
|
-
|
|
35
|
-
or a promise that resolves to such an array.
|
|
36
|
-
|
|
37
|
-
Then you must define your table columns inside the header component, each of them with a `@prop` argument that corresponds to the
|
|
38
|
-
property key of each object that you want to display for that column. Yeti Table will update itself based on
|
|
39
|
-
these property names, e.g if a `firstName` property of an object changes, Yeti Table might need to re-sort
|
|
40
|
-
or re-filter the rows.
|
|
41
|
-
|
|
42
|
-
Afterwards, we just need to define our table body. If you use `<table.body/>` in the blockless form,
|
|
43
|
-
Yeti Table "unrolls" all the rows for you. This is useful for simple tables. Here is such an example:
|
|
44
|
-
|
|
45
|
-
```hbs
|
|
46
|
-
<YetiTable @data={{this.data}} as |table|>
|
|
47
|
-
|
|
48
|
-
<table.header as |header|>
|
|
49
|
-
<header.column @prop="firstName">
|
|
50
|
-
First name
|
|
51
|
-
</header.column>
|
|
52
|
-
<header.column @prop="lastName">
|
|
53
|
-
Last name
|
|
54
|
-
</header.column>
|
|
55
|
-
<header.column @prop="points">
|
|
56
|
-
Points
|
|
57
|
-
</header.column>
|
|
58
|
-
</table.header>
|
|
59
|
-
|
|
60
|
-
<table.body/>
|
|
61
|
-
|
|
62
|
-
</YetiTable>
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
You will probably need to make more customizations, and to do so you will need to use `<table.header>`
|
|
66
|
-
and/or `<table.body>` in the block form. This form allows you to:
|
|
67
|
-
|
|
68
|
-
- Use any component or markup as a cell's content
|
|
69
|
-
- Use the row data across multiple cells of the same row
|
|
70
|
-
- Attach click listeners to the row or cell
|
|
71
|
-
- Use row data to conditionally add classes
|
|
72
|
-
|
|
73
|
-
Each `<body.row>` component accepts an optional `@onClick` action that will be called if the row is clicked.
|
|
74
|
-
|
|
75
|
-
Additionally, you might need to toggle the visibility of each row, and for that we can use the `@visible` argument
|
|
76
|
-
on the `<header.column>` component. It defaults to `true`. Setting it to false will hide all the cells for that column
|
|
77
|
-
accross all rows.
|
|
78
|
-
|
|
79
|
-
The `<header.column>` component also accepts a `@columnClass` argument. Yeti Table will apply this class all the cells
|
|
80
|
-
for that column accross all rows.
|
|
81
|
-
|
|
82
|
-
Check out more advanced features on the [Yeti Table documentation site](https://miguelcobain.github.io/ember-yeti-table).
|
|
83
|
-
|
|
84
|
-
## Compatibility
|
|
85
|
-
|
|
86
|
-
- Ember.js v3.20 or above
|
|
87
|
-
- Ember CLI v3.20 or above
|
|
88
|
-
|
|
89
|
-
## Editor integration
|
|
90
|
-
|
|
91
|
-
You can get autocomplete and additional information inside [Visual Studio Code](https://code.visualstudio.com/) by installing [els-addon-docs](https://github.com/lifeart/els-addon-docs) addon for [Unstable Ember Language Server](https://marketplace.visualstudio.com/items?itemName=lifeart.vscode-ember-unstable).
|
|
92
|
-
|
|
93
|
-
## Credits
|
|
94
|
-
|
|
95
|
-
Credits to the amazing [Ember Table](https://github.com/Addepar/ember-table) addon.
|
|
96
|
-
|
|
97
|
-
Yeti Table was also inpired by [DataTables](https://datatables.net/) in a lot of its features.
|
|
98
|
-
|
|
99
|
-
## Contributing
|
|
100
|
-
|
|
101
|
-
### Installation
|
|
102
|
-
|
|
103
|
-
- `git clone <repository-url>`
|
|
104
|
-
- `cd ember-yeti-table`
|
|
105
|
-
- `npm install`
|
|
106
|
-
|
|
107
|
-
### Linting
|
|
108
|
-
|
|
109
|
-
- `npm run lint:hbs`
|
|
110
|
-
- `npm run lint:js`
|
|
111
|
-
- `npm run lint:js -- --fix`
|
|
112
|
-
|
|
113
|
-
### Running tests
|
|
114
|
-
|
|
115
|
-
- `ember test` – Runs the test suite on the current Ember version
|
|
116
|
-
- `ember test --server` – Runs the test suite in "watch mode"
|
|
117
|
-
- `ember try:each` – Runs the test suite against multiple Ember versions
|
|
118
|
-
|
|
119
|
-
### Running the dummy application
|
|
120
|
-
|
|
121
|
-
- `ember serve`
|
|
122
|
-
- Visit the dummy application at [http://localhost:4200](http://localhost:4200).
|
|
123
|
-
|
|
124
|
-
For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/).
|
|
18
|
+
[Longer description of how to use the addon in apps.]
|
|
125
19
|
|
|
126
20
|
## Contributing
|
|
127
21
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type { WithBoundArgs } from '@glint/template';
|
|
3
|
+
import TBodyRow from './tbody/row';
|
|
4
|
+
import type { ColumnDefinition, Row, RowClickHandler, Theme } from '../../types.ts';
|
|
5
|
+
/**
|
|
6
|
+
Renders a `<tbody>` element and yields the row component, row data and index.
|
|
7
|
+
|
|
8
|
+
@class Body
|
|
9
|
+
*/
|
|
10
|
+
export interface BodySignature {
|
|
11
|
+
Element: HTMLTableSectionElement;
|
|
12
|
+
Args: {
|
|
13
|
+
theme?: Theme;
|
|
14
|
+
data?: Row[];
|
|
15
|
+
columns?: ColumnDefinition[];
|
|
16
|
+
onRowClick?: RowClickHandler;
|
|
17
|
+
};
|
|
18
|
+
Blocks: {
|
|
19
|
+
default: [
|
|
20
|
+
{
|
|
21
|
+
row: WithBoundArgs<typeof TBodyRow, 'theme' | 'onClick' | 'columns'>;
|
|
22
|
+
},
|
|
23
|
+
Row,
|
|
24
|
+
number
|
|
25
|
+
];
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export default class Body extends Component<BodySignature> {
|
|
29
|
+
handleRowClick(rowData: Row): void;
|
|
30
|
+
asContent: (value: unknown) => string;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=body.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../src/components/yeti-table/body.gts"],"names":[],"mappings":"AAmGA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAI3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EACV,gBAAgB,EAChB,GAAG,EACH,eAAe,EACf,KAAK,EACN,MAAM,gBAAgB,CAAC;AAExB;;;;EAIE;AAEF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,uBAAuB,CAAC;IACjC,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC7B,UAAU,CAAC,EAAE,eAAe,CAAC;KAC9B,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBAAE,GAAG,EAAE,aAAa,CAAC,OAAO,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAAA;aAAE;YACxE,GAAG;YACH,MAAM;SACP,CAAC;KACH,CAAC;CACH;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAS,CAAC,aAAa,CAAC;IAExD,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAIlC,SAAS,GAAI,OAAO,OAAO,KAAG,MAAM,CAWlC;CA8DH"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type { WithBoundArgs } from '@glint/template';
|
|
3
|
+
import Column from './thead/row/column';
|
|
4
|
+
import type { ColumnParent } from './thead/row/column';
|
|
5
|
+
import type { ColumnDefinition, SortDirection, Theme } from '../../types.ts';
|
|
6
|
+
/**
|
|
7
|
+
Renders a `<thead>` element and yields the column component.
|
|
8
|
+
|
|
9
|
+
@class Header
|
|
10
|
+
*/
|
|
11
|
+
export interface HeaderSignature {
|
|
12
|
+
Element: HTMLTableSectionElement;
|
|
13
|
+
Args: {
|
|
14
|
+
trClass?: string;
|
|
15
|
+
theme?: Theme;
|
|
16
|
+
sortable?: boolean;
|
|
17
|
+
sortSequence?: SortDirection[] | string;
|
|
18
|
+
columns?: ColumnDefinition[];
|
|
19
|
+
onColumnClick?: (column: Column, e: MouseEvent) => void;
|
|
20
|
+
parent?: ColumnParent;
|
|
21
|
+
};
|
|
22
|
+
Blocks: {
|
|
23
|
+
default: [
|
|
24
|
+
{
|
|
25
|
+
column: WithBoundArgs<typeof Column, 'sortable' | 'sortSequence' | 'onClick' | 'parent' | 'theme'>;
|
|
26
|
+
}
|
|
27
|
+
];
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export default class Header extends Component<HeaderSignature> {
|
|
31
|
+
onColumnClickHeader(column: Column, e: MouseEvent): void;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/components/yeti-table/header.gts"],"names":[],"mappings":"AAoEA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAI3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE7E;;;;EAIE;AAEF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,uBAAuB,CAAC;IACjC,IAAI,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QACxC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC7B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;QACxD,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,aAAa,CACnB,OAAO,MAAM,EACb,UAAU,GAAG,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAC7D,CAAC;aACH;SACF,CAAC;KACH,CAAC;CACH;AAED,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,SAAS,CAAC,eAAe,CAAC;IAE5D,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI;CA6BzD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type { PaginationActions, PaginationData, Theme } from '../../types.ts';
|
|
3
|
+
/**
|
|
4
|
+
Simple pagination controls component that is included to help you get started quickly.
|
|
5
|
+
|
|
6
|
+
@class Pagination
|
|
7
|
+
*/
|
|
8
|
+
export interface PaginationSignature {
|
|
9
|
+
Element: HTMLDivElement;
|
|
10
|
+
Args: {
|
|
11
|
+
theme?: Theme;
|
|
12
|
+
paginationData: PaginationData;
|
|
13
|
+
paginationActions: PaginationActions;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
pageSizes?: number[];
|
|
16
|
+
showInfo?: boolean;
|
|
17
|
+
showPageSizeSelector?: boolean;
|
|
18
|
+
showButtons?: boolean;
|
|
19
|
+
};
|
|
20
|
+
Blocks: {
|
|
21
|
+
default: [];
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export default class Pagination extends Component<PaginationSignature> {
|
|
25
|
+
isPaginationNumberSelected: import("@ember/component/helper").FunctionBasedHelper<{
|
|
26
|
+
Args: {
|
|
27
|
+
Positional: [number];
|
|
28
|
+
Named: object;
|
|
29
|
+
};
|
|
30
|
+
Return: boolean;
|
|
31
|
+
}>;
|
|
32
|
+
get shouldDisablePrevious(): boolean;
|
|
33
|
+
get shouldDisableNext(): boolean;
|
|
34
|
+
pageSizes: number[];
|
|
35
|
+
showInfo: boolean;
|
|
36
|
+
showPageSizeSelector: boolean;
|
|
37
|
+
showButtons: boolean;
|
|
38
|
+
changePageSize(ev: Event): void;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/components/yeti-table/pagination.gts"],"names":[],"mappings":"AAwHA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAK3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG/E;;;;EAIE;AAEF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,EAAE,cAAc,CAAC;QAC/B,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,MAAM,EAAE;QAAE,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAS,CAAC,mBAAmB,CAAC;IACpE,0BAA0B;;;;;;OAEvB;IAEH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAGD,SAAS,EAAG,MAAM,EAAE,CAAC;IAGrB,QAAQ,EAAG,OAAO,CAAC;IAGnB,oBAAoB,EAAG,OAAO,CAAC;IAG/B,WAAW,EAAG,OAAO,CAAC;IAGtB,cAAc,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI;CAgHhC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TemplateOnlyComponent } from '@ember/component/template-only';
|
|
2
|
+
import type { Theme } from '../../types.ts';
|
|
3
|
+
/**
|
|
4
|
+
A simple component that just renders the `<table>` element with the correct
|
|
5
|
+
theme classes.
|
|
6
|
+
|
|
7
|
+
@class Table
|
|
8
|
+
*/
|
|
9
|
+
export interface TableSignature {
|
|
10
|
+
Element: HTMLTableElement;
|
|
11
|
+
Args: {
|
|
12
|
+
theme?: Theme;
|
|
13
|
+
parent?: unknown;
|
|
14
|
+
};
|
|
15
|
+
Blocks: {
|
|
16
|
+
default: [];
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
declare const Table: TemplateOnlyComponent<TableSignature>;
|
|
20
|
+
export default Table;
|
|
21
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/yeti-table/table.gts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;EAKE;AAEF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QAAE,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC;CACzB;AAED,QAAA,MAAM,KAAK,EAAE,qBAAqB,CAAC,cAAc,CAY/C,CAAC;AAEH,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type Owner from '@ember/owner';
|
|
3
|
+
import type { ColumnDefinition, Theme } from '../../../../types.ts';
|
|
4
|
+
/**
|
|
5
|
+
@class TBodyCell
|
|
6
|
+
|
|
7
|
+
Renders a `<td>` element (if its corresponding column definition has `@visible={{true}}`).
|
|
8
|
+
```hbs
|
|
9
|
+
<row.cell>
|
|
10
|
+
{{person.firstName}}
|
|
11
|
+
</row.cell>
|
|
12
|
+
|
|
13
|
+
If the prop name was used when the column header was defined, it is yielded in a hash
|
|
14
|
+
```hbs
|
|
15
|
+
<row.cell as |column|>
|
|
16
|
+
{{get person column.prop}}
|
|
17
|
+
</row.cell>
|
|
18
|
+
```
|
|
19
|
+
*/
|
|
20
|
+
export interface TBodyCellParent {
|
|
21
|
+
registerCell(cell: TBodyCell): number;
|
|
22
|
+
unregisterCell(cell: TBodyCell): void;
|
|
23
|
+
}
|
|
24
|
+
export interface TBodyCellSignature {
|
|
25
|
+
Element: HTMLTableCellElement;
|
|
26
|
+
Args: {
|
|
27
|
+
class?: string;
|
|
28
|
+
theme?: Theme;
|
|
29
|
+
parent?: TBodyCellParent;
|
|
30
|
+
columns?: ColumnDefinition[];
|
|
31
|
+
};
|
|
32
|
+
Blocks: {
|
|
33
|
+
default: [{
|
|
34
|
+
prop: string | undefined;
|
|
35
|
+
}];
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export default class TBodyCell extends Component<TBodyCellSignature> {
|
|
39
|
+
index: number | undefined;
|
|
40
|
+
get column(): ColumnDefinition;
|
|
41
|
+
constructor(owner: Owner, args: TBodyCellSignature['Args']);
|
|
42
|
+
willDestroy(): void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=cell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/yeti-table/tbody/row/cell.gts"],"names":[],"mappings":"AAsEA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;;;;;;;;;;;;;;EAeE;AAEF,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACtC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAC9B,CAAC;IACF,MAAM,EAAE;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CACrD;AAED,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAAS,CAAC,kBAAkB,CAAC;IAElE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,IAAI,MAAM,IAAI,gBAAgB,CAE7B;gBAEW,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAK1D,WAAW,IAAI,IAAI;CAsBpB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type { WithBoundArgs } from '@glint/template';
|
|
3
|
+
import Cell from './row/cell';
|
|
4
|
+
import type { ColumnDefinition, RowClickHandler, Theme } from '../../../types.ts';
|
|
5
|
+
/**
|
|
6
|
+
Renders a `<tr>` element and yields the cell component.
|
|
7
|
+
|
|
8
|
+
@class TBodyRow
|
|
9
|
+
@yield {object} row
|
|
10
|
+
@yield {Component} row.cell - the cell component
|
|
11
|
+
*/
|
|
12
|
+
interface TBodyCellLike {
|
|
13
|
+
index?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface TBodyRowSignature {
|
|
16
|
+
Element: HTMLTableRowElement;
|
|
17
|
+
Args: {
|
|
18
|
+
theme?: Theme;
|
|
19
|
+
columns?: ColumnDefinition[];
|
|
20
|
+
onClick?: RowClickHandler;
|
|
21
|
+
};
|
|
22
|
+
Blocks: {
|
|
23
|
+
default: [
|
|
24
|
+
{
|
|
25
|
+
cell: WithBoundArgs<typeof Cell, 'theme' | 'parent' | 'columns'>;
|
|
26
|
+
}
|
|
27
|
+
];
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export default class TBodyRow extends Component<TBodyRowSignature> {
|
|
31
|
+
cells: TBodyCellLike[];
|
|
32
|
+
registerCell(cell: TBodyCellLike): number;
|
|
33
|
+
unregisterCell(cell: TBodyCellLike): void;
|
|
34
|
+
handleClick(event: MouseEvent): void;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../../src/components/yeti-table/tbody/row.gts"],"names":[],"mappings":"AA6EA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAK3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B;;;;;;EAME;AAEF,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBAAE,IAAI,EAAE,aAAa,CAAC,OAAO,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAA;aAAE;SACrE,CAAC;KACH,CAAC;CACH;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAChE,KAAK,EAAE,aAAa,EAAE,CAAM;IAE5B,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAMzC,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAQzC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAsBrC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type { WithBoundArgs } from '@glint/template';
|
|
3
|
+
import TBodyRow from './tbody/row';
|
|
4
|
+
import type { ColumnDefinition, Row, RowClickHandler, Theme } from '../../types.ts';
|
|
5
|
+
/**
|
|
6
|
+
Renders a `<tbody>` element and yields the row component and data. You must iterate each row.
|
|
7
|
+
|
|
8
|
+
@class TBody
|
|
9
|
+
*/
|
|
10
|
+
export interface TBodySignature {
|
|
11
|
+
Element: HTMLTableSectionElement;
|
|
12
|
+
Args: {
|
|
13
|
+
theme?: Theme;
|
|
14
|
+
data?: Row[];
|
|
15
|
+
columns?: ColumnDefinition[];
|
|
16
|
+
onRowClick?: RowClickHandler;
|
|
17
|
+
};
|
|
18
|
+
Blocks: {
|
|
19
|
+
default: [
|
|
20
|
+
{
|
|
21
|
+
row: WithBoundArgs<typeof TBodyRow, 'theme' | 'onClick' | 'columns'>;
|
|
22
|
+
},
|
|
23
|
+
Row[] | undefined
|
|
24
|
+
];
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export default class TBody extends Component<TBodySignature> {
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=tbody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["../../../src/components/yeti-table/tbody.gts"],"names":[],"mappings":"AAqDA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAI3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EACV,gBAAgB,EAChB,GAAG,EACH,eAAe,EACf,KAAK,EACN,MAAM,gBAAgB,CAAC;AAExB;;;;EAIE;AAEF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,uBAAuB,CAAC;IACjC,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC7B,UAAU,CAAC,EAAE,eAAe,CAAC;KAC9B,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE,GAAG,EAAE,aAAa,CAAC,OAAO,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;aACtE;YACD,GAAG,EAAE,GAAG,SAAS;SAClB,CAAC;KACH,CAAC;CACH;AAGD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,SAAS,CAAC,cAAc,CAAC;CAgB3D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type Owner from '@ember/owner';
|
|
3
|
+
import type { ColumnDefinition, Theme } from '../../../../types.ts';
|
|
4
|
+
/**
|
|
5
|
+
Renders a `<td>` element and yields for the developer to supply content.
|
|
6
|
+
|
|
7
|
+
```hbs
|
|
8
|
+
<table.tfoot as |foot|>
|
|
9
|
+
<foot.row as |row|>
|
|
10
|
+
<row.cell>
|
|
11
|
+
Footer content
|
|
12
|
+
</row.cell>
|
|
13
|
+
</foot.row>
|
|
14
|
+
</table.tfoot>
|
|
15
|
+
```
|
|
16
|
+
@class TFootCell
|
|
17
|
+
*/
|
|
18
|
+
export interface TFootCellParent {
|
|
19
|
+
registerCell(cell: TFootCell): number;
|
|
20
|
+
unregisterCell(cell: TFootCell): void;
|
|
21
|
+
}
|
|
22
|
+
export interface TFootCellSignature {
|
|
23
|
+
Element: HTMLTableCellElement;
|
|
24
|
+
Args: {
|
|
25
|
+
class?: string;
|
|
26
|
+
theme?: Theme;
|
|
27
|
+
parent?: TFootCellParent;
|
|
28
|
+
columns?: ColumnDefinition[];
|
|
29
|
+
};
|
|
30
|
+
Blocks: {
|
|
31
|
+
default: [];
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export default class TFootCell extends Component<TFootCellSignature> {
|
|
35
|
+
index: number | undefined;
|
|
36
|
+
get column(): ColumnDefinition | undefined;
|
|
37
|
+
constructor(owner: Owner, args: TFootCellSignature['Args']);
|
|
38
|
+
willDestroy(): void;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=cell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/yeti-table/tfoot/row/cell.gts"],"names":[],"mappings":"AAgEA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACtC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAC9B,CAAC;IACF,MAAM,EAAE;QAAE,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAAS,CAAC,kBAAkB,CAAC;IAElE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,IAAI,MAAM,IAAI,gBAAgB,GAAG,SAAS,CAEzC;gBAEW,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAM1D,WAAW,IAAI,IAAI;CAoBpB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type { WithBoundArgs } from '@glint/template';
|
|
3
|
+
import Cell from './row/cell';
|
|
4
|
+
import type { ColumnDefinition, Theme } from '../../../types.ts';
|
|
5
|
+
/**
|
|
6
|
+
Renders a `<tr>` element and yields cell component.
|
|
7
|
+
|
|
8
|
+
@class TFootRow
|
|
9
|
+
@yield {object} row
|
|
10
|
+
@yield {Component} row.cell
|
|
11
|
+
*/
|
|
12
|
+
interface TFootCellLike {
|
|
13
|
+
index?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface TFootRowSignature {
|
|
16
|
+
Element: HTMLTableRowElement;
|
|
17
|
+
Args: {
|
|
18
|
+
class?: string;
|
|
19
|
+
theme?: Theme;
|
|
20
|
+
columns?: ColumnDefinition[];
|
|
21
|
+
parent?: unknown;
|
|
22
|
+
};
|
|
23
|
+
Blocks: {
|
|
24
|
+
default: [
|
|
25
|
+
{
|
|
26
|
+
cell: WithBoundArgs<typeof Cell, 'theme' | 'parent' | 'columns'>;
|
|
27
|
+
}
|
|
28
|
+
];
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export default class TFootRow extends Component<TFootRowSignature> {
|
|
32
|
+
cells: TFootCellLike[];
|
|
33
|
+
registerCell(cell: TFootCellLike): number;
|
|
34
|
+
unregisterCell(cell: TFootCellLike): void;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../../src/components/yeti-table/tfoot/row.gts"],"names":[],"mappings":"AA2DA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAI3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEjE;;;;;;EAME;AAEF,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBAAE,IAAI,EAAE,aAAa,CAAC,OAAO,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAA;aAAE;SACrE,CAAC;KACH,CAAC;CACH;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAChE,KAAK,EAAE,aAAa,EAAE,CAAM;IAE5B,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAMzC,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;CAqB1C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type { WithBoundArgs } from '@glint/template';
|
|
3
|
+
import TFootRow from './tfoot/row';
|
|
4
|
+
import type { ColumnDefinition, Theme } from '../../types.ts';
|
|
5
|
+
/**
|
|
6
|
+
Renders a `<tfoot>` element and yields the row component.
|
|
7
|
+
|
|
8
|
+
@class TTFoot
|
|
9
|
+
*/
|
|
10
|
+
export interface TFootSignature {
|
|
11
|
+
Element: HTMLTableSectionElement;
|
|
12
|
+
Args: {
|
|
13
|
+
theme?: Theme;
|
|
14
|
+
columns?: ColumnDefinition[];
|
|
15
|
+
parent?: unknown;
|
|
16
|
+
};
|
|
17
|
+
Blocks: {
|
|
18
|
+
default: [
|
|
19
|
+
{
|
|
20
|
+
row: WithBoundArgs<typeof TFootRow, 'columns' | 'theme' | 'parent'>;
|
|
21
|
+
}
|
|
22
|
+
];
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export default class TFoot extends Component<TFootSignature> {
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=tfoot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tfoot.d.ts","sourceRoot":"","sources":["../../../src/components/yeti-table/tfoot.gts"],"names":[],"mappings":"AAyCA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAI3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;;;EAIE;AAEF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,uBAAuB,CAAC;IACjC,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBAAE,GAAG,EAAE,aAAa,CAAC,OAAO,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAA;aAAE;SACxE,CAAC;KACH,CAAC;CACH;AAGD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,SAAS,CAAC,cAAc,CAAC;CAgB3D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import type Owner from '@ember/owner';
|
|
3
|
+
import type { ColumnDefinition, Theme } from '../../../../types.ts';
|
|
4
|
+
/**
|
|
5
|
+
An component yielded from the head.row component that is used to define
|
|
6
|
+
a cell in a row of the head of the table. Would be used for filters or any other
|
|
7
|
+
additional information in the table head for a column
|
|
8
|
+
|
|
9
|
+
```hbs
|
|
10
|
+
<table.thead as |head|>
|
|
11
|
+
<head.row as |row|>
|
|
12
|
+
<row.cell>
|
|
13
|
+
<input
|
|
14
|
+
class="input" type="search" placeholder="Search last name"
|
|
15
|
+
value={{this.lastNameFilter}}
|
|
16
|
+
{{on "input"
|
|
17
|
+
(pipe
|
|
18
|
+
(pick "target.value")
|
|
19
|
+
(fn (mut this.lastNameFilter))
|
|
20
|
+
)
|
|
21
|
+
}}
|
|
22
|
+
>
|
|
23
|
+
</row.cell>
|
|
24
|
+
</head.row>
|
|
25
|
+
</table.thead>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
@class THeadCell
|
|
29
|
+
@yield {object} cell
|
|
30
|
+
|
|
31
|
+
*/
|
|
32
|
+
export interface THeadCellParent {
|
|
33
|
+
registerCell(cell: THeadCell): ColumnDefinition | undefined;
|
|
34
|
+
unregisterCell(cell: THeadCell): void;
|
|
35
|
+
}
|
|
36
|
+
export interface THeadCellSignature {
|
|
37
|
+
Element: HTMLTableCellElement;
|
|
38
|
+
Args: {
|
|
39
|
+
class?: string;
|
|
40
|
+
theme?: Theme;
|
|
41
|
+
parent?: THeadCellParent;
|
|
42
|
+
prop?: string;
|
|
43
|
+
};
|
|
44
|
+
Blocks: {
|
|
45
|
+
default: [];
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export default class THeadCell extends Component<THeadCellSignature> {
|
|
49
|
+
column: ColumnDefinition | undefined;
|
|
50
|
+
constructor(owner: Owner, args: THeadCellSignature['Args']);
|
|
51
|
+
willDestroy(): void;
|
|
52
|
+
get prop(): string | undefined;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=cell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/yeti-table/thead/row/cell.gts"],"names":[],"mappings":"AA2EA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC5D,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE;QAAE,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAAS,CAAC,kBAAkB,CAAC;IAElE,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAa;gBAErC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAK1D,WAAW,IAAI,IAAI;IAKnB,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;CAiBF"}
|