UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

53 lines 8.83 kB
// © 2022 SolarWinds Worldwide, LLC. All rights reserved. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to // deal in the Software without restriction, including without limitation the // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or // sell copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. import { Component, Inject, Input } from "@angular/core"; import { ToastService } from "../../toast/toast.service"; import * as i0 from "@angular/core"; import * as i1 from "../../../common/directives/clipboard/clipboard.directive"; import * as i2 from "../../tooltip/tooltip.directive"; import * as i3 from "../../button/button.component"; /** @ignore */ export class CopyTextComponent { constructor(toastService) { this.toastService = toastService; this.copyTooltip = $localize `copy snippet to clipboard`; } onSnippetCopied() { this.toastService.info({ message: $localize `Code snippet copied to clipboard`, options: { timeOut: 2000, extendedTimeOut: 1000, }, }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CopyTextComponent, deps: [{ token: ToastService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CopyTextComponent, selector: "nui-copy-text", inputs: { fileContent: "fileContent" }, ngImport: i0, template: "<div class=\"nui-copy-text__overlay\">\n <button\n nui-button\n type=\"button\"\n [nuiTooltip]=\"copyTooltip\"\n icon=\"copy\"\n iconColor=\"primary-blue\"\n (clipboardSuccess)=\"onSnippetCopied()\"\n nuiClipboard=\"{{ fileContent }}\"\n ></button>\n</div>\n", styles: [".nui-copy-text__overlay{position:absolute;display:block;right:13px;margin-top:2px;z-index:200}\n"], dependencies: [{ kind: "directive", type: i1.ClipboardDirective, selector: "[nuiClipboard]", inputs: ["nuiClipboard"], outputs: ["clipboardSuccess", "clipboardError"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[nuiTooltip]", inputs: ["tooltipPlacement", "nuiTooltipDisabled", "nuiTooltipEllipsis", "nuiTooltip"], exportAs: ["nuiTooltip"] }, { kind: "component", type: i3.ButtonComponent, selector: "[nui-button]", inputs: ["displayStyle", "icon", "iconColor", "iconRight", "isBusy", "isEmpty", "ariaLabel", "isRepeat", "size"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CopyTextComponent, decorators: [{ type: Component, args: [{ selector: "nui-copy-text", template: "<div class=\"nui-copy-text__overlay\">\n <button\n nui-button\n type=\"button\"\n [nuiTooltip]=\"copyTooltip\"\n icon=\"copy\"\n iconColor=\"primary-blue\"\n (clipboardSuccess)=\"onSnippetCopied()\"\n nuiClipboard=\"{{ fileContent }}\"\n ></button>\n</div>\n", styles: [".nui-copy-text__overlay{position:absolute;display:block;right:13px;margin-top:2px;z-index:200}\n"] }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Inject, args: [ToastService] }] }], propDecorators: { fileContent: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZG9jcy9jb3B5LXRleHQvY29weS10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZG9jcy9jb3B5LXRleHQvY29weS10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxFQUFFO0FBQ0YsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsK0VBQStFO0FBQy9FLDhFQUE4RTtBQUM5RSw0REFBNEQ7QUFDNUQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSx1REFBdUQ7QUFDdkQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSw0RUFBNEU7QUFDNUUsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSxpRkFBaUY7QUFDakYsNkVBQTZFO0FBQzdFLGlCQUFpQjtBQUVqQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUV6RCxjQUFjO0FBTWQsTUFBTSxPQUFPLGlCQUFpQjtJQU0xQixZQUEwQyxZQUEyQjtRQUEzQixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUY5RCxnQkFBVyxHQUFHLFNBQVMsQ0FBQSwyQkFBMkIsQ0FBQztJQUVjLENBQUM7SUFFbEUsZUFBZTtRQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNuQixPQUFPLEVBQUUsU0FBUyxDQUFBLGtDQUFrQztZQUNwRCxPQUFPLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsZUFBZSxFQUFFLElBQUk7YUFDeEI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDOytHQWhCUSxpQkFBaUIsa0JBTU4sWUFBWTttR0FOdkIsaUJBQWlCLDZGQy9COUIsMlRBV0E7OzRGRG9CYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBRUksZUFBZTs7MEJBU1osTUFBTTsyQkFBQyxZQUFZO3lDQUh6QixXQUFXO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gwqkgMjAyMiBTb2xhcldpbmRzIFdvcmxkd2lkZSwgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vICBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0b1xuLy8gIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlXG4vLyAgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yXG4vLyAgc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vICBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IElUb2FzdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vdG9hc3QvcHVibGljLWFwaVwiO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2VcIjtcblxuLyoqIEBpZ25vcmUgKi9cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIi4vY29weS10ZXh0LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc2VsZWN0b3I6IFwibnVpLWNvcHktdGV4dFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9jb3B5LXRleHQuY29tcG9uZW50Lmxlc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIENvcHlUZXh0Q29tcG9uZW50IHtcbiAgICAvLyBmaWxlIHRvIHdoaWNoIHRoZSBjb3B5IGFwcGxpZXNcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWxlQ29udGVudDogc3RyaW5nO1xuICAgIHB1YmxpYyBjb3B5VG9vbHRpcCA9ICRsb2NhbGl6ZWBjb3B5IHNuaXBwZXQgdG8gY2xpcGJvYXJkYDtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoVG9hc3RTZXJ2aWNlKSBwcml2YXRlIHRvYXN0U2VydmljZTogSVRvYXN0U2VydmljZSkge31cblxuICAgIHB1YmxpYyBvblNuaXBwZXRDb3BpZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmluZm8oe1xuICAgICAgICAgICAgbWVzc2FnZTogJGxvY2FsaXplYENvZGUgc25pcHBldCBjb3BpZWQgdG8gY2xpcGJvYXJkYCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB0aW1lT3V0OiAyMDAwLFxuICAgICAgICAgICAgICAgIGV4dGVuZGVkVGltZU91dDogMTAwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJudWktY29weS10ZXh0X19vdmVybGF5XCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBudWktYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbbnVpVG9vbHRpcF09XCJjb3B5VG9vbHRpcFwiXG4gICAgICAgIGljb249XCJjb3B5XCJcbiAgICAgICAgaWNvbkNvbG9yPVwicHJpbWFyeS1ibHVlXCJcbiAgICAgICAgKGNsaXBib2FyZFN1Y2Nlc3MpPVwib25TbmlwcGV0Q29waWVkKClcIlxuICAgICAgICBudWlDbGlwYm9hcmQ9XCJ7eyBmaWxlQ29udGVudCB9fVwiXG4gICAgPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=