sheengemologic ui
All components

ShortcutSheet

Generated modal inventory of registered shortcuts, grouped by their application labels.@gemologic/sheen · application

Playground

<ShortcutProvider platform="other" development={true}><ShortcutSheet title="Keyboard shortcuts" trigger="Keyboard shortcuts" /></ShortcutProvider>

Variant matrix

Discoverable keyboard help

Anatomy

Package
@gemologic/sheen
Source
packages/ui/src/primitives/ShortcutSheet.tsx
Tokens
  • --sheen-space-block-sm
  • --sheen-space-inline-sm

Accessibility

Role: dialogKeyboard: Tab, Shift+Tab, Escape

Do

  • Mount inside ThemeProvider and ShortcutProvider.
  • Provide a visible trigger even when question-mark opening is enabled.
  • Let Dialog suspend outer scopes; use a unique shortcutScope for any sheet-specific bindings.

Do not

  • Do not assume this inventory implies every scope is active.
  • Do not treat displayed shortcuts as the only means of executing an action.

Generated props

NameTypeDefaultDescription
title *stringAccessible dialog title.
contentIdstringOptional stable content element ID for an external aria-controls relationship. Must be unique in the document.
triggerstringVisible label for the opening button.
descriptionstringOptional explanatory text associated with the dialog.
openbooleanControlled open state; rejected close requests retain the modal.
defaultOpenbooleanfalseUncontrolled initial open state; portal content mounts when the theme target is ready.
onOpenChange((open: boolean) => void) | undefinedRequests a change in open state without mutating controlled ownership.
dismissiblebooleantrueAllows Escape, outside press, and the close action; false disables all three.
closeLabelstringVisible and accessible close-action label; defaults to the scoped close message.
initialFocus(() => HTMLElement | undefined) | undefinedResolves an enabled focus target inside the mounted dialog.
returnFocus(() => HTMLElement | undefined) | undefinedOptional surviving focus target after closing, useful for triggerless dialogs.
shortcutScopestringUnique modal shortcut scope ID, defaulting to an internal stable ID. Within ShortcutProvider, opening suspends outer scopes automatically. Register modal actions under this ID; do not reuse an application/global scope.
classstringAdditional classes on modal content.
footerJSX.ElementApp-owned footer actions beside the built-in close action.
Native Solid/HTML attributes remain available and are omitted from this authored-prop view.