@cuby-ui/core 0.0.283 → 0.0.284

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.
@@ -0,0 +1 @@
1
+ export declare function copyTextToClipboard(text: string): void;
@@ -0,0 +1,17 @@
1
+ export function copyTextToClipboard(text) {
2
+ if (window?.navigator.clipboard && window.isSecureContext) {
3
+ window.navigator.clipboard.writeText(text);
4
+ }
5
+ copyTextToClipboardFallback(text);
6
+ }
7
+ // TODO: Remove when switch to https
8
+ function copyTextToClipboardFallback(text) {
9
+ const textarea = document.createElement('textarea');
10
+ textarea.value = text;
11
+ document.body.appendChild(textarea);
12
+ textarea.focus({ preventScroll: true });
13
+ textarea.select();
14
+ document.execCommand('copy');
15
+ document.body.removeChild(textarea);
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10ZXh0LXRvLWNsaXBib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3V0aWxzL2NvcHktdGV4dC10by1jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQVk7SUFDNUMsSUFBSSxNQUFNLEVBQUUsU0FBUyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsb0NBQW9DO0FBQ3BDLFNBQVMsMkJBQTJCLENBQUMsSUFBWTtJQUM3QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXBELFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4QyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNvcHlUZXh0VG9DbGlwYm9hcmQodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdz8ubmF2aWdhdG9yLmNsaXBib2FyZCAmJiB3aW5kb3cuaXNTZWN1cmVDb250ZXh0KSB7XG4gICAgICAgIHdpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0KTtcbiAgICB9XG5cbiAgICBjb3B5VGV4dFRvQ2xpcGJvYXJkRmFsbGJhY2sodGV4dCk7XG59XG5cbi8vIFRPRE86IFJlbW92ZSB3aGVuIHN3aXRjaCB0byBodHRwc1xuZnVuY3Rpb24gY29weVRleHRUb0NsaXBib2FyZEZhbGxiYWNrKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTtcblxuICAgIHRleHRhcmVhLnZhbHVlID0gdGV4dDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRhcmVhKTtcbiAgICB0ZXh0YXJlYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgdGV4dGFyZWEuc2VsZWN0KCk7XG5cbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpO1xufSJdfQ==
@@ -2,6 +2,7 @@ import { EDITOR_TOOLTIP_SELECTOR } from '../components';
2
2
  import { createLinkModal } from './create-link-modal';
3
3
  import { createToolModal } from './create-tool-modal';
4
4
  import { removeElementTagWrapper } from './remove-element-tag-wrapper';
5
+ import { copyTextToClipboard } from './copy-text-to-clipboard';
5
6
  export const tooltipMap = {
6
7
  MARK: createMarkerTooltip,
7
8
  A: createLinkTooltip
@@ -19,9 +20,7 @@ export function createLinkTooltip(link) {
19
20
  const options = ['copy', 'edit', 'delete'];
20
21
  const linkUrl = linkElement.href;
21
22
  const tooltip = createTooltip(linkElement, linkUrl, options);
22
- tooltip.addEventListener('copyClicked', () => {
23
- window?.navigator.clipboard.writeText(linkUrl);
24
- });
23
+ tooltip.addEventListener('copyClicked', () => copyTextToClipboard(linkUrl));
25
24
  setTimeout(() => {
26
25
  const linkModal = createLinkModal(tooltip, linkElement);
27
26
  tooltip.append(linkModal);
@@ -41,4 +40,4 @@ export function createTooltip(element, title, options) {
41
40
  });
42
41
  return tooltip;
43
42
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRvb2x0aXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9jcmVhdGUtdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixDQUFDLEVBQUUsaUJBQWlCO0NBQ3ZCLENBQUM7QUFFRixNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBbUI7SUFDbkQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNaLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFaEQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBaUI7SUFDL0MsTUFBTSxXQUFXLEdBQUcsSUFBdUIsQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBeUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDakMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFN0QsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDekMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUMsQ0FBQyxDQUFDO0lBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNaLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFeEQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQW9CLEVBQUUsS0FBYSxFQUFFLE9BQThCO0lBQzdGLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQThDLENBQUM7SUFFN0csT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFdEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLENBQUMsS0FBWSxFQUFFLEVBQUU7UUFDdkQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyQixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEN1aUFuZ3VsYXJFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB0eXBlIHsgRWRpdG9yVG9vbHRpcENvbXBvbmVudCwgRWRpdG9yVG9vbHRpcE9wdGlvbnMgfSBmcm9tICcuLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgRURJVE9SX1RPT0xUSVBfU0VMRUNUT1IgfSBmcm9tICcuLi9jb21wb25lbnRzJztcclxuXHJcbmltcG9ydCB7IGNyZWF0ZUxpbmtNb2RhbCB9IGZyb20gJy4vY3JlYXRlLWxpbmstbW9kYWwnO1xyXG5pbXBvcnQgeyBjcmVhdGVUb29sTW9kYWwgfSBmcm9tICcuL2NyZWF0ZS10b29sLW1vZGFsJztcclxuaW1wb3J0IHsgcmVtb3ZlRWxlbWVudFRhZ1dyYXBwZXIgfSBmcm9tICcuL3JlbW92ZS1lbGVtZW50LXRhZy13cmFwcGVyJztcclxuXHJcbmV4cG9ydCBjb25zdCB0b29sdGlwTWFwID0ge1xyXG4gICAgTUFSSzogY3JlYXRlTWFya2VyVG9vbHRpcCxcclxuICAgIEE6IGNyZWF0ZUxpbmtUb29sdGlwXHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWFya2VyVG9vbHRpcChtYXJrZXI6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQge1xyXG4gICAgY29uc3QgdG9vbHRpcCA9IGNyZWF0ZVRvb2x0aXAobWFya2VyLCBtYXJrZXIuaW5uZXJUZXh0KTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBzZWxlY3QgPSBjcmVhdGVUb29sTW9kYWwobWFya2VyLCB0b29sdGlwKTtcclxuXHJcbiAgICAgICAgdG9vbHRpcC5hcHBlbmQoc2VsZWN0KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0b29sdGlwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGlua1Rvb2x0aXAobGluazogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBjb25zdCBsaW5rRWxlbWVudCA9IGxpbmsgYXMgSFRNTExpbmtFbGVtZW50O1xyXG4gICAgY29uc3Qgb3B0aW9uczogRWRpdG9yVG9vbHRpcE9wdGlvbnMgPSBbJ2NvcHknLCAnZWRpdCcsICdkZWxldGUnXTtcclxuICAgIGNvbnN0IGxpbmtVcmwgPSBsaW5rRWxlbWVudC5ocmVmO1xyXG4gICAgY29uc3QgdG9vbHRpcCA9IGNyZWF0ZVRvb2x0aXAobGlua0VsZW1lbnQsIGxpbmtVcmwsIG9wdGlvbnMpO1xyXG5cclxuICAgIHRvb2x0aXAuYWRkRXZlbnRMaXN0ZW5lcignY29weUNsaWNrZWQnLCAoKSA9PiB7XHJcbiAgICAgICAgd2luZG93Py5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChsaW5rVXJsKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGxpbmtNb2RhbCA9IGNyZWF0ZUxpbmtNb2RhbCh0b29sdGlwLCBsaW5rRWxlbWVudCk7XHJcblxyXG4gICAgICAgIHRvb2x0aXAuYXBwZW5kKGxpbmtNb2RhbCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdG9vbHRpcDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRvb2x0aXAoZWxlbWVudDogSFRNTEVsZW1lbnQsIHRpdGxlOiBzdHJpbmcsIG9wdGlvbnM/OiBFZGl0b3JUb29sdGlwT3B0aW9ucyk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IHRvb2x0aXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KEVESVRPUl9UT09MVElQX1NFTEVDVE9SKSBhcyBDdWlBbmd1bGFyRWxlbWVudDxFZGl0b3JUb29sdGlwQ29tcG9uZW50PjtcclxuXHJcbiAgICB0b29sdGlwLnRpdGxlID0gdGl0bGU7XHJcblxyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICB0b29sdGlwLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIHRvb2x0aXAuYWRkRXZlbnRMaXN0ZW5lcignZGVsZXRlQ2xpY2tlZCcsIChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgcmVtb3ZlRWxlbWVudFRhZ1dyYXBwZXIoZWxlbWVudCk7XHJcblxyXG4gICAgICAgIHRvb2x0aXAucmVtb3ZlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdG9vbHRpcDtcclxufVxyXG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRvb2x0aXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9jcmVhdGUtdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixDQUFDLEVBQUUsaUJBQWlCO0NBQ3ZCLENBQUM7QUFFRixNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBbUI7SUFDbkQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNaLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFaEQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBaUI7SUFDL0MsTUFBTSxXQUFXLEdBQUcsSUFBdUIsQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBeUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDakMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFN0QsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRTVFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDWixNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRXhELE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFvQixFQUFFLEtBQWEsRUFBRSxPQUE4QjtJQUM3RixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUE4QyxDQUFDO0lBRTdHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRXRCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFO1FBQ3ZELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4Qix1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDdWlBbmd1bGFyRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgdHlwZSB7IEVkaXRvclRvb2x0aXBDb21wb25lbnQsIEVkaXRvclRvb2x0aXBPcHRpb25zIH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEVESVRPUl9UT09MVElQX1NFTEVDVE9SIH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XHJcblxyXG5pbXBvcnQgeyBjcmVhdGVMaW5rTW9kYWwgfSBmcm9tICcuL2NyZWF0ZS1saW5rLW1vZGFsJztcclxuaW1wb3J0IHsgY3JlYXRlVG9vbE1vZGFsIH0gZnJvbSAnLi9jcmVhdGUtdG9vbC1tb2RhbCc7XHJcbmltcG9ydCB7IHJlbW92ZUVsZW1lbnRUYWdXcmFwcGVyIH0gZnJvbSAnLi9yZW1vdmUtZWxlbWVudC10YWctd3JhcHBlcic7XHJcbmltcG9ydCB7IGNvcHlUZXh0VG9DbGlwYm9hcmQgfSBmcm9tICcuL2NvcHktdGV4dC10by1jbGlwYm9hcmQnO1xyXG5leHBvcnQgY29uc3QgdG9vbHRpcE1hcCA9IHtcclxuICAgIE1BUks6IGNyZWF0ZU1hcmtlclRvb2x0aXAsXHJcbiAgICBBOiBjcmVhdGVMaW5rVG9vbHRpcFxyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1hcmtlclRvb2x0aXAobWFya2VyOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IHRvb2x0aXAgPSBjcmVhdGVUb29sdGlwKG1hcmtlciwgbWFya2VyLmlubmVyVGV4dCk7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ID0gY3JlYXRlVG9vbE1vZGFsKG1hcmtlciwgdG9vbHRpcCk7XHJcblxyXG4gICAgICAgIHRvb2x0aXAuYXBwZW5kKHNlbGVjdCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdG9vbHRpcDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpbmtUb29sdGlwKGxpbms6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQge1xyXG4gICAgY29uc3QgbGlua0VsZW1lbnQgPSBsaW5rIGFzIEhUTUxMaW5rRWxlbWVudDtcclxuICAgIGNvbnN0IG9wdGlvbnM6IEVkaXRvclRvb2x0aXBPcHRpb25zID0gWydjb3B5JywgJ2VkaXQnLCAnZGVsZXRlJ107XHJcbiAgICBjb25zdCBsaW5rVXJsID0gbGlua0VsZW1lbnQuaHJlZjtcclxuICAgIGNvbnN0IHRvb2x0aXAgPSBjcmVhdGVUb29sdGlwKGxpbmtFbGVtZW50LCBsaW5rVXJsLCBvcHRpb25zKTtcclxuXHJcbiAgICB0b29sdGlwLmFkZEV2ZW50TGlzdGVuZXIoJ2NvcHlDbGlja2VkJywgKCkgPT4gY29weVRleHRUb0NsaXBib2FyZChsaW5rVXJsKSk7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbGlua01vZGFsID0gY3JlYXRlTGlua01vZGFsKHRvb2x0aXAsIGxpbmtFbGVtZW50KTtcclxuXHJcbiAgICAgICAgdG9vbHRpcC5hcHBlbmQobGlua01vZGFsKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0b29sdGlwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVG9vbHRpcChlbGVtZW50OiBIVE1MRWxlbWVudCwgdGl0bGU6IHN0cmluZywgb3B0aW9ucz86IEVkaXRvclRvb2x0aXBPcHRpb25zKTogSFRNTEVsZW1lbnQge1xyXG4gICAgY29uc3QgdG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoRURJVE9SX1RPT0xUSVBfU0VMRUNUT1IpIGFzIEN1aUFuZ3VsYXJFbGVtZW50PEVkaXRvclRvb2x0aXBDb21wb25lbnQ+O1xyXG5cclxuICAgIHRvb2x0aXAudGl0bGUgPSB0aXRsZTtcclxuXHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgIHRvb2x0aXAub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgdG9vbHRpcC5hZGRFdmVudExpc3RlbmVyKCdkZWxldGVDbGlja2VkJywgKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICByZW1vdmVFbGVtZW50VGFnV3JhcHBlcihlbGVtZW50KTtcclxuXHJcbiAgICAgICAgdG9vbHRpcC5yZW1vdmUoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0b29sdGlwO1xyXG59XHJcbiJdfQ==
@@ -5387,6 +5387,23 @@ function removeElementTagWrapper(element) {
5387
5387
  element.remove();
5388
5388
  }
5389
5389
 
5390
+ function copyTextToClipboard(text) {
5391
+ if (window?.navigator.clipboard && window.isSecureContext) {
5392
+ window.navigator.clipboard.writeText(text);
5393
+ }
5394
+ copyTextToClipboardFallback(text);
5395
+ }
5396
+ // TODO: Remove when switch to https
5397
+ function copyTextToClipboardFallback(text) {
5398
+ const textarea = document.createElement('textarea');
5399
+ textarea.value = text;
5400
+ document.body.appendChild(textarea);
5401
+ textarea.focus({ preventScroll: true });
5402
+ textarea.select();
5403
+ document.execCommand('copy');
5404
+ document.body.removeChild(textarea);
5405
+ }
5406
+
5390
5407
  const tooltipMap = {
5391
5408
  MARK: createMarkerTooltip,
5392
5409
  A: createLinkTooltip
@@ -5404,9 +5421,7 @@ function createLinkTooltip(link) {
5404
5421
  const options = ['copy', 'edit', 'delete'];
5405
5422
  const linkUrl = linkElement.href;
5406
5423
  const tooltip = createTooltip(linkElement, linkUrl, options);
5407
- tooltip.addEventListener('copyClicked', () => {
5408
- window?.navigator.clipboard.writeText(linkUrl);
5409
- });
5424
+ tooltip.addEventListener('copyClicked', () => copyTextToClipboard(linkUrl));
5410
5425
  setTimeout(() => {
5411
5426
  const linkModal = createLinkModal(tooltip, linkElement);
5412
5427
  tooltip.append(linkModal);