@progress/kendo-react-pdf 6.1.1 → 7.0.0-develop.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/{dist/npm/KendoDrawingAdapter.d.ts → KendoDrawingAdapter.d.ts} +4 -0
  2. package/LICENSE.md +1 -1
  3. package/{dist/npm/PDFExport.d.ts → PDFExport.d.ts} +5 -1
  4. package/{dist/es/PDFExportProps.d.ts → PDFExportProps.d.ts} +4 -1
  5. package/{dist/npm/PDFMargin.d.ts → PDFMargin.d.ts} +4 -0
  6. package/PageTemplateProps.d.ts +17 -0
  7. package/{dist/npm/common → common}/dom-queries.d.ts +4 -0
  8. package/{dist/npm/common → common}/table-query.d.ts +4 -0
  9. package/{dist/es/common → common}/utils.d.ts +4 -0
  10. package/dist/cdn/js/kendo-react-pdf.js +8 -1
  11. package/getPageMargin.d.ts +10 -0
  12. package/{dist/npm/grid → grid}/GridPDFExport.d.ts +4 -0
  13. package/grid/export-element.d.ts +8 -0
  14. package/{dist/es/grid → grid}/grid-query.d.ts +4 -0
  15. package/grid/provideSaveGridPDF.d.ts +9 -0
  16. package/index.d.ts +14 -0
  17. package/index.js +8 -0
  18. package/index.mjs +486 -0
  19. package/package-metadata.d.ts +9 -0
  20. package/package.json +28 -35
  21. package/{dist/npm/savePDF.d.ts → savePDF.d.ts} +4 -0
  22. package/{dist/es/treelist → treelist}/TreeListPDFExport.d.ts +4 -0
  23. package/treelist/export-element.d.ts +8 -0
  24. package/treelist/provideSaveTreeListPDF.d.ts +9 -0
  25. package/about.md +0 -3
  26. package/dist/es/KendoDrawingAdapter.d.ts +0 -20
  27. package/dist/es/KendoDrawingAdapter.js +0 -72
  28. package/dist/es/PDFExport.d.ts +0 -53
  29. package/dist/es/PDFExport.js +0 -95
  30. package/dist/es/PDFExportProps.js +0 -2
  31. package/dist/es/PDFMargin.d.ts +0 -67
  32. package/dist/es/PDFMargin.js +0 -37
  33. package/dist/es/PageTemplateProps.d.ts +0 -13
  34. package/dist/es/PageTemplateProps.js +0 -1
  35. package/dist/es/common/dom-queries.d.ts +0 -44
  36. package/dist/es/common/dom-queries.js +0 -123
  37. package/dist/es/common/table-query.d.ts +0 -22
  38. package/dist/es/common/table-query.js +0 -36
  39. package/dist/es/common/utils.js +0 -74
  40. package/dist/es/getPageMargin.d.ts +0 -6
  41. package/dist/es/getPageMargin.js +0 -25
  42. package/dist/es/grid/GridPDFExport.d.ts +0 -66
  43. package/dist/es/grid/GridPDFExport.js +0 -97
  44. package/dist/es/grid/export-element.d.ts +0 -4
  45. package/dist/es/grid/export-element.js +0 -22
  46. package/dist/es/grid/grid-query.js +0 -37
  47. package/dist/es/grid/provideSaveGridPDF.d.ts +0 -5
  48. package/dist/es/grid/provideSaveGridPDF.js +0 -69
  49. package/dist/es/main.d.ts +0 -10
  50. package/dist/es/main.js +0 -8
  51. package/dist/es/package-metadata.d.ts +0 -5
  52. package/dist/es/package-metadata.js +0 -11
  53. package/dist/es/savePDF.d.ts +0 -9
  54. package/dist/es/savePDF.js +0 -14
  55. package/dist/es/treelist/TreeListPDFExport.js +0 -93
  56. package/dist/es/treelist/export-element.d.ts +0 -4
  57. package/dist/es/treelist/export-element.js +0 -27
  58. package/dist/es/treelist/provideSaveTreeListPDF.d.ts +0 -5
  59. package/dist/es/treelist/provideSaveTreeListPDF.js +0 -62
  60. package/dist/npm/KendoDrawingAdapter.js +0 -74
  61. package/dist/npm/PDFExport.js +0 -98
  62. package/dist/npm/PDFExportProps.d.ts +0 -124
  63. package/dist/npm/PDFExportProps.js +0 -3
  64. package/dist/npm/PDFMargin.js +0 -40
  65. package/dist/npm/PageTemplateProps.d.ts +0 -13
  66. package/dist/npm/PageTemplateProps.js +0 -2
  67. package/dist/npm/common/dom-queries.js +0 -137
  68. package/dist/npm/common/table-query.js +0 -39
  69. package/dist/npm/common/utils.d.ts +0 -20
  70. package/dist/npm/common/utils.js +0 -82
  71. package/dist/npm/getPageMargin.d.ts +0 -6
  72. package/dist/npm/getPageMargin.js +0 -29
  73. package/dist/npm/grid/GridPDFExport.js +0 -100
  74. package/dist/npm/grid/export-element.d.ts +0 -4
  75. package/dist/npm/grid/export-element.js +0 -26
  76. package/dist/npm/grid/grid-query.d.ts +0 -22
  77. package/dist/npm/grid/grid-query.js +0 -40
  78. package/dist/npm/grid/provideSaveGridPDF.d.ts +0 -5
  79. package/dist/npm/grid/provideSaveGridPDF.js +0 -73
  80. package/dist/npm/main.d.ts +0 -10
  81. package/dist/npm/main.js +0 -17
  82. package/dist/npm/package-metadata.d.ts +0 -5
  83. package/dist/npm/package-metadata.js +0 -14
  84. package/dist/npm/savePDF.js +0 -18
  85. package/dist/npm/treelist/TreeListPDFExport.d.ts +0 -71
  86. package/dist/npm/treelist/TreeListPDFExport.js +0 -96
  87. package/dist/npm/treelist/export-element.d.ts +0 -4
  88. package/dist/npm/treelist/export-element.js +0 -31
  89. package/dist/npm/treelist/provideSaveTreeListPDF.d.ts +0 -5
  90. package/dist/npm/treelist/provideSaveTreeListPDF.js +0 -66
  91. package/dist/systemjs/kendo-react-pdf.js +0 -1
  92. package/e2e-next/basic.tests.ts +0 -23
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  import { DrawOptions, Group } from '@progress/kendo-drawing';
2
6
  import { PDFOptions } from '@progress/kendo-drawing/pdf';
3
7
  import { SaveOptions } from '@progress/kendo-file-saver';
