@fluid-topics/ft-filterable-table 0.0.88
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/README.md +68 -0
- package/build/ft-filterable-table.d.ts +59 -0
- package/build/ft-filterable-table.js +338 -0
- package/build/ft-filterable-table.min.js +346 -0
- package/package.json +32 -0
package/README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
## Install
|
|
2
|
+
|
|
3
|
+
```shell
|
|
4
|
+
npm install @fluid-topics/ft-filterable-table
|
|
5
|
+
yarn add @fluid-topics/ft-filterable-table
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
|
|
10
|
+
### Lit
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
import { html } from "lit"
|
|
14
|
+
import "@fluid-topics/ft-filterable-table"
|
|
15
|
+
import {
|
|
16
|
+
ColumnConfiguration,
|
|
17
|
+
RowClickEvent
|
|
18
|
+
} from "@fluid-topics/ft-filterable-table"
|
|
19
|
+
|
|
20
|
+
interface Model {
|
|
21
|
+
...
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function render() {
|
|
25
|
+
const data: Array<Model> = [ ... ]
|
|
26
|
+
const columns: Array<ColumnConfiguration<Model>> = [ ... ]
|
|
27
|
+
const sort: Sort = {
|
|
28
|
+
column: 0,
|
|
29
|
+
order: "asc"
|
|
30
|
+
}
|
|
31
|
+
return html`
|
|
32
|
+
<ft-filterable-table
|
|
33
|
+
.data=${ data }
|
|
34
|
+
.columns=${ columns }
|
|
35
|
+
.sort=${ sort }
|
|
36
|
+
@row-click=${ (e: RowClickEvent<Model>) => console.log("Clicked on row: " + e.detail.title) }
|
|
37
|
+
/>
|
|
38
|
+
`
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Vanilla JS
|
|
43
|
+
|
|
44
|
+
```html
|
|
45
|
+
<!DOCTYPE html>
|
|
46
|
+
<html>
|
|
47
|
+
<head>
|
|
48
|
+
<title>Ft Filterable Table Demo</title>
|
|
49
|
+
<script src="./build/ft-filterable-table.min.js"></script>
|
|
50
|
+
<link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet">
|
|
51
|
+
</head>
|
|
52
|
+
<body>
|
|
53
|
+
<ft-filterable-table id="table"></ft-filterable-table>
|
|
54
|
+
<script>
|
|
55
|
+
const data = [...]
|
|
56
|
+
const columns = [...]
|
|
57
|
+
const sort = {
|
|
58
|
+
column: 0,
|
|
59
|
+
order: "asc"
|
|
60
|
+
}
|
|
61
|
+
let table = document.getElementById("table")
|
|
62
|
+
table.init(data, columns, sort)
|
|
63
|
+
table.addEventListener("row-click", e => console.log("Clicked on row: " + e.detail.title))
|
|
64
|
+
</script>
|
|
65
|
+
</body>
|
|
66
|
+
</html>
|
|
67
|
+
|
|
68
|
+
```
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { PropertyValues, TemplateResult } from "lit";
|
|
2
|
+
import { ElementDefinitionsMap, FtLitElement } from "@fluid-topics/ft-wc-utils";
|
|
3
|
+
export declare type Getter<T> = (o: T) => any;
|
|
4
|
+
export interface ColumnConfiguration<T> {
|
|
5
|
+
title: string | TemplateResult;
|
|
6
|
+
getter: string | Getter<T>;
|
|
7
|
+
render?: (value: any, index: number) => string | TemplateResult;
|
|
8
|
+
sortable?: boolean;
|
|
9
|
+
comparator?: (a: any, b: any) => number;
|
|
10
|
+
filter?: "text" | "select" | "date" | "none";
|
|
11
|
+
stringify?: (value: any, index: number) => string;
|
|
12
|
+
}
|
|
13
|
+
export interface Sort {
|
|
14
|
+
column: number;
|
|
15
|
+
order: "asc" | "desc";
|
|
16
|
+
}
|
|
17
|
+
interface Filter {
|
|
18
|
+
value?: string;
|
|
19
|
+
rangeStart?: Date;
|
|
20
|
+
rangeEnd?: Date;
|
|
21
|
+
}
|
|
22
|
+
export declare class RowClickEvent<T> extends CustomEvent<T> {
|
|
23
|
+
constructor(data: T);
|
|
24
|
+
}
|
|
25
|
+
export interface FtFilterableTableProperties<T extends Record<string, any>> {
|
|
26
|
+
data: Array<T>;
|
|
27
|
+
columns: Array<ColumnConfiguration<T>>;
|
|
28
|
+
sort?: Sort;
|
|
29
|
+
}
|
|
30
|
+
export interface FtFilterableTableCssVariables {
|
|
31
|
+
"--ft-filterable-table-header-background": string;
|
|
32
|
+
"--ft-filterable-table-odd-row-background": string;
|
|
33
|
+
"--ft-filterable-table-even-row-background": string;
|
|
34
|
+
"--ft-filterable-table-row-hover-background": string;
|
|
35
|
+
}
|
|
36
|
+
export declare class FtFilterableTable<T extends Record<string, any>> extends FtLitElement implements FtFilterableTableProperties<T> {
|
|
37
|
+
static elementDefinitions: ElementDefinitionsMap;
|
|
38
|
+
data: Array<T>;
|
|
39
|
+
columns: Array<ColumnConfiguration<T>>;
|
|
40
|
+
sort?: Sort;
|
|
41
|
+
currentSort?: Sort;
|
|
42
|
+
filters: Array<Filter>;
|
|
43
|
+
selectData: Array<Array<string>>;
|
|
44
|
+
protected getStyles(): import("lit").CSSResult;
|
|
45
|
+
init(data: Array<T>, columns: Array<ColumnConfiguration<T>>, sort?: Sort): void;
|
|
46
|
+
protected getTemplate(): TemplateResult<1>;
|
|
47
|
+
private filterData;
|
|
48
|
+
private sortData;
|
|
49
|
+
protected update(props: PropertyValues): void;
|
|
50
|
+
private updateSelectData;
|
|
51
|
+
private renderHeader;
|
|
52
|
+
private renderColumnSort;
|
|
53
|
+
private renderColumnFilter;
|
|
54
|
+
private renderCell;
|
|
55
|
+
private getValue;
|
|
56
|
+
private getValueAsString;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=ft-filterable-table.d.ts.map
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { css, html } from "lit";
|
|
8
|
+
import { property, state } from "lit/decorators.js";
|
|
9
|
+
import { repeat } from "lit/directives/repeat.js";
|
|
10
|
+
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
11
|
+
import { customElement, FtLitElement } from "@fluid-topics/ft-wc-utils";
|
|
12
|
+
import { FtSelect, FtSelectOption } from "@fluid-topics/ft-select";
|
|
13
|
+
import { FtTextField } from "@fluid-topics/ft-text-field";
|
|
14
|
+
import { FtButton } from "@fluid-topics/ft-button";
|
|
15
|
+
export class RowClickEvent extends CustomEvent {
|
|
16
|
+
constructor(data) {
|
|
17
|
+
super("row-click", { detail: data });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const DEFAULT_RENDER = (v) => html `${v}`;
|
|
21
|
+
const DEFAULT_COMPARATOR = (a, b) => a - b;
|
|
22
|
+
const DEFAULT_STRINGIFY = (v) => "" + v;
|
|
23
|
+
let FtFilterableTable = class FtFilterableTable extends FtLitElement {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(...arguments);
|
|
26
|
+
this.data = [];
|
|
27
|
+
this.columns = [];
|
|
28
|
+
this.filters = [];
|
|
29
|
+
this.selectData = [];
|
|
30
|
+
}
|
|
31
|
+
//language=css
|
|
32
|
+
getStyles() {
|
|
33
|
+
return css `
|
|
34
|
+
:host {
|
|
35
|
+
display: block;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.table {
|
|
39
|
+
display: grid;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.header, .row {
|
|
43
|
+
display: contents;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.header-cell {
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-direction: column;
|
|
49
|
+
background: var(--ft-filterable-table-header-background, whitesmoke);
|
|
50
|
+
color: var(--ft-color-on-surface-high, rgba(0, 0, 0, 0.87));
|
|
51
|
+
padding: .5rem 1rem;
|
|
52
|
+
font-family: var(--ft-title-font, Ubuntu), system-ui, sans-serif;
|
|
53
|
+
|
|
54
|
+
--mdc-icon-size: 20px;
|
|
55
|
+
--mdc-icon-button-size: 30px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.header-cell:first-of-type {
|
|
59
|
+
border-radius: .5rem 0 0 0;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.header-cell:last-of-type {
|
|
63
|
+
border-radius: 0 .5rem 0 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.column-title-container {
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.column-title-container ft-button {
|
|
72
|
+
--ft-color-surface: var(--ft-filterable-table-header-background, whitesmoke);
|
|
73
|
+
--ft-color-primary: var(--ft-color-on-surface-high, rgba(0, 0, 0, 0.87));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.column-title {
|
|
77
|
+
white-space: nowrap;
|
|
78
|
+
text-transform: uppercase;
|
|
79
|
+
margin-right: .5rem;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.column-filter {
|
|
83
|
+
flex-grow: 1;
|
|
84
|
+
flex-shrink: 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.column-filter:not(:empty) {
|
|
88
|
+
padding-top: .5rem;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.column-filter ft-text-field,
|
|
92
|
+
.column-filter ft-select {
|
|
93
|
+
width: 150px;
|
|
94
|
+
min-width: 100%;
|
|
95
|
+
|
|
96
|
+
--mdc-text-field-fill-color: var(--ft-filterable-table-header-background, whitesmoke);
|
|
97
|
+
--mdc-select-fill-color: var(--ft-filterable-table-header-background, whitesmoke);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.cell {
|
|
101
|
+
padding: 1rem;
|
|
102
|
+
border-left: 1px solid var(--ft-filterable-table-header-background, whitesmoke);
|
|
103
|
+
border-bottom: 1px solid var(--ft-filterable-table-header-background, whitesmoke);
|
|
104
|
+
overflow-x: auto;
|
|
105
|
+
display: flex;
|
|
106
|
+
align-items: center;
|
|
107
|
+
font-family: var(--ft-content-font, 'Open Sans'), system-ui, sans-serif;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* Even is 2n+1 and odd is 2n because of the header */
|
|
111
|
+
.row:nth-child(2n) > .cell {
|
|
112
|
+
background: var(--ft-filterable-table-odd-row-background, white);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.row:nth-child(2n + 1) > .cell {
|
|
116
|
+
background: var(--ft-filterable-table-even-row-background, #fdfdfd);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.row:hover > .cell {
|
|
120
|
+
background: var(--ft-filterable-table-row-hover-background, #fafafa);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.cell:last-of-type {
|
|
124
|
+
border-right: 1px solid var(--ft-filterable-table-header-background, whitesmoke);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.row:last-of-type .cell:first-of-type {
|
|
128
|
+
border-radius: 0 0 0 .5rem;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.row:last-of-type .cell:last-of-type {
|
|
132
|
+
border-radius: 0 0 .5rem 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.hidden {
|
|
136
|
+
visibility: hidden;
|
|
137
|
+
}
|
|
138
|
+
`;
|
|
139
|
+
}
|
|
140
|
+
init(data, columns, sort) {
|
|
141
|
+
this.data = data;
|
|
142
|
+
this.columns = columns;
|
|
143
|
+
this.sort = sort;
|
|
144
|
+
}
|
|
145
|
+
getTemplate() {
|
|
146
|
+
let data = this.sortData(this.filterData());
|
|
147
|
+
return html `
|
|
148
|
+
<style>
|
|
149
|
+
.table {
|
|
150
|
+
grid-template-columns: repeat(${this.columns.length}, minmax(min-content, auto));
|
|
151
|
+
}
|
|
152
|
+
</style>
|
|
153
|
+
<div class="table">
|
|
154
|
+
<div class="header">
|
|
155
|
+
${repeat(this.columns, (_, index) => "header-cell-" + index, (column, index) => this.renderHeader(column, index))}
|
|
156
|
+
</div>
|
|
157
|
+
${repeat(data, (_, rowIndex) => "row-" + rowIndex, (row, rowIndex) => html `
|
|
158
|
+
<div class="row"
|
|
159
|
+
@click=${() => this.dispatchEvent(new RowClickEvent(row))}>
|
|
160
|
+
${repeat(this.columns, (_, columnIndex) => "cell-" + rowIndex + " " + columnIndex, (column) => this.renderCell(column, row, rowIndex))}
|
|
161
|
+
</div>
|
|
162
|
+
`)}
|
|
163
|
+
</div>
|
|
164
|
+
`;
|
|
165
|
+
}
|
|
166
|
+
filterData() {
|
|
167
|
+
let data = [...this.data];
|
|
168
|
+
this.filters.forEach((filter, columnIndex) => {
|
|
169
|
+
var _a;
|
|
170
|
+
const column = this.columns[columnIndex];
|
|
171
|
+
if (filter) {
|
|
172
|
+
switch ((_a = column.filter) !== null && _a !== void 0 ? _a : "text") {
|
|
173
|
+
case "text":
|
|
174
|
+
if (filter.value) {
|
|
175
|
+
data = data.filter((row) => this.getValueAsString(column, row, columnIndex).toLowerCase().includes(filter.value.toLowerCase()));
|
|
176
|
+
}
|
|
177
|
+
break;
|
|
178
|
+
case "select":
|
|
179
|
+
if (filter.value) {
|
|
180
|
+
data = data.filter((row) => this.getValueAsString(column, row, columnIndex) === filter.value);
|
|
181
|
+
}
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
return data;
|
|
187
|
+
}
|
|
188
|
+
sortData(data) {
|
|
189
|
+
var _a;
|
|
190
|
+
if (this.currentSort) {
|
|
191
|
+
const column = this.columns[this.currentSort.column];
|
|
192
|
+
const ascComparator = (_a = column.comparator) !== null && _a !== void 0 ? _a : DEFAULT_COMPARATOR;
|
|
193
|
+
const comparator = this.currentSort.order === "asc" ? ascComparator : ((a, b) => -ascComparator(a, b));
|
|
194
|
+
return data.sort((a, b) => comparator(this.getValue(column, a), this.getValue(column, b)));
|
|
195
|
+
}
|
|
196
|
+
return data;
|
|
197
|
+
}
|
|
198
|
+
update(props) {
|
|
199
|
+
super.update(props);
|
|
200
|
+
if (props.has("sort")) {
|
|
201
|
+
this.currentSort = this.sort;
|
|
202
|
+
}
|
|
203
|
+
if (props.has("data") || props.has("columns")) {
|
|
204
|
+
this.updateSelectData();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
updateSelectData() {
|
|
208
|
+
this.selectData = [];
|
|
209
|
+
const data = this.data;
|
|
210
|
+
const columns = this.columns;
|
|
211
|
+
for (let index in columns) {
|
|
212
|
+
const column = columns[index];
|
|
213
|
+
if (column.filter === "select") {
|
|
214
|
+
this.selectData[index] = [...new Set(data.map((r, i) => this.getValueAsString(column, r, i)))]
|
|
215
|
+
.sort((a, b) => a.localeCompare(b));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
this.requestUpdate();
|
|
219
|
+
}
|
|
220
|
+
renderHeader(column, index) {
|
|
221
|
+
return html `
|
|
222
|
+
<div class="header-cell">
|
|
223
|
+
<div class="column-title-container">
|
|
224
|
+
<span class="column-title">${column.title}</span>
|
|
225
|
+
${this.renderColumnSort(column, index)}
|
|
226
|
+
</div>
|
|
227
|
+
<div class="column-filter">
|
|
228
|
+
${this.renderColumnFilter(column, index)}
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
`;
|
|
232
|
+
}
|
|
233
|
+
renderColumnSort(column, index) {
|
|
234
|
+
var _a;
|
|
235
|
+
const isSorted = this.currentSort && this.currentSort.column === index;
|
|
236
|
+
const sortIcon = isSorted ? (this.currentSort.order === "asc" ? "expand_more" : "expand_less") : "unfold_more";
|
|
237
|
+
const sort = () => {
|
|
238
|
+
var _a;
|
|
239
|
+
if (isSorted) {
|
|
240
|
+
if (((_a = this.currentSort) === null || _a === void 0 ? void 0 : _a.order) === "asc") {
|
|
241
|
+
this.currentSort = {
|
|
242
|
+
column: index,
|
|
243
|
+
order: "desc"
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
this.currentSort = undefined;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
this.currentSort = {
|
|
252
|
+
column: index,
|
|
253
|
+
order: "asc"
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
return html `
|
|
258
|
+
<ft-button
|
|
259
|
+
round
|
|
260
|
+
dense
|
|
261
|
+
class="${((_a = column.sortable) !== null && _a !== void 0 ? _a : true) ? "" : "hidden"}"
|
|
262
|
+
icon="${sortIcon}"
|
|
263
|
+
label="Sort ${column.title}"
|
|
264
|
+
@click=${sort}
|
|
265
|
+
></ft-button>
|
|
266
|
+
`;
|
|
267
|
+
}
|
|
268
|
+
renderColumnFilter(column, index) {
|
|
269
|
+
var _a, _b;
|
|
270
|
+
const onChange = (e) => {
|
|
271
|
+
this.filters[index] = { value: e.detail };
|
|
272
|
+
this.requestUpdate();
|
|
273
|
+
};
|
|
274
|
+
switch ((_a = column.filter) !== null && _a !== void 0 ? _a : "text") {
|
|
275
|
+
case "text":
|
|
276
|
+
return html `
|
|
277
|
+
<ft-text-field
|
|
278
|
+
label="Search ${column.title}"
|
|
279
|
+
@live-change="${onChange}"
|
|
280
|
+
></ft-text-field>
|
|
281
|
+
`;
|
|
282
|
+
case "select":
|
|
283
|
+
const values = (_b = this.selectData[index]) !== null && _b !== void 0 ? _b : [];
|
|
284
|
+
return values.length ? html `
|
|
285
|
+
<ft-select label="Filter ${column.title}" @change=${onChange}>
|
|
286
|
+
<ft-select-option></ft-select-option>
|
|
287
|
+
${values.map(v => html `
|
|
288
|
+
<ft-select-option value="${v}" label="${v}"></ft-select-option>
|
|
289
|
+
`)}
|
|
290
|
+
</ft-select>
|
|
291
|
+
` : null;
|
|
292
|
+
case "date":
|
|
293
|
+
break;
|
|
294
|
+
}
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
renderCell(column, row, rowIndex) {
|
|
298
|
+
var _a;
|
|
299
|
+
const renderer = (_a = column.render) !== null && _a !== void 0 ? _a : DEFAULT_RENDER;
|
|
300
|
+
const render = (value) => {
|
|
301
|
+
const rendered = renderer(value, rowIndex);
|
|
302
|
+
return typeof rendered === "string" ? unsafeHTML(rendered) : rendered;
|
|
303
|
+
};
|
|
304
|
+
return html `
|
|
305
|
+
<div class="cell">${render(this.getValue(column, row))}</div>
|
|
306
|
+
`;
|
|
307
|
+
}
|
|
308
|
+
getValue(column, row) {
|
|
309
|
+
return typeof column.getter === "string" ? row[column.getter] : column.getter(row);
|
|
310
|
+
}
|
|
311
|
+
getValueAsString(column, row, index) {
|
|
312
|
+
const value = this.getValue(column, row);
|
|
313
|
+
return typeof column.stringify === "function" ? column.stringify(value, index) : DEFAULT_STRINGIFY(value);
|
|
314
|
+
}
|
|
315
|
+
};
|
|
316
|
+
FtFilterableTable.elementDefinitions = {
|
|
317
|
+
"ft-button": FtButton,
|
|
318
|
+
"ft-select": FtSelect,
|
|
319
|
+
"ft-select-option": FtSelectOption,
|
|
320
|
+
"ft-text-field": FtTextField,
|
|
321
|
+
};
|
|
322
|
+
__decorate([
|
|
323
|
+
property({ attribute: false })
|
|
324
|
+
], FtFilterableTable.prototype, "data", void 0);
|
|
325
|
+
__decorate([
|
|
326
|
+
property({ attribute: false })
|
|
327
|
+
], FtFilterableTable.prototype, "columns", void 0);
|
|
328
|
+
__decorate([
|
|
329
|
+
property({ attribute: false })
|
|
330
|
+
], FtFilterableTable.prototype, "sort", void 0);
|
|
331
|
+
__decorate([
|
|
332
|
+
state()
|
|
333
|
+
], FtFilterableTable.prototype, "currentSort", void 0);
|
|
334
|
+
FtFilterableTable = __decorate([
|
|
335
|
+
customElement("ft-filterable-table")
|
|
336
|
+
], FtFilterableTable);
|
|
337
|
+
export { FtFilterableTable };
|
|
338
|
+
//# sourceMappingURL=ft-filterable-table.js.map
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
!function(t){
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2019 Google LLC
|
|
5
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
+
*/
|
|
7
|
+
const e=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),r=new Map;class o{constructor(t,e){if(this._$cssResult$=!0,e!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){let t=r.get(this.cssText);return e&&void 0===t&&(r.set(this.cssText,t=new CSSStyleSheet),t.replaceSync(this.cssText)),t}toString(){return this.cssText}}const n=(t,...e)=>{const r=1===t.length?t[0]:e.reduce(((e,i,r)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[r+1]),t[0]);return new o(r,i)},a=(t,i)=>{e?t.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):i.forEach((e=>{const i=document.createElement("style"),r=window.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=e.cssText,t.appendChild(i)}))},s=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new o("string"==typeof t?t:t+"",i))(e)})(t):t
|
|
8
|
+
/**
|
|
9
|
+
* @license
|
|
10
|
+
* Copyright 2017 Google LLC
|
|
11
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
12
|
+
*/;var l;const c=window.trustedTypes,p=c?c.emptyScript:"",d=window.reactiveElementPolyfillSupport,f={toAttribute(t,e){switch(e){case Boolean:t=t?p:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},u=(t,e)=>e!==t&&(e==e||t==t),h={attribute:!0,type:String,converter:f,reflect:!1,hasChanged:u};class v extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var e;null!==(e=this.l)&&void 0!==e||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const r=this._$Eh(i,e);void 0!==r&&(this._$Eu.set(r,i),t.push(r))})),t}static createProperty(t,e=h){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,r=this.getPropertyDescriptor(t,i,e);void 0!==r&&Object.defineProperty(this.prototype,t,r)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(r){const o=this[t];this[e]=r,this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||h}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(s(t))}else void 0!==t&&e.push(s(t));return e}static _$Eh(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$Eg)&&void 0!==e?e:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$Eg)||void 0===e||e.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Et.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return a(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ES(t,e,i=h){var r,o;const n=this.constructor._$Eh(t,i);if(void 0!==n&&!0===i.reflect){const a=(null!==(o=null===(r=i.converter)||void 0===r?void 0:r.toAttribute)&&void 0!==o?o:f.toAttribute)(e,i.type);this._$Ei=t,null==a?this.removeAttribute(n):this.setAttribute(n,a),this._$Ei=null}}_$AK(t,e){var i,r,o;const n=this.constructor,a=n._$Eu.get(t);if(void 0!==a&&this._$Ei!==a){const t=n.getPropertyOptions(a),s=t.converter,l=null!==(o=null!==(r=null===(i=s)||void 0===i?void 0:i.fromAttribute)&&void 0!==r?r:"function"==typeof s?s:null)&&void 0!==o?o:f.fromAttribute;this._$Ei=a,this[a]=l(e,t.type),this._$Ei=null}}requestUpdate(t,e,i){let r=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||u)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$Ei!==t&&(void 0===this._$E_&&(this._$E_=new Map),this._$E_.set(t,i))):r=!1),!this.isUpdatePending&&r&&(this._$Ep=this._$EC())}async _$EC(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,e)=>this[e]=t)),this._$Et=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$Eg)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$E_&&(this._$E_.forEach(((t,e)=>this._$ES(e,this[e],t))),this._$E_=void 0),this._$EU()}updated(t){}firstUpdated(t){}}
|
|
13
|
+
/**
|
|
14
|
+
* @license
|
|
15
|
+
* Copyright 2017 Google LLC
|
|
16
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
17
|
+
*/
|
|
18
|
+
var y;v.finalized=!0,v.elementProperties=new Map,v.elementStyles=[],v.shadowRootOptions={mode:"open"},null==d||d({ReactiveElement:v}),(null!==(l=globalThis.reactiveElementVersions)&&void 0!==l?l:globalThis.reactiveElementVersions=[]).push("1.2.2");const m=globalThis.trustedTypes,b=m?m.createPolicy("lit-html",{createHTML:t=>t}):void 0,g=`lit$${(Math.random()+"").slice(9)}$`,x="?"+g,w=`<${x}>`,k=document,$=(t="")=>k.createComment(t),S=t=>null===t||"object"!=typeof t&&"function"!=typeof t,z=Array.isArray,O=t=>{var e;return z(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},A=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,T=/-->/g,j=/>/g,C=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,E=/'/g,_=/"/g,M=/^(?:script|style|textarea|title)$/i,R=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),F=Symbol.for("lit-noChange"),B=Symbol.for("lit-nothing"),D=new WeakMap,I=k.createTreeWalker(k,129,null,!1),U=(t,e)=>{const i=t.length-1,r=[];let o,n=2===e?"<svg>":"",a=A;for(let e=0;e<i;e++){const i=t[e];let s,l,c=-1,p=0;for(;p<i.length&&(a.lastIndex=p,l=a.exec(i),null!==l);)p=a.lastIndex,a===A?"!--"===l[1]?a=T:void 0!==l[1]?a=j:void 0!==l[2]?(M.test(l[2])&&(o=RegExp("</"+l[2],"g")),a=C):void 0!==l[3]&&(a=C):a===C?">"===l[0]?(a=null!=o?o:A,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,s=l[1],a=void 0===l[3]?C:'"'===l[3]?_:E):a===_||a===E?a=C:a===T||a===j?a=A:(a=C,o=void 0);const d=a===C&&t[e+1].startsWith("/>")?" ":"";n+=a===A?i+w:c>=0?(r.push(s),i.slice(0,c)+"$lit$"+i.slice(c)+g+d):i+g+(-2===c?(r.push(void 0),e):d)}const s=n+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==b?b.createHTML(s):s,r]};class H{constructor({strings:t,_$litType$:e},i){let r;this.parts=[];let o=0,n=0;const a=t.length-1,s=this.parts,[l,c]=U(t,e);if(this.el=H.createElement(l,i),I.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(r=I.nextNode())&&s.length<a;){if(1===r.nodeType){if(r.hasAttributes()){const t=[];for(const e of r.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(g)){const i=c[n++];if(t.push(e),void 0!==i){const t=r.getAttribute(i.toLowerCase()+"$lit$").split(g),e=/([.?@])?(.*)/.exec(i);s.push({type:1,index:o,name:e[2],strings:t,ctor:"."===e[1]?q:"?"===e[1]?W:"@"===e[1]?K:V})}else s.push({type:6,index:o})}for(const e of t)r.removeAttribute(e)}if(M.test(r.tagName)){const t=r.textContent.split(g),e=t.length-1;if(e>0){r.textContent=m?m.emptyScript:"";for(let i=0;i<e;i++)r.append(t[i],$()),I.nextNode(),s.push({type:2,index:++o});r.append(t[e],$())}}}else if(8===r.nodeType)if(r.data===x)s.push({type:2,index:o});else{let t=-1;for(;-1!==(t=r.data.indexOf(g,t+1));)s.push({type:7,index:o}),t+=g.length-1}o++}}static createElement(t,e){const i=k.createElement("template");return i.innerHTML=t,i}}function N(t,e,i=t,r){var o,n,a,s;if(e===F)return e;let l=void 0!==r?null===(o=i._$Cl)||void 0===o?void 0:o[r]:i._$Cu;const c=S(e)?void 0:e._$litDirective$;return(null==l?void 0:l.constructor)!==c&&(null===(n=null==l?void 0:l._$AO)||void 0===n||n.call(l,!1),void 0===c?l=void 0:(l=new c(t),l._$AT(t,i,r)),void 0!==r?(null!==(a=(s=i)._$Cl)&&void 0!==a?a:s._$Cl=[])[r]=l:i._$Cu=l),void 0!==l&&(e=N(t,l._$AS(t,e.values),l,r)),e}class L{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:i},parts:r}=this._$AD,o=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:k).importNode(i,!0);I.currentNode=o;let n=I.nextNode(),a=0,s=0,l=r[0];for(;void 0!==l;){if(a===l.index){let e;2===l.type?e=new P(n,n.nextSibling,this,t):1===l.type?e=new l.ctor(n,l.name,l.strings,this,t):6===l.type&&(e=new Z(n,this,t)),this.v.push(e),l=r[++s]}a!==(null==l?void 0:l.index)&&(n=I.nextNode(),a++)}return o}m(t){let e=0;for(const i of this.v)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class P{constructor(t,e,i,r){var o;this.type=2,this._$AH=B,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=r,this._$Cg=null===(o=null==r?void 0:r.isConnected)||void 0===o||o}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=N(this,t,e),S(t)?t===B||null==t||""===t?(this._$AH!==B&&this._$AR(),this._$AH=B):t!==this._$AH&&t!==F&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):O(t)?this.A(t):this.$(t)}M(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}S(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==B&&S(this._$AH)?this._$AA.nextSibling.data=t:this.S(k.createTextNode(t)),this._$AH=t}T(t){var e;const{values:i,_$litType$:r}=t,o="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=H.createElement(r.h,this.options)),r);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===o)this._$AH.m(i);else{const t=new L(o,this),e=t.p(this.options);t.m(i),this.S(e),this._$AH=t}}_$AC(t){let e=D.get(t.strings);return void 0===e&&D.set(t.strings,e=new H(t)),e}A(t){z(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,r=0;for(const o of t)r===e.length?e.push(i=new P(this.M($()),this.M($()),this,this.options)):i=e[r],i._$AI(o),r++;r<e.length&&(this._$AR(i&&i._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class V{constructor(t,e,i,r,o){this.type=1,this._$AH=B,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=o,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=B}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,r){const o=this.strings;let n=!1;if(void 0===o)t=N(this,t,e,0),n=!S(t)||t!==this._$AH&&t!==F,n&&(this._$AH=t);else{const r=t;let a,s;for(t=o[0],a=0;a<o.length-1;a++)s=N(this,r[i+a],e,a),s===F&&(s=this._$AH[a]),n||(n=!S(s)||s!==this._$AH[a]),s===B?t=B:t!==B&&(t+=(null!=s?s:"")+o[a+1]),this._$AH[a]=s}n&&!r&&this.k(t)}k(t){t===B?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class q extends V{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===B?void 0:t}}const G=m?m.emptyScript:"";class W extends V{constructor(){super(...arguments),this.type=4}k(t){t&&t!==B?this.element.setAttribute(this.name,G):this.element.removeAttribute(this.name)}}class K extends V{constructor(t,e,i,r,o){super(t,e,i,r,o),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=N(this,t,e,0))&&void 0!==i?i:B)===F)return;const r=this._$AH,o=t===B&&r!==B||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,n=t!==B&&(r===B||o);o&&this.element.removeEventListener(this.name,this,r),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const J={P:"$lit$",V:g,L:x,I:1,N:U,R:L,D:O,j:N,H:P,O:V,F:W,B:K,W:q,Z},X=window.litHtmlPolyfillSupport;
|
|
19
|
+
/**
|
|
20
|
+
* @license
|
|
21
|
+
* Copyright 2017 Google LLC
|
|
22
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
23
|
+
*/
|
|
24
|
+
var Y,Q;null==X||X(H,P),(null!==(y=globalThis.litHtmlVersions)&&void 0!==y?y:globalThis.litHtmlVersions=[]).push("2.1.3");class tt extends v{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=((t,e,i)=>{var r,o;const n=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:e;let a=n._$litPart$;if(void 0===a){const t=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:null;n._$litPart$=a=new P(e.insertBefore($(),t),t,void 0,null!=i?i:{})}return a._$AI(t),a})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return F}}tt.finalized=!0,tt._$litElement$=!0,null===(Y=globalThis.litElementHydrateSupport)||void 0===Y||Y.call(globalThis,{LitElement:tt});const et=globalThis.litElementPolyfillSupport;null==et||et({LitElement:tt}),(null!==(Q=globalThis.litElementVersions)&&void 0!==Q?Q:globalThis.litElementVersions=[]).push("3.1.2");
|
|
25
|
+
/**
|
|
26
|
+
* @license
|
|
27
|
+
* Copyright 2017 Google LLC
|
|
28
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
29
|
+
*/
|
|
30
|
+
const it=t=>e=>"function"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:r}=e;return{kind:i,elements:r,finisher(e){window.customElements.define(t,e)}}})(t,e)
|
|
31
|
+
/**
|
|
32
|
+
* @license
|
|
33
|
+
* Copyright 2017 Google LLC
|
|
34
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
35
|
+
*/,rt=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function ot(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):rt(t,e)
|
|
36
|
+
/**
|
|
37
|
+
* @license
|
|
38
|
+
* Copyright 2017 Google LLC
|
|
39
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
40
|
+
*/}function nt(t){return ot({...t,state:!0})}
|
|
41
|
+
/**
|
|
42
|
+
* @license
|
|
43
|
+
* Copyright 2017 Google LLC
|
|
44
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
45
|
+
*/const at=({finisher:t,descriptor:e})=>(i,r)=>{var o;if(void 0===r){const r=null!==(o=i.originalKey)&&void 0!==o?o:i.key,n=null!=e?{kind:"method",placement:"prototype",key:r,descriptor:e(i.key)}:{...i,key:r};return null!=t&&(n.finisher=function(e){t(e,r)}),n}{const o=i.constructor;void 0!==e&&Object.defineProperty(i,r,e(r)),null==t||t(o,r)}}
|
|
46
|
+
/**
|
|
47
|
+
* @license
|
|
48
|
+
* Copyright 2017 Google LLC
|
|
49
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
50
|
+
*/;function st(t,e){return at({descriptor:i=>{const r={get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof i?Symbol():"__"+i;r.get=function(){var i,r;return void 0===this[e]&&(this[e]=null!==(r=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==r?r:null),this[e]}}return r}})}
|
|
51
|
+
/**
|
|
52
|
+
* @license
|
|
53
|
+
* Copyright 2021 Google LLC
|
|
54
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
55
|
+
*/var lt;const ct=null!=(null===(lt=window.HTMLSlotElement)||void 0===lt?void 0:lt.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter((t=>t.nodeType===Node.ELEMENT_NODE));
|
|
56
|
+
/**
|
|
57
|
+
* @license
|
|
58
|
+
* Copyright 2017 Google LLC
|
|
59
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
60
|
+
*/
|
|
61
|
+
const pt=1,dt=2,ft=t=>(...e)=>({_$litDirective$:t,values:e});class ut{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
|
|
62
|
+
/**
|
|
63
|
+
* @license
|
|
64
|
+
* Copyright 2020 Google LLC
|
|
65
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
66
|
+
*/const{H:ht}=J,vt=()=>document.createComment(""),yt=(t,e,i)=>{var r;const o=t._$AA.parentNode,n=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=o.insertBefore(vt(),n),r=o.insertBefore(vt(),n);i=new ht(e,r,t,t.options)}else{const e=i._$AB.nextSibling,a=i._$AM,s=a!==t;if(s){let e;null===(r=i._$AQ)||void 0===r||r.call(i,t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==a._$AU&&i._$AP(e)}if(e!==n||s){let t=i._$AA;for(;t!==e;){const e=t.nextSibling;o.insertBefore(t,n),t=e}}}return i},mt=(t,e,i=t)=>(t._$AI(e,i),t),bt={},gt=t=>{var e;null===(e=t._$AP)||void 0===e||e.call(t,!1,!0);let i=t._$AA;const r=t._$AB.nextSibling;for(;i!==r;){const t=i.nextSibling;i.remove(),i=t}},xt=(t,e,i)=>{const r=new Map;for(let o=e;o<=i;o++)r.set(t[o],o);return r},wt=ft(class extends ut{constructor(t){if(super(t),t.type!==dt)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let r;void 0===i?i=e:void 0!==e&&(r=e);const o=[],n=[];let a=0;for(const e of t)o[a]=r?r(e,a):a,n[a]=i(e,a),a++;return{values:n,keys:o}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,r]){var o;const n=(t=>t._$AH)(t),{values:a,keys:s}=this.dt(e,i,r);if(!Array.isArray(n))return this.at=s,a;const l=null!==(o=this.at)&&void 0!==o?o:this.at=[],c=[];let p,d,f=0,u=n.length-1,h=0,v=a.length-1;for(;f<=u&&h<=v;)if(null===n[f])f++;else if(null===n[u])u--;else if(l[f]===s[h])c[h]=mt(n[f],a[h]),f++,h++;else if(l[u]===s[v])c[v]=mt(n[u],a[v]),u--,v--;else if(l[f]===s[v])c[v]=mt(n[f],a[v]),yt(t,c[v+1],n[f]),f++,v--;else if(l[u]===s[h])c[h]=mt(n[u],a[h]),yt(t,n[f],n[u]),u--,h++;else if(void 0===p&&(p=xt(s,h,v),d=xt(l,f,u)),p.has(l[f]))if(p.has(l[u])){const e=d.get(s[h]),i=void 0!==e?n[e]:null;if(null===i){const e=yt(t,n[f]);mt(e,a[h]),c[h]=e}else c[h]=mt(i,a[h]),yt(t,n[f],i),n[e]=null;h++}else gt(n[u]),u--;else gt(n[f]),f++;for(;h<=v;){const e=yt(t,c[v+1]);mt(e,a[h]),c[h++]=e}for(;f<=u;){const t=n[f++];null!==t&>(t)}return this.at=s,((t,e=bt)=>{t._$AH=e})(t,c),F}});
|
|
67
|
+
/**
|
|
68
|
+
* @license
|
|
69
|
+
* Copyright 2017 Google LLC
|
|
70
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
71
|
+
*/
|
|
72
|
+
/**
|
|
73
|
+
* @license
|
|
74
|
+
* Copyright 2017 Google LLC
|
|
75
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
76
|
+
*/
|
|
77
|
+
class kt extends ut{constructor(t){if(super(t),this.it=B,t.type!==dt)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===B||null==t)return this.vt=void 0,this.it=t;if(t===F)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.vt;this.it=t;const e=[t];return e.raw=e,this.vt={_$litType$:this.constructor.resultType,strings:e,values:[]}}}kt.directiveName="unsafeHTML",kt.resultType=1;const $t=ft(kt);(function(){function t(t){var e=0;return function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}}}function e(e){var i="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];return i?i.call(e):{next:t(e)}}function i(t){if(!(t instanceof Array)){t=e(t);for(var i,r=[];!(i=t.next()).done;)r.push(i.value);t=r}return t}var r="function"==typeof Object.create?Object.create:function(t){function e(){}return e.prototype=t,new e};var o,n=function(t){t=["object"==typeof globalThis&&globalThis,t,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var e=0;e<t.length;++e){var i=t[e];if(i&&i.Math==Math)return i}throw Error("Cannot find global object")}(this),a=function(){if("undefined"!=typeof Reflect&&Reflect.construct){if(function(){function t(){}return Reflect.construct(t,[],(function(){})),new t instanceof t}())return Reflect.construct;var t=Reflect.construct;return function(e,i,r){return e=t(e,i),r&&Reflect.setPrototypeOf(e,r.prototype),e}}return function(t,e,i){return void 0===i&&(i=t),i=r(i.prototype||Object.prototype),Function.prototype.apply.call(t,i,e)||i}}();if("function"==typeof Object.setPrototypeOf)o=Object.setPrototypeOf;else{var s;t:{var l={};try{l.__proto__={a:!0},s=l.a;break t}catch(t){}s=!1}o=s?function(t,e){if(t.__proto__=e,t.__proto__!==e)throw new TypeError(t+" is not extensible");return t}:null}var c=o;if(!ShadowRoot.prototype.createElement){var p,d=window.HTMLElement,f=window.customElements.define,u=window.customElements.get,h=window.customElements,v=new WeakMap,y=new WeakMap,m=new WeakMap,b=new WeakMap;window.CustomElementRegistry=function(){this.l=new Map,this.o=new Map,this.i=new Map,this.h=new Map},window.CustomElementRegistry.prototype.define=function(t,i){if(t=t.toLowerCase(),void 0!==this.j(t))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': the name \""+t+'" has already been used with this registry');if(void 0!==this.o.get(i))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");var r=i.prototype.attributeChangedCallback,o=new Set(i.observedAttributes||[]);if(x(i,o,r),r={g:i,connectedCallback:i.prototype.connectedCallback,disconnectedCallback:i.prototype.disconnectedCallback,adoptedCallback:i.prototype.adoptedCallback,attributeChangedCallback:r,formAssociated:i.formAssociated,formAssociatedCallback:i.prototype.formAssociatedCallback,formDisabledCallback:i.prototype.formDisabledCallback,formResetCallback:i.prototype.formResetCallback,formStateRestoreCallback:i.prototype.formStateRestoreCallback,observedAttributes:o},this.l.set(t,r),this.o.set(i,r),(o=u.call(h,t))||(o=g(t),f.call(h,t,o)),this===window.customElements&&(m.set(i,r),r.s=o),o=this.h.get(t)){this.h.delete(t);for(var n=(o=e(o)).next();!n.done;n=o.next())n=n.value,y.delete(n),k(n,r,!0)}return void 0!==(r=this.i.get(t))&&(r.resolve(i),this.i.delete(t)),i},window.CustomElementRegistry.prototype.upgrade=function(){S.push(this),h.upgrade.apply(h,arguments),S.pop()},window.CustomElementRegistry.prototype.get=function(t){var e;return null==(e=this.l.get(t))?void 0:e.g},window.CustomElementRegistry.prototype.j=function(t){return this.l.get(t)},window.CustomElementRegistry.prototype.whenDefined=function(t){var e=this.j(t);if(void 0!==e)return Promise.resolve(e.g);var i=this.i.get(t);return void 0===i&&((i={}).promise=new Promise((function(t){return i.resolve=t})),this.i.set(t,i)),i.promise},window.CustomElementRegistry.prototype.m=function(t,e,i){var r=this.h.get(e);r||this.h.set(e,r=new Set),i?r.add(t):r.delete(t)},window.HTMLElement=function(){var t=p;if(t)return p=void 0,t;var e=m.get(this.constructor);if(!e)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return t=Reflect.construct(d,[],e.s),Object.setPrototypeOf(t,this.constructor.prototype),v.set(t,e),t},window.HTMLElement.prototype=d.prototype;var g=function(t){function e(){var e=Reflect.construct(d,[],this.constructor);Object.setPrototypeOf(e,HTMLElement.prototype);t:{var i=e.getRootNode();if(!(i===document||i instanceof ShadowRoot)){if((i=S[S.length-1])instanceof CustomElementRegistry){var r=i;break t}(i=i.getRootNode())===document||i instanceof ShadowRoot||(i=(null==(r=b.get(i))?void 0:r.getRootNode())||document)}r=i.customElements}return(i=(r=r||window.customElements).j(t))?k(e,i):y.set(e,r),e}return n.Object.defineProperty(e,"formAssociated",{configurable:!0,enumerable:!0,get:function(){return!0}}),e.prototype.connectedCallback=function(){var e=v.get(this);e?e.connectedCallback&&e.connectedCallback.apply(this,arguments):y.get(this).m(this,t,!0)},e.prototype.disconnectedCallback=function(){var e=v.get(this);e?e.disconnectedCallback&&e.disconnectedCallback.apply(this,arguments):y.get(this).m(this,t,!1)},e.prototype.adoptedCallback=function(){var t,e;null==(t=v.get(this))||null==(e=t.adoptedCallback)||e.apply(this,arguments)},e.prototype.formAssociatedCallback=function(){var t,e=v.get(this);e&&e.formAssociated&&(null==e||null==(t=e.formAssociatedCallback)||t.apply(this,arguments))},e.prototype.formDisabledCallback=function(){var t,e=v.get(this);null!=e&&e.formAssociated&&(null==e||null==(t=e.formDisabledCallback)||t.apply(this,arguments))},e.prototype.formResetCallback=function(){var t,e=v.get(this);null!=e&&e.formAssociated&&(null==e||null==(t=e.formResetCallback)||t.apply(this,arguments))},e.prototype.formStateRestoreCallback=function(){var t,e=v.get(this);null!=e&&e.formAssociated&&(null==e||null==(t=e.formStateRestoreCallback)||t.apply(this,arguments))},e},x=function(t,e,i){if(0!==e.size&&void 0!==i){var r=t.prototype.setAttribute;r&&(t.prototype.setAttribute=function(t,o){if(t=t.toLowerCase(),e.has(t)){var n=this.getAttribute(t);r.call(this,t,o),i.call(this,t,n,o)}else r.call(this,t,o)});var o=t.prototype.removeAttribute;o&&(t.prototype.removeAttribute=function(t){if(t=t.toLowerCase(),e.has(t)){var r=this.getAttribute(t);o.call(this,t),i.call(this,t,r,null)}else o.call(this,t)})}},w=function(t){var e=Object.getPrototypeOf(t);if(e!==window.HTMLElement)return e===d?Object.setPrototypeOf(t,window.HTMLElement):w(e)},k=function(t,e,i){i=void 0!==i&&i,Object.setPrototypeOf(t,e.g.prototype),v.set(t,e),p=t;try{new e.g}catch(t){w(e.g),new e.g}e.observedAttributes.forEach((function(i){t.hasAttribute(i)&&e.attributeChangedCallback.call(t,i,null,t.getAttribute(i))})),i&&e.connectedCallback&&t.isConnected&&e.connectedCallback.call(t)},$=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){var e=$.apply(this,arguments);return t.customElements&&(e.customElements=t.customElements),e};var S=[document],z=function(t,e,i){var r=(i?Object.getPrototypeOf(i):t.prototype)[e];t.prototype[e]=function(){S.push(this);var t=r.apply(i||this,arguments);return void 0!==t&&b.set(t,this),S.pop(),t}};z(ShadowRoot,"createElement",document),z(ShadowRoot,"importNode",document),z(Element,"insertAdjacentHTML");var O=function(t){var e=Object.getOwnPropertyDescriptor(t.prototype,"innerHTML");Object.defineProperty(t.prototype,"innerHTML",Object.assign({},e,{set:function(t){S.push(this),e.set.call(this,t),S.pop()}}))};if(O(Element),O(ShadowRoot),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){var A=new WeakMap,T=HTMLElement.prototype.attachInternals;HTMLElement.prototype.attachInternals=function(t){for(var e=[],r=0;r<arguments.length;++r)e[r]=arguments[r];return e=T.call.apply(T,[this].concat(i(e))),A.set(e,this),e},["setFormValue","setValidity","checkValidity","reportValidity"].forEach((function(t){var e=window.ElementInternals.prototype,r=e[t];e[t]=function(t){for(var e=[],o=0;o<arguments.length;++o)e[o]=arguments[o];if(o=A.get(this),!0!==v.get(o).formAssociated)throw new DOMException("Failed to execute "+r+" on 'ElementInternals': The target element is not a form-associated custom element.");null==r||r.call.apply(r,[this].concat(i(e)))}}));var j=function(t){var e=a(Array,[].concat(i(t)),this.constructor);return e.h=t,e},C=j,E=Array;if(C.prototype=r(E.prototype),C.prototype.constructor=C,c)c(C,E);else for(var _ in E)if("prototype"!=_)if(Object.defineProperties){var M=Object.getOwnPropertyDescriptor(E,_);M&&Object.defineProperty(C,_,M)}else C[_]=E[_];C.u=E.prototype,n.Object.defineProperty(j.prototype,"value",{configurable:!0,enumerable:!0,get:function(){var t;return(null==(t=this.h.find((function(t){return!0===t.checked})))?void 0:t.value)||""}});var R=function(t){var e=this,i=new Map;t.forEach((function(t,r){var o=t.getAttribute("name"),n=i.get(o)||[];e[+r]=t,n.push(t),i.set(o,n)})),this.length=t.length,i.forEach((function(t,i){t&&(e[i]=1===t.length?t[0]:new j(t))}))};R.prototype.namedItem=function(t){return this[t]};var F=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"elements");Object.defineProperty(HTMLFormElement.prototype,"elements",{get:function(){for(var t=F.get.call(this,[]),i=[],r=(t=e(t)).next();!r.done;r=t.next()){r=r.value;var o=v.get(r);o&&!0!==o.formAssociated||i.push(r)}return new R(i)}})}}}).call(self);try{window.customElements.define("custom-element",null)}catch(t){const e=window.customElements.define;window.customElements.define=(t,i,r)=>{try{e.bind(window.customElements)(t,i,r)}catch(e){console.warn(t,i,r,e)}}}class St{constructor(t=0){this.timeout=t,this.callbacks=[]}run(t,e){this.callbacks=[t],this.debounce(e)}queue(t,e){this.callbacks.push(t),this.debounce(e)}cancel(){null!=this._debounce&&window.clearTimeout(this._debounce)}debounce(t){this.cancel(),this._debounce=window.setTimeout((()=>this.runCallbacks()),null!=t?t:this.timeout)}runCallbacks(){for(let t of this.callbacks)t();this.callbacks=[]}}const zt=t=>e=>{window.customElements.get(t)||window.customElements.define(t,e)}
|
|
78
|
+
/**
|
|
79
|
+
* @license
|
|
80
|
+
* Copyright 2021 Google LLC
|
|
81
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
82
|
+
*/;class Ot extends(function(t){return class extends t{createRenderRoot(){const t=this.constructor,{registry:e,elementDefinitions:i,shadowRootOptions:r}=t;i&&!e&&(t.registry=new CustomElementRegistry,Object.entries(i).forEach((([e,i])=>t.registry.define(e,i))));const o=this.renderOptions.creationScope=this.attachShadow({...r,customElements:t.registry});return a(o,this.constructor.elementStyles),o}}}(tt)){constructor(){super(),this.constructorName=this.constructor.name,this.proto=this.constructor.prototype}getStyles(){return[]}getTemplate(){return null}render(){let t=this.getStyles();return Array.isArray(t)||(t=[t]),R`${t.map((t=>R`<style>${t}</style>`))} ${this.getTemplate()}`}adoptedCallback(){Object.getPrototypeOf(this)!==this.constructorName&&Object.setPrototypeOf(this,this.proto)}updated(t){super.updated(t),setTimeout((()=>this.contentAvailableCallback(t)),0)}contentAvailableCallback(t){}}var At,Tt,jt;const Ct=navigator.vendor&&!!navigator.vendor.match(/apple/i)||"[object SafariRemoteNotification]"===(null!==(jt=null===(Tt=null===(At=window.safari)||void 0===At?void 0:At.pushNotification)||void 0===Tt?void 0:Tt.toString())&&void 0!==jt?jt:""),Et=ft(class extends ut{constructor(t){var e;if(super(t),t.type!==pt||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){var i,r;if(void 0===this.st){this.st=new Set,void 0!==t.strings&&(this.et=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!(null===(i=this.et)||void 0===i?void 0:i.has(t))&&this.st.add(t);return this.render(e)}const o=t.element.classList;this.st.forEach((t=>{t in e||(o.remove(t),this.st.delete(t))}));for(const t in e){const i=!!e[t];i===this.st.has(t)||(null===(r=this.et)||void 0===r?void 0:r.has(t))||(i?(o.add(t),this.st.add(t)):(o.remove(t),this.st.delete(t)))}return F}}),_t=t=>({_$litStatic$:t}),Mt=new Map,Rt=(t=>(e,...i)=>{var r;const o=i.length;let n,a;const s=[],l=[];let c,p=0,d=!1;for(;p<o;){for(c=e[p];p<o&&void 0!==(a=i[p],n=null===(r=a)||void 0===r?void 0:r._$litStatic$);)c+=n+e[++p],d=!0;l.push(a),s.push(c),p++}if(p===o&&s.push(e[o]),d){const t=s.join("$$lit$$");void 0===(e=Mt.get(t))&&(s.raw=s,Mt.set(t,e=s)),i=l}return t(e,...i)})(R);
|
|
83
|
+
/**
|
|
84
|
+
* @license
|
|
85
|
+
* Copyright 2018 Google LLC
|
|
86
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
87
|
+
*/var Ft,Bt=function(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};!function(t){t.title="title",t.title_dense="title-dense",t.subtitle1="subtitle1",t.subtitle2="subtitle2",t.body1="body1",t.body2="body2",t.caption="caption",t.breadcrumb="breadcrumb",t.overline="overline",t.button="button"}(Ft||(Ft={}));const Dt=n`
|
|
88
|
+
.ft-typography--title {
|
|
89
|
+
font-family: var(--ft-typography-title-font-family, var(--ft-typography-font-family, var(--ft-title-font, Ubuntu))), system-ui, sans-serif;
|
|
90
|
+
font-size: var(--ft-typography-title-font-size, var(--ft-typography-font-size, 20px));
|
|
91
|
+
font-weight: var(--ft-typography-title-font-weight, var(--ft-typography-font-weight, normal));
|
|
92
|
+
letter-spacing: var(--ft-typography-title-letter-spacing, var(--ft-typography-letter-spacing, 0.15px));
|
|
93
|
+
line-height: var(--ft-typography-title-line-height, var(--ft-typography-line-height, 24px));
|
|
94
|
+
text-transform: var(--ft-typography-title-text-transform, var(--ft-typography-text-transform, inherit));
|
|
95
|
+
}
|
|
96
|
+
`,It=n`
|
|
97
|
+
.ft-typography--title-dense {
|
|
98
|
+
font-family: var(--ft-typography-title-dense-font-family, var(--ft-typography-font-family, var(--ft-title-font, Ubuntu))), system-ui, sans-serif;
|
|
99
|
+
font-size: var(--ft-typography-title-dense-font-size, var(--ft-typography-font-size, 14px));
|
|
100
|
+
font-weight: var(--ft-typography-title-dense-font-weight, var(--ft-typography-font-weight, normal));
|
|
101
|
+
letter-spacing: var(--ft-typography-title-dense-letter-spacing, var(--ft-typography-letter-spacing, 0.105px));
|
|
102
|
+
line-height: var(--ft-typography-title-dense-line-height, var(--ft-typography-line-height, 24px));
|
|
103
|
+
text-transform: var(--ft-typography-title-dense-text-transform, var(--ft-typography-text-transform, inherit));
|
|
104
|
+
}
|
|
105
|
+
`,Ut=n`
|
|
106
|
+
.ft-typography--subtitle1 {
|
|
107
|
+
font-family: var(--ft-typography-subtitle1-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
|
|
108
|
+
font-size: var(--ft-typography-subtitle1-font-size, var(--ft-typography-font-size, 16px));
|
|
109
|
+
font-weight: var(--ft-typography-subtitle1-font-weight, var(--ft-typography-font-weight, 600));
|
|
110
|
+
letter-spacing: var(--ft-typography-subtitle1-letter-spacing, var(--ft-typography-letter-spacing, 0.144px));
|
|
111
|
+
line-height: var(--ft-typography-subtitle1-line-height, var(--ft-typography-line-height, 24px));
|
|
112
|
+
text-transform: var(--ft-typography-subtitle1-text-transform, var(--ft-typography-text-transform, inherit));
|
|
113
|
+
}
|
|
114
|
+
`,Ht=n`
|
|
115
|
+
.ft-typography--subtitle2 {
|
|
116
|
+
font-family: var(--ft-typography-subtitle2-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
|
|
117
|
+
font-size: var(--ft-typography-subtitle2-font-size, var(--ft-typography-font-size, 14px));
|
|
118
|
+
font-weight: var(--ft-typography-subtitle2-font-weight, var(--ft-typography-font-weight, normal));
|
|
119
|
+
letter-spacing: var(--ft-typography-subtitle2-letter-spacing, var(--ft-typography-letter-spacing, 0.098px));
|
|
120
|
+
line-height: var(--ft-typography-subtitle2-line-height, var(--ft-typography-line-height, 24px));
|
|
121
|
+
text-transform: var(--ft-typography-subtitle2-text-transform, var(--ft-typography-text-transform, inherit));
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
`,Nt=n`
|
|
125
|
+
.ft-typography--body1 {
|
|
126
|
+
font-family: var(--ft-typography-body1-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
|
|
127
|
+
font-size: var(--ft-typography-body1-font-size, var(--ft-typography-font-size, 16px));
|
|
128
|
+
font-weight: var(--ft-typography-body1-font-weight, var(--ft-typography-font-weight, normal));
|
|
129
|
+
letter-spacing: var(--ft-typography-body1-letter-spacing, var(--ft-typography-letter-spacing, 0.496px));
|
|
130
|
+
line-height: var(--ft-typography-body1-line-height, var(--ft-typography-line-height, 24px));
|
|
131
|
+
text-transform: var(--ft-typography-body1-text-transform, var(--ft-typography-text-transform, inherit));
|
|
132
|
+
}
|
|
133
|
+
`,Lt=n`
|
|
134
|
+
.ft-typography--body2 {
|
|
135
|
+
font-family: var(--ft-typography-body2-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
|
|
136
|
+
font-size: var(--ft-typography-body2-font-size, var(--ft-typography-font-size, 14px));
|
|
137
|
+
font-weight: var(--ft-typography-body2-font-weight, var(--ft-typography-font-weight, normal));
|
|
138
|
+
letter-spacing: var(--ft-typography-body2-letter-spacing, var(--ft-typography-letter-spacing, 0.252px));
|
|
139
|
+
line-height: var(--ft-typography-body2-line-height, var(--ft-typography-line-height, 20px));
|
|
140
|
+
text-transform: var(--ft-typography-body2-text-transform, var(--ft-typography-text-transform, inherit));
|
|
141
|
+
}
|
|
142
|
+
`,Pt=n`
|
|
143
|
+
.ft-typography--caption {
|
|
144
|
+
font-family: var(--ft-typography-caption-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
|
|
145
|
+
font-size: var(--ft-typography-caption-font-size, var(--ft-typography-font-size, 12px));
|
|
146
|
+
font-weight: var(--ft-typography-caption-font-weight, var(--ft-typography-font-weight, normal));
|
|
147
|
+
letter-spacing: var(--ft-typography-caption-letter-spacing, var(--ft-typography-letter-spacing, 0.396px));
|
|
148
|
+
line-height: var(--ft-typography-caption-line-height, var(--ft-typography-line-height, 16px));
|
|
149
|
+
text-transform: var(--ft-typography-caption-text-transform, var(--ft-typography-text-transform, inherit));
|
|
150
|
+
}
|
|
151
|
+
`,Vt=n`
|
|
152
|
+
.ft-typography--breadcrumb {
|
|
153
|
+
font-family: var(--ft-typography-breadcrumb-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
|
|
154
|
+
font-size: var(--ft-typography-breadcrumb-font-size, var(--ft-typography-font-size, 10px));
|
|
155
|
+
font-weight: var(--ft-typography-breadcrumb-font-weight, var(--ft-typography-font-weight, normal));
|
|
156
|
+
letter-spacing: var(--ft-typography-breadcrumb-letter-spacing, var(--ft-typography-letter-spacing, 0.33px));
|
|
157
|
+
line-height: var(--ft-typography-breadcrumb-line-height, var(--ft-typography-line-height, 16px));
|
|
158
|
+
text-transform: var(--ft-typography-breadcrumb-text-transform, var(--ft-typography-text-transform, inherit));
|
|
159
|
+
}
|
|
160
|
+
`,qt=n`
|
|
161
|
+
.ft-typography--overline {
|
|
162
|
+
font-family: var(--ft-typography-overline-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
|
|
163
|
+
font-size: var(--ft-typography-overline-font-size, var(--ft-typography-font-size, 10px));
|
|
164
|
+
font-weight: var(--ft-typography-overline-font-weight, var(--ft-typography-font-weight, normal));
|
|
165
|
+
letter-spacing: var(--ft-typography-overline-letter-spacing, var(--ft-typography-letter-spacing, 1.5px));
|
|
166
|
+
line-height: var(--ft-typography-overline-line-height, var(--ft-typography-line-height, 16px));
|
|
167
|
+
text-transform: var(--ft-typography-overline-text-transform, var(--ft-typography-text-transform, uppercase));
|
|
168
|
+
}
|
|
169
|
+
`,Gt=n`
|
|
170
|
+
.ft-typography--button {
|
|
171
|
+
font-family: var(--ft-typography-button-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
|
|
172
|
+
font-size: var(--ft-typography-button-font-size, var(--ft-typography-font-size, 14px));
|
|
173
|
+
font-weight: var(--ft-typography-button-font-weight, var(--ft-typography-font-weight, 600));
|
|
174
|
+
letter-spacing: var(--ft-typography-button-letter-spacing, var(--ft-typography-letter-spacing, 1.246px));
|
|
175
|
+
line-height: var(--ft-typography-button-line-height, var(--ft-typography-line-height, 16px));
|
|
176
|
+
text-transform: var(--ft-typography-button-text-transform, var(--ft-typography-text-transform, uppercase));
|
|
177
|
+
}
|
|
178
|
+
`;let Wt=class extends Ot{constructor(){super(...arguments),this.variant=Ft.body1}getStyles(){return[Dt,It,Ut,Ht,Nt,Lt,Pt,Vt,qt,Gt]}getTemplate(){return this.element?Rt`
|
|
179
|
+
<${_t(this.element)}
|
|
180
|
+
class="ft-typography ft-typography--${this.variant}">
|
|
181
|
+
<slot></slot>
|
|
182
|
+
</${_t(this.element)}>
|
|
183
|
+
`:Rt`
|
|
184
|
+
<slot class="ft-typography ft-typography--${this.variant}"></slot>
|
|
185
|
+
`}};Bt([ot()],Wt.prototype,"element",void 0),Bt([ot()],Wt.prototype,"variant",void 0),Wt=Bt([zt("ft-typography")],Wt);var Kt=function(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};let Zt=class extends Ot{constructor(){super(...arguments),this.text="",this.raised=!1,this.outlined=!1,this.disabled=!1}getStyles(){return[Pt,n`.ft-input-label{position:absolute;inset:0;display:flex}.ft-input-label{border-color:var(--ft-input-label-border-color,var(--ft-color-outline,rgba(0,0,0,.14)))}.ft-input-label:after,.ft-input-label:before{content:"";display:flex;border-bottom-width:1px;border-bottom-style:solid;border-color:inherit}.ft-input-label:before{width:var(--ft-input-label-horizontal-spacing,12px);flex-shrink:0}.ft-input-label:after{flex-grow:1;flex-shrink:1}.ft-input-label--text{display:flex;flex-shrink:1;position:relative;border-bottom-width:1px;border-bottom-style:solid;border-color:inherit;padding:0 4px;color:var(--ft-input-label-text-color,var(--ft-color-on-surface-medium,rgba(0,0,0,.6)));transition:font-size 250ms,line-height 250ms,color 250ms;--ft-typography-font-size:var(--ft-input-label-font-size, 14px);--ft-typography-line-height:var(--ft-input-label-font-size, 14px)}.ft-input-label--disabled .ft-input-label--text{color:var(--ft-input-label-text-color,var(--ft-color-on-surface-disabled,rgba(0,0,0,.38)))}.ft-input-label--hidden-text{opacity:0}.ft-input-label--floating-text{position:absolute;top:calc(50% - var(--ft-typography-line-height)/ 2);transition:top 250ms;width:calc(100% - 8px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:var(--ft-input-label-vertical-spacing,4px) 0;margin:calc(var(--ft-input-label-vertical-spacing,4px) * -1) 0}.ft-input-label--raised .ft-input-label--text{--ft-typography-font-size:var(--ft-input-label-raised-font-size, 11px);--ft-typography-line-height:var(--ft-input-label-raised-font-size, 11px)}.ft-input-label--raised .ft-input-label--floating-text{top:var(--ft-input-label-vertical-spacing,4px)}.ft-input-label--outlined .ft-input-label--text,.ft-input-label--outlined:after,.ft-input-label--outlined:before{border-top-width:1px;border-top-style:solid}.ft-input-label--outlined:before{border-left-width:1px;border-left-style:solid;border-radius:var(--ft-border-radius-S,4px) 0 0 var(--ft-border-radius-S,4px)}.ft-input-label--outlined:after{border-right-width:1px;border-right-style:solid;border-radius:0 var(--ft-border-radius-S,4px) var(--ft-border-radius-S,4px) 0}.ft-input-label--outlined.ft-input-label--raised .ft-input-label--floating-text{top:calc(var(--ft-typography-line-height)/ -2)}.ft-input-label--outlined.ft-input-label--raised .ft-input-label--text{border-top:none}`]}getTemplate(){const t={"ft-input-label":!0,"ft-input-label--raised":this.raised,"ft-input-label--outlined":this.outlined,"ft-input-label--disabled":this.disabled};return R`<div class="${Et(t)}">${this.text?R`<div class="ft-input-label--text ft-typography--caption"><span class="ft-input-label--floating-text">${this.text}</span> <span class="ft-input-label--hidden-text" aria-hidden="true">${this.text}</span></div>`:null}</div>`}};Zt.elementDefinitions={},Kt([ot({type:String})],Zt.prototype,"text",void 0),Kt([ot({type:Boolean})],Zt.prototype,"raised",void 0),Kt([ot({type:Boolean})],Zt.prototype,"outlined",void 0),Kt([ot({type:Boolean})],Zt.prototype,"disabled",void 0),Zt=Kt([zt("ft-input-label")],Zt);
|
|
186
|
+
/*! *****************************************************************************
|
|
187
|
+
Copyright (c) Microsoft Corporation.
|
|
188
|
+
|
|
189
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
190
|
+
purpose with or without fee is hereby granted.
|
|
191
|
+
|
|
192
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
193
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
194
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
195
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
196
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
197
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
198
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
199
|
+
***************************************************************************** */
|
|
200
|
+
var Jt=function(t,e){return Jt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},Jt(t,e)};var Xt=function(){return Xt=Object.assign||function(t){for(var e,i=1,r=arguments.length;i<r;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},Xt.apply(this,arguments)};function Yt(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a}function Qt(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],r=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}
|
|
201
|
+
/**
|
|
202
|
+
* @license
|
|
203
|
+
* Copyright 2018 Google Inc.
|
|
204
|
+
*
|
|
205
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
206
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
207
|
+
* in the Software without restriction, including without limitation the rights
|
|
208
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
209
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
210
|
+
* furnished to do so, subject to the following conditions:
|
|
211
|
+
*
|
|
212
|
+
* The above copyright notice and this permission notice shall be included in
|
|
213
|
+
* all copies or substantial portions of the Software.
|
|
214
|
+
*
|
|
215
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
216
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
217
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
218
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
219
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
220
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
221
|
+
* THE SOFTWARE.
|
|
222
|
+
*/
|
|
223
|
+
/**
|
|
224
|
+
* @license
|
|
225
|
+
* Copyright 2018 Google LLC
|
|
226
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
227
|
+
*/
|
|
228
|
+
const te=()=>{},ee={get passive(){return!1}};document.addEventListener("x",te,ee),document.removeEventListener("x",te);
|
|
229
|
+
/**
|
|
230
|
+
* @license
|
|
231
|
+
* Copyright 2018 Google LLC
|
|
232
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
233
|
+
*/
|
|
234
|
+
class ie extends tt{click(){if(this.mdcRoot)return this.mdcRoot.focus(),void this.mdcRoot.click();super.click()}createFoundation(){void 0!==this.mdcFoundation&&this.mdcFoundation.destroy(),this.mdcFoundationClass&&(this.mdcFoundation=new this.mdcFoundationClass(this.createAdapter()),this.mdcFoundation.init())}firstUpdated(){this.createFoundation()}}
|
|
235
|
+
/**
|
|
236
|
+
* @license
|
|
237
|
+
* Copyright 2016 Google Inc.
|
|
238
|
+
*
|
|
239
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
240
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
241
|
+
* in the Software without restriction, including without limitation the rights
|
|
242
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
243
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
244
|
+
* furnished to do so, subject to the following conditions:
|
|
245
|
+
*
|
|
246
|
+
* The above copyright notice and this permission notice shall be included in
|
|
247
|
+
* all copies or substantial portions of the Software.
|
|
248
|
+
*
|
|
249
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
250
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
251
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
252
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
253
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
254
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
255
|
+
* THE SOFTWARE.
|
|
256
|
+
*/var re=function(){function t(t){void 0===t&&(t={}),this.adapter=t}return Object.defineProperty(t,"cssClasses",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{}},enumerable:!1,configurable:!0}),t.prototype.init=function(){},t.prototype.destroy=function(){},t}(),oe={BG_FOCUSED:"mdc-ripple-upgraded--background-focused",FG_ACTIVATION:"mdc-ripple-upgraded--foreground-activation",FG_DEACTIVATION:"mdc-ripple-upgraded--foreground-deactivation",ROOT:"mdc-ripple-upgraded",UNBOUNDED:"mdc-ripple-upgraded--unbounded"},ne={VAR_FG_SCALE:"--mdc-ripple-fg-scale",VAR_FG_SIZE:"--mdc-ripple-fg-size",VAR_FG_TRANSLATE_END:"--mdc-ripple-fg-translate-end",VAR_FG_TRANSLATE_START:"--mdc-ripple-fg-translate-start",VAR_LEFT:"--mdc-ripple-left",VAR_TOP:"--mdc-ripple-top"},ae={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300};
|
|
257
|
+
/**
|
|
258
|
+
* @license
|
|
259
|
+
* Copyright 2016 Google Inc.
|
|
260
|
+
*
|
|
261
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
262
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
263
|
+
* in the Software without restriction, including without limitation the rights
|
|
264
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
265
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
266
|
+
* furnished to do so, subject to the following conditions:
|
|
267
|
+
*
|
|
268
|
+
* The above copyright notice and this permission notice shall be included in
|
|
269
|
+
* all copies or substantial portions of the Software.
|
|
270
|
+
*
|
|
271
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
272
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
273
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
274
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
275
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
276
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
277
|
+
* THE SOFTWARE.
|
|
278
|
+
*/
|
|
279
|
+
/**
|
|
280
|
+
* @license
|
|
281
|
+
* Copyright 2016 Google Inc.
|
|
282
|
+
*
|
|
283
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
284
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
285
|
+
* in the Software without restriction, including without limitation the rights
|
|
286
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
287
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
288
|
+
* furnished to do so, subject to the following conditions:
|
|
289
|
+
*
|
|
290
|
+
* The above copyright notice and this permission notice shall be included in
|
|
291
|
+
* all copies or substantial portions of the Software.
|
|
292
|
+
*
|
|
293
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
294
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
295
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
296
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
297
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
298
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
299
|
+
* THE SOFTWARE.
|
|
300
|
+
*/
|
|
301
|
+
var se=["touchstart","pointerdown","mousedown","keydown"],le=["touchend","pointerup","mouseup","contextmenu"],ce=[],pe=function(t){function e(i){var r=t.call(this,Xt(Xt({},e.defaultAdapter),i))||this;return r.activationAnimationHasEnded=!1,r.activationTimer=0,r.fgDeactivationRemovalTimer=0,r.fgScale="0",r.frame={width:0,height:0},r.initialSize=0,r.layoutFrame=0,r.maxRadius=0,r.unboundedCoords={left:0,top:0},r.activationState=r.defaultActivationState(),r.activationTimerCallback=function(){r.activationAnimationHasEnded=!0,r.runDeactivationUXLogicIfReady()},r.activateHandler=function(t){r.activateImpl(t)},r.deactivateHandler=function(){r.deactivateImpl()},r.focusHandler=function(){r.handleFocus()},r.blurHandler=function(){r.handleBlur()},r.resizeHandler=function(){r.layout()},r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}Jt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return oe},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return ne},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return ae},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t=this,i=this.supportsPressRipple();if(this.registerRootHandlers(i),i){var r=e.cssClasses,o=r.ROOT,n=r.UNBOUNDED;requestAnimationFrame((function(){t.adapter.addClass(o),t.adapter.isUnbounded()&&(t.adapter.addClass(n),t.layoutInternal())}))}},e.prototype.destroy=function(){var t=this;if(this.supportsPressRipple()){this.activationTimer&&(clearTimeout(this.activationTimer),this.activationTimer=0,this.adapter.removeClass(e.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer&&(clearTimeout(this.fgDeactivationRemovalTimer),this.fgDeactivationRemovalTimer=0,this.adapter.removeClass(e.cssClasses.FG_DEACTIVATION));var i=e.cssClasses,r=i.ROOT,o=i.UNBOUNDED;requestAnimationFrame((function(){t.adapter.removeClass(r),t.adapter.removeClass(o),t.removeCssVars()}))}this.deregisterRootHandlers(),this.deregisterDeactivationHandlers()},e.prototype.activate=function(t){this.activateImpl(t)},e.prototype.deactivate=function(){this.deactivateImpl()},e.prototype.layout=function(){var t=this;this.layoutFrame&&cancelAnimationFrame(this.layoutFrame),this.layoutFrame=requestAnimationFrame((function(){t.layoutInternal(),t.layoutFrame=0}))},e.prototype.setUnbounded=function(t){var i=e.cssClasses.UNBOUNDED;t?this.adapter.addClass(i):this.adapter.removeClass(i)},e.prototype.handleFocus=function(){var t=this;requestAnimationFrame((function(){return t.adapter.addClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.handleBlur=function(){var t=this;requestAnimationFrame((function(){return t.adapter.removeClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.supportsPressRipple=function(){return this.adapter.browserSupportsCssVars()},e.prototype.defaultActivationState=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},e.prototype.registerRootHandlers=function(t){var e,i;if(t){try{for(var r=Qt(se),o=r.next();!o.done;o=r.next()){var n=o.value;this.adapter.registerInteractionHandler(n,this.activateHandler)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(e)throw e.error}}this.adapter.isUnbounded()&&this.adapter.registerResizeHandler(this.resizeHandler)}this.adapter.registerInteractionHandler("focus",this.focusHandler),this.adapter.registerInteractionHandler("blur",this.blurHandler)},e.prototype.registerDeactivationHandlers=function(t){var e,i;if("keydown"===t.type)this.adapter.registerInteractionHandler("keyup",this.deactivateHandler);else try{for(var r=Qt(le),o=r.next();!o.done;o=r.next()){var n=o.value;this.adapter.registerDocumentInteractionHandler(n,this.deactivateHandler)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(e)throw e.error}}},e.prototype.deregisterRootHandlers=function(){var t,e;try{for(var i=Qt(se),r=i.next();!r.done;r=i.next()){var o=r.value;this.adapter.deregisterInteractionHandler(o,this.activateHandler)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.adapter.deregisterInteractionHandler("focus",this.focusHandler),this.adapter.deregisterInteractionHandler("blur",this.blurHandler),this.adapter.isUnbounded()&&this.adapter.deregisterResizeHandler(this.resizeHandler)},e.prototype.deregisterDeactivationHandlers=function(){var t,e;this.adapter.deregisterInteractionHandler("keyup",this.deactivateHandler);try{for(var i=Qt(le),r=i.next();!r.done;r=i.next()){var o=r.value;this.adapter.deregisterDocumentInteractionHandler(o,this.deactivateHandler)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}},e.prototype.removeCssVars=function(){var t=this,i=e.strings;Object.keys(i).forEach((function(e){0===e.indexOf("VAR_")&&t.adapter.updateCssVariable(i[e],null)}))},e.prototype.activateImpl=function(t){var e=this;if(!this.adapter.isSurfaceDisabled()){var i=this.activationState;if(!i.isActivated){var r=this.previousActivationEvent;if(!(r&&void 0!==t&&r.type!==t.type))i.isActivated=!0,i.isProgrammatic=void 0===t,i.activationEvent=t,i.wasActivatedByPointer=!i.isProgrammatic&&(void 0!==t&&("mousedown"===t.type||"touchstart"===t.type||"pointerdown"===t.type)),void 0!==t&&ce.length>0&&ce.some((function(t){return e.adapter.containsEventTarget(t)}))?this.resetActivationState():(void 0!==t&&(ce.push(t.target),this.registerDeactivationHandlers(t)),i.wasElementMadeActive=this.checkElementMadeActive(t),i.wasElementMadeActive&&this.animateActivation(),requestAnimationFrame((function(){ce=[],i.wasElementMadeActive||void 0===t||" "!==t.key&&32!==t.keyCode||(i.wasElementMadeActive=e.checkElementMadeActive(t),i.wasElementMadeActive&&e.animateActivation()),i.wasElementMadeActive||(e.activationState=e.defaultActivationState())})))}}},e.prototype.checkElementMadeActive=function(t){return void 0===t||"keydown"!==t.type||this.adapter.isSurfaceActive()},e.prototype.animateActivation=function(){var t=this,i=e.strings,r=i.VAR_FG_TRANSLATE_START,o=i.VAR_FG_TRANSLATE_END,n=e.cssClasses,a=n.FG_DEACTIVATION,s=n.FG_ACTIVATION,l=e.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var c="",p="";if(!this.adapter.isUnbounded()){var d=this.getFgTranslationCoordinates(),f=d.startPoint,u=d.endPoint;c=f.x+"px, "+f.y+"px",p=u.x+"px, "+u.y+"px"}this.adapter.updateCssVariable(r,c),this.adapter.updateCssVariable(o,p),clearTimeout(this.activationTimer),clearTimeout(this.fgDeactivationRemovalTimer),this.rmBoundedActivationClasses(),this.adapter.removeClass(a),this.adapter.computeBoundingRect(),this.adapter.addClass(s),this.activationTimer=setTimeout((function(){t.activationTimerCallback()}),l)},e.prototype.getFgTranslationCoordinates=function(){var t,e=this.activationState,i=e.activationEvent;return t=e.wasActivatedByPointer?function(t,e,i){if(!t)return{x:0,y:0};var r,o,n=e.x,a=e.y,s=n+i.left,l=a+i.top;if("touchstart"===t.type){var c=t;r=c.changedTouches[0].pageX-s,o=c.changedTouches[0].pageY-l}else{var p=t;r=p.pageX-s,o=p.pageY-l}return{x:r,y:o}}(i,this.adapter.getWindowPageOffset(),this.adapter.computeBoundingRect()):{x:this.frame.width/2,y:this.frame.height/2},{startPoint:t={x:t.x-this.initialSize/2,y:t.y-this.initialSize/2},endPoint:{x:this.frame.width/2-this.initialSize/2,y:this.frame.height/2-this.initialSize/2}}},e.prototype.runDeactivationUXLogicIfReady=function(){var t=this,i=e.cssClasses.FG_DEACTIVATION,r=this.activationState,o=r.hasDeactivationUXRun,n=r.isActivated;(o||!n)&&this.activationAnimationHasEnded&&(this.rmBoundedActivationClasses(),this.adapter.addClass(i),this.fgDeactivationRemovalTimer=setTimeout((function(){t.adapter.removeClass(i)}),ae.FG_DEACTIVATION_MS))},e.prototype.rmBoundedActivationClasses=function(){var t=e.cssClasses.FG_ACTIVATION;this.adapter.removeClass(t),this.activationAnimationHasEnded=!1,this.adapter.computeBoundingRect()},e.prototype.resetActivationState=function(){var t=this;this.previousActivationEvent=this.activationState.activationEvent,this.activationState=this.defaultActivationState(),setTimeout((function(){return t.previousActivationEvent=void 0}),e.numbers.TAP_DELAY_MS)},e.prototype.deactivateImpl=function(){var t=this,e=this.activationState;if(e.isActivated){var i=Xt({},e);e.isProgrammatic?(requestAnimationFrame((function(){t.animateDeactivation(i)})),this.resetActivationState()):(this.deregisterDeactivationHandlers(),requestAnimationFrame((function(){t.activationState.hasDeactivationUXRun=!0,t.animateDeactivation(i),t.resetActivationState()})))}},e.prototype.animateDeactivation=function(t){var e=t.wasActivatedByPointer,i=t.wasElementMadeActive;(e||i)&&this.runDeactivationUXLogicIfReady()},e.prototype.layoutInternal=function(){var t=this;this.frame=this.adapter.computeBoundingRect();var i=Math.max(this.frame.height,this.frame.width);this.maxRadius=this.adapter.isUnbounded()?i:Math.sqrt(Math.pow(t.frame.width,2)+Math.pow(t.frame.height,2))+e.numbers.PADDING;var r=Math.floor(i*e.numbers.INITIAL_ORIGIN_SCALE);this.adapter.isUnbounded()&&r%2!=0?this.initialSize=r-1:this.initialSize=r,this.fgScale=""+this.maxRadius/this.initialSize,this.updateLayoutCssVars()},e.prototype.updateLayoutCssVars=function(){var t=e.strings,i=t.VAR_FG_SIZE,r=t.VAR_LEFT,o=t.VAR_TOP,n=t.VAR_FG_SCALE;this.adapter.updateCssVariable(i,this.initialSize+"px"),this.adapter.updateCssVariable(n,this.fgScale),this.adapter.isUnbounded()&&(this.unboundedCoords={left:Math.round(this.frame.width/2-this.initialSize/2),top:Math.round(this.frame.height/2-this.initialSize/2)},this.adapter.updateCssVariable(r,this.unboundedCoords.left+"px"),this.adapter.updateCssVariable(o,this.unboundedCoords.top+"px"))},e}(re),de=pe;
|
|
302
|
+
/**
|
|
303
|
+
* @license
|
|
304
|
+
* Copyright 2018 Google LLC
|
|
305
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
306
|
+
*/
|
|
307
|
+
const fe=ft(class extends ut{constructor(t){var e;if(super(t),t.type!==pt||"style"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce(((e,i)=>{const r=t[i];return null==r?e:e+`${i=i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`}),"")}update(t,[e]){const{style:i}=t.element;if(void 0===this.ct){this.ct=new Set;for(const t in e)this.ct.add(t);return this.render(e)}this.ct.forEach((t=>{null==e[t]&&(this.ct.delete(t),t.includes("-")?i.removeProperty(t):i[t]="")}));for(const t in e){const r=e[t];null!=r&&(this.ct.add(t),t.includes("-")?i.setProperty(t,r):i[t]=r)}return F}});
|
|
308
|
+
/**
|
|
309
|
+
* @license
|
|
310
|
+
* Copyright 2018 Google LLC
|
|
311
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
312
|
+
*/class ue extends ie{constructor(){super(...arguments),this.primary=!1,this.accent=!1,this.unbounded=!1,this.disabled=!1,this.activated=!1,this.selected=!1,this.internalUseStateLayerCustomProperties=!1,this.hovering=!1,this.bgFocused=!1,this.fgActivation=!1,this.fgDeactivation=!1,this.fgScale="",this.fgSize="",this.translateStart="",this.translateEnd="",this.leftPos="",this.topPos="",this.mdcFoundationClass=de}get isActive(){return t=this.parentElement||this,e=":active",(t.matches||t.webkitMatchesSelector||t.msMatchesSelector).call(t,e);var t,e}createAdapter(){return{browserSupportsCssVars:()=>!0,isUnbounded:()=>this.unbounded,isSurfaceActive:()=>this.isActive,isSurfaceDisabled:()=>this.disabled,addClass:t=>{switch(t){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!0;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!0;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!0}},removeClass:t=>{switch(t){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!1;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!1;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!1}},containsEventTarget:()=>!0,registerInteractionHandler:()=>{},deregisterInteractionHandler:()=>{},registerDocumentInteractionHandler:()=>{},deregisterDocumentInteractionHandler:()=>{},registerResizeHandler:()=>{},deregisterResizeHandler:()=>{},updateCssVariable:(t,e)=>{switch(t){case"--mdc-ripple-fg-scale":this.fgScale=e;break;case"--mdc-ripple-fg-size":this.fgSize=e;break;case"--mdc-ripple-fg-translate-end":this.translateEnd=e;break;case"--mdc-ripple-fg-translate-start":this.translateStart=e;break;case"--mdc-ripple-left":this.leftPos=e;break;case"--mdc-ripple-top":this.topPos=e}},computeBoundingRect:()=>(this.parentElement||this).getBoundingClientRect(),getWindowPageOffset:()=>({x:window.pageXOffset,y:window.pageYOffset})}}startPress(t){this.waitForFoundation((()=>{this.mdcFoundation.activate(t)}))}endPress(){this.waitForFoundation((()=>{this.mdcFoundation.deactivate()}))}startFocus(){this.waitForFoundation((()=>{this.mdcFoundation.handleFocus()}))}endFocus(){this.waitForFoundation((()=>{this.mdcFoundation.handleBlur()}))}startHover(){this.hovering=!0}endHover(){this.hovering=!1}waitForFoundation(t){this.mdcFoundation?t():this.updateComplete.then(t)}update(t){t.has("disabled")&&this.disabled&&this.endHover(),super.update(t)}render(){const t=this.activated&&(this.primary||!this.accent),e=this.selected&&(this.primary||!this.accent),i={"mdc-ripple-surface--accent":this.accent,"mdc-ripple-surface--primary--activated":t,"mdc-ripple-surface--accent--activated":this.accent&&this.activated,"mdc-ripple-surface--primary--selected":e,"mdc-ripple-surface--accent--selected":this.accent&&this.selected,"mdc-ripple-surface--disabled":this.disabled,"mdc-ripple-surface--hover":this.hovering,"mdc-ripple-surface--primary":this.primary,"mdc-ripple-surface--selected":this.selected,"mdc-ripple-upgraded--background-focused":this.bgFocused,"mdc-ripple-upgraded--foreground-activation":this.fgActivation,"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation,"mdc-ripple-upgraded--unbounded":this.unbounded,"mdc-ripple-surface--internal-use-state-layer-custom-properties":this.internalUseStateLayerCustomProperties};return R`<div class="mdc-ripple-surface mdc-ripple-upgraded ${Et(i)}" style="${fe({"--mdc-ripple-fg-scale":this.fgScale,"--mdc-ripple-fg-size":this.fgSize,"--mdc-ripple-fg-translate-end":this.translateEnd,"--mdc-ripple-fg-translate-start":this.translateStart,"--mdc-ripple-left":this.leftPos,"--mdc-ripple-top":this.topPos})}"></div>`}}Yt([st(".mdc-ripple-surface")],ue.prototype,"mdcRoot",void 0),Yt([ot({type:Boolean})],ue.prototype,"primary",void 0),Yt([ot({type:Boolean})],ue.prototype,"accent",void 0),Yt([ot({type:Boolean})],ue.prototype,"unbounded",void 0),Yt([ot({type:Boolean})],ue.prototype,"disabled",void 0),Yt([ot({type:Boolean})],ue.prototype,"activated",void 0),Yt([ot({type:Boolean})],ue.prototype,"selected",void 0),Yt([ot({type:Boolean})],ue.prototype,"internalUseStateLayerCustomProperties",void 0),Yt([nt()],ue.prototype,"hovering",void 0),Yt([nt()],ue.prototype,"bgFocused",void 0),Yt([nt()],ue.prototype,"fgActivation",void 0),Yt([nt()],ue.prototype,"fgDeactivation",void 0),Yt([nt()],ue.prototype,"fgScale",void 0),Yt([nt()],ue.prototype,"fgSize",void 0),Yt([nt()],ue.prototype,"translateStart",void 0),Yt([nt()],ue.prototype,"translateEnd",void 0),Yt([nt()],ue.prototype,"leftPos",void 0),Yt([nt()],ue.prototype,"topPos",void 0);
|
|
313
|
+
/**
|
|
314
|
+
* @license
|
|
315
|
+
* Copyright 2021 Google LLC
|
|
316
|
+
* SPDX-LIcense-Identifier: Apache-2.0
|
|
317
|
+
*/
|
|
318
|
+
const he=n`.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity,0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity,0)}to{opacity:0}}:host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:block}:host .mdc-ripple-surface{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;will-change:unset}.mdc-ripple-surface--primary::after,.mdc-ripple-surface--primary::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.mdc-ripple-surface--primary.mdc-ripple-surface--hover::before,.mdc-ripple-surface--primary:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.mdc-ripple-surface--primary.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12)}.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12)}.mdc-ripple-surface--primary.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--primary--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity,.12)}.mdc-ripple-surface--primary--activated::after,.mdc-ripple-surface--primary--activated::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.mdc-ripple-surface--primary--activated.mdc-ripple-surface--hover::before,.mdc-ripple-surface--primary--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity,.16)}.mdc-ripple-surface--primary--activated.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24)}.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24)}.mdc-ripple-surface--primary--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--primary--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity,.08)}.mdc-ripple-surface--primary--selected::after,.mdc-ripple-surface--primary--selected::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.mdc-ripple-surface--primary--selected.mdc-ripple-surface--hover::before,.mdc-ripple-surface--primary--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity,.12)}.mdc-ripple-surface--primary--selected.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity,.2)}.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity,.2)}.mdc-ripple-surface--primary--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--accent::after,.mdc-ripple-surface--accent::before{background-color:#018786;background-color:var(--mdc-ripple-color,var(--mdc-theme-secondary,#018786))}.mdc-ripple-surface--accent.mdc-ripple-surface--hover::before,.mdc-ripple-surface--accent:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.mdc-ripple-surface--accent.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12)}.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12)}.mdc-ripple-surface--accent.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--accent--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity,.12)}.mdc-ripple-surface--accent--activated::after,.mdc-ripple-surface--accent--activated::before{background-color:#018786;background-color:var(--mdc-ripple-color,var(--mdc-theme-secondary,#018786))}.mdc-ripple-surface--accent--activated.mdc-ripple-surface--hover::before,.mdc-ripple-surface--accent--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity,.16)}.mdc-ripple-surface--accent--activated.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24)}.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24)}.mdc-ripple-surface--accent--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--accent--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity,.08)}.mdc-ripple-surface--accent--selected::after,.mdc-ripple-surface--accent--selected::before{background-color:#018786;background-color:var(--mdc-ripple-color,var(--mdc-theme-secondary,#018786))}.mdc-ripple-surface--accent--selected.mdc-ripple-surface--hover::before,.mdc-ripple-surface--accent--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity,.12)}.mdc-ripple-surface--accent--selected.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity,.2)}.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity,.2)}.mdc-ripple-surface--accent--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--disabled{opacity:0}.mdc-ripple-surface--internal-use-state-layer-custom-properties::after,.mdc-ripple-surface--internal-use-state-layer-custom-properties::before{background-color:#000;background-color:var(--mdc-ripple-hover-state-layer-color,#000)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-surface--hover::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-state-layer-opacity,.04)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-state-layer-opacity,.12)}.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-pressed-state-layer-opacity,.12)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-pressed-state-layer-opacity, 0.12)}`
|
|
319
|
+
/**
|
|
320
|
+
* @license
|
|
321
|
+
* Copyright 2018 Google LLC
|
|
322
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
323
|
+
*/;let ve=class extends ue{};ve.styles=[he],ve=Yt([it("mwc-ripple")],ve);
|
|
324
|
+
/**
|
|
325
|
+
* @license
|
|
326
|
+
* Copyright 2020 Google LLC
|
|
327
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
328
|
+
*/
|
|
329
|
+
class ye{constructor(t){this.startPress=e=>{t().then((t=>{t&&t.startPress(e)}))},this.endPress=()=>{t().then((t=>{t&&t.endPress()}))},this.startFocus=()=>{t().then((t=>{t&&t.startFocus()}))},this.endFocus=()=>{t().then((t=>{t&&t.endFocus()}))},this.startHover=()=>{t().then((t=>{t&&t.startHover()}))},this.endHover=()=>{t().then((t=>{t&&t.endHover()}))}}}var me=function(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};let be=class extends Ot{constructor(){super(...arguments),this.primary=!1,this.secondary=!1,this.unbounded=!1,this.activated=!1,this.selected=!1,this.disabled=!1}getStyles(){return n`:host{display:contents;--mdc-ripple-color:var(--ft-ripple-color, var(--ft-color-content, #000));--mdc-ripple-press-opacity:var(--ft-opacity-color-content-on-surface-pressed, 0.1);--mdc-ripple-hover-opacity:var(--ft-opacity-color-content-on-surface-hover, 0.04);--mdc-ripple-focus-opacity:var(--ft-opacity-color-content-on-surface-focused, 0.12);--mdc-ripple-selected-opacity:var(--ft-opacity-color-content-on-surface-selected, 0.08);--mdc-ripple-activated-opacity:var(--ft-opacity-color-content-on-surface-dragged, 0.08)}mwc-ripple.ft-ripple--secondary{--mdc-ripple-color:var(--ft-ripple-color, var(--ft-color-secondary, #FFCC80))}mwc-ripple.ft-ripple--primary{--mdc-ripple-color:var(--ft-ripple-color, var(--ft-color-primary, #2196F3))}`}getTemplate(){return R`<mwc-ripple class="${this.primary?"ft-ripple--primary":this.secondary?"ft-ripple--secondary":""}" ?unbounded="${this.unbounded}" ?activated="${this.activated}" ?selected="${this.selected}" ?disabled="${this.disabled}"></mwc-ripple>`}updated(t){super.updated(t),t.has("disabled")&&this.disabled&&this.endRipple()}endRipple(){var t,e,i;null===(t=this.rippleHandlers)||void 0===t||t.endHover(),null===(e=this.rippleHandlers)||void 0===e||e.endFocus(),null===(i=this.rippleHandlers)||void 0===i||i.endPress()}connectedCallback(){var t;super.connectedCallback();const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.host.parentNode;if(e){const t=new ye((async()=>this.mwcRipple)),i=e=>i=>{window.addEventListener(e,t.endPress,{once:!0}),t.startPress(i)},r=i("mouseup"),o=i("touchend"),n=t=>{["Enter"," "].includes(t.key)&&i("keyup")()};e.addEventListener("mouseenter",t.startHover),e.addEventListener("mouseleave",t.endHover),e.addEventListener("mousedown",r),e.addEventListener("touchstart",o),e.addEventListener("keydown",n),e.addEventListener("focus",t.startFocus),e.addEventListener("blur",t.endFocus),this.onDisconnect=()=>{e.removeEventListener("mouseenter",t.startHover),e.removeEventListener("mouseleave",t.endHover),e.removeEventListener("mousedown",r),e.removeEventListener("touchstart",o),e.removeEventListener("keydown",n),e.removeEventListener("focus",t.startFocus),e.removeEventListener("blur",t.endFocus)},this.rippleHandlers=t}}disconnectedCallback(){super.disconnectedCallback(),this.onDisconnect&&this.onDisconnect(),this.endRipple()}};be.elementDefinitions={"mwc-ripple":ve},me([ot({type:Boolean})],be.prototype,"primary",void 0),me([ot({type:Boolean})],be.prototype,"secondary",void 0),me([ot({type:Boolean})],be.prototype,"unbounded",void 0),me([ot({type:Boolean})],be.prototype,"activated",void 0),me([ot({type:Boolean})],be.prototype,"selected",void 0),me([ot({type:Boolean})],be.prototype,"disabled",void 0),me([st("mwc-ripple")],be.prototype,"mwcRipple",void 0),be=me([zt("ft-ripple")],be);
|
|
330
|
+
/**
|
|
331
|
+
* @license
|
|
332
|
+
* Copyright 2021 Google LLC
|
|
333
|
+
* SPDX-LIcense-Identifier: Apache-2.0
|
|
334
|
+
*/
|
|
335
|
+
const ge=n`:host{font-family:var(--mdc-icon-font, "Material Icons");font-weight:400;font-style:normal;font-size:var(--mdc-icon-size,24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}`
|
|
336
|
+
/**
|
|
337
|
+
* @license
|
|
338
|
+
* Copyright 2018 Google LLC
|
|
339
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
340
|
+
*/;let xe=class extends tt{render(){return R`<span><slot></slot></span>`}};xe.styles=[ge],xe=Yt([it("mwc-icon")],xe);var we=function(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};let ke=class extends Ot{constructor(){super(...arguments),this.label="",this.value=null,this.selected=!1}getTemplate(){return R``}updated(t){super.updated(t),this.dispatchEvent(new CustomEvent("option-change",{detail:this,bubbles:!0}))}};ke.elementDefinitions={},we([ot({type:String})],ke.prototype,"label",void 0),we([ot({type:Object,converter:t=>t})],ke.prototype,"value",void 0),we([ot({type:Boolean,reflect:!0})],ke.prototype,"selected",void 0),ke=we([zt("ft-select-option")],ke);let $e=class extends Ot{constructor(){super(...arguments),this.label="",this.helper="",this.outlined=!1,this.disabled=!1,this.options=[],this.optionsDisplayed=!1,this.focusOptions=!1,this.hideOptions=()=>this.optionsDisplayed=!1}getStyles(){return[Lt,Pt,n`:focus{outline:0}.ft-select{display:flex;flex-direction:column;align-items:stretch}.ft-select--main-panel{position:relative;display:flex;height:calc(4 * var(--ft-select-vertical-spacing,4px) + var(--ft-select-label-size,11px) + var(--ft-select-selected-option-size,14px))}.ft-select--input-panel{flex-grow:1;position:relative;display:flex;align-items:center;overflow:hidden;padding-left:16px;padding-right:8px;gap:8px}.ft-select--input-panel,.ft-select--option{color:var(--ft-color-on-surface,rgba(0,0,0,.87));--ft-opacity-color-content-on-surface-hover:0.08;--ft-opacity-color-content-on-surface-dragged:0.04}.ft-select--disabled .ft-select--input-panel,.ft-select--disabled .ft-select--option{color:var(--ft-color-on-surface-disabled,rgba(0,0,0,.38))}.ft-select:not(.ft-select--disabled) .ft-select--input-panel{cursor:pointer}ft-input-label{--ft-input-label-font-size:var(--ft-select-selected-option-size, 14px);--ft-input-label-raised-font-size:var(--ft-select-label-size, 11px);--ft-input-label-vertical-spacing:var(--ft-select-vertical-spacing, 4px)}.ft-select:not(.ft-select--disabled):focus-within ft-input-label{--ft-input-label-border-color:var(--ft-color-primary, #2196F3);--ft-input-label-text-color:var(--ft-color-primary, #2196F3)}.ft-select--selected-option{display:block;flex-grow:1;flex-shrink:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;--ft-typography-font-size:var(--ft-select-selected-option-size, 14px);--ft-typography-line-height:var(--ft-select-selected-option-size, 14px)}mwc-icon{flex-shrink:0}slot{display:none}.ft-select--filled .ft-select--input-panel{border-radius:var(--ft-border-radius-S,4px) var(--ft-border-radius-S,4px) 0 0}.ft-select--filled:not(.ft-select--no-label) .ft-select--selected-option{align-self:stretch;padding-top:calc(var(--ft-select-label-size,11px) + 2 * var(--ft-select-vertical-spacing,4px))}.ft-select--outlined .ft-select--input-panel{border-radius:var(--ft-border-radius-S,4px)}.ft-select--options{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ft-color-surface,#fff);z-index:var(--ft-select-options-z-index,1);box-shadow:var(--ft-elevation-02,0 4px 10px 0 rgba(0,0,0,.06),0 2px 5px 0 rgba(0,0,0,.14),0 0 1px 0 rgba(0,0,0,.06))}.ft-select--options-displayed .ft-select--options{display:block}.ft-select--option{position:relative;padding:4px 16px;min-height:32px;display:flex;align-items:center}.ft-select--helper-text{padding:0 12px 0 16px;color:var(--ft-select-helper-color,var(--ft-color-on-surface-medium,rgba(0,0,0,.6)))}`]}getTemplate(){var t,e,i,r,o;let n=!this.disabled&&this.optionsDisplayed&&this.hasOptions,a=this.disabled||!this.hasOptions;const s={"ft-select":!0,"ft-select--filled":!this.outlined,"ft-select--outlined":this.outlined,"ft-select--disabled":a,"ft-select--options-displayed":n,"ft-select--has-value":null!=(null===(t=this.selectedOption)||void 0===t?void 0:t.value),"ft-select--no-label":!this.label};return R`<div class="${Et(s)}" @click="${t=>t.stopPropagation()}" part="container"><div class="ft-select--main-panel" part="main-panel"><ft-input-label text="${this.label}" part="label" ?disabled="${a}" ?outlined="${this.outlined}" ?raised="${null!=(null===(e=this.selectedOption)||void 0===e?void 0:e.value)||n}"></ft-input-label><div class="ft-select--input-panel" part="selected-value" tabindex="${a?"-1":"0"}" @click="${()=>this.optionsDisplayed=!this.optionsDisplayed}" @keydown="${this.onMainPanelKeyDown}" aria-label="${this.label}" aria-haspopup="listbox" aria-expanded="${n}">${this.outlined?null:R`<ft-ripple ?disabled="${a}" activated></ft-ripple>`}<ft-typography variant="body1" class="ft-select--selected-option">${null!=(null===(i=this.selectedOption)||void 0===i?void 0:i.value)&&null!==(o=null===(r=this.selectedOption)||void 0===r?void 0:r.label)&&void 0!==o?o:""}</ft-typography><mwc-icon>${n?"expand_less":"expand_more"}</mwc-icon></div><div class="ft-select--options" part="options" @keydown="${this.onOptionsKeyDown}" innerrole="listbox">${wt(this.options,(t=>t.value),(t=>this.renderOption(t)))}</div></div>${this.helper?R`<ft-typography class="ft-select--helper-text" variant="caption">${this.helper}</ft-typography>`:void 0}</div><slot @slotchange="${this.updateOptionsFromSlot}" @option-change="${this.updateOptionsFromSlot}"></slot>`}renderOption(t){let e=this.selectedOption===t;return R`<div class="${Et({"ft-select--option":!0,"ft-select--option-selected":e,"ft-typography--body2":!0})}" part="option" tabindex="0" @keydown="${e=>this.onOptionKeyDown(e,t)}" @click="${()=>this.selectOption(t)}"><ft-ripple ?primary="${e}" ?activated="${e}"></ft-ripple>${t.label}</div>`}updated(t){var e;super.updated(t),t.has("options")&&(this.selectedOption=this.options.filter((t=>t.selected))[0]),t.has("selectedOption")&&(this.optionsDisplayed=!1,this.dispatchEvent(new CustomEvent("change",{detail:null===(e=this.selectedOption)||void 0===e?void 0:e.value})))}contentAvailableCallback(t){var e,i;t.has("focusOptions")&&this.focusOptions&&(null===(i=null!==(e=this.selectedOptionElement)&&void 0!==e?e:this.firstOption)||void 0===i||i.focus(),this.focusOptions=!1)}get hasOptions(){return this.options.length>0}updateOptionsFromSlot(t){var e;t.stopPropagation();let i=null===(e=this.optionsSlot)||void 0===e?void 0:e.assignedElements().map((t=>t));i&&i.length>0&&(this.options=i)}onMainPanelKeyDown(t){switch(t.key){case" ":t.preventDefault(),t.stopPropagation();case"Enter":this.optionsDisplayed=!this.optionsDisplayed,this.focusOptions=!0;break;case"ArrowUp":case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.optionsDisplayed=!0,this.focusOptions=!0}}onOptionsKeyDown(t){var e,i,r,o,n;let a;switch(t.key){case"Escape":this.optionsDisplayed=!1,null===(e=this.mainPanel)||void 0===e||e.focus();break;case"Tab":this.optionsDisplayed=!1;break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),a=null!==(r=null===(i=this.focusedOption)||void 0===i?void 0:i.previousElementSibling)&&void 0!==r?r:this.lastOption;break;case"ArrowDown":t.preventDefault(),t.stopPropagation(),a=null!==(n=null===(o=this.focusedOption)||void 0===o?void 0:o.nextElementSibling)&&void 0!==n?n:this.firstOption}null==a||a.focus()}onOptionKeyDown(t,e){var i;"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),this.selectOption(e),this.optionsDisplayed=!1,null===(i=this.mainPanel)||void 0===i||i.focus())}selectOption(t){this.selectedOption=t;for(let e of this.options)e.selected=e===t}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.hideOptions)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.hideOptions)}};$e.elementDefinitions={"ft-input-label":Zt,"ft-typography":Wt,"ft-ripple":be,"mwc-icon":xe},we([ot({type:String})],$e.prototype,"label",void 0),we([ot({type:String})],$e.prototype,"helper",void 0),we([ot({type:Boolean})],$e.prototype,"outlined",void 0),we([ot({type:Boolean})],$e.prototype,"disabled",void 0),we([ot({type:Array})],$e.prototype,"options",void 0),we([nt()],$e.prototype,"selectedOption",void 0),we([nt()],$e.prototype,"optionsDisplayed",void 0),we([nt()],$e.prototype,"focusOptions",void 0),we([st(".ft-select--input-panel")],$e.prototype,"mainPanel",void 0),we([st(".ft-select--option:first-child")],$e.prototype,"firstOption",void 0),we([st(".ft-select--option:focus")],$e.prototype,"focusedOption",void 0),we([st(".ft-select--option.ft-select--option-selected")],$e.prototype,"selectedOptionElement",void 0),we([st(".ft-select--option:last-child")],$e.prototype,"lastOption",void 0),we([st("slot")],$e.prototype,"optionsSlot",void 0),$e=we([zt("ft-select")],$e);var Se=function(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};let ze=class extends Ot{constructor(){super(...arguments),this.label="",this.value="",this.helper="",this.outlined=!1,this.disabled=!1,this.focused=!1}getStyles(){return[Pt,n`:focus{outline:0}.ft-text-field{display:flex;flex-direction:column;align-items:stretch}ft-input-label{--ft-input-label-font-size:var(--ft-text-field-font-size, 14px);--ft-input-label-raised-font-size:var(--ft-text-field-label-size, 11px);--ft-input-label-vertical-spacing:var(--ft-text-field-vertical-spacing, 4px);--ft-input-label-horizontal-spacing:calc(var(--ft-text-field-horizontal-spacing, 16px) - 4px)}.ft-text-field--main-panel{position:relative;display:flex;height:calc(4 * var(--ft-text-field-vertical-spacing,4px) + var(--ft-text-field-label-size,11px) + var(--ft-text-field-font-size,14px))}.ft-text-field--input-panel{flex-grow:1;position:relative;display:flex;align-items:center;overflow:hidden;gap:8px}.ft-text-field--input{display:block;flex-grow:1;flex-shrink:1;min-width:0;--ft-typography-font-size:var(--ft-text-field-font-size, 14px);--ft-typography-line-height:var(--ft-text-field-font-size, 14px);color:var(--ft-color-on-surface,rgba(0,0,0,.87));--ft-opacity-color-content-on-surface-hover:0.08;--ft-opacity-color-content-on-surface-dragged:0.04;padding:0 var(--ft-text-field-horizontal-spacing,16px);border:none;background:0 0}.ft-text-field--disabled .ft-text-field--input{color:var(--ft-color-on-surface-disabled,rgba(0,0,0,.38))}.ft-text-field:not(.ft-text-field--disabled) .ft-text-field--input-panel{cursor:pointer}.ft-text-field:not(.ft-text-field--disabled):focus-within ft-text-field-label{--ft-text-field-label-border-color:var(--ft-color-primary, #2196F3);--ft-text-field-label-text-color:var(--ft-color-primary, #2196F3)}.ft-text-field--filled .ft-text-field--input-panel{border-radius:var(--ft-border-radius-S,4px) var(--ft-border-radius-S,4px) 0 0}.ft-text-field--filled:not(.ft-text-field--no-label) .ft-text-field--input{align-self:stretch;padding-bottom:var(--ft-text-field-vertical-spacing,4px);padding-top:calc(var(--ft-text-field-label-size,11px) + 2 * var(--ft-text-field-vertical-spacing,4px))}.ft-text-field--outlined .ft-text-field--input-panel{border-radius:var(--ft-border-radius-S,4px)}.ft-text-field--helper-text{padding:0 12px 0 var(--ft-text-field-horizontal-spacing,16px);color:var(--ft-text-field-helper-color,var(--ft-color-on-surface-medium,rgba(0,0,0,.6)))}`]}getTemplate(){const t={"ft-text-field":!0,"ft-text-field--filled":!this.outlined,"ft-text-field--outlined":this.outlined,"ft-text-field--disabled":this.disabled,"ft-text-field--has-value":!!this.value,"ft-text-field--no-label":!this.label};return R`<div class="${Et(t)}"><div class="ft-text-field--main-panel"><ft-input-label text="${this.label}" ?disabled="${this.disabled}" ?outlined="${this.outlined}" ?raised="${this.focused||""!=this.value}"></ft-input-label><div class="ft-text-field--input-panel" aria-label="${this.label}">${this.outlined?null:R`<ft-ripple ?disabled="${this.disabled}" activated></ft-ripple>`} <input type="text" class="ft-typography--caption ft-text-field--input" ?disabled="${this.disabled}" .value="${this.value}" @change="${this.updateValueFromInputField}" @keyup="${this.liveUpdateValueFromInputField}" @focus="${()=>this.focused=!0}" @focusout="${()=>this.focused=!1}"></div></div>${this.helper?R`<ft-typography class="ft-text-field--helper-text" variant="caption">${this.helper}</ft-typography>`:void 0}</div>`}updated(t){super.updated(t),t.has("value")&&this.dispatchEvent(new CustomEvent("live-change",{detail:this.value}))}updateValueFromInputField(){this.dispatchEvent(new CustomEvent("change",{detail:this.value}))}liveUpdateValueFromInputField(){var t;this.value=(null===(t=this.input)||void 0===t?void 0:t.value)||""}};ze.elementDefinitions={"ft-input-label":Zt,"ft-ripple":be,"ft-typography":Wt},Se([ot({type:String})],ze.prototype,"label",void 0),Se([ot({reflect:!0})],ze.prototype,"value",void 0),Se([ot({type:String})],ze.prototype,"helper",void 0),Se([ot({type:Boolean})],ze.prototype,"outlined",void 0),Se([ot({type:Boolean})],ze.prototype,"disabled",void 0),Se([st("input")],ze.prototype,"input",void 0),Se([nt()],ze.prototype,"focused",void 0),ze=Se([zt("ft-text-field")],ze);var Oe=function(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};let Ae=class extends Ot{constructor(){super(...arguments),this.text="",this.manual=!1,this.inline=!1,this.delay=500,this.position="bottom",this.visible=!1,this.hideDebounce=new St,this.revealDebouncer=new St}getStyles(){return n`.ft-tooltip--container{display:block;position:relative}.ft-tooltip--inline{display:inline-block;max-width:100%}.ft-tooltip{position:absolute;box-sizing:border-box;overflow:hidden;width:max-content;max-width:150px;text-align:center;padding:var(--ft-tooltip-distance,4px);z-index:var(--ft-tooltip-z-index,1)}.ft-tooltip--content{padding:4px 8px;border-radius:var(--ft-border-radius-S,4px);background-color:var(--ft-tooltip-background-color,#666);color:var(--ft-tooltip-color,#fff);top:-500px;left:-500px;position:relative;word-break:break-word}`}getTemplate(){return R`<div part="container" class="ft-tooltip--container ${this.inline?"ft-tooltip--inline":""}" @mouseenter="${this.onHover}" @mouseleave="${this.onOut}" @focusin="${this.onHover}" @focusout="${this.onOut}" @touchstart="${this.onTouch}"><div part="tooltip" class="ft-tooltip ft-tooltip--${this.position}" ?hidden="${!this.visible}"><div part="tooltip-content" class="ft-tooltip--content"><ft-typography variant="caption">${this.text}</ft-typography></div></div><slot></slot></div>`}update(t){t.has("visible")&&!this.visible&&this.resetTooltipContent(),super.update(t)}contentAvailableCallback(t){t.has("visible")&&this.visible&&this.positionTooltip()}show(t){this.visible=!0,null!=t&&this.hideDebounce.run((()=>this.hide()),t)}hide(){this.visible=!1}toggle(){this.visible=!this.visible}get slottedElement(){var t;return(null!==(t=this.slotNodes)&&void 0!==t?t:[]).filter((t=>t.nodeType==Node.ELEMENT_NODE))[0]}resetTooltipContent(){if(this.tooltip&&this.tooltipContent){const t=this.tooltipContent.style;switch(t.transition="none",this.position){case"top":t.top=this.tooltip.clientHeight+"px",t.left="0";break;case"bottom":t.top=-this.tooltip.clientHeight+"px",t.left="0";break;case"left":t.top="0",t.left=this.tooltip.clientWidth+"px";break;case"right":t.top="0",t.left=-this.tooltip.clientWidth+"px"}}}positionTooltip(){this.resetTooltipContent();const t=this.slottedElement;if(this.tooltip&&t){const e=t.getBoundingClientRect(),i=(e.height-this.tooltip.clientHeight)/2,r=(e.width-this.tooltip.clientWidth)/2,o=this.tooltip.style;switch(this.position){case"top":o.top=-this.tooltip.clientHeight+"px",o.left=r+"px";break;case"bottom":o.top=e.height+"px",o.left=r+"px";break;case"left":o.top=i+"px",o.left=-this.tooltip.clientWidth+"px";break;case"right":o.top=i+"px",o.left=e.width+"px"}o.maxWidth=Math.max(e.width,150)+"px"}this.revealDebouncer.run((()=>{this.tooltipContent&&(this.tooltipContent.style.transition="top var(--ft-transition-duration, 250ms), left var(--ft-transition-duration, 250ms)",this.tooltipContent.style.top="0",this.tooltipContent.style.left="0")}),this.manual?0:this.delay)}onTouch(){this.manual||(this.show(),setTimeout((()=>window.addEventListener("touchstart",(t=>{t.composedPath().includes(this.container)||this.onOut()}),{once:!0})),100))}onHover(){this.manual||this.show()}onOut(){this.manual||(this.revealDebouncer.cancel(),this.hide())}};Ae.elementDefinitions={"ft-typography":Wt},Oe([ot()],Ae.prototype,"text",void 0),Oe([ot({type:Boolean})],Ae.prototype,"manual",void 0),Oe([ot({type:Boolean})],Ae.prototype,"inline",void 0),Oe([ot({type:Number})],Ae.prototype,"delay",void 0),Oe([ot()],Ae.prototype,"position",void 0),Oe([
|
|
341
|
+
/**
|
|
342
|
+
* @license
|
|
343
|
+
* Copyright 2017 Google LLC
|
|
344
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
345
|
+
*/
|
|
346
|
+
function(t,e,i){let r,o=t;return"object"==typeof t?(o=t.slot,r=t):r={flatten:e},i?function(t){const{slot:e,selector:i}=null!=t?t:{};return at({descriptor:r=>({get(){var r;const o="slot"+(e?`[name=${e}]`:":not([name])"),n=null===(r=this.renderRoot)||void 0===r?void 0:r.querySelector(o),a=null!=n?ct(n,t):[];return i?a.filter((t=>t.matches(i))):a},enumerable:!0,configurable:!0})})}({slot:o,flatten:e,selector:i}):at({descriptor:t=>({get(){var t,e;const i="slot"+(o?`[name=${o}]`:":not([name])"),n=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(i);return null!==(e=null==n?void 0:n.assignedNodes(r))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}("",!0)],Ae.prototype,"slotNodes",void 0),Oe([st(".ft-tooltip--container")],Ae.prototype,"container",void 0),Oe([st("slot")],Ae.prototype,"target",void 0),Oe([st(".ft-tooltip")],Ae.prototype,"tooltip",void 0),Oe([st(".ft-tooltip--content")],Ae.prototype,"tooltipContent",void 0),Oe([nt()],Ae.prototype,"visible",void 0),Ae=Oe([zt("ft-tooltip")],Ae);var Te=function(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};let je=class extends Ot{getStyles(){return n`:host{line-height:0}.ft-loader{display:inline-block;position:relative;width:var(--ft-loader-size,80px);height:var(--ft-loader-size,80px)}.ft-loader div{position:absolute;top:37.5%;width:25%;height:25%;border-radius:50%;background:var(--ft-loader-color,var(--ft-color-primary,#2196f3));animation-timing-function:cubic-bezier(0,1,1,0)}.ft-loader div:nth-child(1){left:2.5%;animation:appear .6s infinite}.ft-loader div:nth-child(2){left:2.5%;animation:move .6s infinite}.ft-loader div:nth-child(3){left:37.5%;animation:move .6s infinite}.ft-loader div:nth-child(4){left:72.5%;animation:disappear .6s infinite}@keyframes appear{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes disappear{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes move{0%{transform:translate(0,0)}100%{transform:translate(calc(.35 * var(--ft-loader-size,80px)),0)}}`}getTemplate(){return R`<div class="ft-loader"><div></div><div></div><div></div><div></div></div>`}};je=Te([zt("ft-loader")],je);var Ce=function(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};let Ee=class extends Ot{constructor(){super(...arguments),this.primary=!1,this.outlined=!1,this.disabled=!1,this.dense=!1,this.round=!1,this.label="",this.icon=void 0,this.trailingIcon=!1,this.loading=!1,this.tooltipPosition="bottom",this.onclick=t=>{this.isDisabled()&&(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation())}}getStyles(){return n`:host{display:inline-block;max-width:100%}button{box-shadow:0 0 0 transparent;border:0 solid transparent;text-shadow:0 0 0 transparent}button:hover{box-shadow:0 0 0 transparent;border:0 solid transparent;text-shadow:0 0 0 transparent}button:active{outline:0;border:none}button:focus{outline:0}.ft-button{position:relative;display:flex;justify-content:center;align-items:center;width:100%;overflow:hidden;box-sizing:border-box;border:none;--ft-button-internal-font-size:var(--ft-typography-button-font-size, 14px);--ft-button-internal-line-height:var(--ft-typography-button-line-height, calc(var(--ft-button-internal-font-size) + 2px));--ft-button-internal-color:var(--ft-button-color, var(--ft-color-primary, #2196F3));--mdc-icon-size:var(--ft-button-icon-size, 24px);--ft-button-internal-vertical-padding:6px;--ft-button-internal-horizontal-padding:8px;--ft-ripple-color:var(--ft-button-ripple-color, var(--ft-button-internal-color));--ft-button-internal-content-height:max(var(--ft-button-internal-line-height), var(--mdc-icon-size));border-radius:var(--ft-button-border-radius,var(--ft-border-radius-L,12px));padding:var(--ft-button-internal-vertical-padding) var(--ft-button-internal-horizontal-padding);background-color:var(--ft-button-background-color,var(--ft-color-surface,#fff));color:var(--ft-button-internal-color);-webkit-mask-image:radial-gradient(white,#000)}.ft-button:not([disabled]):hover{cursor:pointer}.ft-button--dense{--ft-button-internal-vertical-padding:2px;--ft-button-internal-horizontal-padding:4px;border-radius:var(--ft-button-border-radius,var(--ft-border-radius-M,8px))}.ft-button--round{border-radius:calc(var(--ft-button-internal-content-height)/ 2 + var(--ft-button-internal-vertical-padding))}.ft-button[disabled]{filter:grayscale(1);opacity:var(--ft-color-opacity-disabled,.38)}.ft-button.ft-button--primary{background-color:var(--ft-button-background-color,var(--ft-color-primary,#2196f3));--ft-button-internal-color:var(--ft-button-color, var(--ft-color-on-primary, #FFFFFF))}.ft-button.ft-button--outlined{border:1px solid var(--ft-button-internal-color);padding:calc(var(--ft-button-internal-vertical-padding) - 1px) calc(var(--ft-button-internal-horizontal-padding) - 1px)}.ft-button:focus{outline:0}.ft-button--label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;margin:0 var(--ft-button-internal-horizontal-padding);--ft-typography-button-line-height:var(--ft-button-internal-content-height)}.ft-button--safari-fix .ft-button--label{margin-right:0}.ft-button--safari-fix .ft-button--label:after{content:"\\0000a0";display:inline-block;width:0}.ft-button--label[hidden]{display:none}mwc-icon{flex-shrink:0;width:var(--mdc-icon-size)}.ft-button--label[hidden]+mwc-icon{margin:0 calc(var(--ft-button-internal-horizontal-padding) * -1);padding:0 var(--ft-button-internal-vertical-padding)}.ft-button:not(.ft-button--trailing-icon) ft-loader,.ft-button:not(.ft-button--trailing-icon) mwc-icon{order:-1}ft-loader{--ft-loader-size:var(--ft-button-icon-size, 24px);--ft-loader-color:var(--ft-button-internal-color)}`}getTemplate(){const t={"ft-button":!0,"ft-button--primary":this.primary,"ft-button--outlined":this.outlined,"ft-button--dense":this.dense,"ft-button--round":this.round,"ft-button--trailing-icon":this.trailingIcon,"ft-button--loading":this.trailingIcon,"ft-button--safari-fix":Ct};return this.addTooltip(R`<button class="${Et(t)}" aria-label="${this.getLabel()}" ?disabled="${this.isDisabled()}"><ft-ripple ?disabled="${this.isDisabled()}"></ft-ripple><ft-typography variant="button" class="ft-button--label" ?hidden="${!this.hasTextContent()}"><slot @slotchange="${this.onSlotchange}"></slot></ft-typography>${this.resolveIcon()}</button>`)}addTooltip(t){return this.hasTextContent()||0===this.getLabel().trim().length?t:R`<ft-tooltip text="${this.getLabel()}" position="${this.tooltipPosition}">${t}</ft-tooltip>`}resolveIcon(){return this.loading?R`<ft-loader></ft-loader>`:this.icon?R`<mwc-icon>${this.icon}</mwc-icon>`:B}focus(){var t;null===(t=this.button)||void 0===t||t.focus()}getLabel(){return this.label||this.textContent}get textContent(){var t,e;return null!==(e=null===(t=this.slottedContent)||void 0===t?void 0:t.assignedNodes().map((t=>t.textContent)).join("").trim())&&void 0!==e?e:""}hasTextContent(){return this.textContent.length>0}onSlotchange(){this.requestUpdate()}isDisabled(){return this.disabled||this.loading}};Ee.elementDefinitions={"ft-ripple":be,"ft-tooltip":Ae,"ft-typography":Wt,"mwc-icon":xe,"ft-loader":je},Ce([ot({type:Boolean})],Ee.prototype,"primary",void 0),Ce([ot({type:Boolean})],Ee.prototype,"outlined",void 0),Ce([ot({type:Boolean})],Ee.prototype,"disabled",void 0),Ce([ot({type:Boolean})],Ee.prototype,"dense",void 0),Ce([ot({type:Boolean})],Ee.prototype,"round",void 0),Ce([ot({type:String})],Ee.prototype,"label",void 0),Ce([ot({type:String})],Ee.prototype,"icon",void 0),Ce([ot({type:Boolean})],Ee.prototype,"trailingIcon",void 0),Ce([ot({type:Boolean})],Ee.prototype,"loading",void 0),Ce([ot({type:String})],Ee.prototype,"tooltipPosition",void 0),Ce([st(".ft-button")],Ee.prototype,"button",void 0),Ce([st(".ft-button--label slot")],Ee.prototype,"slottedContent",void 0),Ee=Ce([zt("ft-button")],Ee);var _e=function(t,e,i,r){for(var o,n=arguments.length,a=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(o=t[s])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};class Me extends CustomEvent{constructor(t){super("row-click",{detail:t})}}const Re=t=>R`${t}`,Fe=(t,e)=>t-e;t.FtFilterableTable=class extends Ot{constructor(){super(...arguments),this.data=[],this.columns=[],this.filters=[],this.selectData=[]}getStyles(){return n`:host{display:block}.table{display:grid}.header,.row{display:contents}.header-cell{display:flex;flex-direction:column;background:var(--ft-filterable-table-header-background,#f5f5f5);color:var(--ft-color-on-surface-high,rgba(0,0,0,.87));padding:.5rem 1rem;font-family:var(--ft-title-font,Ubuntu),system-ui,sans-serif;--mdc-icon-size:20px;--mdc-icon-button-size:30px}.header-cell:first-of-type{border-radius:.5rem 0 0 0}.header-cell:last-of-type{border-radius:0 .5rem 0 0}.column-title-container{display:flex;align-items:center}.column-title-container ft-button{--ft-color-surface:var(--ft-filterable-table-header-background, whitesmoke);--ft-color-primary:var(--ft-color-on-surface-high, rgba(0, 0, 0, 0.87))}.column-title{white-space:nowrap;text-transform:uppercase;margin-right:.5rem}.column-filter{flex-grow:1;flex-shrink:0}.column-filter:not(:empty){padding-top:.5rem}.column-filter ft-select,.column-filter ft-text-field{width:150px;min-width:100%;--mdc-text-field-fill-color:var(--ft-filterable-table-header-background, whitesmoke);--mdc-select-fill-color:var(--ft-filterable-table-header-background, whitesmoke)}.cell{padding:1rem;border-left:1px solid var(--ft-filterable-table-header-background,#f5f5f5);border-bottom:1px solid var(--ft-filterable-table-header-background,#f5f5f5);overflow-x:auto;display:flex;align-items:center;font-family:var(--ft-content-font, 'Open Sans'),system-ui,sans-serif}.row:nth-child(2n)>.cell{background:var(--ft-filterable-table-odd-row-background,#fff)}.row:nth-child(2n+1)>.cell{background:var(--ft-filterable-table-even-row-background,#fdfdfd)}.row:hover>.cell{background:var(--ft-filterable-table-row-hover-background,#fafafa)}.cell:last-of-type{border-right:1px solid var(--ft-filterable-table-header-background,#f5f5f5)}.row:last-of-type .cell:first-of-type{border-radius:0 0 0 .5rem}.row:last-of-type .cell:last-of-type{border-radius:0 0 .5rem 0}.hidden{visibility:hidden}`}init(t,e,i){this.data=t,this.columns=e,this.sort=i}getTemplate(){let t=this.sortData(this.filterData());return R`<style>.table{grid-template-columns:repeat(${this.columns.length},minmax(min-content,auto))}</style><div class="table"><div class="header">${wt(this.columns,((t,e)=>"header-cell-"+e),((t,e)=>this.renderHeader(t,e)))}</div>${wt(t,((t,e)=>"row-"+e),((t,e)=>R`<div class="row" @click="${()=>this.dispatchEvent(new Me(t))}">${wt(this.columns,((t,i)=>"cell-"+e+" "+i),(i=>this.renderCell(i,t,e)))}</div>`))}</div>`}filterData(){let t=[...this.data];return this.filters.forEach(((e,i)=>{var r;const o=this.columns[i];if(e)switch(null!==(r=o.filter)&&void 0!==r?r:"text"){case"text":e.value&&(t=t.filter((t=>this.getValueAsString(o,t,i).toLowerCase().includes(e.value.toLowerCase()))));break;case"select":e.value&&(t=t.filter((t=>this.getValueAsString(o,t,i)===e.value)))}})),t}sortData(t){var e;if(this.currentSort){const i=this.columns[this.currentSort.column],r=null!==(e=i.comparator)&&void 0!==e?e:Fe,o="asc"===this.currentSort.order?r:(t,e)=>-r(t,e);return t.sort(((t,e)=>o(this.getValue(i,t),this.getValue(i,e))))}return t}update(t){super.update(t),t.has("sort")&&(this.currentSort=this.sort),(t.has("data")||t.has("columns"))&&this.updateSelectData()}updateSelectData(){this.selectData=[];const t=this.data,e=this.columns;for(let i in e){const r=e[i];"select"===r.filter&&(this.selectData[i]=[...new Set(t.map(((t,e)=>this.getValueAsString(r,t,e))))].sort(((t,e)=>t.localeCompare(e))))}this.requestUpdate()}renderHeader(t,e){return R`<div class="header-cell"><div class="column-title-container"><span class="column-title">${t.title}</span> ${this.renderColumnSort(t,e)}</div><div class="column-filter">${this.renderColumnFilter(t,e)}</div></div>`}renderColumnSort(t,e){var i;const r=this.currentSort&&this.currentSort.column===e,o=r?"asc"===this.currentSort.order?"expand_more":"expand_less":"unfold_more";return R`<ft-button round dense class="${null===(i=t.sortable)||void 0===i||i?"":"hidden"}" icon="${o}" label="Sort ${t.title}" @click="${()=>{var t;r?"asc"===(null===(t=this.currentSort)||void 0===t?void 0:t.order)?this.currentSort={column:e,order:"desc"}:this.currentSort=void 0:this.currentSort={column:e,order:"asc"}}}"></ft-button>`}renderColumnFilter(t,e){var i,r;const o=t=>{this.filters[e]={value:t.detail},this.requestUpdate()};switch(null!==(i=t.filter)&&void 0!==i?i:"text"){case"text":return R`<ft-text-field label="Search ${t.title}" @live-change="${o}"></ft-text-field>`;case"select":const i=null!==(r=this.selectData[e])&&void 0!==r?r:[];return i.length?R`<ft-select label="Filter ${t.title}" @change="${o}"><ft-select-option></ft-select-option>${i.map((t=>R`<ft-select-option value="${t}" label="${t}"></ft-select-option>`))}</ft-select>`:null}return null}renderCell(t,e,i){var r;const o=null!==(r=t.render)&&void 0!==r?r:Re;return R`<div class="cell">${(t=>{const e=o(t,i);return"string"==typeof e?$t(e):e})(this.getValue(t,e))}</div>`}getValue(t,e){return"string"==typeof t.getter?e[t.getter]:t.getter(e)}getValueAsString(t,e,i){const r=this.getValue(t,e);return"function"==typeof t.stringify?t.stringify(r,i):(t=>""+t)(r)}},t.FtFilterableTable.elementDefinitions={"ft-button":Ee,"ft-select":$e,"ft-select-option":ke,"ft-text-field":ze},_e([ot({attribute:!1})],t.FtFilterableTable.prototype,"data",void 0),_e([ot({attribute:!1})],t.FtFilterableTable.prototype,"columns",void 0),_e([ot({attribute:!1})],t.FtFilterableTable.prototype,"sort",void 0),_e([nt()],t.FtFilterableTable.prototype,"currentSort",void 0),t.FtFilterableTable=_e([zt("ft-filterable-table")],t.FtFilterableTable),t.RowClickEvent=Me,Object.defineProperty(t,"t",{value:!0})}({});
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fluid-topics/ft-filterable-table",
|
|
3
|
+
"version": "0.0.88",
|
|
4
|
+
"description": "A dynamic table with filters",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"Lit"
|
|
7
|
+
],
|
|
8
|
+
"author": "Fluid Topics <devtopics@antidot.net>",
|
|
9
|
+
"license": "ISC",
|
|
10
|
+
"main": "build/ft-filterable-table.js",
|
|
11
|
+
"web": "build/ft-filterable-table.min.js",
|
|
12
|
+
"typings": "build/ft-filterable-table",
|
|
13
|
+
"files": [
|
|
14
|
+
"build/*.ts",
|
|
15
|
+
"build/*.js"
|
|
16
|
+
],
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
|
|
20
|
+
},
|
|
21
|
+
"scripts": {
|
|
22
|
+
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@fluid-topics/ft-button": "^0.0.88",
|
|
26
|
+
"@fluid-topics/ft-select": "^0.0.88",
|
|
27
|
+
"@fluid-topics/ft-text-field": "^0.0.88",
|
|
28
|
+
"@fluid-topics/ft-wc-utils": "^0.0.88",
|
|
29
|
+
"lit": "^2.0.2"
|
|
30
|
+
},
|
|
31
|
+
"gitHead": "220e53dba55dfa1de1560abbc30067555f72198c"
|
|
32
|
+
}
|