@dereekb/dbx-web 12.6.12 → 12.6.13
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/esm2022/lib/extension/download/text/download.text.component.mjs +7 -39
- package/esm2022/lib/extension/download/text/download.text.module.mjs +2 -2
- package/esm2022/lib/extension/help/absract.help.widget.directive.mjs +20 -0
- package/esm2022/lib/extension/help/help.context.directive.mjs +29 -0
- package/esm2022/lib/extension/help/help.context.mjs +24 -0
- package/esm2022/lib/extension/help/help.context.service.mjs +34 -0
- package/esm2022/lib/extension/help/help.mjs +2 -0
- package/esm2022/lib/extension/help/help.providers.mjs +20 -0
- package/esm2022/lib/extension/help/help.view.list.component.mjs +60 -0
- package/esm2022/lib/extension/help/help.view.list.entry.component.mjs +58 -0
- package/esm2022/lib/extension/help/help.view.popover.button.component.mjs +45 -0
- package/esm2022/lib/extension/help/help.view.popover.component.mjs +49 -0
- package/esm2022/lib/extension/help/help.widget.mjs +6 -0
- package/esm2022/lib/extension/help/help.widget.service.mjs +84 -0
- package/esm2022/lib/extension/help/index.mjs +13 -0
- package/esm2022/lib/extension/index.mjs +2 -1
- package/esm2022/lib/layout/content/content.pit.directive.mjs +4 -2
- package/esm2022/lib/layout/text/copy.text.component.mjs +39 -0
- package/esm2022/lib/layout/text/copy.text.directive.mjs +56 -0
- package/esm2022/lib/layout/text/detail.block.component.mjs +5 -3
- package/esm2022/lib/layout/text/index.mjs +3 -1
- package/esm2022/lib/layout/text/text.module.mjs +6 -4
- package/esm2022/lib/util/clipboard.directive.mjs +20 -0
- package/esm2022/lib/util/clipboard.mjs +98 -0
- package/esm2022/lib/util/index.mjs +3 -1
- package/fesm2022/dereekb-dbx-web.mjs +592 -44
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/lib/extension/_extension.scss +19 -0
- package/lib/extension/download/text/download.text.component.d.ts +2 -4
- package/lib/extension/download/text/download.text.module.d.ts +1 -1
- package/lib/extension/help/_help.scss +27 -0
- package/lib/extension/help/absract.help.widget.directive.d.ts +12 -0
- package/lib/extension/help/help.context.d.ts +11 -0
- package/lib/extension/help/help.context.directive.d.ts +17 -0
- package/lib/extension/help/help.context.service.d.ts +20 -0
- package/lib/extension/help/help.d.ts +15 -0
- package/lib/extension/help/help.providers.d.ts +22 -0
- package/lib/extension/help/help.view.list.component.d.ts +20 -0
- package/lib/extension/help/help.view.list.entry.component.d.ts +16 -0
- package/lib/extension/help/help.view.popover.button.component.d.ts +19 -0
- package/lib/extension/help/help.view.popover.component.d.ts +60 -0
- package/lib/extension/help/help.widget.d.ts +42 -0
- package/lib/extension/help/help.widget.service.d.ts +55 -0
- package/lib/extension/help/index.d.ts +12 -0
- package/lib/extension/index.d.ts +1 -0
- package/lib/layout/content/_content.scss +4 -0
- package/lib/layout/content/content.pit.directive.d.ts +2 -1
- package/lib/layout/text/_text.scss +20 -2
- package/lib/layout/text/copy.text.component.d.ts +17 -0
- package/lib/layout/text/copy.text.directive.d.ts +23 -0
- package/lib/layout/text/detail.block.component.d.ts +2 -1
- package/lib/layout/text/index.d.ts +2 -0
- package/lib/layout/text/text.module.d.ts +10 -8
- package/lib/style/_config.scss +7 -1
- package/lib/style/_root-variables.scss +2 -0
- package/lib/style/_variables.scss +3 -0
- package/lib/util/clipboard.d.ts +78 -0
- package/lib/util/clipboard.directive.d.ts +12 -0
- package/lib/util/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Injection token for DbxHelpWidgetData.
|
|
4
|
+
*/
|
|
5
|
+
export const DBX_HELP_WIDGET_ENTRY_DATA_TOKEN = new InjectionToken('DbxHelpWidgetEntryData');
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2hlbHAvaGVscC53aWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQTBDMUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsd0JBQXdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCB0eXBlIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHR5cGUgRGJ4SGVscENvbnRleHRTdHJpbmcgfSBmcm9tICcuL2hlbHAnO1xuXG4vKipcbiAqIEVudHJ5IGRlZmluaW5nIGEgaGVscCB3aWRnZXQgZm9yIGEgc3BlY2lmaWMgY29udGV4dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieEhlbHBXaWRnZXRTZXJ2aWNlRW50cnkge1xuICAvKipcbiAgICogSGVscCBjb250ZXh0IHN0cmluZyBzcGVjaWZpYyB0byB0aGlzIGVudHJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgaGVscENvbnRleHRTdHJpbmc6IERieEhlbHBDb250ZXh0U3RyaW5nO1xuICAvKipcbiAgICogVGl0bGUvTGFiZWwgZm9yIHRoZSBoZWxwIHRvcGljLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbiAgLyoqXG4gICAqIEljb24gZm9yIHRoZSBoZWxwIHRvcGljLCBpZiBhcHBsaWNhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWNvbj86IE1heWJlPHN0cmluZz47XG4gIC8qKlxuICAgKiBDdXN0b20gaGVscCB3aWRnZXQgY29tcG9uZW50IGNsYXNzIHRvIHVzZS5cbiAgICpcbiAgICogVGhlIGNvbXBvbmVudCB3aWxsIHJlY2VpdmUgdGhlIGNvbnRleHQgc3RyaW5nIGFzIGRhdGEuXG4gICAqL1xuICByZWFkb25seSB3aWRnZXRDb21wb25lbnRDbGFzczogVHlwZTx1bmtub3duPjtcbiAgLyoqXG4gICAqIEN1c3RvbSBoZWFkZXIgY29tcG9uZW50IGNsYXNzIHRvIHVzZSB0aGF0IHNob3dzIHVwIG9uIHRoZSB3aWRnZXQuXG4gICAqXG4gICAqIFRoZSBjb21wb25lbnQgd2lsbCByZWNlaXZlIHRoZSBjb250ZXh0IHN0cmluZyBhcyBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhZGVyQ29tcG9uZW50Q2xhc3M/OiBNYXliZTxUeXBlPHVua25vd24+Pjtcbn1cblxuLy8gTUFSSzogSW5qZWN0aW9uXG5leHBvcnQgaW50ZXJmYWNlIERieEhlbHBXaWRnZXRFbnRyeURhdGEge1xuICAvKipcbiAgICogQ29ycmVzcG9uZGluZyB3aWRnZXQgZW50cnkuXG4gICAqL1xuICByZWFkb25seSBoZWxwV2lkZ2V0RW50cnk6IERieEhlbHBXaWRnZXRTZXJ2aWNlRW50cnk7XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciBEYnhIZWxwV2lkZ2V0RGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IERCWF9IRUxQX1dJREdFVF9FTlRSWV9EQVRBX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPERieEhlbHBXaWRnZXRFbnRyeURhdGE+KCdEYnhIZWxwV2lkZ2V0RW50cnlEYXRhJyk7XG4iXX0=
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { asArray } from '@dereekb/util';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DbxHelpWidgetServiceConfig {
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Service used to register help widgets.
|
|
8
|
+
*
|
|
9
|
+
* Similar to DbxErrorWidgetService, this maintains a registry of help widgets
|
|
10
|
+
* that can be displayed for specific help context strings.
|
|
11
|
+
*/
|
|
12
|
+
export class DbxHelpWidgetService {
|
|
13
|
+
_entries = new Map();
|
|
14
|
+
_defaultWidgetComponentClass;
|
|
15
|
+
_defaultIcon;
|
|
16
|
+
_popoverHeaderComponentConfig;
|
|
17
|
+
constructor(initialConfig) {
|
|
18
|
+
this.setDefaultWidgetComponentClass(initialConfig?.defaultWidgetComponentClass);
|
|
19
|
+
this.setDefaultIcon(initialConfig?.defaultIcon !== undefined ? initialConfig?.defaultIcon : 'help');
|
|
20
|
+
this.setPopoverHeaderComponentConfig(initialConfig?.popoverHeaderComponentConfig);
|
|
21
|
+
if (initialConfig?.entries) {
|
|
22
|
+
this.register(initialConfig.entries);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
getDefaultWidgetComponentClass() {
|
|
26
|
+
return this._defaultWidgetComponentClass;
|
|
27
|
+
}
|
|
28
|
+
setDefaultWidgetComponentClass(componentClass) {
|
|
29
|
+
this._defaultWidgetComponentClass = componentClass;
|
|
30
|
+
}
|
|
31
|
+
getDefaultIcon() {
|
|
32
|
+
return this._defaultIcon;
|
|
33
|
+
}
|
|
34
|
+
setDefaultIcon(icon) {
|
|
35
|
+
this._defaultIcon = icon;
|
|
36
|
+
}
|
|
37
|
+
getPopoverHeaderComponentConfig() {
|
|
38
|
+
return this._popoverHeaderComponentConfig;
|
|
39
|
+
}
|
|
40
|
+
setPopoverHeaderComponentConfig(componentConfig) {
|
|
41
|
+
this._popoverHeaderComponentConfig = componentConfig;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Used to register one or more entries.
|
|
45
|
+
*
|
|
46
|
+
* If an entry with the same identity is already registered, this will override it by default.
|
|
47
|
+
*
|
|
48
|
+
* @param entries The entries to register
|
|
49
|
+
* @param override Whether to override existing entries (default: true)
|
|
50
|
+
*/
|
|
51
|
+
register(entries, override = true) {
|
|
52
|
+
const entriesArray = asArray(entries);
|
|
53
|
+
entriesArray.forEach((entry) => {
|
|
54
|
+
if (override || !this._entries.has(entry.helpContextString)) {
|
|
55
|
+
this._entries.set(entry.helpContextString, entry);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
// MARK: Get
|
|
61
|
+
getAllRegisteredHelpContextStrings() {
|
|
62
|
+
return Array.from(this._entries.keys());
|
|
63
|
+
}
|
|
64
|
+
getHelpWidgetEntry(helpContextString) {
|
|
65
|
+
return this._entries.get(helpContextString) ?? (this._defaultWidgetComponentClass ? { helpContextString, title: '<Missing Help Topic>', widgetComponentClass: this._defaultWidgetComponentClass } : undefined);
|
|
66
|
+
}
|
|
67
|
+
getHelpWidgetEntriesForHelpContextStrings(helpContextStrings) {
|
|
68
|
+
return helpContextStrings.map((context) => this.getHelpWidgetEntry(context)).filter((entry) => !!entry);
|
|
69
|
+
}
|
|
70
|
+
hasHelpWidgetEntry(context) {
|
|
71
|
+
return this._entries.has(context);
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService, deps: [{ token: DbxHelpWidgetServiceConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService });
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService, decorators: [{
|
|
77
|
+
type: Injectable
|
|
78
|
+
}], ctorParameters: () => [{ type: DbxHelpWidgetServiceConfig, decorators: [{
|
|
79
|
+
type: Optional
|
|
80
|
+
}, {
|
|
81
|
+
type: Inject,
|
|
82
|
+
args: [DbxHelpWidgetServiceConfig]
|
|
83
|
+
}] }] });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC53aWRnZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9leHRlbnNpb24vaGVscC9oZWxwLndpZGdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQXVCLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLN0QsTUFBTSxPQUFnQiwwQkFBMEI7Q0FjL0M7QUFFRDs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUFDZCxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQW1ELENBQUM7SUFFL0UsNEJBQTRCLENBQXVCO0lBQ25ELFlBQVksQ0FBaUI7SUFDN0IsNkJBQTZCLENBQXFDO0lBRTFFLFlBQTRELGFBQTBDO1FBQ3BHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxhQUFhLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsK0JBQStCLENBQUMsYUFBYSxFQUFFLDRCQUE0QixDQUFDLENBQUM7UUFFbEYsSUFBSSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCw4QkFBOEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUM7SUFDM0MsQ0FBQztJQUVELDhCQUE4QixDQUFDLGNBQW9DO1FBQ2pFLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxjQUFjLENBQUM7SUFDckQsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFtQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsK0JBQStCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDO0lBQzVDLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxlQUFtRDtRQUNqRixJQUFJLENBQUMsNkJBQTZCLEdBQUcsZUFBZSxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsUUFBUSxDQUFDLE9BQWdELEVBQUUsV0FBb0IsSUFBSTtRQUNqRixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzdCLElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFlBQVk7SUFDWixrQ0FBa0M7UUFDaEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsaUJBQXVDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pOLENBQUM7SUFFRCx5Q0FBeUMsQ0FBQyxrQkFBMEM7UUFDbEYsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBZ0MsQ0FBQztJQUN6SSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBNkI7UUFDOUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQTVFVSxvQkFBb0Isa0JBT0MsMEJBQTBCOzRHQVAvQyxvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQVFJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXJyYXlPclZhbHVlLCBNYXliZSwgYXNBcnJheSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4SGVscENvbnRleHRTdHJpbmcgfSBmcm9tICcuL2hlbHAnO1xuaW1wb3J0IHsgRGJ4SGVscFdpZGdldFNlcnZpY2VFbnRyeSB9IGZyb20gJy4vaGVscC53aWRnZXQnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4SGVscFdpZGdldFNlcnZpY2VDb25maWcge1xuICBhYnN0cmFjdCByZWFkb25seSBlbnRyaWVzPzogTWF5YmU8RGJ4SGVscFdpZGdldFNlcnZpY2VFbnRyeVtdPjtcbiAgLyoqXG4gICAqIERlZmF1bHQgaWNvbiB0byB1c2UgZm9yIHVua25vd24gaGVscCB0b3BpY3MuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBkZWZhdWx0SWNvbj86IE1heWJlPHN0cmluZz47XG4gIC8qKlxuICAgKiBEZWZhdWx0L1Vua25vd24gaGVscCB0b3BpYyBjb21wb25lbnQgY2xhc3MuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBkZWZhdWx0V2lkZ2V0Q29tcG9uZW50Q2xhc3M/OiBNYXliZTxUeXBlPHVua25vd24+PjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGhlYWRlciBjb21wb25lbnQgY2xhc3MgdG8gdXNlIGZvciB0aGUgbGlzdCB2aWV3LlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgcG9wb3ZlckhlYWRlckNvbXBvbmVudENvbmZpZz86IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZz47XG59XG5cbi8qKlxuICogU2VydmljZSB1c2VkIHRvIHJlZ2lzdGVyIGhlbHAgd2lkZ2V0cy5cbiAqXG4gKiBTaW1pbGFyIHRvIERieEVycm9yV2lkZ2V0U2VydmljZSwgdGhpcyBtYWludGFpbnMgYSByZWdpc3RyeSBvZiBoZWxwIHdpZGdldHNcbiAqIHRoYXQgY2FuIGJlIGRpc3BsYXllZCBmb3Igc3BlY2lmaWMgaGVscCBjb250ZXh0IHN0cmluZ3MuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhIZWxwV2lkZ2V0U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VudHJpZXMgPSBuZXcgTWFwPERieEhlbHBDb250ZXh0U3RyaW5nLCBEYnhIZWxwV2lkZ2V0U2VydmljZUVudHJ5PigpO1xuXG4gIHByaXZhdGUgX2RlZmF1bHRXaWRnZXRDb21wb25lbnRDbGFzczogTWF5YmU8VHlwZTx1bmtub3duPj47XG4gIHByaXZhdGUgX2RlZmF1bHRJY29uPzogTWF5YmU8c3RyaW5nPjtcbiAgcHJpdmF0ZSBfcG9wb3ZlckhlYWRlckNvbXBvbmVudENvbmZpZzogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPjtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERieEhlbHBXaWRnZXRTZXJ2aWNlQ29uZmlnKSBpbml0aWFsQ29uZmlnPzogRGJ4SGVscFdpZGdldFNlcnZpY2VDb25maWcpIHtcbiAgICB0aGlzLnNldERlZmF1bHRXaWRnZXRDb21wb25lbnRDbGFzcyhpbml0aWFsQ29uZmlnPy5kZWZhdWx0V2lkZ2V0Q29tcG9uZW50Q2xhc3MpO1xuICAgIHRoaXMuc2V0RGVmYXVsdEljb24oaW5pdGlhbENvbmZpZz8uZGVmYXVsdEljb24gIT09IHVuZGVmaW5lZCA/IGluaXRpYWxDb25maWc/LmRlZmF1bHRJY29uIDogJ2hlbHAnKTtcbiAgICB0aGlzLnNldFBvcG92ZXJIZWFkZXJDb21wb25lbnRDb25maWcoaW5pdGlhbENvbmZpZz8ucG9wb3ZlckhlYWRlckNvbXBvbmVudENvbmZpZyk7XG5cbiAgICBpZiAoaW5pdGlhbENvbmZpZz8uZW50cmllcykge1xuICAgICAgdGhpcy5yZWdpc3Rlcihpbml0aWFsQ29uZmlnLmVudHJpZXMpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlZmF1bHRXaWRnZXRDb21wb25lbnRDbGFzcygpOiBNYXliZTxUeXBlPHVua25vd24+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRXaWRnZXRDb21wb25lbnRDbGFzcztcbiAgfVxuXG4gIHNldERlZmF1bHRXaWRnZXRDb21wb25lbnRDbGFzcyhjb21wb25lbnRDbGFzczogTWF5YmU8VHlwZTx1bmtub3duPj4pOiB2b2lkIHtcbiAgICB0aGlzLl9kZWZhdWx0V2lkZ2V0Q29tcG9uZW50Q2xhc3MgPSBjb21wb25lbnRDbGFzcztcbiAgfVxuXG4gIGdldERlZmF1bHRJY29uKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9kZWZhdWx0SWNvbjtcbiAgfVxuXG4gIHNldERlZmF1bHRJY29uKGljb246IE1heWJlPHN0cmluZz4pOiB2b2lkIHtcbiAgICB0aGlzLl9kZWZhdWx0SWNvbiA9IGljb247XG4gIH1cblxuICBnZXRQb3BvdmVySGVhZGVyQ29tcG9uZW50Q29uZmlnKCk6IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLl9wb3BvdmVySGVhZGVyQ29tcG9uZW50Q29uZmlnO1xuICB9XG5cbiAgc2V0UG9wb3ZlckhlYWRlckNvbXBvbmVudENvbmZpZyhjb21wb25lbnRDb25maWc6IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZz4pOiB2b2lkIHtcbiAgICB0aGlzLl9wb3BvdmVySGVhZGVyQ29tcG9uZW50Q29uZmlnID0gY29tcG9uZW50Q29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gcmVnaXN0ZXIgb25lIG9yIG1vcmUgZW50cmllcy5cbiAgICpcbiAgICogSWYgYW4gZW50cnkgd2l0aCB0aGUgc2FtZSBpZGVudGl0eSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQsIHRoaXMgd2lsbCBvdmVycmlkZSBpdCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBAcGFyYW0gZW50cmllcyBUaGUgZW50cmllcyB0byByZWdpc3RlclxuICAgKiBAcGFyYW0gb3ZlcnJpZGUgV2hldGhlciB0byBvdmVycmlkZSBleGlzdGluZyBlbnRyaWVzIChkZWZhdWx0OiB0cnVlKVxuICAgKi9cbiAgcmVnaXN0ZXIoZW50cmllczogQXJyYXlPclZhbHVlPERieEhlbHBXaWRnZXRTZXJ2aWNlRW50cnk+LCBvdmVycmlkZTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbnRyaWVzQXJyYXkgPSBhc0FycmF5KGVudHJpZXMpO1xuXG4gICAgZW50cmllc0FycmF5LmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBpZiAob3ZlcnJpZGUgfHwgIXRoaXMuX2VudHJpZXMuaGFzKGVudHJ5LmhlbHBDb250ZXh0U3RyaW5nKSkge1xuICAgICAgICB0aGlzLl9lbnRyaWVzLnNldChlbnRyeS5oZWxwQ29udGV4dFN0cmluZywgZW50cnkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBNQVJLOiBHZXRcbiAgZ2V0QWxsUmVnaXN0ZXJlZEhlbHBDb250ZXh0U3RyaW5ncygpOiBEYnhIZWxwQ29udGV4dFN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9lbnRyaWVzLmtleXMoKSk7XG4gIH1cblxuICBnZXRIZWxwV2lkZ2V0RW50cnkoaGVscENvbnRleHRTdHJpbmc6IERieEhlbHBDb250ZXh0U3RyaW5nKTogTWF5YmU8RGJ4SGVscFdpZGdldFNlcnZpY2VFbnRyeT4ge1xuICAgIHJldHVybiB0aGlzLl9lbnRyaWVzLmdldChoZWxwQ29udGV4dFN0cmluZykgPz8gKHRoaXMuX2RlZmF1bHRXaWRnZXRDb21wb25lbnRDbGFzcyA/IHsgaGVscENvbnRleHRTdHJpbmcsIHRpdGxlOiAnPE1pc3NpbmcgSGVscCBUb3BpYz4nLCB3aWRnZXRDb21wb25lbnRDbGFzczogdGhpcy5fZGVmYXVsdFdpZGdldENvbXBvbmVudENsYXNzIH0gOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgZ2V0SGVscFdpZGdldEVudHJpZXNGb3JIZWxwQ29udGV4dFN0cmluZ3MoaGVscENvbnRleHRTdHJpbmdzOiBEYnhIZWxwQ29udGV4dFN0cmluZ1tdKTogRGJ4SGVscFdpZGdldFNlcnZpY2VFbnRyeVtdIHtcbiAgICByZXR1cm4gaGVscENvbnRleHRTdHJpbmdzLm1hcCgoY29udGV4dCkgPT4gdGhpcy5nZXRIZWxwV2lkZ2V0RW50cnkoY29udGV4dCkpLmZpbHRlcigoZW50cnkpID0+ICEhZW50cnkpIGFzIERieEhlbHBXaWRnZXRTZXJ2aWNlRW50cnlbXTtcbiAgfVxuXG4gIGhhc0hlbHBXaWRnZXRFbnRyeShjb250ZXh0OiBEYnhIZWxwQ29udGV4dFN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbnRyaWVzLmhhcyhjb250ZXh0KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './help.context.directive';
|
|
2
|
+
export * from './help.context.service';
|
|
3
|
+
export * from './help.context';
|
|
4
|
+
export * from './help.providers';
|
|
5
|
+
export * from './absract.help.widget.directive';
|
|
6
|
+
export * from './help';
|
|
7
|
+
export * from './help.view.list.component';
|
|
8
|
+
export * from './help.view.list.entry.component';
|
|
9
|
+
export * from './help.view.popover.component';
|
|
10
|
+
export * from './help.view.popover.button.component';
|
|
11
|
+
export * from './help.widget.service';
|
|
12
|
+
export * from './help.widget';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2hlbHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVscC5jb250ZXh0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHAuY29udGV4dC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscC5jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vaGVscC5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9hYnNyYWN0LmhlbHAud2lkZ2V0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHAnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwLnZpZXcubGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwLnZpZXcubGlzdC5lbnRyeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwLnZpZXcucG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwLnZpZXcucG9wb3Zlci5idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaGVscC53aWRnZXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHAud2lkZ2V0JztcbiJdfQ==
|
|
@@ -6,4 +6,5 @@ export * from './structure';
|
|
|
6
6
|
// export * from './table'; // nothing to export
|
|
7
7
|
export * from './widget';
|
|
8
8
|
export * from './zip';
|
|
9
|
-
|
|
9
|
+
export * from './help';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1EQUFtRDtBQUNuRCxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixnREFBZ0Q7QUFDaEQsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyJzsgLy8gbm90aGluZyB0byBleHBvcnRcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJ1Y3R1cmUnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi90YWJsZSc7IC8vIG5vdGhpbmcgdG8gZXhwb3J0XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldCc7XG5leHBvcnQgKiBmcm9tICcuL3ppcCc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHAnO1xuIl19
|
|
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
*/
|
|
6
6
|
export class DbxContentPitDirective {
|
|
7
7
|
scrollable = input();
|
|
8
|
+
rounded = input(false);
|
|
8
9
|
scrollableHeightSignal = computed(() => {
|
|
9
10
|
let scrollable = this.scrollable();
|
|
10
11
|
let scrollableHeight;
|
|
@@ -35,7 +36,7 @@ export class DbxContentPitDirective {
|
|
|
35
36
|
return scrollableHeight ?? null;
|
|
36
37
|
});
|
|
37
38
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxContentPitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxContentPitDirective, isStandalone: true, selector: "dbx-content-pit, [dbxContentPit]", inputs: { scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-content-pit-scrollable": "scrollableHeightSignal() != null", "style.max-height": "scrollableHeightSignal()" }, classAttribute: "d-block dbx-content-pit" }, ngImport: i0 });
|
|
39
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxContentPitDirective, isStandalone: true, selector: "dbx-content-pit, [dbxContentPit]", inputs: { scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-content-pit-scrollable": "scrollableHeightSignal() != null", "class.dbx-content-pit-rounded": "rounded()", "style.max-height": "scrollableHeightSignal()" }, classAttribute: "d-block dbx-content-pit" }, ngImport: i0 });
|
|
39
40
|
}
|
|
40
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxContentPitDirective, decorators: [{
|
|
41
42
|
type: Directive,
|
|
@@ -44,9 +45,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44
45
|
host: {
|
|
45
46
|
class: 'd-block dbx-content-pit',
|
|
46
47
|
'[class.dbx-content-pit-scrollable]': 'scrollableHeightSignal() != null',
|
|
48
|
+
'[class.dbx-content-pit-rounded]': 'rounded()',
|
|
47
49
|
'[style.max-height]': 'scrollableHeightSignal()'
|
|
48
50
|
},
|
|
49
51
|
standalone: true
|
|
50
52
|
}]
|
|
51
53
|
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5waXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9jb250ZW50L2NvbnRlbnQucGl0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNEOztHQUVHO0FBV0gsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixVQUFVLEdBQUcsS0FBSyxFQUF1QyxDQUFDO0lBQzFELE9BQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFaEMsc0JBQXNCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkMsSUFBSSxnQkFBMEMsQ0FBQztRQUUvQyxJQUFJLE9BQU8sVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMscUJBQXFCO1FBQ3ZFLENBQUM7UUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDbkMsUUFBUSxVQUFVLEVBQUUsQ0FBQztvQkFDbkIsS0FBSyxPQUFPO3dCQUNWLFVBQVUsR0FBRyxHQUFHLENBQUM7d0JBQ2pCLE1BQU07b0JBQ1IsS0FBSyxRQUFRO3dCQUNYLFVBQVUsR0FBRyxHQUFHLENBQUM7d0JBQ2pCLE1BQU07b0JBQ1IsS0FBSyxPQUFPO3dCQUNWLFVBQVUsR0FBRyxHQUFHLENBQUM7d0JBQ2pCLE1BQU07b0JBQ1I7d0JBQ0UsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLENBQUMsWUFBWTt3QkFDM0MsTUFBTTtnQkFDVixDQUFDO1lBQ0gsQ0FBQztZQUVELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ25DLGdCQUFnQixHQUFHLEdBQUcsVUFBVSxJQUFJLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLGdCQUFnQixJQUFJLElBQUksQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQzt3R0FwQ1Esc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBVmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSx5QkFBeUI7d0JBQ2hDLG9DQUFvQyxFQUFFLGtDQUFrQzt3QkFDeEUsaUNBQWlDLEVBQUUsV0FBVzt3QkFDOUMsb0JBQW9CLEVBQUUsMEJBQTBCO3FCQUNqRDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGl4ZWxzLCBQaXhlbHNTdHJpbmcsIHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IHR5cGUgRGJ4Q29udGVudFBpdFNjcm9sbGFibGVJbnB1dCA9IGJvb2xlYW4gfCBEYnhDb250ZW50UGl0U2Nyb2xsYWJsZUhlaWdodDtcbmV4cG9ydCB0eXBlIERieENvbnRlbnRQaXRTY3JvbGxhYmxlSGVpZ2h0ID0gUGl4ZWxzIHwgUGl4ZWxzU3RyaW5nIHwgRGJ4Q29udGVudFBpdFNjcm9sbGFibGVIZWlnaHRTZXR0aW5nO1xuZXhwb3J0IHR5cGUgRGJ4Q29udGVudFBpdFNjcm9sbGFibGVIZWlnaHRTZXR0aW5nID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcblxuLyoqXG4gKiBDb21wb25lbnQgdXNlZCB0byB3cmFwIGNvbnRlbnQgaW4gYSBwaXQgd2l0aCBhIGxhYmVsLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdkYngtY29udGVudC1waXQsIFtkYnhDb250ZW50UGl0XScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtYmxvY2sgZGJ4LWNvbnRlbnQtcGl0JyxcbiAgICAnW2NsYXNzLmRieC1jb250ZW50LXBpdC1zY3JvbGxhYmxlXSc6ICdzY3JvbGxhYmxlSGVpZ2h0U2lnbmFsKCkgIT0gbnVsbCcsXG4gICAgJ1tjbGFzcy5kYngtY29udGVudC1waXQtcm91bmRlZF0nOiAncm91bmRlZCgpJyxcbiAgICAnW3N0eWxlLm1heC1oZWlnaHRdJzogJ3Njcm9sbGFibGVIZWlnaHRTaWduYWwoKSdcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhDb250ZW50UGl0RGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgc2Nyb2xsYWJsZSA9IGlucHV0PE1heWJlPERieENvbnRlbnRQaXRTY3JvbGxhYmxlSW5wdXQ+PigpO1xuICByZWFkb25seSByb3VuZGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IHNjcm9sbGFibGVIZWlnaHRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgbGV0IHNjcm9sbGFibGUgPSB0aGlzLnNjcm9sbGFibGUoKTtcbiAgICBsZXQgc2Nyb2xsYWJsZUhlaWdodDogUGl4ZWxzU3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKHR5cGVvZiBzY3JvbGxhYmxlID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHNjcm9sbGFibGUgPSBzY3JvbGxhYmxlID8gJ21lZGl1bScgOiB1bmRlZmluZWQ7IC8vIGRlZmF1bHRzIHRvIG1lZGl1bVxuICAgIH1cblxuICAgIGlmIChzY3JvbGxhYmxlKSB7XG4gICAgICBpZiAodHlwZW9mIHNjcm9sbGFibGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHN3aXRjaCAoc2Nyb2xsYWJsZSkge1xuICAgICAgICAgIGNhc2UgJ3NtYWxsJzpcbiAgICAgICAgICAgIHNjcm9sbGFibGUgPSAxMjA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgICAgICAgc2Nyb2xsYWJsZSA9IDMyMDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgICAgIHNjcm9sbGFibGUgPSA0NjA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgc2Nyb2xsYWJsZUhlaWdodCA9IHNjcm9sbGFibGU7IC8vIHVzZSBhcy1pc1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBzY3JvbGxhYmxlID09PSAnbnVtYmVyJykge1xuICAgICAgICBzY3JvbGxhYmxlSGVpZ2h0ID0gYCR7c2Nyb2xsYWJsZX1weGA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNjcm9sbGFibGVIZWlnaHQgPz8gbnVsbDtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Component, input, viewChild } from '@angular/core';
|
|
2
|
+
import { DbxClickToCopyTextDirective } from './copy.text.directive';
|
|
3
|
+
import { MatIcon } from '@angular/material/icon';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DbxClickToCopyTextComponent {
|
|
6
|
+
contentElementRef = viewChild('content');
|
|
7
|
+
dbxClickToCopyText = viewChild(DbxClickToCopyTextDirective);
|
|
8
|
+
copyText = input(undefined);
|
|
9
|
+
highlighted = input(false);
|
|
10
|
+
clipboardSnackbarMessagesConfig = input(undefined);
|
|
11
|
+
clipboardSnackbarMessagesEnabled = input(true);
|
|
12
|
+
clickToCopyIcon = input('content_copy');
|
|
13
|
+
clickIconToCopyOnly = input(false);
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxClickToCopyTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxClickToCopyTextComponent, isStandalone: true, selector: "dbx-click-to-copy-text", inputs: { copyText: { classPropertyName: "copyText", publicName: "copyText", isSignal: true, isRequired: false, transformFunction: null }, highlighted: { classPropertyName: "highlighted", publicName: "highlighted", isSignal: true, isRequired: false, transformFunction: null }, clipboardSnackbarMessagesConfig: { classPropertyName: "clipboardSnackbarMessagesConfig", publicName: "clipboardSnackbarMessagesConfig", isSignal: true, isRequired: false, transformFunction: null }, clipboardSnackbarMessagesEnabled: { classPropertyName: "clipboardSnackbarMessagesEnabled", publicName: "clipboardSnackbarMessagesEnabled", isSignal: true, isRequired: false, transformFunction: null }, clickToCopyIcon: { classPropertyName: "clickToCopyIcon", publicName: "clickToCopyIcon", isSignal: true, isRequired: false, transformFunction: null }, clickIconToCopyOnly: { classPropertyName: "clickIconToCopyOnly", publicName: "clickIconToCopyOnly", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-click-to-copy-text-component" }, viewQueries: [{ propertyName: "contentElementRef", first: true, predicate: ["content"], descendants: true, isSignal: true }, { propertyName: "dbxClickToCopyText", first: true, predicate: DbxClickToCopyTextDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
16
|
+
<span #content [dbxClickToCopyText]="copyText()" [disableCopy]="clickIconToCopyOnly()" [highlighted]="highlighted()" [clipboardSnackbarMessagesEnabled]="clipboardSnackbarMessagesEnabled()" [clipboardSnackbarMessagesConfig]="clipboardSnackbarMessagesConfig()" [copyTextFromElement]="contentElementRef()">
|
|
17
|
+
<ng-content></ng-content>
|
|
18
|
+
</span>
|
|
19
|
+
<mat-icon class="dbx-click-to-copy-text-icon" (click)="dbxClickToCopyText()?._copyText()">{{ clickToCopyIcon() }}</mat-icon>
|
|
20
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: DbxClickToCopyTextDirective, selector: "[dbxClickToCopyText]", inputs: ["copyTextFromElement", "dbxClickToCopyText", "disableCopy", "highlighted"], outputs: ["copyTextFromElementChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxClickToCopyTextComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{
|
|
25
|
+
selector: 'dbx-click-to-copy-text',
|
|
26
|
+
template: `
|
|
27
|
+
<span #content [dbxClickToCopyText]="copyText()" [disableCopy]="clickIconToCopyOnly()" [highlighted]="highlighted()" [clipboardSnackbarMessagesEnabled]="clipboardSnackbarMessagesEnabled()" [clipboardSnackbarMessagesConfig]="clipboardSnackbarMessagesConfig()" [copyTextFromElement]="contentElementRef()">
|
|
28
|
+
<ng-content></ng-content>
|
|
29
|
+
</span>
|
|
30
|
+
<mat-icon class="dbx-click-to-copy-text-icon" (click)="dbxClickToCopyText()?._copyText()">{{ clickToCopyIcon() }}</mat-icon>
|
|
31
|
+
`,
|
|
32
|
+
host: {
|
|
33
|
+
class: 'dbx-click-to-copy-text-component'
|
|
34
|
+
},
|
|
35
|
+
imports: [DbxClickToCopyTextDirective, MatIcon],
|
|
36
|
+
standalone: true
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS50ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvdGV4dC9jb3B5LnRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBZ0JqRCxNQUFNLE9BQU8sMkJBQTJCO0lBQzdCLGlCQUFpQixHQUFHLFNBQVMsQ0FBMEIsU0FBUyxDQUFDLENBQUM7SUFDbEUsa0JBQWtCLEdBQUcsU0FBUyxDQUE4QiwyQkFBMkIsQ0FBQyxDQUFDO0lBRXpGLFFBQVEsR0FBRyxLQUFLLENBQXVCLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDcEMsK0JBQStCLEdBQUcsS0FBSyxDQUFrRSxTQUFTLENBQUMsQ0FBQztJQUNwSCxnQ0FBZ0MsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7SUFDeEQsZUFBZSxHQUFHLEtBQUssQ0FBUyxjQUFjLENBQUMsQ0FBQztJQUNoRCxtQkFBbUIsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7d0dBVDFDLDJCQUEyQjs0RkFBM0IsMkJBQTJCLGl4Q0FFK0IsMkJBQTJCLGdFQWR0Rjs7Ozs7R0FLVCw0REFJUywyQkFBMkIsOExBQUUsT0FBTzs7NEZBR25DLDJCQUEyQjtrQkFkdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7O0dBS1Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxrQ0FBa0M7cUJBQzFDO29CQUNELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQztvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbnB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhDbGlja1RvQ29weVRleHREaXJlY3RpdmUgfSBmcm9tICcuL2NvcHkudGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IENvcHlUb0NsaXBib2FyZEZ1bmN0aW9uV2l0aFNuYWNrYmFyTWVzc2FnZVNuYWNrYmFyQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbCc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1jbGljay10by1jb3B5LXRleHQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzcGFuICNjb250ZW50IFtkYnhDbGlja1RvQ29weVRleHRdPVwiY29weVRleHQoKVwiIFtkaXNhYmxlQ29weV09XCJjbGlja0ljb25Ub0NvcHlPbmx5KClcIiBbaGlnaGxpZ2h0ZWRdPVwiaGlnaGxpZ2h0ZWQoKVwiIFtjbGlwYm9hcmRTbmFja2Jhck1lc3NhZ2VzRW5hYmxlZF09XCJjbGlwYm9hcmRTbmFja2Jhck1lc3NhZ2VzRW5hYmxlZCgpXCIgW2NsaXBib2FyZFNuYWNrYmFyTWVzc2FnZXNDb25maWddPVwiY2xpcGJvYXJkU25hY2tiYXJNZXNzYWdlc0NvbmZpZygpXCIgW2NvcHlUZXh0RnJvbUVsZW1lbnRdPVwiY29udGVudEVsZW1lbnRSZWYoKVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJkYngtY2xpY2stdG8tY29weS10ZXh0LWljb25cIiAoY2xpY2spPVwiZGJ4Q2xpY2tUb0NvcHlUZXh0KCk/Ll9jb3B5VGV4dCgpXCI+e3sgY2xpY2tUb0NvcHlJY29uKCkgfX08L21hdC1pY29uPlxuICBgLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkYngtY2xpY2stdG8tY29weS10ZXh0LWNvbXBvbmVudCdcbiAgfSxcbiAgaW1wb3J0czogW0RieENsaWNrVG9Db3B5VGV4dERpcmVjdGl2ZSwgTWF0SWNvbl0sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Q2xpY2tUb0NvcHlUZXh0Q29tcG9uZW50IHtcbiAgcmVhZG9ubHkgY29udGVudEVsZW1lbnRSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdjb250ZW50Jyk7XG4gIHJlYWRvbmx5IGRieENsaWNrVG9Db3B5VGV4dCA9IHZpZXdDaGlsZDxEYnhDbGlja1RvQ29weVRleHREaXJlY3RpdmU+KERieENsaWNrVG9Db3B5VGV4dERpcmVjdGl2ZSk7XG5cbiAgcmVhZG9ubHkgY29weVRleHQgPSBpbnB1dDxNYXliZTxzdHJpbmcgfCBudWxsPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgaGlnaGxpZ2h0ZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNsaXBib2FyZFNuYWNrYmFyTWVzc2FnZXNDb25maWcgPSBpbnB1dDxNYXliZTxDb3B5VG9DbGlwYm9hcmRGdW5jdGlvbldpdGhTbmFja2Jhck1lc3NhZ2VTbmFja2JhckNvbmZpZz4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGNsaXBib2FyZFNuYWNrYmFyTWVzc2FnZXNFbmFibGVkID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IGNsaWNrVG9Db3B5SWNvbiA9IGlucHV0PHN0cmluZz4oJ2NvbnRlbnRfY29weScpO1xuICByZWFkb25seSBjbGlja0ljb25Ub0NvcHlPbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xufVxuIl19
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Directive, HostListener, input, model } from '@angular/core';
|
|
2
|
+
import { AbstractDbxClipboardDirective } from '../../util/clipboard.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DbxClickToCopyTextDirective extends AbstractDbxClipboardDirective {
|
|
5
|
+
copyTextFromElement = model();
|
|
6
|
+
/**
|
|
7
|
+
* If the input is null, then copy from the element's text content.
|
|
8
|
+
*/
|
|
9
|
+
copyText = input(undefined, { alias: 'dbxClickToCopyText' });
|
|
10
|
+
/**
|
|
11
|
+
* If true, the click events will be ignored.
|
|
12
|
+
*/
|
|
13
|
+
disableCopy = input(false);
|
|
14
|
+
/**
|
|
15
|
+
* Highlight the text visually.
|
|
16
|
+
*/
|
|
17
|
+
highlighted = input(true);
|
|
18
|
+
handleClick(event) {
|
|
19
|
+
const disabled = this.disableCopy();
|
|
20
|
+
if (!disabled) {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
event.stopPropagation();
|
|
23
|
+
const eventElement = event.currentTarget;
|
|
24
|
+
this._copyText(eventElement);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
_copyText(eventElement) {
|
|
28
|
+
let copyText = this.copyText();
|
|
29
|
+
// If the input is null, then copy from the element's text content.
|
|
30
|
+
if (copyText !== null && !copyText) {
|
|
31
|
+
const element = this.copyTextFromElement()?.nativeElement;
|
|
32
|
+
copyText = (element ?? eventElement)?.textContent ?? undefined;
|
|
33
|
+
}
|
|
34
|
+
if (copyText) {
|
|
35
|
+
this._copyToClipboard(copyText);
|
|
36
|
+
}
|
|
37
|
+
return copyText;
|
|
38
|
+
}
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxClickToCopyTextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxClickToCopyTextDirective, isStandalone: true, selector: "[dbxClickToCopyText]", inputs: { copyTextFromElement: { classPropertyName: "copyTextFromElement", publicName: "copyTextFromElement", isSignal: true, isRequired: false, transformFunction: null }, copyText: { classPropertyName: "copyText", publicName: "dbxClickToCopyText", isSignal: true, isRequired: false, transformFunction: null }, disableCopy: { classPropertyName: "disableCopy", publicName: "disableCopy", isSignal: true, isRequired: false, transformFunction: null }, highlighted: { classPropertyName: "highlighted", publicName: "highlighted", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { copyTextFromElement: "copyTextFromElementChange" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.dbx-click-to-copy-text-highlighted": "highlighted()" }, classAttribute: "dbx-click-to-copy-text" }, usesInheritance: true, ngImport: i0 });
|
|
41
|
+
}
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxClickToCopyTextDirective, decorators: [{
|
|
43
|
+
type: Directive,
|
|
44
|
+
args: [{
|
|
45
|
+
selector: '[dbxClickToCopyText]',
|
|
46
|
+
host: {
|
|
47
|
+
class: 'dbx-click-to-copy-text',
|
|
48
|
+
'[class.dbx-click-to-copy-text-highlighted]': 'highlighted()'
|
|
49
|
+
},
|
|
50
|
+
standalone: true
|
|
51
|
+
}]
|
|
52
|
+
}], propDecorators: { handleClick: [{
|
|
53
|
+
type: HostListener,
|
|
54
|
+
args: ['click', ['$event']]
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS50ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvdGV4dC9jb3B5LnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBVS9FLE1BQU0sT0FBTywyQkFBNEIsU0FBUSw2QkFBNkI7SUFDbkUsbUJBQW1CLEdBQUcsS0FBSyxFQUEyQixDQUFDO0lBRWhFOztPQUVHO0lBQ00sUUFBUSxHQUFHLEtBQUssQ0FBdUIsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUU1Rjs7T0FFRztJQUNNLFdBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFN0M7O09BRUc7SUFDTSxXQUFXLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO0lBR3JDLFdBQVcsQ0FBQyxLQUFpQjtRQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUV4QixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsYUFBNEIsQ0FBQztZQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLFlBQWlDO1FBQ3pDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUvQixtRUFBbUU7UUFDbkUsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsYUFBYSxDQUFDO1lBQzFELFFBQVEsR0FBRyxDQUFDLE9BQU8sSUFBSSxZQUFZLENBQUMsRUFBRSxXQUFXLElBQUksU0FBUyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO3dHQTdDVSwyQkFBMkI7NEZBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFSdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLHdCQUF3Qjt3QkFDL0IsNENBQTRDLEVBQUUsZUFBZTtxQkFDOUQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQW9CUSxXQUFXO3NCQURqQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbnB1dCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBBYnN0cmFjdERieENsaXBib2FyZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3V0aWwvY2xpcGJvYXJkLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhDbGlja1RvQ29weVRleHRdJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZGJ4LWNsaWNrLXRvLWNvcHktdGV4dCcsXG4gICAgJ1tjbGFzcy5kYngtY2xpY2stdG8tY29weS10ZXh0LWhpZ2hsaWdodGVkXSc6ICdoaWdobGlnaHRlZCgpJ1xuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieENsaWNrVG9Db3B5VGV4dERpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0RGJ4Q2xpcGJvYXJkRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgY29weVRleHRGcm9tRWxlbWVudCA9IG1vZGVsPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PigpO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgaW5wdXQgaXMgbnVsbCwgdGhlbiBjb3B5IGZyb20gdGhlIGVsZW1lbnQncyB0ZXh0IGNvbnRlbnQuXG4gICAqL1xuICByZWFkb25seSBjb3B5VGV4dCA9IGlucHV0PE1heWJlPHN0cmluZyB8IG51bGw+Pih1bmRlZmluZWQsIHsgYWxpYXM6ICdkYnhDbGlja1RvQ29weVRleHQnIH0pO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgY2xpY2sgZXZlbnRzIHdpbGwgYmUgaWdub3JlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVDb3B5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBIaWdobGlnaHQgdGhlIHRleHQgdmlzdWFsbHkuXG4gICAqL1xuICByZWFkb25seSBoaWdobGlnaHRlZCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVDb3B5KCk7XG5cbiAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIGNvbnN0IGV2ZW50RWxlbWVudCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICB0aGlzLl9jb3B5VGV4dChldmVudEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIF9jb3B5VGV4dChldmVudEVsZW1lbnQ/OiBNYXliZTxIVE1MRWxlbWVudD4pOiBNYXliZTxzdHJpbmc+IHtcbiAgICBsZXQgY29weVRleHQgPSB0aGlzLmNvcHlUZXh0KCk7XG5cbiAgICAvLyBJZiB0aGUgaW5wdXQgaXMgbnVsbCwgdGhlbiBjb3B5IGZyb20gdGhlIGVsZW1lbnQncyB0ZXh0IGNvbnRlbnQuXG4gICAgaWYgKGNvcHlUZXh0ICE9PSBudWxsICYmICFjb3B5VGV4dCkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuY29weVRleHRGcm9tRWxlbWVudCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgY29weVRleHQgPSAoZWxlbWVudCA/PyBldmVudEVsZW1lbnQpPy50ZXh0Q29udGVudCA/PyB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKGNvcHlUZXh0KSB7XG4gICAgICB0aGlzLl9jb3B5VG9DbGlwYm9hcmQoY29weVRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb3B5VGV4dDtcbiAgfVxufVxuIl19
|
|
@@ -8,8 +8,9 @@ export class DbxDetailBlockComponent {
|
|
|
8
8
|
icon = input();
|
|
9
9
|
header = input();
|
|
10
10
|
alignHeader = input(false);
|
|
11
|
+
bigHeader = input(false);
|
|
11
12
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDetailBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxDetailBlockComponent, isStandalone: true, selector: "dbx-detail-block", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, alignHeader: { classPropertyName: "alignHeader", publicName: "alignHeader", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-detail-block d-block" }, ngImport: i0, template: `
|
|
13
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxDetailBlockComponent, isStandalone: true, selector: "dbx-detail-block", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, alignHeader: { classPropertyName: "alignHeader", publicName: "alignHeader", isSignal: true, isRequired: false, transformFunction: null }, bigHeader: { classPropertyName: "bigHeader", publicName: "bigHeader", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-detail-block-big-header": "bigHeader()" }, classAttribute: "dbx-detail-block d-block" }, ngImport: i0, template: `
|
|
13
14
|
<dbx-detail-block-header [icon]="icon()" [header]="header()" [alignHeader]="alignHeader()">
|
|
14
15
|
<ng-content select="[header]"></ng-content>
|
|
15
16
|
</dbx-detail-block-header>
|
|
@@ -31,11 +32,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
31
32
|
</div>
|
|
32
33
|
`,
|
|
33
34
|
host: {
|
|
34
|
-
class: 'dbx-detail-block d-block'
|
|
35
|
+
class: 'dbx-detail-block d-block',
|
|
36
|
+
'[class.dbx-detail-block-big-header]': 'bigHeader()'
|
|
35
37
|
},
|
|
36
38
|
imports: [DbxDetailBlockHeaderComponent],
|
|
37
39
|
standalone: true,
|
|
38
40
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
39
41
|
}]
|
|
40
42
|
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLmJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvdGV4dC9kZXRhaWwuYmxvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUVoRjs7R0FFRztBQW1CSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLElBQUksR0FBRyxLQUFLLEVBQWlCLENBQUM7SUFDOUIsTUFBTSxHQUFHLEtBQUssRUFBaUIsQ0FBQztJQUNoQyxXQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLFNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7d0dBSmhDLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLGd0QkFoQnhCOzs7Ozs7O0dBT1QsNERBS1MsNkJBQTZCOzs0RkFJNUIsdUJBQXVCO2tCQWxCbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7R0FPVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDBCQUEwQjt3QkFDakMscUNBQXFDLEVBQUUsYUFBYTtxQkFDckQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQ3hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4RGV0YWlsQmxvY2tIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2RldGFpbC5ibG9jay5oZWFkZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBIZWFkZXIgYW5kIGRldGFpbHMgb2Zmc2V0IHdpdGggYW4gaWNvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWRldGFpbC1ibG9jaycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1kZXRhaWwtYmxvY2staGVhZGVyIFtpY29uXT1cImljb24oKVwiIFtoZWFkZXJdPVwiaGVhZGVyKClcIiBbYWxpZ25IZWFkZXJdPVwiYWxpZ25IZWFkZXIoKVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kYngtZGV0YWlsLWJsb2NrLWhlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWRldGFpbC1ibG9jay1jb250ZW50XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RieC1kZXRhaWwtYmxvY2sgZC1ibG9jaycsXG4gICAgJ1tjbGFzcy5kYngtZGV0YWlsLWJsb2NrLWJpZy1oZWFkZXJdJzogJ2JpZ0hlYWRlcigpJ1xuICB9LFxuICBpbXBvcnRzOiBbRGJ4RGV0YWlsQmxvY2tIZWFkZXJDb21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYnhEZXRhaWxCbG9ja0NvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGljb24gPSBpbnB1dDxNYXliZTxzdHJpbmc+PigpO1xuICByZWFkb25seSBoZWFkZXIgPSBpbnB1dDxNYXliZTxzdHJpbmc+PigpO1xuICByZWFkb25seSBhbGlnbkhlYWRlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgYmlnSGVhZGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xufVxuIl19
|
|
@@ -7,5 +7,7 @@ export * from './linkify.component';
|
|
|
7
7
|
export * from './text.chip.directive';
|
|
8
8
|
export * from './text.chips.component';
|
|
9
9
|
export * from './number.limit.component';
|
|
10
|
+
export * from './copy.text.directive';
|
|
11
|
+
export * from './copy.text.component';
|
|
10
12
|
export * from './text.module';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L3RleHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGRyZXNzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RldGFpbC5ibG9jay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXRhaWwuYmxvY2suaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24uc3BhY2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xhYmVsLmJsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmtpZnkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC5jaGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQuY2hpcHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLmxpbWl0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcHkudGV4dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3B5LnRleHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC5tb2R1bGUnO1xuIl19
|
|
@@ -8,12 +8,14 @@ import { DbxLinkifyComponent } from './linkify.component';
|
|
|
8
8
|
import { DbxChipDirective } from './text.chip.directive';
|
|
9
9
|
import { DbxTextChipsComponent } from './text.chips.component';
|
|
10
10
|
import { DbxNumberWithLimitComponent } from './number.limit.component';
|
|
11
|
+
import { DbxClickToCopyTextDirective } from './copy.text.directive';
|
|
12
|
+
import { DbxClickToCopyTextComponent } from './copy.text.component';
|
|
11
13
|
import * as i0 from "@angular/core";
|
|
12
|
-
const importsAndExports = [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective];
|
|
14
|
+
const importsAndExports = [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxClickToCopyTextDirective, DbxClickToCopyTextComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective];
|
|
13
15
|
export class DbxTextModule {
|
|
14
16
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, imports: [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective], exports: [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective] });
|
|
16
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, imports: [DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxTextChipsComponent] });
|
|
17
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, imports: [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxClickToCopyTextDirective, DbxClickToCopyTextComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective], exports: [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxClickToCopyTextDirective, DbxClickToCopyTextComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective] });
|
|
18
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, imports: [DbxClickToCopyTextComponent, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxTextChipsComponent] });
|
|
17
19
|
}
|
|
18
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, decorators: [{
|
|
19
21
|
type: NgModule,
|
|
@@ -22,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
22
24
|
exports: importsAndExports
|
|
23
25
|
}]
|
|
24
26
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L3RleHQvdGV4dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFcEUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLCtCQUErQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLDZCQUE2QixFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFNelQsTUFBTSxPQUFPLGFBQWE7d0dBQWIsYUFBYTt5R0FBYixhQUFhLFlBTkMsK0JBQStCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsNkJBQTZCLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLGFBQTVSLCtCQUErQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLDZCQUE2QixFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQjt5R0FNMVMsYUFBYSxZQU40RiwyQkFBMkIsRUFBb0IsdUJBQXVCLEVBQUUsNkJBQTZCLEVBQStDLHFCQUFxQjs7NEZBTWxSLGFBQWE7a0JBSnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsT0FBTyxFQUFFLGlCQUFpQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4VW5pdGVkU3RhdGVzQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4vYWRkcmVzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4RGV0YWlsQmxvY2tDb21wb25lbnQgfSBmcm9tICcuL2RldGFpbC5ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4RGV0YWlsQmxvY2tIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2RldGFpbC5ibG9jay5oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERieEljb25TcGFjZXJEaXJlY3RpdmUgfSBmcm9tICcuL2ljb24uc3BhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhMYWJlbEJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9sYWJlbC5ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4TGlua2lmeUNvbXBvbmVudCB9IGZyb20gJy4vbGlua2lmeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4Q2hpcERpcmVjdGl2ZSB9IGZyb20gJy4vdGV4dC5jaGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYnhUZXh0Q2hpcHNDb21wb25lbnQgfSBmcm9tICcuL3RleHQuY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IERieE51bWJlcldpdGhMaW1pdENvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyLmxpbWl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhDbGlja1RvQ29weVRleHREaXJlY3RpdmUgfSBmcm9tICcuL2NvcHkudGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4Q2xpY2tUb0NvcHlUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb3B5LnRleHQuY29tcG9uZW50JztcblxuY29uc3QgaW1wb3J0c0FuZEV4cG9ydHMgPSBbRGJ4VW5pdGVkU3RhdGVzQWRkcmVzc0NvbXBvbmVudCwgRGJ4TnVtYmVyV2l0aExpbWl0Q29tcG9uZW50LCBEYnhDbGlja1RvQ29weVRleHREaXJlY3RpdmUsIERieENsaWNrVG9Db3B5VGV4dENvbXBvbmVudCwgRGJ4Q2hpcERpcmVjdGl2ZSwgRGJ4RGV0YWlsQmxvY2tDb21wb25lbnQsIERieERldGFpbEJsb2NrSGVhZGVyQ29tcG9uZW50LCBEYnhMYWJlbEJsb2NrQ29tcG9uZW50LCBEYnhMaW5raWZ5Q29tcG9uZW50LCBEYnhUZXh0Q2hpcHNDb21wb25lbnQsIERieEljb25TcGFjZXJEaXJlY3RpdmVdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBpbXBvcnRzQW5kRXhwb3J0cyxcbiAgZXhwb3J0czogaW1wb3J0c0FuZEV4cG9ydHNcbn0pXG5leHBvcnQgY2xhc3MgRGJ4VGV4dE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Directive, effect, input } from '@angular/core';
|
|
2
|
+
import { injectCopyToClipboardFunctionWithSnackbarMessage } from './clipboard';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AbstractDbxClipboardDirective {
|
|
5
|
+
_copyToClipboard = injectCopyToClipboardFunctionWithSnackbarMessage();
|
|
6
|
+
clipboardSnackbarMessagesConfig = input(undefined);
|
|
7
|
+
clipboardSnackbarMessagesEnabled = input(true);
|
|
8
|
+
_configEffect = effect(() => {
|
|
9
|
+
this._copyToClipboard.setSnackbarMessagesConfig(this.clipboardSnackbarMessagesConfig());
|
|
10
|
+
});
|
|
11
|
+
_enabledEffect = effect(() => {
|
|
12
|
+
this._copyToClipboard.setSnackbarMessagesEnabled(this.clipboardSnackbarMessagesEnabled());
|
|
13
|
+
});
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxClipboardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: AbstractDbxClipboardDirective, inputs: { clipboardSnackbarMessagesConfig: { classPropertyName: "clipboardSnackbarMessagesConfig", publicName: "clipboardSnackbarMessagesConfig", isSignal: true, isRequired: false, transformFunction: null }, clipboardSnackbarMessagesEnabled: { classPropertyName: "clipboardSnackbarMessagesEnabled", publicName: "clipboardSnackbarMessagesEnabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxClipboardDirective, decorators: [{
|
|
18
|
+
type: Directive
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi91dGlsL2NsaXBib2FyZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBNEQsZ0RBQWdELEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pJLE1BQU0sT0FBTyw2QkFBNkI7SUFDckIsZ0JBQWdCLEdBQUcsZ0RBQWdELEVBQUUsQ0FBQztJQUVoRiwrQkFBK0IsR0FBRyxLQUFLLENBQWtFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BILGdDQUFnQyxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUU5QyxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDLENBQUMsQ0FBQztJQUVnQixjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDLENBQUMsQ0FBQzt3R0FaUSw2QkFBNkI7NEZBQTdCLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFEekMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZWZmZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IENvcHlUb0NsaXBib2FyZEZ1bmN0aW9uV2l0aFNuYWNrYmFyTWVzc2FnZVNuYWNrYmFyQ29uZmlnLCBpbmplY3RDb3B5VG9DbGlwYm9hcmRGdW5jdGlvbldpdGhTbmFja2Jhck1lc3NhZ2UgfSBmcm9tICcuL2NsaXBib2FyZCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGJ4Q2xpcGJvYXJkRGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jb3B5VG9DbGlwYm9hcmQgPSBpbmplY3RDb3B5VG9DbGlwYm9hcmRGdW5jdGlvbldpdGhTbmFja2Jhck1lc3NhZ2UoKTtcblxuICByZWFkb25seSBjbGlwYm9hcmRTbmFja2Jhck1lc3NhZ2VzQ29uZmlnID0gaW5wdXQ8TWF5YmU8Q29weVRvQ2xpcGJvYXJkRnVuY3Rpb25XaXRoU25hY2tiYXJNZXNzYWdlU25hY2tiYXJDb25maWc+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBjbGlwYm9hcmRTbmFja2Jhck1lc3NhZ2VzRW5hYmxlZCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfY29uZmlnRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLl9jb3B5VG9DbGlwYm9hcmQuc2V0U25hY2tiYXJNZXNzYWdlc0NvbmZpZyh0aGlzLmNsaXBib2FyZFNuYWNrYmFyTWVzc2FnZXNDb25maWcoKSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfZW5hYmxlZEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgdGhpcy5fY29weVRvQ2xpcGJvYXJkLnNldFNuYWNrYmFyTWVzc2FnZXNFbmFibGVkKHRoaXMuY2xpcGJvYXJkU25hY2tiYXJNZXNzYWdlc0VuYWJsZWQoKSk7XG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
|
+
import { inject } from '@angular/core';
|
|
3
|
+
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
4
|
+
import { addMilliseconds, getValueFromGetter, isPast, MS_IN_SECOND } from '@dereekb/util';
|
|
5
|
+
/**
|
|
6
|
+
* Creates a copy to clipboard function.
|
|
7
|
+
*
|
|
8
|
+
* @param clipboard The clipboard to use.
|
|
9
|
+
* @param config Optional configuration.
|
|
10
|
+
* @returns The copy to clipboard function.
|
|
11
|
+
*/
|
|
12
|
+
export function copyToClipboardFunction(clipboard, config) {
|
|
13
|
+
const copyTimeoutSeconds = config?.copyTimeoutSeconds ?? 15;
|
|
14
|
+
const delayBetweenCopyAttempts = config?.delayBetweenCopyAttempts ?? MS_IN_SECOND;
|
|
15
|
+
const onCopyResult = config?.onCopyResult;
|
|
16
|
+
const copyFunction = ((content) => {
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
const pending = clipboard.beginCopy(content);
|
|
19
|
+
const copyTimeoutAt = addMilliseconds(new Date(), copyTimeoutSeconds * MS_IN_SECOND);
|
|
20
|
+
const attempt = () => {
|
|
21
|
+
const copyIsFinished = pending.copy();
|
|
22
|
+
if (!copyIsFinished && !isPast(copyTimeoutAt)) {
|
|
23
|
+
setTimeout(attempt, delayBetweenCopyAttempts);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
// Destroy the pending copy
|
|
27
|
+
pending.destroy();
|
|
28
|
+
if (copyIsFinished) {
|
|
29
|
+
resolve(true);
|
|
30
|
+
onCopyResult?.(true, content);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
reject(false);
|
|
34
|
+
onCopyResult?.(false, content);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
attempt();
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
copyFunction._clipboard = clipboard;
|
|
42
|
+
return copyFunction;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Injects a copy to clipboard function.
|
|
46
|
+
*
|
|
47
|
+
* Must be run in an Angular injection context.
|
|
48
|
+
*
|
|
49
|
+
* @param config
|
|
50
|
+
* @returns
|
|
51
|
+
*/
|
|
52
|
+
export function injectCopyToClipboardFunction(config) {
|
|
53
|
+
return copyToClipboardFunction(inject(Clipboard), config);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Injects a copy to clipboard function.
|
|
57
|
+
*
|
|
58
|
+
* Must be run in an Angular injection context.
|
|
59
|
+
*
|
|
60
|
+
* @param config
|
|
61
|
+
* @returns
|
|
62
|
+
*/
|
|
63
|
+
export function injectCopyToClipboardFunctionWithSnackbarMessage(config) {
|
|
64
|
+
// TODO: Add service for configuring global defaults for snackbar messages
|
|
65
|
+
const snackbar = inject(MatSnackBar);
|
|
66
|
+
const DEFAULT_SUCCESS_MESSAGE = 'Copied to clipboard';
|
|
67
|
+
const DEFAULT_FAILURE_MESSAGE = 'Content failed to copy...';
|
|
68
|
+
const DEFAULT_SNACKBAR_DURATION = 3 * MS_IN_SECOND;
|
|
69
|
+
let snackbarMessagesEnabled = true;
|
|
70
|
+
let successMessage = DEFAULT_SUCCESS_MESSAGE;
|
|
71
|
+
let failureMessage = DEFAULT_FAILURE_MESSAGE;
|
|
72
|
+
let snackbarDuration = DEFAULT_SNACKBAR_DURATION;
|
|
73
|
+
const _setSnackbarMessagesConfig = (config) => {
|
|
74
|
+
if (config != null) {
|
|
75
|
+
const { successMessage: inputSuccessMessage, failureMessage: inputFailureMessage, snackbarDuration: inputSnackbarDuration } = config;
|
|
76
|
+
successMessage = (inputSuccessMessage !== undefined ? inputSuccessMessage : successMessage) ?? DEFAULT_SUCCESS_MESSAGE;
|
|
77
|
+
failureMessage = (inputFailureMessage !== undefined ? inputFailureMessage : failureMessage) ?? DEFAULT_FAILURE_MESSAGE;
|
|
78
|
+
snackbarDuration = (inputSnackbarDuration !== undefined ? inputSnackbarDuration : snackbarDuration) ?? DEFAULT_SNACKBAR_DURATION;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
if (config) {
|
|
82
|
+
_setSnackbarMessagesConfig(config);
|
|
83
|
+
}
|
|
84
|
+
const onCopyResult = (success, content) => {
|
|
85
|
+
config?.onCopyResult?.(success, content);
|
|
86
|
+
if (snackbarMessagesEnabled) {
|
|
87
|
+
const message = success ? getValueFromGetter(successMessage, content) : getValueFromGetter(failureMessage, content);
|
|
88
|
+
snackbar.open(message, undefined, { duration: snackbarDuration });
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const result = copyToClipboardFunction(inject(Clipboard), { ...config, onCopyResult });
|
|
92
|
+
result.setSnackbarMessagesConfig = _setSnackbarMessagesConfig;
|
|
93
|
+
result.setSnackbarMessagesEnabled = (enabled) => {
|
|
94
|
+
snackbarMessagesEnabled = enabled;
|
|
95
|
+
};
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL3V0aWwvY2xpcGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFrRCxrQkFBa0IsRUFBRSxNQUFNLEVBQWlDLFlBQVksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUE0QnZMOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxTQUFvQixFQUFFLE1BQXNDO0lBQ2xHLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxFQUFFLGtCQUFrQixJQUFJLEVBQUUsQ0FBQztJQUM1RCxNQUFNLHdCQUF3QixHQUFHLE1BQU0sRUFBRSx3QkFBd0IsSUFBSSxZQUFZLENBQUM7SUFDbEYsTUFBTSxZQUFZLEdBQUcsTUFBTSxFQUFFLFlBQVksQ0FBQztJQUUxQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsT0FBK0IsRUFBRSxFQUFFO1FBQ3hELE9BQU8sSUFBSSxPQUFPLENBQXlCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzdELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFN0MsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLENBQUM7WUFFckYsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO2dCQUNuQixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRXRDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztvQkFDOUMsVUFBVSxDQUFDLE9BQU8sRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sMkJBQTJCO29CQUMzQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBRWxCLElBQUksY0FBYyxFQUFFLENBQUM7d0JBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDZCxZQUFZLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQ2hDLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2QsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNqQyxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUM7WUFFRixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUF1QyxDQUFDO0lBQ3hDLFlBQXNELENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUMvRSxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxNQUFzQztJQUNsRixPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBaUNEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsZ0RBQWdELENBQUMsTUFBeUQ7SUFDeEgsMEVBQTBFO0lBRTFFLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVyQyxNQUFNLHVCQUF1QixHQUFHLHFCQUFxQixDQUFDO0lBQ3RELE1BQU0sdUJBQXVCLEdBQUcsMkJBQTJCLENBQUM7SUFDNUQsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDO0lBRW5ELElBQUksdUJBQXVCLEdBQUcsSUFBSSxDQUFDO0lBQ25DLElBQUksY0FBYyxHQUEyRCx1QkFBdUIsQ0FBQztJQUNyRyxJQUFJLGNBQWMsR0FBMkQsdUJBQXVCLENBQUM7SUFDckcsSUFBSSxnQkFBZ0IsR0FBaUIseUJBQXlCLENBQUM7SUFFL0QsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLE1BQXVFLEVBQUUsRUFBRTtRQUM3RyxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQixNQUFNLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztZQUVySSxjQUFjLEdBQUcsQ0FBQyxtQkFBbUIsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSx1QkFBdUIsQ0FBQztZQUN2SCxjQUFjLEdBQUcsQ0FBQyxtQkFBbUIsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSx1QkFBdUIsQ0FBQztZQUN2SCxnQkFBZ0IsR0FBRyxDQUFDLHFCQUFxQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUkseUJBQXlCLENBQUM7UUFDbkksQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUErQixFQUFFLE9BQStCLEVBQUUsRUFBRTtRQUN4RixNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLElBQUksdUJBQXVCLEVBQUUsQ0FBQztZQUM1QixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BILFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUErQyxDQUFDO0lBRXBJLE1BQW1FLENBQUMseUJBQXlCLEdBQUcsMEJBQTBCLENBQUM7SUFDM0gsTUFBbUUsQ0FBQywwQkFBMEIsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtRQUNySCx1QkFBdUIsR0FBRyxPQUFPLENBQUM7SUFDcEMsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBhZGRNaWxsaXNlY29uZHMsIHR5cGUgQ29uZmlndXJhYmxlLCB0eXBlIEdldHRlck9yVmFsdWVXaXRoSW5wdXQsIGdldFZhbHVlRnJvbUdldHRlciwgaXNQYXN0LCB0eXBlIE1heWJlLCB0eXBlIE1pbGxpc2Vjb25kcywgTVNfSU5fU0VDT05ELCB0eXBlIFNlY29uZHMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBUcnVlIGlmIGNvcHlpbmcgdG8gdGhlIGNsaXBib2FyZCB3YXMgc3VjY2Vzc2Z1bC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29weVRvQ2xpcGJvYXJkU3VjY2VzcyA9IGJvb2xlYW47XG5cbi8qKlxuICogQ2FuIG9ubHkgY29weSBzdHJpbmdzIHRvIHRoZSBjbGlwYm9hcmQuXG4gKi9cbmV4cG9ydCB0eXBlIENvcHlUb0NsaXBib2FyZENvbnRlbnQgPSBzdHJpbmc7XG5cbi8qKlxuICogQ29waWVzIHRoZSBpbnB1dCB0ZXh0IHRvIHRoZSBjbGlwYm9hcmQuXG4gKlxuICogQHBhcmFtIGNvbnRlbnQgVGhlIGNvbnRlbnQgdG8gY29weS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRydWUgaWYgdGhlIGNvbnRlbnQgd2FzIGNvcGllZCBzdWNjZXNzZnVsbHksIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ29weVRvQ2xpcGJvYXJkRnVuY3Rpb24gPSAoKGNvbnRlbnQ6IENvcHlUb0NsaXBib2FyZENvbnRlbnQpID0+IFByb21pc2U8Q29weVRvQ2xpcGJvYXJkU3VjY2Vzcz4pICYge1xuICByZWFkb25seSBfY2xpcGJvYXJkOiBDbGlwYm9hcmQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvcHlUb0NsaXBib2FyZEZ1bmN0aW9uQ29uZmlnIHtcbiAgcmVhZG9ubHkgY29weVRpbWVvdXRTZWNvbmRzPzogTWF5YmU8U2Vjb25kcz47XG4gIHJlYWRvbmx5IGRlbGF5QmV0d2VlbkNvcHlBdHRlbXB0cz86IE1heWJlPE1pbGxpc2Vjb25kcz47XG4gIHJlYWRvbmx5IG9uQ29weVJlc3VsdD86IE1heWJlPChzdWNjZXNzOiBDb3B5VG9DbGlwYm9hcmRTdWNjZXNzLCBjb250ZW50OiBDb3B5VG9DbGlwYm9hcmRDb250ZW50KSA9PiB2b2lkPjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgY29weSB0byBjbGlwYm9hcmQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGNsaXBib2FyZCBUaGUgY2xpcGJvYXJkIHRvIHVzZS5cbiAqIEBwYXJhbSBjb25maWcgT3B0aW9uYWwgY29uZmlndXJhdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBjb3B5IHRvIGNsaXBib2FyZCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvcHlUb0NsaXBib2FyZEZ1bmN0aW9uKGNsaXBib2FyZDogQ2xpcGJvYXJkLCBjb25maWc/OiBDb3B5VG9DbGlwYm9hcmRGdW5jdGlvbkNvbmZpZyk6IENvcHlUb0NsaXBib2FyZEZ1bmN0aW9uIHtcbiAgY29uc3QgY29weVRpbWVvdXRTZWNvbmRzID0gY29uZmlnPy5jb3B5VGltZW91dFNlY29uZHMgPz8gMTU7XG4gIGNvbnN0IGRlbGF5QmV0d2VlbkNvcHlBdHRlbXB0cyA9IGNvbmZpZz8uZGVsYXlCZXR3ZWVuQ29weUF0dGVtcHRzID8/IE1TX0lOX1NFQ09ORDtcbiAgY29uc3Qgb25Db3B5UmVzdWx0ID0gY29uZmlnPy5vbkNvcHlSZXN1bHQ7XG5cbiAgY29uc3QgY29weUZ1bmN0aW9uID0gKChjb250ZW50OiBDb3B5VG9DbGlwYm9hcmRDb250ZW50KSA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPENvcHlUb0NsaXBib2FyZFN1Y2Nlc3M+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHBlbmRpbmcgPSBjbGlwYm9hcmQuYmVnaW5Db3B5KGNvbnRlbnQpO1xuXG4gICAgICBjb25zdCBjb3B5VGltZW91dEF0ID0gYWRkTWlsbGlzZWNvbmRzKG5ldyBEYXRlKCksIGNvcHlUaW1lb3V0U2Vjb25kcyAqIE1TX0lOX1NFQ09ORCk7XG5cbiAgICAgIGNvbnN0IGF0dGVtcHQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvcHlJc0ZpbmlzaGVkID0gcGVuZGluZy5jb3B5KCk7XG5cbiAgICAgICAgaWYgKCFjb3B5SXNGaW5pc2hlZCAmJiAhaXNQYXN0KGNvcHlUaW1lb3V0QXQpKSB7XG4gICAgICAgICAgc2V0VGltZW91dChhdHRlbXB0LCBkZWxheUJldHdlZW5Db3B5QXR0ZW1wdHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIERlc3Ryb3kgdGhlIHBlbmRpbmcgY29weVxuICAgICAgICAgIHBlbmRpbmcuZGVzdHJveSgpO1xuXG4gICAgICAgICAgaWYgKGNvcHlJc0ZpbmlzaGVkKSB7XG4gICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgb25Db3B5UmVzdWx0Py4odHJ1ZSwgY29udGVudCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlamVjdChmYWxzZSk7XG4gICAgICAgICAgICBvbkNvcHlSZXN1bHQ/LihmYWxzZSwgY29udGVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBhdHRlbXB0KCk7XG4gICAgfSk7XG4gIH0pIGFzIHVua25vd24gYXMgQ29weVRvQ2xpcGJvYXJkRnVuY3Rpb247XG4gIChjb3B5RnVuY3Rpb24gYXMgQ29uZmlndXJhYmxlPENvcHlUb0NsaXBib2FyZEZ1bmN0aW9uPikuX2NsaXBib2FyZCA9IGNsaXBib2FyZDtcbiAgcmV0dXJuIGNvcHlGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBJbmplY3RzIGEgY29weSB0byBjbGlwYm9hcmQgZnVuY3Rpb24uXG4gKlxuICogTXVzdCBiZSBydW4gaW4gYW4gQW5ndWxhciBpbmplY3Rpb24gY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gY29uZmlnXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Q29weVRvQ2xpcGJvYXJkRnVuY3Rpb24oY29uZmlnPzogQ29weVRvQ2xpcGJvYXJkRnVuY3Rpb25Db25maWcpIHtcbiAgcmV0dXJuIGNvcHlUb0NsaXBib2FyZEZ1bmN0aW9uKGluamVjdChDbGlwYm9hcmQpLCBjb25maWcpO1xufVxuXG4vLyBNQVJLOiBTbmFja2JhciBNZXNzYWdlIE9uIENvcHlcbi8qKlxuICogQ29waWVzIHRoZSBpbnB1dCB0ZXh0IHRvIHRoZSBjbGlwYm9hcmQuXG4gKlxuICogQHBhcmFtIGNvbnRlbnQgVGhlIGNvbnRlbnQgdG8gY29weS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRydWUgaWYgdGhlIGNvbnRlbnQgd2FzIGNvcGllZCBzdWNjZXNzZnVsbHksIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ29weVRvQ2xpcGJvYXJkRnVuY3Rpb25XaXRoU25hY2tiYXJNZXNzYWdlID0gQ29weVRvQ2xpcGJvYXJkRnVuY3Rpb24gJiB7XG4gIHNldFNuYWNrYmFyTWVzc2FnZXNDb25maWcoY29uZmlnOiBNYXliZTxDb3B5VG9DbGlwYm9hcmRGdW5jdGlvbldpdGhTbmFja2Jhck1lc3NhZ2VTbmFja2JhckNvbmZpZz4pOiB2b2lkO1xuICBzZXRTbmFja2Jhck1lc3NhZ2VzRW5hYmxlZChlbmFibGVkOiBib29sZWFuKTogdm9pZDtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29weVRvQ2xpcGJvYXJkRnVuY3Rpb25XaXRoU25hY2tiYXJNZXNzYWdlU25hY2tiYXJDb25maWcge1xuICAvKipcbiAgICogVGhlIGR1cmF0aW9uIHRvIHNob3cgdGhlIHNuYWNrYmFyIGZvci5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gMyBzZWNvbmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc25hY2tiYXJEdXJhdGlvbj86IE1pbGxpc2Vjb25kcztcbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHNob3cgd2hlbiB0aGUgY29udGVudCBpcyBjb3BpZWQgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VjY2Vzc01lc3NhZ2U/OiBHZXR0ZXJPclZhbHVlV2l0aElucHV0PHN0cmluZywgQ29weVRvQ2xpcGJvYXJkQ29udGVudD47XG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBzaG93IHdoZW4gdGhlIGNvbnRlbnQgZmFpbHMgdG8gY29weS5cbiAgICovXG4gIHJlYWRvbmx5IGZhaWx1cmVNZXNzYWdlPzogR2V0dGVyT3JWYWx1ZVdpdGhJbnB1dDxzdHJpbmcsIENvcHlUb0NsaXBib2FyZENvbnRlbnQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvcHlUb0NsaXBib2FyZEZ1bmN0aW9uV2l0aFNuYWNrYmFyTWVzc2FnZUNvbmZpZyBleHRlbmRzIENvcHlUb0NsaXBib2FyZEZ1bmN0aW9uQ29uZmlnLCBDb3B5VG9DbGlwYm9hcmRGdW5jdGlvbldpdGhTbmFja2Jhck1lc3NhZ2VTbmFja2JhckNvbmZpZyB7fVxuXG4vKipcbiAqIEluamVjdHMgYSBjb3B5IHRvIGNsaXBib2FyZCBmdW5jdGlvbi5cbiAqXG4gKiBNdXN0IGJlIHJ1biBpbiBhbiBBbmd1bGFyIGluamVjdGlvbiBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSBjb25maWdcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RDb3B5VG9DbGlwYm9hcmRGdW5jdGlvbldpdGhTbmFja2Jhck1lc3NhZ2UoY29uZmlnPzogQ29weVRvQ2xpcGJvYXJkRnVuY3Rpb25XaXRoU25hY2tiYXJNZXNzYWdlQ29uZmlnKSB7XG4gIC8vIFRPRE86IEFkZCBzZXJ2aWNlIGZvciBjb25maWd1cmluZyBnbG9iYWwgZGVmYXVsdHMgZm9yIHNuYWNrYmFyIG1lc3NhZ2VzXG5cbiAgY29uc3Qgc25hY2tiYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuXG4gIGNvbnN0IERFRkFVTFRfU1VDQ0VTU19NRVNTQUdFID0gJ0NvcGllZCB0byBjbGlwYm9hcmQnO1xuICBjb25zdCBERUZBVUxUX0ZBSUxVUkVfTUVTU0FHRSA9ICdDb250ZW50IGZhaWxlZCB0byBjb3B5Li4uJztcbiAgY29uc3QgREVGQVVMVF9TTkFDS0JBUl9EVVJBVElPTiA9IDMgKiBNU19JTl9TRUNPTkQ7XG5cbiAgbGV0IHNuYWNrYmFyTWVzc2FnZXNFbmFibGVkID0gdHJ1ZTtcbiAgbGV0IHN1Y2Nlc3NNZXNzYWdlOiBHZXR0ZXJPclZhbHVlV2l0aElucHV0PHN0cmluZywgQ29weVRvQ2xpcGJvYXJkQ29udGVudD4gPSBERUZBVUxUX1NVQ0NFU1NfTUVTU0FHRTtcbiAgbGV0IGZhaWx1cmVNZXNzYWdlOiBHZXR0ZXJPclZhbHVlV2l0aElucHV0PHN0cmluZywgQ29weVRvQ2xpcGJvYXJkQ29udGVudD4gPSBERUZBVUxUX0ZBSUxVUkVfTUVTU0FHRTtcbiAgbGV0IHNuYWNrYmFyRHVyYXRpb246IE1pbGxpc2Vjb25kcyA9IERFRkFVTFRfU05BQ0tCQVJfRFVSQVRJT047XG5cbiAgY29uc3QgX3NldFNuYWNrYmFyTWVzc2FnZXNDb25maWcgPSAoY29uZmlnOiBNYXliZTxDb3B5VG9DbGlwYm9hcmRGdW5jdGlvbldpdGhTbmFja2Jhck1lc3NhZ2VTbmFja2JhckNvbmZpZz4pID0+IHtcbiAgICBpZiAoY29uZmlnICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgc3VjY2Vzc01lc3NhZ2U6IGlucHV0U3VjY2Vzc01lc3NhZ2UsIGZhaWx1cmVNZXNzYWdlOiBpbnB1dEZhaWx1cmVNZXNzYWdlLCBzbmFja2JhckR1cmF0aW9uOiBpbnB1dFNuYWNrYmFyRHVyYXRpb24gfSA9IGNvbmZpZztcblxuICAgICAgc3VjY2Vzc01lc3NhZ2UgPSAoaW5wdXRTdWNjZXNzTWVzc2FnZSAhPT0gdW5kZWZpbmVkID8gaW5wdXRTdWNjZXNzTWVzc2FnZSA6IHN1Y2Nlc3NNZXNzYWdlKSA/PyBERUZBVUxUX1NVQ0NFU1NfTUVTU0FHRTtcbiAgICAgIGZhaWx1cmVNZXNzYWdlID0gKGlucHV0RmFpbHVyZU1lc3NhZ2UgIT09IHVuZGVmaW5lZCA/IGlucHV0RmFpbHVyZU1lc3NhZ2UgOiBmYWlsdXJlTWVzc2FnZSkgPz8gREVGQVVMVF9GQUlMVVJFX01FU1NBR0U7XG4gICAgICBzbmFja2JhckR1cmF0aW9uID0gKGlucHV0U25hY2tiYXJEdXJhdGlvbiAhPT0gdW5kZWZpbmVkID8gaW5wdXRTbmFja2JhckR1cmF0aW9uIDogc25hY2tiYXJEdXJhdGlvbikgPz8gREVGQVVMVF9TTkFDS0JBUl9EVVJBVElPTjtcbiAgICB9XG4gIH07XG5cbiAgaWYgKGNvbmZpZykge1xuICAgIF9zZXRTbmFja2Jhck1lc3NhZ2VzQ29uZmlnKGNvbmZpZyk7XG4gIH1cblxuICBjb25zdCBvbkNvcHlSZXN1bHQgPSAoc3VjY2VzczogQ29weVRvQ2xpcGJvYXJkU3VjY2VzcywgY29udGVudDogQ29weVRvQ2xpcGJvYXJkQ29udGVudCkgPT4ge1xuICAgIGNvbmZpZz8ub25Db3B5UmVzdWx0Py4oc3VjY2VzcywgY29udGVudCk7XG5cbiAgICBpZiAoc25hY2tiYXJNZXNzYWdlc0VuYWJsZWQpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBzdWNjZXNzID8gZ2V0VmFsdWVGcm9tR2V0dGVyKHN1Y2Nlc3NNZXNzYWdlLCBjb250ZW50KSA6IGdldFZhbHVlRnJvbUdldHRlcihmYWlsdXJlTWVzc2FnZSwgY29udGVudCk7XG4gICAgICBzbmFja2Jhci5vcGVuKG1lc3NhZ2UsIHVuZGVmaW5lZCwgeyBkdXJhdGlvbjogc25hY2tiYXJEdXJhdGlvbiB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVzdWx0ID0gY29weVRvQ2xpcGJvYXJkRnVuY3Rpb24oaW5qZWN0KENsaXBib2FyZCksIHsgLi4uY29uZmlnLCBvbkNvcHlSZXN1bHQgfSkgYXMgQ29weVRvQ2xpcGJvYXJkRnVuY3Rpb25XaXRoU25hY2tiYXJNZXNzYWdlO1xuXG4gIChyZXN1bHQgYXMgQ29uZmlndXJhYmxlPENvcHlUb0NsaXBib2FyZEZ1bmN0aW9uV2l0aFNuYWNrYmFyTWVzc2FnZT4pLnNldFNuYWNrYmFyTWVzc2FnZXNDb25maWcgPSBfc2V0U25hY2tiYXJNZXNzYWdlc0NvbmZpZztcbiAgKHJlc3VsdCBhcyBDb25maWd1cmFibGU8Q29weVRvQ2xpcGJvYXJkRnVuY3Rpb25XaXRoU25hY2tiYXJNZXNzYWdlPikuc2V0U25hY2tiYXJNZXNzYWdlc0VuYWJsZWQgPSAoZW5hYmxlZDogYm9vbGVhbikgPT4ge1xuICAgIHNuYWNrYmFyTWVzc2FnZXNFbmFibGVkID0gZW5hYmxlZDtcbiAgfTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export * from './cdk';
|
|
2
|
-
|
|
2
|
+
export * from './clipboard';
|
|
3
|
+
export * from './clipboard.directive';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jZGsnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGlwYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGlwYm9hcmQuZGlyZWN0aXZlJztcbiJdfQ==
|