package/LICENSE.md CHANGED
@@ -8,4 +8,4 @@ This is commercial software. To use it, you need to agree to the [**End User Lic
8
8
 
9
9
  All available KendoReact commercial licenses may be obtained at the [KendoReact website](https://www.telerik.com/kendo-react-ui/pricing).
10
10
 
11
- *Copyright © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
11
+ *Copyright © 2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  import * as React from 'react';
2
6
  import * as PropTypes from 'prop-types';
3
7
  import { PDFExportProps } from './PDFExportProps';
@@ -42,7 +46,7 @@ export declare class PDFExport extends React.Component<PDFExportProps, {}> {
42
46
  /**
43
47
  * @hidden
44
48
  */
45
- render(): JSX.Element;
49
+ render(): import("react/jsx-runtime").JSX.Element;
46
50
  /**
47
51
  * Saves the content as a PDF file.
48
52
  *
@@ -1,4 +1,7 @@
1
- /// <reference types="react" />
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
2
5
  import { PaperSize, PageMargin } from '@progress/kendo-drawing/pdf';
3
6
  /**
4
7
  * Represents the props of the KendoReact PDFExport component.
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  import * as React from 'react';
2
6
  import * as PropTypes from 'prop-types';
3
7
  /**
@@ -0,0 +1,17 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Represents the props of a page template component that can be added to the PDFExport component.
7
+ */
8
+ export interface PageTemplateProps {
9
+ /**
10
+ * The number of the current page.
11
+ */
12
+ pageNum: number;
13
+ /**
14
+ * The total number of pages.
15
+ */
16
+ totalPages: number;
17
+ }
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  /**
2
6
  * @hidden
3
7
  */
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  /**
2
6
  * @hidden
3
7
  */
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  /**
2
6
  * @hidden
3
7
  */
@@ -1 +1,8 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types"),require("@progress/kendo-drawing"),require("react-dom/server"),require("@progress/kendo-licensing"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","prop-types","@progress/kendo-drawing","react-dom/server","@progress/kendo-licensing","react-dom"],t):"object"==typeof exports?exports.KendoReactPdf=t(require("react"),require("prop-types"),require("@progress/kendo-drawing"),require("react-dom/server"),require("@progress/kendo-licensing"),require("react-dom")):e.KendoReactPdf=t(e.React,e.PropTypes,e.KendoDrawing,e.ReactDOMServer,e.KendoLicensing,e.ReactDOM)}(self,(function(e,t,r,n,o,i){return(()=>{"use strict";var a={765:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(899),o=r(209),i=function(){function e(e,t,r,i,a){void 0===a&&(a={});var s=this;this.drawDOM=e,this.exportPDF=t,this.saveAs=r,this.domElement=i,this.options=a,this.convertPageTemplateToHtml=function(e){var t=o.renderToStaticMarkup(n.createElement(s.options.pageTemplate,{pageNum:e.pageNum,totalPages:e.totalPages}));return"<span>".concat(t,"</span>")}}return e.prototype.savePDF=function(e){var t=this,r=this.drawDOM(this.domElement,this.getDrawOptions()).then((function(e){return t.exportPDF(e,t.getPDFOptions())})).then((function(e){return t.saveAs(e,t.options.fileName||"export.pdf",t.getSaveOptions())}));e&&r.then(e,e)},e.prototype.getDrawOptions=function(){return{avoidLinks:this.options.avoidLinks,forcePageBreak:this.options.forcePageBreak,keepTogether:this.options.keepTogether,margin:this.options.margin,paperSize:this.options.paperSize,landscape:this.options.landscape,repeatHeaders:this.options.repeatHeaders,scale:this.options.scale,template:this.options.pageTemplate&&this.convertPageTemplateToHtml}},e.prototype.getPDFOptions=function(){return{author:this.options.author,creator:this.options.creator||"KendoReact PDF Generator",date:this.options.date,imgDPI:this.options.imageResolution,keywords:this.options.keywords,landscape:this.options.landscape,margin:this.options.margin,multiPage:!0,paperSize:this.options.paperSize,producer:this.options.producer,subject:this.options.subject,title:this.options.title}},e.prototype.getSaveOptions=function(){return{forceProxy:this.options.forceProxy,proxyData:this.options.proxyData,proxyTarget:this.options.proxyTarget,proxyURL:this.options.proxyURL}},e}();t.default=i},981:function(e,t,r){var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.PDFExport=void 0;var i=r(899),a=r(189),s=r(407),p=r(202),c=r(567),u=r(765),l=r(302),d=r(363),f=function(e){function t(t){var r=e.call(this,t)||this;if(r.rootElForPDF=null,void 0!==l)l.validatePackage(d.packageMetadata);else{var n="License activation failed for ".concat(d.packageMetadata.name,"\n");n+="The @progress/kendo-licensing script is not loaded.\n",n+="See ".concat(d.packageMetadata.licensingDocsUrl," for more information.\n"),console.warn(n)}return r}return o(t,e),t.prototype.render=function(){var e=this;return i.createElement("div",{ref:function(t){e.rootElForPDF=t}},this.props.children)},t.prototype.save=function(e){new u.default(s.drawDOM,s.exportPDF,p.saveAs,this.rootElForPDF,this.getOptions()).savePDF(e)},t.prototype.getOptions=function(){return Object.assign({},this.props,{margin:(0,c.getPageMargin)(this.props)})},t.propTypes={author:a.string,avoidLinks:a.oneOfType([a.bool,a.string]),forcePageBreak:a.string,keepTogether:a.string,creator:a.string,date:a.instanceOf(Date),imageResolution:a.number,fileName:a.string,forceProxy:a.bool,keywords:a.string,landscape:a.bool,margin:a.oneOfType([a.string,a.number,a.shape({left:a.oneOfType([a.number,a.string]),top:a.oneOfType([a.number,a.string]),right:a.oneOfType([a.number,a.string]),bottom:a.oneOfType([a.number,a.string])})]),pageTemplate:a.any,paperSize:a.any,repeatHeaders:a.bool,scale:a.number,proxyData:a.any,proxyURL:a.string,proxyTarget:a.string,producer:a.string,subject:a.string,title:a.string},t}(i.Component);t.PDFExport=f},398:function(e,t,r){var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.PDFMargin=void 0;var i=r(899),a=r(189),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t.prototype.render=function(){return null},t.propTypes={left:a.oneOfType([a.number,a.string]),top:a.oneOfType([a.number,a.string]),right:a.oneOfType([a.number,a.string]),bottom:a.oneOfType([a.number,a.string])},t}(i.Component);t.PDFMargin=s},188:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.findFocusableChild=t.findFocusable=t.findElement=t.isFocusable=t.isVisible=t.contains=t.closestInScope=t.closest=t.matchesNodeName=t.matchesClasses=t.hasClasses=void 0;var r=/^(?:a|input|select|option|textarea|button|object)$/i,n={},o=function(e){return String(e).trim().split(" ")};t.hasClasses=function(e,t){var r=o(t);return Boolean(o(e.className).find((function(e){return r.indexOf(e)>=0})))},t.matchesClasses=function(e){return function(r){return(0,t.hasClasses)(r,e)}},t.matchesNodeName=function(e){return n[e]||(n[e]=function(t){return String(t.nodeName).toLowerCase()===e.toLowerCase()}),n[e]},t.closest=function(e,t){for(;e&&!t(e);)e=e.parentNode;return e},t.closestInScope=function(e,t,r){for(;e&&e!==r&&!t(e);)e=e.parentNode;if(e!==r)return e},t.contains=function(e,r,n){if(void 0===n&&(n=!1),!(0,t.closest)(r,(function(t){return t===e})))return!1;var o=(0,t.closest)(r,(function(e){return e===r}));return o&&(n||o!==e)},t.isVisible=function(e){var t=e.getBoundingClientRect(),r=t.width>0&&t.height>0,n=0!==t.x&&0!==t.y;return(r||n)&&"hidden"!==window.getComputedStyle(e).visibility},t.isFocusable=function(e,n){if(void 0===n&&(n=!0),e.tagName){var o=e.tagName.toLowerCase(),i=e.getAttribute("tabIndex"),a="-1"===i,s=null!==i&&!a;return r.test(o)&&(s=!e.disabled&&!a),s&&(!n||(0,t.isVisible)(e))}return!1},t.findElement=function(e,r,n){if(void 0===n&&(n=!0),e){if(n&&r(e))return e;for(e=e.firstChild;e;){if(1===e.nodeType){var o=(0,t.findElement)(e,r);if(o)return o}e=e.nextSibling}}},t.findFocusable=function(e,r){return void 0===r&&(r=!0),(0,t.findElement)(e,(function(e){return(0,t.isFocusable)(e,r)}))},t.findFocusableChild=function(e,r){return void 0===r&&(r=!0),(0,t.findElement)(e,(function(e){return(0,t.isFocusable)(e,r)}),!1)}},175:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GridQuery=t.FOOTER_CLASS=t.HEADER_CLASS=void 0;var n=r(188);t.HEADER_CLASS="k-grid-header",t.FOOTER_CLASS="k-grid-footer";var o=(0,n.matchesNodeName)("TABLE"),i=function(){function e(e){this.element=e,this.list=(0,n.findElement)(e,(0,n.matchesClasses)("k-grid"))}return e.prototype.content=function(){return(0,n.findElement)(this.list,(0,n.matchesClasses)("k-grid"))},e.prototype.header=function(){return this.headerWrap=this.headerWrap||(0,n.findElement)(this.element,(0,n.matchesClasses)(t.HEADER_CLASS)),(0,n.findElement)(this.headerWrap,(0,n.matchesClasses)("".concat(t.HEADER_CLASS)))},e.prototype.footer=function(){return this.footerWrap=this.footerWrap||(0,n.findElement)(this.element,(0,n.matchesClasses)(t.FOOTER_CLASS)),(0,n.findElement)(this.footerWrap,(0,n.matchesClasses)("".concat(t.FOOTER_CLASS)))},e.prototype.table=function(){return(0,n.findElement)(this.element,o)},e}();t.GridQuery=i},669:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createTable=t.setFirstCellClass=t.createTableElement=t.wrapTable=t.appendNodes=void 0;var r="k-first";t.appendNodes=function(e,t){for(var r=t.length,n=0;n<r;n++)e.appendChild(t[n].cloneNode(!0))},t.wrapTable=function(e){var t=document.createElement("div");return t.className="k-grid k-grid-md",t.appendChild(e),t},t.createTableElement=function(e){var r=e.length,n=e[0].cloneNode(!0),o=n.rows.length;if(r>1)for(var i=0;i<o;i++)for(var a=1;a<r;a++)(0,t.appendNodes)(n.rows[i],e[a].rows[i].cells);return n},t.setFirstCellClass=function(e,t){if(t.length>1&&e.rows.length>1)for(var n=1;n<e.rows.length;n++){var o=t[0].rows[n].cells.length,i=e.rows[n].cells[o];-1===String(i.className).indexOf(r)&&(i.className+=" ".concat(r))}},t.createTable=function(e,r,n,o){for(var i=document.createElement("table"),a=e[0].cloneNode(!0),s=1;s<e.length;s++)(0,t.appendNodes)(a,e[s].querySelectorAll("col"));var p=(0,t.createTableElement)(r),c=(0,t.createTableElement)(n);if(p.className="k-grid-header",(0,t.setFirstCellClass)(p,r),i.appendChild(a),i.appendChild(p),i.appendChild(c),o.length){var u=(0,t.createTableElement)(o);u.className="k-grid-footer",i.appendChild(u)}return(0,t.wrapTable)(i)}},567:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getPageMargin=void 0;var n=r(899),o=r(398),i=["bottom","left","right","top"];t.getPageMargin=function(e){var t=n.Children.toArray(e.children).find((function(e){return e&&e.type===o.PDFMargin}));return t?function(e){for(var t={},r=0;r<i.length;r++){var n=i[r],o=e.props[n];void 0!==o&&(t[n]=o)}return t}(t):e.margin}},617:function(e,t,r){var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.GridPDFExport=void 0;var i=r(899),a=r(189),s=r(567),p=r(350),c=r(258),u=function(e){function t(t){var r=e.call(this,t)||this;return r.saveGridPDF=(0,c.provideSaveGridPDF)(r.getSavePDF()),r}return o(t,e),t.prototype.render=function(){return null},t.prototype.save=function(e,t){this.saveGridPDF(this.getGrid(),Object.assign({},this.props,{margin:(0,s.getPageMargin)(this.props)}),t,e,this.getCustomColumns())},t.prototype.getSavePDF=function(){return p.savePDF},t.prototype.getGrid=function(){return i.Children.toArray(this.props.children).find((function(e){return e&&"KendoReactGrid"===e.type.displayName}))},t.prototype.getCustomColumns=function(){return i.Children.toArray(this.props.children).filter((function(e){return e&&"KendoReactGridColumn"===e.type.displayName}))},t.propTypes={author:a.string,avoidLinks:a.oneOfType([a.bool,a.string]),forcePageBreak:a.string,keepTogether:a.string,creator:a.string,date:a.instanceOf(Date),imageResolution:a.number,fileName:a.string,forceProxy:a.bool,keywords:a.string,landscape:a.bool,margin:a.oneOfType([a.string,a.number,a.shape({left:a.oneOfType([a.number,a.string]),top:a.oneOfType([a.number,a.string]),right:a.oneOfType([a.number,a.string]),bottom:a.oneOfType([a.number,a.string])})]),pageTemplate:a.any,paperSize:a.any,repeatHeaders:a.bool,scale:a.number,proxyData:a.any,proxyURL:a.string,proxyTarget:a.string,producer:a.string,subject:a.string,title:a.string},t}(i.Component);t.GridPDFExport=u},863:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.exportElement=void 0;var n=r(138),o=r(669);t.exportElement=function(e){var t,r=new n.GridQuery(e),i=r.content();if(i){var a=[i.querySelector("colgroup")],s=[r.header().querySelector("thead")],p=[i.querySelector("tbody")],c=r.footer(),u=c?[c.querySelector("tfoot")]:[];t=(0,o.createTable)(a,s,p,u)}else t=(0,o.wrapTable)(r.table().cloneNode(!0));return t}},138:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GridQuery=t.FOOTER_CLASS=t.HEADER_CLASS=void 0;var n=r(188);t.HEADER_CLASS="k-grid-header",t.FOOTER_CLASS="k-grid-footer";var o=(0,n.matchesNodeName)("TABLE"),i=function(e){return e?"locked":"wrap"},a=function(){function e(e){this.element=e,this.list=(0,n.findElement)(e,(0,n.matchesClasses)("k-grid-container"))}return e.prototype.content=function(e){return(0,n.findElement)(this.list,(0,n.matchesClasses)("k-grid-content".concat(e?"-locked":"")))},e.prototype.header=function(e){return this.headerWrap=this.headerWrap||(0,n.findElement)(this.element,(0,n.matchesClasses)(t.HEADER_CLASS)),(0,n.findElement)(this.headerWrap,(0,n.matchesClasses)("".concat(t.HEADER_CLASS,"-").concat(i(e))))},e.prototype.footer=function(e){return this.footerWrap=this.footerWrap||(0,n.findElement)(this.element,(0,n.matchesClasses)(t.FOOTER_CLASS)),(0,n.findElement)(this.footerWrap,(0,n.matchesClasses)("".concat(t.FOOTER_CLASS,"-").concat(i(e))))},e.prototype.table=function(){return(0,n.findElement)(this.element,o)},e}();t.GridQuery=a},258:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.provideSaveGridPDF=void 0;var n=r(994),o=r(899),i=r(863);t.provideSaveGridPDF=function(e){return function(t,r,a,s,p){return void 0===r&&(r={}),function(e,t,r,a,s,p){var c,u,l;function d(){e(function(){(l=document.createElement("div")).className="k-grid-pdf-export-element";var e=(0,i.exportElement)(u);return l.appendChild(e),document.body.appendChild(l),e}(),r,f)}function f(){document.body.removeChild(c),document.body.removeChild(l),c=l=void 0,a&&a()}void 0===r&&(r={}),(c=document.createElement("div")).setAttribute("style","position:absolute; left: -5000px; top: 0px;"),u=document.createElement("div"),c.appendChild(u),document.body.appendChild(c),n.render(function(){var e=s&&{data:s,total:s.length,pageSize:s.length,skip:0},r={style:Object.assign({},t.props.style,{width:"1000px"})},n=Object.assign({},e,r);if(p&&p.length>0){var i=function(e){return o.Children.toArray(e.props.children).filter((function(e){return e&&e.type&&"KendoReactGridColumn"!==e.type.displayName}))}(t);return o.cloneElement(t,n,p.concat(i))}return o.cloneElement(t,n)}(),u,d)}(e,t,r,a,s,p)}}},363:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata=void 0,t.packageMetadata={name:"@progress/kendo-react-pdf",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:1700064286,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"}},350:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.savePDF=void 0;var n=r(407),o=r(202),i=r(765);t.savePDF=function(e,t,r){void 0===t&&(t={}),new i.default(n.drawDOM,n.exportPDF,o.saveAs,e,t).savePDF(r)}},153:function(e,t,r){var n,o=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.TreeListPDFExport=void 0;var i=r(899),a=r(189),s=r(567),p=r(350),c=r(556),u=function(e){function t(t){var r=e.call(this,t)||this;return r.saveTreeListPDF=(0,c.provideSaveTreeListPDF)(r.getSavePDF()),r}return o(t,e),t.prototype.render=function(){return null},t.prototype.save=function(e,t,r){this.saveTreeListPDF(this.getTreeList(),Object.assign({},this.props,{margin:(0,s.getPageMargin)(this.props)}),r,e,t||[])},t.prototype.getSavePDF=function(){return p.savePDF},t.prototype.getTreeList=function(){var e=this.props.children;if(e&&e.props.data&&e.props.columns)return this.props.children},t.propTypes={author:a.string,avoidLinks:a.oneOfType([a.bool,a.string]),forcePageBreak:a.string,keepTogether:a.string,creator:a.string,date:a.instanceOf(Date),imageResolution:a.number,fileName:a.string,forceProxy:a.bool,keywords:a.string,landscape:a.bool,margin:a.oneOfType([a.string,a.number,a.shape({left:a.oneOfType([a.number,a.string]),top:a.oneOfType([a.number,a.string]),right:a.oneOfType([a.number,a.string]),bottom:a.oneOfType([a.number,a.string])})]),pageTemplate:a.any,paperSize:a.any,repeatHeaders:a.bool,scale:a.number,proxyData:a.any,proxyURL:a.string,proxyTarget:a.string,producer:a.string,subject:a.string,title:a.string,allPages:a.bool},t}(i.Component);t.TreeListPDFExport=u},687:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.exportElement=void 0;var n=r(175),o=r(669);t.exportElement=function(e){var t,r=new n.GridQuery(e),i=r.content(),a=r.header();if(a.childNodes.length>1&&a.removeChild(a.childNodes[1]),a.childNodes[0].childNodes.forEach((function(e){return e.style.top=0})),i){var s=[i.querySelector("colgroup")],p=[a],c=[i.querySelector("tbody")],u=r.footer(),l=u?[u.querySelector("tfoot")]:[];t=(0,o.createTable)(s,p,c,l)}else t=(0,o.wrapTable)(r.table().cloneNode(!0));return t}},556:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.provideSaveTreeListPDF=void 0;var n=r(994),o=r(899),i=r(687);t.provideSaveTreeListPDF=function(e){return function(t,r,a,s,p){return void 0===r&&(r={}),function(e,t,r,a,s,p){var c,u,l,d,f,g;function h(){e(function(){(l=document.createElement("div")).className="k-treelist-pdf-export-element";var e=(0,i.exportElement)(u);return l.appendChild(e),document.body.appendChild(l),l}(),r,m)}function m(){document.body.removeChild(c),document.body.removeChild(l),c=l=void 0,a&&a()}void 0===r&&(r={}),(c=document.createElement("div")).setAttribute("style","position:absolute; left: -5000px; top: 0px;"),u=document.createElement("div"),c.appendChild(u),document.body.appendChild(c),n.render((d=r.allPages&&s?{data:s,take:Number.MAX_VALUE,skip:0}:{},f={style:Object.assign({},t.props.style,{width:"1000px"})},g=Object.assign({},d,f),p&&p.length>0?o.cloneElement(t,Object.assign({},g,{columns:p})):o.cloneElement(t,g)),u,h)}(e,t,r,a,s,p)}}},202:(e,t,r)=>{function n(e,t,r){void 0===r&&(r={});var n=p;if(r.forceProxy&&!r.proxyURL)throw new Error("No proxyURL is set, but forceProxy is true");r.forceProxy||(i()&&(n=s),navigator.msSaveBlob&&(n=a)),n(e,t,r)}r.r(t),r.d(t,{encodeBase64:()=>l,saveAs:()=>n});var o=function(){return document.createElement("a")},i=function(){return"download"in o()};function a(e,t){var r=e;if("string"==typeof e){for(var n=e.split(";base64,"),o=n[0],i=atob(n[1]),a=new Uint8Array(i.length),s=0;s<i.length;s++)a[s]=i.charCodeAt(s);r=new Blob([a.buffer],{type:o})}navigator.msSaveBlob(r,t)}function s(e,t){var r=e;window.Blob&&e instanceof Blob&&(r=URL.createObjectURL(e));var n=o();n.download=t,n.href=r;var i=document.createEvent("MouseEvents");i.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n.dispatchEvent(i),setTimeout((function(){return URL.revokeObjectURL(r)}))}function p(e,t,r){if(r.proxyURL){var n=document.createElement("form");n.setAttribute("action",r.proxyURL),n.setAttribute("method","POST"),n.setAttribute("target",r.proxyTarget||"_self");var o=r.proxyData||{};o.fileName=t;var i=e.split(";base64,");for(var a in o.contentType=i[0].replace("data:",""),o.base64=i[1],o)if(o.hasOwnProperty(a)){var s=document.createElement("input");s.setAttribute("type","hidden"),s.setAttribute("name",a),s.setAttribute("value",o[a]),n.appendChild(s)}document.body.appendChild(n),n.submit(),document.body.removeChild(n)}}var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u=String.fromCharCode;function l(e){for(var t,r,n,o,i,a,s,p=function(e){for(var t="",r=0;r<e.length;r++){var n=e.charCodeAt(r);n<128?t+=u(n):n<2048?(t+=u(192|n>>>6),t+=u(128|63&n)):n<65536&&(t+=u(224|n>>>12),t+=u(128|n>>>6&63),t+=u(128|63&n))}return t}(e),l="",d=0;d<p.length;)o=(t=p.charCodeAt(d++))>>2,i=(3&t)<<4|(r=p.charCodeAt(d++))>>4,a=(15&r)<<2|(n=p.charCodeAt(d++))>>6,s=63&n,isNaN(r)?a=s=64:isNaN(n)&&(s=64),l=l+c.charAt(o)+c.charAt(i)+c.charAt(a)+c.charAt(s);return l}},407:e=>{e.exports=r},302:e=>{e.exports=o},189:e=>{e.exports=t},899:t=>{t.exports=e},994:e=>{e.exports=i},209:e=>{e.exports=n}},s={};function p(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={exports:{}};return a[e].call(r.exports,r,r.exports,p),r.exports}p.d=(e,t)=>{for(var r in t)p.o(t,r)&&!p.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},p.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),p.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var c={};return(()=>{var e=c;Object.defineProperty(e,"__esModule",{value:!0}),e.KendoDrawingAdapter=e.TreeListPDFExport=e.GridPDFExport=e.getPageMargin=e.savePDF=e.PDFMargin=e.PDFExport=void 0;var t=p(981);Object.defineProperty(e,"PDFExport",{enumerable:!0,get:function(){return t.PDFExport}});var r=p(398);Object.defineProperty(e,"PDFMargin",{enumerable:!0,get:function(){return r.PDFMargin}});var n=p(350);Object.defineProperty(e,"savePDF",{enumerable:!0,get:function(){return n.savePDF}});var o=p(567);Object.defineProperty(e,"getPageMargin",{enumerable:!0,get:function(){return o.getPageMargin}});var i=p(617);Object.defineProperty(e,"GridPDFExport",{enumerable:!0,get:function(){return i.GridPDFExport}});var a=p(153);Object.defineProperty(e,"TreeListPDFExport",{enumerable:!0,get:function(){return a.TreeListPDFExport}});var s=p(765);e.KendoDrawingAdapter=s.default})(),c})()}));
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ (function(c,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("react"),require("prop-types"),require("@progress/kendo-drawing"),require("@progress/kendo-file-saver"),require("react-dom/server"),require("@progress/kendo-licensing"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-drawing","@progress/kendo-file-saver","react-dom/server","@progress/kendo-licensing","react-dom"],m):(c=typeof globalThis<"u"?globalThis:c||self,m(c.KendoReactPdf={},c.React,c.PropTypes,c.KendoDrawing,c.KendoFileSaver,c.ReactDOMServer,c.KendoLicensing,c.ReactDOM))})(this,function(c,m,X,T,A,J,Y,Z){"use strict";function f(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const n in r)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>r[n]})}}return t.default=r,Object.freeze(t)}const u=f(m),e=f(X),ee=f(J),R=f(Y),_=f(Z);class D extends u.Component{render(){return null}}D.propTypes={left:e.oneOfType([e.number,e.string]),top:e.oneOfType([e.number,e.string]),right:e.oneOfType([e.number,e.string]),bottom:e.oneOfType([e.number,e.string])};const G=["bottom","left","right","top"];function P(r){const t=u.Children.toArray(r.children).find(n=>n&&n.type===D);return t?te(t):r.margin}function te(r){const t={};for(let n=0;n<G.length;n++){const o=G[n],s=r.props[o];s!==void 0&&(t[o]=s)}return t}const re="export.pdf",ne="KendoReact PDF Generator";class O{constructor(t,n,o,s,i={}){this.drawDOM=t,this.exportPDF=n,this.saveAs=o,this.domElement=s,this.options=i,this.convertPageTemplateToHtml=p=>`<span>${ee.renderToStaticMarkup(u.createElement(this.options.pageTemplate,{pageNum:p.pageNum,totalPages:p.totalPages}))}</span>`}savePDF(t){const n=this.drawDOM(this.domElement,this.getDrawOptions()).then(o=>this.exportPDF(o,this.getPDFOptions())).then(o=>this.saveAs(o,this.options.fileName||re,this.getSaveOptions()));t&&n.then(t,t)}getDrawOptions(){return{avoidLinks:this.options.avoidLinks,forcePageBreak:this.options.forcePageBreak,keepTogether:this.options.keepTogether,margin:this.options.margin,paperSize:this.options.paperSize,landscape:this.options.landscape,repeatHeaders:this.options.repeatHeaders,scale:this.options.scale,template:this.options.pageTemplate&&this.convertPageTemplateToHtml}}getPDFOptions(){return{author:this.options.author,creator:this.options.creator||ne,date:this.options.date,imgDPI:this.options.imageResolution,keywords:this.options.keywords,landscape:this.options.landscape,margin:this.options.margin,multiPage:!0,paperSize:this.options.paperSize,producer:this.options.producer,subject:this.options.subject,title:this.options.title}}getSaveOptions(){return{forceProxy:this.options.forceProxy,proxyData:this.options.proxyData,proxyTarget:this.options.proxyTarget,proxyURL:this.options.proxyURL}}}const C={name:"@progress/kendo-react-pdf",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};class M extends u.Component{constructor(t){if(super(t),this.rootElForPDF=null,typeof R<"u")R.validatePackage(C);else{let n=`License activation failed for ${C.name}
6
+ `;n+=`The @progress/kendo-licensing script is not loaded.
7
+ `,n+=`See ${C.licensingDocsUrl} for more information.
8
+ `,console.warn(n)}}render(){return u.createElement("div",{ref:t=>{this.rootElForPDF=t}},this.props.children)}save(t){new O(T.drawDOM,T.exportPDF,A.saveAs,this.rootElForPDF,this.getOptions()).savePDF(t)}getOptions(){return Object.assign({},this.props,{margin:P(this.props)})}}M.propTypes={author:e.string,avoidLinks:e.oneOfType([e.bool,e.string]),forcePageBreak:e.string,keepTogether:e.string,creator:e.string,date:e.instanceOf(Date),imageResolution:e.number,fileName:e.string,forceProxy:e.bool,keywords:e.string,landscape:e.bool,margin:e.oneOfType([e.string,e.number,e.shape({left:e.oneOfType([e.number,e.string]),top:e.oneOfType([e.number,e.string]),right:e.oneOfType([e.number,e.string]),bottom:e.oneOfType([e.number,e.string])})]),pageTemplate:e.any,paperSize:e.any,repeatHeaders:e.bool,scale:e.number,proxyData:e.any,proxyURL:e.string,proxyTarget:e.string,producer:e.string,subject:e.string,title:e.string};function v(r,t={},n){new O(T.drawDOM,T.exportPDF,A.saveAs,r,t).savePDF(n)}const E={},$=r=>String(r).trim().split(" "),oe=(r,t)=>{const n=$(t);return!!$(r.className).find(o=>n.indexOf(o)>=0)},g=r=>t=>oe(t,r),j=r=>(E[r]||(E[r]=t=>String(t.nodeName).toLowerCase()===r.toLowerCase()),E[r]),d=(r,t,n=!0)=>{if(r){if(n&&t(r))return r;for(r=r.firstChild;r;){if(r.nodeType===1){const o=d(r,t);if(o)return o}r=r.nextSibling}}},q="k-grid-header",W="k-grid-footer",se=j("TABLE"),K=r=>r?"locked":"wrap";let ie=class{constructor(t){this.element=t,this.list=d(t,g("k-grid-container"))}content(t){return d(this.list,g(`k-grid-content${t?"-locked":""}`))}header(t){return this.headerWrap=this.headerWrap||d(this.element,g(q)),d(this.headerWrap,g(`${q}-${K(t)}`))}footer(t){return this.footerWrap=this.footerWrap||d(this.element,g(W)),d(this.footerWrap,g(`${W}-${K(t)}`))}table(){return d(this.element,se)}};const B="k-first",ae="k-grid-header",pe="k-grid-footer",I=(r,t)=>{const n=t.length;for(let o=0;o<n;o++)r.appendChild(t[o].cloneNode(!0))},x=r=>{const t=document.createElement("div");return t.className="k-grid k-grid-md",t.appendChild(r),t},S=r=>{const t=r.length,n=r[0].cloneNode(!0),o=n.rows.length;if(t>1)for(let s=0;s<o;s++)for(let i=1;i<t;i++)I(n.rows[s],r[i].rows[s].cells);return n},ce=(r,t)=>{if(t.length>1&&r.rows.length>1)for(let n=1;n<r.rows.length;n++){const o=t[0].rows[n].cells.length,s=r.rows[n].cells[o];String(s.className).indexOf(B)===-1&&(s.className+=` ${B}`)}},U=(r,t,n,o)=>{const s=document.createElement("table"),i=r[0].cloneNode(!0);for(let a=1;a<r.length;a++)I(i,r[a].querySelectorAll("col"));const p=S(t),l=S(n);if(p.className=ae,ce(p,t),s.appendChild(i),s.appendChild(p),s.appendChild(l),o.length){const a=S(o);a.className=pe,s.appendChild(a)}return x(s)},le=r=>{const t=new ie(r),n=t.content();let o;if(n){const s=[n.querySelector("colgroup")],i=[t.header().querySelector("thead")],p=[n.querySelector("tbody")],l=t.footer(),a=l?[l.querySelector("tfoot")]:[];o=U(s,i,p,a)}else o=x(t.table().cloneNode(!0));return o};function de(r){return(t,n={},o,s,i)=>ue(r,t,n,o,s,i)}function ue(r,t,n={},o,s,i){let p,l,a;y();function y(){p=document.createElement("div"),p.setAttribute("style","position:absolute; left: -5000px; top: 0px;"),l=document.createElement("div"),p.appendChild(l),document.body.appendChild(p),_.render(w(),l,F)}function F(){r(L(),n,k)}function k(){document.body.removeChild(p),document.body.removeChild(a),p=a=void 0,o&&o()}function L(){a=document.createElement("div"),a.className="k-grid-pdf-export-element";const h=le(l);return a.appendChild(h),document.body.appendChild(a),h}function w(){const h=s&&{data:s,total:s.length,pageSize:s.length,skip:0},N={style:Object.assign({},t.props.style,{width:"1000px"})},b=Object.assign({},h,N);if(i&&i.length>0){const Te=ge(t);return u.cloneElement(t,b,i.concat(Te))}else return u.cloneElement(t,b)}}function ge(r){return u.Children.toArray(r.props.children).filter(t=>t&&t.type&&t.type.displayName!=="KendoReactGridColumn")}class H extends u.Component{constructor(t){super(t),this.saveGridPDF=de(this.getSavePDF())}render(){return null}save(t,n){this.saveGridPDF(this.getGrid(),Object.assign({},this.props,{margin:P(this.props)}),n,t,this.getCustomColumns())}getSavePDF(){return v}getGrid(){return u.Children.toArray(this.props.children).find(t=>t&&t.type.displayName==="KendoReactGrid")}getCustomColumns(){return u.Children.toArray(this.props.children).filter(t=>t&&t.type.displayName==="KendoReactGridColumn")}}H.propTypes={author:e.string,avoidLinks:e.oneOfType([e.bool,e.string]),forcePageBreak:e.string,keepTogether:e.string,creator:e.string,date:e.instanceOf(Date),imageResolution:e.number,fileName:e.string,forceProxy:e.bool,keywords:e.string,landscape:e.bool,margin:e.oneOfType([e.string,e.number,e.shape({left:e.oneOfType([e.number,e.string]),top:e.oneOfType([e.number,e.string]),right:e.oneOfType([e.number,e.string]),bottom:e.oneOfType([e.number,e.string])})]),pageTemplate:e.any,paperSize:e.any,repeatHeaders:e.bool,scale:e.number,proxyData:e.any,proxyURL:e.string,proxyTarget:e.string,producer:e.string,subject:e.string,title:e.string};const z="k-grid-header",Q="k-grid-footer",he=j("TABLE");class me{constructor(t){this.element=t,this.list=d(t,g("k-grid"))}content(){return d(this.list,g("k-grid"))}header(){return this.headerWrap=this.headerWrap||d(this.element,g(z)),d(this.headerWrap,g(`${z}`))}footer(){return this.footerWrap=this.footerWrap||d(this.element,g(Q)),d(this.footerWrap,g(`${Q}`))}table(){return d(this.element,he)}}const fe=r=>{const t=new me(r),n=t.content();let o,s=t.header();if(s.childNodes.length>1&&s.removeChild(s.childNodes[1]),s.childNodes[0].childNodes.forEach(i=>i.style.top=0),n){const i=[n.querySelector("colgroup")],p=[s],l=[n.querySelector("tbody")],a=t.footer(),y=a?[a.querySelector("tfoot")]:[];o=U(i,p,l,y)}else o=x(t.table().cloneNode(!0));return o};function ye(r){return(t,n={},o,s,i)=>be(r,t,n,o,s,i)}function be(r,t,n={},o,s,i){let p,l,a;y();function y(){p=document.createElement("div"),p.setAttribute("style","position:absolute; left: -5000px; top: 0px;"),l=document.createElement("div"),p.appendChild(l),document.body.appendChild(p),_.render(w(),l,F)}function F(){r(L(),n,k)}function k(){document.body.removeChild(p),document.body.removeChild(a),p=a=void 0,o&&o()}function L(){a=document.createElement("div"),a.className="k-treelist-pdf-export-element";const h=fe(l);return a.appendChild(h),document.body.appendChild(a),a}function w(){const h=n.allPages&&s?{data:s,take:Number.MAX_VALUE,skip:0}:{},N={style:Object.assign({},t.props.style,{width:"1000px"})},b=Object.assign({},h,N);return i&&i.length>0?u.cloneElement(t,Object.assign({},b,{columns:i})):u.cloneElement(t,b)}}class V extends u.Component{constructor(t){super(t),this.saveTreeListPDF=ye(this.getSavePDF())}render(){return null}save(t,n,o){this.saveTreeListPDF(this.getTreeList(),Object.assign({},this.props,{margin:P(this.props)}),o,t,n||[])}getSavePDF(){return v}getTreeList(){const t=this.props.children;if(t&&t.props.data&&t.props.columns)return this.props.children}}V.propTypes={author:e.string,avoidLinks:e.oneOfType([e.bool,e.string]),forcePageBreak:e.string,keepTogether:e.string,creator:e.string,date:e.instanceOf(Date),imageResolution:e.number,fileName:e.string,forceProxy:e.bool,keywords:e.string,landscape:e.bool,margin:e.oneOfType([e.string,e.number,e.shape({left:e.oneOfType([e.number,e.string]),top:e.oneOfType([e.number,e.string]),right:e.oneOfType([e.number,e.string]),bottom:e.oneOfType([e.number,e.string])})]),pageTemplate:e.any,paperSize:e.any,repeatHeaders:e.bool,scale:e.number,proxyData:e.any,proxyURL:e.string,proxyTarget:e.string,producer:e.string,subject:e.string,title:e.string,allPages:e.bool},c.GridPDFExport=H,c.KendoDrawingAdapter=O,c.PDFExport=M,c.PDFMargin=D,c.TreeListPDFExport=V,c.getPageMargin=P,c.savePDF=v,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
@@ -0,0 +1,10 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * @hidden
7
+ * Returns the margin options by reading the props of he component and the `PDFMargin` child.
8
+ * The props of the `PDFMargin` child are with greater priority.
9
+ */
10
+ export declare function getPageMargin(props: any): any;
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  import * as React from 'react';
2
6
  import * as PropTypes from 'prop-types';
3
7
  import { savePDF } from '../savePDF';
@@ -0,0 +1,8 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * @hidden
7
+ */
8
+ export declare const exportElement: (wrapper: HTMLElement) => HTMLElement;
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  /**
2
6
  * @hidden
3
7
  */
@@ -0,0 +1,9 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { PDFExportProps } from '../PDFExportProps';
6
+ /**
7
+ * @hidden
8
+ */
9
+ export declare function provideSaveGridPDF(savePDF: (domElement: HTMLElement, options?: PDFExportProps, callback?: () => void) => void): (grid: any, pdfExportOptions?: PDFExportProps, callback?: () => void, data?: any, columns?: any) => void;
package/index.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { PDFExport } from './PDFExport';
6
+ import { type PDFExportProps } from './PDFExportProps';
7
+ import { type PageTemplateProps } from './PageTemplateProps';
8
+ import { PDFMargin, type PDFMarginProps } from './PDFMargin';
9
+ import { savePDF } from './savePDF';
10
+ import { getPageMargin } from './getPageMargin';
11
+ import { GridPDFExport, type GridPDFExportProps } from './grid/GridPDFExport';
12
+ import { TreeListPDFExport, type TreeListPDFExportProps } from './treelist/TreeListPDFExport';
13
+ import KendoDrawingAdapter from './KendoDrawingAdapter';
14
+ export { PDFExport, PDFExportProps, PageTemplateProps, PDFMargin, PDFMarginProps, savePDF, getPageMargin, GridPDFExport, GridPDFExportProps, TreeListPDFExport, TreeListPDFExportProps, KendoDrawingAdapter };
package/index.js ADDED
@@ -0,0 +1,8 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("react"),X=require("prop-types"),y=require("@progress/kendo-drawing"),q=require("@progress/kendo-file-saver"),J=require("react-dom/server"),Y=require("@progress/kendo-licensing"),Z=require("react-dom");function f(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const n in r)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>r[n]})}}return t.default=r,Object.freeze(t)}const d=f(V),e=f(X),ee=f(J),L=f(Y),W=f(Z);class S extends d.Component{render(){return null}}S.propTypes={left:e.oneOfType([e.number,e.string]),top:e.oneOfType([e.number,e.string]),right:e.oneOfType([e.number,e.string]),bottom:e.oneOfType([e.number,e.string])};const N=["bottom","left","right","top"];function b(r){const t=d.Children.toArray(r.children).find(n=>n&&n.type===S);return t?te(t):r.margin}function te(r){const t={};for(let n=0;n<N.length;n++){const o=N[n],s=r.props[o];s!==void 0&&(t[o]=s)}return t}const re="export.pdf",ne="KendoReact PDF Generator";class F{constructor(t,n,o,s,i={}){this.drawDOM=t,this.exportPDF=n,this.saveAs=o,this.domElement=s,this.options=i,this.convertPageTemplateToHtml=p=>`<span>${ee.renderToStaticMarkup(d.createElement(this.options.pageTemplate,{pageNum:p.pageNum,totalPages:p.totalPages}))}</span>`}savePDF(t){const n=this.drawDOM(this.domElement,this.getDrawOptions()).then(o=>this.exportPDF(o,this.getPDFOptions())).then(o=>this.saveAs(o,this.options.fileName||re,this.getSaveOptions()));t&&n.then(t,t)}getDrawOptions(){return{avoidLinks:this.options.avoidLinks,forcePageBreak:this.options.forcePageBreak,keepTogether:this.options.keepTogether,margin:this.options.margin,paperSize:this.options.paperSize,landscape:this.options.landscape,repeatHeaders:this.options.repeatHeaders,scale:this.options.scale,template:this.options.pageTemplate&&this.convertPageTemplateToHtml}}getPDFOptions(){return{author:this.options.author,creator:this.options.creator||ne,date:this.options.date,imgDPI:this.options.imageResolution,keywords:this.options.keywords,landscape:this.options.landscape,margin:this.options.margin,multiPage:!0,paperSize:this.options.paperSize,producer:this.options.producer,subject:this.options.subject,title:this.options.title}}getSaveOptions(){return{forceProxy:this.options.forceProxy,proxyData:this.options.proxyData,proxyTarget:this.options.proxyTarget,proxyURL:this.options.proxyURL}}}const v={name:"@progress/kendo-react-pdf",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};class I extends d.Component{constructor(t){if(super(t),this.rootElForPDF=null,typeof L<"u")L.validatePackage(v);else{let n=`License activation failed for ${v.name}
6
+ `;n+=`The @progress/kendo-licensing script is not loaded.
7
+ `,n+=`See ${v.licensingDocsUrl} for more information.
8
+ `,console.warn(n)}}render(){return d.createElement("div",{ref:t=>{this.rootElForPDF=t}},this.props.children)}save(t){new F(y.drawDOM,y.exportPDF,q.saveAs,this.rootElForPDF,this.getOptions()).savePDF(t)}getOptions(){return Object.assign({},this.props,{margin:b(this.props)})}}I.propTypes={author:e.string,avoidLinks:e.oneOfType([e.bool,e.string]),forcePageBreak:e.string,keepTogether:e.string,creator:e.string,date:e.instanceOf(Date),imageResolution:e.number,fileName:e.string,forceProxy:e.bool,keywords:e.string,landscape:e.bool,margin:e.oneOfType([e.string,e.number,e.shape({left:e.oneOfType([e.number,e.string]),top:e.oneOfType([e.number,e.string]),right:e.oneOfType([e.number,e.string]),bottom:e.oneOfType([e.number,e.string])})]),pageTemplate:e.any,paperSize:e.any,repeatHeaders:e.bool,scale:e.number,proxyData:e.any,proxyURL:e.string,proxyTarget:e.string,producer:e.string,subject:e.string,title:e.string};function k(r,t={},n){new F(y.drawDOM,y.exportPDF,q.saveAs,r,t).savePDF(n)}const x={},A=r=>String(r).trim().split(" "),oe=(r,t)=>{const n=A(t);return!!A(r.className).find(o=>n.indexOf(o)>=0)},u=r=>t=>oe(t,r),U=r=>(x[r]||(x[r]=t=>String(t.nodeName).toLowerCase()===r.toLowerCase()),x[r]),c=(r,t,n=!0)=>{if(r){if(n&&t(r))return r;for(r=r.firstChild;r;){if(r.nodeType===1){const o=c(r,t);if(o)return o}r=r.nextSibling}}},R="k-grid-header",_="k-grid-footer",se="TABLE",ie=U(se),G=r=>r?"locked":"wrap";let ae=class{constructor(t){this.element=t,this.list=c(t,u("k-grid-container"))}content(t){return c(this.list,u(`k-grid-content${t?"-locked":""}`))}header(t){return this.headerWrap=this.headerWrap||c(this.element,u(R)),c(this.headerWrap,u(`${R}-${G(t)}`))}footer(t){return this.footerWrap=this.footerWrap||c(this.element,u(_)),c(this.footerWrap,u(`${_}-${G(t)}`))}table(){return c(this.element,ie)}};const M="k-first",pe="k-grid-header",le="k-grid-footer",B=(r,t)=>{const n=t.length;for(let o=0;o<n;o++)r.appendChild(t[o].cloneNode(!0))},w=r=>{const t=document.createElement("div");return t.className="k-grid k-grid-md",t.appendChild(r),t},E=r=>{const t=r.length,n=r[0].cloneNode(!0),o=n.rows.length;if(t>1)for(let s=0;s<o;s++)for(let i=1;i<t;i++)B(n.rows[s],r[i].rows[s].cells);return n},ce=(r,t)=>{if(t.length>1&&r.rows.length>1)for(let n=1;n<r.rows.length;n++){const o=t[0].rows[n].cells.length,s=r.rows[n].cells[o];String(s.className).indexOf(M)===-1&&(s.className+=` ${M}`)}},H=(r,t,n,o)=>{const s=document.createElement("table"),i=r[0].cloneNode(!0);for(let a=1;a<r.length;a++)B(i,r[a].querySelectorAll("col"));const p=E(t),l=E(n);if(p.className=pe,ce(p,t),s.appendChild(i),s.appendChild(p),s.appendChild(l),o.length){const a=E(o);a.className=le,s.appendChild(a)}return w(s)},de=r=>{const t=new ae(r),n=t.content();let o;if(n){const s=[n.querySelector("colgroup")],i=[t.header().querySelector("thead")],p=[n.querySelector("tbody")],l=t.footer(),a=l?[l.querySelector("tfoot")]:[];o=H(s,i,p,a)}else o=w(t.table().cloneNode(!0));return o};function ue(r){return(t,n={},o,s,i)=>ge(r,t,n,o,s,i)}function ge(r,t,n={},o,s,i){let p,l,a;h();function h(){p=document.createElement("div"),p.setAttribute("style","position:absolute; left: -5000px; top: 0px;"),l=document.createElement("div"),p.appendChild(l),document.body.appendChild(p),W.render(O(),l,T)}function T(){r(P(),n,D)}function D(){document.body.removeChild(p),document.body.removeChild(a),p=a=void 0,o&&o()}function P(){a=document.createElement("div"),a.className="k-grid-pdf-export-element";const g=de(l);return a.appendChild(g),document.body.appendChild(a),g}function O(){const g=s&&{data:s,total:s.length,pageSize:s.length,skip:0},C={style:Object.assign({},t.props.style,{width:"1000px"})},m=Object.assign({},g,C);if(i&&i.length>0){const Q=he(t);return d.cloneElement(t,m,i.concat(Q))}else return d.cloneElement(t,m)}}function he(r){return d.Children.toArray(r.props.children).filter(t=>t&&t.type&&t.type.displayName!=="KendoReactGridColumn")}class z extends d.Component{constructor(t){super(t),this.saveGridPDF=ue(this.getSavePDF())}render(){return null}save(t,n){this.saveGridPDF(this.getGrid(),Object.assign({},this.props,{margin:b(this.props)}),n,t,this.getCustomColumns())}getSavePDF(){return k}getGrid(){return d.Children.toArray(this.props.children).find(t=>t&&t.type.displayName==="KendoReactGrid")}getCustomColumns(){return d.Children.toArray(this.props.children).filter(t=>t&&t.type.displayName==="KendoReactGridColumn")}}z.propTypes={author:e.string,avoidLinks:e.oneOfType([e.bool,e.string]),forcePageBreak:e.string,keepTogether:e.string,creator:e.string,date:e.instanceOf(Date),imageResolution:e.number,fileName:e.string,forceProxy:e.bool,keywords:e.string,landscape:e.bool,margin:e.oneOfType([e.string,e.number,e.shape({left:e.oneOfType([e.number,e.string]),top:e.oneOfType([e.number,e.string]),right:e.oneOfType([e.number,e.string]),bottom:e.oneOfType([e.number,e.string])})]),pageTemplate:e.any,paperSize:e.any,repeatHeaders:e.bool,scale:e.number,proxyData:e.any,proxyURL:e.string,proxyTarget:e.string,producer:e.string,subject:e.string,title:e.string};const $="k-grid-header",j="k-grid-footer",me="TABLE",fe=U(me);class ye{constructor(t){this.element=t,this.list=c(t,u("k-grid"))}content(){return c(this.list,u("k-grid"))}header(){return this.headerWrap=this.headerWrap||c(this.element,u($)),c(this.headerWrap,u(`${$}`))}footer(){return this.footerWrap=this.footerWrap||c(this.element,u(j)),c(this.footerWrap,u(`${j}`))}table(){return c(this.element,fe)}}const be=r=>{const t=new ye(r),n=t.content();let o,s=t.header();if(s.childNodes.length>1&&s.removeChild(s.childNodes[1]),s.childNodes[0].childNodes.forEach(i=>i.style.top=0),n){const i=[n.querySelector("colgroup")],p=[s],l=[n.querySelector("tbody")],a=t.footer(),h=a?[a.querySelector("tfoot")]:[];o=H(i,p,l,h)}else o=w(t.table().cloneNode(!0));return o};function Te(r){return(t,n={},o,s,i)=>De(r,t,n,o,s,i)}function De(r,t,n={},o,s,i){let p,l,a;h();function h(){p=document.createElement("div"),p.setAttribute("style","position:absolute; left: -5000px; top: 0px;"),l=document.createElement("div"),p.appendChild(l),document.body.appendChild(p),W.render(O(),l,T)}function T(){r(P(),n,D)}function D(){document.body.removeChild(p),document.body.removeChild(a),p=a=void 0,o&&o()}function P(){a=document.createElement("div"),a.className="k-treelist-pdf-export-element";const g=be(l);return a.appendChild(g),document.body.appendChild(a),a}function O(){const g=n.allPages&&s?{data:s,take:Number.MAX_VALUE,skip:0}:{},C={style:Object.assign({},t.props.style,{width:"1000px"})},m=Object.assign({},g,C);return i&&i.length>0?d.cloneElement(t,Object.assign({},m,{columns:i})):d.cloneElement(t,m)}}class K extends d.Component{constructor(t){super(t),this.saveTreeListPDF=Te(this.getSavePDF())}render(){return null}save(t,n,o){this.saveTreeListPDF(this.getTreeList(),Object.assign({},this.props,{margin:b(this.props)}),o,t,n||[])}getSavePDF(){return k}getTreeList(){const t=this.props.children;if(t&&t.props.data&&t.props.columns)return this.props.children}}K.propTypes={author:e.string,avoidLinks:e.oneOfType([e.bool,e.string]),forcePageBreak:e.string,keepTogether:e.string,creator:e.string,date:e.instanceOf(Date),imageResolution:e.number,fileName:e.string,forceProxy:e.bool,keywords:e.string,landscape:e.bool,margin:e.oneOfType([e.string,e.number,e.shape({left:e.oneOfType([e.number,e.string]),top:e.oneOfType([e.number,e.string]),right:e.oneOfType([e.number,e.string]),bottom:e.oneOfType([e.number,e.string])})]),pageTemplate:e.any,paperSize:e.any,repeatHeaders:e.bool,scale:e.number,proxyData:e.any,proxyURL:e.string,proxyTarget:e.string,producer:e.string,subject:e.string,title:e.string,allPages:e.bool};exports.GridPDFExport=z;exports.KendoDrawingAdapter=F;exports.PDFExport=I;exports.PDFMargin=S;exports.TreeListPDFExport=K;exports.getPageMargin=b;exports.savePDF=k;