ngx-print 1.3.1 → 1.5.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.
package/README.md CHANGED
@@ -8,6 +8,8 @@ This directive makes printing your HTML sections smooth and easy in your Angular
8
8
  | ------------ | ------------ |
9
9
  | 1.2.1 | 7.0.0 - 14.1.0 |
10
10
  | 1.3.x | 15.0.0 |
11
+ | 1.4.x | 16.0.0 |
12
+ | 1.5.x | 17.0.0 |
11
13
  ## Setup
12
14
 
13
15
  **1-** In your root application folder run:
@@ -151,9 +153,84 @@ Here some simple styles were added to every `h1` & `h2` tags within the `div` wh
151
153
  ngxPrint>print</button>
152
154
 
153
155
  ```
156
+
157
+ - Some print operations open a second dialog, and automatically closing the popup window happens before the second dialog opens. Set `closeWindow` to false to handle print operations that open a second dialog, like "Microsoft Print to PDF", or "Print using system dialog...":
158
+
159
+ ```html
160
+
161
+ <div id="print-section">
162
+
163
+ <!-- ... -->
164
+
165
+ </div>
166
+
167
+ <button
168
+ [closeWindow]="false"
169
+ printSectionId="print-section"
170
+ ngxPrint>print</button>
171
+
172
+ ```
173
+
174
+ - Set `bodyClass` to whatever class values are needed for some of your css rules that expect an ancestor to have a certain class. For example, a theme selector:
175
+
176
+ ```html
177
+
178
+ <div id="print-section">
179
+
180
+ <!-- ... -->
181
+
182
+ </div>
183
+
184
+ <button
185
+ [bodyClass]="theme-dark"
186
+ printSectionId="print-section"
187
+ ngxPrint>print</button>
188
+
189
+ ```
190
+ ## Using NgxPrint as a service
191
+ Inject the NgxPrintService in the constructor of your component or service:
192
+
193
+ ```typescript
194
+ constructor(private printService: NgxPrintService) { }
195
+ ```
196
+
197
+ ### Printing a Section
198
+ ```typescript
199
+ import { PrintOptions } from './path-to-your/print-options.model';
200
+
201
+ printMe() {
202
+ const customPrintOptions: PrintOptions = new PrintOptions({
203
+ printSectionId: 'print-section',
204
+ // Add any other print options as needed
205
+ });
206
+ this.printService.print(customPrintOptions)
207
+ }
208
+ ```
209
+
210
+ ### Print Options Object
211
+ The print options object allows you to specify how the print job should be handled. All of which have default values that you can optionally override, although printSectionId is required. It contains the following properties:
212
+ ```typescript
213
+ printSectionId: string = null;
214
+ printTitle: string = null;
215
+ useExistingCss: boolean = false;
216
+ bodyClass: string = '';
217
+ previewOnly: boolean = false;
218
+ closeWindow: boolean = true;
219
+ printDelay: number = 0;
220
+ ```
221
+
222
+ ### Setting PrintStyles or StyleSheets
223
+ ```typescript
224
+ // Optional property for css as a key-value pair
225
+ this.printService.printStyle = styleSheet;
226
+
227
+ // Optional property for a css file location
228
+ this.printService.styleSheetFile = fileLocation;
229
+ ```
230
+
154
231
  ## Contributors :1st_place_medal:
155
232
 
156
- Huge thanks to: [deeplotia](https://github.com/deeplotia) , [Ben L](https://github.com/broem) , [Gavyn McKenzie](https://github.com/gavmck) , [silenceway](https://github.com/silenceway), [Muhammad Ahsan Ayaz](https://github.com/AhsanAyaz) and to all `ngx-print` users
233
+ Huge thanks to: [deeplotia](https://github.com/deeplotia) , [Ben L](https://github.com/broem) , [Gavyn McKenzie](https://github.com/gavmck) , [silenceway](https://github.com/silenceway), [Muhammad Ahsan Ayaz](https://github.com/AhsanAyaz), [Core121](https://github.com/Core121) and to all `ngx-print` users
157
234
 
158
235
  ## Donation
159
236
 
@@ -0,0 +1,193 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class PrintBase {
4
+ _printStyle = [];
5
+ _styleSheetFile = '';
6
+ //#region Getters and Setters
7
+ /**
8
+ * Sets the print styles based on the provided values.
9
+ *
10
+ * @param {Object} values - Key-value pairs representing print styles.
11
+ * @protected
12
+ */
13
+ setPrintStyle(values) {
14
+ this._printStyle = [];
15
+ for (let key in values) {
16
+ if (values.hasOwnProperty(key)) {
17
+ this._printStyle.push((key + JSON.stringify(values[key])).replace(/['"]+/g, ''));
18
+ }
19
+ }
20
+ }
21
+ /**
22
+ *
23
+ *
24
+ * @returns the string that create the stylesheet which will be injected
25
+ * later within <style></style> tag.
26
+ *
27
+ * -join/replace to transform an array objects to css-styled string
28
+ */
29
+ returnStyleValues() {
30
+ return `<style> ${this._printStyle.join(' ').replace(/,/g, ';')} </style>`;
31
+ }
32
+ /**
33
+ * @returns string which contains the link tags containing the css which will
34
+ * be injected later within <head></head> tag.
35
+ *
36
+ */
37
+ returnStyleSheetLinkTags() {
38
+ return this._styleSheetFile;
39
+ }
40
+ /**
41
+ * Sets the style sheet file based on the provided CSS list.
42
+ *
43
+ * @param {string} cssList - CSS file or list of CSS files.
44
+ * @protected
45
+ */
46
+ setStyleSheetFile(cssList) {
47
+ let linkTagFn = function (cssFileName) {
48
+ return `<link rel="stylesheet" type="text/css" href="${cssFileName}">`;
49
+ };
50
+ if (cssList.indexOf(',') !== -1) {
51
+ const valueArr = cssList.split(',');
52
+ this._styleSheetFile = valueArr.map(val => linkTagFn(val)).join('');
53
+ }
54
+ else {
55
+ this._styleSheetFile = linkTagFn(cssList);
56
+ }
57
+ }
58
+ //#endregion
59
+ //#region Private methods used by PrintBase
60
+ /**
61
+ * Updates the default values for input elements.
62
+ *
63
+ * @param {HTMLCollectionOf<HTMLInputElement>} elements - Collection of input elements.
64
+ * @private
65
+ */
66
+ updateInputDefaults(elements) {
67
+ for (let i = 0; i < elements.length; i++) {
68
+ const element = elements[i];
69
+ element['defaultValue'] = element.value;
70
+ if (element['checked'])
71
+ element['defaultChecked'] = true;
72
+ }
73
+ }
74
+ /**
75
+ * Updates the default values for select elements.
76
+ *
77
+ * @param {HTMLCollectionOf<HTMLSelectElement>} elements - Collection of select elements.
78
+ * @private
79
+ */
80
+ updateSelectDefaults(elements) {
81
+ for (let i = 0; i < elements.length; i++) {
82
+ const element = elements[i];
83
+ const selectedIdx = element.selectedIndex;
84
+ const selectedOption = element.options[selectedIdx];
85
+ selectedOption.defaultSelected = true;
86
+ }
87
+ }
88
+ /**
89
+ * Updates the default values for textarea elements.
90
+ *
91
+ * @param {HTMLCollectionOf<HTMLTextAreaElement>} elements - Collection of textarea elements.
92
+ * @private
93
+ */
94
+ updateTextAreaDefaults(elements) {
95
+ for (let i = 0; i < elements.length; i++) {
96
+ const element = elements[i];
97
+ element['defaultValue'] = element.value;
98
+ }
99
+ }
100
+ /**
101
+ * Retrieves the HTML content of a specified printing section.
102
+ *
103
+ * @param {string} printSectionId - Id of the printing section.
104
+ * @returns {string | null} - HTML content of the printing section, or null if not found.
105
+ * @private
106
+ */
107
+ getHtmlContents(printSectionId) {
108
+ const printContents = document.getElementById(printSectionId);
109
+ if (!printContents)
110
+ return null;
111
+ const inputEls = printContents.getElementsByTagName('input');
112
+ const selectEls = printContents.getElementsByTagName('select');
113
+ const textAreaEls = printContents.getElementsByTagName('textarea');
114
+ this.updateInputDefaults(inputEls);
115
+ this.updateSelectDefaults(selectEls);
116
+ this.updateTextAreaDefaults(textAreaEls);
117
+ return printContents.innerHTML;
118
+ }
119
+ /**
120
+ * Retrieves the HTML content of elements with the specified tag.
121
+ *
122
+ * @param {keyof HTMLElementTagNameMap} tag - HTML tag name.
123
+ * @returns {string} - Concatenated outerHTML of elements with the specified tag.
124
+ * @private
125
+ */
126
+ getElementTag(tag) {
127
+ const html = [];
128
+ const elements = document.getElementsByTagName(tag);
129
+ for (let index = 0; index < elements.length; index++) {
130
+ html.push(elements[index].outerHTML);
131
+ }
132
+ return html.join('\r\n');
133
+ }
134
+ //#endregion
135
+ /**
136
+ * Prints the specified content using the provided print options.
137
+ *
138
+ * @param {PrintOptions} printOptions - Options for printing.
139
+ * @public
140
+ */
141
+ print(printOptions) {
142
+ let styles = '', links = '';
143
+ const baseTag = this.getElementTag('base');
144
+ if (printOptions.useExistingCss) {
145
+ styles = this.getElementTag('style');
146
+ links = this.getElementTag('link');
147
+ }
148
+ const printContents = this.getHtmlContents(printOptions.printSectionId);
149
+ if (!printContents) {
150
+ // Handle the case where the specified print section is not found.
151
+ console.error(`Print section with id ${printOptions.printSectionId} not found.`);
152
+ return;
153
+ }
154
+ const popupWin = window.open("", "_blank", "top=0,left=0,height=auto,width=auto");
155
+ popupWin.document.open();
156
+ popupWin.document.write(`
157
+ <html>
158
+ <head>
159
+ <title>${printOptions.printTitle ? printOptions.printTitle : ""}</title>
160
+ ${baseTag}
161
+ ${this.returnStyleValues()}
162
+ ${this.returnStyleSheetLinkTags()}
163
+ ${styles}
164
+ ${links}
165
+ </head>
166
+ <body ${printOptions.bodyClass ? `class="${printOptions.bodyClass}"` : ''}>
167
+ ${printContents}
168
+ <script defer>
169
+ function triggerPrint(event) {
170
+ window.removeEventListener('load', triggerPrint, false);
171
+ ${printOptions.previewOnly ? '' : `setTimeout(function() {
172
+ closeWindow(window.print());
173
+ }, ${printOptions.printDelay});`}
174
+ }
175
+ function closeWindow(){
176
+ ${printOptions.closeWindow ? 'window.close();' : ''}
177
+ }
178
+ window.addEventListener('load', triggerPrint, false);
179
+ </script>
180
+ </body>
181
+ </html>`);
182
+ popupWin.document.close();
183
+ }
184
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PrintBase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
185
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PrintBase, providedIn: 'root' });
186
+ }
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PrintBase, decorators: [{
188
+ type: Injectable,
189
+ args: [{
190
+ providedIn: 'root'
191
+ }]
192
+ }] });
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL25neC1wcmludC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxTQUFTO0lBRVYsV0FBVyxHQUFhLEVBQUUsQ0FBQztJQUMzQixlQUFlLEdBQVcsRUFBRSxDQUFDO0lBRXJDLDZCQUE2QjtJQUM3Qjs7Ozs7T0FLRztJQUNPLGFBQWEsQ0FBQyxNQUFvRDtRQUN4RSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUNwQixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDcEY7U0FDSjtJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksaUJBQWlCO1FBQ3BCLE9BQU8sV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7O0tBSUM7SUFDTyx3QkFBd0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGlCQUFpQixDQUFDLE9BQWU7UUFDdkMsSUFBSSxTQUFTLEdBQUcsVUFBVSxXQUFXO1lBQ2pDLE9BQU8sZ0RBQWdELFdBQVcsSUFBSSxDQUFDO1FBQzNFLENBQUMsQ0FB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RTtnQkFDN0QsT0FBTztnQkFDUCxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtnQkFDL0IsTUFBTTtnQkFDTixLQUFLOztvQkFFRCxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLFlBQVksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDckUsYUFBYTs7OztvQkFJVCxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDOzt1QkFFN0IsWUFBWSxDQUFDLFVBQVUsSUFBSTs7O29CQUc5QixZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRTs7Ozs7a0JBS25ELENBQUMsQ0FBQztRQUNaLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt1R0F4TVEsU0FBUzsyR0FBVCxTQUFTLGNBRk4sTUFBTTs7MkZBRVQsU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUHJpbnRPcHRpb25zIH0gZnJvbSBcIi4vcHJpbnQtb3B0aW9uc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcmludEJhc2Uge1xyXG5cclxuICAgIHByaXZhdGUgX3ByaW50U3R5bGU6IHN0cmluZ1tdID0gW107XHJcbiAgICBwcml2YXRlIF9zdHlsZVNoZWV0RmlsZTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLy8jcmVnaW9uIEdldHRlcnMgYW5kIFNldHRlcnNcclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgcHJpbnQgc3R5bGVzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCB2YWx1ZXMuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHZhbHVlcyAtIEtleS12YWx1ZSBwYWlycyByZXByZXNlbnRpbmcgcHJpbnQgc3R5bGVzLlxyXG4gICAgICogQHByb3RlY3RlZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgc2V0UHJpbnRTdHlsZSh2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB9KSB7XHJcbiAgICAgICAgdGhpcy5fcHJpbnRTdHlsZSA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGtleSBpbiB2YWx1ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9wcmludFN0eWxlLnB1c2goKGtleSArIEpTT04uc3RyaW5naWZ5KHZhbHVlc1trZXldKSkucmVwbGFjZSgvWydcIl0rL2csICcnKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHRoZSBzdHJpbmcgdGhhdCBjcmVhdGUgdGhlIHN0eWxlc2hlZXQgd2hpY2ggd2lsbCBiZSBpbmplY3RlZFxyXG4gICAgICogbGF0ZXIgd2l0aGluIDxzdHlsZT48L3N0eWxlPiB0YWcuXHJcbiAgICAgKlxyXG4gICAgICogLWpvaW4vcmVwbGFjZSB0byB0cmFuc2Zvcm0gYW4gYXJyYXkgb2JqZWN0cyB0byBjc3Mtc3R5bGVkIHN0cmluZ1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmV0dXJuU3R5bGVWYWx1ZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIGA8c3R5bGU+ICR7dGhpcy5fcHJpbnRTdHlsZS5qb2luKCcgJykucmVwbGFjZSgvLC9nLCAnOycpfSA8L3N0eWxlPmA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICogQHJldHVybnMgc3RyaW5nIHdoaWNoIGNvbnRhaW5zIHRoZSBsaW5rIHRhZ3MgY29udGFpbmluZyB0aGUgY3NzIHdoaWNoIHdpbGxcclxuICAgKiBiZSBpbmplY3RlZCBsYXRlciB3aXRoaW4gPGhlYWQ+PC9oZWFkPiB0YWcuXHJcbiAgICpcclxuICAgKi9cclxuICAgIHByaXZhdGUgcmV0dXJuU3R5bGVTaGVldExpbmtUYWdzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdHlsZVNoZWV0RmlsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHN0eWxlIHNoZWV0IGZpbGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIENTUyBsaXN0LlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBjc3NMaXN0IC0gQ1NTIGZpbGUgb3IgbGlzdCBvZiBDU1MgZmlsZXMuXHJcbiAgICAgKiBAcHJvdGVjdGVkXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBzZXRTdHlsZVNoZWV0RmlsZShjc3NMaXN0OiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgbGlua1RhZ0ZuID0gZnVuY3Rpb24gKGNzc0ZpbGVOYW1lKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIHR5cGU9XCJ0ZXh0L2Nzc1wiIGhyZWY9XCIke2Nzc0ZpbGVOYW1lfVwiPmA7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKGNzc0xpc3QuaW5kZXhPZignLCcpICE9PSAtMSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZUFyciA9IGNzc0xpc3Quc3BsaXQoJywnKTtcclxuICAgICAgICAgICAgdGhpcy5fc3R5bGVTaGVldEZpbGUgPSB2YWx1ZUFyci5tYXAodmFsID0+IGxpbmtUYWdGbih2YWwpKS5qb2luKCcnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9zdHlsZVNoZWV0RmlsZSA9IGxpbmtUYWdGbihjc3NMaXN0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIFByaXZhdGUgbWV0aG9kcyB1c2VkIGJ5IFByaW50QmFzZVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGlucHV0IGVsZW1lbnRzLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7SFRNTENvbGxlY3Rpb25PZjxIVE1MSW5wdXRFbGVtZW50Pn0gZWxlbWVudHMgLSBDb2xsZWN0aW9uIG9mIGlucHV0IGVsZW1lbnRzLlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnB1dERlZmF1bHRzKGVsZW1lbnRzOiBIVE1MQ29sbGVjdGlvbk9mPEhUTUxJbnB1dEVsZW1lbnQ+KTogdm9pZCB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbaV07XHJcbiAgICAgICAgICAgIGVsZW1lbnRbJ2RlZmF1bHRWYWx1ZSddID0gZWxlbWVudC52YWx1ZTtcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnRbJ2NoZWNrZWQnXSkgZWxlbWVudFsnZGVmYXVsdENoZWNrZWQnXSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHNlbGVjdCBlbGVtZW50cy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge0hUTUxDb2xsZWN0aW9uT2Y8SFRNTFNlbGVjdEVsZW1lbnQ+fSBlbGVtZW50cyAtIENvbGxlY3Rpb24gb2Ygc2VsZWN0IGVsZW1lbnRzLlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWxlY3REZWZhdWx0cyhlbGVtZW50czogSFRNTENvbGxlY3Rpb25PZjxIVE1MU2VsZWN0RWxlbWVudD4pOiB2b2lkIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50c1tpXTtcclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHggPSBlbGVtZW50LnNlbGVjdGVkSW5kZXg7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uOiBIVE1MT3B0aW9uRWxlbWVudCA9IGVsZW1lbnQub3B0aW9uc1tzZWxlY3RlZElkeF07XHJcblxyXG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbi5kZWZhdWx0U2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZXMgdGhlIGRlZmF1bHQgdmFsdWVzIGZvciB0ZXh0YXJlYSBlbGVtZW50cy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge0hUTUxDb2xsZWN0aW9uT2Y8SFRNTFRleHRBcmVhRWxlbWVudD59IGVsZW1lbnRzIC0gQ29sbGVjdGlvbiBvZiB0ZXh0YXJlYSBlbGVtZW50cy5cclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlVGV4dEFyZWFEZWZhdWx0cyhlbGVtZW50czogSFRNTENvbGxlY3Rpb25PZjxIVE1MVGV4dEFyZWFFbGVtZW50Pik6IHZvaWQge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBlbGVtZW50WydkZWZhdWx0VmFsdWUnXSA9IGVsZW1lbnQudmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIHRoZSBIVE1MIGNvbnRlbnQgb2YgYSBzcGVjaWZpZWQgcHJpbnRpbmcgc2VjdGlvbi5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJpbnRTZWN0aW9uSWQgLSBJZCBvZiB0aGUgcHJpbnRpbmcgc2VjdGlvbi5cclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfSAtIEhUTUwgY29udGVudCBvZiB0aGUgcHJpbnRpbmcgc2VjdGlvbiwgb3IgbnVsbCBpZiBub3QgZm91bmQuXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldEh0bWxDb250ZW50cyhwcmludFNlY3Rpb25JZDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgcHJpbnRDb250ZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHByaW50U2VjdGlvbklkKTtcclxuICAgICAgICBpZiAoIXByaW50Q29udGVudHMpIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICBjb25zdCBpbnB1dEVscyA9IHByaW50Q29udGVudHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0RWxzID0gcHJpbnRDb250ZW50cy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7XHJcbiAgICAgICAgY29uc3QgdGV4dEFyZWFFbHMgPSBwcmludENvbnRlbnRzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZXh0YXJlYScpO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZUlucHV0RGVmYXVsdHMoaW5wdXRFbHMpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0RGVmYXVsdHMoc2VsZWN0RWxzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVRleHRBcmVhRGVmYXVsdHModGV4dEFyZWFFbHMpO1xyXG5cclxuICAgICAgICByZXR1cm4gcHJpbnRDb250ZW50cy5pbm5lckhUTUw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIEhUTUwgY29udGVudCBvZiBlbGVtZW50cyB3aXRoIHRoZSBzcGVjaWZpZWQgdGFnLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7a2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwfSB0YWcgLSBIVE1MIHRhZyBuYW1lLlxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gLSBDb25jYXRlbmF0ZWQgb3V0ZXJIVE1MIG9mIGVsZW1lbnRzIHdpdGggdGhlIHNwZWNpZmllZCB0YWcuXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldEVsZW1lbnRUYWcodGFnOiBrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXApOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGh0bWw6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWcpO1xyXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBlbGVtZW50cy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICAgICAgaHRtbC5wdXNoKGVsZW1lbnRzW2luZGV4XS5vdXRlckhUTUwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaHRtbC5qb2luKCdcXHJcXG4nKTtcclxuICAgIH1cclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByaW50cyB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgdXNpbmcgdGhlIHByb3ZpZGVkIHByaW50IG9wdGlvbnMuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtQcmludE9wdGlvbnN9IHByaW50T3B0aW9ucyAtIE9wdGlvbnMgZm9yIHByaW50aW5nLlxyXG4gICAgICogQHB1YmxpY1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgcHJpbnQocHJpbnRPcHRpb25zOiBQcmludE9wdGlvbnMpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgbGV0IHN0eWxlcyA9ICcnLCBsaW5rcyA9ICcnO1xyXG4gICAgICAgIGNvbnN0IGJhc2VUYWcgPSB0aGlzLmdldEVsZW1lbnRUYWcoJ2Jhc2UnKTtcclxuXHJcbiAgICAgICAgaWYgKHByaW50T3B0aW9ucy51c2VFeGlzdGluZ0Nzcykge1xyXG4gICAgICAgICAgICBzdHlsZXMgPSB0aGlzLmdldEVsZW1lbnRUYWcoJ3N0eWxlJyk7XHJcbiAgICAgICAgICAgIGxpbmtzID0gdGhpcy5nZXRFbGVtZW50VGFnKCdsaW5rJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwcmludENvbnRlbnRzID0gdGhpcy5nZXRIdG1sQ29udGVudHMocHJpbnRPcHRpb25zLnByaW50U2VjdGlvbklkKTtcclxuICAgICAgICBpZiAoIXByaW50Q29udGVudHMpIHtcclxuICAgICAgICAgICAgLy8gSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBzcGVjaWZpZWQgcHJpbnQgc2VjdGlvbiBpcyBub3QgZm91bmQuXHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFByaW50IHNlY3Rpb24gd2l0aCBpZCAke3ByaW50T3B0aW9ucy5wcmludFNlY3Rpb25JZH0gbm90IGZvdW5kLmApO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwb3B1cFdpbiA9IHdpbmRvdy5vcGVuKFwiXCIsIFwiX2JsYW5rXCIsIFwidG9wPTAsbGVmdD0wLGhlaWdodD1hdXRvLHdpZHRoPWF1dG9cIik7XHJcbiAgICAgICAgcG9wdXBXaW4uZG9jdW1lbnQub3BlbigpO1xyXG4gICAgICAgIHBvcHVwV2luLmRvY3VtZW50LndyaXRlKGBcclxuICAgICAgICAgIDxodG1sPlxyXG4gICAgICAgICAgICA8aGVhZD5cclxuICAgICAgICAgICAgICA8dGl0bGU+JHtwcmludE9wdGlvbnMucHJpbnRUaXRsZSA/IHByaW50T3B0aW9ucy5wcmludFRpdGxlIDogXCJcIn08L3RpdGxlPlxyXG4gICAgICAgICAgICAgICR7YmFzZVRhZ31cclxuICAgICAgICAgICAgICAke3RoaXMucmV0dXJuU3R5bGVWYWx1ZXMoKX1cclxuICAgICAgICAgICAgICAke3RoaXMucmV0dXJuU3R5bGVTaGVldExpbmtUYWdzKCl9XHJcbiAgICAgICAgICAgICAgJHtzdHlsZXN9XHJcbiAgICAgICAgICAgICAgJHtsaW5rc31cclxuICAgICAgICAgICAgPC9oZWFkPlxyXG4gICAgICAgICAgICA8Ym9keSAke3ByaW50T3B0aW9ucy5ib2R5Q2xhc3MgPyBgY2xhc3M9XCIke3ByaW50T3B0aW9ucy5ib2R5Q2xhc3N9XCJgIDogJyd9PlxyXG4gICAgICAgICAgICAgICR7cHJpbnRDb250ZW50c31cclxuICAgICAgICAgICAgICA8c2NyaXB0IGRlZmVyPlxyXG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlclByaW50KGV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgdHJpZ2dlclByaW50LCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICR7cHJpbnRPcHRpb25zLnByZXZpZXdPbmx5ID8gJycgOiBgc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgICAgICBjbG9zZVdpbmRvdyh3aW5kb3cucHJpbnQoKSk7XHJcbiAgICAgICAgICAgICAgICAgIH0sICR7cHJpbnRPcHRpb25zLnByaW50RGVsYXl9KTtgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gY2xvc2VXaW5kb3coKXtcclxuICAgICAgICAgICAgICAgICAgJHtwcmludE9wdGlvbnMuY2xvc2VXaW5kb3cgPyAnd2luZG93LmNsb3NlKCk7JyA6ICcnfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0cmlnZ2VyUHJpbnQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICA8L3NjcmlwdD5cclxuICAgICAgICAgICAgPC9ib2R5PlxyXG4gICAgICAgICAgPC9odG1sPmApO1xyXG4gICAgICAgIHBvcHVwV2luLmRvY3VtZW50LmNsb3NlKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,115 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import { PrintBase } from './ngx-print.base';
3
+ import { PrintOptions } from './print-options';
4
+ import * as i0 from "@angular/core";
5
+ export class NgxPrintDirective extends PrintBase {
6
+ printOptions = new PrintOptions();
7
+ /**
8
+ * Prevents the print dialog from opening on the window
9
+ *
10
+ * @memberof NgxPrintDirective
11
+ */
12
+ set previewOnly(value) {
13
+ this.printOptions = { ...this.printOptions, previewOnly: value };
14
+ }
15
+ /**
16
+ *
17
+ *
18
+ * @memberof NgxPrintDirective
19
+ */
20
+ set printSectionId(value) {
21
+ this.printOptions = { ...this.printOptions, printSectionId: value };
22
+ }
23
+ /**
24
+ *
25
+ *
26
+ * @memberof NgxPrintDirective
27
+ */
28
+ set printTitle(value) {
29
+ this.printOptions = { ...this.printOptions, printSectionId: value };
30
+ }
31
+ /**
32
+ *
33
+ *
34
+ * @memberof NgxPrintDirective
35
+ */
36
+ set useExistingCss(value) {
37
+ this.printOptions = { ...this.printOptions, useExistingCss: value };
38
+ }
39
+ /**
40
+ * A delay in milliseconds to force the print dialog to wait before opened. Default: 0
41
+ *
42
+ * @memberof NgxPrintDirective
43
+ */
44
+ set printDelay(value) {
45
+ this.printOptions = { ...this.printOptions, printDelay: value };
46
+ }
47
+ /**
48
+ * Whether to close the window after print() returns.
49
+ *
50
+ */
51
+ set closeWindow(value) {
52
+ this.printOptions = { ...this.printOptions, closeWindow: value };
53
+ }
54
+ /**
55
+ * Class attribute to apply to the body element.
56
+ *
57
+ */
58
+ set bodyClass(value) {
59
+ this.printOptions = { ...this.printOptions, bodyClass: value };
60
+ }
61
+ /**
62
+ *
63
+ *
64
+ * @memberof NgxPrintDirective
65
+ */
66
+ set printStyle(values) {
67
+ super.setPrintStyle(values);
68
+ }
69
+ /**
70
+ * @memberof NgxPrintDirective
71
+ * @param cssList
72
+ */
73
+ set styleSheetFile(cssList) {
74
+ super.setStyleSheetFile(cssList);
75
+ }
76
+ /**
77
+ *
78
+ *
79
+ * @memberof NgxPrintDirective
80
+ */
81
+ print() {
82
+ super.print(this.printOptions);
83
+ }
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NgxPrintDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
85
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: NgxPrintDirective, isStandalone: true, selector: "button[ngxPrint]", inputs: { previewOnly: "previewOnly", printSectionId: "printSectionId", printTitle: "printTitle", useExistingCss: "useExistingCss", printDelay: "printDelay", closeWindow: "closeWindow", bodyClass: "bodyClass", printStyle: "printStyle", styleSheetFile: "styleSheetFile" }, host: { listeners: { "click": "print()" } }, usesInheritance: true, ngImport: i0 });
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NgxPrintDirective, decorators: [{
88
+ type: Directive,
89
+ args: [{
90
+ selector: "button[ngxPrint]",
91
+ standalone: true
92
+ }]
93
+ }], propDecorators: { previewOnly: [{
94
+ type: Input
95
+ }], printSectionId: [{
96
+ type: Input
97
+ }], printTitle: [{
98
+ type: Input
99
+ }], useExistingCss: [{
100
+ type: Input
101
+ }], printDelay: [{
102
+ type: Input
103
+ }], closeWindow: [{
104
+ type: Input
105
+ }], bodyClass: [{
106
+ type: Input
107
+ }], printStyle: [{
108
+ type: Input
109
+ }], styleSheetFile: [{
110
+ type: Input
111
+ }], print: [{
112
+ type: HostListener,
113
+ args: ['click']
114
+ }] } });
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbmd4LXByaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFLL0MsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFNBQVM7SUFDdEMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDMUM7Ozs7T0FJRztJQUNILElBQWEsV0FBVyxDQUFDLEtBQWM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFhLGNBQWMsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBYSxVQUFVLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQWEsY0FBYyxDQUFDLEtBQWM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFhLFVBQVUsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFhLFdBQVcsQ0FBQyxLQUFjO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ25FLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFhLFNBQVMsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDSSxVQUFVLENBQUMsTUFBb0Q7UUFDakUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsSUFDSSxjQUFjLENBQUMsT0FBZTtRQUNoQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFFSSxLQUFLO1FBQ1YsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakMsQ0FBQzt1R0EzRlUsaUJBQWlCOzJGQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQVFjLFdBQVc7c0JBQXZCLEtBQUs7Z0JBU08sY0FBYztzQkFBMUIsS0FBSztnQkFTTyxVQUFVO3NCQUF0QixLQUFLO2dCQVNPLGNBQWM7c0JBQTFCLEtBQUs7Z0JBU08sVUFBVTtzQkFBdEIsS0FBSztnQkFRTyxXQUFXO3NCQUF2QixLQUFLO2dCQVFPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLO2dCQVdGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBV0MsS0FBSztzQkFEWCxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJpbnRCYXNlIH0gZnJvbSAnLi9uZ3gtcHJpbnQuYmFzZSc7XHJcbmltcG9ydCB7IFByaW50T3B0aW9ucyB9IGZyb20gJy4vcHJpbnQtb3B0aW9ucyc7XHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiBcImJ1dHRvbltuZ3hQcmludF1cIixcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hQcmludERpcmVjdGl2ZSBleHRlbmRzIFByaW50QmFzZSB7XHJcbiAgcHJpdmF0ZSBwcmludE9wdGlvbnMgPSBuZXcgUHJpbnRPcHRpb25zKCk7XHJcbiAgLyoqXHJcbiAgICogUHJldmVudHMgdGhlIHByaW50IGRpYWxvZyBmcm9tIG9wZW5pbmcgb24gdGhlIHdpbmRvd1xyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2V0IHByZXZpZXdPbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnByaW50T3B0aW9ucyA9IHsgLi4udGhpcy5wcmludE9wdGlvbnMsIHByZXZpZXdPbmx5OiB2YWx1ZSB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNldCBwcmludFNlY3Rpb25JZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnByaW50T3B0aW9ucyA9IHsgLi4udGhpcy5wcmludE9wdGlvbnMsIHByaW50U2VjdGlvbklkOiB2YWx1ZSB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNldCBwcmludFRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucHJpbnRPcHRpb25zID0geyAuLi50aGlzLnByaW50T3B0aW9ucywgcHJpbnRTZWN0aW9uSWQ6IHZhbHVlIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2V0IHVzZUV4aXN0aW5nQ3NzKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnByaW50T3B0aW9ucyA9IHsgLi4udGhpcy5wcmludE9wdGlvbnMsIHVzZUV4aXN0aW5nQ3NzOiB2YWx1ZSB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQSBkZWxheSBpbiBtaWxsaXNlY29uZHMgdG8gZm9yY2UgdGhlIHByaW50IGRpYWxvZyB0byB3YWl0IGJlZm9yZSBvcGVuZWQuIERlZmF1bHQ6IDBcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNldCBwcmludERlbGF5KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMucHJpbnRPcHRpb25zID0geyAuLi50aGlzLnByaW50T3B0aW9ucywgcHJpbnREZWxheTogdmFsdWUgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gY2xvc2UgdGhlIHdpbmRvdyBhZnRlciBwcmludCgpIHJldHVybnMuXHJcbiAgICpcclxuICAgKi9cclxuICBASW5wdXQoKSBzZXQgY2xvc2VXaW5kb3codmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMucHJpbnRPcHRpb25zID0geyAuLi50aGlzLnByaW50T3B0aW9ucywgY2xvc2VXaW5kb3c6IHZhbHVlIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGFzcyBhdHRyaWJ1dGUgdG8gYXBwbHkgdG8gdGhlIGJvZHkgZWxlbWVudC5cclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNldCBib2R5Q2xhc3ModmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5wcmludE9wdGlvbnMgPSB7IC4uLnRoaXMucHJpbnRPcHRpb25zLCBib2R5Q2xhc3M6IHZhbHVlIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgcHJpbnRTdHlsZSh2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB9KSB7XHJcbiAgICBzdXBlci5zZXRQcmludFN0eWxlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICogQHBhcmFtIGNzc0xpc3RcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzdHlsZVNoZWV0RmlsZShjc3NMaXN0OiBzdHJpbmcpIHtcclxuICAgIHN1cGVyLnNldFN0eWxlU2hlZXRGaWxlKGNzc0xpc3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICBwdWJsaWMgcHJpbnQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5wcmludCh0aGlzLnByaW50T3B0aW9ucyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { NgxPrintDirective } from './ngx-print.directive';
3
+ import * as i0 from "@angular/core";
4
+ export class NgxPrintModule {
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NgxPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: NgxPrintModule, imports: [NgxPrintDirective], exports: [NgxPrintDirective] });
7
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NgxPrintModule });
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NgxPrintModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ imports: [NgxPrintDirective],
13
+ exports: [NgxPrintDirective]
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbmd4LXByaW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU0xRCxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsWUFIZixpQkFBaUIsYUFDakIsaUJBQWlCO3dHQUVoQixjQUFjOzsyRkFBZCxjQUFjO2tCQUoxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hQcmludERpcmVjdGl2ZSB9IGZyb20gJy4vbmd4LXByaW50LmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtOZ3hQcmludERpcmVjdGl2ZV0sXHJcbiAgZXhwb3J0czogW05neFByaW50RGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4UHJpbnRNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,53 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { PrintBase } from "./ngx-print.base";
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Service for handling printing functionality in Angular applications.
6
+ * Extends the base printing class (PrintBase).
7
+ *
8
+ * @export
9
+ * @class NgxPrintService
10
+ * @extends {PrintBase}
11
+ */
12
+ export class NgxPrintService extends PrintBase {
13
+ /**
14
+ * Initiates the printing process using the provided print options.
15
+ *
16
+ * @param {PrintOptions} printOptions - Options for configuring the printing process.
17
+ * @memberof NgxPrintService
18
+ * @returns {void}
19
+ */
20
+ print(printOptions) {
21
+ // Call the print method in the parent class
22
+ super.print(printOptions);
23
+ }
24
+ /**
25
+ * Sets the print style for the printing process.
26
+ *
27
+ * @param {{ [key: string]: { [key: string]: string } }} values - A dictionary representing the print styles.
28
+ * @memberof NgxPrintService
29
+ * @setter
30
+ */
31
+ set printStyle(values) {
32
+ super.setPrintStyle(values);
33
+ }
34
+ /**
35
+ * Sets the stylesheet file for the printing process.
36
+ *
37
+ * @param {string} cssList - A string representing the path to the stylesheet file.
38
+ * @memberof NgxPrintService
39
+ * @setter
40
+ */
41
+ set styleSheetFile(cssList) {
42
+ super.setStyleSheetFile(cssList);
43
+ }
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NgxPrintService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
45
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NgxPrintService, providedIn: "root" });
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: NgxPrintService, decorators: [{
48
+ type: Injectable,
49
+ args: [{
50
+ providedIn: "root",
51
+ }]
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL25neC1wcmludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUc3Qzs7Ozs7OztHQU9HO0FBSUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsU0FBUztJQUU1Qzs7Ozs7O09BTUc7SUFDSSxLQUFLLENBQUMsWUFBMEI7UUFDckMsNENBQTRDO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksVUFBVSxDQUFDLE1BQW9EO1FBQ2pFLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUdEOzs7Ozs7T0FNRztJQUNILElBQUksY0FBYyxDQUFDLE9BQWU7UUFDaEMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7dUdBbkNVLGVBQWU7MkdBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFByaW50QmFzZSB9IGZyb20gXCIuL25neC1wcmludC5iYXNlXCI7XHJcbmltcG9ydCB7IFByaW50T3B0aW9ucyB9IGZyb20gXCIuL3ByaW50LW9wdGlvbnNcIjtcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIGZvciBoYW5kbGluZyBwcmludGluZyBmdW5jdGlvbmFsaXR5IGluIEFuZ3VsYXIgYXBwbGljYXRpb25zLlxyXG4gKiBFeHRlbmRzIHRoZSBiYXNlIHByaW50aW5nIGNsYXNzIChQcmludEJhc2UpLlxyXG4gKlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBOZ3hQcmludFNlcnZpY2VcclxuICogQGV4dGVuZHMge1ByaW50QmFzZX1cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFByaW50U2VydmljZSBleHRlbmRzIFByaW50QmFzZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYXRlcyB0aGUgcHJpbnRpbmcgcHJvY2VzcyB1c2luZyB0aGUgcHJvdmlkZWQgcHJpbnQgb3B0aW9ucy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UHJpbnRPcHRpb25zfSBwcmludE9wdGlvbnMgLSBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgcHJpbnRpbmcgcHJvY2Vzcy5cclxuICAgKiBAbWVtYmVyb2YgTmd4UHJpbnRTZXJ2aWNlXHJcbiAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICovXHJcbiAgcHVibGljIHByaW50KHByaW50T3B0aW9uczogUHJpbnRPcHRpb25zKTogdm9pZCB7XHJcbiAgICAvLyBDYWxsIHRoZSBwcmludCBtZXRob2QgaW4gdGhlIHBhcmVudCBjbGFzc1xyXG4gICAgc3VwZXIucHJpbnQocHJpbnRPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHByaW50IHN0eWxlIGZvciB0aGUgcHJpbnRpbmcgcHJvY2Vzcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7eyBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IH19IHZhbHVlcyAtIEEgZGljdGlvbmFyeSByZXByZXNlbnRpbmcgdGhlIHByaW50IHN0eWxlcy5cclxuICAgKiBAbWVtYmVyb2YgTmd4UHJpbnRTZXJ2aWNlXHJcbiAgICogQHNldHRlclxyXG4gICAqL1xyXG4gIHNldCBwcmludFN0eWxlKHZhbHVlczogeyBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IH0pIHtcclxuICAgIHN1cGVyLnNldFByaW50U3R5bGUodmFsdWVzKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzdHlsZXNoZWV0IGZpbGUgZm9yIHRoZSBwcmludGluZyBwcm9jZXNzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNzc0xpc3QgLSBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBhdGggdG8gdGhlIHN0eWxlc2hlZXQgZmlsZS5cclxuICAgKiBAbWVtYmVyb2YgTmd4UHJpbnRTZXJ2aWNlXHJcbiAgICogQHNldHRlclxyXG4gICAqL1xyXG4gIHNldCBzdHlsZVNoZWV0RmlsZShjc3NMaXN0OiBzdHJpbmcpIHtcclxuICAgIHN1cGVyLnNldFN0eWxlU2hlZXRGaWxlKGNzc0xpc3QpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ export class PrintOptions {
2
+ printSectionId = null;
3
+ printTitle = null;
4
+ useExistingCss = false;
5
+ bodyClass = '';
6
+ previewOnly = false;
7
+ closeWindow = true;
8
+ printDelay = 0;
9
+ constructor(options) {
10
+ if (options) {
11
+ Object.assign(this, options);
12
+ }
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcHJpbnQtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQUN2QixjQUFjLEdBQVcsSUFBSSxDQUFDO0lBQzlCLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFDMUIsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUNoQyxTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0IsV0FBVyxHQUFZLElBQUksQ0FBQztJQUM1QixVQUFVLEdBQVcsQ0FBQyxDQUFDO0lBRXZCLFlBQVksT0FBK0I7UUFDekMsSUFBSSxPQUFPLEVBQUU7WUFDWCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBQcmludE9wdGlvbnMge1xyXG4gIHByaW50U2VjdGlvbklkOiBzdHJpbmcgPSBudWxsO1xyXG4gIHByaW50VGl0bGU6IHN0cmluZyA9IG51bGw7XHJcbiAgdXNlRXhpc3RpbmdDc3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBib2R5Q2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIHByZXZpZXdPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2xvc2VXaW5kb3c6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHByaW50RGVsYXk6IG51bWJlciA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBQYXJ0aWFsPFByaW50T3B0aW9ucz4pIHtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25neC1wcmludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Public API Surface of ngx-print
3
+ */
4
+ export * from './lib/ngx-print.service';
5
+ export * from './lib/ngx-print.directive';
6
+ export * from './lib/ngx-print.module';
7
+ export * from './lib/print-options';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtcHJpbnRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1wcmludC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXByaW50LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1wcmludC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcmludC1vcHRpb25zJztcclxuIl19