@progress/kendo-vue-pdf 3.5.0-dev.202208020811 → 3.5.1-dev.202208110751

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 (42) hide show
  1. package/dist/cdn/js/kendo-vue-pdf.js +1 -1
  2. package/dist/es/KendoDrawingAdapter.js +1 -1
  3. package/dist/es/PDFExportProps.js +1 -0
  4. package/dist/es/PageTemplateProps.js +1 -0
  5. package/dist/es/grid/export-element.js +1 -1
  6. package/dist/es/grid/grid-query.js +3 -3
  7. package/dist/es/package-metadata.js +1 -1
  8. package/dist/esm/KendoDrawingAdapter.d.ts +20 -0
  9. package/dist/esm/KendoDrawingAdapter.js +110 -0
  10. package/dist/esm/PDFExport.d.ts +15 -0
  11. package/dist/esm/PDFExport.js +73 -0
  12. package/dist/esm/PDFExportProps.d.ts +146 -0
  13. package/dist/esm/PDFExportProps.js +1 -0
  14. package/dist/esm/PageTemplateProps.d.ts +14 -0
  15. package/dist/esm/PageTemplateProps.js +1 -0
  16. package/dist/esm/additionalTypes.ts +21 -0
  17. package/dist/esm/grid/GridPDFExport.d.ts +37 -0
  18. package/dist/esm/grid/GridPDFExport.js +78 -0
  19. package/dist/esm/grid/dom-queries.d.ts +44 -0
  20. package/dist/esm/grid/dom-queries.js +123 -0
  21. package/dist/esm/grid/export-element.d.ts +4 -0
  22. package/dist/esm/grid/export-element.js +78 -0
  23. package/dist/esm/grid/grid-query.d.ts +22 -0
  24. package/dist/esm/grid/grid-query.js +37 -0
  25. package/dist/esm/grid/provideSaveGridPDF.d.ts +5 -0
  26. package/dist/esm/grid/provideSaveGridPDF.js +134 -0
  27. package/dist/esm/main.d.ts +6 -0
  28. package/dist/esm/main.js +11 -0
  29. package/dist/esm/package-metadata.d.ts +5 -0
  30. package/dist/esm/package-metadata.js +11 -0
  31. package/dist/esm/package.json +3 -0
  32. package/dist/esm/savePDF.d.ts +9 -0
  33. package/dist/esm/savePDF.js +14 -0
  34. package/dist/npm/KendoDrawingAdapter.js +1 -1
  35. package/dist/npm/PDFExport.js +2 -2
  36. package/dist/npm/grid/GridPDFExport.js +3 -3
  37. package/dist/npm/grid/dom-queries.js +29 -18
  38. package/dist/npm/grid/export-element.js +3 -2
  39. package/dist/npm/grid/grid-query.js +8 -8
  40. package/dist/npm/grid/provideSaveGridPDF.js +1 -1
  41. package/dist/npm/package-metadata.js +1 -1
  42. package/package.json +8 -2
