igniteui-grid-lite 0.9.0 → 0.11.0
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/components/cell.d.ts +11 -15
- package/components/cell.js +14 -3
- package/components/cell.js.map +1 -1
- package/components/column.d.ts +2 -2
- package/components/column.js.map +1 -1
- package/components/filter-row.d.ts +5 -3
- package/components/filter-row.js +97 -67
- package/components/filter-row.js.map +1 -1
- package/components/grid.d.ts +49 -8
- package/components/grid.js +116 -79
- package/components/grid.js.map +1 -1
- package/components/header-row.d.ts +1 -2
- package/components/header-row.js +6 -8
- package/components/header-row.js.map +1 -1
- package/components/header.d.ts +9 -0
- package/components/header.js +37 -28
- package/components/header.js.map +1 -1
- package/components/row.d.ts +4 -4
- package/components/row.js +15 -4
- package/components/row.js.map +1 -1
- package/controllers/data-operation.d.ts +1 -7
- package/controllers/data-operation.js +7 -24
- package/controllers/data-operation.js.map +1 -1
- package/controllers/dom.d.ts +16 -9
- package/controllers/dom.js +71 -20
- package/controllers/dom.js.map +1 -1
- package/controllers/filter.d.ts +17 -13
- package/controllers/filter.js +51 -61
- package/controllers/filter.js.map +1 -1
- package/controllers/navigation.d.ts +13 -18
- package/controllers/navigation.js +71 -76
- package/controllers/navigation.js.map +1 -1
- package/controllers/resize.d.ts +11 -17
- package/controllers/resize.js +20 -16
- package/controllers/resize.js.map +1 -1
- package/controllers/sort.d.ts +13 -6
- package/controllers/sort.js +39 -41
- package/controllers/sort.js.map +1 -1
- package/controllers/state.d.ts +18 -19
- package/controllers/state.js +31 -35
- package/controllers/state.js.map +1 -1
- package/custom-elements.json +970 -488
- package/docs/igniteui-grid-lite.json +1293 -782
- package/index.d.ts +1 -1
- package/index.js.map +1 -1
- package/internal/a11y.d.ts +26 -0
- package/internal/a11y.js +24 -0
- package/internal/a11y.js.map +1 -0
- package/internal/body-focus.d.ts +6 -0
- package/internal/body-focus.js +46 -0
- package/internal/body-focus.js.map +1 -0
- package/internal/constants.d.ts +6 -2
- package/internal/constants.js +3 -4
- package/internal/constants.js.map +1 -1
- package/internal/element-from-event-path.d.ts +1 -1
- package/internal/element-from-event-path.js +2 -9
- package/internal/element-from-event-path.js.map +1 -1
- package/internal/normalize-case.d.ts +5 -1
- package/internal/normalize-case.js +2 -1
- package/internal/normalize-case.js.map +1 -1
- package/internal/part-map.js +9 -17
- package/internal/part-map.js.map +1 -1
- package/internal/tags.d.ts +1 -2
- package/internal/tags.js +1 -2
- package/internal/tags.js.map +1 -1
- package/internal/types.d.ts +19 -8
- package/internal/types.js.map +1 -1
- package/internal/utils.d.ts +7 -8
- package/internal/utils.js +22 -5
- package/internal/utils.js.map +1 -1
- package/internal/watch.js +8 -9
- package/internal/watch.js.map +1 -1
- package/operations/base.js +3 -2
- package/operations/base.js.map +1 -1
- package/operations/filter/state.d.ts +0 -1
- package/operations/filter/state.js +2 -8
- package/operations/filter/state.js.map +1 -1
- package/operations/filter/tree.d.ts +1 -2
- package/operations/filter/tree.js +2 -7
- package/operations/filter/tree.js.map +1 -1
- package/operations/filter/types.d.ts +1 -1
- package/operations/filter/types.js.map +1 -1
- package/operations/filter.js +16 -3
- package/operations/filter.js.map +1 -1
- package/operations/sort/types.d.ts +1 -1
- package/operations/sort/types.js.map +1 -1
- package/operations/sort.d.ts +0 -1
- package/operations/sort.js +12 -10
- package/operations/sort.js.map +1 -1
- package/package.json +2 -3
- package/styles/header-cell/header-cell.css.js +1 -1
- package/styles/header-cell/header-cell.css.js.map +1 -1
- package/styles/themes/filtering-row-themes.js +2 -30
- package/styles/themes/filtering-row-themes.js.map +1 -1
- package/styles/themes/grid-header-themes.js +2 -20
- package/styles/themes/grid-header-themes.js.map +1 -1
- package/styles/themes/grid-themes.js +10 -31
- package/styles/themes/grid-themes.js.map +1 -1
- package/styles/themes/grid.base.css.js +1 -1
- package/styles/themes/grid.base.css.js.map +1 -1
- package/styles/themes/shared/grid.common.css.js +1 -1
- package/styles/themes/shared/grid.common.css.js.map +1 -1
- package/components/virtualizer.d.ts +0 -12
- package/components/virtualizer.js +0 -20
- package/components/virtualizer.js.map +0 -1
- package/internal/virt-flow-layout.d.ts +0 -4
- package/internal/virt-flow-layout.js +0 -15
- package/internal/virt-flow-layout.js.map +0 -1
package/operations/base.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { normalizeCase } from '../internal/normalize-case.js';
|
|
2
|
+
import { isString, resolveFieldValue } from '../internal/utils.js';
|
|
2
3
|
export default class DataOperation {
|
|
3
4
|
resolveValue(record, key) {
|
|
4
5
|
return resolveFieldValue(record, key);
|
|
5
6
|
}
|
|
6
7
|
resolveCase(value, caseSensitive) {
|
|
7
|
-
return
|
|
8
|
+
return isString(value) ? normalizeCase(value, caseSensitive) : value;
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=base.js.map
|
package/operations/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/operations/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/operations/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAgB,aAAa;IAC/B,YAAY,CAAC,MAAS,EAAE,GAAM;QACtC,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAES,WAAW,CAAyB,KAAQ,EAAE,aAAuB;QAC7E,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,aAAa,CAAC,KAAK,EAAE,aAAa,CAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,CAAC;CAGF","sourcesContent":["import { normalizeCase } from '../internal/normalize-case.js';\nimport type { Keys, PropertyType } from '../internal/types.js';\nimport { isString, resolveFieldValue } from '../internal/utils.js';\n\nexport default abstract class DataOperation<T, K extends Keys<T> = Keys<T>> {\n protected resolveValue(record: T, key: K) {\n return resolveFieldValue(record, key);\n }\n\n protected resolveCase<U = PropertyType<T, K>>(value: U, caseSensitive?: boolean) {\n return isString(value) ? (normalizeCase(value, caseSensitive) as U) : value;\n }\n\n public abstract apply(...args: unknown[]): T[];\n}\n"]}
|
|
@@ -5,7 +5,6 @@ export declare class FilterState<T> {
|
|
|
5
5
|
protected state: Map<Keys<T>, FilterExpressionTree<T>>;
|
|
6
6
|
get empty(): boolean;
|
|
7
7
|
get values(): FilterExpressionTree<T>[];
|
|
8
|
-
has(key: Keys<T>): boolean;
|
|
9
8
|
get(key: Keys<T>): FilterExpressionTree<T> | undefined;
|
|
10
9
|
delete(key: Keys<T>): boolean;
|
|
11
10
|
clear(): void;
|
|
@@ -9,9 +9,6 @@ export class FilterState {
|
|
|
9
9
|
get values() {
|
|
10
10
|
return Array.from(this.state.values());
|
|
11
11
|
}
|
|
12
|
-
has(key) {
|
|
13
|
-
return this.state.has(key);
|
|
14
|
-
}
|
|
15
12
|
get(key) {
|
|
16
13
|
return this.state.get(key);
|
|
17
14
|
}
|
|
@@ -22,11 +19,8 @@ export class FilterState {
|
|
|
22
19
|
this.state.clear();
|
|
23
20
|
}
|
|
24
21
|
set(expression) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
this.state.set(expression.key, new FilterExpressionTree(expression.key).add(expression));
|
|
22
|
+
const tree = this.state.get(expression.key) ?? new FilterExpressionTree(expression.key);
|
|
23
|
+
this.state.set(expression.key, tree.add(expression));
|
|
30
24
|
}
|
|
31
25
|
}
|
|
32
26
|
//# sourceMappingURL=state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/operations/filter/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAGjD,MAAM,OAAO,WAAW;IAAxB;QACY,UAAK,GAA0C,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/operations/filter/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAGjD,MAAM,OAAO,WAAW;IAAxB;QACY,UAAK,GAA0C,IAAI,GAAG,EAAE,CAAC;IA0BrE,CAAC;IAxBC,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,GAAY;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEM,GAAG,CAAC,UAA+B;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,oBAAoB,CAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;CACF","sourcesContent":["import type { Keys } from '../../internal/types.js';\nimport { FilterExpressionTree } from './tree.js';\nimport type { FilterExpression } from './types.js';\n\nexport class FilterState<T> {\n protected state: Map<Keys<T>, FilterExpressionTree<T>> = new Map();\n\n public get empty() {\n return this.state.size < 1;\n }\n\n public get values() {\n return Array.from(this.state.values());\n }\n\n public get(key: Keys<T>) {\n return this.state.get(key);\n }\n\n public delete(key: Keys<T>) {\n return this.state.delete(key);\n }\n\n public clear() {\n this.state.clear();\n }\n\n public set(expression: FilterExpression<T>) {\n const tree = this.state.get(expression.key) ?? new FilterExpressionTree<T>(expression.key);\n this.state.set(expression.key, tree.add(expression));\n }\n}\n"]}
|
|
@@ -12,6 +12,5 @@ export declare class FilterExpressionTree<T> {
|
|
|
12
12
|
has(expression: FilterExpression<T>): boolean;
|
|
13
13
|
add(expression: FilterExpression<T>): this;
|
|
14
14
|
remove(expression: FilterExpression<T>): this;
|
|
15
|
-
|
|
16
|
-
[Symbol.iterator](): Generator<FilterExpression<T>, void, unknown>;
|
|
15
|
+
[Symbol.iterator](): ArrayIterator<FilterExpression<T>>;
|
|
17
16
|
}
|
|
@@ -10,7 +10,7 @@ export class FilterExpressionTree {
|
|
|
10
10
|
return this.operands.length;
|
|
11
11
|
}
|
|
12
12
|
get all() {
|
|
13
|
-
return
|
|
13
|
+
return [...this.operands];
|
|
14
14
|
}
|
|
15
15
|
get ands() {
|
|
16
16
|
return this.operands.filter((each) => each.criteria === 'and');
|
|
@@ -34,13 +34,8 @@ export class FilterExpressionTree {
|
|
|
34
34
|
this.operands = this.operands.filter((each) => each !== expression);
|
|
35
35
|
return this;
|
|
36
36
|
}
|
|
37
|
-
*iterator() {
|
|
38
|
-
for (const operand of this.operands) {
|
|
39
|
-
yield operand;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
37
|
[Symbol.iterator]() {
|
|
43
|
-
return this.
|
|
38
|
+
return this.operands.values();
|
|
44
39
|
}
|
|
45
40
|
}
|
|
46
41
|
//# sourceMappingURL=tree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/operations/filter/tree.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,oBAAoB;IAG/B,YAAmB,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;QAFrB,aAAQ,GAA+B,EAAE,CAAC;IAElB,CAAC;IAEnC,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/operations/filter/tree.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,oBAAoB;IAG/B,YAAmB,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;QAFrB,aAAQ,GAA+B,EAAE,CAAC;IAElB,CAAC;IAEnC,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;IAChE,CAAC;IAEM,GAAG,CAAC,UAA+B;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAEM,GAAG,CAAC,UAA+B;QACxC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACzB,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,UAA+B;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;CACF","sourcesContent":["import type { Keys } from '../../internal/types.js';\nimport type { FilterExpression } from './types.js';\n\nexport class FilterExpressionTree<T> {\n protected operands: Array<FilterExpression<T>> = [];\n\n constructor(public key: Keys<T>) {}\n\n public get empty() {\n return this.operands.length < 1;\n }\n\n public get length() {\n return this.operands.length;\n }\n\n public get all() {\n return [...this.operands];\n }\n\n public get ands() {\n return this.operands.filter((each) => each.criteria === 'and');\n }\n\n public get ors() {\n return this.operands.filter((each) => each.criteria === 'or');\n }\n\n public has(expression: FilterExpression<T>) {\n return this.operands.includes(expression);\n }\n\n public add(expression: FilterExpression<T>) {\n if (!expression.criteria) {\n expression.criteria = 'and';\n }\n\n if (!this.has(expression)) {\n this.operands.push(expression);\n }\n\n return this;\n }\n\n public remove(expression: FilterExpression<T>) {\n this.operands = this.operands.filter((each) => each !== expression);\n return this;\n }\n\n public [Symbol.iterator]() {\n return this.operands.values();\n }\n}\n"]}
|
|
@@ -43,7 +43,7 @@ export interface BaseFilterExpression<T, K extends Keys<T> = Keys<T>> {
|
|
|
43
43
|
*/
|
|
44
44
|
criteria?: FilterCriteria;
|
|
45
45
|
/**
|
|
46
|
-
* Whether the
|
|
46
|
+
* Whether the filter operation should be case sensitive.
|
|
47
47
|
*
|
|
48
48
|
* @remarks
|
|
49
49
|
* If not provided, the value is resolved based on the column filter configuration (if any).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/operations/filter/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Keys, PropertyType } from '../../internal/types.js';\nimport type { BooleanOperands } from './operands/boolean.js';\nimport type { NumberOperands } from './operands/number.js';\nimport type { StringOperands } from './operands/string.js';\n\n/**\n * Controls how a data record should resolve in a filter operation:\n * - `'and'` - the record must pass all the conditions.\n * - `'or'` - the record must pass at least one condition.\n */\nexport type FilterCriteria = 'and' | 'or';\n\nexport type FilterOperationLogic<T> = (\n target: T,\n searchTerm: T,\n caseSensitive?: boolean\n) => boolean;\n\nexport interface FilterOperation<T> {\n name: string;\n label?: string;\n unary: boolean;\n logic: FilterOperationLogic<T>;\n}\n\nexport type FilterOperands<DataType, Operands extends string> = {\n [key in Operands]: FilterOperation<DataType>;\n};\n\n/**\n * Represents a filter operation for a given column.\n */\nexport interface BaseFilterExpression<T, K extends Keys<T> = Keys<T>> {\n /**\n * The target column for the filter operation.\n */\n key: K;\n /**\n * The filter function which will be executed against the data records.\n */\n condition: FilterOperation<PropertyType<T, K>> | OperandKeys<PropertyType<T, K>>;\n\n /**\n * The filtering value used in the filter condition function.\n *\n * @remarks\n * Optional for unary conditions.\n */\n searchTerm?: PropertyType<T, K>;\n /**\n * Dictates how this expression should resolve in the filter operation in relation to\n * other expressions.\n */\n criteria?: FilterCriteria;\n /**\n * Whether the
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/operations/filter/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Keys, PropertyType } from '../../internal/types.js';\nimport type { BooleanOperands } from './operands/boolean.js';\nimport type { NumberOperands } from './operands/number.js';\nimport type { StringOperands } from './operands/string.js';\n\n/**\n * Controls how a data record should resolve in a filter operation:\n * - `'and'` - the record must pass all the conditions.\n * - `'or'` - the record must pass at least one condition.\n */\nexport type FilterCriteria = 'and' | 'or';\n\nexport type FilterOperationLogic<T> = (\n target: T,\n searchTerm: T,\n caseSensitive?: boolean\n) => boolean;\n\nexport interface FilterOperation<T> {\n name: string;\n label?: string;\n unary: boolean;\n logic: FilterOperationLogic<T>;\n}\n\nexport type FilterOperands<DataType, Operands extends string> = {\n [key in Operands]: FilterOperation<DataType>;\n};\n\n/**\n * Represents a filter operation for a given column.\n */\nexport interface BaseFilterExpression<T, K extends Keys<T> = Keys<T>> {\n /**\n * The target column for the filter operation.\n */\n key: K;\n /**\n * The filter function which will be executed against the data records.\n */\n condition: FilterOperation<PropertyType<T, K>> | OperandKeys<PropertyType<T, K>>;\n\n /**\n * The filtering value used in the filter condition function.\n *\n * @remarks\n * Optional for unary conditions.\n */\n searchTerm?: PropertyType<T, K>;\n /**\n * Dictates how this expression should resolve in the filter operation in relation to\n * other expressions.\n */\n criteria?: FilterCriteria;\n /**\n * Whether the filter operation should be case sensitive.\n *\n * @remarks\n * If not provided, the value is resolved based on the column filter configuration (if any).\n */\n caseSensitive?: boolean;\n}\n\n/**\n * See {@link BaseFilterExpression} for the full documentation.\n */\nexport type FilterExpression<T = any, K extends Keys<T> = Keys<T>> =\n K extends Keys<T> ? BaseFilterExpression<T, K> : never;\n\nexport type OperandKeys<Type> = Type extends number\n ? keyof typeof NumberOperands\n : Type extends string\n ? keyof typeof StringOperands\n : Type extends boolean\n ? keyof typeof BooleanOperands\n : Type;\n"]}
|
package/operations/filter.js
CHANGED
|
@@ -1,19 +1,32 @@
|
|
|
1
|
+
import { isString } from '../internal/utils.js';
|
|
1
2
|
import DataOperation from './base.js';
|
|
3
|
+
function isResolved(expression) {
|
|
4
|
+
return !isString(expression.condition);
|
|
5
|
+
}
|
|
2
6
|
export default class FilterDataOperation extends DataOperation {
|
|
3
7
|
resolveFilter(record, expr) {
|
|
4
8
|
const condition = expr.condition;
|
|
5
9
|
return condition.logic(this.resolveValue(record, expr.key), expr.searchTerm, expr.caseSensitive);
|
|
6
10
|
}
|
|
7
11
|
matchTree(record, ors, ands) {
|
|
8
|
-
if (ors.
|
|
12
|
+
if (ors.some((expr) => this.resolveFilter(record, expr))) {
|
|
9
13
|
return true;
|
|
10
14
|
}
|
|
15
|
+
if (ands.length === 0) {
|
|
16
|
+
return ors.length === 0;
|
|
17
|
+
}
|
|
11
18
|
return ands.every((expr) => this.resolveFilter(record, expr));
|
|
12
19
|
}
|
|
13
20
|
apply(data, state) {
|
|
14
|
-
if (state.empty)
|
|
21
|
+
if (state.empty) {
|
|
15
22
|
return data;
|
|
16
|
-
|
|
23
|
+
}
|
|
24
|
+
const trees = state.values
|
|
25
|
+
.map((tree) => ({ ors: tree.ors.filter(isResolved), ands: tree.ands.filter(isResolved) }))
|
|
26
|
+
.filter(({ ors, ands }) => ors.length > 0 || ands.length > 0);
|
|
27
|
+
if (trees.length === 0) {
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
17
30
|
return data.filter((record) => trees.every(({ ors, ands }) => this.matchTree(record, ors, ands)));
|
|
18
31
|
}
|
|
19
32
|
}
|
package/operations/filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/operations/filter.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/operations/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,aAAa,MAAM,WAAW,CAAC;AAKtC,SAAS,UAAU,CAAmB,UAA+B;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,mBAAsC,SAAQ,aAAgB;IACvE,aAAa,CAAC,MAAS,EAAE,IAAyB;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;QACvD,OAAO,SAAS,CAAC,KAAK,CACpB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAM,EACxC,IAAI,CAAC,UAAe,EACpB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAES,SAAS,CAAC,MAAS,EAAE,GAA0B,EAAE,IAA2B;QACpF,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,IAAS,EAAE,KAAqB;QAC3C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM;aACvB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aACzF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5B,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { isString } from '../internal/utils.js';\nimport DataOperation from './base.js';\nimport type { FilterState } from './filter/state.js';\nimport type { FilterExpression, FilterOperation } from './filter/types.js';\n\n/** A string condition waits for its column to resolve it. Without one, skip it. */\nfunction isResolved<T extends object>(expression: FilterExpression<T>): boolean {\n return !isString(expression.condition);\n}\n\nexport default class FilterDataOperation<T extends object> extends DataOperation<T> {\n protected resolveFilter(record: T, expr: FilterExpression<T>) {\n const condition = expr.condition as FilterOperation<T>;\n return condition.logic(\n this.resolveValue(record, expr.key) as T,\n expr.searchTerm as T,\n expr.caseSensitive\n );\n }\n\n protected matchTree(record: T, ors: FilterExpression<T>[], ands: FilterExpression<T>[]): boolean {\n if (ors.some((expr) => this.resolveFilter(record, expr))) {\n return true;\n }\n\n // No ANDs: the ORs decide alone (`every([])` is true).\n if (ands.length === 0) {\n return ors.length === 0;\n }\n\n return ands.every((expr) => this.resolveFilter(record, expr));\n }\n\n public apply(data: T[], state: FilterState<T>): T[] {\n if (state.empty) {\n return data;\n }\n\n // Split once per tree, not per record. Drop trees with nothing runnable.\n const trees = state.values\n .map((tree) => ({ ors: tree.ors.filter(isResolved), ands: tree.ands.filter(isResolved) }))\n .filter(({ ors, ands }) => ors.length > 0 || ands.length > 0);\n\n if (trees.length === 0) {\n return data;\n }\n\n return data.filter((record) =>\n trees.every(({ ors, ands }) => this.matchTree(record, ors, ands))\n );\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import type { Keys, PropertyType } from '../../internal/types.js';
|
|
|
3
3
|
* Sort direction for a given sort expression.
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
|
-
* `none`
|
|
6
|
+
* `none` clears the sort of the column.
|
|
7
7
|
*/
|
|
8
8
|
export type SortingDirection = 'ascending' | 'descending' | 'none';
|
|
9
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/operations/sort/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Keys, PropertyType } from '../../internal/types.js';\n\n/**\n * Sort direction for a given sort expression.\n *\n * @remarks\n * `none`
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/operations/sort/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Keys, PropertyType } from '../../internal/types.js';\n\n/**\n * Sort direction for a given sort expression.\n *\n * @remarks\n * `none` clears the sort of the column.\n */\nexport type SortingDirection = 'ascending' | 'descending' | 'none';\n\n/**\n * Custom comparer function for a given column used when sorting is performed.\n */\nexport type BaseSortComparer<T, K extends Keys<T> = Keys<T>> = (\n a: PropertyType<T, K>,\n b: PropertyType<T, K>\n) => number;\n\n/**\n * See {@link BaseSortComparer} for the full documentation.\n */\nexport type SortComparer<T, K extends Keys<T> = Keys<T>> =\n K extends Keys<T> ? BaseSortComparer<T, K> : never;\n\n/**\n * Represents a sort operation for a given column.\n */\nexport interface BaseSortingExpression<T, K extends Keys<T> = Keys<T>> {\n /**\n * The target column.\n */\n key: K;\n /**\n * Sort direction for this operation.\n */\n direction: SortingDirection;\n /**\n * Whether the sort operation should be case sensitive.\n *\n * @remarks\n * If not provided, the value is resolved based on the column sort configuration (if any).\n */\n caseSensitive?: boolean;\n /**\n * Custom comparer function for this operation.\n *\n * @remarks\n * If not provided, the value is resolved based on the column sort configuration (if any).\n */\n comparer?: SortComparer<T, K>;\n}\n\n/**\n * See {@link BaseSortingExpression} for the full documentation.\n */\nexport type SortingExpression<T = any, K extends Keys<T> = Keys<T>> =\n K extends Keys<T> ? BaseSortingExpression<T, K> : never;\n\n/** Represents the sort state of the grid. */\nexport type SortState<T> = Map<Keys<T>, SortingExpression<T>>;\n"]}
|
package/operations/sort.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import DataOperation from './base.js';
|
|
2
2
|
import type { SortState } from './sort/types.js';
|
|
3
3
|
export default class SortDataOperation<T> extends DataOperation<T> {
|
|
4
|
-
protected orderBy: Map<string, number>;
|
|
5
4
|
protected compareValues<U>(first: U, second: U): number;
|
|
6
5
|
apply(data: T[], state: SortState<T>): T[];
|
|
7
6
|
}
|
package/operations/sort.js
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import DataOperation from './base.js';
|
|
2
|
+
const collator = new Intl.Collator();
|
|
3
|
+
const DIRECTION_MULTIPLIERS = {
|
|
4
|
+
ascending: 1,
|
|
5
|
+
descending: -1,
|
|
6
|
+
};
|
|
2
7
|
export default class SortDataOperation extends DataOperation {
|
|
3
|
-
constructor() {
|
|
4
|
-
super(...arguments);
|
|
5
|
-
this.orderBy = new Map(Object.entries({
|
|
6
|
-
ascending: 1,
|
|
7
|
-
descending: -1,
|
|
8
|
-
}));
|
|
9
|
-
}
|
|
10
8
|
compareValues(first, second) {
|
|
11
9
|
if (typeof first === 'string' && typeof second === 'string') {
|
|
12
|
-
return
|
|
10
|
+
return collator.compare(first, second);
|
|
13
11
|
}
|
|
14
12
|
return first > second ? 1 : first < second ? -1 : 0;
|
|
15
13
|
}
|
|
16
14
|
apply(data, state) {
|
|
15
|
+
if (state.size === 0) {
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
17
18
|
const expressions = Array.from(state.values());
|
|
18
19
|
const length = expressions.length;
|
|
19
|
-
const multipliers = expressions.map(({ direction }) =>
|
|
20
|
+
const multipliers = expressions.map(({ direction }) => DIRECTION_MULTIPLIERS[direction]);
|
|
21
|
+
const comparers = expressions.map(({ comparer }) => comparer);
|
|
20
22
|
const transformed = data.map((item) => {
|
|
21
23
|
const tuple = new Array(length + 1);
|
|
22
24
|
tuple[0] = item;
|
|
@@ -34,7 +36,7 @@ export default class SortDataOperation extends DataOperation {
|
|
|
34
36
|
const keyB = b[i + 1];
|
|
35
37
|
result =
|
|
36
38
|
multipliers[i] *
|
|
37
|
-
(
|
|
39
|
+
(comparers[i]?.(keyA, keyB) ?? this.compareValues(keyA, keyB));
|
|
38
40
|
i++;
|
|
39
41
|
}
|
|
40
42
|
return result;
|
package/operations/sort.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/operations/sort.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/operations/sort.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,WAAW,CAAC;AAItC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;AAErC,MAAM,qBAAqB,GAA2B;IACpD,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC,CAAC;CACf,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,iBAAqB,SAAQ,aAAgB;IACtD,aAAa,CAAI,KAAQ,EAAE,MAAS;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,IAAS,EAAE,KAAmB;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAGlC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAG9D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,MAAM,KAAK,GAAc,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC9C,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,MAAM,GAAG,CAAC,CAAC;YAEf,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtB,MAAM;oBACJ,WAAW,CAAC,CAAC,CAAC;wBACd,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAW,EAAE,IAAW,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/E,CAAC,EAAE,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAM,CAAC,CAAC;IACnD,CAAC;CACF","sourcesContent":["import DataOperation from './base.js';\nimport type { SortState } from './sort/types.js';\n\n// One shared collator: `localeCompare` builds one per call.\nconst collator = new Intl.Collator();\n\nconst DIRECTION_MULTIPLIERS: Record<string, number> = {\n ascending: 1,\n descending: -1,\n};\n\nexport default class SortDataOperation<T> extends DataOperation<T> {\n protected compareValues<U>(first: U, second: U) {\n if (typeof first === 'string' && typeof second === 'string') {\n return collator.compare(first, second);\n }\n return first > second ? 1 : first < second ? -1 : 0;\n }\n\n public apply(data: T[], state: SortState<T>) {\n if (state.size === 0) {\n return data;\n }\n\n const expressions = Array.from(state.values());\n const length = expressions.length;\n\n // Resolved once, not per comparison.\n const multipliers = expressions.map(({ direction }) => DIRECTION_MULTIPLIERS[direction]);\n const comparers = expressions.map(({ comparer }) => comparer);\n\n // Flat tuples [item, key0, key1, ...]: keys resolve once, no per-row objects.\n const transformed = data.map((item) => {\n const tuple: unknown[] = new Array(length + 1);\n tuple[0] = item;\n for (let i = 0; i < length; i++) {\n const { key, caseSensitive } = expressions[i];\n tuple[i + 1] = this.resolveCase(this.resolveValue(item, key), caseSensitive);\n }\n return tuple;\n });\n\n transformed.sort((a, b) => {\n let i = 0;\n let result = 0;\n\n while (i < length && !result) {\n const keyA = a[i + 1];\n const keyB = b[i + 1];\n result =\n multipliers[i] *\n (comparers[i]?.(keyA as any, keyB as any) ?? this.compareValues(keyA, keyB));\n i++;\n }\n\n return result;\n });\n\n return transformed.map((tuple) => tuple[0] as T);\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "igniteui-grid-lite",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Web component data grid following open-wc recommendations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lit",
|
|
@@ -33,9 +33,8 @@
|
|
|
33
33
|
},
|
|
34
34
|
"customElements": "custom-elements.json",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@lit-labs/virtualizer": "~2.1.0",
|
|
37
36
|
"@lit/context": "~1.1.5",
|
|
38
|
-
"igniteui-webcomponents": "~7.
|
|
37
|
+
"igniteui-webcomponents": "~7.4.1",
|
|
39
38
|
"lit": "^3.3.0"
|
|
40
39
|
}
|
|
41
40
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host{display:flex;align-items:center;position:relative;border-inline-end:var(--header-border-width) var(--header-border-style) var(--header-border-color);font-size:0.75rem;min-height:var(--header-size)}:host(:last-of-type){border-inline-end:none}[part~=content]{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;padding:0 max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem),var(--is-medium, 1)*max(1rem, -1 * 1rem),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem));overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}[part~=title]{display:block;position:relative;cursor:initial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:600;min-width:3ch}[part~=actions]{display:flex;gap:.25rem;align-items:center}[part~=action]{cursor:pointer;opacity:.7;transition:opacity .25s ease-in-out}[part~=action]:hover,[part~=action]:focus{opacity:1}[part~=action] igc-icon{--size: 0.9375rem}[part~=action] igc-icon::after{content:attr(data-sortIndex);position:absolute;top:-5px;inset-inline-end:-1px;font-size:.625rem;text-align:end;font-family:sans-serif;line-height:.625rem}[part~=sorted]
|
|
2
|
+
export const styles = css `:host{position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host{display:flex;align-items:center;position:relative;border-inline-end:var(--header-border-width) var(--header-border-style) var(--header-border-color);font-size:0.75rem;min-height:var(--header-size)}:host(:last-of-type){border-inline-end:none}[part~=content]{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;padding:0 max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem),var(--is-medium, 1)*max(1rem, -1 * 1rem),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem));overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}[part~=title]{display:block;position:relative;cursor:initial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:600;min-width:3ch}[part~=actions]{display:flex;gap:.25rem;align-items:center}[part~=action]{cursor:pointer;opacity:.7;transition:opacity .25s ease-in-out}[part~=action]:hover,[part~=action]:focus{opacity:1}[part~=action] igc-icon{--size: 0.9375rem}[part~=action] igc-icon::after{content:attr(data-sortIndex);position:absolute;top:-5px;inset-inline-end:-1px;font-size:.625rem;text-align:end;font-family:sans-serif;line-height:.625rem}[part~=sorted]{color:var(--sorted-header-icon-color)}[part~=sorted] igc-icon{color:inherit}[part~=resizable]{width:.25rem;height:100%;position:absolute;inset-inline-end:-0.125rem;z-index:var(--z-index-base);cursor:col-resize}`;
|
|
3
3
|
//# sourceMappingURL=header-cell.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-cell.css.js","sourceRoot":"","sources":["../../../src/styles/header-cell/header-cell.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"header-cell.css.js","sourceRoot":"","sources":["../../../src/styles/header-cell/header-cell.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,k7DAAk7D,CAAC","sourcesContent":["import { css } from 'lit';\nexport const styles = css`:host{position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host{display:flex;align-items:center;position:relative;border-inline-end:var(--header-border-width) var(--header-border-style) var(--header-border-color);font-size:0.75rem;min-height:var(--header-size)}:host(:last-of-type){border-inline-end:none}[part~=content]{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;padding:0 max(var(--is-large, 1)*max(1.5rem, -1 * 1.5rem),var(--is-medium, 1)*max(1rem, -1 * 1rem),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem));overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}[part~=title]{display:block;position:relative;cursor:initial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:600;min-width:3ch}[part~=actions]{display:flex;gap:.25rem;align-items:center}[part~=action]{cursor:pointer;opacity:.7;transition:opacity .25s ease-in-out}[part~=action]:hover,[part~=action]:focus{opacity:1}[part~=action] igc-icon{--size: 0.9375rem}[part~=action] igc-icon::after{content:attr(data-sortIndex);position:absolute;top:-5px;inset-inline-end:-1px;font-size:.625rem;text-align:end;font-family:sans-serif;line-height:.625rem}[part~=sorted]{color:var(--sorted-header-icon-color)}[part~=sorted] igc-icon{color:inherit}[part~=resizable]{width:.25rem;height:100%;position:absolute;inset-inline-end:-0.125rem;z-index:var(--z-index-base);cursor:col-resize}`;"]}
|
|
@@ -1,35 +1,7 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
1
|
import { styles as bootstrap } from './shared/filtering-row/filtering-row.bootstrap.css.js';
|
|
3
2
|
import { styles as fluent } from './shared/filtering-row/filtering-row.fluent.css.js';
|
|
4
3
|
import { styles as indigo } from './shared/filtering-row/filtering-row.indigo.css.js';
|
|
5
4
|
import { styles as material } from './shared/filtering-row/filtering-row.material.css.js';
|
|
6
|
-
const light = {
|
|
7
|
-
|
|
8
|
-
${indigo}
|
|
9
|
-
`,
|
|
10
|
-
material: css `
|
|
11
|
-
${material}
|
|
12
|
-
`,
|
|
13
|
-
bootstrap: css `
|
|
14
|
-
${bootstrap}
|
|
15
|
-
`,
|
|
16
|
-
fluent: css `
|
|
17
|
-
${fluent}
|
|
18
|
-
`,
|
|
19
|
-
};
|
|
20
|
-
const dark = {
|
|
21
|
-
indigo: css `
|
|
22
|
-
${indigo}
|
|
23
|
-
`,
|
|
24
|
-
material: css `
|
|
25
|
-
${material}
|
|
26
|
-
`,
|
|
27
|
-
bootstrap: css `
|
|
28
|
-
${bootstrap}
|
|
29
|
-
`,
|
|
30
|
-
fluent: css `
|
|
31
|
-
${fluent}
|
|
32
|
-
`,
|
|
33
|
-
};
|
|
34
|
-
export const all = { light, dark };
|
|
5
|
+
const light = { indigo, material, bootstrap, fluent };
|
|
6
|
+
export const all = { light, dark: light };
|
|
35
7
|
//# sourceMappingURL=filtering-row-themes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filtering-row-themes.js","sourceRoot":"","sources":["../../../src/styles/themes/filtering-row-themes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filtering-row-themes.js","sourceRoot":"","sources":["../../../src/styles/themes/filtering-row-themes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oDAAoD,CAAC;AACtF,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oDAAoD,CAAC;AACtF,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,sDAAsD,CAAC;AAE1F,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAEtD,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC","sourcesContent":["import type { Themes } from '../../internal/types.js';\nimport { styles as bootstrap } from './shared/filtering-row/filtering-row.bootstrap.css.js';\nimport { styles as fluent } from './shared/filtering-row/filtering-row.fluent.css.js';\nimport { styles as indigo } from './shared/filtering-row/filtering-row.indigo.css.js';\nimport { styles as material } from './shared/filtering-row/filtering-row.material.css.js';\n\nconst light = { indigo, material, bootstrap, fluent };\n\nexport const all: Themes = { light, dark: light };\n"]}
|
|
@@ -1,25 +1,7 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
1
|
import { styles as bootstrap } from './shared/header/header.bootstrap.css.js';
|
|
3
2
|
import { styles as fluent } from './shared/header/header.fluent.css.js';
|
|
4
3
|
import { styles as indigo } from './shared/header/header.indigo.css.js';
|
|
5
|
-
const light = {
|
|
6
|
-
|
|
7
|
-
${bootstrap},
|
|
8
|
-
`,
|
|
9
|
-
fluent: css `
|
|
10
|
-
${fluent}
|
|
11
|
-
`,
|
|
12
|
-
indigo: css `
|
|
13
|
-
${indigo}
|
|
14
|
-
`,
|
|
15
|
-
};
|
|
16
|
-
const dark = {
|
|
17
|
-
bootstrap: css `
|
|
18
|
-
${bootstrap}
|
|
19
|
-
`,
|
|
20
|
-
indigo: css `
|
|
21
|
-
${indigo}
|
|
22
|
-
`,
|
|
23
|
-
};
|
|
4
|
+
const light = { bootstrap, fluent, indigo };
|
|
5
|
+
const dark = { bootstrap, indigo };
|
|
24
6
|
export const all = { light, dark };
|
|
25
7
|
//# sourceMappingURL=grid-header-themes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-header-themes.js","sourceRoot":"","sources":["../../../src/styles/themes/grid-header-themes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grid-header-themes.js","sourceRoot":"","sources":["../../../src/styles/themes/grid-header-themes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAExE,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5C,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAEnC,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import type { Themes } from '../../internal/types.js';\nimport { styles as bootstrap } from './shared/header/header.bootstrap.css.js';\nimport { styles as fluent } from './shared/header/header.fluent.css.js';\nimport { styles as indigo } from './shared/header/header.indigo.css.js';\n\nconst light = { bootstrap, fluent, indigo };\nconst dark = { bootstrap, indigo };\n\nexport const all: Themes = { light, dark };\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
1
|
import { styles as bootstrapDark } from './dark/grid.bootstrap.css.js';
|
|
3
2
|
import { styles as fluentDark } from './dark/grid.fluent.css.js';
|
|
4
3
|
import { styles as indigoDark } from './dark/grid.indigo.css.js';
|
|
@@ -10,38 +9,18 @@ import { styles as indigoLight } from './light/grid.indigo.css.js';
|
|
|
10
9
|
import { styles as materialLight } from './light/grid.material.css.js';
|
|
11
10
|
import { styles as shared } from './light/grid.shared.css.js';
|
|
12
11
|
const light = {
|
|
13
|
-
shared
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
`,
|
|
19
|
-
material: css `
|
|
20
|
-
${materialLight}
|
|
21
|
-
`,
|
|
22
|
-
fluent: css `
|
|
23
|
-
${fluentLight}
|
|
24
|
-
`,
|
|
25
|
-
indigo: css `
|
|
26
|
-
${indigoLight}
|
|
27
|
-
`,
|
|
12
|
+
shared,
|
|
13
|
+
bootstrap: bootstrapLight,
|
|
14
|
+
material: materialLight,
|
|
15
|
+
fluent: fluentLight,
|
|
16
|
+
indigo: indigoLight,
|
|
28
17
|
};
|
|
29
18
|
const dark = {
|
|
30
|
-
shared:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
`,
|
|
36
|
-
material: css `
|
|
37
|
-
${materialDark}
|
|
38
|
-
`,
|
|
39
|
-
fluent: css `
|
|
40
|
-
${fluentDark}
|
|
41
|
-
`,
|
|
42
|
-
indigo: css `
|
|
43
|
-
${indigoDark}
|
|
44
|
-
`,
|
|
19
|
+
shared: sharedDark,
|
|
20
|
+
bootstrap: bootstrapDark,
|
|
21
|
+
material: materialDark,
|
|
22
|
+
fluent: fluentDark,
|
|
23
|
+
indigo: indigoDark,
|
|
45
24
|
};
|
|
46
25
|
export const all = { light, dark };
|
|
47
26
|
//# sourceMappingURL=grid-themes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-themes.js","sourceRoot":"","sources":["../../../src/styles/themes/grid-themes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grid-themes.js","sourceRoot":"","sources":["../../../src/styles/themes/grid-themes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,KAAK,GAAG;IACZ,MAAM;IACN,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;CACpB,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,aAAa;IACxB,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import type { Themes } from '../../internal/types.js';\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/grid.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/grid.fluent.css.js';\nimport { styles as indigoDark } from './dark/grid.indigo.css.js';\nimport { styles as materialDark } from './dark/grid.material.css.js';\nimport { styles as sharedDark } from './dark/grid.shared.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/grid.bootstrap.css.js';\nimport { styles as fluentLight } from './light/grid.fluent.css.js';\nimport { styles as indigoLight } from './light/grid.indigo.css.js';\nimport { styles as materialLight } from './light/grid.material.css.js';\nimport { styles as shared } from './light/grid.shared.css.js';\n\nconst light = {\n shared,\n bootstrap: bootstrapLight,\n material: materialLight,\n fluent: fluentLight,\n indigo: indigoLight,\n};\n\nconst dark = {\n shared: sharedDark,\n bootstrap: bootstrapDark,\n material: materialDark,\n fluent: fluentDark,\n indigo: indigoDark,\n};\n\nexport const all: Themes = { light, dark };\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--ig-size-large));--scrollbar-offset: 0;--z-index-base: 1;display:grid;height:100%;
|
|
2
|
+
export const styles = css `:host{position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--ig-size-large));--scrollbar-offset: 0;--z-index-base: 1;display:grid;height:100%;font-family:var(--ig-font-family),serif;overflow:auto hidden;grid-template-rows:[header-row] max-content [filter-row] max-content [virtualized-container] auto;box-shadow:0 0 0 .0625rem var(--grid-border-color)}igc-virtual-scroll{grid-row:virtualized-container;height:auto;contain:size layout;min-height:9.375rem}igc-virtual-scroll:focus{outline:none}[part~=resize-indicator]{position:absolute;height:100%;width:.125rem;inset-inline-start:0;top:0;z-index:calc(var(--z-index-base) + 1)}[part=column-sink]{display:none}`;
|
|
3
3
|
//# sourceMappingURL=grid.base.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.base.css.js","sourceRoot":"","sources":["../../../src/styles/themes/grid.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"grid.base.css.js","sourceRoot":"","sources":["../../../src/styles/themes/grid.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2hDAA2hD,CAAC","sourcesContent":["import { css } from 'lit';\nexport const styles = css`:host{position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--ig-size-large));--scrollbar-offset: 0;--z-index-base: 1;display:grid;height:100%;font-family:var(--ig-font-family),serif;overflow:auto hidden;grid-template-rows:[header-row] max-content [filter-row] max-content [virtualized-container] auto;box-shadow:0 0 0 .0625rem var(--grid-border-color)}igc-virtual-scroll{grid-row:virtualized-container;height:auto;contain:size layout;min-height:9.375rem}igc-virtual-scroll:focus{outline:none}[part~=resize-indicator]{position:absolute;height:100%;width:.125rem;inset-inline-start:0;top:0;z-index:calc(var(--z-index-base) + 1)}[part=column-sink]{display:none}`;"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host igc-
|
|
2
|
+
export const styles = css `:host igc-virtual-scroll{background:var(--content-background);color:var(--content-text-color)}:host [part~=resize-indicator]{background-color:var(--resize-line-color)}`;
|
|
3
3
|
//# sourceMappingURL=grid.common.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.common.css.js","sourceRoot":"","sources":["../../../../src/styles/themes/shared/grid.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"grid.common.css.js","sourceRoot":"","sources":["../../../../src/styles/themes/shared/grid.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,yKAAyK,CAAC","sourcesContent":["import { css } from 'lit';\nexport const styles = css`:host igc-virtual-scroll{background:var(--content-background);color:var(--content-text-color)}:host [part~=resize-indicator]{background-color:var(--resize-line-color)}`;"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { LitVirtualizer } from '@lit-labs/virtualizer/LitVirtualizer.js';
|
|
2
|
-
export default class IgcVirtualizer extends LitVirtualizer {
|
|
3
|
-
static get tagName(): "igc-virtualizer";
|
|
4
|
-
layout: LitVirtualizer['layout'];
|
|
5
|
-
static register(): void;
|
|
6
|
-
scroller: boolean;
|
|
7
|
-
}
|
|
8
|
-
declare global {
|
|
9
|
-
interface HTMLElementTagNameMap {
|
|
10
|
-
[IgcVirtualizer.tagName]: IgcVirtualizer;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { LitVirtualizer } from '@lit-labs/virtualizer/LitVirtualizer.js';
|
|
2
|
-
import { registerComponent } from '../internal/register.js';
|
|
3
|
-
import { GRID_BODY } from '../internal/tags.js';
|
|
4
|
-
import { IgcFlowLayout } from '../internal/virt-flow-layout.js';
|
|
5
|
-
export default class IgcVirtualizer extends LitVirtualizer {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.layout = {
|
|
9
|
-
type: IgcFlowLayout,
|
|
10
|
-
};
|
|
11
|
-
this.scroller = true;
|
|
12
|
-
}
|
|
13
|
-
static get tagName() {
|
|
14
|
-
return GRID_BODY;
|
|
15
|
-
}
|
|
16
|
-
static register() {
|
|
17
|
-
registerComponent(IgcVirtualizer);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=virtualizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"virtualizer.js","sourceRoot":"","sources":["../../src/components/virtualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,cAAc;IAA1D;;QAKkB,WAAM,GAA6B;YACjD,IAAI,EAAE,aAAa;SACpB,CAAC;QAMc,aAAQ,GAAG,IAAI,CAAC;IAClC,CAAC;IAbQ,MAAM,KAAK,OAAO;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAMM,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;CAGF","sourcesContent":["import { LitVirtualizer } from '@lit-labs/virtualizer/LitVirtualizer.js';\nimport { registerComponent } from '../internal/register.js';\nimport { GRID_BODY } from '../internal/tags.js';\nimport { IgcFlowLayout } from '../internal/virt-flow-layout.js';\n\nexport default class IgcVirtualizer extends LitVirtualizer {\n public static get tagName() {\n return GRID_BODY;\n }\n\n public override layout: LitVirtualizer['layout'] = {\n type: IgcFlowLayout,\n };\n\n public static register(): void {\n registerComponent(IgcVirtualizer);\n }\n\n public override scroller = true;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [IgcVirtualizer.tagName]: IgcVirtualizer;\n }\n}\n"]}
|