70 lines
1.9 KiB
TypeScript
70 lines
1.9 KiB
TypeScript
/**
|
|
* `@suaveplan/clipboard` — enterprise Clipboard API abstraction.
|
|
*
|
|
* Browser-tier facade over `navigator.clipboard` with a textarea +
|
|
* `execCommand` fallback, paste-event read fallback, async FIFO
|
|
* serialization, secure-context guard, image / blob copy + read via
|
|
* `ClipboardItem`, permission change subscription, focus-aware retry,
|
|
* sanitizer hook, OpenTelemetry instrumentation, and a typed error
|
|
* hierarchy under the `CLIPBOARD.*` namespace.
|
|
*/
|
|
|
|
// Errors
|
|
export {
|
|
asClipboardError,
|
|
CLIPBOARD_CODES,
|
|
CLIPBOARD_ERROR_METADATA,
|
|
type ClipboardCodeMetadata,
|
|
ClipboardError,
|
|
type ClipboardErrorCode,
|
|
} from "./errors/errors.js";
|
|
// Fallback
|
|
export {
|
|
copyTextFallback,
|
|
dispatchSyntheticPaste,
|
|
readTextFallback,
|
|
} from "./fallback/fallback.js";
|
|
// Manager
|
|
export { ClipboardManager } from "./manager/manager.js";
|
|
// Observability
|
|
export { createClipboardObservability } from "./observability/observability.js";
|
|
export type {
|
|
ClipboardCounters,
|
|
ClipboardHistograms,
|
|
ClipboardObservability,
|
|
ClipboardObservabilityOptions,
|
|
} from "./observability/observability.types.js";
|
|
// Permissions
|
|
export {
|
|
checkPermissions,
|
|
onPermissionChange,
|
|
} from "./permissions/permissions.js";
|
|
// Queue
|
|
export { AsyncQueue } from "./queue/queue.js";
|
|
// Sanitizer
|
|
export {
|
|
createTagAllowlistSanitizer,
|
|
identitySanitizer,
|
|
} from "./sanitizer/sanitizer.js";
|
|
// Security
|
|
export {
|
|
isSecure,
|
|
requireSecureContext,
|
|
waitForNextFocus,
|
|
} from "./security/security.js";
|
|
// Types
|
|
export {
|
|
type ClipboardBlobMap,
|
|
type ClipboardData,
|
|
type ClipboardNavigator,
|
|
type ClipboardOptions,
|
|
type ClipboardPermissionState,
|
|
type ClipboardResult,
|
|
type ClipboardSanitizer,
|
|
type ClipboardWindowLike,
|
|
DEFAULT_CLIPBOARD_OPTIONS,
|
|
type PermissionChangeListener,
|
|
type PermissionResult,
|
|
type PermissionStatusLike,
|
|
} from "./types/clipboard.types.js";
|