@universal-ember/table 3.0.0 → 3.0.2

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.
Files changed (168) hide show
  1. package/dist/-private/-type-tests/plugin-properties.test.js +27 -0
  2. package/dist/-private/-type-tests/plugin-properties.test.js.map +1 -0
  3. package/dist/-private/-type-tests/plugin-with.test.js +20 -0
  4. package/dist/-private/-type-tests/plugin-with.test.js.map +1 -0
  5. package/dist/-private/-type-tests/plugins-accessors.test.js +36 -0
  6. package/dist/-private/-type-tests/plugins-accessors.test.js.map +1 -0
  7. package/dist/-private/-type-tests/plugins-signature-from.test.js +15 -0
  8. package/dist/-private/-type-tests/plugins-signature-from.test.js.map +1 -0
  9. package/dist/-private/-type-tests/plugins-signature-utils.test.js +36 -0
  10. package/dist/-private/-type-tests/plugins-signature-utils.test.js.map +1 -0
  11. package/dist/-private/-type-tests/table-api.test.js +17 -0
  12. package/dist/-private/-type-tests/table-api.test.js.map +1 -0
  13. package/dist/-private/-type-tests/table-config.test.js +55 -0
  14. package/dist/-private/-type-tests/table-config.test.js.map +1 -0
  15. package/dist/-private/column.js +62 -0
  16. package/dist/-private/column.js.map +1 -0
  17. package/dist/-private/ember-compat.js +17 -0
  18. package/dist/-private/ember-compat.js.map +1 -0
  19. package/dist/-private/interfaces/column.js +2 -0
  20. package/dist/-private/interfaces/column.js.map +1 -0
  21. package/dist/-private/interfaces/index.js +2 -0
  22. package/dist/-private/interfaces/index.js.map +1 -0
  23. package/dist/-private/interfaces/modifier.js +2 -0
  24. package/dist/-private/interfaces/modifier.js.map +1 -0
  25. package/dist/-private/interfaces/pagination.js +2 -0
  26. package/dist/-private/interfaces/pagination.js.map +1 -0
  27. package/dist/-private/interfaces/plugins.js +2 -0
  28. package/dist/-private/interfaces/plugins.js.map +1 -0
  29. package/dist/-private/interfaces/preferences.js +2 -0
  30. package/dist/-private/interfaces/preferences.js.map +1 -0
  31. package/dist/-private/interfaces/selection.js +2 -0
  32. package/dist/-private/interfaces/selection.js.map +1 -0
  33. package/dist/-private/interfaces/table.js +2 -0
  34. package/dist/-private/interfaces/table.js.map +1 -0
  35. package/dist/-private/js-helper.js +55 -0
  36. package/dist/-private/js-helper.js.map +1 -0
  37. package/dist/-private/preferences.js +143 -0
  38. package/dist/-private/preferences.js.map +1 -0
  39. package/dist/-private/private-types.js +2 -0
  40. package/dist/-private/private-types.js.map +1 -0
  41. package/dist/-private/row.js +51 -0
  42. package/dist/-private/row.js.map +1 -0
  43. package/dist/-private/table.js +273 -0
  44. package/dist/-private/table.js.map +1 -0
  45. package/dist/-private/utils.js +15 -0
  46. package/dist/-private/utils.js.map +1 -0
  47. package/dist/_rollupPluginBabelHelpers-BpiaYhlf.js +63 -0
  48. package/dist/_rollupPluginBabelHelpers-BpiaYhlf.js.map +1 -0
  49. package/dist/index.js +4 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/plugins/-private/base.js +524 -0
  52. package/dist/plugins/-private/base.js.map +1 -0
  53. package/dist/plugins/-private/utils.js +103 -0
  54. package/dist/plugins/-private/utils.js.map +1 -0
  55. package/dist/plugins/column-reordering/helpers.js +44 -0
  56. package/dist/plugins/column-reordering/helpers.js.map +1 -0
  57. package/dist/plugins/column-reordering/index.js +3 -0
  58. package/dist/plugins/column-reordering/index.js.map +1 -0
  59. package/dist/plugins/column-reordering/plugin.js +359 -0
  60. package/dist/plugins/column-reordering/plugin.js.map +1 -0
  61. package/dist/plugins/column-reordering/utils.js +34 -0
  62. package/dist/plugins/column-reordering/utils.js.map +1 -0
  63. package/dist/plugins/column-resizing/handle.js +241 -0
  64. package/dist/plugins/column-resizing/handle.js.map +1 -0
  65. package/dist/plugins/column-resizing/helpers.js +71 -0
  66. package/dist/plugins/column-resizing/helpers.js.map +1 -0
  67. package/dist/plugins/column-resizing/index.js +4 -0
  68. package/dist/plugins/column-resizing/index.js.map +1 -0
  69. package/dist/plugins/column-resizing/plugin.js +328 -0
  70. package/dist/plugins/column-resizing/plugin.js.map +1 -0
  71. package/dist/plugins/column-resizing/resize-observer.js +44 -0
  72. package/dist/plugins/column-resizing/resize-observer.js.map +1 -0
  73. package/dist/plugins/column-resizing/utils.js +44 -0
  74. package/dist/plugins/column-resizing/utils.js.map +1 -0
  75. package/dist/plugins/column-visibility/helpers.js +25 -0
  76. package/dist/plugins/column-visibility/helpers.js.map +1 -0
  77. package/dist/plugins/column-visibility/index.js +3 -0
  78. package/dist/plugins/column-visibility/index.js.map +1 -0
  79. package/dist/plugins/column-visibility/plugin.js +92 -0
  80. package/dist/plugins/column-visibility/plugin.js.map +1 -0
  81. package/dist/plugins/data-sorting/helpers.js +49 -0
  82. package/dist/plugins/data-sorting/helpers.js.map +1 -0
  83. package/dist/plugins/data-sorting/index.js +4 -0
  84. package/dist/plugins/data-sorting/index.js.map +1 -0
  85. package/dist/plugins/data-sorting/plugin.js +132 -0
  86. package/dist/plugins/data-sorting/plugin.js.map +1 -0
  87. package/dist/plugins/data-sorting/types.js +14 -0
  88. package/dist/plugins/data-sorting/types.js.map +1 -0
  89. package/dist/plugins/index.js +3 -0
  90. package/dist/plugins/index.js.map +1 -0
  91. package/dist/plugins/metadata/helpers.js +12 -0
  92. package/dist/plugins/metadata/helpers.js.map +1 -0
  93. package/dist/plugins/metadata/index.js +3 -0
  94. package/dist/plugins/metadata/index.js.map +1 -0
  95. package/dist/plugins/metadata/plugin.js +25 -0
  96. package/dist/plugins/metadata/plugin.js.map +1 -0
  97. package/dist/plugins/row-selection/helpers.js +10 -0
  98. package/dist/plugins/row-selection/helpers.js.map +1 -0
  99. package/dist/plugins/row-selection/index.js +3 -0
  100. package/dist/plugins/row-selection/index.js.map +1 -0
  101. package/dist/plugins/row-selection/plugin.js +118 -0
  102. package/dist/plugins/row-selection/plugin.js.map +1 -0
  103. package/dist/plugins/sticky-columns/helpers.js +49 -0
  104. package/dist/plugins/sticky-columns/helpers.js.map +1 -0
  105. package/dist/plugins/sticky-columns/index.js +3 -0
  106. package/dist/plugins/sticky-columns/index.js.map +1 -0
  107. package/dist/plugins/sticky-columns/plugin.js +139 -0
  108. package/dist/plugins/sticky-columns/plugin.js.map +1 -0
  109. package/dist/test-support/index.js +62 -0
  110. package/dist/test-support/index.js.map +1 -0
  111. package/dist/utils.js +77 -0
  112. package/dist/utils.js.map +1 -0
  113. package/package.json +4 -3
  114. package/src/-private/-type-tests/plugin-properties.test.ts +38 -0
  115. package/src/-private/-type-tests/plugin-with.test.ts +23 -0
  116. package/src/-private/-type-tests/plugins-accessors.test.ts +86 -0
  117. package/src/-private/-type-tests/plugins-signature-from.test.ts +66 -0
  118. package/src/-private/-type-tests/plugins-signature-utils.test.ts +154 -0
  119. package/src/-private/-type-tests/table-api.test.ts +20 -0
  120. package/src/-private/-type-tests/table-config.test.ts +70 -0
  121. package/src/-private/column.ts +67 -0
  122. package/src/-private/ember-compat.ts +26 -0
  123. package/src/-private/interfaces/column.ts +73 -0
  124. package/src/-private/interfaces/index.ts +7 -0
  125. package/src/-private/interfaces/modifier.ts +7 -0
  126. package/src/-private/interfaces/pagination.ts +13 -0
  127. package/src/-private/interfaces/plugins.ts +349 -0
  128. package/src/-private/interfaces/preferences.ts +82 -0
  129. package/src/-private/interfaces/selection.ts +38 -0
  130. package/src/-private/interfaces/table.ts +121 -0
  131. package/src/-private/js-helper.ts +65 -0
  132. package/src/-private/preferences.ts +176 -0
  133. package/src/-private/private-types.ts +8 -0
  134. package/src/-private/row.ts +66 -0
  135. package/src/-private/table.ts +310 -0
  136. package/src/-private/utils.ts +21 -0
  137. package/src/index.ts +25 -0
  138. package/src/plugins/-private/base.ts +836 -0
  139. package/src/plugins/-private/utils.ts +166 -0
  140. package/src/plugins/column-reordering/helpers.ts +50 -0
  141. package/src/plugins/column-reordering/index.ts +6 -0
  142. package/src/plugins/column-reordering/plugin.ts +489 -0
  143. package/src/plugins/column-reordering/utils.ts +48 -0
  144. package/src/plugins/column-resizing/handle.ts +280 -0
  145. package/src/plugins/column-resizing/helpers.ts +79 -0
  146. package/src/plugins/column-resizing/index.ts +7 -0
  147. package/src/plugins/column-resizing/plugin.ts +490 -0
  148. package/src/plugins/column-resizing/resize-observer.ts +48 -0
  149. package/src/plugins/column-resizing/utils.ts +54 -0
  150. package/src/plugins/column-visibility/helpers.ts +28 -0
  151. package/src/plugins/column-visibility/index.ts +6 -0
  152. package/src/plugins/column-visibility/plugin.ts +155 -0
  153. package/src/plugins/data-sorting/helpers.ts +56 -0
  154. package/src/plugins/data-sorting/index.ts +8 -0
  155. package/src/plugins/data-sorting/plugin.ts +222 -0
  156. package/src/plugins/data-sorting/types.ts +26 -0
  157. package/src/plugins/index.ts +20 -0
  158. package/src/plugins/metadata/helpers.ts +12 -0
  159. package/src/plugins/metadata/index.ts +7 -0
  160. package/src/plugins/metadata/plugin.ts +26 -0
  161. package/src/plugins/row-selection/helpers.ts +13 -0
  162. package/src/plugins/row-selection/index.ts +7 -0
  163. package/src/plugins/row-selection/plugin.ts +218 -0
  164. package/src/plugins/sticky-columns/helpers.ts +59 -0
  165. package/src/plugins/sticky-columns/index.ts +7 -0
  166. package/src/plugins/sticky-columns/plugin.ts +201 -0
  167. package/src/test-support/index.ts +76 -0
  168. 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,2 @@
1
+
2
+ //# sourceMappingURL=column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=modifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modifier.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferences.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=table.js.map
@@ -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;;;;"}