@swimlane/ngx-datatable 20.0.0 → 20.1.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 (133) hide show
  1. package/esm2020/lib/components/body/body-cell.component.mjs +432 -0
  2. package/esm2020/lib/components/body/body-group-header-template.directive.mjs +16 -0
  3. package/esm2020/lib/components/body/body-group-header.directive.mjs +62 -0
  4. package/esm2020/lib/components/body/body-row-wrapper.component.mjs +140 -0
  5. package/esm2020/lib/components/body/body-row.component.mjs +262 -0
  6. package/esm2020/lib/components/body/body.component.mjs +863 -0
  7. package/esm2020/lib/components/body/progress-bar.component.mjs +27 -0
  8. package/esm2020/lib/components/body/scroller.component.mjs +91 -0
  9. package/esm2020/lib/components/body/selection.component.mjs +150 -0
  10. package/esm2020/lib/components/body/summary/summary-row.component.mjs +105 -0
  11. package/esm2020/lib/components/columns/column-cell.directive.mjs +14 -0
  12. package/esm2020/lib/components/columns/column-header.directive.mjs +14 -0
  13. package/esm2020/lib/components/columns/column.directive.mjs +98 -0
  14. package/esm2020/lib/components/columns/tree.directive.mjs +14 -0
  15. package/esm2020/lib/components/datatable.component.mjs +1008 -0
  16. package/esm2020/lib/components/footer/footer-template.directive.mjs +14 -0
  17. package/esm2020/lib/components/footer/footer.component.mjs +128 -0
  18. package/esm2020/lib/components/footer/footer.directive.mjs +35 -0
  19. package/esm2020/lib/components/footer/pager.component.mjs +181 -0
  20. package/esm2020/lib/components/header/header-cell.component.mjs +243 -0
  21. package/esm2020/lib/components/header/header.component.mjs +376 -0
  22. package/esm2020/lib/components/row-detail/row-detail-template.directive.mjs +16 -0
  23. package/esm2020/lib/components/row-detail/row-detail.directive.mjs +63 -0
  24. package/esm2020/lib/directives/draggable.directive.mjs +108 -0
  25. package/esm2020/lib/directives/long-press.directive.mjs +117 -0
  26. package/esm2020/lib/directives/orderable.directive.mjs +136 -0
  27. package/esm2020/lib/directives/resizeable.directive.mjs +93 -0
  28. package/esm2020/lib/directives/visibility.directive.mjs +63 -0
  29. package/{esm2015/lib/events.js → esm2020/lib/events.mjs} +0 -0
  30. package/esm2020/lib/ngx-datatable.module.mjs +139 -0
  31. package/esm2020/lib/services/column-changes.service.mjs +24 -0
  32. package/esm2020/lib/services/dimensions-helper.service.mjs +17 -0
  33. package/esm2020/lib/services/scrollbar-helper.service.mjs +37 -0
  34. package/{esm2015/lib/types/click.type.js → esm2020/lib/types/click.type.mjs} +0 -0
  35. package/{esm2015/lib/types/column-mode.type.js → esm2020/lib/types/column-mode.type.mjs} +0 -0
  36. package/{esm2015/lib/types/contextmenu.type.js → esm2020/lib/types/contextmenu.type.mjs} +0 -0
  37. package/{esm2015/lib/types/selection.type.js → esm2020/lib/types/selection.type.mjs} +0 -0
  38. package/{esm2015/lib/types/sort-direction.type.js → esm2020/lib/types/sort-direction.type.mjs} +0 -0
  39. package/{esm2015/lib/types/sort-prop-dir.type.js → esm2020/lib/types/sort-prop-dir.type.mjs} +0 -0
  40. package/{esm2015/lib/types/sort.type.js → esm2020/lib/types/sort.type.mjs} +0 -0
  41. package/{esm2015/lib/types/table-column.type.js → esm2020/lib/types/table-column.type.mjs} +0 -0
  42. package/{esm2015/lib/utils/camel-case.js → esm2020/lib/utils/camel-case.mjs} +0 -0
  43. package/{esm2015/lib/utils/column-helper.js → esm2020/lib/utils/column-helper.mjs} +0 -0
  44. package/{esm2015/lib/utils/column-prop-getters.js → esm2020/lib/utils/column-prop-getters.mjs} +0 -0
  45. package/{esm2015/lib/utils/column.js → esm2020/lib/utils/column.mjs} +0 -0
  46. package/{esm2015/lib/utils/elm-from-point.js → esm2020/lib/utils/elm-from-point.mjs} +0 -0
  47. package/{esm2015/lib/utils/id.js → esm2020/lib/utils/id.mjs} +0 -0
  48. package/{esm2015/lib/utils/keys.js → esm2020/lib/utils/keys.mjs} +0 -0
  49. package/{esm2015/lib/utils/math.js → esm2020/lib/utils/math.mjs} +0 -0
  50. package/esm2020/lib/utils/prefixes.mjs +38 -0
  51. package/{esm2015/lib/utils/row-height-cache.js → esm2020/lib/utils/row-height-cache.mjs} +0 -0
  52. package/{esm2015/lib/utils/selection.js → esm2020/lib/utils/selection.mjs} +0 -0
  53. package/{esm2015/lib/utils/sort.js → esm2020/lib/utils/sort.mjs} +0 -0
  54. package/{esm2015/lib/utils/throttle.js → esm2020/lib/utils/throttle.mjs} +0 -0
  55. package/{esm2015/lib/utils/translate.js → esm2020/lib/utils/translate.mjs} +0 -0
  56. package/{esm2015/lib/utils/tree.js → esm2020/lib/utils/tree.mjs} +0 -0
  57. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  58. package/{esm2015/swimlane-ngx-datatable.js → esm2020/swimlane-ngx-datatable.mjs} +0 -0
  59. package/fesm2015/{swimlane-ngx-datatable.js → swimlane-ngx-datatable.mjs} +4105 -3344
  60. package/fesm2015/swimlane-ngx-datatable.mjs.map +1 -0
  61. package/fesm2020/swimlane-ngx-datatable.mjs +5974 -0
  62. package/fesm2020/swimlane-ngx-datatable.mjs.map +1 -0
  63. package/lib/components/body/body-cell.component.d.ts +3 -0
  64. package/lib/components/body/body-group-header-template.directive.d.ts +3 -0
  65. package/lib/components/body/body-group-header.directive.d.ts +3 -0
  66. package/lib/components/body/body-row-wrapper.component.d.ts +3 -0
  67. package/lib/components/body/body-row.component.d.ts +3 -0
  68. package/lib/components/body/body.component.d.ts +3 -0
  69. package/lib/components/body/progress-bar.component.d.ts +3 -0
  70. package/lib/components/body/scroller.component.d.ts +3 -0
  71. package/lib/components/body/selection.component.d.ts +3 -0
  72. package/lib/components/body/summary/summary-row.component.d.ts +3 -0
  73. package/lib/components/columns/column-cell.directive.d.ts +3 -0
  74. package/lib/components/columns/column-header.directive.d.ts +3 -0
  75. package/lib/components/columns/column.directive.d.ts +3 -0
  76. package/lib/components/columns/tree.directive.d.ts +3 -0
  77. package/lib/components/datatable.component.d.ts +3 -0
  78. package/lib/components/footer/footer-template.directive.d.ts +3 -0
  79. package/lib/components/footer/footer.component.d.ts +3 -0
  80. package/lib/components/footer/footer.directive.d.ts +3 -0
  81. package/lib/components/footer/pager.component.d.ts +3 -0
  82. package/lib/components/header/header-cell.component.d.ts +3 -0
  83. package/lib/components/header/header.component.d.ts +3 -0
  84. package/lib/components/row-detail/row-detail-template.directive.d.ts +3 -0
  85. package/lib/components/row-detail/row-detail.directive.d.ts +3 -0
  86. package/lib/directives/draggable.directive.d.ts +3 -0
  87. package/lib/directives/long-press.directive.d.ts +3 -0
  88. package/lib/directives/orderable.directive.d.ts +3 -0
  89. package/lib/directives/resizeable.directive.d.ts +3 -0
  90. package/lib/directives/visibility.directive.d.ts +3 -0
  91. package/lib/ngx-datatable.module.d.ts +33 -0
  92. package/lib/services/column-changes.service.d.ts +4 -1
  93. package/lib/services/dimensions-helper.service.d.ts +3 -0
  94. package/lib/services/scrollbar-helper.service.d.ts +3 -0
  95. package/package.json +20 -8
  96. package/swimlane-ngx-datatable.d.ts +1 -0
  97. package/bundles/swimlane-ngx-datatable.umd.js +0 -5900
  98. package/bundles/swimlane-ngx-datatable.umd.js.map +0 -1
  99. package/esm2015/lib/components/body/body-cell.component.js +0 -361
  100. package/esm2015/lib/components/body/body-group-header-template.directive.js +0 -15
  101. package/esm2015/lib/components/body/body-group-header.directive.js +0 -54
  102. package/esm2015/lib/components/body/body-row-wrapper.component.js +0 -106
  103. package/esm2015/lib/components/body/body-row.component.js +0 -213
  104. package/esm2015/lib/components/body/body.component.js +0 -716
  105. package/esm2015/lib/components/body/progress-bar.component.js +0 -17
  106. package/esm2015/lib/components/body/scroller.component.js +0 -83
  107. package/esm2015/lib/components/body/selection.component.js +0 -140
  108. package/esm2015/lib/components/body/summary/summary-row.component.js +0 -81
  109. package/esm2015/lib/components/columns/column-cell.directive.js +0 -13
  110. package/esm2015/lib/components/columns/column-header.directive.js +0 -13
  111. package/esm2015/lib/components/columns/column.directive.js +0 -65
  112. package/esm2015/lib/components/columns/tree.directive.js +0 -13
  113. package/esm2015/lib/components/datatable.component.js +0 -925
  114. package/esm2015/lib/components/footer/footer-template.directive.js +0 -13
  115. package/esm2015/lib/components/footer/footer.component.js +0 -75
  116. package/esm2015/lib/components/footer/footer.directive.js +0 -22
  117. package/esm2015/lib/components/footer/pager.component.js +0 -136
  118. package/esm2015/lib/components/header/header-cell.component.js +0 -191
  119. package/esm2015/lib/components/header/header.component.js +0 -297
  120. package/esm2015/lib/components/row-detail/row-detail-template.directive.js +0 -15
  121. package/esm2015/lib/components/row-detail/row-detail.directive.js +0 -55
  122. package/esm2015/lib/directives/draggable.directive.js +0 -102
  123. package/esm2015/lib/directives/long-press.directive.js +0 -103
  124. package/esm2015/lib/directives/orderable.directive.js +0 -131
  125. package/esm2015/lib/directives/resizeable.directive.js +0 -89
  126. package/esm2015/lib/directives/visibility.directive.js +0 -62
  127. package/esm2015/lib/ngx-datatable.module.js +0 -96
  128. package/esm2015/lib/services/column-changes.service.js +0 -21
  129. package/esm2015/lib/services/dimensions-helper.service.js +0 -14
  130. package/esm2015/lib/services/scrollbar-helper.service.js +0 -34
  131. package/esm2015/lib/utils/prefixes.js +0 -40
  132. package/fesm2015/swimlane-ngx-datatable.js.map +0 -1
  133. package/swimlane-ngx-datatable.metadata.json +0 -1
