@agimon-ai/doompi-web-components 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +106 -0
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/components/Accordion.d.cts +11 -0
- package/dist/components/Accordion.d.cts.map +1 -0
- package/dist/components/Avatar.d.cts +10 -0
- package/dist/components/Avatar.d.cts.map +1 -0
- package/dist/components/Badge.d.cts +18 -0
- package/dist/components/Badge.d.cts.map +1 -0
- package/dist/components/Button.d.cts +25 -0
- package/dist/components/Button.d.cts.map +1 -0
- package/dist/components/Checkbox.d.cts +8 -0
- package/dist/components/Checkbox.d.cts.map +1 -0
- package/dist/components/Collapsible.d.cts +10 -0
- package/dist/components/Collapsible.d.cts.map +1 -0
- package/dist/components/Command.d.cts +42 -0
- package/dist/components/Command.d.cts.map +1 -0
- package/dist/components/Dialog.d.cts +39 -0
- package/dist/components/Dialog.d.cts.map +1 -0
- package/dist/components/Dot.d.cts +16 -0
- package/dist/components/Dot.d.cts.map +1 -0
- package/dist/components/DropdownMenu.d.cts +34 -0
- package/dist/components/DropdownMenu.d.cts.map +1 -0
- package/dist/components/EmptyState.d.cts +18 -0
- package/dist/components/EmptyState.d.cts.map +1 -0
- package/dist/components/Input.d.cts +20 -0
- package/dist/components/Input.d.cts.map +1 -0
- package/dist/components/Kbd.d.cts +7 -0
- package/dist/components/Kbd.d.cts.map +1 -0
- package/dist/components/Label.d.cts +8 -0
- package/dist/components/Label.d.cts.map +1 -0
- package/dist/components/Markdown.d.cts +8 -0
- package/dist/components/Markdown.d.cts.map +1 -0
- package/dist/components/MessageItem.d.cts +71 -0
- package/dist/components/MessageItem.d.cts.map +1 -0
- package/dist/components/MessageLines.d.cts +24 -0
- package/dist/components/MessageLines.d.cts.map +1 -0
- package/dist/components/OptionList.d.cts +50 -0
- package/dist/components/OptionList.d.cts.map +1 -0
- package/dist/components/Panel.d.cts +15 -0
- package/dist/components/Panel.d.cts.map +1 -0
- package/dist/components/Popover.d.cts +19 -0
- package/dist/components/Popover.d.cts.map +1 -0
- package/dist/components/Progress.d.cts +8 -0
- package/dist/components/Progress.d.cts.map +1 -0
- package/dist/components/RadioGroup.d.cts +15 -0
- package/dist/components/RadioGroup.d.cts.map +1 -0
- package/dist/components/ScrollArea.d.cts +13 -0
- package/dist/components/ScrollArea.d.cts.map +1 -0
- package/dist/components/SectionLabel.d.cts +7 -0
- package/dist/components/SectionLabel.d.cts.map +1 -0
- package/dist/components/Select.d.cts +19 -0
- package/dist/components/Select.d.cts.map +1 -0
- package/dist/components/Separator.d.cts +13 -0
- package/dist/components/Separator.d.cts.map +1 -0
- package/dist/components/Skeleton.d.cts +11 -0
- package/dist/components/Skeleton.d.cts.map +1 -0
- package/dist/components/Spinner.d.cts +15 -0
- package/dist/components/Spinner.d.cts.map +1 -0
- package/dist/components/StatusBadge.d.cts +24 -0
- package/dist/components/StatusBadge.d.cts.map +1 -0
- package/dist/components/StreamCursor.d.cts +7 -0
- package/dist/components/StreamCursor.d.cts.map +1 -0
- package/dist/components/Switch.d.cts +8 -0
- package/dist/components/Switch.d.cts.map +1 -0
- package/dist/components/Tabs.d.cts +36 -0
- package/dist/components/Tabs.d.cts.map +1 -0
- package/dist/components/Textarea.d.cts +10 -0
- package/dist/components/Textarea.d.cts.map +1 -0
- package/dist/components/Toast.d.cts +24 -0
- package/dist/components/Toast.d.cts.map +1 -0
- package/dist/components/Tooltip.d.cts +11 -0
- package/dist/components/Tooltip.d.cts.map +1 -0
- package/dist/icons/icons.d.cts +2 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +42 -0
- package/dist/index.d.mts +42 -0
- package/dist/index.mjs +1 -0
- package/dist/lib/cn.d.cts +7 -0
- package/dist/lib/cn.d.cts.map +1 -0
- package/dist/lib/collapse.d.cts +15 -0
- package/dist/lib/collapse.d.cts.map +1 -0
- package/dist/lib/optionList.d.cts +22 -0
- package/dist/lib/optionList.d.cts.map +1 -0
- package/dist/lib/tone.d.cts +26 -0
- package/dist/lib/tone.d.cts.map +1 -0
- package/dist/src/components/Accordion.cjs +2 -0
- package/dist/src/components/Accordion.cjs.map +1 -0
- package/dist/src/components/Accordion.d.mts +11 -0
- package/dist/src/components/Accordion.d.mts.map +1 -0
- package/dist/src/components/Accordion.mjs +2 -0
- package/dist/src/components/Accordion.mjs.map +1 -0
- package/dist/src/components/Avatar.cjs +2 -0
- package/dist/src/components/Avatar.cjs.map +1 -0
- package/dist/src/components/Avatar.d.mts +10 -0
- package/dist/src/components/Avatar.d.mts.map +1 -0
- package/dist/src/components/Avatar.mjs +2 -0
- package/dist/src/components/Avatar.mjs.map +1 -0
- package/dist/src/components/Badge.cjs +2 -0
- package/dist/src/components/Badge.cjs.map +1 -0
- package/dist/src/components/Badge.d.mts +18 -0
- package/dist/src/components/Badge.d.mts.map +1 -0
- package/dist/src/components/Badge.mjs +2 -0
- package/dist/src/components/Badge.mjs.map +1 -0
- package/dist/src/components/Button.cjs +2 -0
- package/dist/src/components/Button.cjs.map +1 -0
- package/dist/src/components/Button.d.mts +25 -0
- package/dist/src/components/Button.d.mts.map +1 -0
- package/dist/src/components/Button.mjs +2 -0
- package/dist/src/components/Button.mjs.map +1 -0
- package/dist/src/components/Checkbox.cjs +2 -0
- package/dist/src/components/Checkbox.cjs.map +1 -0
- package/dist/src/components/Checkbox.d.mts +8 -0
- package/dist/src/components/Checkbox.d.mts.map +1 -0
- package/dist/src/components/Checkbox.mjs +2 -0
- package/dist/src/components/Checkbox.mjs.map +1 -0
- package/dist/src/components/Collapsible.cjs +2 -0
- package/dist/src/components/Collapsible.cjs.map +1 -0
- package/dist/src/components/Collapsible.d.mts +10 -0
- package/dist/src/components/Collapsible.d.mts.map +1 -0
- package/dist/src/components/Collapsible.mjs +2 -0
- package/dist/src/components/Collapsible.mjs.map +1 -0
- package/dist/src/components/Command.cjs +2 -0
- package/dist/src/components/Command.cjs.map +1 -0
- package/dist/src/components/Command.d.mts +42 -0
- package/dist/src/components/Command.d.mts.map +1 -0
- package/dist/src/components/Command.mjs +2 -0
- package/dist/src/components/Command.mjs.map +1 -0
- package/dist/src/components/Dialog.cjs +2 -0
- package/dist/src/components/Dialog.cjs.map +1 -0
- package/dist/src/components/Dialog.d.mts +39 -0
- package/dist/src/components/Dialog.d.mts.map +1 -0
- package/dist/src/components/Dialog.mjs +2 -0
- package/dist/src/components/Dialog.mjs.map +1 -0
- package/dist/src/components/Dot.cjs +2 -0
- package/dist/src/components/Dot.cjs.map +1 -0
- package/dist/src/components/Dot.d.mts +16 -0
- package/dist/src/components/Dot.d.mts.map +1 -0
- package/dist/src/components/Dot.mjs +2 -0
- package/dist/src/components/Dot.mjs.map +1 -0
- package/dist/src/components/DropdownMenu.cjs +2 -0
- package/dist/src/components/DropdownMenu.cjs.map +1 -0
- package/dist/src/components/DropdownMenu.d.mts +34 -0
- package/dist/src/components/DropdownMenu.d.mts.map +1 -0
- package/dist/src/components/DropdownMenu.mjs +2 -0
- package/dist/src/components/DropdownMenu.mjs.map +1 -0
- package/dist/src/components/EmptyState.cjs +2 -0
- package/dist/src/components/EmptyState.cjs.map +1 -0
- package/dist/src/components/EmptyState.d.mts +18 -0
- package/dist/src/components/EmptyState.d.mts.map +1 -0
- package/dist/src/components/EmptyState.mjs +2 -0
- package/dist/src/components/EmptyState.mjs.map +1 -0
- package/dist/src/components/Input.cjs +2 -0
- package/dist/src/components/Input.cjs.map +1 -0
- package/dist/src/components/Input.d.mts +20 -0
- package/dist/src/components/Input.d.mts.map +1 -0
- package/dist/src/components/Input.mjs +2 -0
- package/dist/src/components/Input.mjs.map +1 -0
- package/dist/src/components/Kbd.cjs +2 -0
- package/dist/src/components/Kbd.cjs.map +1 -0
- package/dist/src/components/Kbd.d.mts +7 -0
- package/dist/src/components/Kbd.d.mts.map +1 -0
- package/dist/src/components/Kbd.mjs +2 -0
- package/dist/src/components/Kbd.mjs.map +1 -0
- package/dist/src/components/Label.cjs +2 -0
- package/dist/src/components/Label.cjs.map +1 -0
- package/dist/src/components/Label.d.mts +8 -0
- package/dist/src/components/Label.d.mts.map +1 -0
- package/dist/src/components/Label.mjs +2 -0
- package/dist/src/components/Label.mjs.map +1 -0
- package/dist/src/components/Markdown.cjs +2 -0
- package/dist/src/components/Markdown.cjs.map +1 -0
- package/dist/src/components/Markdown.d.mts +8 -0
- package/dist/src/components/Markdown.d.mts.map +1 -0
- package/dist/src/components/Markdown.mjs +2 -0
- package/dist/src/components/Markdown.mjs.map +1 -0
- package/dist/src/components/MessageItem.cjs +2 -0
- package/dist/src/components/MessageItem.cjs.map +1 -0
- package/dist/src/components/MessageItem.d.mts +71 -0
- package/dist/src/components/MessageItem.d.mts.map +1 -0
- package/dist/src/components/MessageItem.mjs +2 -0
- package/dist/src/components/MessageItem.mjs.map +1 -0
- package/dist/src/components/MessageLines.cjs +2 -0
- package/dist/src/components/MessageLines.cjs.map +1 -0
- package/dist/src/components/MessageLines.d.mts +24 -0
- package/dist/src/components/MessageLines.d.mts.map +1 -0
- package/dist/src/components/MessageLines.mjs +2 -0
- package/dist/src/components/MessageLines.mjs.map +1 -0
- package/dist/src/components/OptionList.cjs +2 -0
- package/dist/src/components/OptionList.cjs.map +1 -0
- package/dist/src/components/OptionList.d.mts +50 -0
- package/dist/src/components/OptionList.d.mts.map +1 -0
- package/dist/src/components/OptionList.mjs +2 -0
- package/dist/src/components/OptionList.mjs.map +1 -0
- package/dist/src/components/Panel.cjs +2 -0
- package/dist/src/components/Panel.cjs.map +1 -0
- package/dist/src/components/Panel.d.mts +15 -0
- package/dist/src/components/Panel.d.mts.map +1 -0
- package/dist/src/components/Panel.mjs +2 -0
- package/dist/src/components/Panel.mjs.map +1 -0
- package/dist/src/components/Popover.cjs +2 -0
- package/dist/src/components/Popover.cjs.map +1 -0
- package/dist/src/components/Popover.d.mts +19 -0
- package/dist/src/components/Popover.d.mts.map +1 -0
- package/dist/src/components/Popover.mjs +2 -0
- package/dist/src/components/Popover.mjs.map +1 -0
- package/dist/src/components/Progress.cjs +2 -0
- package/dist/src/components/Progress.cjs.map +1 -0
- package/dist/src/components/Progress.d.mts +8 -0
- package/dist/src/components/Progress.d.mts.map +1 -0
- package/dist/src/components/Progress.mjs +2 -0
- package/dist/src/components/Progress.mjs.map +1 -0
- package/dist/src/components/RadioGroup.cjs +2 -0
- package/dist/src/components/RadioGroup.cjs.map +1 -0
- package/dist/src/components/RadioGroup.d.mts +15 -0
- package/dist/src/components/RadioGroup.d.mts.map +1 -0
- package/dist/src/components/RadioGroup.mjs +2 -0
- package/dist/src/components/RadioGroup.mjs.map +1 -0
- package/dist/src/components/ScrollArea.cjs +2 -0
- package/dist/src/components/ScrollArea.cjs.map +1 -0
- package/dist/src/components/ScrollArea.d.mts +13 -0
- package/dist/src/components/ScrollArea.d.mts.map +1 -0
- package/dist/src/components/ScrollArea.mjs +2 -0
- package/dist/src/components/ScrollArea.mjs.map +1 -0
- package/dist/src/components/SectionLabel.cjs +2 -0
- package/dist/src/components/SectionLabel.cjs.map +1 -0
- package/dist/src/components/SectionLabel.d.mts +7 -0
- package/dist/src/components/SectionLabel.d.mts.map +1 -0
- package/dist/src/components/SectionLabel.mjs +2 -0
- package/dist/src/components/SectionLabel.mjs.map +1 -0
- package/dist/src/components/Select.cjs +2 -0
- package/dist/src/components/Select.cjs.map +1 -0
- package/dist/src/components/Select.d.mts +19 -0
- package/dist/src/components/Select.d.mts.map +1 -0
- package/dist/src/components/Select.mjs +2 -0
- package/dist/src/components/Select.mjs.map +1 -0
- package/dist/src/components/Separator.cjs +2 -0
- package/dist/src/components/Separator.cjs.map +1 -0
- package/dist/src/components/Separator.d.mts +13 -0
- package/dist/src/components/Separator.d.mts.map +1 -0
- package/dist/src/components/Separator.mjs +2 -0
- package/dist/src/components/Separator.mjs.map +1 -0
- package/dist/src/components/Skeleton.cjs +2 -0
- package/dist/src/components/Skeleton.cjs.map +1 -0
- package/dist/src/components/Skeleton.d.mts +11 -0
- package/dist/src/components/Skeleton.d.mts.map +1 -0
- package/dist/src/components/Skeleton.mjs +2 -0
- package/dist/src/components/Skeleton.mjs.map +1 -0
- package/dist/src/components/Spinner.cjs +2 -0
- package/dist/src/components/Spinner.cjs.map +1 -0
- package/dist/src/components/Spinner.d.mts +15 -0
- package/dist/src/components/Spinner.d.mts.map +1 -0
- package/dist/src/components/Spinner.mjs +2 -0
- package/dist/src/components/Spinner.mjs.map +1 -0
- package/dist/src/components/StatusBadge.cjs +2 -0
- package/dist/src/components/StatusBadge.cjs.map +1 -0
- package/dist/src/components/StatusBadge.d.mts +24 -0
- package/dist/src/components/StatusBadge.d.mts.map +1 -0
- package/dist/src/components/StatusBadge.mjs +2 -0
- package/dist/src/components/StatusBadge.mjs.map +1 -0
- package/dist/src/components/StreamCursor.cjs +2 -0
- package/dist/src/components/StreamCursor.cjs.map +1 -0
- package/dist/src/components/StreamCursor.d.mts +7 -0
- package/dist/src/components/StreamCursor.d.mts.map +1 -0
- package/dist/src/components/StreamCursor.mjs +2 -0
- package/dist/src/components/StreamCursor.mjs.map +1 -0
- package/dist/src/components/Switch.cjs +2 -0
- package/dist/src/components/Switch.cjs.map +1 -0
- package/dist/src/components/Switch.d.mts +8 -0
- package/dist/src/components/Switch.d.mts.map +1 -0
- package/dist/src/components/Switch.mjs +2 -0
- package/dist/src/components/Switch.mjs.map +1 -0
- package/dist/src/components/Tabs.cjs +2 -0
- package/dist/src/components/Tabs.cjs.map +1 -0
- package/dist/src/components/Tabs.d.mts +36 -0
- package/dist/src/components/Tabs.d.mts.map +1 -0
- package/dist/src/components/Tabs.mjs +2 -0
- package/dist/src/components/Tabs.mjs.map +1 -0
- package/dist/src/components/Textarea.cjs +2 -0
- package/dist/src/components/Textarea.cjs.map +1 -0
- package/dist/src/components/Textarea.d.mts +10 -0
- package/dist/src/components/Textarea.d.mts.map +1 -0
- package/dist/src/components/Textarea.mjs +2 -0
- package/dist/src/components/Textarea.mjs.map +1 -0
- package/dist/src/components/Toast.cjs +2 -0
- package/dist/src/components/Toast.cjs.map +1 -0
- package/dist/src/components/Toast.d.mts +24 -0
- package/dist/src/components/Toast.d.mts.map +1 -0
- package/dist/src/components/Toast.mjs +2 -0
- package/dist/src/components/Toast.mjs.map +1 -0
- package/dist/src/components/Tooltip.cjs +2 -0
- package/dist/src/components/Tooltip.cjs.map +1 -0
- package/dist/src/components/Tooltip.d.mts +11 -0
- package/dist/src/components/Tooltip.d.mts.map +1 -0
- package/dist/src/components/Tooltip.mjs +2 -0
- package/dist/src/components/Tooltip.mjs.map +1 -0
- package/dist/src/icons/icons.cjs +1 -0
- package/dist/src/icons/icons.d.mts +2 -0
- package/dist/src/icons/icons.mjs +1 -0
- package/dist/src/lib/cn.cjs +2 -0
- package/dist/src/lib/cn.cjs.map +1 -0
- package/dist/src/lib/cn.d.mts +7 -0
- package/dist/src/lib/cn.d.mts.map +1 -0
- package/dist/src/lib/cn.mjs +2 -0
- package/dist/src/lib/cn.mjs.map +1 -0
- package/dist/src/lib/collapse.cjs +2 -0
- package/dist/src/lib/collapse.cjs.map +1 -0
- package/dist/src/lib/collapse.d.mts +15 -0
- package/dist/src/lib/collapse.d.mts.map +1 -0
- package/dist/src/lib/collapse.mjs +2 -0
- package/dist/src/lib/collapse.mjs.map +1 -0
- package/dist/src/lib/optionList.cjs +2 -0
- package/dist/src/lib/optionList.cjs.map +1 -0
- package/dist/src/lib/optionList.d.mts +22 -0
- package/dist/src/lib/optionList.d.mts.map +1 -0
- package/dist/src/lib/optionList.mjs +2 -0
- package/dist/src/lib/optionList.mjs.map +1 -0
- package/dist/src/lib/tone.cjs +2 -0
- package/dist/src/lib/tone.cjs.map +1 -0
- package/dist/src/lib/tone.d.mts +26 -0
- package/dist/src/lib/tone.d.mts.map +1 -0
- package/dist/src/lib/tone.mjs +2 -0
- package/dist/src/lib/tone.mjs.map +1 -0
- package/dist/src/theme/apply.cjs +3 -0
- package/dist/src/theme/apply.cjs.map +1 -0
- package/dist/src/theme/apply.d.mts +26 -0
- package/dist/src/theme/apply.d.mts.map +1 -0
- package/dist/src/theme/apply.mjs +3 -0
- package/dist/src/theme/apply.mjs.map +1 -0
- package/dist/src/theme/builtinThemes.cjs +2 -0
- package/dist/src/theme/builtinThemes.cjs.map +1 -0
- package/dist/src/theme/builtinThemes.d.mts +12 -0
- package/dist/src/theme/builtinThemes.d.mts.map +1 -0
- package/dist/src/theme/builtinThemes.mjs +2 -0
- package/dist/src/theme/builtinThemes.mjs.map +1 -0
- package/dist/src/theme/derive.cjs +2 -0
- package/dist/src/theme/derive.cjs.map +1 -0
- package/dist/src/theme/derive.d.mts +15 -0
- package/dist/src/theme/derive.d.mts.map +1 -0
- package/dist/src/theme/derive.mjs +2 -0
- package/dist/src/theme/derive.mjs.map +1 -0
- package/dist/src/theme/parse.cjs +2 -0
- package/dist/src/theme/parse.cjs.map +1 -0
- package/dist/src/theme/parse.d.mts +11 -0
- package/dist/src/theme/parse.d.mts.map +1 -0
- package/dist/src/theme/parse.mjs +2 -0
- package/dist/src/theme/parse.mjs.map +1 -0
- package/dist/src/theme/piTheme.cjs +2 -0
- package/dist/src/theme/piTheme.cjs.map +1 -0
- package/dist/src/theme/piTheme.d.mts +20 -0
- package/dist/src/theme/piTheme.d.mts.map +1 -0
- package/dist/src/theme/piTheme.mjs +2 -0
- package/dist/src/theme/piTheme.mjs.map +1 -0
- package/dist/src/theme/preference.cjs +2 -0
- package/dist/src/theme/preference.cjs.map +1 -0
- package/dist/src/theme/preference.d.mts +16 -0
- package/dist/src/theme/preference.d.mts.map +1 -0
- package/dist/src/theme/preference.mjs +2 -0
- package/dist/src/theme/preference.mjs.map +1 -0
- package/dist/src/types/theme.cjs +2 -0
- package/dist/src/types/theme.cjs.map +1 -0
- package/dist/src/types/theme.d.mts +39 -0
- package/dist/src/types/theme.d.mts.map +1 -0
- package/dist/src/types/theme.mjs +2 -0
- package/dist/src/types/theme.mjs.map +1 -0
- package/dist/src/types/tone.cjs +2 -0
- package/dist/src/types/tone.cjs.map +1 -0
- package/dist/src/types/tone.d.mts +29 -0
- package/dist/src/types/tone.d.mts.map +1 -0
- package/dist/src/types/tone.mjs +2 -0
- package/dist/src/types/tone.mjs.map +1 -0
- package/dist/theme/apply.d.cts +26 -0
- package/dist/theme/apply.d.cts.map +1 -0
- package/dist/theme/builtinThemes.d.cts +12 -0
- package/dist/theme/builtinThemes.d.cts.map +1 -0
- package/dist/theme/derive.d.cts +15 -0
- package/dist/theme/derive.d.cts.map +1 -0
- package/dist/theme/parse.d.cts +11 -0
- package/dist/theme/parse.d.cts.map +1 -0
- package/dist/theme/piTheme.d.cts +20 -0
- package/dist/theme/piTheme.d.cts.map +1 -0
- package/dist/theme/preference.d.cts +16 -0
- package/dist/theme/preference.d.cts.map +1 -0
- package/dist/theme.cjs +1 -0
- package/dist/theme.d.cts +8 -0
- package/dist/theme.d.mts +8 -0
- package/dist/theme.mjs +1 -0
- package/dist/themes/doom-nord-dark.cjs +2 -0
- package/dist/themes/doom-nord-dark.cjs.map +1 -0
- package/dist/themes/doom-nord-dark.mjs +2 -0
- package/dist/themes/doom-nord-dark.mjs.map +1 -0
- package/dist/themes/doom-one-dark.cjs +2 -0
- package/dist/themes/doom-one-dark.cjs.map +1 -0
- package/dist/themes/doom-one-dark.mjs +2 -0
- package/dist/themes/doom-one-dark.mjs.map +1 -0
- package/dist/themes/doom-one-light.cjs +2 -0
- package/dist/themes/doom-one-light.cjs.map +1 -0
- package/dist/themes/doom-one-light.mjs +2 -0
- package/dist/themes/doom-one-light.mjs.map +1 -0
- package/dist/types/theme.d.cts +39 -0
- package/dist/types/theme.d.cts.map +1 -0
- package/dist/types/tone.d.cts +29 -0
- package/dist/types/tone.d.cts.map +1 -0
- package/llms.txt +8 -0
- package/package.json +95 -0
- package/styles/tokens.css +202 -0
- package/themes/doom-nord-dark.json +27 -0
- package/themes/doom-one-dark.json +39 -0
- package/themes/doom-one-light.json +27 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Vuong Ngo
|
|
4
|
+
Copyright (c) 2026 pulseaiclub
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# @agimon-ai/doompi-web-components
|
|
2
|
+
|
|
3
|
+
Shared web components and theme tokens for the DoomPi cockpit and its web plugins. It is the
|
|
4
|
+
browser counterpart of [doompi-ui](https://www.npmjs.com/package/@agimon-ai/doompi-ui): where that
|
|
5
|
+
package holds the terminal's shared chrome, this one holds the React primitives every cockpit
|
|
6
|
+
surface is built from, on the same Doom One palette.
|
|
7
|
+
|
|
8
|
+
The primitives are [shadcn/ui](https://ui.shadcn.com) components on [Radix](https://www.radix-ui.com)
|
|
9
|
+
(the unified `radix-ui` package), restyled with Tailwind utilities that name theme tokens only.
|
|
10
|
+
Because every colour is a token, a theme config recolours the whole cockpit at runtime.
|
|
11
|
+
|
|
12
|
+
## What it ships
|
|
13
|
+
|
|
14
|
+
| Export | Components |
|
|
15
|
+
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
16
|
+
| `.` | Actions and chips: `Button`, `Badge`, `StatusBadge`, `Dot`, `Kbd`, `NavTab*`, `Tabs*`. Fields: `Input`, `Textarea`, `Label`, `Checkbox`, `Switch`, `RadioGroup*`, `Select*`. Overlays: `Dialog*`, `Popover*`, `DropdownMenu*`, `Tooltip*`, `Toast*`, `Command*`. Layout and content: `Panel*`, `SectionLabel`, `Separator`, `EmptyState`, `ScrollArea`, `Collapsible*`, `Accordion*`, `OptionList`, `OptionRow`, `MessageItem*`, `MessageLines`. Feedback: `Spinner`, `Progress`, `Skeleton`, `Avatar*`, `StreamCursor`. Plus the curated icon set, `cn`, `collapseLines`, the option-list key helpers, and the tone vocabularies with the maps between them |
|
|
17
|
+
| `./theme` | `ThemeConfig`, the token lists, `BUILTIN_THEMES`, `applyTheme`, `parseThemeConfig`, `themeFromPiTheme`, the stored-preference helpers |
|
|
18
|
+
| `./styles.css` | The token stylesheet: `:root` defaults, the Tailwind `@theme inline` mapping, shadcn semantic aliases, base styles, and the `@source` for this package's classes |
|
|
19
|
+
| `./themes/*.json` | The shipped theme configs: `doom-one-dark` (default), `doom-one-light`, `doom-nord-dark` |
|
|
20
|
+
|
|
21
|
+
## Using it from the cockpit host
|
|
22
|
+
|
|
23
|
+
```css
|
|
24
|
+
/* src/web/styles/app.css */
|
|
25
|
+
@import 'tailwindcss';
|
|
26
|
+
@import '@agimon-ai/doompi-web-components/styles.css';
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import { Button, Dialog, DialogContent, StatusBadge } from '@agimon-ai/doompi-web-components';
|
|
31
|
+
import { applyTheme, builtinTheme, readThemePreference } from '@agimon-ai/doompi-web-components/theme';
|
|
32
|
+
|
|
33
|
+
applyTheme(builtinTheme(readThemePreference(localStorage) ?? 'doom-one-dark')!, document.documentElement);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Tones
|
|
37
|
+
|
|
38
|
+
Three vocabularies, because they answer different questions. A **chip tone** names a colour
|
|
39
|
+
(`blue`, `violet`, `teal`), a **status tone** names an outcome (`running`, `ok`, `error`, `info`,
|
|
40
|
+
`accent`, `neutral`), and a **line tone** names a role inside a body of text (`success`, `warning`,
|
|
41
|
+
`muted`). They live in `src/types/tone.ts`, and `STATUS_TO_CHIP`, `STATUS_TO_DOT`, `CHIP_TO_STATUS`,
|
|
42
|
+
and `LINE_TONE_TO_STATUS` translate between them.
|
|
43
|
+
|
|
44
|
+
Reach for a map rather than writing another `Record<Tone, string>`: a surface that spells its own
|
|
45
|
+
state-to-colour table is how the same status ends up yellow in one panel and orange in the next.
|
|
46
|
+
Every tone table in this package is checked against these unions at compile time, so a tone added to
|
|
47
|
+
one and not the others fails the build.
|
|
48
|
+
|
|
49
|
+
## Tool messages
|
|
50
|
+
|
|
51
|
+
A tool call's timeline item is a `message` renderer in the plugin that registers the tool, composed
|
|
52
|
+
from `MessageItem` (the frame, its outcome tone, and the expand state), `MessageItemHeader` (the
|
|
53
|
+
tool name, the summary, the status badge, and the toggle when the item is expandable),
|
|
54
|
+
`MessageItemBody`, `MessageItemStatus` (the `◐ running` / `✗ failed` / `✓ done` line, or the "N
|
|
55
|
+
more line(s)" hint that expands), and `MessageLines` (toned lines a pure view helper computed) with
|
|
56
|
+
`collapseLines` for the clip. The cockpit's own fallback item is built from the same parts, which
|
|
57
|
+
is what keeps host and plugin items alike, and the shell carries the `tool-status` and
|
|
58
|
+
`tool-expand` test ids every card inherits.
|
|
59
|
+
|
|
60
|
+
## Using it from a plugin's `web/` client
|
|
61
|
+
|
|
62
|
+
A web plugin's client code may import `react`, the `@tanstack` store packages,
|
|
63
|
+
`@agimon-ai/doompi-web-contracts`, and this package. Declare it as a `workspace:*` dependency and
|
|
64
|
+
import the same way the host does; the cockpit bundler dedupes it so one copy renders everywhere.
|
|
65
|
+
Do not import `radix-ui` or `class-variance-authority` directly from plugin code: the doom-web
|
|
66
|
+
vibe-lint rules route every primitive through this package so a theme change reaches all of them.
|
|
67
|
+
|
|
68
|
+
## Theme tokens
|
|
69
|
+
|
|
70
|
+
The palette a theme must supply: `bg`, `rail`, `panel`, `deep`, `border`, `border-soft`, `hi`,
|
|
71
|
+
`text`, `dim`, `faint`, `blue`, `green`, `yellow`, `red`, `magenta`, `violet`, `cyan`, `orange`,
|
|
72
|
+
`teal`, `selected`. The derived tokens (`tint-<accent>`, `edge-<accent>`, `font-mono`) are computed
|
|
73
|
+
from the palette with `color-mix()` unless the theme pins them; the shipped dark theme pins the exact
|
|
74
|
+
mockup values.
|
|
75
|
+
|
|
76
|
+
Each token is published as `--doom-<token>` on the root element and mapped to Tailwind as
|
|
77
|
+
`doom-<token>` (`bg-doom-panel`, `text-doom-hi`, `border-doom-edge-red`), and to shadcn's semantic
|
|
78
|
+
names (`bg-background`, `text-muted-foreground`, `border-input`).
|
|
79
|
+
|
|
80
|
+
## Writing a theme
|
|
81
|
+
|
|
82
|
+
```json
|
|
83
|
+
{
|
|
84
|
+
"name": "my-theme",
|
|
85
|
+
"label": "My theme",
|
|
86
|
+
"scheme": "dark",
|
|
87
|
+
"tokens": { "bg": "#1e1e2e", "rail": "#181825", "panel": "#1e1e2e", "deep": "#11111b", "...": "..." }
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
`parseThemeConfig(json)` validates it (null on any problem, so a bad file never takes the page
|
|
92
|
+
down) and `applyTheme(theme, document.documentElement)` writes it. `themeFromPiTheme(piThemeJson)`
|
|
93
|
+
builds a web theme from a Pi TUI theme, so the palette DoomPi ships for the terminal drives the
|
|
94
|
+
browser too.
|
|
95
|
+
|
|
96
|
+
## Development
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
pnpm build # tsdown: one entry per src/exports module, ESM and CJS, browser platform
|
|
100
|
+
pnpm test # theme, bridge, and render smoke tests (react-dom/server, no DOM needed)
|
|
101
|
+
pnpm typecheck
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
The `doom-web` vibe-lint preset governs the layout: `src/types` (the theme contract), `src/lib`
|
|
105
|
+
(`cn`), `src/theme`, `src/icons`, `src/components` (one PascalCase component per file, props-driven,
|
|
106
|
+
no application state), and `src/exports` (pure re-exports, one file per subpath).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));exports.__toESM=s;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Accordion } from "radix-ui";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
//#region src/components/Accordion.d.ts
|
|
4
|
+
/** Several collapsibles that know about each other; pass type="single" for one open at a time. */
|
|
5
|
+
declare function Accordion$1(props: ComponentProps<typeof Accordion.Root>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function AccordionItem({ className, ...props }: ComponentProps<typeof Accordion.Item>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function AccordionTrigger({ className, children, ...props }: ComponentProps<typeof Accordion.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function AccordionContent({ className, ...props }: ComponentProps<typeof Accordion.Content>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { Accordion$1 as Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
11
|
+
//# sourceMappingURL=Accordion.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.d.cts","names":[],"sources":["../../src/components/Accordion.tsx"],"mappings":";;;;iBAMgB,YAAU,OAAO,sBAAsB,UAAmB,oCAAK,IAAA;iBAI/D,gBAAgB,cAAc,SAAS,sBAAsB,UAAmB,oCAAK,IAAA;iBAUrF,mBAAmB,WAAW,aAAa,SAAS,sBAAsB,UAAmB,uCAAQ,IAAA;iBAkBrG,mBAAmB,cAAc,SAAS,sBAAsB,UAAmB,uCAAQ,IAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Avatar } from "radix-ui";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
//#region src/components/Avatar.d.ts
|
|
4
|
+
/** A face or an initial; Radix only shows the fallback once the image has actually failed. */
|
|
5
|
+
declare function Avatar$1({ className, ...props }: ComponentProps<typeof Avatar.Root>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function AvatarImage({ className, ...props }: ComponentProps<typeof Avatar.Image>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function AvatarFallback({ className, ...props }: ComponentProps<typeof Avatar.Fallback>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { Avatar$1 as Avatar, AvatarFallback, AvatarImage };
|
|
10
|
+
//# sourceMappingURL=Avatar.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.cts","names":[],"sources":["../../src/components/Avatar.tsx"],"mappings":";;;;iBAKgB,WAAS,cAAc,SAAS,sBAAsB,OAAgB,oCAAK,IAAA;iBAU3E,cAAc,cAAc,SAAS,sBAAsB,OAAgB,qCAAM,IAAA;iBAUjF,iBAAiB,cAAc,SAAS,sBAAsB,OAAgB,wCAAS,IAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ChipTone } from "../types/tone.cjs";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
//#region src/components/Badge.d.ts
|
|
5
|
+
declare const badgeVariants: (props?: ({
|
|
6
|
+
tone?: "blue" | "cyan" | "green" | "magenta" | "neutral" | "orange" | "red" | "teal" | "violet" | "yellow" | null | undefined;
|
|
7
|
+
size?: "lg" | "md" | "sm" | "xs" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
+
type BadgeTone = ChipTone;
|
|
10
|
+
interface BadgeProps extends ComponentProps<'span'>, VariantProps<typeof badgeVariants> {
|
|
11
|
+
/** Render the child element instead of a <span>, so a link can look like a chip. */
|
|
12
|
+
asChild?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** An outlined chip in one of the accent tones; the Chip the cockpit mockup draws. */
|
|
15
|
+
declare function Badge({ className, tone, size, asChild, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { Badge, BadgeProps, BadgeTone, badgeVariants };
|
|
18
|
+
//# sourceMappingURL=Badge.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.cts","names":[],"sources":["../../src/components/Badge.tsx"],"mappings":";;;;cAMa,gBAAa;;;6CAuBxB;KAEU,YAAY;UAEP,mBAAmB,wBAAwB,oBAAoB;;EAE9E;;;iBAIc,QAAQ,WAAW,MAAM,MAAM,YAAoB,SAAS,yCAAU,IAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
//#region src/components/Button.d.ts
|
|
4
|
+
declare const buttonVariants: (props?: ({
|
|
5
|
+
variant?: "danger" | "danger-outline" | "ghost" | "link" | "outline" | "primary" | "subtle" | "success" | null | undefined;
|
|
6
|
+
size?: "card" | "icon" | "icon-md" | "lg" | "md" | "sm" | "xs" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
type ButtonVariant = NonNullable<VariantProps<typeof buttonVariants>['variant']>;
|
|
9
|
+
type ButtonSize = NonNullable<VariantProps<typeof buttonVariants>['size']>;
|
|
10
|
+
interface ButtonProps extends ComponentProps<'button'>, VariantProps<typeof buttonVariants> {
|
|
11
|
+
/** Render the child element instead of a <button>, passing the classes down (shadcn's asChild). */
|
|
12
|
+
asChild?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Work is in flight: the button shows a spinner and stops accepting clicks.
|
|
15
|
+
* Ignored under asChild, where the child owns its own content.
|
|
16
|
+
*/
|
|
17
|
+
loading?: boolean;
|
|
18
|
+
/** What the spinner announces while loading; omit it and the wait is silent. */
|
|
19
|
+
loadingLabel?: string;
|
|
20
|
+
}
|
|
21
|
+
/** The one button: every variant is a theme token, so it recolours with the theme. */
|
|
22
|
+
declare function Button({ className, variant, size, asChild, loading, loadingLabel, disabled, type, children, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { Button, ButtonProps, ButtonSize, ButtonVariant, buttonVariants };
|
|
25
|
+
//# sourceMappingURL=Button.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.cts","names":[],"sources":["../../src/components/Button.tsx"],"mappings":";;;cAMa,iBAAc;;;6CAgC1B;KAEW,gBAAgB,YAAY,oBAAoB;KAChD,aAAa,YAAY,oBAAoB;UAExC,oBAAoB,0BAA0B,oBAAoB;;EAEjF;;;;;EAKA;;EAEA;;;iBAIc,SACd,WACA,SACA,MACA,SACA,SACA,cACA,UACA,MACA,aACG,SACF,0CAAW,IAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Checkbox } from "radix-ui";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
//#region src/components/Checkbox.d.ts
|
|
4
|
+
/** A box that is on, off, or indeterminate; the tick is the accent on the deep well. */
|
|
5
|
+
declare function Checkbox$1({ className, ...props }: ComponentProps<typeof Checkbox.Root>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { Checkbox$1 as Checkbox };
|
|
8
|
+
//# sourceMappingURL=Checkbox.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.d.cts","names":[],"sources":["../../src/components/Checkbox.tsx"],"mappings":";;;;iBAMgB,aAAW,cAAc,SAAS,sBAAsB,SAAkB,oCAAK,IAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Collapsible } from "radix-ui";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
//#region src/components/Collapsible.d.ts
|
|
4
|
+
/** A section that folds; Radix keeps the trigger's aria-expanded in step with the content. */
|
|
5
|
+
declare function Collapsible$1(props: ComponentProps<typeof Collapsible.Root>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function CollapsibleTrigger(props: ComponentProps<typeof Collapsible.CollapsibleTrigger>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function CollapsibleContent({ className, ...props }: ComponentProps<typeof Collapsible.CollapsibleContent>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { Collapsible$1 as Collapsible, CollapsibleContent, CollapsibleTrigger };
|
|
10
|
+
//# sourceMappingURL=Collapsible.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collapsible.d.cts","names":[],"sources":["../../src/components/Collapsible.tsx"],"mappings":";;;;iBAKgB,cAAY,OAAO,sBAAsB,YAAqB,oCAAK,IAAA;iBAInE,mBAAmB,OAAO,sBAAsB,YAAqB,kDAAmB,IAAA;iBAIxF,qBACd,cACG,SACF,sBAAsB,YAAqB,kDAAmB,IAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { DialogContentProps } from "./Dialog.cjs";
|
|
2
|
+
import { InputProps } from "./Input.cjs";
|
|
3
|
+
import { OptionRowProps } from "./OptionList.cjs";
|
|
4
|
+
import { ComponentProps, ReactNode } from "react";
|
|
5
|
+
//#region src/components/Command.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* The command palette's frame, its search strip, its rows, and its hint.
|
|
8
|
+
*
|
|
9
|
+
* It has no Radix counterpart and it deliberately does no filtering: the
|
|
10
|
+
* surface that opens a palette already knows how to rank its own commands,
|
|
11
|
+
* and a matcher baked in here would be a second, worse one. Built on Dialog,
|
|
12
|
+
* Input, and the option row so a palette and a select popover cannot drift
|
|
13
|
+
* apart, rather than on a new dependency.
|
|
14
|
+
*/
|
|
15
|
+
interface CommandDialogProps extends Omit<DialogContentProps, 'title'> {
|
|
16
|
+
open: boolean;
|
|
17
|
+
onOpenChange: (open: boolean) => void;
|
|
18
|
+
/** Names the dialog for assistive tech; visually hidden unless the palette draws its own heading. */
|
|
19
|
+
title: ReactNode;
|
|
20
|
+
titleVisible?: boolean;
|
|
21
|
+
}
|
|
22
|
+
declare function CommandDialog({ open, onOpenChange, title, titleVisible, className, children, width, ...props }: CommandDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
/** The strip the search field sits in. */
|
|
24
|
+
declare function CommandHeader({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
/** The search field: bare, because the header already draws the surface. */
|
|
26
|
+
declare function CommandInput({ className, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
/** The scrolling body. It is the listbox, so its rows are the options. */
|
|
28
|
+
declare function CommandList({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
/** A labelled run of rows. */
|
|
30
|
+
declare function CommandGroup({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare function CommandGroupLabel({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
/** One command. Compact by default, since a palette shows many at once. */
|
|
33
|
+
declare function CommandItem({ density, ...props }: OptionRowProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
/** A command's name, taking the width the row has left. */
|
|
35
|
+
declare function CommandItemLabel(props: ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
/** What the palette says when nothing matches. */
|
|
37
|
+
declare function CommandEmpty({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
/** The hint strip along the bottom: what the keys do. */
|
|
39
|
+
declare function CommandFooter({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
//#endregion
|
|
41
|
+
export { CommandDialog, CommandDialogProps, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandHeader, CommandInput, CommandItem, CommandItemLabel, CommandList };
|
|
42
|
+
//# sourceMappingURL=Command.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Command.d.cts","names":[],"sources":["../../src/components/Command.tsx"],"mappings":";;;;;;;;;;;;;;UAgBiB,2BAA2B,KAAK;EAC/C;EACA,eAAe;;EAEf,OAAO;EACP;;iBAGc,gBACd,MACA,cACA,OACA,cACA,WACA,UACA,UACG,SACF,iDAAkB,IAAA;;iBAYL,gBAAgB,cAAc,SAAS,oDAAqB,IAAA;;iBAW5D,eAAe,cAAc,SAAS,yCAAU,IAAA;;iBAchD,cAAc,cAAc,SAAS,oDAAqB,IAAA;;iBAY1D,eAAe,cAAc,SAAS,oDAAqB,IAAA;iBAI3D,oBAAoB,cAAc,SAAS,oDAAqB,IAAA;;iBAWhE,cAAc,YAAwB,SAAS,6CAAc,IAAA;;iBAK7D,iBAAiB,OAAO,qDAAsB,IAAA;;iBAK9C,eAAe,cAAc,SAAS,oDAAqB,IAAA;;iBAW3D,gBAAgB,cAAc,SAAS,oDAAqB,IAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Dialog } from "radix-ui";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
//#region src/components/Dialog.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* shadcn's Dialog on Radix: focus trap, Escape, outside click, scroll lock,
|
|
7
|
+
* and focus restored to the trigger on close. The frame is the Doom panel.
|
|
8
|
+
*/
|
|
9
|
+
declare function Dialog$1(props: ComponentProps<typeof Dialog.Root>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare function DialogTrigger(props: ComponentProps<typeof Dialog.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function DialogClose(props: ComponentProps<typeof Dialog.Close>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
interface DialogContentProps extends ComponentProps<typeof Dialog.Content> {
|
|
13
|
+
/** Width preset; `className` may still override. */
|
|
14
|
+
width?: 'sm' | 'md' | 'lg';
|
|
15
|
+
}
|
|
16
|
+
declare function DialogContent({ className, children, width, ...props }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
interface DialogHeaderProps extends ComponentProps<'div'> {
|
|
18
|
+
/**
|
|
19
|
+
* Show the close control at the right of the strip. Off by default: most
|
|
20
|
+
* headers already put something there (a spinner, a method label) and every
|
|
21
|
+
* dialog closes on Escape, so an X that fights the existing content is worse
|
|
22
|
+
* than none. Turn it on for a dialog whose only way out is the mouse.
|
|
23
|
+
*/
|
|
24
|
+
dismissible?: boolean;
|
|
25
|
+
/** What the close control announces. */
|
|
26
|
+
closeLabel?: string;
|
|
27
|
+
}
|
|
28
|
+
declare function DialogHeader({ className, dismissible, closeLabel, children, ...props }: DialogHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
declare function DialogTitle({ className, ...props }: ComponentProps<typeof Dialog.Title>): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
declare function DialogDescription({ className, ...props }: ComponentProps<typeof Dialog.Description>): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare function DialogBody({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
declare const dialogFooterVariants: (props?: ({
|
|
33
|
+
variant?: "bar" | "plain" | null | undefined;
|
|
34
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
35
|
+
interface DialogFooterProps extends ComponentProps<'div'>, VariantProps<typeof dialogFooterVariants> {}
|
|
36
|
+
declare function DialogFooter({ className, variant, ...props }: DialogFooterProps): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
//#endregion
|
|
38
|
+
export { Dialog$1 as Dialog, DialogBody, DialogClose, DialogContent, DialogContentProps, DialogDescription, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogTitle, DialogTrigger, dialogFooterVariants };
|
|
39
|
+
//# sourceMappingURL=Dialog.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.d.cts","names":[],"sources":["../../src/components/Dialog.tsx"],"mappings":";;;;;;;;iBAWgB,SAAO,OAAO,sBAAsB,OAAgB,oCAAK,IAAA;iBAIzD,cAAc,OAAO,sBAAsB,OAAgB,uCAAQ,IAAA;iBAQnE,YAAY,OAAO,sBAAsB,OAAgB,qCAAM,IAAA;UAc9D,2BAA2B,sBAAsB,OAAgB;;EAEhF;;iBAKc,gBAAgB,WAAW,UAAU,UAAiB,SAAS,iDAAkB,IAAA;UAmBhF,0BAA0B;;;;;;;EAOzC;;EAEA;;iBAGc,eACd,WACA,aACA,YACA,aACG,SACF,gDAAiB,IAAA;iBAmBJ,cAAc,cAAc,SAAS,sBAAsB,OAAgB,qCAAM,IAAA;iBAUjF,oBAAoB,cAAc,SAAS,sBAAsB,OAAgB,2CAAY,IAAA;iBAU7F,aAAa,cAAc,SAAS,oDAAqB,IAAA;cAU5D,uBAAoB;;6CAc/B;UAEe,0BAA0B,uBAAuB,oBAAoB;iBAEtE,eAAe,WAAW,YAAY,SAAS,gDAAiB,IAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DotTone as DotTone$1 } from "../types/tone.cjs";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
//#region src/components/Dot.d.ts
|
|
5
|
+
declare const dotVariants: (props?: ({
|
|
6
|
+
tone?: "blue" | "cyan" | "green" | "magenta" | "muted" | "neutral" | "orange" | "red" | "teal" | "violet" | "yellow" | null | undefined;
|
|
7
|
+
size?: "lg" | "md" | "sm" | "xs" | null | undefined;
|
|
8
|
+
pulse?: boolean | null | undefined;
|
|
9
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
|
+
type DotTone = DotTone$1;
|
|
11
|
+
interface DotProps extends ComponentProps<'span'>, VariantProps<typeof dotVariants> {}
|
|
12
|
+
/** The status dot: a colour and, while something is live, a pulse. */
|
|
13
|
+
declare function Dot({ className, tone, size, pulse, ...props }: DotProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { Dot, DotProps, DotTone, dotVariants };
|
|
16
|
+
//# sourceMappingURL=Dot.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dot.d.cts","names":[],"sources":["../../src/components/Dot.tsx"],"mappings":";;;;cAKa,cAAW;;;;6CA2BtB;KAEU,UAAU;UAEL,iBAAiB,wBAAwB,oBAAoB;;iBAG9D,MAAM,WAAW,MAAM,MAAM,UAAU,SAAS,uCAAQ,IAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DropdownMenu } from "radix-ui";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
//#region src/components/DropdownMenu.d.ts
|
|
5
|
+
/** shadcn's DropdownMenu on Radix: roving focus, typeahead, outside click, Escape. */
|
|
6
|
+
declare function DropdownMenu$1(props: ComponentProps<typeof DropdownMenu.Root>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function DropdownMenuTrigger(props: ComponentProps<typeof DropdownMenu.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
/** A run of items under one label, so the separator between groups is structural. */
|
|
9
|
+
declare function DropdownMenuGroup(props: ComponentProps<typeof DropdownMenu.Group>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare function DropdownMenuContent({ className, align, sideOffset, ...props }: ComponentProps<typeof DropdownMenu.Content>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare const dropdownMenuItemVariants: (props?: ({
|
|
12
|
+
variant?: "default" | "destructive" | null | undefined;
|
|
13
|
+
indented?: boolean | null | undefined;
|
|
14
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
15
|
+
interface DropdownMenuItemProps extends ComponentProps<typeof DropdownMenu.Item>, VariantProps<typeof dropdownMenuItemVariants> {}
|
|
16
|
+
declare function DropdownMenuItem({ className, variant, indented, ...props }: DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
interface DropdownMenuCheckboxItemProps extends ComponentProps<typeof DropdownMenu.CheckboxItem>, VariantProps<typeof dropdownMenuItemVariants> {}
|
|
18
|
+
/** A row that toggles: the check lives in the gutter so the label never shifts. */
|
|
19
|
+
declare function DropdownMenuCheckboxItem({ className, variant, children, ...props }: DropdownMenuCheckboxItemProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
/** The exclusive-choice group; pair it with DropdownMenuRadioItem. */
|
|
21
|
+
declare function DropdownMenuRadioGroup(props: ComponentProps<typeof DropdownMenu.RadioGroup>): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
interface DropdownMenuRadioItemProps extends ComponentProps<typeof DropdownMenu.RadioItem>, VariantProps<typeof dropdownMenuItemVariants> {}
|
|
23
|
+
declare function DropdownMenuRadioItem({ className, variant, children, ...props }: DropdownMenuRadioItemProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare function DropdownMenuSub(props: ComponentProps<typeof DropdownMenu.Sub>): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
/** The row that opens a submenu; the chevron is part of the row, not the caller's job. */
|
|
26
|
+
declare function DropdownMenuSubTrigger({ className, children, ...props }: ComponentProps<typeof DropdownMenu.SubTrigger>): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare function DropdownMenuSubContent({ className, sideOffset, ...props }: ComponentProps<typeof DropdownMenu.SubContent>): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare function DropdownMenuLabel({ className, ...props }: ComponentProps<typeof DropdownMenu.Label>): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
/** The keystroke printed at the right of a row; the row supplies the gap. */
|
|
30
|
+
declare function DropdownMenuShortcut({ className, ...props }: ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare function DropdownMenuSeparator({ className, ...props }: ComponentProps<typeof DropdownMenu.Separator>): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
//#endregion
|
|
33
|
+
export { DropdownMenu$1 as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemProps, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuItemProps, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, dropdownMenuItemVariants };
|
|
34
|
+
//# sourceMappingURL=DropdownMenu.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownMenu.d.cts","names":[],"sources":["../../src/components/DropdownMenu.tsx"],"mappings":";;;;;iBAOgB,eAAa,OAAO,sBAAsB,aAAsB,oCAAK,IAAA;iBAIrE,oBAAoB,OAAO,sBAAsB,aAAsB,uCAAQ,IAAA;;iBAK/E,kBAAkB,OAAO,sBAAsB,aAAsB,qCAAM,IAAA;iBAQ3E,sBACd,WACA,OACA,eACG,SACF,sBAAsB,aAAsB,uCAAQ,IAAA;cAc1C,2BAAwB;;;6CAapC;UAEgB,8BACP,sBAAsB,aAAsB,OAAO,oBAAoB;iBAEjE,mBAAmB,WAAW,SAAS,aAAa,SAAS,oDAAqB,IAAA;UAoBjF,sCACP,sBAAsB,aAAsB,eAAe,oBAAoB;;iBAGzE,2BAA2B,WAAW,SAAS,aAAa,SAAS,4DAA6B,IAAA;;iBAgBlG,uBAAuB,OAAO,sBAAsB,aAAsB,0CAAW,IAAA;UAIpF,mCACP,sBAAsB,aAAsB,YAAY,oBAAoB;iBAEtE,wBAAwB,WAAW,SAAS,aAAa,SAAS,yDAA0B,IAAA;iBAe5F,gBAAgB,OAAO,sBAAsB,aAAsB,mCAAI,IAAA;;iBAKvE,yBACd,WACA,aACG,SACF,sBAAsB,aAAsB,0CAAW,IAAA;iBAa1C,yBACd,WACA,eACG,SACF,sBAAsB,aAAsB,0CAAW,IAAA;iBAa1C,oBAAoB,cAAc,SAAS,sBAAsB,aAAsB,qCAAM,IAAA;;iBAW7F,uBAAuB,cAAc,SAAS,qDAAsB,IAAA;iBAUpE,wBAAwB,cAAc,SAAS,sBAAsB,aAAsB,yCAAU,IAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ComponentProps, ReactNode } from "react";
|
|
2
|
+
//#region src/components/EmptyState.d.ts
|
|
3
|
+
interface EmptyStateProps extends Omit<ComponentProps<'div'>, 'title'> {
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
description?: ReactNode;
|
|
6
|
+
/** Optional calls to action under the copy. */
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Render the child element instead of a <div>, so an empty row inside a
|
|
10
|
+
* list stays an <li> and the list keeps its semantics.
|
|
11
|
+
*/
|
|
12
|
+
asChild?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** The centred "nothing here yet" card every empty panel shares. */
|
|
15
|
+
declare function EmptyState({ title, description, children, className, asChild, ...props }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { EmptyState, EmptyStateProps };
|
|
18
|
+
//# sourceMappingURL=EmptyState.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.cts","names":[],"sources":["../../src/components/EmptyState.tsx"],"mappings":";;UAIiB,wBAAwB,KAAK;EAC5C,OAAO;EACP,cAAc;;EAEd,WAAW;;;;;EAKX;;;iBAIc,aAAa,OAAO,aAAa,UAAU,WAAW,YAAoB,SAAS,8CAAe,IAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
//#region src/components/Input.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The shape both fields wear, so a single-line and a multi-line field in the
|
|
6
|
+
* same form agree on their well, their type ramp, and their invalid state.
|
|
7
|
+
* Textarea builds on it rather than restating it.
|
|
8
|
+
*/
|
|
9
|
+
declare const fieldVariants: (props?: ({
|
|
10
|
+
variant?: "bare" | "default" | null | undefined;
|
|
11
|
+
size?: "lg" | "md" | "sm" | "xs" | null | undefined;
|
|
12
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
|
+
type FieldVariant = NonNullable<VariantProps<typeof fieldVariants>['variant']>;
|
|
14
|
+
type FieldSize = NonNullable<VariantProps<typeof fieldVariants>['size']>;
|
|
15
|
+
interface InputProps extends Omit<ComponentProps<'input'>, 'size'>, VariantProps<typeof fieldVariants> {}
|
|
16
|
+
/** The one text field: deep well, quiet border, accent border on focus, red edge when invalid. */
|
|
17
|
+
declare function Input({ className, type, variant, size, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { FieldSize, FieldVariant, Input, InputProps, fieldVariants };
|
|
20
|
+
//# sourceMappingURL=Input.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.d.cts","names":[],"sources":["../../src/components/Input.tsx"],"mappings":";;;;;;;;cASa,gBAAa;;;6CAwBzB;KAEW,eAAe,YAAY,oBAAoB;KAC/C,YAAY,YAAY,oBAAoB;UAEvC,mBAAmB,KAAK,kCAAkC,oBAAoB;;iBAG/E,QAAQ,WAAW,MAAM,SAAS,SAAS,SAAS,yCAAU,IAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
//#region src/components/Kbd.d.ts
|
|
3
|
+
/** A key or key path, drawn as the leader hints draw them. */
|
|
4
|
+
declare function Kbd({ className, ...props }: ComponentProps<'kbd'>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Kbd };
|
|
7
|
+
//# sourceMappingURL=Kbd.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kbd.d.cts","names":[],"sources":["../../src/components/Kbd.tsx"],"mappings":";;;iBAIgB,MAAM,cAAc,SAAS,oDAAqB,IAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Label } from "radix-ui";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
//#region src/components/Label.d.ts
|
|
4
|
+
/** A field's name: clicking it focuses the control, which a bare span never does. */
|
|
5
|
+
declare function Label$1({ className, ...props }: ComponentProps<typeof Label.Root>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { Label$1 as Label };
|
|
8
|
+
//# sourceMappingURL=Label.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Label.d.cts","names":[],"sources":["../../src/components/Label.tsx"],"mappings":";;;;iBAKgB,UAAQ,cAAc,SAAS,sBAAsB,MAAe,oCAAK,IAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/components/Markdown.d.ts
|
|
2
|
+
/** GitHub-flavored Markdown using the cockpit's safe, shared presentation. */
|
|
3
|
+
declare function Markdown({ text }: {
|
|
4
|
+
text: string;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { Markdown };
|
|
8
|
+
//# sourceMappingURL=Markdown.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Markdown.d.cts","names":[],"sources":["../../src/components/Markdown.tsx"],"mappings":";;iBA2DgB,WAAW;EAAU;gCAAc,IAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { StatusTone } from "./StatusBadge.cjs";
|
|
2
|
+
import { ComponentProps, ReactNode } from "react";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
//#region src/components/MessageItem.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* The message item: the timeline card a tool call, a run, or a notice sits
|
|
7
|
+
* in. The item owns its outcome tone and its expand state; the header, body,
|
|
8
|
+
* and status parts read both from it, so a card composes the parts and never
|
|
9
|
+
* threads `expanded` by hand. A tool message in a web plugin is built from
|
|
10
|
+
* this, and so is the cockpit's own fallback item, which is what keeps them
|
|
11
|
+
* looking alike.
|
|
12
|
+
*/
|
|
13
|
+
interface MessageItemState {
|
|
14
|
+
tone: StatusTone;
|
|
15
|
+
/** Whether the header offers the toggle; an item that hides nothing offers none. */
|
|
16
|
+
expandable: boolean;
|
|
17
|
+
expanded: boolean;
|
|
18
|
+
toggle: () => void;
|
|
19
|
+
}
|
|
20
|
+
/** The enclosing item's state, for a part that lives deeper than the item's render prop. */
|
|
21
|
+
declare function useMessageItem(): MessageItemState;
|
|
22
|
+
/** The frame, wearing the edge STATUS_EDGE names for the tone, so the two never drift apart. */
|
|
23
|
+
declare const messageItemVariants: (props?: ({
|
|
24
|
+
tone?: "accent" | "error" | "info" | "neutral" | "ok" | "running" | null | undefined;
|
|
25
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
26
|
+
interface MessageItemProps extends Omit<ComponentProps<'div'>, 'children'>, VariantProps<typeof messageItemVariants> {
|
|
27
|
+
/** Whether the header offers the expand toggle. A toggle that reveals nothing reads as broken, so the card decides. */
|
|
28
|
+
expandable?: boolean;
|
|
29
|
+
defaultExpanded?: boolean;
|
|
30
|
+
/** Controlled mode; pair with onExpandedChange. Omit it and the item keeps its own state. */
|
|
31
|
+
expanded?: boolean;
|
|
32
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
33
|
+
/** Plain content, or a function of the item's state for a card that picks its lines by `expanded`. */
|
|
34
|
+
children?: ReactNode | ((state: MessageItemState) => ReactNode);
|
|
35
|
+
}
|
|
36
|
+
declare function MessageItem({ className, tone, expandable, defaultExpanded, expanded, onExpandedChange, children, ...props }: MessageItemProps): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
/** The tone a tool call's item wears: running while the tool runs, then its outcome. */
|
|
38
|
+
declare function toolTone(state: {
|
|
39
|
+
running: boolean;
|
|
40
|
+
isError: boolean;
|
|
41
|
+
}): StatusTone;
|
|
42
|
+
/** The badge text a tone reads as when the header is not told otherwise; empty hides the badge. */
|
|
43
|
+
declare const STATUS_LABEL: Readonly<Record<StatusTone, string>>;
|
|
44
|
+
interface MessageItemHeaderProps extends Omit<ComponentProps<'div'>, 'title'> {
|
|
45
|
+
/** The bold label at the left: the tool name. */
|
|
46
|
+
title: ReactNode;
|
|
47
|
+
/** The badge text; defaults to the tone's label, null hides the badge. */
|
|
48
|
+
badge?: ReactNode | null;
|
|
49
|
+
/** The summary beside the title; it gets the remaining width. */
|
|
50
|
+
children?: ReactNode;
|
|
51
|
+
}
|
|
52
|
+
/** The title row: label, summary, the tone's badge, and the expand toggle when the item is expandable. */
|
|
53
|
+
declare function MessageItemHeader({ className, title, badge, children, ...props }: MessageItemHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
/** The recessed body under the header. */
|
|
55
|
+
declare function MessageItemBody({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
/** The glyph a tone reads as in a status line. */
|
|
57
|
+
declare const STATUS_GLYPH: Readonly<Record<StatusTone, string>>;
|
|
58
|
+
declare const messageItemStatusVariants: (props?: ({
|
|
59
|
+
tone?: "accent" | "error" | "info" | "neutral" | "ok" | "running" | null | undefined;
|
|
60
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
61
|
+
interface MessageItemStatusProps extends ComponentProps<'span'>, VariantProps<typeof messageItemStatusVariants> {
|
|
62
|
+
/** Replaces the tone's glyph. */
|
|
63
|
+
glyph?: string;
|
|
64
|
+
/** Renders as a button that expands the item: the "N more line(s)" hint. Only className carries over. */
|
|
65
|
+
expands?: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** The one-line status under a body: `◐ running`, `✗ failed`, `✓ done`, or the hint that more is hidden. */
|
|
68
|
+
declare function MessageItemStatus({ className, tone, glyph, expands, children, ...props }: MessageItemStatusProps): import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
//#endregion
|
|
70
|
+
export { MessageItem, MessageItemBody, MessageItemHeader, MessageItemHeaderProps, MessageItemProps, MessageItemState, MessageItemStatus, MessageItemStatusProps, STATUS_GLYPH, STATUS_LABEL, messageItemStatusVariants, messageItemVariants, toolTone, useMessageItem };
|
|
71
|
+
//# sourceMappingURL=MessageItem.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageItem.d.cts","names":[],"sources":["../../src/components/MessageItem.tsx"],"mappings":";;;;;;;;;;;;UAgBiB;EACf,MAAM;;EAEN;EACA;EACA;;;iBAWc,kBAAkB;;cAKrB,sBAAmB;;6CAG9B;UAEe,yBACP,KAAK,oCAAoC,oBAAoB;;EAErE;EACA;;EAEA;EACA,oBAAoB;;EAEpB,WAAW,cAAc,OAAO,qBAAqB;;iBAGvC,cACd,WACA,MACA,YACA,iBACA,UACA,kBACA,aACG,SACF,+CAAgB,IAAA;;iBA4BH,SAAS;EAAS;EAAkB;IAAqB;;cAK5D,cAAc,SAAS,OAAO;UAS1B,+BAA+B,KAAK;;EAEnD,OAAO;;EAEP,QAAQ;;EAER,WAAW;;;iBAIG,oBAAoB,WAAW,OAAO,OAAO,aAAa,SAAS,qDAAsB,IAAA;;iBAoCzF,kBAAkB,cAAc,SAAS,oDAAqB,IAAA;;cAWjE,cAAc,SAAS,OAAO;cAS9B,4BAAyB;;6CAYpC;UAEe,+BAA+B,wBAAwB,oBAAoB;;EAE1F;;EAEA;;;iBAIc,oBACd,WACA,MACA,OACA,SACA,aACG,SACF,qDAAsB,IAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MessageLineTone as MessageLineTone$1 } from "../types/tone.cjs";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
//#region src/components/MessageLines.d.ts
|
|
4
|
+
/** One line of a message body, with the tone the card's pure view logic chose for it. */
|
|
5
|
+
type MessageLineTone = MessageLineTone$1;
|
|
6
|
+
interface MessageLine {
|
|
7
|
+
text: string;
|
|
8
|
+
tone: MessageLineTone;
|
|
9
|
+
bold?: boolean;
|
|
10
|
+
indent?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const messageLineVariants: (props?: ({
|
|
13
|
+
tone?: "accent" | "dim" | "error" | "hi" | "muted" | "success" | "text" | "warning" | null | undefined;
|
|
14
|
+
bold?: boolean | null | undefined;
|
|
15
|
+
indent?: boolean | null | undefined;
|
|
16
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
17
|
+
interface MessageLinesProps extends ComponentProps<'div'> {
|
|
18
|
+
lines: readonly MessageLine[];
|
|
19
|
+
}
|
|
20
|
+
/** A body of toned lines: what a card's view helper computed, drawn one line per row. */
|
|
21
|
+
declare function MessageLines({ className, lines, ...props }: MessageLinesProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { MessageLine, MessageLineTone, MessageLines, MessageLinesProps, messageLineVariants };
|
|
24
|
+
//# sourceMappingURL=MessageLines.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageLines.d.cts","names":[],"sources":["../../src/components/MessageLines.tsx"],"mappings":";;;;KAMY,kBAAkB;UAEb;EACf;EACA,MAAM;EACN;EACA;;cAGW,sBAAmB;;;;6CAgB9B;UAEe,0BAA0B;EACzC,gBAAgB;;;iBAIF,eAAe,WAAW,UAAU,SAAS,gDAAiB,IAAA"}
|