@universal-ember/table 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/-private/-type-tests/plugin-properties.test.js +27 -0
- package/dist/-private/-type-tests/plugin-properties.test.js.map +1 -0
- package/dist/-private/-type-tests/plugin-with.test.js +20 -0
- package/dist/-private/-type-tests/plugin-with.test.js.map +1 -0
- package/dist/-private/-type-tests/plugins-accessors.test.js +36 -0
- package/dist/-private/-type-tests/plugins-accessors.test.js.map +1 -0
- package/dist/-private/-type-tests/plugins-signature-from.test.js +15 -0
- package/dist/-private/-type-tests/plugins-signature-from.test.js.map +1 -0
- package/dist/-private/-type-tests/plugins-signature-utils.test.js +36 -0
- package/dist/-private/-type-tests/plugins-signature-utils.test.js.map +1 -0
- package/dist/-private/-type-tests/table-api.test.js +17 -0
- package/dist/-private/-type-tests/table-api.test.js.map +1 -0
- package/dist/-private/-type-tests/table-config.test.js +55 -0
- package/dist/-private/-type-tests/table-config.test.js.map +1 -0
- package/dist/-private/column.js +62 -0
- package/dist/-private/column.js.map +1 -0
- package/dist/-private/ember-compat.js +17 -0
- package/dist/-private/ember-compat.js.map +1 -0
- package/dist/-private/interfaces/column.js +2 -0
- package/dist/-private/interfaces/column.js.map +1 -0
- package/dist/-private/interfaces/index.js +2 -0
- package/dist/-private/interfaces/index.js.map +1 -0
- package/dist/-private/interfaces/modifier.js +2 -0
- package/dist/-private/interfaces/modifier.js.map +1 -0
- package/dist/-private/interfaces/pagination.js +2 -0
- package/dist/-private/interfaces/pagination.js.map +1 -0
- package/dist/-private/interfaces/plugins.js +2 -0
- package/dist/-private/interfaces/plugins.js.map +1 -0
- package/dist/-private/interfaces/preferences.js +2 -0
- package/dist/-private/interfaces/preferences.js.map +1 -0
- package/dist/-private/interfaces/selection.js +2 -0
- package/dist/-private/interfaces/selection.js.map +1 -0
- package/dist/-private/interfaces/table.js +2 -0
- package/dist/-private/interfaces/table.js.map +1 -0
- package/dist/-private/js-helper.js +55 -0
- package/dist/-private/js-helper.js.map +1 -0
- package/dist/-private/preferences.js +143 -0
- package/dist/-private/preferences.js.map +1 -0
- package/dist/-private/private-types.js +2 -0
- package/dist/-private/private-types.js.map +1 -0
- package/dist/-private/row.js +51 -0
- package/dist/-private/row.js.map +1 -0
- package/dist/-private/table.js +273 -0
- package/dist/-private/table.js.map +1 -0
- package/dist/-private/utils.js +15 -0
- package/dist/-private/utils.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-BpiaYhlf.js +63 -0
- package/dist/_rollupPluginBabelHelpers-BpiaYhlf.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/-private/base.js +524 -0
- package/dist/plugins/-private/base.js.map +1 -0
- package/dist/plugins/-private/utils.js +103 -0
- package/dist/plugins/-private/utils.js.map +1 -0
- package/dist/plugins/column-reordering/helpers.js +44 -0
- package/dist/plugins/column-reordering/helpers.js.map +1 -0
- package/dist/plugins/column-reordering/index.js +3 -0
- package/dist/plugins/column-reordering/index.js.map +1 -0
- package/dist/plugins/column-reordering/plugin.js +359 -0
- package/dist/plugins/column-reordering/plugin.js.map +1 -0
- package/dist/plugins/column-reordering/utils.js +34 -0
- package/dist/plugins/column-reordering/utils.js.map +1 -0
- package/dist/plugins/column-resizing/handle.js +241 -0
- package/dist/plugins/column-resizing/handle.js.map +1 -0
- package/dist/plugins/column-resizing/helpers.js +71 -0
- package/dist/plugins/column-resizing/helpers.js.map +1 -0
- package/dist/plugins/column-resizing/index.js +4 -0
- package/dist/plugins/column-resizing/index.js.map +1 -0
- package/dist/plugins/column-resizing/plugin.js +328 -0
- package/dist/plugins/column-resizing/plugin.js.map +1 -0
- package/dist/plugins/column-resizing/resize-observer.js +44 -0
- package/dist/plugins/column-resizing/resize-observer.js.map +1 -0
- package/dist/plugins/column-resizing/utils.js +44 -0
- package/dist/plugins/column-resizing/utils.js.map +1 -0
- package/dist/plugins/column-visibility/helpers.js +25 -0
- package/dist/plugins/column-visibility/helpers.js.map +1 -0
- package/dist/plugins/column-visibility/index.js +3 -0
- package/dist/plugins/column-visibility/index.js.map +1 -0
- package/dist/plugins/column-visibility/plugin.js +92 -0
- package/dist/plugins/column-visibility/plugin.js.map +1 -0
- package/dist/plugins/data-sorting/helpers.js +49 -0
- package/dist/plugins/data-sorting/helpers.js.map +1 -0
- package/dist/plugins/data-sorting/index.js +4 -0
- package/dist/plugins/data-sorting/index.js.map +1 -0
- package/dist/plugins/data-sorting/plugin.js +132 -0
- package/dist/plugins/data-sorting/plugin.js.map +1 -0
- package/dist/plugins/data-sorting/types.js +14 -0
- package/dist/plugins/data-sorting/types.js.map +1 -0
- package/dist/plugins/index.js +3 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/metadata/helpers.js +12 -0
- package/dist/plugins/metadata/helpers.js.map +1 -0
- package/dist/plugins/metadata/index.js +3 -0
- package/dist/plugins/metadata/index.js.map +1 -0
- package/dist/plugins/metadata/plugin.js +25 -0
- package/dist/plugins/metadata/plugin.js.map +1 -0
- package/dist/plugins/row-selection/helpers.js +10 -0
- package/dist/plugins/row-selection/helpers.js.map +1 -0
- package/dist/plugins/row-selection/index.js +3 -0
- package/dist/plugins/row-selection/index.js.map +1 -0
- package/dist/plugins/row-selection/plugin.js +118 -0
- package/dist/plugins/row-selection/plugin.js.map +1 -0
- package/dist/plugins/sticky-columns/helpers.js +49 -0
- package/dist/plugins/sticky-columns/helpers.js.map +1 -0
- package/dist/plugins/sticky-columns/index.js +3 -0
- package/dist/plugins/sticky-columns/index.js.map +1 -0
- package/dist/plugins/sticky-columns/plugin.js +139 -0
- package/dist/plugins/sticky-columns/plugin.js.map +1 -0
- package/dist/test-support/index.js +62 -0
- package/dist/test-support/index.js.map +1 -0
- package/dist/utils.js +77 -0
- package/dist/utils.js.map +1 -0
- package/package.json +3 -2
- package/src/-private/-type-tests/plugin-properties.test.ts +38 -0
- package/src/-private/-type-tests/plugin-with.test.ts +23 -0
- package/src/-private/-type-tests/plugins-accessors.test.ts +86 -0
- package/src/-private/-type-tests/plugins-signature-from.test.ts +66 -0
- package/src/-private/-type-tests/plugins-signature-utils.test.ts +154 -0
- package/src/-private/-type-tests/table-api.test.ts +20 -0
- package/src/-private/-type-tests/table-config.test.ts +70 -0
- package/src/-private/column.ts +67 -0
- package/src/-private/ember-compat.ts +26 -0
- package/src/-private/interfaces/column.ts +73 -0
- package/src/-private/interfaces/index.ts +7 -0
- package/src/-private/interfaces/modifier.ts +7 -0
- package/src/-private/interfaces/pagination.ts +13 -0
- package/src/-private/interfaces/plugins.ts +349 -0
- package/src/-private/interfaces/preferences.ts +82 -0
- package/src/-private/interfaces/selection.ts +38 -0
- package/src/-private/interfaces/table.ts +121 -0
- package/src/-private/js-helper.ts +65 -0
- package/src/-private/preferences.ts +176 -0
- package/src/-private/private-types.ts +8 -0
- package/src/-private/row.ts +66 -0
- package/src/-private/table.ts +310 -0
- package/src/-private/utils.ts +21 -0
- package/src/index.ts +25 -0
- package/src/plugins/-private/base.ts +836 -0
- package/src/plugins/-private/utils.ts +166 -0
- package/src/plugins/column-reordering/helpers.ts +50 -0
- package/src/plugins/column-reordering/index.ts +6 -0
- package/src/plugins/column-reordering/plugin.ts +489 -0
- package/src/plugins/column-reordering/utils.ts +48 -0
- package/src/plugins/column-resizing/handle.ts +280 -0
- package/src/plugins/column-resizing/helpers.ts +79 -0
- package/src/plugins/column-resizing/index.ts +7 -0
- package/src/plugins/column-resizing/plugin.ts +490 -0
- package/src/plugins/column-resizing/resize-observer.ts +48 -0
- package/src/plugins/column-resizing/utils.ts +54 -0
- package/src/plugins/column-visibility/helpers.ts +28 -0
- package/src/plugins/column-visibility/index.ts +6 -0
- package/src/plugins/column-visibility/plugin.ts +155 -0
- package/src/plugins/data-sorting/helpers.ts +56 -0
- package/src/plugins/data-sorting/index.ts +8 -0
- package/src/plugins/data-sorting/plugin.ts +222 -0
- package/src/plugins/data-sorting/types.ts +26 -0
- package/src/plugins/index.ts +20 -0
- package/src/plugins/metadata/helpers.ts +12 -0
- package/src/plugins/metadata/index.ts +7 -0
- package/src/plugins/metadata/plugin.ts +26 -0
- package/src/plugins/row-selection/helpers.ts +13 -0
- package/src/plugins/row-selection/index.ts +7 -0
- package/src/plugins/row-selection/plugin.ts +218 -0
- package/src/plugins/sticky-columns/helpers.ts +59 -0
- package/src/plugins/sticky-columns/index.ts +7 -0
- package/src/plugins/sticky-columns/plugin.ts +201 -0
- package/src/test-support/index.ts +76 -0
- package/src/utils.ts +85 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-BpiaYhlf.js';
|
|
2
|
+
import { expectTypeOf } from 'expect-type';
|
|
3
|
+
import { BasePlugin } from '../../plugins/-private/base.js';
|
|
4
|
+
import '@ember/debug';
|
|
5
|
+
|
|
6
|
+
class A extends BasePlugin {
|
|
7
|
+
constructor(...args) {
|
|
8
|
+
super(...args);
|
|
9
|
+
_defineProperty(this, "name", 'a plugin');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const x = 0;
|
|
13
|
+
const a = new A(x);
|
|
14
|
+
|
|
15
|
+
///////////////////////////////////////////////////
|
|
16
|
+
// Meta instantiation
|
|
17
|
+
///////////////////////////////////////////////////
|
|
18
|
+
if (a.meta?.table) {
|
|
19
|
+
expectTypeOf(new a.meta.table()).toEqualTypeOf();
|
|
20
|
+
}
|
|
21
|
+
if (a.meta?.column) {
|
|
22
|
+
expectTypeOf(new a.meta.column()).toEqualTypeOf();
|
|
23
|
+
}
|
|
24
|
+
if (a.meta?.row) {
|
|
25
|
+
expectTypeOf(new a.meta.row()).toEqualTypeOf();
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=plugin-properties.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-properties.test.js","sources":["../../../src/-private/-type-tests/plugin-properties.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport { BasePlugin } from '../../plugins/index.ts';\n\nimport type { Table } from '../../index.ts';\n\nclass TableMeta {\n a = 'a';\n}\nclass ColumnMeta {\n b = 'b';\n}\nclass RowMeta {\n c = 'c';\n}\nclass A extends BasePlugin<{\n Meta: { Table: TableMeta; Column: ColumnMeta; Row: RowMeta };\n}> {\n name = 'a plugin';\n}\n\nconst x = 0 as unknown as Table;\nconst a = new A(x);\n\n///////////////////////////////////////////////////\n// Meta instantiation\n///////////////////////////////////////////////////\nif (a.meta?.table) {\n expectTypeOf(new a.meta.table()).toEqualTypeOf<TableMeta>();\n}\n\nif (a.meta?.column) {\n expectTypeOf(new a.meta.column()).toEqualTypeOf<ColumnMeta>();\n}\n\nif (a.meta?.row) {\n expectTypeOf(new a.meta.row()).toEqualTypeOf<RowMeta>();\n}\n"],"names":["A","BasePlugin","constructor","args","_defineProperty","x","a","meta","table","expectTypeOf","toEqualTypeOf","column","row"],"mappings":";;;;;AAeA,MAAMA,CAAC,SAASC,UAAU,CAEvB;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAAAC,IAAAA,eAAA,eACM,UAAU,CAAA;AAAA;AACnB;AAEA,MAAMC,CAAC,GAAG,CAAqB;AAC/B,MAAMC,CAAC,GAAG,IAAIN,CAAC,CAACK,CAAC,CAAC;;AAElB;AACA;AACA;AACA,IAAIC,CAAC,CAACC,IAAI,EAAEC,KAAK,EAAE;AACjBC,EAAAA,YAAY,CAAC,IAAIH,CAAC,CAACC,IAAI,CAACC,KAAK,EAAE,CAAC,CAACE,aAAa,EAAa;AAC7D;AAEA,IAAIJ,CAAC,CAACC,IAAI,EAAEI,MAAM,EAAE;AAClBF,EAAAA,YAAY,CAAC,IAAIH,CAAC,CAACC,IAAI,CAACI,MAAM,EAAE,CAAC,CAACD,aAAa,EAAc;AAC/D;AAEA,IAAIJ,CAAC,CAACC,IAAI,EAAEK,GAAG,EAAE;AACfH,EAAAA,YAAY,CAAC,IAAIH,CAAC,CAACC,IAAI,CAACK,GAAG,EAAE,CAAC,CAACF,aAAa,EAAW;AACzD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import '../../plugins/-private/base.js';
|
|
2
|
+
import { Sorting } from '../../plugins/data-sorting/plugin.js';
|
|
3
|
+
import { RowSelection } from '../../plugins/row-selection/plugin.js';
|
|
4
|
+
|
|
5
|
+
RowSelection.with(() => {
|
|
6
|
+
const simpleOptions = {
|
|
7
|
+
selection: new Set(),
|
|
8
|
+
onSelect: item => console.debug(item),
|
|
9
|
+
onDeselect: item => console.debug(item)
|
|
10
|
+
};
|
|
11
|
+
return simpleOptions;
|
|
12
|
+
});
|
|
13
|
+
Sorting.with(() => {
|
|
14
|
+
const simpleOptions = {
|
|
15
|
+
onSort: sorts => console.debug(sorts),
|
|
16
|
+
sorts: []
|
|
17
|
+
};
|
|
18
|
+
return simpleOptions;
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=plugin-with.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-with.test.js","sources":["../../../src/-private/-type-tests/plugin-with.test.ts"],"sourcesContent":["import { DataSorting } from '../../plugins/data-sorting/index.ts';\nimport { RowSelection } from '../../plugins/row-selection/index.ts';\n\nimport type { SortItem } from '../../plugins/data-sorting';\n\nRowSelection.with(() => {\n const simpleOptions = {\n selection: new Set<number>(),\n onSelect: (item: number) => console.debug(item),\n onDeselect: (item: number) => console.debug(item),\n };\n\n return simpleOptions;\n});\n\nDataSorting.with(() => {\n const simpleOptions = {\n onSort: (sorts: SortItem<number>[]) => console.debug(sorts),\n sorts: [] as unknown as SortItem<number>[],\n };\n\n return simpleOptions;\n});\n"],"names":["RowSelection","with","simpleOptions","selection","Set","onSelect","item","console","debug","onDeselect","DataSorting","onSort","sorts"],"mappings":";;;;AAKAA,YAAY,CAACC,IAAI,CAAC,MAAM;AACtB,EAAA,MAAMC,aAAa,GAAG;AACpBC,IAAAA,SAAS,EAAE,IAAIC,GAAG,EAAU;IAC5BC,QAAQ,EAAGC,IAAY,IAAKC,OAAO,CAACC,KAAK,CAACF,IAAI,CAAC;AAC/CG,IAAAA,UAAU,EAAGH,IAAY,IAAKC,OAAO,CAACC,KAAK,CAACF,IAAI;GACjD;AAED,EAAA,OAAOJ,aAAa;AACtB,CAAC,CAAC;AAEFQ,OAAW,CAACT,IAAI,CAAC,MAAM;AACrB,EAAA,MAAMC,aAAa,GAAG;IACpBS,MAAM,EAAGC,KAAyB,IAAKL,OAAO,CAACC,KAAK,CAACI,KAAK,CAAC;AAC3DA,IAAAA,KAAK,EAAE;GACR;AAED,EAAA,OAAOV,aAAa;AACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-BpiaYhlf.js';
|
|
2
|
+
import { options, meta, preferences, BasePlugin } from '../../plugins/-private/base.js';
|
|
3
|
+
import '@ember/debug';
|
|
4
|
+
import { expectTypeOf } from 'expect-type';
|
|
5
|
+
import { Sorting } from '../../plugins/data-sorting/plugin.js';
|
|
6
|
+
|
|
7
|
+
// This value is irrelevant for the tests it's used in
|
|
8
|
+
const x = 0;
|
|
9
|
+
const y = 0;
|
|
10
|
+
class SimplePlugin extends BasePlugin {
|
|
11
|
+
constructor(...args) {
|
|
12
|
+
super(...args);
|
|
13
|
+
_defineProperty(this, "name", 'my-test-plugin');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Options
|
|
18
|
+
expectTypeOf(options.forTable(x, SimplePlugin)).toEqualTypeOf();
|
|
19
|
+
expectTypeOf(options.forColumn(y, SimplePlugin)).toEqualTypeOf();
|
|
20
|
+
|
|
21
|
+
// Meta
|
|
22
|
+
expectTypeOf(meta.forTable(x, SimplePlugin)).toEqualTypeOf();
|
|
23
|
+
expectTypeOf(meta.forColumn(y, SimplePlugin)).toEqualTypeOf();
|
|
24
|
+
|
|
25
|
+
// Preferences
|
|
26
|
+
|
|
27
|
+
expectTypeOf(preferences.forTable(x, SimplePlugin)).toEqualTypeOf();
|
|
28
|
+
expectTypeOf(preferences.forColumn(y, SimplePlugin)).toEqualTypeOf();
|
|
29
|
+
// Options
|
|
30
|
+
expectTypeOf(options.forTable(x, Sorting)).toEqualTypeOf();
|
|
31
|
+
expectTypeOf(options.forColumn(y, Sorting)).toEqualTypeOf();
|
|
32
|
+
|
|
33
|
+
// Meta
|
|
34
|
+
expectTypeOf(meta.forTable(x, Sorting)).toEqualTypeOf();
|
|
35
|
+
expectTypeOf(meta.forColumn(y, Sorting)).toEqualTypeOf();
|
|
36
|
+
//# sourceMappingURL=plugins-accessors.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins-accessors.test.js","sources":["../../../src/-private/-type-tests/plugins-accessors.test.ts"],"sourcesContent":["import { BasePlugin, meta, options, preferences } from '../../plugins/index.ts';\nimport { expectTypeOf } from 'expect-type';\n\nimport type { Column, Table } from '../../index.ts';\n\n// This value is irrelevant for the tests it's used in\nconst x = 0 as unknown as Table<unknown>;\nconst y = 0 as unknown as Column<unknown>;\n\n//////////////////////////////////////////////\n// A SimplePlugin\n//////////////////////////////////////////////\nclass ATableMeta {\n isEnabled = true;\n}\nclass AColumnMeta {\n isPinned = 1;\n}\nclass ARowMeta {\n isARow = true;\n}\ninterface AOptions {\n enabled?: boolean;\n}\ninterface AColumnOptions {\n isPinned?: boolean;\n}\n\ninterface SignatureA {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nclass SimplePlugin<Signature = SignatureA> extends BasePlugin<Signature> {\n name = 'my-test-plugin';\n}\n\n// Options\nexpectTypeOf(options.forTable(x, SimplePlugin)).toEqualTypeOf<AOptions>();\nexpectTypeOf(\n options.forColumn(y, SimplePlugin),\n).toEqualTypeOf<AColumnOptions>();\n\n// Meta\nexpectTypeOf(meta.forTable(x, SimplePlugin)).toEqualTypeOf<ATableMeta>();\nexpectTypeOf(meta.forColumn(y, SimplePlugin)).toEqualTypeOf<AColumnMeta>();\n\n// Preferences\ninterface MapLite {\n get(key: string): unknown;\n set(key: string, value: unknown): void | undefined;\n delete(key: string): void | undefined;\n}\nexpectTypeOf(preferences.forTable(x, SimplePlugin)).toEqualTypeOf<MapLite>();\nexpectTypeOf(preferences.forColumn(y, SimplePlugin)).toEqualTypeOf<MapLite>();\n\n//////////////////////////////////////////////\n// A Real plugin\n//////////////////////////////////////////////\n\nimport { DataSorting } from '../../plugins/data-sorting/index.ts';\n\nimport type { Signature as DataSortingSignature } from '../../plugins/data-sorting/index.ts';\n\n// Options\nexpectTypeOf(options.forTable(x, DataSorting)).toEqualTypeOf<\n DataSortingSignature['Options']['Plugin']\n>();\nexpectTypeOf(options.forColumn(y, DataSorting)).toEqualTypeOf<\n DataSortingSignature['Options']['Column']\n>();\n\n// Meta\nexpectTypeOf(meta.forTable(x, DataSorting)).toEqualTypeOf<\n DataSortingSignature['Meta']['Table']\n>();\nexpectTypeOf(meta.forColumn(y, DataSorting)).toEqualTypeOf<\n DataSortingSignature['Meta']['Column']\n>();\n"],"names":["x","y","SimplePlugin","BasePlugin","constructor","args","_defineProperty","expectTypeOf","options","forTable","toEqualTypeOf","forColumn","meta","preferences","DataSorting"],"mappings":";;;;;;AAKA;AACA,MAAMA,CAAC,GAAG,CAA8B;AACxC,MAAMC,CAAC,GAAG,CAA+B;AAiCzC,MAAMC,YAAY,SAAiCC,UAAU,CAAY;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAAAC,IAAAA,eAAA,eAChE,gBAAgB,CAAA;AAAA;AACzB;;AAEA;AACAC,YAAY,CAACC,OAAO,CAACC,QAAQ,CAACT,CAAC,EAAEE,YAAY,CAAC,CAAC,CAACQ,aAAa,EAAY;AACzEH,YAAY,CACVC,OAAO,CAACG,SAAS,CAACV,CAAC,EAAEC,YAAY,CACnC,CAAC,CAACQ,aAAa,EAAkB;;AAEjC;AACAH,YAAY,CAACK,IAAI,CAACH,QAAQ,CAACT,CAAC,EAAEE,YAAY,CAAC,CAAC,CAACQ,aAAa,EAAc;AACxEH,YAAY,CAACK,IAAI,CAACD,SAAS,CAACV,CAAC,EAAEC,YAAY,CAAC,CAAC,CAACQ,aAAa,EAAe;;AAE1E;;AAMAH,YAAY,CAACM,WAAW,CAACJ,QAAQ,CAACT,CAAC,EAAEE,YAAY,CAAC,CAAC,CAACQ,aAAa,EAAW;AAC5EH,YAAY,CAACM,WAAW,CAACF,SAAS,CAACV,CAAC,EAAEC,YAAY,CAAC,CAAC,CAACQ,aAAa,EAAW;AAU7E;AACAH,YAAY,CAACC,OAAO,CAACC,QAAQ,CAACT,CAAC,EAAEc,OAAW,CAAC,CAAC,CAACJ,aAAa,EAEzD;AACHH,YAAY,CAACC,OAAO,CAACG,SAAS,CAACV,CAAC,EAAEa,OAAW,CAAC,CAAC,CAACJ,aAAa,EAE1D;;AAEH;AACAH,YAAY,CAACK,IAAI,CAACH,QAAQ,CAACT,CAAC,EAAEc,OAAW,CAAC,CAAC,CAACJ,aAAa,EAEtD;AACHH,YAAY,CAACK,IAAI,CAACD,SAAS,CAACV,CAAC,EAAEa,OAAW,CAAC,CAAC,CAACJ,aAAa,EAEvD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { expectTypeOf } from 'expect-type';
|
|
2
|
+
import '../../plugins/-private/base.js';
|
|
3
|
+
import '@ember/debug';
|
|
4
|
+
|
|
5
|
+
// Test the tests
|
|
6
|
+
expectTypeOf().toEqualTypeOf();
|
|
7
|
+
|
|
8
|
+
// Tests that we can pluck the generic off of BasePlugin
|
|
9
|
+
expectTypeOf().toEqualTypeOf();
|
|
10
|
+
|
|
11
|
+
// Tests that we can get the generic type off of a sub-type of BasePlugin
|
|
12
|
+
expectTypeOf().toEqualTypeOf();
|
|
13
|
+
expectTypeOf().toEqualTypeOf();
|
|
14
|
+
expectTypeOf().toEqualTypeOf();
|
|
15
|
+
//# sourceMappingURL=plugins-signature-from.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins-signature-from.test.js","sources":["../../../src/-private/-type-tests/plugins-signature-from.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport { BasePlugin } from '../../plugins/index.ts';\n\nimport type { SignatureFrom } from '../../plugins/-private/base.ts';\n\nclass ATableMeta {\n a = 1;\n}\nclass AColumnMeta {\n ac = 1;\n}\nclass ARowMeta {\n ar = 1;\n}\nclass AOptions {\n ao = 1;\n}\nclass AColumnOptions {\n aco = 1;\n}\n\ninterface SignatureA {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nclass PluginA<Signature = SignatureA> extends BasePlugin<Signature> {\n name = 'my-test-plugin';\n}\n\n// Test the tests\nexpectTypeOf<SignatureA>().toEqualTypeOf<SignatureA>();\n\n// Tests that we can pluck the generic off of BasePlugin\nexpectTypeOf<\n SignatureFrom<BasePlugin<SignatureA>>\n>().toEqualTypeOf<SignatureA>();\n\n// Tests that we can get the generic type off of a sub-type of BasePlugin\nexpectTypeOf<SignatureFrom<PluginA>>().toEqualTypeOf<SignatureA>();\n\n// Tests that we can get the generic off of a sub-type passed to BasePlugin\nclass PluginC extends BasePlugin<SignatureA> {\n name = 'plugin-c';\n}\nexpectTypeOf<SignatureFrom<PluginC>>().toEqualTypeOf<SignatureA>();\n\n///////////////////////////////////////////\n\nclass PluginB extends BasePlugin<{ Meta: { Table: ATableMeta } }> {\n name = 'plugin-b';\n}\n\nexpectTypeOf<SignatureFrom<PluginB>>().toEqualTypeOf<{\n Meta: {\n Table: ATableMeta;\n };\n}>();\n"],"names":["expectTypeOf","toEqualTypeOf"],"mappings":";;;;AAsCA;AACAA,YAAY,EAAc,CAACC,aAAa,EAAc;;AAEtD;AACAD,YAAY,EAET,CAACC,aAAa,EAAc;;AAE/B;AACAD,YAAY,EAA0B,CAACC,aAAa,EAAc;AAMlED,YAAY,EAA0B,CAACC,aAAa,EAAc;AAQlED,YAAY,EAA0B,CAACC,aAAa,EAIhD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { expectTypeOf } from 'expect-type';
|
|
2
|
+
|
|
3
|
+
expectTypeOf().toEqualTypeOf();
|
|
4
|
+
expectTypeOf().toEqualTypeOf();
|
|
5
|
+
expectTypeOf().toEqualTypeOf();
|
|
6
|
+
expectTypeOf().toEqualTypeOf();
|
|
7
|
+
expectTypeOf().toEqualTypeOf();
|
|
8
|
+
expectTypeOf().toEqualTypeOf();
|
|
9
|
+
expectTypeOf().toEqualTypeOf();
|
|
10
|
+
expectTypeOf().toEqualTypeOf();
|
|
11
|
+
expectTypeOf().toEqualTypeOf();
|
|
12
|
+
expectTypeOf().toEqualTypeOf();
|
|
13
|
+
expectTypeOf().toEqualTypeOf();
|
|
14
|
+
expectTypeOf().toEqualTypeOf();
|
|
15
|
+
expectTypeOf().toEqualTypeOf();
|
|
16
|
+
expectTypeOf().toEqualTypeOf();
|
|
17
|
+
expectTypeOf().toEqualTypeOf();
|
|
18
|
+
expectTypeOf().toEqualTypeOf();
|
|
19
|
+
expectTypeOf().toEqualTypeOf();
|
|
20
|
+
expectTypeOf().toEqualTypeOf();
|
|
21
|
+
expectTypeOf().toEqualTypeOf();
|
|
22
|
+
expectTypeOf().toEqualTypeOf();
|
|
23
|
+
expectTypeOf().toEqualTypeOf();
|
|
24
|
+
expectTypeOf().toEqualTypeOf();
|
|
25
|
+
expectTypeOf().toEqualTypeOf();
|
|
26
|
+
expectTypeOf().toEqualTypeOf();
|
|
27
|
+
expectTypeOf().toEqualTypeOf();
|
|
28
|
+
expectTypeOf().toEqualTypeOf();
|
|
29
|
+
expectTypeOf().toEqualTypeOf();
|
|
30
|
+
expectTypeOf().toEqualTypeOf();
|
|
31
|
+
expectTypeOf().toEqualTypeOf();
|
|
32
|
+
expectTypeOf().toEqualTypeOf();
|
|
33
|
+
expectTypeOf().toEqualTypeOf();
|
|
34
|
+
expectTypeOf().toEqualTypeOf();
|
|
35
|
+
expectTypeOf().toEqualTypeOf();
|
|
36
|
+
//# sourceMappingURL=plugins-signature-utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins-signature-utils.test.js","sources":["../../../src/-private/-type-tests/plugins-signature-utils.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport type {\n ColumnMetaFor,\n ColumnOptionsFor,\n EmptyObject,\n OptionsFor,\n PluginSignature,\n RowMetaFor,\n TableMetaFor,\n} from '../interfaces/plugins';\n\nclass ATableMeta {\n a = 1;\n}\nclass AColumnMeta {\n ac = 1;\n}\nclass ARowMeta {\n ar = 1;\n}\ninterface AOptions {\n ao: number;\n}\ninterface AColumnOptions {\n aco: number;\n}\n\ninterface FullExtendedSignature extends PluginSignature {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nexpectTypeOf<\n ColumnOptionsFor<FullExtendedSignature>\n>().toEqualTypeOf<AColumnOptions>();\nexpectTypeOf<OptionsFor<FullExtendedSignature>>().toEqualTypeOf<AOptions>();\nexpectTypeOf<TableMetaFor<FullExtendedSignature>>().toEqualTypeOf<ATableMeta>();\nexpectTypeOf<\n ColumnMetaFor<FullExtendedSignature>\n>().toEqualTypeOf<AColumnMeta>();\nexpectTypeOf<RowMetaFor<FullExtendedSignature>>().toEqualTypeOf<ARowMeta>();\n\ninterface FullFreeformSignature {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nexpectTypeOf<\n ColumnOptionsFor<FullFreeformSignature>\n>().toEqualTypeOf<AColumnOptions>();\nexpectTypeOf<OptionsFor<FullFreeformSignature>>().toEqualTypeOf<AOptions>();\nexpectTypeOf<TableMetaFor<FullFreeformSignature>>().toEqualTypeOf<ATableMeta>();\nexpectTypeOf<\n ColumnMetaFor<FullFreeformSignature>\n>().toEqualTypeOf<AColumnMeta>();\nexpectTypeOf<RowMetaFor<FullFreeformSignature>>().toEqualTypeOf<ARowMeta>();\n\ninterface WithoutOptions {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n}\n\nexpectTypeOf<ColumnOptionsFor<WithoutOptions>>().toEqualTypeOf<EmptyObject>();\nexpectTypeOf<OptionsFor<WithoutOptions>>().toEqualTypeOf<EmptyObject>();\nexpectTypeOf<TableMetaFor<WithoutOptions>>().toEqualTypeOf<ATableMeta>();\nexpectTypeOf<ColumnMetaFor<WithoutOptions>>().toEqualTypeOf<AColumnMeta>();\nexpectTypeOf<RowMetaFor<WithoutOptions>>().toEqualTypeOf<ARowMeta>();\n\ninterface WithoutMeta {\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nexpectTypeOf<ColumnOptionsFor<WithoutMeta>>().toEqualTypeOf<AColumnOptions>();\nexpectTypeOf<OptionsFor<WithoutMeta>>().toEqualTypeOf<AOptions>();\nexpectTypeOf<TableMetaFor<WithoutMeta>>().toEqualTypeOf<never>();\nexpectTypeOf<ColumnMetaFor<WithoutMeta>>().toEqualTypeOf<never>();\nexpectTypeOf<RowMetaFor<WithoutMeta>>().toEqualTypeOf<never>();\n\nexpectTypeOf<\n ColumnOptionsFor<{ Options: { Column: AColumnOptions } }>\n>().toEqualTypeOf<AColumnOptions>();\nexpectTypeOf<\n ColumnOptionsFor<{ Options: { Plugin: AOptions } }>\n>().toEqualTypeOf<EmptyObject>();\n\nexpectTypeOf<\n OptionsFor<{ Options: { Plugin: AOptions } }>\n>().toEqualTypeOf<AOptions>();\nexpectTypeOf<\n OptionsFor<{ Options: { Column: AColumnOptions } }>\n>().toEqualTypeOf<EmptyObject>();\n\nexpectTypeOf<\n TableMetaFor<{\n Meta: {\n Table: ATableMeta;\n };\n }>\n>().toEqualTypeOf<ATableMeta>();\nexpectTypeOf<\n TableMetaFor<{ Meta: { Column: AColumnMeta } }>\n>().toEqualTypeOf<never>();\nexpectTypeOf<\n TableMetaFor<{ Meta: { Row: ARowMeta } }>\n>().toEqualTypeOf<never>();\n\nexpectTypeOf<\n ColumnMetaFor<{\n Meta: {\n Table: ATableMeta;\n };\n }>\n>().toEqualTypeOf<never>();\nexpectTypeOf<\n ColumnMetaFor<{ Meta: { Column: AColumnMeta } }>\n>().toEqualTypeOf<AColumnMeta>();\nexpectTypeOf<\n ColumnMetaFor<{ Meta: { Row: ARowMeta } }>\n>().toEqualTypeOf<never>();\n\nexpectTypeOf<\n RowMetaFor<{\n Meta: {\n Table: ATableMeta;\n };\n }>\n>().toEqualTypeOf<never>();\nexpectTypeOf<\n RowMetaFor<{ Meta: { Column: AColumnMeta } }>\n>().toEqualTypeOf<never>();\nexpectTypeOf<\n RowMetaFor<{ Meta: { Row: ARowMeta } }>\n>().toEqualTypeOf<ARowMeta>();\n"],"names":["expectTypeOf","toEqualTypeOf"],"mappings":";;AAwCAA,YAAY,EAET,CAACC,aAAa,EAAkB;AACnCD,YAAY,EAAqC,CAACC,aAAa,EAAY;AAC3ED,YAAY,EAAuC,CAACC,aAAa,EAAc;AAC/ED,YAAY,EAET,CAACC,aAAa,EAAe;AAChCD,YAAY,EAAqC,CAACC,aAAa,EAAY;AAc3ED,YAAY,EAET,CAACC,aAAa,EAAkB;AACnCD,YAAY,EAAqC,CAACC,aAAa,EAAY;AAC3ED,YAAY,EAAuC,CAACC,aAAa,EAAc;AAC/ED,YAAY,EAET,CAACC,aAAa,EAAe;AAChCD,YAAY,EAAqC,CAACC,aAAa,EAAY;AAU3ED,YAAY,EAAoC,CAACC,aAAa,EAAe;AAC7ED,YAAY,EAA8B,CAACC,aAAa,EAAe;AACvED,YAAY,EAAgC,CAACC,aAAa,EAAc;AACxED,YAAY,EAAiC,CAACC,aAAa,EAAe;AAC1ED,YAAY,EAA8B,CAACC,aAAa,EAAY;AASpED,YAAY,EAAiC,CAACC,aAAa,EAAkB;AAC7ED,YAAY,EAA2B,CAACC,aAAa,EAAY;AACjED,YAAY,EAA6B,CAACC,aAAa,EAAS;AAChED,YAAY,EAA8B,CAACC,aAAa,EAAS;AACjED,YAAY,EAA2B,CAACC,aAAa,EAAS;AAE9DD,YAAY,EAET,CAACC,aAAa,EAAkB;AACnCD,YAAY,EAET,CAACC,aAAa,EAAe;AAEhCD,YAAY,EAET,CAACC,aAAa,EAAY;AAC7BD,YAAY,EAET,CAACC,aAAa,EAAe;AAEhCD,YAAY,EAMT,CAACC,aAAa,EAAc;AAC/BD,YAAY,EAET,CAACC,aAAa,EAAS;AAC1BD,YAAY,EAET,CAACC,aAAa,EAAS;AAE1BD,YAAY,EAMT,CAACC,aAAa,EAAS;AAC1BD,YAAY,EAET,CAACC,aAAa,EAAe;AAChCD,YAAY,EAET,CAACC,aAAa,EAAS;AAE1BD,YAAY,EAMT,CAACC,aAAa,EAAS;AAC1BD,YAAY,EAET,CAACC,aAAa,EAAS;AAC1BD,YAAY,EAET,CAACC,aAAa,EAAY"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { expectTypeOf } from 'expect-type';
|
|
2
|
+
import '../../plugins/-private/base.js';
|
|
3
|
+
import { ColumnReordering } from '../../plugins/column-reordering/plugin.js';
|
|
4
|
+
import '../../plugins/column-resizing/handle.js';
|
|
5
|
+
import '@ember/template';
|
|
6
|
+
import { ColumnResizing } from '../../plugins/column-resizing/plugin.js';
|
|
7
|
+
import { Sorting } from '../../plugins/data-sorting/plugin.js';
|
|
8
|
+
|
|
9
|
+
// We're testing types, not behaviors
|
|
10
|
+
const x = 0;
|
|
11
|
+
|
|
12
|
+
//////////////////////////////
|
|
13
|
+
// <Table>#pluginOf
|
|
14
|
+
expectTypeOf(x.pluginOf(Sorting)).toEqualTypeOf();
|
|
15
|
+
expectTypeOf(x.pluginOf(ColumnReordering)).toEqualTypeOf();
|
|
16
|
+
expectTypeOf(x.pluginOf(ColumnResizing)).toEqualTypeOf();
|
|
17
|
+
//# sourceMappingURL=table-api.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-api.test.js","sources":["../../../src/-private/-type-tests/table-api.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport { ColumnReordering } from '../../plugins/column-reordering/index.ts';\nimport { ColumnResizing } from '../../plugins/column-resizing/index.ts';\nimport { DataSorting } from '../../plugins/data-sorting/index.ts';\n\nimport type { Table } from '../../index.ts';\n\n// We're testing types, not behaviors\nconst x = 0 as unknown as Table<{ x: number }>;\n\n//////////////////////////////\n// <Table>#pluginOf\nexpectTypeOf(x.pluginOf(DataSorting)).toEqualTypeOf<DataSorting | undefined>();\nexpectTypeOf(x.pluginOf(ColumnReordering)).toEqualTypeOf<\n ColumnReordering | undefined\n>();\nexpectTypeOf(x.pluginOf(ColumnResizing)).toEqualTypeOf<\n ColumnResizing | undefined\n>();\n"],"names":["x","expectTypeOf","pluginOf","DataSorting","toEqualTypeOf","ColumnReordering","ColumnResizing"],"mappings":";;;;;;;;AAQA;AACA,MAAMA,CAAC,GAAG,CAAoC;;AAE9C;AACA;AACAC,YAAY,CAACD,CAAC,CAACE,QAAQ,CAACC,OAAW,CAAC,CAAC,CAACC,aAAa,EAA2B;AAC9EH,YAAY,CAACD,CAAC,CAACE,QAAQ,CAACG,gBAAgB,CAAC,CAAC,CAACD,aAAa,EAErD;AACHH,YAAY,CAACD,CAAC,CAACE,QAAQ,CAACI,cAAc,CAAC,CAAC,CAACF,aAAa,EAEnD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-BpiaYhlf.js';
|
|
2
|
+
import { expectTypeOf } from 'expect-type';
|
|
3
|
+
import { BasePlugin } from '../../plugins/-private/base.js';
|
|
4
|
+
import { ColumnReordering } from '../../plugins/column-reordering/plugin.js';
|
|
5
|
+
import '../../plugins/column-resizing/handle.js';
|
|
6
|
+
import '@ember/template';
|
|
7
|
+
import { ColumnResizing } from '../../plugins/column-resizing/plugin.js';
|
|
8
|
+
import { ColumnVisibility } from '../../plugins/column-visibility/plugin.js';
|
|
9
|
+
import { Sorting } from '../../plugins/data-sorting/plugin.js';
|
|
10
|
+
import { StickyColumns } from '../../plugins/sticky-columns/plugin.js';
|
|
11
|
+
|
|
12
|
+
/////////////////////////////////////////////
|
|
13
|
+
// Sanity checks
|
|
14
|
+
expectTypeOf().toMatchTypeOf();
|
|
15
|
+
expectTypeOf().toMatchTypeOf();
|
|
16
|
+
expectTypeOf().toMatchTypeOf();
|
|
17
|
+
expectTypeOf().toMatchTypeOf();
|
|
18
|
+
expectTypeOf().toMatchTypeOf();
|
|
19
|
+
expectTypeOf().toMatchTypeOf();
|
|
20
|
+
expectTypeOf().toMatchTypeOf();
|
|
21
|
+
class LocalPlugin extends BasePlugin {
|
|
22
|
+
constructor(...args) {
|
|
23
|
+
super(...args);
|
|
24
|
+
_defineProperty(this, "name", 'local-plugin');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
expectTypeOf([LocalPlugin]).toMatchTypeOf();
|
|
28
|
+
|
|
29
|
+
/////////////////////////////////////////////
|
|
30
|
+
// Making sure all plugins are subclassed appropriately
|
|
31
|
+
expectTypeOf(LocalPlugin).toMatchTypeOf();
|
|
32
|
+
expectTypeOf(ColumnReordering).toMatchTypeOf();
|
|
33
|
+
expectTypeOf(LocalPlugin).toMatchTypeOf();
|
|
34
|
+
expectTypeOf(ColumnReordering).toMatchTypeOf();
|
|
35
|
+
|
|
36
|
+
// Actual plugins match the actual table config
|
|
37
|
+
expectTypeOf([Sorting]).toMatchTypeOf();
|
|
38
|
+
expectTypeOf([ColumnReordering]).toMatchTypeOf();
|
|
39
|
+
expectTypeOf([ColumnResizing]).toMatchTypeOf();
|
|
40
|
+
expectTypeOf([ColumnVisibility]).toMatchTypeOf();
|
|
41
|
+
expectTypeOf([StickyColumns]).toMatchTypeOf();
|
|
42
|
+
|
|
43
|
+
/////////////////////////////////////////////
|
|
44
|
+
// The various ways to define plugins
|
|
45
|
+
expectTypeOf([Sorting, ColumnReordering]).toMatchTypeOf();
|
|
46
|
+
const onSort = _sorts => {
|
|
47
|
+
/* intentionally empty */
|
|
48
|
+
};
|
|
49
|
+
const sorts = [];
|
|
50
|
+
expectTypeOf([Sorting.with(() => ({}))]).toMatchTypeOf();
|
|
51
|
+
expectTypeOf([Sorting.with(() => ({
|
|
52
|
+
onSort,
|
|
53
|
+
sorts
|
|
54
|
+
}))]).toMatchTypeOf();
|
|
55
|
+
//# sourceMappingURL=table-config.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-config.test.js","sources":["../../../src/-private/-type-tests/table-config.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport { BasePlugin } from '../../plugins/-private/base.ts';\nimport { ColumnReordering } from '../../plugins/column-reordering/index.ts';\nimport { ColumnResizing } from '../../plugins/column-resizing/index.ts';\nimport { ColumnVisibility } from '../../plugins/column-visibility/index.ts';\nimport { DataSorting } from '../../plugins/data-sorting/index.ts';\nimport { StickyColumns } from '../../plugins/sticky-columns/index.ts';\n\nimport type { Plugins } from '../../plugins/-private/utils';\nimport type { SortItem } from '../../plugins/data-sorting';\nimport type { Plugin } from '../../plugins/index.ts';\nimport type { TableConfig } from '../../index.ts';\nimport type { Constructor } from '../../-private/private-types.ts';\n\ntype TablePluginConfig = NonNullable<TableConfig<unknown>['plugins']>;\n\n/////////////////////////////////////////////\n// Sanity checks\nexpectTypeOf<Plugins>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<Constructor<Plugin>[]>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<[Constructor<Plugin>]>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<\n [Constructor<Plugin>, Constructor<Plugin>]\n>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<Constructor<BasePlugin>[]>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<[Constructor<BasePlugin>]>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<\n [Constructor<BasePlugin>, Constructor<BasePlugin>]\n>().toMatchTypeOf<TablePluginConfig>();\n\nclass SomeClass {\n foo = 'bar';\n}\nclass LocalPlugin extends BasePlugin<{ Meta: { Table: SomeClass } }> {\n name = 'local-plugin';\n}\n\nexpectTypeOf([LocalPlugin]).toMatchTypeOf<TablePluginConfig>();\n\n/////////////////////////////////////////////\n// Making sure all plugins are subclassed appropriately\nexpectTypeOf(LocalPlugin).toMatchTypeOf<Constructor<BasePlugin<any>>>();\nexpectTypeOf(ColumnReordering).toMatchTypeOf<Constructor<BasePlugin<any>>>();\nexpectTypeOf(LocalPlugin).toMatchTypeOf<Constructor<Plugin<any>>>();\nexpectTypeOf(ColumnReordering).toMatchTypeOf<Constructor<Plugin<any>>>();\n\n// Actual plugins match the actual table config\nexpectTypeOf([DataSorting]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([ColumnReordering]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([ColumnResizing]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([ColumnVisibility]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([StickyColumns]).toMatchTypeOf<TablePluginConfig>();\n\n/////////////////////////////////////////////\n// The various ways to define plugins\nexpectTypeOf([\n DataSorting,\n ColumnReordering,\n]).toMatchTypeOf<TablePluginConfig>();\n\nconst onSort = (_sorts: SortItem<number>[]) => {\n /* intentionally empty */\n};\nconst sorts: SortItem<number>[] = [];\n\nexpectTypeOf([DataSorting.with(() => ({}))]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([\n DataSorting.with(() => ({ onSort, sorts })),\n]).toMatchTypeOf<TablePluginConfig>();\n"],"names":["expectTypeOf","toMatchTypeOf","LocalPlugin","BasePlugin","constructor","args","_defineProperty","ColumnReordering","DataSorting","ColumnResizing","ColumnVisibility","StickyColumns","onSort","_sorts","sorts","with"],"mappings":";;;;;;;;;;;AAiBA;AACA;AACAA,YAAY,EAAW,CAACC,aAAa,EAAqB;AAC1DD,YAAY,EAAyB,CAACC,aAAa,EAAqB;AACxED,YAAY,EAAyB,CAACC,aAAa,EAAqB;AACxED,YAAY,EAET,CAACC,aAAa,EAAqB;AACtCD,YAAY,EAA6B,CAACC,aAAa,EAAqB;AAC5ED,YAAY,EAA6B,CAACC,aAAa,EAAqB;AAC5ED,YAAY,EAET,CAACC,aAAa,EAAqB;AAKtC,MAAMC,WAAW,SAASC,UAAU,CAAiC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAAAC,IAAAA,eAAA,eAC5D,cAAc,CAAA;AAAA;AACvB;AAEAN,YAAY,CAAC,CAACE,WAAW,CAAC,CAAC,CAACD,aAAa,EAAqB;;AAE9D;AACA;AACAD,YAAY,CAACE,WAAW,CAAC,CAACD,aAAa,EAAgC;AACvED,YAAY,CAACO,gBAAgB,CAAC,CAACN,aAAa,EAAgC;AAC5ED,YAAY,CAACE,WAAW,CAAC,CAACD,aAAa,EAA4B;AACnED,YAAY,CAACO,gBAAgB,CAAC,CAACN,aAAa,EAA4B;;AAExE;AACAD,YAAY,CAAC,CAACQ,OAAW,CAAC,CAAC,CAACP,aAAa,EAAqB;AAC9DD,YAAY,CAAC,CAACO,gBAAgB,CAAC,CAAC,CAACN,aAAa,EAAqB;AACnED,YAAY,CAAC,CAACS,cAAc,CAAC,CAAC,CAACR,aAAa,EAAqB;AACjED,YAAY,CAAC,CAACU,gBAAgB,CAAC,CAAC,CAACT,aAAa,EAAqB;AACnED,YAAY,CAAC,CAACW,aAAa,CAAC,CAAC,CAACV,aAAa,EAAqB;;AAEhE;AACA;AACAD,YAAY,CAAC,CACXQ,OAAW,EACXD,gBAAgB,CACjB,CAAC,CAACN,aAAa,EAAqB;AAErC,MAAMW,MAAM,GAAIC,MAA0B,IAAK;AAC7C;AAAA,CACD;AACD,MAAMC,KAAyB,GAAG,EAAE;AAEpCd,YAAY,CAAC,CAACQ,OAAW,CAACO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAACd,aAAa,EAAqB;AAC/ED,YAAY,CAAC,CACXQ,OAAW,CAACO,IAAI,CAAC,OAAO;EAAEH,MAAM;AAAEE,EAAAA;AAAM,CAAC,CAAC,CAAC,CAC5C,CAAC,CAACb,aAAa,EAAqB"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { a as _applyDecoratedDescriptor } from '../_rollupPluginBabelHelpers-BpiaYhlf.js';
|
|
2
|
+
import { action, get } from '@ember/object';
|
|
3
|
+
import { isEmpty } from '@ember/utils';
|
|
4
|
+
|
|
5
|
+
var _class;
|
|
6
|
+
const DEFAULT_VALUE = '--';
|
|
7
|
+
const DEFAULT_VALUE_KEY = 'defaultValue';
|
|
8
|
+
const DEFAULT_OPTIONS = {
|
|
9
|
+
[DEFAULT_VALUE_KEY]: DEFAULT_VALUE
|
|
10
|
+
};
|
|
11
|
+
let Column = (_class = class Column {
|
|
12
|
+
get Cell() {
|
|
13
|
+
return this.config.Cell;
|
|
14
|
+
}
|
|
15
|
+
get key() {
|
|
16
|
+
return this.config.key;
|
|
17
|
+
}
|
|
18
|
+
get name() {
|
|
19
|
+
return this.config.name;
|
|
20
|
+
}
|
|
21
|
+
constructor(table, config) {
|
|
22
|
+
this.table = table;
|
|
23
|
+
this.config = config;
|
|
24
|
+
}
|
|
25
|
+
getValueForRow(row) {
|
|
26
|
+
if (this.config.value) {
|
|
27
|
+
return this.config.value({
|
|
28
|
+
column: this,
|
|
29
|
+
row
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Cast here, because ember get's types do not support nested keys
|
|
34
|
+
// even though the real implementation does
|
|
35
|
+
const value = get(row.data, this.config.key);
|
|
36
|
+
if (isEmpty(value)) {
|
|
37
|
+
return this.getDefaultValue(row);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* UNSAFE: casting to ContentValue is incorrect, because we have not
|
|
42
|
+
* properly constrained the type of value, (isEmpty doesn't narrow types either)
|
|
43
|
+
*/
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
getDefaultValue(row) {
|
|
47
|
+
return this.getOptionsForRow(row)[DEFAULT_VALUE_KEY];
|
|
48
|
+
}
|
|
49
|
+
getOptionsForRow(row) {
|
|
50
|
+
const defaults = DEFAULT_OPTIONS;
|
|
51
|
+
return {
|
|
52
|
+
...defaults,
|
|
53
|
+
...this.config.options?.({
|
|
54
|
+
column: this,
|
|
55
|
+
row
|
|
56
|
+
})
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}, _applyDecoratedDescriptor(_class.prototype, "getValueForRow", [action], Object.getOwnPropertyDescriptor(_class.prototype, "getValueForRow"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "getOptionsForRow", [action], Object.getOwnPropertyDescriptor(_class.prototype, "getOptionsForRow"), _class.prototype), _class);
|
|
60
|
+
|
|
61
|
+
export { Column };
|
|
62
|
+
//# sourceMappingURL=column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column.js","sources":["../../src/-private/column.ts"],"sourcesContent":["import { action, get } from '@ember/object';\nimport { isEmpty } from '@ember/utils';\n\nimport type { Row } from './row';\nimport type { Table } from './table';\nimport type { ContentValue } from '@glint/template';\nimport type { ColumnConfig } from './interfaces';\n\nconst DEFAULT_VALUE = '--';\nconst DEFAULT_VALUE_KEY = 'defaultValue';\nconst DEFAULT_OPTIONS = {\n [DEFAULT_VALUE_KEY]: DEFAULT_VALUE,\n};\n\nexport class Column<T = unknown> {\n get Cell() {\n return this.config.Cell;\n }\n\n get key() {\n return this.config.key;\n }\n\n get name() {\n return this.config.name;\n }\n\n constructor(\n public table: Table<T>,\n public config: ColumnConfig<T>,\n ) {}\n\n @action\n getValueForRow(row: Row<T>): ContentValue {\n if (this.config.value) {\n return this.config.value({ column: this, row });\n }\n\n // Cast here, because ember get's types do not support nested keys\n // even though the real implementation does\n const value = get(row.data, this.config.key);\n\n if (isEmpty(value)) {\n return this.getDefaultValue(row);\n }\n\n /**\n * UNSAFE: casting to ContentValue is incorrect, because we have not\n * properly constrained the type of value, (isEmpty doesn't narrow types either)\n */\n return value as ContentValue;\n }\n\n private getDefaultValue(row: Row<T>) {\n return this.getOptionsForRow(row)[DEFAULT_VALUE_KEY];\n }\n\n @action\n getOptionsForRow(row: Row<T>) {\n const defaults = DEFAULT_OPTIONS;\n\n return {\n ...defaults,\n ...this.config.options?.({ column: this, row }),\n };\n }\n}\n"],"names":["DEFAULT_VALUE","DEFAULT_VALUE_KEY","DEFAULT_OPTIONS","Column","_class","Cell","config","key","name","constructor","table","getValueForRow","row","value","column","get","data","isEmpty","getDefaultValue","getOptionsForRow","defaults","options","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor"],"mappings":";;;;;AAQA,MAAMA,aAAa,GAAG,IAAI;AAC1B,MAAMC,iBAAiB,GAAG,cAAc;AACxC,MAAMC,eAAe,GAAG;AACtB,EAAA,CAACD,iBAAiB,GAAGD;AACvB,CAAC;AAED,IAAaG,MAAM,IAAAC,MAAA,GAAZ,MAAMD,MAAM,CAAc;EAC/B,IAAIE,IAAIA,GAAG;AACT,IAAA,OAAO,IAAI,CAACC,MAAM,CAACD,IAAI;AACzB;EAEA,IAAIE,GAAGA,GAAG;AACR,IAAA,OAAO,IAAI,CAACD,MAAM,CAACC,GAAG;AACxB;EAEA,IAAIC,IAAIA,GAAG;AACT,IAAA,OAAO,IAAI,CAACF,MAAM,CAACE,IAAI;AACzB;AAEAC,EAAAA,WAAWA,CACFC,KAAe,EACfJ,MAAuB,EAC9B;IAAA,IAFOI,CAAAA,KAAe,GAAfA,KAAe;IAAA,IACfJ,CAAAA,MAAuB,GAAvBA,MAAuB;AAC7B;EAGHK,cAAcA,CAACC,GAAW,EAAgB;AACxC,IAAA,IAAI,IAAI,CAACN,MAAM,CAACO,KAAK,EAAE;AACrB,MAAA,OAAO,IAAI,CAACP,MAAM,CAACO,KAAK,CAAC;AAAEC,QAAAA,MAAM,EAAE,IAAI;AAAEF,QAAAA;AAAI,OAAC,CAAC;AACjD;;AAEA;AACA;AACA,IAAA,MAAMC,KAAK,GAAGE,GAAG,CAACH,GAAG,CAACI,IAAI,EAAE,IAAI,CAACV,MAAM,CAACC,GAAG,CAAC;AAE5C,IAAA,IAAIU,OAAO,CAACJ,KAAK,CAAC,EAAE;AAClB,MAAA,OAAO,IAAI,CAACK,eAAe,CAACN,GAAG,CAAC;AAClC;;AAEA;AACJ;AACA;AACA;AACI,IAAA,OAAOC,KAAK;AACd;EAEQK,eAAeA,CAACN,GAAW,EAAE;IACnC,OAAO,IAAI,CAACO,gBAAgB,CAACP,GAAG,CAAC,CAACX,iBAAiB,CAAC;AACtD;EAGAkB,gBAAgBA,CAACP,GAAW,EAAE;IAC5B,MAAMQ,QAAQ,GAAGlB,eAAe;IAEhC,OAAO;AACL,MAAA,GAAGkB,QAAQ;AACX,MAAA,GAAG,IAAI,CAACd,MAAM,CAACe,OAAO,GAAG;AAAEP,QAAAA,MAAM,EAAE,IAAI;AAAEF,QAAAA;OAAK;KAC/C;AACH;AACF,CAAC,EAAAU,yBAAA,CAAAlB,MAAA,CAAAmB,SAAA,qBAlCEC,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAAtB,MAAA,CAAAmB,SAAA,EAAA,gBAAA,CAAA,EAAAnB,MAAA,CAAAmB,SAAA,CAAAD,EAAAA,yBAAA,CAAAlB,MAAA,CAAAmB,SAAA,EAyBNC,kBAAAA,EAAAA,CAAAA,MAAM,GAAAC,MAAA,CAAAC,wBAAA,CAAAtB,MAAA,CAAAmB,SAAA,EAAA,kBAAA,CAAA,EAAAnB,MAAA,CAAAmB,SAAA,GAAAnB,MAAA;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { macroCondition, dependencySatisfies, importSync } from '@embroider/macros';
|
|
2
|
+
|
|
3
|
+
const compatOwner = {};
|
|
4
|
+
if (macroCondition(dependencySatisfies('ember-source', '>=4.12.0'))) {
|
|
5
|
+
// In no version of ember where `@ember/owner` tried to be imported did it exist
|
|
6
|
+
// if (macroCondition(false)) {
|
|
7
|
+
// Using 'any' here because importSync can't lookup types correctly
|
|
8
|
+
compatOwner.getOwner = importSync('@ember/owner').getOwner;
|
|
9
|
+
compatOwner.setOwner = importSync('@ember/owner').setOwner;
|
|
10
|
+
} else {
|
|
11
|
+
// Using 'any' here because importSync can't lookup types correctly
|
|
12
|
+
compatOwner.getOwner = importSync('@ember/application').getOwner;
|
|
13
|
+
compatOwner.setOwner = importSync('@ember/application').setOwner;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { compatOwner };
|
|
17
|
+
//# sourceMappingURL=ember-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-compat.js","sources":["../../src/-private/ember-compat.ts"],"sourcesContent":["import {\n dependencySatisfies,\n importSync,\n macroCondition,\n} from '@embroider/macros';\n\nimport type Owner from '@ember/owner';\n\ninterface CompatOwner {\n getOwner: (context: unknown) => Owner | undefined;\n setOwner: (context: unknown, owner: Owner) => void;\n}\n\nexport const compatOwner = {} as CompatOwner;\n\nif (macroCondition(dependencySatisfies('ember-source', '>=4.12.0'))) {\n // In no version of ember where `@ember/owner` tried to be imported did it exist\n // if (macroCondition(false)) {\n // Using 'any' here because importSync can't lookup types correctly\n compatOwner.getOwner = (importSync('@ember/owner') as any).getOwner;\n compatOwner.setOwner = (importSync('@ember/owner') as any).setOwner;\n} else {\n // Using 'any' here because importSync can't lookup types correctly\n compatOwner.getOwner = (importSync('@ember/application') as any).getOwner;\n compatOwner.setOwner = (importSync('@ember/application') as any).setOwner;\n}\n"],"names":["compatOwner","macroCondition","dependencySatisfies","getOwner","importSync","setOwner"],"mappings":";;AAaaA,MAAAA,WAAW,GAAG;AAE3B,IAAIC,cAAc,CAACC,mBAAmB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,EAAE;AACnE;AACA;AACA;EACAF,WAAW,CAACG,QAAQ,GAAIC,UAAU,CAAC,cAAc,CAAC,CAASD,QAAQ;EACnEH,WAAW,CAACK,QAAQ,GAAID,UAAU,CAAC,cAAc,CAAC,CAASC,QAAQ;AACrE,CAAC,MAAM;AACL;EACAL,WAAW,CAACG,QAAQ,GAAIC,UAAU,CAAC,oBAAoB,CAAC,CAASD,QAAQ;EACzEH,WAAW,CAACK,QAAQ,GAAID,UAAU,CAAC,oBAAoB,CAAC,CAASC,QAAQ;AAC3E;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modifier.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Table } from './table.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents a UI-less version of a table
|
|
5
|
+
*
|
|
6
|
+
* _For use for building tables in ui frameworks_.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```js
|
|
10
|
+
* import { use } from 'ember-resources';
|
|
11
|
+
* import { headlessTable } '@universal-ember/table';
|
|
12
|
+
*
|
|
13
|
+
* class MyImplementation {
|
|
14
|
+
* @use table = headlessTable({
|
|
15
|
+
* // your config here
|
|
16
|
+
* })
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Represents a UI-less version of a table
|
|
23
|
+
*
|
|
24
|
+
* _For use for building tables in ui frameworks_.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```js
|
|
28
|
+
* import { headlessTable } '@universal-ember/table';
|
|
29
|
+
*
|
|
30
|
+
* class MyImplementation {
|
|
31
|
+
* table = headlessTable(this, {
|
|
32
|
+
* // your config here
|
|
33
|
+
* })
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
function headlessTable(...args) {
|
|
40
|
+
if (args.length === 2) {
|
|
41
|
+
const [destroyable, options] = args;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* If any "root level" config changes, we need to throw-away everything.
|
|
45
|
+
* otherwise individual-property reactivity can be managed on a per-property
|
|
46
|
+
* "thunk"-basis
|
|
47
|
+
*/
|
|
48
|
+
return Table.from(destroyable, () => options);
|
|
49
|
+
}
|
|
50
|
+
const [options] = args;
|
|
51
|
+
return Table.from(() => options);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { headlessTable };
|
|
55
|
+
//# sourceMappingURL=js-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-helper.js","sources":["../../src/-private/js-helper.ts"],"sourcesContent":["import { Table } from './table.ts';\n\nimport type { TableConfig } from './interfaces';\n\ntype Args<T> =\n | [destroyable: object, options: TableConfig<T>]\n | [options: TableConfig<T>];\n\n/**\n * Represents a UI-less version of a table\n *\n * _For use for building tables in ui frameworks_.\n *\n * @example\n * ```js\n * import { use } from 'ember-resources';\n * import { headlessTable } '@universal-ember/table';\n *\n * class MyImplementation {\n * @use table = headlessTable({\n * // your config here\n * })\n * }\n * ```\n */\nexport function headlessTable<T = unknown>(options: TableConfig<T>): Table<T>;\n\n/**\n * Represents a UI-less version of a table\n *\n * _For use for building tables in ui frameworks_.\n *\n * @example\n * ```js\n * import { headlessTable } '@universal-ember/table';\n *\n * class MyImplementation {\n * table = headlessTable(this, {\n * // your config here\n * })\n * }\n * ```\n *\n */\nexport function headlessTable<T = unknown>(\n destroyable: object,\n options: TableConfig<T>,\n): Table<T>;\n\nexport function headlessTable<T = unknown>(...args: Args<T>): Table<T> {\n if (args.length === 2) {\n const [destroyable, options] = args;\n\n /**\n * If any \"root level\" config changes, we need to throw-away everything.\n * otherwise individual-property reactivity can be managed on a per-property\n * \"thunk\"-basis\n */\n return Table.from<Table<T>>(destroyable, () => options);\n }\n\n const [options] = args;\n\n return Table.from<Table<T>>(() => options);\n}\n"],"names":["headlessTable","args","length","destroyable","options","Table","from"],"mappings":";;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,SAASA,aAAaA,CAAc,GAAGC,IAAa,EAAY;AACrE,EAAA,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;AACrB,IAAA,MAAM,CAACC,WAAW,EAAEC,OAAO,CAAC,GAAGH,IAAI;;AAEnC;AACJ;AACA;AACA;AACA;IACI,OAAOI,KAAK,CAACC,IAAI,CAAWH,WAAW,EAAE,MAAMC,OAAO,CAAC;AACzD;AAEA,EAAA,MAAM,CAACA,OAAO,CAAC,GAAGH,IAAI;AAEtB,EAAA,OAAOI,KAAK,CAACC,IAAI,CAAW,MAAMF,OAAO,CAAC;AAC5C;;;;"}
|