Custom add and create flow polish

This commit is contained in:
adilallo
2026-05-08 20:32:24 -06:00
parent 26bcd61ea3
commit 026a1e6d71
68 changed files with 6208 additions and 527 deletions
@@ -28,6 +28,9 @@ const CreateContainer = memo<CreateProps>(
ariaLabelledBy,
backdropVariant = "default",
stepper,
kebabTriggerAriaLabel,
kebabMenuAriaLabel,
kebabMenuItems,
}) => {
const createRef = useRef<HTMLDivElement>(null);
const overlayRef = useRef<HTMLDivElement>(null);
@@ -60,6 +63,9 @@ const CreateContainer = memo<CreateProps>(
overlayRef={overlayRef}
backdropVariant={backdropVariant}
stepper={stepper}
kebabTriggerAriaLabel={kebabTriggerAriaLabel}
kebabMenuAriaLabel={kebabMenuAriaLabel}
kebabMenuItems={kebabMenuItems}
/>
);
},
@@ -1,5 +1,6 @@
import type { RefObject } from "react";
import type { CreateModalBackdropVariant } from "./CreateModalFrame.view";
import type { ModalHeaderMenuItem } from "../ModalHeader/ModalHeader.types";
export interface CreateProps {
isOpen: boolean;
@@ -37,6 +38,9 @@ export interface CreateProps {
backdropVariant?: CreateModalBackdropVariant;
/** Passed through to ModalFooter; set explicitly when step visibility must not infer from steps alone. */
stepper?: boolean;
kebabTriggerAriaLabel?: string;
kebabMenuAriaLabel?: string;
kebabMenuItems?: ModalHeaderMenuItem[];
}
export interface CreateViewProps {
@@ -63,4 +67,7 @@ export interface CreateViewProps {
overlayRef: RefObject<HTMLDivElement | null>;
backdropVariant: CreateModalBackdropVariant;
stepper?: boolean;
kebabTriggerAriaLabel?: string;
kebabMenuAriaLabel?: string;
kebabMenuItems?: ModalHeaderMenuItem[];
}
+10 -1
View File
@@ -30,6 +30,9 @@ export function CreateView({
overlayRef,
backdropVariant,
stepper,
kebabTriggerAriaLabel,
kebabMenuAriaLabel,
kebabMenuItems,
}: CreateViewProps) {
return (
<CreateModalFrameView
@@ -42,7 +45,13 @@ export function CreateView({
overlayRef={overlayRef}
dialogRef={createRef}
>
<ModalHeader onClose={onClose} onMoreOptions={onClose} />
<ModalHeader
onClose={onClose}
moreOptionsAriaLabel={kebabTriggerAriaLabel}
menuAriaLabel={kebabMenuAriaLabel}
menuItems={kebabMenuItems}
showMoreOptionsButton={(kebabMenuItems?.length ?? 0) > 0}
/>
{headerContent !== undefined ? (
<div className="shrink-0">{headerContent}</div>