Files
klz-cables.com/.pnpm-store/v10/files/b1/296231b3dc3443cf72207c95cf7460b8ea670534b6bc6798b099b29e9da644e2c0d7cc0dd18712c9a605cb23cec067047f56a9dd6a73f9a8c0717b4db4c719
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

53 lines
1.3 KiB
Plaintext

import { isClipboardDataValid } from './isClipboardDataValid.js';
const localStorageClipboardKey = '_payloadClipboard';
/**
* @note This function doesn't use the Clipboard API, but localStorage. See rationale in #11513
*/
export function clipboardCopy(args) {
const {
getDataToCopy,
t,
...rest
} = args;
const dataToWrite = {
data: getDataToCopy(),
...rest
};
try {
localStorage.setItem(localStorageClipboardKey, JSON.stringify(dataToWrite));
return true;
} catch (_err) {
return t('error:unableToCopy');
}
}
/**
* @note This function doesn't use the Clipboard API, but localStorage. See rationale in #11513
*/
export function clipboardPaste({
onPaste,
path: fieldPath,
t,
...args
}) {
let dataToPaste;
try {
const jsonFromClipboard = localStorage.getItem(localStorageClipboardKey);
if (!jsonFromClipboard) {
return t('error:invalidClipboardData');
}
dataToPaste = JSON.parse(jsonFromClipboard);
} catch (_err) {
return t('error:invalidClipboardData');
}
const dataToValidate = {
...dataToPaste,
...args,
fieldPath
};
if (!isClipboardDataValid(dataToValidate)) {
return t('error:invalidClipboardData');
}
onPaste(dataToPaste);
return true;
}
//# sourceMappingURL=clipboardUtilities.js.map