dock-prompt.stories.tsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // @ts-nocheck
  2. import * as mod from "./dock-prompt"
  3. import { create } from "@opencode-ai/ui/storybook/scaffold"
  4. const docs = `### Overview
  5. Docked prompt layout for questions and permission requests.
  6. Use with form controls or confirmation buttons in the footer.
  7. ### API
  8. - Required: \`kind\` (question | permission), \`header\`, \`children\`, \`footer\`.
  9. - Optional: \`ref\` for measuring or focus management.
  10. ### Variants and states
  11. - Question and permission layouts (data attributes).
  12. ### Behavior
  13. - Pure layout component; behavior handled by parent.
  14. ### Accessibility
  15. - Ensure header and footer content provide clear context and actions.
  16. ### Theming/tokens
  17. - Uses \`data-component="dock-prompt"\` with kind data attribute.
  18. `
  19. const story = create({
  20. title: "UI/DockPrompt",
  21. mod,
  22. args: {
  23. kind: "question",
  24. header: "Header",
  25. children: "Prompt content",
  26. footer: "Footer",
  27. },
  28. })
  29. export default {
  30. title: "UI/DockPrompt",
  31. id: "components-dock-prompt",
  32. component: story.meta.component,
  33. tags: ["autodocs"],
  34. parameters: {
  35. docs: {
  36. description: {
  37. component: docs,
  38. },
  39. },
  40. },
  41. }
  42. export const Basic = story.Basic
  43. export const Permission = {
  44. args: {
  45. kind: "permission",
  46. header: "Allow access?",
  47. children: "This action needs permission to proceed.",
  48. footer: "Approve or deny",
  49. },
  50. }