Dialog

Dialog composes Base UI’s dialog primitives with Density button attributes on the trigger and close controls, plus Density card attributes on the popup.

import { Dialog } from "density-base-ui";

export default function DialogExample() {
  return (
    <Dialog.Root>
      <Dialog.Trigger>Open dialog</Dialog.Trigger>
      <Dialog.Portal>
        <Dialog.Backdrop className="dialog-example-backdrop" />
        <Dialog.Popup className="dialog-example-popup">
          <Dialog.Title className="dialog-example-title">
            Edit workspace
          </Dialog.Title>
          <Dialog.Description className="dialog-example-description">
            Update shared workspace settings without leaving the current view.
          </Dialog.Description>
          <div className="dialog-example-actions">
            <Dialog.Close>Cancel</Dialog.Close>
            <Dialog.Close density-emphasis="primary">Save changes</Dialog.Close>
          </div>
        </Dialog.Popup>
      </Dialog.Portal>
    </Dialog.Root>
  );
}

Props

Prop Attribute Values Default
Dialog.Trigger density-presentation data-dn-presentation button button
Dialog.Trigger density-emphasis data-dn-emphasis primary, secondary, outline, ghost secondary
Dialog.Trigger density-size data-dn-size 2xs, xs, sm, md, lg, xl, 2xl, 3xl md
Dialog.Close density-presentation data-dn-presentation button button
Dialog.Close density-emphasis data-dn-emphasis primary, secondary, outline, ghost ghost
Dialog.Close density-size data-dn-size 2xs, xs, sm, md, lg, xl, 2xl, 3xl md
Dialog.Popup density-presentation data-dn-presentation card card
Dialog.Popup density-level data-dn-level 1, 2, 3, 4, 5, 6, 7 3
Other Dialog parts Mixed Base UI dialog props None