@@ -0,0 +1,37 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { PDFExportProps } from '../PDFExportProps';
7
+ export interface GridPDFExportProps extends PDFExportProps {
8
+ }
9
+ /**
10
+ * @hidden
11
+ */
12
+ export interface GridPDFExportMethods extends Vue2type {
13
+ save: (data?: any[], callback?: () => void) => void;
14
+ getSavePDF: () => any;
15
+ }
16
+ /**
17
+ * @hidden
18
+ */
19
+ export interface GridPDFExportState {
20
+ saveGridPDF: any;
21
+ gridComponent: any;
22
+ v3: boolean;
23
+ }
24
+ /**
25
+ * @hidden
26
+ */
27
+ export interface GridPDFExportAll extends GridPDFExportMethods, GridPDFExportState {
28
+ }
29
+ /**
30
+ * @hidden
31
+ */
32
+ declare let GridPdfExportVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<GridPDFExportAll>, {}, RecordPropsDefinition<GridPDFExportProps>>;
33
+ /**
34
+ * @hidden
35
+ */
36
+ declare const GridPdfExport: DefineComponent<GridPDFExportProps, any, {}, {}, GridPDFExportMethods, {}, {}, {}, string, GridPDFExportProps, GridPDFExportProps, {}>;
37
+ export { GridPdfExport, GridPdfExportVue2 };
@@ -0,0 +1,78 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { savePDF } from '../savePDF.js';
7
+ import { provideSaveGridPDF } from './provideSaveGridPDF.js';
8
+ import { getDefaultSlots } from '@progress/kendo-vue-common';
9
+ /**
10
+ * @hidden
11
+ */
12
+
13
+ var GridPdfExportVue2 = {
14
+ name: 'grid-pdf-export',
15
+ props: {
16
+ author: String,
17
+ avoidLinks: [Boolean, String],
18
+ forcePageBreak: String,
19
+ keepTogether: String,
20
+ creator: String,
21
+ date: Date,
22
+ imageResolution: Number,
23
+ fileName: String,
24
+ forceProxy: Boolean,
25
+ keywords: String,
26
+ landscape: Boolean,
27
+ margin: [String, Object],
28
+ pageTemplate: [Object, Function],
29
+ paperSize: [String, Object],
30
+ repeatHeaders: Boolean,
31
+ scale: Number,
32
+ proxyData: Object,
33
+ proxyURL: String,
34
+ proxyTarget: String,
35
+ producer: String,
36
+ subject: String,
37
+ title: String
38
+ },
39
+ created: function created() {
40
+ this.saveGridPDF = provideSaveGridPDF(this.getSavePDF());
41
+ },
42
+ methods: {
43
+ save: function save(data, callback) {
44
+ var defaultSlot = getDefaultSlots(this); // @ts-ignore
45
+
46
+ var gridSlot = defaultSlot.filter(function (child) {
47
+ return child && child.tag && child.tag.toLowerCase().indexOf('grid') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('grid') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('grid') !== -1;
48
+ });
49
+
50
+ if (gridSlot.length) {
51
+ this.gridComponent = this.v3 ? gridSlot[0] : gridSlot[0].componentInstance;
52
+ this.saveGridPDF(this.gridComponent, this.$props, callback, data, this.v3);
53
+ }
54
+ },
55
+ getSavePDF: function getSavePDF() {
56
+ return savePDF;
57
+ }
58
+ },
59
+ // @ts-ignore
60
+ setup: !isV3 ? undefined : function () {
61
+ var v3 = !!isV3;
62
+ return {
63
+ v3: v3
64
+ };
65
+ },
66
+ // @ts-ignore
67
+ render: function render(createElement) {
68
+ var h = gh || createElement;
69
+ var defaultSlot = getDefaultSlots(this);
70
+ return h("div", [defaultSlot]);
71
+ }
72
+ };
73
+ /**
74
+ * @hidden
75
+ */
76
+
77
+ var GridPdfExport = GridPdfExportVue2;
78
+ export { GridPdfExport, GridPdfExportVue2 };
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare const hasClasses: (element: HTMLElement, classNames: string) => boolean;
5
+ /**
6
+ * @hidden
7
+ */
8
+ export declare const matchesClasses: (classNames: string) => (element: HTMLElement) => boolean;
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const matchesNodeName: (nodeName: string) => any;
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare const closest: (node: any, predicate: any) => any;
17
+ /**
18
+ * @hidden
19
+ */
20
+ export declare const closestInScope: (node: any, predicate: any, scope: any) => any;
21
+ /**
22
+ * @hidden
23
+ */
24
+ export declare const contains: (parent: any, node: any, matchSelf?: boolean) => boolean;
25
+ /**
26
+ * @hidden
27
+ */
28
+ export declare const isVisible: (element: any) => boolean;
29
+ /**
30
+ * @hidden
31
+ */
32
+ export declare const isFocusable: (element: any, checkVisibility?: boolean) => boolean;
33
+ /**
34
+ * @hidden
35
+ */
36
+ export declare const findElement: (node: any, predicate: (element: any) => boolean, matchSelf?: boolean) => any;
37
+ /**
38
+ * @hidden
39
+ */
40
+ export declare const findFocusable: (element: any, checkVisibility?: boolean) => any;
41
+ /**
42
+ * @hidden
43
+ */
44
+ export declare const findFocusableChild: (element: any, checkVisibility?: boolean) => any;
@@ -0,0 +1,123 @@
1
+ var focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;
2
+ var NODE_NAME_PREDICATES = {};
3
+ var toClassList = function (classNames) { return String(classNames).trim().split(' '); };
4
+ /**
5
+ * @hidden
6
+ */
7
+ export var hasClasses = function (element, classNames) {
8
+ var namesList = toClassList(classNames);
9
+ return Boolean(toClassList(element.className).find(function (className) { return namesList.indexOf(className) >= 0; }));
10
+ };
11
+ /**
12
+ * @hidden
13
+ */
14
+ export var matchesClasses = function (classNames) {
15
+ return function (element) { return hasClasses(element, classNames); };
16
+ };
17
+ /**
18
+ * @hidden
19
+ */
20
+ export var matchesNodeName = function (nodeName) {
21
+ if (!NODE_NAME_PREDICATES[nodeName]) {
22
+ NODE_NAME_PREDICATES[nodeName] = function (element) {
23
+ return String(element.nodeName).toLowerCase() === nodeName.toLowerCase();
24
+ };
25
+ }
26
+ return NODE_NAME_PREDICATES[nodeName];
27
+ };
28
+ /**
29
+ * @hidden
30
+ */
31
+ export var closest = function (node, predicate) {
32
+ while (node && !predicate(node)) {
33
+ node = node.parentNode;
34
+ }
35
+ return node;
36
+ };
37
+ /**
38
+ * @hidden
39
+ */
40
+ export var closestInScope = function (node, predicate, scope) {
41
+ while (node && node !== scope && !predicate(node)) {
42
+ node = node.parentNode;
43
+ }
44
+ if (node !== scope) {
45
+ return node;
46
+ }
47
+ };
48
+ /**
49
+ * @hidden
50
+ */
51
+ export var contains = function (parent, node, matchSelf) {
52
+ if (matchSelf === void 0) { matchSelf = false; }
53
+ var outside = !closest(node, function (child) { return child === parent; });
54
+ if (outside) {
55
+ return false;
56
+ }
57
+ var el = closest(node, function (child) { return child === node; });
58
+ return el && (matchSelf || el !== parent);
59
+ };
60
+ /**
61
+ * @hidden
62
+ */
63
+ export var isVisible = function (element) {
64
+ var rect = element.getBoundingClientRect();
65
+ var hasSize = rect.width > 0 && rect.height > 0;
66
+ var hasPosition = rect.x !== 0 && rect.y !== 0;
67
+ // Elements can have zero size due to styling, but they should still count as visible.
68
+ // For example, the selection checkbox has no size, but is made visible through styling.
69
+ return (hasSize || hasPosition) && window.getComputedStyle(element).visibility !== 'hidden';
70
+ };
71
+ /**
72
+ * @hidden
73
+ */
74
+ export var isFocusable = function (element, checkVisibility) {
75
+ if (checkVisibility === void 0) { checkVisibility = true; }
76
+ if (element.tagName) {
77
+ var tagName = element.tagName.toLowerCase();
78
+ var tabIndex = element.getAttribute('tabIndex');
79
+ var skipTab = tabIndex === '-1';
80
+ var focusable = tabIndex !== null && !skipTab;
81
+ if (focusableRegex.test(tagName)) {
82
+ focusable = !element.disabled && !skipTab;
83
+ }
84
+ return focusable && (!checkVisibility || isVisible(element));
85
+ }
86
+ return false;
87
+ };
88
+ /**
89
+ * @hidden
90
+ */
91
+ export var findElement = function (node, predicate, matchSelf) {
92
+ if (matchSelf === void 0) { matchSelf = true; }
93
+ if (!node) {
94
+ return;
95
+ }
96
+ if (matchSelf && predicate(node)) {
97
+ return node;
98
+ }
99
+ node = node.firstChild;
100
+ while (node) {
101
+ if (node.nodeType === 1) {
102
+ var element = findElement(node, predicate);
103
+ if (element) {
104
+ return element;
105
+ }
106
+ }
107
+ node = node.nextSibling;
108
+ }
109
+ };
110
+ /**
111
+ * @hidden
112
+ */
113
+ export var findFocusable = function (element, checkVisibility) {
114
+ if (checkVisibility === void 0) { checkVisibility = true; }
115
+ return findElement(element, function (node) { return isFocusable(node, checkVisibility); });
116
+ };
117
+ /**
118
+ * @hidden
119
+ */
120
+ export var findFocusableChild = function (element, checkVisibility) {
121
+ if (checkVisibility === void 0) { checkVisibility = true; }
122
+ return findElement(element, function (node) { return isFocusable(node, checkVisibility); }, false);
123
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare const exportElement: (wrapper: HTMLElement) => HTMLElement;
@@ -0,0 +1,78 @@
1
+ import { GridQuery, HEADER_CLASS, FOOTER_CLASS } from './grid-query.js';
2
+ var FIRST_CLASS = 'k-first';
3
+ var appendNodes = function (element, nodes) {
4
+ var length = nodes.length;
5
+ for (var idx = 0; idx < length; idx++) {
6
+ element.appendChild(nodes[idx].cloneNode(true));
7
+ }
8
+ };
9
+ var wrapTable = function (table) {
10
+ var wrapper = document.createElement('div');
11
+ wrapper.className = 'k-widget k-grid';
12
+ wrapper.appendChild(table);
13
+ return wrapper;
14
+ };
15
+ var createTableElement = function (sources) {
16
+ var sourceCount = sources.length;
17
+ var element = sources[0].cloneNode(true);
18
+ var rowsCount = element.rows.length;
19
+ if (sourceCount > 1) {
20
+ for (var rowIdx = 0; rowIdx < rowsCount; rowIdx++) {
21
+ for (var sourceIdx = 1; sourceIdx < sourceCount; sourceIdx++) {
22
+ appendNodes(element.rows[rowIdx], sources[sourceIdx].rows[rowIdx].cells);
23
+ }
24
+ }
25
+ }
26
+ return element;
27
+ };
28
+ var setFirstCellClass = function (header, headers) {
29
+ if (headers.length > 1 && header.rows.length > 1) {
30
+ for (var idx = 1; idx < header.rows.length; idx++) {
31
+ var firstCellIndex = headers[0].rows[idx].cells.length;
32
+ var cell = header.rows[idx].cells[firstCellIndex];
33
+ if (String(cell.className).indexOf(FIRST_CLASS) === -1) {
34
+ cell.className += " ".concat(FIRST_CLASS);
35
+ }
36
+ }
37
+ }
38
+ };
39
+ var createTable = function (colGroups, headers, bodies, footers) {
40
+ var table = document.createElement('table');
41
+ var colGroup = colGroups[0].cloneNode(true);
42
+ for (var idx = 1; idx < colGroups.length; idx++) {
43
+ appendNodes(colGroup, colGroups[idx].querySelectorAll('col'));
44
+ }
45
+ var header = createTableElement(headers);
46
+ var body = createTableElement(bodies);
47
+ header.className = HEADER_CLASS;
48
+ setFirstCellClass(header, headers);
49
+ table.appendChild(colGroup);
50
+ table.appendChild(header);
51
+ table.appendChild(body);
52
+ if (footers.length) {
53
+ var footer = createTableElement(footers);
54
+ footer.className = FOOTER_CLASS;
55
+ table.appendChild(footer);
56
+ }
57
+ return wrapTable(table);
58
+ };
59
+ /**
60
+ * @hidden
61
+ */
62
+ export var exportElement = function (wrapper) {
63
+ var query = new GridQuery(wrapper);
64
+ var content = query.content();
65
+ var result;
66
+ if (content) {
67
+ var colGroups = [content.querySelector('colgroup')];
68
+ var headers = [query.header().querySelector('thead')];
69
+ var bodies = [content.querySelector('tbody')];
70
+ var footer = query.footer();
71
+ var footers = footer ? [footer.querySelector('tfoot')] : [];
72
+ result = createTable(colGroups, headers, bodies, footers);
73
+ }
74
+ else {
75
+ result = wrapTable(query.table().cloneNode(true));
76
+ }
77
+ return result;
78
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare const HEADER_CLASS: string;
5
+ /**
6
+ * @hidden
7
+ */
8
+ export declare const FOOTER_CLASS: string;
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare class GridQuery {
13
+ private element;
14
+ private headerWrap;
15
+ private list;
16
+ private footerWrap;
17
+ constructor(element: HTMLElement);
18
+ content(locked?: boolean): Element;
19
+ header(locked?: boolean): Element;
20
+ footer(locked?: boolean): Element;
21
+ table(): Node;
22
+ }
@@ -0,0 +1,37 @@
1
+ import { matchesClasses, matchesNodeName, findElement } from './dom-queries.js';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export var HEADER_CLASS = 'k-grid-header';
6
+ /**
7
+ * @hidden
8
+ */
9
+ export var FOOTER_CLASS = 'k-grid-footer';
10
+ var TABLE = 'TABLE';
11
+ var matchesTable = matchesNodeName(TABLE);
12
+ var suffix = function (locked) { return locked ? 'locked' : 'wrap'; };
13
+ /**
14
+ * @hidden
15
+ */
16
+ var GridQuery = /** @class */ (function () {
17
+ function GridQuery(element) {
18
+ this.element = element;
19
+ this.list = findElement(element, matchesClasses("k-grid-container"));
20
+ }
21
+ GridQuery.prototype.content = function (locked) {
22
+ return findElement(this.list, matchesClasses("k-grid-content".concat(locked ? '-locked' : '')));
23
+ };
24
+ GridQuery.prototype.header = function (locked) {
25
+ this.headerWrap = this.headerWrap || findElement(this.element, matchesClasses(HEADER_CLASS));
26
+ return findElement(this.headerWrap, matchesClasses("".concat(HEADER_CLASS, "-").concat(suffix(locked))));
27
+ };
28
+ GridQuery.prototype.footer = function (locked) {
29
+ this.footerWrap = this.footerWrap || findElement(this.element, matchesClasses(FOOTER_CLASS));
30
+ return findElement(this.footerWrap, matchesClasses("".concat(FOOTER_CLASS, "-").concat(suffix(locked))));
31
+ };
32
+ GridQuery.prototype.table = function () {
33
+ return findElement(this.element, matchesTable);
34
+ };
35
+ return GridQuery;
36
+ }());
37
+ export { GridQuery };
@@ -0,0 +1,5 @@
1
+ import { PDFExportProps } from '../PDFExportProps';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export declare function provideSaveGridPDF(savePDF: (domElement: HTMLElement, options?: PDFExportProps, callback?: () => void) => void): (grid: any, pdfExportOptions?: PDFExportProps, callback?: () => void, data?: any, columns?: any) => void;
@@ -0,0 +1,134 @@
1
+ var __assign = this && this.__assign || function () {
2
+ __assign = Object.assign || function (t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+
6
+ for (var p in s) {
7
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ }
10
+
11
+ return t;
12
+ };
13
+
14
+ return __assign.apply(this, arguments);
15
+ }; // @ts-ignore
16
+
17
+
18
+ import * as Vue from 'vue';
19
+ import { canUseDOM } from '@progress/kendo-vue-common';
20
+ var allVue = Vue;
21
+ var h = allVue.h;
22
+ var createApp = allVue.createApp;
23
+ import { exportElement } from './export-element.js';
24
+ /**
25
+ * @hidden
26
+ */
27
+
28
+ export function provideSaveGridPDF(savePDF) {
29
+ return function (grid, pdfExportOptions, callback, data, columns) {
30
+ if (pdfExportOptions === void 0) {
31
+ pdfExportOptions = {};
32
+ }
33
+
34
+ return saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, columns);
35
+ };
36
+ }
37
+
38
+ function saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, v3) {
39
+ if (pdfExportOptions === void 0) {
40
+ pdfExportOptions = {};
41
+ }
42
+
43
+ renderGrid();
44
+ var gridOuterWrapper;
45
+ var gridInnerWrapper;
46
+ var finalContainer;
47
+ var gridInstance;
48
+
49
+ function renderGrid() {
50
+ if (!canUseDOM) {
51
+ return;
52
+ }
53
+
54
+ gridOuterWrapper = document.createElement('div');
55
+ gridOuterWrapper.setAttribute('style', 'position:absolute; left: -5000px; top: 0px;');
56
+ gridInnerWrapper = document.createElement('div');
57
+ gridOuterWrapper.appendChild(gridInnerWrapper);
58
+ document.body.appendChild(gridOuterWrapper);
59
+ var customDataProps = data && {
60
+ dataItems: data,
61
+ total: data.length,
62
+ pageSize: data.length,
63
+ skip: 0
64
+ };
65
+
66
+ if (v3) {
67
+ var gridForPdf = {
68
+ render: function render() {
69
+ return h(grid.type, __assign(__assign({}, grid.props), customDataProps), grid.children);
70
+ },
71
+ store: grid.$store,
72
+ mounted: function mounted() {
73
+ // @ts-ignore
74
+ if (this.$el.style) {
75
+ // @ts-ignore
76
+ this.$el.style.width = '1000px';
77
+ }
78
+
79
+ onGridRendered.call(this);
80
+ }
81
+ };
82
+ gridInstance = createApp(gridForPdf);
83
+ gridInstance.mount(gridInnerWrapper);
84
+ } else {
85
+ var gridConstructor = Object.getPrototypeOf(grid).constructor;
86
+ gridInstance = new gridConstructor({
87
+ propsData: Object.assign({}, grid.$props, customDataProps),
88
+ store: grid.$store,
89
+ mounted: function mounted() {
90
+ if (gridInstance.$el.style) {
91
+ gridInstance.$el.style.width = '1000px';
92
+ }
93
+
94
+ onGridRendered.call(gridInstance);
95
+ }
96
+ });
97
+ gridInstance.$slots = grid.$slots;
98
+ gridInstance.$scopedSlots = grid.$scopedSlots;
99
+ gridInstance.$mount(gridInnerWrapper);
100
+ }
101
+ }
102
+
103
+ function onGridRendered() {
104
+ savePDF(prepareFinalElementForExport.call(this), pdfExportOptions, cleanUpAndInvokeCallback);
105
+ }
106
+
107
+ function cleanUpAndInvokeCallback() {
108
+ if (gridInstance.unmount) {
109
+ gridInstance.unmount();
110
+ } else {
111
+ gridInstance.$destroy();
112
+ }
113
+
114
+ document.body.removeChild(gridOuterWrapper);
115
+ document.body.removeChild(finalContainer);
116
+ gridOuterWrapper = finalContainer = undefined;
117
+
118
+ if (callback) {
119
+ callback();
120
+ }
121
+ }
122
+
123
+ function prepareFinalElementForExport() {
124
+ /* Ultimatelly, there is no need for double DOM-copying of the grid.
125
+ The one in this method is a copied Angular implementation
126
+ that has been plugged almost seemlessly. */
127
+ finalContainer = document.createElement('div');
128
+ finalContainer.className = 'k-grid-pdf-export-element';
129
+ var result = exportElement(this.$el);
130
+ finalContainer.appendChild(result);
131
+ document.body.appendChild(finalContainer);
132
+ return result;
133
+ }
134
+ }
@@ -0,0 +1,6 @@
1
+ import { PDFExport, PDFExportVue2 } from './PDFExport';
2
+ import { PDFExportProps } from './PDFExportProps';
3
+ import { PageTemplateProps } from './PageTemplateProps';
4
+ import { savePDF } from './savePDF';
5
+ import { GridPdfExport, GridPdfExportVue2, GridPDFExportProps } from './grid/GridPDFExport';
6
+ export { PDFExport, PDFExportVue2, PDFExportProps, PageTemplateProps, savePDF, GridPdfExport, GridPdfExportVue2, GridPDFExportProps };
@@ -0,0 +1,11 @@
1
+ import { PDFExport, PDFExportVue2 } from './PDFExport.js';
2
+ // import { PDFMargin, PDFMarginProps } from './PDFMargin.js';
3
+ import { savePDF } from './savePDF.js';
4
+ import { GridPdfExport, GridPdfExportVue2 } from './grid/GridPDFExport.js';
5
+ export { PDFExport, PDFExportVue2, savePDF, GridPdfExport, GridPdfExportVue2 };
6
+ // Automatic installation if Vue has been added to the global scope.
7
+ var vue = 'Vue';
8
+ if (typeof window !== 'undefined' && window[vue] && window[vue].component) {
9
+ window[vue].component('kendo-pdf-export', PDFExport);
10
+ window[vue].component('kendo-grid-pdf-export', GridPdfExport);
11
+ }
@@ -0,0 +1,5 @@
1
+ import { PackageMetadata } from '@progress/kendo-licensing';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export declare const packageMetadata: PackageMetadata;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export var packageMetadata = {
5
+ name: '@progress/kendo-vue-pdf',
6
+ productName: 'Kendo UI for Vue',
7
+ productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
+ publishDate: 1660203609,
9
+ version: '',
10
+ licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
11
+ };
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,9 @@
1
+ import { PDFExportProps } from './PDFExportProps';
2
+ /**
3
+ * Saves the content of a DOM element to a PDF file.
4
+ *
5
+ * @param domElement - The root DOM element to save to a PDF file.
6
+ * @param options - The export options.
7
+ * @param callback - The callback to be executed after the PDF is saved.
8
+ */
9
+ export declare function savePDF(domElement: HTMLElement, options?: PDFExportProps, callback?: () => void): void;
@@ -0,0 +1,14 @@
1
+ import { drawDOM, exportPDF } from '@progress/kendo-drawing';
2
+ import { saveAs } from '@progress/kendo-file-saver';
3
+ import KendoDrawingAdapter from './KendoDrawingAdapter.js';
4
+ /**
5
+ * Saves the content of a DOM element to a PDF file.
6
+ *
7
+ * @param domElement - The root DOM element to save to a PDF file.
8
+ * @param options - The export options.
9
+ * @param callback - The callback to be executed after the PDF is saved.
10
+ */
11
+ export function savePDF(domElement, options, callback) {
12
+ if (options === void 0) { options = {}; }
13
+ new KendoDrawingAdapter(drawDOM, exportPDF, saveAs, domElement, options).savePDF(callback);
14
+ }
@@ -13,8 +13,8 @@ var defaultCreator = 'Kendo UI PDF Generator';
13
13
  */
14
14
  var KendoDrawingAdapter = /** @class */ (function () {
15
15
  function KendoDrawingAdapter(drawDOM, exportPDF, saveAs, domElement, options) {
16
- var _this = this;
17
16
  if (options === void 0) { options = {}; }
17
+ var _this = this;
18
18
  this.drawDOM = drawDOM;
19
19
  this.exportPDF = exportPDF;
20
20
  this.saveAs = saveAs;
@@ -65,12 +65,12 @@ var PDFExportVue2 = {
65
65
  };
66
66
  },
67
67
  created: function created() {
68
- kendo_vue_common_1.validatePackage(package_metadata_1.packageMetadata);
68
+ (0, kendo_vue_common_1.validatePackage)(package_metadata_1.packageMetadata);
69
69
  },
70
70
  // @ts-ignore
71
71
  render: function render(createElement) {
72
72
  var h = gh || createElement;
73
- var defaultSlot = kendo_vue_common_1.getDefaultSlots(this);
73
+ var defaultSlot = (0, kendo_vue_common_1.getDefaultSlots)(this);
74
74
  return h("div", [defaultSlot]);
75
75
  } // To do: we should consider whether we need a margin-top, margin-left, etc. props
76
76
  // private getOptions() {