From edb27953317f569c70d3ac2724a5f4edddeb03a9 Mon Sep 17 00:00:00 2001 From: Andrei Zhaleznichenka Date: Fri, 10 Jul 2026 15:29:17 +0200 Subject: [PATCH] chore: Split public and internal interface --- src/__tests__/utils.ts | 1 + src/internal/events/index.ts | 14 +++----------- src/support-prompt-group/interfaces.ts | 2 +- src/types/events.ts | 15 +++++++++++++++ 4 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 src/types/events.ts diff --git a/src/__tests__/utils.ts b/src/__tests__/utils.ts index dfb805e..250a497 100644 --- a/src/__tests__/utils.ts +++ b/src/__tests__/utils.ts @@ -13,6 +13,7 @@ export function getAllComponents(): string[] { (name) => name !== "internal" && name !== "test-utils" && + name !== "types" && !name.includes(".") && !name.includes("LICENSE") && !name.includes("NOTICE"), diff --git a/src/internal/events/index.ts b/src/internal/events/index.ts index e0729ca..f5b1737 100644 --- a/src/internal/events/index.ts +++ b/src/internal/events/index.ts @@ -1,19 +1,11 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -export type CancelableEventHandler = (event: CustomEvent) => void; -// eslint-disable-next-line @typescript-eslint/no-empty-object-type -export type NonCancelableEventHandler = (event: NonCancelableCustomEvent) => void; +import { NonCancelableEventHandler } from "../../types/events"; -export type NonCancelableCustomEvent = Omit, "preventDefault">; +export type { ClickDetail, NonCancelableCustomEvent, NonCancelableEventHandler } from "../../types/events"; -export interface ClickDetail { - button: number; - ctrlKey: boolean; - shiftKey: boolean; - altKey: boolean; - metaKey: boolean; -} +export type CancelableEventHandler = (event: CustomEvent) => void; export class CustomEventStub { defaultPrevented = false; diff --git a/src/support-prompt-group/interfaces.ts b/src/support-prompt-group/interfaces.ts index 1bbfb79..94e8c4d 100644 --- a/src/support-prompt-group/interfaces.ts +++ b/src/support-prompt-group/interfaces.ts @@ -5,7 +5,7 @@ import { ReactNode } from "react"; import { IconProps } from "@cloudscape-design/components/icon"; -import { ClickDetail as _ClickDetail, NonCancelableEventHandler } from "../internal/events"; +import { ClickDetail as _ClickDetail, NonCancelableEventHandler } from "../types/events"; export interface SupportPromptGroupProps { /** diff --git a/src/types/events.ts b/src/types/events.ts new file mode 100644 index 0000000..a28bce2 --- /dev/null +++ b/src/types/events.ts @@ -0,0 +1,15 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +export type NonCancelableCustomEvent = Omit, "preventDefault">; + +// eslint-disable-next-line @typescript-eslint/no-empty-object-type +export type NonCancelableEventHandler = (event: NonCancelableCustomEvent) => void; + +export interface ClickDetail { + button: number; + ctrlKey: boolean; + shiftKey: boolean; + altKey: boolean; + metaKey: boolean; +}