@ark-ui/react/dialog + Tailwind CSS v4

Ark Dialog

Thành phần Dialog tuân thủ đầy đủ chuẩn trợ năng WAI-ARIA, tích hợp trực tiếp máy trạng thái của Ark UI kèm styling hiện đại của Tailwind CSS v4. Hỗ trợ compound pattern, controlled state, alert dialog, đa kích thước, ngăn cuộn và drawer trượt linh hoạt.

1. Cơ bản (Basic Compound API)

Cấu trúc compound chuẩn gồm Root, Trigger, Backdrop, Positioner, Content, Header, Title, Description, Body và Footer.

2. Hiệu ứng chuyển cảnh (Animation Matrix)

Đa dạng hiệu ứng mở/đóng: Scale & Spring, Slide Up, Slide Down, Zoom Out và Soft Fade.

3. Quản lý trạng thái (Controlled State)

Điều khiển đóng/mở qua state React bên ngoài và nhận sự kiện qua onOpenChange.

Trạng thái: Đang đóng

4. Hộp thoại cảnh báo (Alert Dialog)

Sử dụng role='alertdialog' cho thao tác nguy hiểm, tự động focus nút an toàn và vô hiệu hoá click outside.

5. Điều khiển ngoài (RootProvider & Hook)

Khởi tạo instance máy trạng thái bằng useArkDialog() và truyền vào ArkDialog.RootProvider.

dialog.open = false

6. Đa kích thước (Sizes Matrix)

Hỗ trợ các kích thước chuẩn responsive từ xs, sm, md, lg, xl, 2xl đến full-screen.

7. Đa vị trí & Drawer (Placement Matrix)

Dễ dàng đổi vị trí xuất hiện: giữa màn hình, phía trên, phía dưới, hoặc dạng Drawer trượt cạnh phải/trái.

8. Cuộn bên trong (Inside Scroll)

Nội dung dài cuộn độc lập bên trong Body, giữ cố định Header và Footer hành động.

9. Cuộn toàn trang (Outside Scroll)

Cuộn cả Positioner khi hộp thoại có nội dung văn bản dài như trang tài liệu.

10. Tự động Focus (Initial Focus)

Sử dụng initialFocusEl để tự động trỏ con trỏ vào ô nhập liệu họ tên ngay khi mở dialog.

11. Nhiều Trigger dùng chung (Multiple Triggers)

Một dialog duy nhất phục vụ nhiều nút bấm khác nhau với dữ liệu thay đổi linh hoạt qua onTriggerValueChange.

12. Hộp thoại lồng nhau (Nested Dialogs)

Dialog cha kích hoạt dialog con xác nhận với z-index và quản lý lớp tự động, không xung đột backdrop.

13. Shorthand & Lazy Mount (Tiện ích rút gọn)

Cú pháp gọn nhẹ <ArkDialog ... /> và chỉ mount node vào DOM khi mở để giải phóng bộ nhớ.

© 2026. FlatVn All rights reserved. Version 4.3.40