Initial Commit
This commit is contained in:
69
packages/foundation/data/clipboard/src/index.ts
Normal file
69
packages/foundation/data/clipboard/src/index.ts
Normal file
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* `@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";
|
||||
Reference in New Issue
Block a user