@swimlane/ngx-datatable 16.1.1 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/README.md +1 -1
  2. package/assets/icons-reference.html +2 -2
  3. package/assets/icons.css +39 -19
  4. package/bundles/swimlane-ngx-datatable.umd.js +1663 -5743
  5. package/bundles/swimlane-ngx-datatable.umd.js.map +1 -1
  6. package/bundles/swimlane-ngx-datatable.umd.min.js +1 -1
  7. package/bundles/swimlane-ngx-datatable.umd.min.js.map +1 -1
  8. package/esm2015/lib/components/body/body-cell.component.js +5 -235
  9. package/esm2015/lib/components/body/body-group-header-template.directive.js +1 -13
  10. package/esm2015/lib/components/body/body-group-header.directive.js +1 -28
  11. package/esm2015/lib/components/body/body-row-wrapper.component.js +4 -86
  12. package/esm2015/lib/components/body/body-row.component.js +2 -153
  13. package/esm2015/lib/components/body/body.component.js +71 -303
  14. package/esm2015/lib/components/body/progress-bar.component.js +2 -6
  15. package/esm2015/lib/components/body/scroller.component.js +6 -82
  16. package/esm2015/lib/components/body/selection.component.js +7 -112
  17. package/esm2015/lib/components/body/summary/summary-row.component.js +10 -100
  18. package/esm2015/lib/components/columns/column-cell.directive.js +1 -13
  19. package/esm2015/lib/components/columns/column-header.directive.js +1 -13
  20. package/esm2015/lib/components/columns/column.directive.js +1 -89
  21. package/esm2015/lib/components/columns/tree.directive.js +1 -13
  22. package/esm2015/lib/components/datatable.component.js +49 -570
  23. package/esm2015/lib/components/footer/footer-template.directive.js +1 -13
  24. package/esm2015/lib/components/footer/footer.component.js +2 -41
  25. package/esm2015/lib/components/footer/footer.directive.js +2 -29
  26. package/esm2015/lib/components/footer/pager.component.js +3 -77
  27. package/esm2015/lib/components/header/header-cell.component.js +11 -130
  28. package/esm2015/lib/components/header/header.component.js +20 -193
  29. package/esm2015/lib/components/row-detail/row-detail-template.directive.js +1 -13
  30. package/esm2015/lib/components/row-detail/row-detail.directive.js +1 -29
  31. package/esm2015/lib/directives/draggable.directive.js +4 -72
  32. package/esm2015/lib/directives/long-press.directive.js +8 -88
  33. package/esm2015/lib/directives/orderable.directive.js +11 -104
  34. package/esm2015/lib/directives/resizeable.directive.js +14 -81
  35. package/esm2015/lib/directives/visibility.directive.js +9 -64
  36. package/esm2015/lib/events.js +6 -13
  37. package/esm2015/lib/ngx-datatable.module.js +2 -16
  38. package/esm2015/lib/services/column-changes.service.js +1 -18
  39. package/esm2015/lib/services/dimensions-helper.service.js +1 -9
  40. package/esm2015/lib/services/scrollbar-helper.service.js +1 -25
  41. package/esm2015/lib/types/click.type.js +6 -11
  42. package/esm2015/lib/types/column-mode.type.js +7 -12
  43. package/esm2015/lib/types/contextmenu.type.js +6 -11
  44. package/esm2015/lib/types/selection.type.js +9 -14
  45. package/esm2015/lib/types/sort-direction.type.js +6 -11
  46. package/esm2015/lib/types/sort-prop-dir.type.js +2 -15
  47. package/esm2015/lib/types/sort.type.js +6 -11
  48. package/esm2015/lib/types/table-column.type.js +2 -217
  49. package/esm2015/lib/utils/camel-case.js +4 -26
  50. package/esm2015/lib/utils/column-helper.js +1 -18
  51. package/esm2015/lib/utils/column-prop-getters.js +6 -21
  52. package/esm2015/lib/utils/column.js +1 -28
  53. package/esm2015/lib/utils/elm-from-point.js +3 -15
  54. package/esm2015/lib/utils/id.js +1 -6
  55. package/esm2015/lib/utils/keys.js +10 -21
  56. package/esm2015/lib/utils/math.js +4 -51
  57. package/esm2015/lib/utils/prefixes.js +5 -24
  58. package/esm2015/lib/utils/row-height-cache.js +6 -46
  59. package/esm2015/lib/utils/selection.js +1 -25
  60. package/esm2015/lib/utils/sort.js +9 -50
  61. package/esm2015/lib/utils/throttle.js +7 -41
  62. package/esm2015/lib/utils/translate.js +1 -17
  63. package/esm2015/lib/utils/tree.js +7 -56
  64. package/esm2015/public-api.js +56 -60
  65. package/esm2015/swimlane-ngx-datatable.js +2 -6
  66. package/fesm2015/swimlane-ngx-datatable.js +308 -3513
  67. package/fesm2015/swimlane-ngx-datatable.js.map +1 -1
  68. package/index.css +1 -1
  69. package/index.scss +1 -1
  70. package/lib/components/body/body-cell.component.d.ts +23 -14
  71. package/lib/components/body/body-group-header.directive.d.ts +1 -1
  72. package/lib/components/body/body-row-wrapper.component.d.ts +4 -2
  73. package/lib/components/body/body-row.component.d.ts +8 -5
  74. package/lib/components/body/body.component.d.ts +17 -10
  75. package/lib/components/columns/column.directive.d.ts +3 -3
  76. package/lib/components/datatable.component.d.ts +45 -38
  77. package/lib/components/footer/footer.component.d.ts +2 -2
  78. package/lib/components/footer/footer.directive.d.ts +1 -1
  79. package/lib/components/footer/pager.component.d.ts +7 -4
  80. package/lib/components/header/header-cell.component.d.ts +14 -9
  81. package/lib/components/header/header.component.d.ts +14 -7
  82. package/lib/components/row-detail/row-detail.directive.d.ts +1 -1
  83. package/lib/directives/long-press.directive.d.ts +2 -2
  84. package/lib/directives/resizeable.directive.d.ts +1 -0
  85. package/lib/ngx-datatable.module.d.ts +1 -1
  86. package/lib/services/column-changes.service.d.ts +1 -1
  87. package/lib/utils/throttle.d.ts +1 -1
  88. package/package.json +10 -13
  89. package/swimlane-ngx-datatable.metadata.json +1 -1
  90. package/themes/material.css +53 -51
  91. package/themes/material.scss +4 -2
  92. package/esm5/lib/components/body/body-cell.component.js +0 -667
  93. package/esm5/lib/components/body/body-group-header-template.directive.js +0 -26
  94. package/esm5/lib/components/body/body-group-header.directive.js +0 -109
  95. package/esm5/lib/components/body/body-row-wrapper.component.js +0 -181
  96. package/esm5/lib/components/body/body-row.component.js +0 -409
  97. package/esm5/lib/components/body/body.component.js +0 -1148
  98. package/esm5/lib/components/body/progress-bar.component.js +0 -19
  99. package/esm5/lib/components/body/scroller.component.js +0 -172
  100. package/esm5/lib/components/body/selection.component.js +0 -289
  101. package/esm5/lib/components/body/summary/summary-row.component.js +0 -179
  102. package/esm5/lib/components/columns/column-cell.directive.js +0 -24
  103. package/esm5/lib/components/columns/column-header.directive.js +0 -24
  104. package/esm5/lib/components/columns/column.directive.js +0 -167
  105. package/esm5/lib/components/columns/tree.directive.js +0 -24
  106. package/esm5/lib/components/datatable.component.js +0 -1848
  107. package/esm5/lib/components/footer/footer-template.directive.js +0 -24
  108. package/esm5/lib/components/footer/footer.component.js +0 -88
  109. package/esm5/lib/components/footer/footer.directive.js +0 -57
  110. package/esm5/lib/components/footer/pager.component.js +0 -214
  111. package/esm5/lib/components/header/header-cell.component.js +0 -351
  112. package/esm5/lib/components/header/header.component.js +0 -502
  113. package/esm5/lib/components/row-detail/row-detail-template.directive.js +0 -26
  114. package/esm5/lib/components/row-detail/row-detail.directive.js +0 -111
  115. package/esm5/lib/directives/draggable.directive.js +0 -194
  116. package/esm5/lib/directives/long-press.directive.js +0 -220
  117. package/esm5/lib/directives/orderable.directive.js +0 -274
  118. package/esm5/lib/directives/resizeable.directive.js +0 -178
  119. package/esm5/lib/directives/visibility.directive.js +0 -129
  120. package/esm5/lib/events.js +0 -14
  121. package/esm5/lib/ngx-datatable.module.js +0 -123
  122. package/esm5/lib/services/column-changes.service.js +0 -47
  123. package/esm5/lib/services/dimensions-helper.service.js +0 -30
  124. package/esm5/lib/services/scrollbar-helper.service.js +0 -60
  125. package/esm5/lib/types/click.type.js +0 -11
  126. package/esm5/lib/types/column-mode.type.js +0 -12
  127. package/esm5/lib/types/contextmenu.type.js +0 -11
  128. package/esm5/lib/types/selection.type.js +0 -14
  129. package/esm5/lib/types/sort-direction.type.js +0 -11
  130. package/esm5/lib/types/sort-prop-dir.type.js +0 -15
  131. package/esm5/lib/types/sort.type.js +0 -11
  132. package/esm5/lib/types/table-column.type.js +0 -217
  133. package/esm5/lib/utils/camel-case.js +0 -50
  134. package/esm5/lib/utils/column-helper.js +0 -145
  135. package/esm5/lib/utils/column-prop-getters.js +0 -111
  136. package/esm5/lib/utils/column.js +0 -130
  137. package/esm5/lib/utils/elm-from-point.js +0 -50
  138. package/esm5/lib/utils/id.js +0 -13
  139. package/esm5/lib/utils/keys.js +0 -21
  140. package/esm5/lib/utils/math.js +0 -271
  141. package/esm5/lib/utils/prefixes.js +0 -59
  142. package/esm5/lib/utils/row-height-cache.js +0 -264
  143. package/esm5/lib/utils/selection.js +0 -64
  144. package/esm5/lib/utils/sort.js +0 -180
  145. package/esm5/lib/utils/throttle.js +0 -94
  146. package/esm5/lib/utils/translate.js +0 -41
  147. package/esm5/lib/utils/tree.js +0 -157
  148. package/esm5/public-api.js +0 -68
  149. package/esm5/swimlane-ngx-datatable.js +0 -9
  150. package/fesm5/swimlane-ngx-datatable.js +0 -9695
  151. package/fesm5/swimlane-ngx-datatable.js.map +0 -1
  152. package/lib/test/jasmine-matchers.d.ts +0 -12
