{"version":3,"file":"yuuvis-client-framework-clipboard.mjs","sources":["../../../../../libs/yuuvis/client-framework/clipboard/src/lib/clipboard.component.ts","../../../../../libs/yuuvis/client-framework/clipboard/src/lib/clipboard.component.html","../../../../../libs/yuuvis/client-framework/clipboard/src/yuuvis-client-framework-clipboard.ts"],"sourcesContent":["import { Component, DestroyRef, inject, input, OnInit, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { _ as marker } from '@ngx-translate/core';\nimport { ClipboardData, ClipboardService, TranslatePipe, TranslateService } from '@yuuvis/client-core';\nimport { YmtButtonDirective } from '@yuuvis/material';\n\nmarker('yuv.clipboard.text.copy.single');\nmarker('yuv.clipboard.text.copy.multiple');\nmarker('yuv.clipboard.text.cut.single');\nmarker('yuv.clipboard.text.cut.multiple');\n\n@Component({\n  selector: 'yuv-clipboard',\n  standalone: true,\n  imports: [TranslatePipe, YmtButtonDirective],\n  templateUrl: './clipboard.component.html',\n  styleUrl: './clipboard.component.scss',\n  host: {\n    '[attr.inert]': 'clipboardData?.objects?.length ? null : true'\n  }\n})\nexport class ClipboardComponent implements OnInit {\n  #clipboard = inject(ClipboardService);\n  #destroyRef = inject(DestroyRef);\n  translate = inject(TranslateService);\n\n  clipboardData: ClipboardData | undefined = undefined;\n\n  label?: string;\n  enablePaste = input<boolean>(false);\n\n  bucket = input<string>();\n  paste = output();\n\n  clearClipboard() {\n    this.#clipboard.clear(this.bucket());\n  }\n\n  ngOnInit() {\n    this.#clipboard\n      .clipboard$(this.bucket())\n      .pipe(takeUntilDestroyed(this.#destroyRef))\n      .subscribe((cd: ClipboardData | undefined) => {\n        this.clipboardData = cd;\n        if (cd?.mode && cd.objects?.length) {\n          const key = `yuv.clipboard.text.${cd?.mode}.${cd.objects.length === 1 ? 'single' : 'multiple'}`;\n          this.label = this.translate.instant(key, { count: cd?.objects.length });\n        }\n      });\n  }\n}\n","@if (clipboardData?.objects?.length) {\n  <div class=\"clipboard\">\n    <p class=\"clipboard__label\"> {{ label }}</p>\n    <button ymtButton=\"secondary\" button-size=\"small\" (click)=\"clearClipboard()\">{{ 'yuv.clipboard.button.cancel' | translate }}</button>\n    @if (enablePaste()) {\n      <button ymtButton=\"primary\" button-size=\"small\" (click)=\"paste.emit()\">{{ 'yuv.clipboard.button.paste' | translate }}</button>\n    }\n  </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["marker"],"mappings":"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"}