@@ -0,0 +1,24 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * service to make DatatableComponent aware of changes to
6
+ * input bindings of DataTableColumnDirective
7
+ */
8
+ export class ColumnChangesService {
9
+ constructor() {
10
+ this.columnInputChanges = new Subject();
11
+ }
12
+ get columnInputChanges$() {
13
+ return this.columnInputChanges.asObservable();
14
+ }
15
+ onInputChange() {
16
+ this.columnInputChanges.next();
17
+ }
18
+ }
19
+ ColumnChangesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ColumnChangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20
+ ColumnChangesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ColumnChangesService });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ColumnChangesService, decorators: [{
22
+ type: Injectable
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNoYW5nZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N3aW1sYW5lL25neC1kYXRhdGFibGUvc3JjL2xpYi9zZXJ2aWNlcy9jb2x1bW4tY2hhbmdlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFM0M7OztHQUdHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVVLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0FTbEQ7SUFQQyxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDOztpSEFUVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogc2VydmljZSB0byBtYWtlIERhdGF0YWJsZUNvbXBvbmVudCBhd2FyZSBvZiBjaGFuZ2VzIHRvXG4gKiBpbnB1dCBiaW5kaW5ncyBvZiBEYXRhVGFibGVDb2x1bW5EaXJlY3RpdmVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbHVtbkNoYW5nZXNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb2x1bW5JbnB1dENoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGdldCBjb2x1bW5JbnB1dENoYW5nZXMkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbklucHV0Q2hhbmdlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5JbnB1dENoYW5nZXMubmV4dCgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Gets the width of the scrollbar. Nesc for windows
5
+ * http://stackoverflow.com/a/13382873/888165
6
+ */
7
+ export class DimensionsHelper {
8
+ getDimensions(element) {
9
+ return element.getBoundingClientRect();
10
+ }
11
+ }
12
+ DimensionsHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DimensionsHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
+ DimensionsHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DimensionsHelper });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DimensionsHelper, decorators: [{
15
+ type: Injectable
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltZW5zaW9ucy1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N3aW1sYW5lL25neC1kYXRhdGFibGUvc3JjL2xpYi9zZXJ2aWNlcy9kaW1lbnNpb25zLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRW5EOzs7R0FHRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsYUFBYSxDQUFDLE9BQWdCO1FBQzVCLE9BQU8sT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDekMsQ0FBQzs7NkdBSFUsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEdldHMgdGhlIHdpZHRoIG9mIHRoZSBzY3JvbGxiYXIuICBOZXNjIGZvciB3aW5kb3dzXG4gKiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMzM4Mjg3My84ODgxNjVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpbWVuc2lvbnNIZWxwZXIge1xuICBnZXREaW1lbnNpb25zKGVsZW1lbnQ6IEVsZW1lbnQpOiBDbGllbnRSZWN0IHtcbiAgICByZXR1cm4gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,37 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Gets the width of the scrollbar. Nesc for windows
6
+ * http://stackoverflow.com/a/13382873/888165
7
+ */
8
+ export class ScrollbarHelper {
9
+ constructor(document) {
10
+ this.document = document;
11
+ this.width = this.getWidth();
12
+ }
13
+ getWidth() {
14
+ const outer = this.document.createElement('div');
15
+ outer.style.visibility = 'hidden';
16
+ outer.style.width = '100px';
17
+ outer.style.msOverflowStyle = 'scrollbar';
18
+ this.document.body.appendChild(outer);
19
+ const widthNoScroll = outer.offsetWidth;
20
+ outer.style.overflow = 'scroll';
21
+ const inner = this.document.createElement('div');
22
+ inner.style.width = '100%';
23
+ outer.appendChild(inner);
24
+ const widthWithScroll = inner.offsetWidth;
25
+ outer.parentNode.removeChild(outer);
26
+ return widthNoScroll - widthWithScroll;
27
+ }
28
+ }
29
+ ScrollbarHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ScrollbarHelper, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ ScrollbarHelper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ScrollbarHelper });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ScrollbarHelper, decorators: [{
32
+ type: Injectable
33
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
34
+ type: Inject,
35
+ args: [DOCUMENT]
36
+ }] }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3dpbWxhbmUvbmd4LWRhdGF0YWJsZS9zcmMvbGliL3NlcnZpY2VzL3Njcm9sbGJhci1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTNDOzs7R0FHRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQXNDLFFBQWE7UUFBYixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBRm5ELFVBQUssR0FBVyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFc0IsQ0FBQztJQUV2RCxRQUFRO1FBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUM1QixLQUFLLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDeEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRWhDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUMzQixLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpCLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsT0FBTyxhQUFhLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLENBQUM7OzRHQXZCVSxlQUFlLGtCQUdOLFFBQVE7Z0hBSGpCLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBSUksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogR2V0cyB0aGUgd2lkdGggb2YgdGhlIHNjcm9sbGJhci4gIE5lc2MgZm9yIHdpbmRvd3NcbiAqIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzEzMzgyODczLzg4ODE2NVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2Nyb2xsYmFySGVscGVyIHtcbiAgd2lkdGg6IG51bWJlciA9IHRoaXMuZ2V0V2lkdGgoKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnkpIHt9XG5cbiAgZ2V0V2lkdGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBvdXRlciA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgb3V0ZXIuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgIG91dGVyLnN0eWxlLndpZHRoID0gJzEwMHB4JztcbiAgICBvdXRlci5zdHlsZS5tc092ZXJmbG93U3R5bGUgPSAnc2Nyb2xsYmFyJztcbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob3V0ZXIpO1xuXG4gICAgY29uc3Qgd2lkdGhOb1Njcm9sbCA9IG91dGVyLm9mZnNldFdpZHRoO1xuICAgIG91dGVyLnN0eWxlLm92ZXJmbG93ID0gJ3Njcm9sbCc7XG5cbiAgICBjb25zdCBpbm5lciA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgaW5uZXIuc3R5bGUud2lkdGggPSAnMTAwJSc7XG4gICAgb3V0ZXIuYXBwZW5kQ2hpbGQoaW5uZXIpO1xuXG4gICAgY29uc3Qgd2lkdGhXaXRoU2Nyb2xsID0gaW5uZXIub2Zmc2V0V2lkdGg7XG4gICAgb3V0ZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvdXRlcik7XG5cbiAgICByZXR1cm4gd2lkdGhOb1Njcm9sbCAtIHdpZHRoV2l0aFNjcm9sbDtcbiAgfVxufVxuIl19
@@ -0,0 +1,38 @@
1
+ import { camelCase } from './camel-case';
2
+ const cache = {};
3
+ const testStyle = typeof document !== 'undefined' ? document.createElement('div').style : undefined;
4
+ // Get Prefix
5
+ // http://davidwalsh.name/vendor-prefix
6
+ const prefix = (function () {
7
+ const styles = typeof window !== 'undefined' ? window.getComputedStyle(document.documentElement, '') : undefined;
8
+ const match = typeof styles !== 'undefined'
9
+ ? Array.prototype.slice
10
+ .call(styles)
11
+ .join('')
12
+ .match(/-(moz|webkit|ms)-/)
13
+ : null;
14
+ const pre = match !== null ? match[1] : undefined;
15
+ // tslint:disable-next-line: tsr-detect-non-literal-regexp
16
+ const dom = typeof pre !== 'undefined' ? 'WebKit|Moz|MS|O'.match(new RegExp('(' + pre + ')', 'i'))[1] : undefined;
17
+ return dom
18
+ ? {
19
+ dom,
20
+ lowercase: pre,
21
+ css: `-${pre}-`,
22
+ js: pre[0].toUpperCase() + pre.substr(1)
23
+ }
24
+ : undefined;
25
+ })();
26
+ export function getVendorPrefixedName(property) {
27
+ const name = camelCase(property);
28
+ if (!cache[name]) {
29
+ if (prefix !== undefined && testStyle[prefix.css + property] !== undefined) {
30
+ cache[name] = prefix.css + property;
31
+ }
32
+ else if (testStyle[property] !== undefined) {
33
+ cache[name] = property;
34
+ }
35
+ }
36
+ return cache[name];
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZml4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zd2ltbGFuZS9uZ3gtZGF0YXRhYmxlL3NyYy9saWIvdXRpbHMvcHJlZml4ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDakIsTUFBTSxTQUFTLEdBQUcsT0FBTyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBRXBHLGFBQWE7QUFDYix1Q0FBdUM7QUFDdkMsTUFBTSxNQUFNLEdBQUcsQ0FBQztJQUNkLE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNqSCxNQUFNLEtBQUssR0FDVCxPQUFPLE1BQU0sS0FBSyxXQUFXO1FBQzNCLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUs7YUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNaLElBQUksQ0FBQyxFQUFFLENBQUM7YUFDUixLQUFLLENBQUMsbUJBQW1CLENBQUM7UUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLE1BQU0sR0FBRyxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2xELDBEQUEwRDtJQUMxRCxNQUFNLEdBQUcsR0FBRyxPQUFPLEdBQUcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFbEgsT0FBTyxHQUFHO1FBQ1IsQ0FBQyxDQUFDO1lBQ0UsR0FBRztZQUNILFNBQVMsRUFBRSxHQUFHO1lBQ2QsR0FBRyxFQUFFLElBQUksR0FBRyxHQUFHO1lBQ2YsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN6QztRQUNILENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDaEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUVMLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNoQixJQUFJLE1BQU0sS0FBSyxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQzFFLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQztTQUNyQzthQUFNLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUM1QyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1NBQ3hCO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FtZWxDYXNlIH0gZnJvbSAnLi9jYW1lbC1jYXNlJztcblxuY29uc3QgY2FjaGUgPSB7fTtcbmNvbnN0IHRlc3RTdHlsZSA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKS5zdHlsZSA6IHVuZGVmaW5lZDtcblxuLy8gR2V0IFByZWZpeFxuLy8gaHR0cDovL2Rhdmlkd2Fsc2gubmFtZS92ZW5kb3ItcHJlZml4XG5jb25zdCBwcmVmaXggPSAoZnVuY3Rpb24gKCkge1xuICBjb25zdCBzdHlsZXMgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgJycpIDogdW5kZWZpbmVkO1xuICBjb25zdCBtYXRjaCA9XG4gICAgdHlwZW9mIHN0eWxlcyAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgID8gQXJyYXkucHJvdG90eXBlLnNsaWNlXG4gICAgICAgICAgLmNhbGwoc3R5bGVzKVxuICAgICAgICAgIC5qb2luKCcnKVxuICAgICAgICAgIC5tYXRjaCgvLShtb3p8d2Via2l0fG1zKS0vKVxuICAgICAgOiBudWxsO1xuICBjb25zdCBwcmUgPSBtYXRjaCAhPT0gbnVsbCA/IG1hdGNoWzFdIDogdW5kZWZpbmVkO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHRzci1kZXRlY3Qtbm9uLWxpdGVyYWwtcmVnZXhwXG4gIGNvbnN0IGRvbSA9IHR5cGVvZiBwcmUgIT09ICd1bmRlZmluZWQnID8gJ1dlYktpdHxNb3p8TVN8TycubWF0Y2gobmV3IFJlZ0V4cCgnKCcgKyBwcmUgKyAnKScsICdpJykpWzFdIDogdW5kZWZpbmVkO1xuXG4gIHJldHVybiBkb21cbiAgICA/IHtcbiAgICAgICAgZG9tLFxuICAgICAgICBsb3dlcmNhc2U6IHByZSxcbiAgICAgICAgY3NzOiBgLSR7cHJlfS1gLFxuICAgICAgICBqczogcHJlWzBdLnRvVXBwZXJDYXNlKCkgKyBwcmUuc3Vic3RyKDEpXG4gICAgICB9XG4gICAgOiB1bmRlZmluZWQ7XG59KSgpO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVuZG9yUHJlZml4ZWROYW1lKHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgY29uc3QgbmFtZSA9IGNhbWVsQ2FzZShwcm9wZXJ0eSk7XG5cbiAgaWYgKCFjYWNoZVtuYW1lXSkge1xuICAgIGlmIChwcmVmaXggIT09IHVuZGVmaW5lZCAmJiB0ZXN0U3R5bGVbcHJlZml4LmNzcyArIHByb3BlcnR5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjYWNoZVtuYW1lXSA9IHByZWZpeC5jc3MgKyBwcm9wZXJ0eTtcbiAgICB9IGVsc2UgaWYgKHRlc3RTdHlsZVtwcm9wZXJ0eV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2FjaGVbbmFtZV0gPSBwcm9wZXJ0eTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FjaGVbbmFtZV07XG59XG4iXX0=