@@ -1,50 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * Converts strings from something to camel case
7
- * http://stackoverflow.com/questions/10425287/convert-dash-separated-string-to-camelcase
8
- * @param {?} str
9
- * @return {?}
10
- */
11
- export function camelCase(str) {
12
- // Replace special characters with a space
13
- str = str.replace(/[^a-zA-Z0-9 ]/g, ' ');
14
- // put a space before an uppercase letter
15
- str = str.replace(/([a-z](?=[A-Z]))/g, '$1 ');
16
- // Lower case first character and some other stuff
17
- str = str
18
- .replace(/([^a-zA-Z0-9 ])|^[0-9]+/g, '')
19
- .trim()
20
- .toLowerCase();
21
- // uppercase characters preceded by a space or number
22
- str = str.replace(/([ 0-9]+)([a-zA-Z])/g, (/**
23
- * @param {?} a
24
- * @param {?} b
25
- * @param {?} c
26
- * @return {?}
27
- */
28
- function (a, b, c) {
29
- return b.trim() + c.toUpperCase();
30
- }));
31
- return str;
32
- }
33
- /**
34
- * Converts strings from camel case to words
35
- * http://stackoverflow.com/questions/7225407/convert-camelcasetext-to-camel-case-text
36
- * @param {?} str
37
- * @return {?}
38
- */
39
- export function deCamelCase(str) {
40
- return str.replace(/([A-Z])/g, (/**
41
- * @param {?} match
42
- * @return {?}
43
- */
44
- function (match) { return " " + match; })).replace(/^./, (/**
45
- * @param {?} match
46
- * @return {?}
47
- */
48
- function (match) { return match.toUpperCase(); }));
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZWwtY2FzZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2NhbWVsLWNhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUlBLE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBVztJQUNuQywwQ0FBMEM7SUFDMUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekMseUNBQXlDO0lBQ3pDLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTlDLGtEQUFrRDtJQUNsRCxHQUFHLEdBQUcsR0FBRztTQUNOLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxFQUFFLENBQUM7U0FDdkMsSUFBSSxFQUFFO1NBQ04sV0FBVyxFQUFFLENBQUM7SUFFakIscURBQXFEO0lBQ3JELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLHNCQUFzQjs7Ozs7O0lBQUUsVUFBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDeEQsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUMsRUFBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDOzs7Ozs7O0FBTUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVOzs7O0lBQUUsVUFBQSxLQUFLLElBQUksT0FBQSxNQUFJLEtBQU8sRUFBWCxDQUFXLEVBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTs7OztJQUFFLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFuQixDQUFtQixFQUFDLENBQUM7QUFDbkcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgc3RyaW5ncyBmcm9tIHNvbWV0aGluZyB0byBjYW1lbCBjYXNlXG4gKiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEwNDI1Mjg3L2NvbnZlcnQtZGFzaC1zZXBhcmF0ZWQtc3RyaW5nLXRvLWNhbWVsY2FzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FtZWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gUmVwbGFjZSBzcGVjaWFsIGNoYXJhY3RlcnMgd2l0aCBhIHNwYWNlXG4gIHN0ciA9IHN0ci5yZXBsYWNlKC9bXmEtekEtWjAtOSBdL2csICcgJyk7XG4gIC8vIHB1dCBhIHNwYWNlIGJlZm9yZSBhbiB1cHBlcmNhc2UgbGV0dGVyXG4gIHN0ciA9IHN0ci5yZXBsYWNlKC8oW2Etel0oPz1bQS1aXSkpL2csICckMSAnKTtcblxuICAvLyBMb3dlciBjYXNlIGZpcnN0IGNoYXJhY3RlciBhbmQgc29tZSBvdGhlciBzdHVmZlxuICBzdHIgPSBzdHJcbiAgICAucmVwbGFjZSgvKFteYS16QS1aMC05IF0pfF5bMC05XSsvZywgJycpXG4gICAgLnRyaW0oKVxuICAgIC50b0xvd2VyQ2FzZSgpO1xuXG4gIC8vIHVwcGVyY2FzZSBjaGFyYWN0ZXJzIHByZWNlZGVkIGJ5IGEgc3BhY2Ugb3IgbnVtYmVyXG4gIHN0ciA9IHN0ci5yZXBsYWNlKC8oWyAwLTldKykoW2EtekEtWl0pL2csIGZ1bmN0aW9uKGEsIGIsIGMpIHtcbiAgICByZXR1cm4gYi50cmltKCkgKyBjLnRvVXBwZXJDYXNlKCk7XG4gIH0pO1xuXG4gIHJldHVybiBzdHI7XG59XG5cbi8qKlxuICogQ29udmVydHMgc3RyaW5ncyBmcm9tIGNhbWVsIGNhc2UgdG8gd29yZHNcbiAqIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNzIyNTQwNy9jb252ZXJ0LWNhbWVsY2FzZXRleHQtdG8tY2FtZWwtY2FzZS10ZXh0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZUNhbWVsQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvKFtBLVpdKS9nLCBtYXRjaCA9PiBgICR7bWF0Y2h9YCkucmVwbGFjZSgvXi4vLCBtYXRjaCA9PiBtYXRjaC50b1VwcGVyQ2FzZSgpKTtcbn1cbiJdfQ==
@@ -1,145 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { camelCase, deCamelCase } from './camel-case';
7
- import { id } from './id';
8
- import { getterForProp } from './column-prop-getters';
9
- /**
10
- * Sets the column defaults
11
- * @param {?} columns
12
- * @return {?}
13
- */
14
- export function setColumnDefaults(columns) {
15
- var e_1, _a;
16
- if (!columns)
17
- return;
18
- // Only one column should hold the tree view
19
- // Thus if multiple columns are provided with
20
- // isTreeColumn as true we take only the first one
21
- /** @type {?} */
22
- var treeColumnFound = false;
23
- try {
24
- for (var columns_1 = tslib_1.__values(columns), columns_1_1 = columns_1.next(); !columns_1_1.done; columns_1_1 = columns_1.next()) {
25
- var column = columns_1_1.value;
26
- if (!column.$$id) {
27
- column.$$id = id();
28
- }
29
- // prop can be numeric; zero is valid not a missing prop
30
- // translate name => prop
31
- if (isNullOrUndefined(column.prop) && column.name) {
32
- column.prop = camelCase(column.name);
33
- }
34
- if (!column.$$valueGetter) {
35
- column.$$valueGetter = getterForProp(column.prop);
36
- }
37
- // format props if no name passed
38
- if (!isNullOrUndefined(column.prop) && isNullOrUndefined(column.name)) {
39
- column.name = deCamelCase(String(column.prop));
40
- }
41
- if (isNullOrUndefined(column.prop) && isNullOrUndefined(column.name)) {
42
- column.name = ''; // Fixes IE and Edge displaying `null`
43
- }
44
- if (!column.hasOwnProperty('resizeable')) {
45
- column.resizeable = true;
46
- }
47
- if (!column.hasOwnProperty('sortable')) {
48
- column.sortable = true;
49
- }
50
- if (!column.hasOwnProperty('draggable')) {
51
- column.draggable = true;
52
- }
53
- if (!column.hasOwnProperty('canAutoResize')) {
54
- column.canAutoResize = true;
55
- }
56
- if (!column.hasOwnProperty('width')) {
57
- column.width = 150;
58
- }
59
- if (!column.hasOwnProperty('isTreeColumn')) {
60
- column.isTreeColumn = false;
61
- }
62
- else {
63
- if (column.isTreeColumn && !treeColumnFound) {
64
- // If the first column with isTreeColumn is true found
65
- // we mark that treeCoulmn is found
66
- treeColumnFound = true;
67
- }
68
- else {
69
- // After that isTreeColumn property for any other column
70
- // will be set as false
71
- column.isTreeColumn = false;
72
- }
73
- }
74
- }
75
- }
76
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
77
- finally {
78
- try {
79
- if (columns_1_1 && !columns_1_1.done && (_a = columns_1.return)) _a.call(columns_1);
80
- }
81
- finally { if (e_1) throw e_1.error; }
82
- }
83
- }
84
- /**
85
- * @template T
86
- * @param {?} value
87
- * @return {?}
88
- */
89
- export function isNullOrUndefined(value) {
90
- return value === null || value === undefined;
91
- }
92
- /**
93
- * Translates templates definitions to objects
94
- * @param {?} templates
95
- * @return {?}
96
- */
97
- export function translateTemplates(templates) {
98
- var e_2, _a, e_3, _b;
99
- /** @type {?} */
100
- var result = [];
101
- try {
102
- for (var templates_1 = tslib_1.__values(templates), templates_1_1 = templates_1.next(); !templates_1_1.done; templates_1_1 = templates_1.next()) {
103
- var temp = templates_1_1.value;
104
- /** @type {?} */
105
- var col = {};
106
- /** @type {?} */
107
- var props = Object.getOwnPropertyNames(temp);
108
- try {
109
- for (var props_1 = (e_3 = void 0, tslib_1.__values(props)), props_1_1 = props_1.next(); !props_1_1.done; props_1_1 = props_1.next()) {
110
- var prop = props_1_1.value;
111
- col[prop] = temp[prop];
112
- }
113
- }
114
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
115
- finally {
116
- try {
117
- if (props_1_1 && !props_1_1.done && (_b = props_1.return)) _b.call(props_1);
118
- }
119
- finally { if (e_3) throw e_3.error; }
120
- }
121
- if (temp.headerTemplate) {
122
- col.headerTemplate = temp.headerTemplate;
123
- }
124
- if (temp.cellTemplate) {
125
- col.cellTemplate = temp.cellTemplate;
126
- }
127
- if (temp.summaryFunc) {
128
- col.summaryFunc = temp.summaryFunc;
129
- }
130
- if (temp.summaryTemplate) {
131
- col.summaryTemplate = temp.summaryTemplate;
132
- }
133
- result.push(col);
134
- }
135
- }
136
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
137
- finally {
138
- try {
139
- if (templates_1_1 && !templates_1_1.done && (_a = templates_1.return)) _a.call(templates_1);
140
- }
141
- finally { if (e_2) throw e_2.error; }
142
- }
143
- return result;
144
- }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2NvbHVtbi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBT3RELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUFzQjs7SUFDdEQsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPOzs7OztRQUtqQixlQUFlLEdBQVksS0FBSzs7UUFFcEMsS0FBcUIsSUFBQSxZQUFBLGlCQUFBLE9BQU8sQ0FBQSxnQ0FBQSxxREFBRTtZQUF6QixJQUFNLE1BQU0sb0JBQUE7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDaEIsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FBQzthQUNwQjtZQUVELHdEQUF3RDtZQUN4RCx5QkFBeUI7WUFDekIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDakQsTUFBTSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RDO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7Z0JBQ3pCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuRDtZQUVELGlDQUFpQztZQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMs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QU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEI7Ozs7Ozs7OztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYW1lbENhc2UsIGRlQ2FtZWxDYXNlIH0gZnJvbSAnLi9jYW1lbC1jYXNlJztcbmltcG9ydCB7IGlkIH0gZnJvbSAnLi9pZCc7XG5pbXBvcnQgeyBnZXR0ZXJGb3JQcm9wIH0gZnJvbSAnLi9jb2x1bW4tcHJvcC1nZXR0ZXJzJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vdHlwZXMvdGFibGUtY29sdW1uLnR5cGUnO1xuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb2x1bW5zL2NvbHVtbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFNldHMgdGhlIGNvbHVtbiBkZWZhdWx0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0Q29sdW1uRGVmYXVsdHMoY29sdW1uczogVGFibGVDb2x1bW5bXSkge1xuICBpZiAoIWNvbHVtbnMpIHJldHVybjtcblxuICAvLyBPbmx5IG9uZSBjb2x1bW4gc2hvdWxkIGhvbGQgdGhlIHRyZWUgdmlld1xuICAvLyBUaHVzIGlmIG11bHRpcGxlIGNvbHVtbnMgYXJlIHByb3ZpZGVkIHdpdGhcbiAgLy8gaXNUcmVlQ29sdW1uIGFzIHRydWUgd2UgdGFrZSBvbmx5IHRoZSBmaXJzdCBvbmVcbiAgbGV0IHRyZWVDb2x1bW5Gb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGZvciAoY29uc3QgY29sdW1uIG9mIGNvbHVtbnMpIHtcbiAgICBpZiAoIWNvbHVtbi4kJGlkKSB7XG4gICAgICBjb2x1bW4uJCRpZCA9IGlkKCk7XG4gICAgfVxuXG4gICAgLy8gcHJvcCBjYW4gYmUgbnVtZXJpYzsgemVybyBpcyB2YWxpZCBub3QgYSBtaXNzaW5nIHByb3BcbiAgICAvLyB0cmFuc2xhdGUgbmFtZSA9PiBwcm9wXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKGNvbHVtbi5wcm9wKSAmJiBjb2x1bW4ubmFtZSkge1xuICAgICAgY29sdW1uLnByb3AgPSBjYW1lbENhc2UoY29sdW1uLm5hbWUpO1xuICAgIH1cblxuICAgIGlmICghY29sdW1uLiQkdmFsdWVHZXR0ZXIpIHtcbiAgICAgIGNvbHVtbi4kJHZhbHVlR2V0dGVyID0gZ2V0dGVyRm9yUHJvcChjb2x1bW4ucHJvcCk7XG4gICAgfVxuXG4gICAgLy8gZm9ybWF0IHByb3BzIGlmIG5vIG5hbWUgcGFzc2VkXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChjb2x1bW4ucHJvcCkgJiYgaXNOdWxsT3JVbmRlZmluZWQoY29sdW1uLm5hbWUpKSB7XG4gICAgICBjb2x1bW4ubmFtZSA9IGRlQ2FtZWxDYXNlKFN0cmluZyhjb2x1bW4ucHJvcCkpO1xuICAgIH1cblxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChjb2x1bW4ucHJvcCkgJiYgaXNOdWxsT3JVbmRlZmluZWQoY29sdW1uLm5hbWUpKSB7XG4gICAgICBjb2x1bW4ubmFtZSA9ICcnOyAvLyBGaXhlcyBJRSBhbmQgRWRnZSBkaXNwbGF5aW5nIGBudWxsYFxuICAgIH1cblxuICAgIGlmICghY29sdW1uLmhhc093blByb3BlcnR5KCdyZXNpemVhYmxlJykpIHtcbiAgICAgIGNvbHVtbi5yZXNpemVhYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbHVtbi5oYXNPd25Qcm9wZXJ0eSgnc29ydGFibGUnKSkge1xuICAgICAgY29sdW1uLnNvcnRhYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbHVtbi5oYXNPd25Qcm9wZXJ0eSgnZHJhZ2dhYmxlJykpIHtcbiAgICAgIGNvbHVtbi5kcmFnZ2FibGUgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghY29sdW1uLmhhc093blByb3BlcnR5KCdjYW5BdXRvUmVzaXplJykpIHtcbiAgICAgIGNvbHVtbi5jYW5BdXRvUmVzaXplID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbHVtbi5oYXNPd25Qcm9wZXJ0eSgnd2lkdGgnKSkge1xuICAgICAgY29sdW1uLndpZHRoID0gMTUwO1xuICAgIH1cblxuICAgIGlmICghY29sdW1uLmhhc093blByb3BlcnR5KCdpc1RyZWVDb2x1bW4nKSkge1xuICAgICAgY29sdW1uLmlzVHJlZUNvbHVtbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoY29sdW1uLmlzVHJlZUNvbHVtbiAmJiAhdHJlZUNvbHVtbkZvdW5kKSB7XG4gICAgICAgIC8vIElmIHRoZSBmaXJzdCBjb2x1bW4gd2l0aCBpc1RyZWVDb2x1bW4gaXMgdHJ1ZSBmb3VuZFxuICAgICAgICAvLyB3ZSBtYXJrIHRoYXQgdHJlZUNvdWxtbiBpcyBmb3VuZFxuICAgICAgICB0cmVlQ29sdW1uRm91bmQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQWZ0ZXIgdGhhdCBpc1RyZWVDb2x1bW4gcHJvcGVydHkgZm9yIGFueSBvdGhlciBjb2x1bW5cbiAgICAgICAgLy8gd2lsbCBiZSBzZXQgYXMgZmFsc2VcbiAgICAgICAgY29sdW1uLmlzVHJlZUNvbHVtbiA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdWxsT3JVbmRlZmluZWQ8VD4odmFsdWU6IFQgfCBudWxsIHwgdW5kZWZpbmVkKTogdmFsdWUgaXMgbnVsbCB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFRyYW5zbGF0ZXMgdGVtcGxhdGVzIGRlZmluaXRpb25zIHRvIG9iamVjdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZVRlbXBsYXRlcyh0ZW1wbGF0ZXM6IERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZVtdKTogYW55W10ge1xuICBjb25zdCByZXN1bHQ6IGFueVtdID0gW107XG4gIGZvciAoY29uc3QgdGVtcCBvZiB0ZW1wbGF0ZXMpIHtcbiAgICBjb25zdCBjb2w6IGFueSA9IHt9O1xuXG4gICAgY29uc3QgcHJvcHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZW1wKTtcbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcHMpIHtcbiAgICAgIGNvbFtwcm9wXSA9IHRlbXBbcHJvcF07XG4gICAgfVxuXG4gICAgaWYgKHRlbXAuaGVhZGVyVGVtcGxhdGUpIHtcbiAgICAgIGNvbC5oZWFkZXJUZW1wbGF0ZSA9IHRlbXAuaGVhZGVyVGVtcGxhdGU7XG4gICAgfVxuXG4gICAgaWYgKHRlbXAuY2VsbFRlbXBsYXRlKSB7XG4gICAgICBjb2wuY2VsbFRlbXBsYXRlID0gdGVtcC5jZWxsVGVtcGxhdGU7XG4gICAgfVxuXG4gICAgaWYgKHRlbXAuc3VtbWFyeUZ1bmMpIHtcbiAgICAgIGNvbC5zdW1tYXJ5RnVuYyA9IHRlbXAuc3VtbWFyeUZ1bmM7XG4gICAgfVxuXG4gICAgaWYgKHRlbXAuc3VtbWFyeVRlbXBsYXRlKSB7XG4gICAgICBjb2wuc3VtbWFyeVRlbXBsYXRlID0gdGVtcC5zdW1tYXJ5VGVtcGxhdGU7XG4gICAgfVxuXG4gICAgcmVzdWx0LnB1c2goY29sKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
@@ -1,111 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * Always returns the empty string ''
7
- * @return {?}
8
- */
9
- export function emptyStringGetter() {
10
- return '';
11
- }
12
- /**
13
- * Returns the appropriate getter function for this kind of prop.
14
- * If prop == null, returns the emptyStringGetter.
15
- * @param {?} prop
16
- * @return {?}
17
- */
18
- export function getterForProp(prop) {
19
- if (prop == null) {
20
- return emptyStringGetter;
21
- }
22
- if (typeof prop === 'number') {
23
- return numericIndexGetter;
24
- }
25
- else {
26
- // deep or simple
27
- if (prop.indexOf('.') !== -1) {
28
- return deepValueGetter;
29
- }
30
- else {
31
- return shallowValueGetter;
32
- }
33
- }
34
- }
35
- /**
36
- * Returns the value at this numeric index.
37
- * @param {?} row array of values
38
- * @param {?} index numeric index
39
- * @return {?} any or '' if invalid index
40
- */
41
- export function numericIndexGetter(row, index) {
42
- if (row == null) {
43
- return '';
44
- }
45
- // mimic behavior of deepValueGetter
46
- if (!row || index == null) {
47
- return row;
48
- }
49
- /** @type {?} */
50
- var value = row[index];
51
- if (value == null) {
52
- return '';
53
- }
54
- return value;
55
- }
56
- /**
57
- * Returns the value of a field.
58
- * (more efficient than deepValueGetter)
59
- * @param {?} obj object containing the field
60
- * @param {?} fieldName field name string
61
- * @return {?}
62
- */
63
- export function shallowValueGetter(obj, fieldName) {
64
- if (obj == null) {
65
- return '';
66
- }
67
- if (!obj || !fieldName) {
68
- return obj;
69
- }
70
- /** @type {?} */
71
- var value = obj[fieldName];
72
- if (value == null) {
73
- return '';
74
- }
75
- return value;
76
- }
77
- /**
78
- * Returns a deep object given a string. zoo['animal.type']
79
- * @param {?} obj
80
- * @param {?} path
81
- * @return {?}
82
- */
83
- export function deepValueGetter(obj, path) {
84
- if (obj == null) {
85
- return '';
86
- }
87
- if (!obj || !path) {
88
- return obj;
89
- }
90
- // check if path matches a root-level field
91
- // { "a.b.c": 123 }
92
- /** @type {?} */
93
- var current = obj[path];
94
- if (current !== undefined) {
95
- return current;
96
- }
97
- current = obj;
98
- /** @type {?} */
99
- var split = path.split('.');
100
- if (split.length) {
101
- for (var i = 0; i < split.length; i++) {
102
- current = current[split[i]];
103
- // if found undefined, return empty string
104
- if (current === undefined || current === null) {
105
- return '';
106
- }
107
- }
108
- }
109
- return current;
110
- }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXByb3AtZ2V0dGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2NvbHVtbi1wcm9wLWdldHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFTQSxNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQzs7Ozs7OztBQU1ELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBcUI7SUFDakQsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1FBQ2hCLE9BQU8saUJBQWlCLENBQUM7S0FDMUI7SUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLGtCQUFrQixDQUFDO0tBQzNCO1NBQU07UUFDTCxpQkFBaUI7UUFDakIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO2FBQU07WUFDTCxPQUFPLGtCQUFrQixDQUFDO1NBQzNCO0tBQ0Y7QUFDSCxDQUFDOzs7Ozs7O0FBUUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVUsRUFBRSxLQUFhO0lBQzFELElBQUksR0FBRyxJQUFJLElBQUksRUFBRTtRQUNmLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxvQ0FBb0M7SUFDcEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1FBQ3pCLE9BQU8sR0FBRyxDQUFDO0tBQ1o7O1FBRUssS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFDeEIsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7Ozs7Ozs7O0FBUUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVEsRUFBRSxTQUFpQjtJQUM1RCxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDZixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQztLQUNaOztRQUVLLEtBQUssR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQzVCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqQixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDOzs7Ozs7O0FBS0QsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFRLEVBQUUsSUFBWTtJQUNwRCxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDZixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNqQixPQUFPLEdBQUcsQ0FBQztLQUNaOzs7O1FBSUcsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDdkIsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQ3pCLE9BQU8sT0FBTyxDQUFDO0tBQ2hCO0lBRUQsT0FBTyxHQUFHLEdBQUcsQ0FBQzs7UUFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFFN0IsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFNUIsMENBQTBDO1lBQzFDLElBQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO2dCQUM3QyxPQUFPLEVBQUUsQ0FBQzthQUNYO1NBQ0Y7S0FDRjtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbHVtblByb3AgfSBmcm9tICcuLi90eXBlcy90YWJsZS1jb2x1bW4udHlwZSc7XG5cbi8vIG1heWJlIHJlbmFtZSB0aGlzIGZpbGUgdG8gcHJvcC1nZXR0ZXJzLnRzXG5cbmV4cG9ydCB0eXBlIFZhbHVlR2V0dGVyID0gKG9iajogYW55LCBwcm9wOiBUYWJsZUNvbHVtblByb3ApID0+IGFueTtcblxuLyoqXG4gKiBBbHdheXMgcmV0dXJucyB0aGUgZW1wdHkgc3RyaW5nICcnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbXB0eVN0cmluZ0dldHRlcigpOiBzdHJpbmcge1xuICByZXR1cm4gJyc7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgZ2V0dGVyIGZ1bmN0aW9uIGZvciB0aGlzIGtpbmQgb2YgcHJvcC5cbiAqIElmIHByb3AgPT0gbnVsbCwgcmV0dXJucyB0aGUgZW1wdHlTdHJpbmdHZXR0ZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXR0ZXJGb3JQcm9wKHByb3A6IFRhYmxlQ29sdW1uUHJvcCk6IFZhbHVlR2V0dGVyIHtcbiAgaWYgKHByb3AgPT0gbnVsbCkge1xuICAgIHJldHVybiBlbXB0eVN0cmluZ0dldHRlcjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcHJvcCA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gbnVtZXJpY0luZGV4R2V0dGVyO1xuICB9IGVsc2Uge1xuICAgIC8vIGRlZXAgb3Igc2ltcGxlXG4gICAgaWYgKHByb3AuaW5kZXhPZignLicpICE9PSAtMSkge1xuICAgICAgcmV0dXJuIGRlZXBWYWx1ZUdldHRlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHNoYWxsb3dWYWx1ZUdldHRlcjtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB2YWx1ZSBhdCB0aGlzIG51bWVyaWMgaW5kZXguXG4gKiBAcGFyYW0gcm93IGFycmF5IG9mIHZhbHVlc1xuICogQHBhcmFtIGluZGV4IG51bWVyaWMgaW5kZXhcbiAqIEByZXR1cm5zIGFueSBvciAnJyBpZiBpbnZhbGlkIGluZGV4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBudW1lcmljSW5kZXhHZXR0ZXIocm93OiBhbnlbXSwgaW5kZXg6IG51bWJlcik6IGFueSB7XG4gIGlmIChyb3cgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICAvLyBtaW1pYyBiZWhhdmlvciBvZiBkZWVwVmFsdWVHZXR0ZXJcbiAgaWYgKCFyb3cgfHwgaW5kZXggPT0gbnVsbCkge1xuICAgIHJldHVybiByb3c7XG4gIH1cblxuICBjb25zdCB2YWx1ZSA9IHJvd1tpbmRleF07XG4gIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiBhIGZpZWxkLlxuICogKG1vcmUgZWZmaWNpZW50IHRoYW4gZGVlcFZhbHVlR2V0dGVyKVxuICogQHBhcmFtIG9iaiBvYmplY3QgY29udGFpbmluZyB0aGUgZmllbGRcbiAqIEBwYXJhbSBmaWVsZE5hbWUgZmllbGQgbmFtZSBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNoYWxsb3dWYWx1ZUdldHRlcihvYmo6IGFueSwgZmllbGROYW1lOiBzdHJpbmcpOiBhbnkge1xuICBpZiAob2JqID09IG51bGwpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgaWYgKCFvYmogfHwgIWZpZWxkTmFtZSkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBjb25zdCB2YWx1ZSA9IG9ialtmaWVsZE5hbWVdO1xuICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlZXAgb2JqZWN0IGdpdmVuIGEgc3RyaW5nLiB6b29bJ2FuaW1hbC50eXBlJ11cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZXBWYWx1ZUdldHRlcihvYmo6IGFueSwgcGF0aDogc3RyaW5nKTogYW55IHtcbiAgaWYgKG9iaiA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGlmICghb2JqIHx8ICFwYXRoKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIC8vIGNoZWNrIGlmIHBhdGggbWF0Y2hlcyBhIHJvb3QtbGV2ZWwgZmllbGRcbiAgLy8geyBcImEuYi5jXCI6IDEyMyB9XG4gIGxldCBjdXJyZW50ID0gb2JqW3BhdGhdO1xuICBpZiAoY3VycmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGN1cnJlbnQ7XG4gIH1cblxuICBjdXJyZW50ID0gb2JqO1xuICBjb25zdCBzcGxpdCA9IHBhdGguc3BsaXQoJy4nKTtcblxuICBpZiAoc3BsaXQubGVuZ3RoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzcGxpdC5sZW5ndGg7IGkrKykge1xuICAgICAgY3VycmVudCA9IGN1cnJlbnRbc3BsaXRbaV1dO1xuXG4gICAgICAvLyBpZiBmb3VuZCB1bmRlZmluZWQsIHJldHVybiBlbXB0eSBzdHJpbmdcbiAgICAgIGlmIChjdXJyZW50ID09PSB1bmRlZmluZWQgfHwgY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG4iXX0=
@@ -1,130 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- /**
7
- * Returns the columns by pin.
8
- * @param {?} cols
9
- * @return {?}
10
- */
11
- export function columnsByPin(cols) {
12
- var e_1, _a;
13
- /** @type {?} */
14
- var ret = {
15
- left: [],
16
- center: [],
17
- right: []
18
- };
19
- if (cols) {
20
- try {
21
- for (var cols_1 = tslib_1.__values(cols), cols_1_1 = cols_1.next(); !cols_1_1.done; cols_1_1 = cols_1.next()) {
22
- var col = cols_1_1.value;
23
- if (col.frozenLeft) {
24
- ret.left.push(col);
25
- }
26
- else if (col.frozenRight) {
27
- ret.right.push(col);
28
- }
29
- else {
30
- ret.center.push(col);
31
- }
32
- }
33
- }
34
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
35
- finally {
36
- try {
37
- if (cols_1_1 && !cols_1_1.done && (_a = cols_1.return)) _a.call(cols_1);
38
- }
39
- finally { if (e_1) throw e_1.error; }
40
- }
41
- }
42
- return ret;
43
- }
44
- /**
45
- * Returns the widths of all group sets of a column
46
- * @param {?} groups
47
- * @param {?} all
48
- * @return {?}
49
- */
50
- export function columnGroupWidths(groups, all) {
51
- return {
52
- left: columnTotalWidth(groups.left),
53
- center: columnTotalWidth(groups.center),
54
- right: columnTotalWidth(groups.right),
55
- total: Math.floor(columnTotalWidth(all))
56
- };
57
- }
58
- /**
59
- * Calculates the total width of all columns and their groups
60
- * @param {?} columns
61
- * @param {?=} prop
62
- * @return {?}
63
- */
64
- export function columnTotalWidth(columns, prop) {
65
- var e_2, _a;
66
- /** @type {?} */
67
- var totalWidth = 0;
68
- if (columns) {
69
- try {
70
- for (var columns_1 = tslib_1.__values(columns), columns_1_1 = columns_1.next(); !columns_1_1.done; columns_1_1 = columns_1.next()) {
71
- var c = columns_1_1.value;
72
- /** @type {?} */
73
- var has = prop && c[prop];
74
- /** @type {?} */
75
- var width = has ? c[prop] : c.width;
76
- totalWidth = totalWidth + parseFloat(width);
77
- }
78
- }
79
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
80
- finally {
81
- try {
82
- if (columns_1_1 && !columns_1_1.done && (_a = columns_1.return)) _a.call(columns_1);
83
- }
84
- finally { if (e_2) throw e_2.error; }
85
- }
86
- }
87
- return totalWidth;
88
- }
89
- /**
90
- * Calculates the total width of all columns and their groups
91
- * @param {?} columns
92
- * @param {?=} prop
93
- * @return {?}
94
- */
95
- export function columnsTotalWidth(columns, prop) {
96
- var e_3, _a;
97
- /** @type {?} */
98
- var totalWidth = 0;
99
- try {
100
- for (var columns_2 = tslib_1.__values(columns), columns_2_1 = columns_2.next(); !columns_2_1.done; columns_2_1 = columns_2.next()) {
101
- var column = columns_2_1.value;
102
- /** @type {?} */
103
- var has = prop && column[prop];
104
- totalWidth = totalWidth + (has ? column[prop] : column.width);
105
- }
106
- }
107
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
108
- finally {
109
- try {
110
- if (columns_2_1 && !columns_2_1.done && (_a = columns_2.return)) _a.call(columns_2);
111
- }
112
- finally { if (e_3) throw e_3.error; }
113
- }
114
- return totalWidth;
115
- }
116
- /**
117
- * @param {?} val
118
- * @return {?}
119
- */
120
- export function columnsByPinArr(val) {
121
- /** @type {?} */
122
- var colsByPinArr = [];
123
- /** @type {?} */
124
- var colsByPin = columnsByPin(val);
125
- colsByPinArr.push({ type: 'left', columns: colsByPin['left'] });
126
- colsByPinArr.push({ type: 'center', columns: colsByPin['center'] });
127
- colsByPinArr.push({ type: 'right', columns: colsByPin['right'] });
128
- return colsByPinArr;
129
- }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN3aW1sYW5lL25neC1kYXRhdGFibGUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFHQSxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVc7OztRQUNoQyxHQUFHLEdBQTJDO1FBQ2xELElBQUksRUFBRSxFQUFFO1FBQ1IsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsRUFBRTtLQUNWO0lBRUQsSUFBSSxJQUFJLEVBQUU7O1lBQ1IsS0FBa0IsSUFBQSxTQUFBLGlCQUFBLElBQUksQ0FBQSwwQkFBQSw0Q0FBRTtnQkFBbkIsSUFBTSxHQUFHLGlCQUFBO2dCQUNaLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRTtvQkFDbEIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3BCO3FCQUFNLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTtvQkFDMUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN0QjthQUNGOzs7Ozs7Ozs7S0FDRjtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQzs7Ozs7OztBQUtELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFXLEVBQUUsR0FBUTtJQUNyRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbkMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDdkMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDekMsQ0FBQztBQUNKLENBQUM7Ozs7Ozs7QUFLRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsT0FBYyxFQUFFLElBQWE7OztRQUN4RCxVQUFVLEdBQUcsQ0FBQztJQUVsQixJQUFJLE9BQU8sRUFBRTs7WUFDWCxLQUFnQixJQUFBLFlBQUEsaUJBQUEsT0FBTyxDQUFBLGdDQUFBLHFEQUFFO2dCQUFwQixJQUFNLENBQUMsb0JBQUE7O29CQUNKLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQzs7b0JBQ3JCLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQ3JDLFVBQVUsR0FBRyxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdDOzs7Ozs7Ozs7S0FDRjtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7Ozs7Ozs7QUFLRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsT0FBWSxFQUFFLElBQVU7OztRQUNwRCxVQUFVLEdBQUcsQ0FBQzs7UUFFbEIsS0FBcUIsSUFBQSxZQUFBLGlCQUFBLE9BQU8sQ0FBQSxnQ0FBQSxxREFBRTtZQUF6QixJQUFNLE1BQU0sb0JBQUE7O2dCQUNULEdBQUcsR0FBRyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQztZQUNoQyxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvRDs7Ozs7Ozs7O0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEdBQVE7O1FBQ2hDLFlBQVksR0FBRyxFQUFFOztRQUNqQixTQUFTLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQztJQUVuQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVsRSxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm5zIHRoZSBjb2x1bW5zIGJ5IHBpbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbHVtbnNCeVBpbihjb2xzOiBhbnlbXSkge1xuICBjb25zdCByZXQ6IHsgbGVmdDogYW55OyBjZW50ZXI6IGFueTsgcmlnaHQ6IGFueSB9ID0ge1xuICAgIGxlZnQ6IFtdLFxuICAgIGNlbnRlcjogW10sXG4gICAgcmlnaHQ6IFtdXG4gIH07XG5cbiAgaWYgKGNvbHMpIHtcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2xzKSB7XG4gICAgICBpZiAoY29sLmZyb3plbkxlZnQpIHtcbiAgICAgICAgcmV0LmxlZnQucHVzaChjb2wpO1xuICAgICAgfSBlbHNlIGlmIChjb2wuZnJvemVuUmlnaHQpIHtcbiAgICAgICAgcmV0LnJpZ2h0LnB1c2goY29sKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldC5jZW50ZXIucHVzaChjb2wpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXQ7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgd2lkdGhzIG9mIGFsbCBncm91cCBzZXRzIG9mIGEgY29sdW1uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb2x1bW5Hcm91cFdpZHRocyhncm91cHM6IGFueSwgYWxsOiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICBsZWZ0OiBjb2x1bW5Ub3RhbFdpZHRoKGdyb3Vwcy5sZWZ0KSxcbiAgICBjZW50ZXI6IGNvbHVtblRvdGFsV2lkdGgoZ3JvdXBzLmNlbnRlciksXG4gICAgcmlnaHQ6IGNvbHVtblRvdGFsV2lkdGgoZ3JvdXBzLnJpZ2h0KSxcbiAgICB0b3RhbDogTWF0aC5mbG9vcihjb2x1bW5Ub3RhbFdpZHRoKGFsbCkpXG4gIH07XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgdG90YWwgd2lkdGggb2YgYWxsIGNvbHVtbnMgYW5kIHRoZWlyIGdyb3Vwc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29sdW1uVG90YWxXaWR0aChjb2x1bW5zOiBhbnlbXSwgcHJvcD86IHN0cmluZykge1xuICBsZXQgdG90YWxXaWR0aCA9IDA7XG5cbiAgaWYgKGNvbHVtbnMpIHtcbiAgICBmb3IgKGNvbnN0IGMgb2YgY29sdW1ucykge1xuICAgICAgY29uc3QgaGFzID0gcHJvcCAmJiBjW3Byb3BdO1xuICAgICAgY29uc3Qgd2lkdGggPSBoYXMgPyBjW3Byb3BdIDogYy53aWR0aDtcbiAgICAgIHRvdGFsV2lkdGggPSB0b3RhbFdpZHRoICsgcGFyc2VGbG9hdCh3aWR0aCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRvdGFsV2lkdGg7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgdG90YWwgd2lkdGggb2YgYWxsIGNvbHVtbnMgYW5kIHRoZWlyIGdyb3Vwc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29sdW1uc1RvdGFsV2lkdGgoY29sdW1uczogYW55LCBwcm9wPzogYW55KSB7XG4gIGxldCB0b3RhbFdpZHRoID0gMDtcblxuICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XG4gICAgY29uc3QgaGFzID0gcHJvcCAmJiBjb2x1bW5bcHJvcF07XG4gICAgdG90YWxXaWR0aCA9IHRvdGFsV2lkdGggKyAoaGFzID8gY29sdW1uW3Byb3BdIDogY29sdW1uLndpZHRoKTtcbiAgfVxuXG4gIHJldHVybiB0b3RhbFdpZHRoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29sdW1uc0J5UGluQXJyKHZhbDogYW55KSB7XG4gIGNvbnN0IGNvbHNCeVBpbkFyciA9IFtdO1xuICBjb25zdCBjb2xzQnlQaW4gPSBjb2x1bW5zQnlQaW4odmFsKTtcblxuICBjb2xzQnlQaW5BcnIucHVzaCh7IHR5cGU6ICdsZWZ0JywgY29sdW1uczogY29sc0J5UGluWydsZWZ0J10gfSk7XG4gIGNvbHNCeVBpbkFyci5wdXNoKHsgdHlwZTogJ2NlbnRlcicsIGNvbHVtbnM6IGNvbHNCeVBpblsnY2VudGVyJ10gfSk7XG4gIGNvbHNCeVBpbkFyci5wdXNoKHsgdHlwZTogJ3JpZ2h0JywgY29sdW1uczogY29sc0J5UGluWydyaWdodCddIH0pO1xuXG4gIHJldHVybiBjb2xzQnlQaW5BcnI7XG59XG4iXX0=
@@ -1,50 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- if (typeof document !== 'undefined' && !document.elementsFromPoint) {
6
- document.elementsFromPoint = elementsFromPoint;
7
- }
8
- /*tslint:disable*/
9
- /**
10
- * Polyfill for `elementsFromPoint`
11
- *
12
- * https://developer.mozilla.org/en-US/docs/Web/API/Document/elementsFromPoint
13
- * https://gist.github.com/iddan/54d5d9e58311b0495a91bf06de661380
14
- * https://gist.github.com/oslego/7265412
15
- * @param {?} x
16
- * @param {?} y
17
- * @return {?}
18
- */
19
- export function elementsFromPoint(x, y) {
20
- /** @type {?} */
21
- var elements = [];
22
- /** @type {?} */
23
- var previousPointerEvents = [];
24
- /** @type {?} */
25
- var current;
26
- // TODO: window.getComputedStyle should be used with inferred type (Element)
27
- /** @type {?} */
28
- var i;
29
- /** @type {?} */
30
- var d;
31
- //if (document === undefined) return elements;
32
- // get all elements via elementFromPoint, and remove them from hit-testing in order
33
- while ((current = document.elementFromPoint(x, y)) && elements.indexOf(current) === -1 && current != null) {
34
- // push the element and its current style
35
- elements.push(current);
36
- previousPointerEvents.push({
37
- value: current.style.getPropertyValue('pointer-events'),
38
- priority: current.style.getPropertyPriority('pointer-events')
39
- });
40
- // add "pointer-events: none", to get to the underlying element
41
- current.style.setProperty('pointer-events', 'none', 'important');
42
- }
43
- // restore the previous pointer-events values
44
- for (i = previousPointerEvents.length; (d = previousPointerEvents[--i]);) {
45
- elements[i].style.setProperty('pointer-events', d.value ? d.value : '', d.priority);
46
- }
47
- // return our results
48
- return elements;
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxtLWZyb20tcG9pbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3dpbWxhbmUvbmd4LWRhdGF0YWJsZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9lbG0tZnJvbS1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUU7SUFDbEUsUUFBUSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0NBQ2hEOzs7Ozs7Ozs7Ozs7QUFVRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsQ0FBUyxFQUFFLENBQVM7O1FBQzlDLFFBQVEsR0FBRyxFQUFFOztRQUNiLHFCQUFxQixHQUFHLEVBQUU7O1FBQzVCLE9BQVk7OztRQUNaLENBQUM7O1FBQ0QsQ0FBQztJQUVMLDhDQUE4QztJQUU5QyxtRkFBbUY7SUFDbkYsT0FBTyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1FBQ3pHLHlDQUF5QztRQUN6QyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUN6QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN2RCxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQztTQUM5RCxDQUFDLENBQUM7UUFFSCwrREFBK0Q7UUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0tBQ2xFO0lBRUQsNkNBQTZDO0lBQzdDLEtBQUssQ0FBQyxHQUFHLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUk7UUFDekUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUNyRjtJQUVELHFCQUFxQjtJQUNyQixPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgIWRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KSB7XG4gIGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50ID0gZWxlbWVudHNGcm9tUG9pbnQ7XG59XG5cbi8qdHNsaW50OmRpc2FibGUqL1xuLyoqXG4gKiBQb2x5ZmlsbCBmb3IgYGVsZW1lbnRzRnJvbVBvaW50YFxuICpcbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9Eb2N1bWVudC9lbGVtZW50c0Zyb21Qb2ludFxuICogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vaWRkYW4vNTRkNWQ5ZTU4MzExYjA0OTVhOTFiZjA2ZGU2NjEzODBcbiAqIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL29zbGVnby83MjY1NDEyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbGVtZW50c0Zyb21Qb2ludCh4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICBjb25zdCBlbGVtZW50cyA9IFtdO1xuICBjb25zdCBwcmV2aW91c1BvaW50ZXJFdmVudHMgPSBbXTtcbiAgbGV0IGN1cnJlbnQ6IGFueTsgLy8gVE9ETzogd2luZG93LmdldENvbXB1dGVkU3R5bGUgc2hvdWxkIGJlIHVzZWQgd2l0aCBpbmZlcnJlZCB0eXBlIChFbGVtZW50KVxuICBsZXQgaTtcbiAgbGV0IGQ7XG5cbiAgLy9pZiAoZG9jdW1lbnQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGVsZW1lbnRzO1xuXG4gIC8vIGdldCBhbGwgZWxlbWVudHMgdmlhIGVsZW1lbnRGcm9tUG9pbnQsIGFuZCByZW1vdmUgdGhlbSBmcm9tIGhpdC10ZXN0aW5nIGluIG9yZGVyXG4gIHdoaWxlICgoY3VycmVudCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoeCwgeSkpICYmIGVsZW1lbnRzLmluZGV4T2YoY3VycmVudCkgPT09IC0xICYmIGN1cnJlbnQgIT0gbnVsbCkge1xuICAgIC8vIHB1c2ggdGhlIGVsZW1lbnQgYW5kIGl0cyBjdXJyZW50IHN0eWxlXG4gICAgZWxlbWVudHMucHVzaChjdXJyZW50KTtcbiAgICBwcmV2aW91c1BvaW50ZXJFdmVudHMucHVzaCh7XG4gICAgICB2YWx1ZTogY3VycmVudC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwb2ludGVyLWV2ZW50cycpLFxuICAgICAgcHJpb3JpdHk6IGN1cnJlbnQuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgncG9pbnRlci1ldmVudHMnKVxuICAgIH0pO1xuXG4gICAgLy8gYWRkIFwicG9pbnRlci1ldmVudHM6IG5vbmVcIiwgdG8gZ2V0IHRvIHRoZSB1bmRlcmx5aW5nIGVsZW1lbnRcbiAgICBjdXJyZW50LnN0eWxlLnNldFByb3BlcnR5KCdwb2ludGVyLWV2ZW50cycsICdub25lJywgJ2ltcG9ydGFudCcpO1xuICB9XG5cbiAgLy8gcmVzdG9yZSB0aGUgcHJldmlvdXMgcG9pbnRlci1ldmVudHMgdmFsdWVzXG4gIGZvciAoaSA9IHByZXZpb3VzUG9pbnRlckV2ZW50cy5sZW5ndGg7IChkID0gcHJldmlvdXNQb2ludGVyRXZlbnRzWy0taV0pOyApIHtcbiAgICBlbGVtZW50c1tpXS5zdHlsZS5zZXRQcm9wZXJ0eSgncG9pbnRlci1ldmVudHMnLCBkLnZhbHVlID8gZC52YWx1ZSA6ICcnLCBkLnByaW9yaXR5KTtcbiAgfVxuXG4gIC8vIHJldHVybiBvdXIgcmVzdWx0c1xuICByZXR1cm4gZWxlbWVudHM7XG59XG4vKnRzbGludDplbmFibGUqL1xuIl19
@@ -1,13 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * Creates a unique object id.
7
- * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js
8
- * @return {?}
9
- */
10
- export function id() {
11
- return ('0000' + ((Math.random() * Math.pow(36, 4)) << 0).toString(36)).slice(-4);
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3dpbWxhbmUvbmd4LWRhdGF0YWJsZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQSxNQUFNLFVBQVUsRUFBRTtJQUNoQixPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVzIGEgdW5pcXVlIG9iamVjdCBpZC5cbiAqIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNjI0ODY2Ni9ob3ctdG8tZ2VuZXJhdGUtc2hvcnQtdWlkLWxpa2UtYXg0ajl6LWluLWpzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpZCgpIHtcbiAgcmV0dXJuICgnMDAwMCcgKyAoKE1hdGgucmFuZG9tKCkgKiBNYXRoLnBvdygzNiwgNCkpIDw8IDApLnRvU3RyaW5nKDM2KSkuc2xpY2UoLTQpO1xufVxuIl19
@@ -1,21 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /** @enum {number} */
6
- var Keys = {
7
- up: 38,
8
- down: 40,
9
- return: 13,
10
- escape: 27,
11
- left: 37,
12
- right: 39,
13
- };
14
- export { Keys };
15
- Keys[Keys.up] = 'up';
16
- Keys[Keys.down] = 'down';
17
- Keys[Keys.return] = 'return';
18
- Keys[Keys.escape] = 'escape';
19
- Keys[Keys.left] = 'left';
20
- Keys[Keys.right] = 'right';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2tleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQ0UsTUFBTztJQUNQLFFBQVM7SUFDVCxVQUFXO0lBQ1gsVUFBVztJQUNYLFFBQVM7SUFDVCxTQUFVIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gS2V5cyB7XG4gIHVwID0gMzgsXG4gIGRvd24gPSA0MCxcbiAgcmV0dXJuID0gMTMsXG4gIGVzY2FwZSA9IDI3LFxuICBsZWZ0ID0gMzcsXG4gIHJpZ2h0ID0gMzlcbn1cbiJdfQ==