@parallelworks/ui 0.57.0 → 0.59.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.
Files changed (60) hide show
  1. package/README.md +60 -4
  2. package/dist/access/PrincipalPicker.js +2 -1
  3. package/dist/ai/agent/diff.d.ts +1 -0
  4. package/dist/ai/agent/diff.js +50 -3
  5. package/dist/ai/ai.css +38 -0
  6. package/dist/ai/components/AttachmentUpload.d.ts +3 -0
  7. package/dist/ai/components/AttachmentUpload.js +51 -43
  8. package/dist/ai/components/agent/AgentMessageParts.js +33 -6
  9. package/dist/ai/strings.d.ts +2 -0
  10. package/dist/ai/strings.js +2 -1
  11. package/dist/components/AppLink.js +8 -3
  12. package/dist/components/Avatar.d.ts +5 -1
  13. package/dist/components/Avatar.js +13 -5
  14. package/dist/components/ExternalLink.d.ts +3 -2
  15. package/dist/components/ExternalLink.js +5 -2
  16. package/dist/components/Field.d.ts +7 -1
  17. package/dist/components/Field.js +83 -56
  18. package/dist/components/HoverCard.js +12 -0
  19. package/dist/components/Markdown.d.ts +3 -0
  20. package/dist/components/Markdown.js +2 -1
  21. package/dist/components/MarkdownImpl.d.ts +1 -1
  22. package/dist/components/MarkdownImpl.js +5 -3
  23. package/dist/components/Provider.d.ts +16 -1
  24. package/dist/components/Provider.js +17 -3
  25. package/dist/components/StickyBar.d.ts +14 -0
  26. package/dist/components/StickyBar.js +22 -0
  27. package/dist/components/Table.d.ts +7 -5
  28. package/dist/components/Table.js +6 -2
  29. package/dist/components/Tabs.d.ts +2 -2
  30. package/dist/components/Tabs.js +5 -2
  31. package/dist/components/category.d.ts +9 -0
  32. package/dist/components/category.js +30 -0
  33. package/dist/components/httpsImages.d.ts +12 -0
  34. package/dist/components/httpsImages.js +27 -0
  35. package/dist/components/stickyTop.d.ts +14 -0
  36. package/dist/components/stickyTop.js +93 -0
  37. package/dist/file-explorer/FileExplorer.js +21 -15
  38. package/dist/graph/DependencyGraph.d.ts +14 -1
  39. package/dist/graph/DependencyGraph.js +169 -77
  40. package/dist/graph/JobSummary.js +13 -3
  41. package/dist/graph/StepSummary.d.ts +4 -0
  42. package/dist/graph/StepSummary.js +31 -0
  43. package/dist/graph/index.d.ts +1 -0
  44. package/dist/graph/index.js +2 -1
  45. package/dist/graph/types.d.ts +3 -0
  46. package/dist/graph/util.d.ts +1 -1
  47. package/dist/icons.d.ts +1 -0
  48. package/dist/icons.js +3 -2
  49. package/dist/index.d.ts +2 -0
  50. package/dist/index.js +3 -1
  51. package/dist/list/ActionToolbar.d.ts +2 -3
  52. package/dist/list/ActionToolbar.js +3 -3
  53. package/dist/list/index.d.ts +1 -1
  54. package/dist/list/index.js +2 -2
  55. package/dist/logviewer/LogViewer.js +3 -3
  56. package/dist/styles/theme.css +27 -0
  57. package/dist/styles.css +1 -1
  58. package/dist/theme/derive.d.ts +2 -1
  59. package/dist/theme/derive.js +45 -1
  60. package/package.json +1 -1
@@ -2,6 +2,6 @@ import type { WorkflowJob } from './types.js';
2
2
  /** How far below a node's top edge its connectors meet it, level with its first job. */
3
3
  export declare const NODE_CONNECTOR_Y = 37;
4
4
  /** A job as people read it: `run_tests` is "Run tests", a matrix member "Build (2/4)". */
5
- export declare function jobLabel(jobName: string, job?: WorkflowJob): string;
5
+ export declare function jobLabel(jobName: string, job?: Pick<WorkflowJob, '_matrix'>): string;
6
6
  /** A copy of `set` with `key` added, or removed if it was there. */
7
7
  export declare function toggled<T>(set: Set<T>, key: T): Set<T>;
package/dist/icons.d.ts CHANGED
@@ -227,6 +227,7 @@ export declare const StopIcon: IconType;
227
227
  export declare const StorageIcon: IconType;
228
228
  export declare const SubdomainIcon: IconType;
229
229
  export declare const SuccessIcon: IconType;
230
+ export declare const SummaryIcon: IconType;
230
231
  export declare const SunIcon: IconType;
231
232
  export declare const SupportIcon: IconType;
232
233
  export declare const SwapIcon: IconType;
package/dist/icons.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ErrorCheckmark, SuccessCheckmark } from "./components/StatusIcons.js";
2
- import { Activity, Archive, ArrowDown, ArrowDownWideNarrow, ArrowLeft, ArrowLeftRight, ArrowRight, ArrowUp, ArrowUpDown, ArrowUpNarrowWide, AtSign, BadgeCheck, Ban, BanknoteX, Bell, BellOff, BellRing, BookOpenText, BookUser, Bot, Boxes, Braces, Brain, BrainCircuit, Briefcase, Building2, Calendar, CalendarClock, CalendarSync, CalendarX, Camera, ChartLine, ChartPie, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, ChevronsDown, ChevronsDownUp, ChevronsUp, ChevronsUpDown, Circle, CircleAlert, CircleCheck, CircleDollarSign, CircleDot, CircleHelp, CircleMinus, CirclePlay, CircleSlash, CircleX, ClipboardCheck, ClipboardPen, Clock, Cloud, CloudCog, CloudOff, Code, CodeXml, Cog, Columns3, Copy, CopyPlus, CornerUpRight, Cpu, CreditCard, Database, DatabaseSearch, DatabaseZap, Disc3, DollarSign, Download, Earth, Ellipsis, EthernetPort, ExternalLink, Eye, EyeOff, File, FileArchive, FileCode, FileImage, FileJson, FileKey, FilePenLine, FileText, FileType, Files, Fingerprint, Flag, FlaskConical, Folder, FolderKanban, FolderOpen, FolderPlus, FolderTree, Folders, Funnel, FunnelX, Gauge, GitCommitHorizontal, GitFork, GitPullRequest, Globe, GraduationCap, Grid3x3, GripHorizontal, Group, Handshake, HardDrive, HatGlasses, Headset, Heart, HeartOff, History, Hourglass, House, IdCard, Inbox, Info, Key, KeyRound, Keyboard, Landmark, Languages, Layers, LayoutGrid, LibraryBig, Link, List, ListOrdered, ListTodo, ListVideo, LoaderCircle, Lock, LogIn, LogOut, Logs, Mail, MailCheck, MailX, MapPin, MapPinned, Maximize, Megaphone, MemoryStick, Menu, MessageSquare, MessageSquareWarning, MessagesSquare, Minimize, Minimize2, Minus, Monitor, MonitorDown, MonitorPlay, MonitorSmartphone, Moon, Music, Network, NotebookText, PaintBucket, PanelLeft, PanelLeftClose, PanelLeftOpen, Paperclip, PartyPopper, Pause, PcCase, Pencil, PencilLine, Phone, Pin, Play, PlugZap, Plus, Power, Printer, QrCode, Redo2, RefreshCw, Rocket, RotateCcw, RotateCcwSquare, Route, Save, Scale, ScanEye, Search, Send, Server, Settings, Settings2, Share2, Sheet, Shield, ShieldOff, ShieldUser, Smartphone, Sparkles, Square, SquareChevronRight, SquareCode, SquareDashed, SquarePen, SquareSplitHorizontal, SquareTerminal, Star, Store, Sun, Tag, Terminal, TextCursorInput, Trash2, TriangleAlert, Undo2, UndoDot, Unlink, Unplug, Upload, User, UserCheck, UserLock, UserMinus, UserPlus, UserX, Users, Video, Wallet, WandSparkles, Waypoints, Webhook, Wrench, X, Zap, ZoomIn, ZoomOut, createLucideIcon } from "lucide-react";
2
+ import { Activity, Archive, ArrowDown, ArrowDownWideNarrow, ArrowLeft, ArrowLeftRight, ArrowRight, ArrowUp, ArrowUpDown, ArrowUpNarrowWide, AtSign, BadgeCheck, Ban, BanknoteX, Bell, BellOff, BellRing, BookOpenText, BookUser, Bot, Boxes, Braces, Brain, BrainCircuit, Briefcase, Building2, Calendar, CalendarClock, CalendarSync, CalendarX, Camera, ChartLine, ChartPie, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, ChevronsDown, ChevronsDownUp, ChevronsUp, ChevronsUpDown, Circle, CircleAlert, CircleCheck, CircleDollarSign, CircleDot, CircleHelp, CircleMinus, CirclePlay, CircleSlash, CircleX, ClipboardCheck, ClipboardPen, Clock, Cloud, CloudCog, CloudOff, Code, CodeXml, Cog, Columns3, Copy, CopyPlus, CornerUpRight, Cpu, CreditCard, Database, DatabaseSearch, DatabaseZap, Disc3, DollarSign, Download, Earth, Ellipsis, EthernetPort, ExternalLink, Eye, EyeOff, File, FileArchive, FileCode, FileImage, FileJson, FileKey, FilePenLine, FileText, FileType, Files, Fingerprint, Flag, FlaskConical, Folder, FolderKanban, FolderOpen, FolderPlus, FolderTree, Folders, Funnel, FunnelX, Gauge, GitCommitHorizontal, GitFork, GitPullRequest, Globe, GraduationCap, Grid3x3, GripHorizontal, Group, Handshake, HardDrive, HatGlasses, Headset, Heart, HeartOff, History, Hourglass, House, IdCard, Inbox, Info, Key, KeyRound, Keyboard, Landmark, Languages, Layers, LayoutGrid, LibraryBig, Link, List, ListOrdered, ListTodo, ListVideo, LoaderCircle, Lock, LogIn, LogOut, Logs, Mail, MailCheck, MailX, MapPin, MapPinned, Maximize, Megaphone, MemoryStick, Menu, MessageSquare, MessageSquareWarning, MessagesSquare, Minimize, Minimize2, Minus, Monitor, MonitorDown, MonitorPlay, MonitorSmartphone, Moon, Music, Network, NotebookText, PaintBucket, PanelLeft, PanelLeftClose, PanelLeftOpen, Paperclip, PartyPopper, Pause, PcCase, Pencil, PencilLine, Phone, Pin, Play, PlugZap, Plus, Power, Printer, QrCode, Redo2, RefreshCw, Rocket, RotateCcw, RotateCcwSquare, Route, Save, Scale, ScanEye, ScrollText, Search, Send, Server, Settings, Settings2, Share2, Sheet, Shield, ShieldOff, ShieldUser, Smartphone, Sparkles, Square, SquareChevronRight, SquareCode, SquareDashed, SquarePen, SquareSplitHorizontal, SquareTerminal, Star, Store, Sun, Tag, Terminal, TextCursorInput, Trash2, TriangleAlert, Undo2, UndoDot, Unlink, Unplug, Upload, User, UserCheck, UserLock, UserMinus, UserPlus, UserX, Users, Video, Wallet, WandSparkles, Waypoints, Webhook, Wrench, X, Zap, ZoomIn, ZoomOut, createLucideIcon } from "lucide-react";
3
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region src/icons.tsx
5
5
  var STROKE_WIDTH = 2;
@@ -259,6 +259,7 @@ var StopIcon = /* @__PURE__ */ icon(Square);
259
259
  var StorageIcon = /* @__PURE__ */ icon(Database);
260
260
  var SubdomainIcon = /* @__PURE__ */ icon(AtSign);
261
261
  var SuccessIcon = /* @__PURE__ */ icon(CircleCheck);
262
+ var SummaryIcon = /* @__PURE__ */ icon(ScrollText);
262
263
  var SunIcon = /* @__PURE__ */ icon(Sun);
263
264
  var SupportIcon = /* @__PURE__ */ icon(Headset);
264
265
  var SwapIcon = /* @__PURE__ */ icon(ArrowLeftRight);
@@ -284,4 +285,4 @@ var ZipIcon = /* @__PURE__ */ icon(FileArchive);
284
285
  var ZoomInIcon = /* @__PURE__ */ icon(ZoomIn);
285
286
  var ZoomOutIcon = /* @__PURE__ */ icon(ZoomOut);
286
287
  //#endregion
287
- export { APIIcon, AccessIcon, AddAllocationIcon, AddIcon, AddProjectIcon, AddUserIcon, AgentIcon, AllocationIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArticleIcon, AttachmentIcon, AuthenticationIcon, BillingIcon, BriefcaseIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CancelIcon, CelebrateIcon, CertificateIcon, ChangesRequestedIcon, ChartIcon, ChatIcon, CheckIcon, ChevronDoubleDownIcon, ChevronDoubleUpIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ClipboardCheckIcon, ClockIcon, CloseIcon, CloudIcon, ClusterIcon, CodeIcon, CollapseIcon, ColumnsIcon, CommentIcon, CommitIcon, ComputeIcon, ConnectIcon, ContractIcon, CopyIcon, CustomizeIcon, DesktopIcon, DestroyIcon, DeviceIcon, DirectoryIcon, DisableCostIcon, DisableUserIcon, DisconnectIcon, DiskIcon, DisplayIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EditIcon, EditorIcon, EducationIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExpandIcon, ExpandVerticalIcon, ExpiredIcon, ExpiringIcon, ExpressionIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileTextIcon, FilesIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FlaggedIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearsIcon, GlobeIcon, GovernmentIcon, GraphIcon, GridIcon, HealthMonitoringIcon, HelpIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImpersonateIcon, InboxIcon, IndexIcon, InfoIcon, InfrastructureLayersIcon, InputFormIcon, InstallIcon, InstanceIcon, InstanceTypeIcon, IpAddressIcon, IssueIcon, JobIcon, JsonIcon, KeyIcon, KeyboardIcon, KubernetesNamespaceIcon, LanguageIcon, LegalIcon, LibraryIcon, LicenseIcon, LinkIcon, ListViewIcon, LockIcon, MFAIcon, MachineImageIcon, MailFailedIcon, MailIcon, MailVerifiedIcon, MapPinIcon, MarketplaceIcon, MatrixIcon, MegaphoneIcon, MigrationIcon, MinimizeIcon, MinusIcon, MlIcon, MoneyIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NavigationIcon, NetworkInterfaceIcon, NewChatIcon, NodeIcon, NotRunningIcon, NotebookIcon, NotificationIcon, OnboardingIcon, OpenInNewGraphIcon, OrganizationIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PendingIcon, PhoneIcon, PieChartIcon, PinFilledIcon, PinIcon, PowerIcon, PowershellIcon, PreviewIcon, PrintIcon, ProjectIcon, PublishIcon, PullRequestIcon, QRCodeIcon, QueueIcon, QuotaIcon, RedoIcon, RefreshIcon, RemoveIcon, RemoveUserIcon, RenameIcon, RenewIcon, ResetLayoutIcon, ResourceGroupIcon, ResourceIcon, RetryIcon, RoleIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, RunsIcon, SaveIcon, SchedulerIcon, ScriptIcon, SearchIcon, SendIcon, ServiceIcon, SessionIcon, SettingsIcon, ShareIcon, ShieldIcon, ShieldOffIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignInIcon, SignOutIcon, SkipIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SunIcon, SupportIcon, SwapIcon, TagIcon, TerminalIcon, ThinkingIcon, TodoIcon, TrashIcon, TunnelIcon, UndoIcon, UnfavoriteIcon, UnlinkIcon, UnmuteIcon, UploadIcon, UserIcon, UserWorkspaceIcon, UsersIcon, VideoIcon, WarningIcon, WebhookIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
288
+ export { APIIcon, AccessIcon, AddAllocationIcon, AddIcon, AddProjectIcon, AddUserIcon, AgentIcon, AllocationIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArticleIcon, AttachmentIcon, AuthenticationIcon, BillingIcon, BriefcaseIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CancelIcon, CelebrateIcon, CertificateIcon, ChangesRequestedIcon, ChartIcon, ChatIcon, CheckIcon, ChevronDoubleDownIcon, ChevronDoubleUpIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ClipboardCheckIcon, ClockIcon, CloseIcon, CloudIcon, ClusterIcon, CodeIcon, CollapseIcon, ColumnsIcon, CommentIcon, CommitIcon, ComputeIcon, ConnectIcon, ContractIcon, CopyIcon, CustomizeIcon, DesktopIcon, DestroyIcon, DeviceIcon, DirectoryIcon, DisableCostIcon, DisableUserIcon, DisconnectIcon, DiskIcon, DisplayIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EditIcon, EditorIcon, EducationIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExpandIcon, ExpandVerticalIcon, ExpiredIcon, ExpiringIcon, ExpressionIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileTextIcon, FilesIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FlaggedIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearsIcon, GlobeIcon, GovernmentIcon, GraphIcon, GridIcon, HealthMonitoringIcon, HelpIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImpersonateIcon, InboxIcon, IndexIcon, InfoIcon, InfrastructureLayersIcon, InputFormIcon, InstallIcon, InstanceIcon, InstanceTypeIcon, IpAddressIcon, IssueIcon, JobIcon, JsonIcon, KeyIcon, KeyboardIcon, KubernetesNamespaceIcon, LanguageIcon, LegalIcon, LibraryIcon, LicenseIcon, LinkIcon, ListViewIcon, LockIcon, MFAIcon, MachineImageIcon, MailFailedIcon, MailIcon, MailVerifiedIcon, MapPinIcon, MarketplaceIcon, MatrixIcon, MegaphoneIcon, MigrationIcon, MinimizeIcon, MinusIcon, MlIcon, MoneyIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NavigationIcon, NetworkInterfaceIcon, NewChatIcon, NodeIcon, NotRunningIcon, NotebookIcon, NotificationIcon, OnboardingIcon, OpenInNewGraphIcon, OrganizationIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PendingIcon, PhoneIcon, PieChartIcon, PinFilledIcon, PinIcon, PowerIcon, PowershellIcon, PreviewIcon, PrintIcon, ProjectIcon, PublishIcon, PullRequestIcon, QRCodeIcon, QueueIcon, QuotaIcon, RedoIcon, RefreshIcon, RemoveIcon, RemoveUserIcon, RenameIcon, RenewIcon, ResetLayoutIcon, ResourceGroupIcon, ResourceIcon, RetryIcon, RoleIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, RunsIcon, SaveIcon, SchedulerIcon, ScriptIcon, SearchIcon, SendIcon, ServiceIcon, SessionIcon, SettingsIcon, ShareIcon, ShieldIcon, ShieldOffIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignInIcon, SignOutIcon, SkipIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SummaryIcon, SunIcon, SupportIcon, SwapIcon, TagIcon, TerminalIcon, ThinkingIcon, TodoIcon, TrashIcon, TunnelIcon, UndoIcon, UnfavoriteIcon, UnlinkIcon, UnmuteIcon, UploadIcon, UserIcon, UserWorkspaceIcon, UsersIcon, VideoIcon, WarningIcon, WebhookIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
package/dist/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export { ConfirmModal, type ConfirmModalProps } from './components/ConfirmModal.
12
12
  export { type OpenMenu, type OpenMenuOptions, useContextMenu, } from './components/ContextMenu.js';
13
13
  export { CopyButton, type CopyButtonProps, CopyCodeBlock, type CopyCodeBlockProps, } from './components/CopyButton.js';
14
14
  export { CreateModal, CreateModalSelect, CreateModalSwitch, } from './components/CreateModal.js';
15
+ export { categoryClasses, categoryOf } from './components/category.js';
15
16
  export { DatePicker, type DatePickerProps } from './components/DatePicker.js';
16
17
  export { DescriptionListGroup, DescriptionListItem, type DescriptionListItemProps, type DescriptionListProps, type DescriptionListVariant, default as DescriptionList, } from './components/DescriptionList.js';
17
18
  export { Disclosure, DisclosurePanel, type DisclosureProps } from './components/Disclosure.js';
@@ -55,6 +56,7 @@ export { SettingRow, SettingsCard, type SettingsCardProps, SettingsHeading, } fr
55
56
  export { LoadingRegion, Skeleton, type SkeletonProps } from './components/Skeleton.js';
56
57
  export { Slider, type SliderProps } from './components/Slider.js';
57
58
  export { type BadgeVariant, StatusBadge, StatusDot, statusTextClass, } from './components/StatusBadge.js';
59
+ export { StickyBar, type StickyBarProps } from './components/StickyBar.js';
58
60
  export { Switch, type SwitchProps } from './components/Switch.js';
59
61
  export { isTextEntryContext, useShortcutKey } from './components/shortcutKey.js';
60
62
  export { type SortDirection, Table, type TableDensity } from './components/Table.js';
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ import { EmptyState } from "./components/EmptyState.js";
10
10
  import { useCopy } from "./components/useCopy.js";
11
11
  import { MenuEntries, MenuFilter, menuDivider } from "./components/MenuEntries.js";
12
12
  import { ActionMenu } from "./components/ActionMenu.js";
13
+ import { categoryClasses, categoryOf } from "./components/category.js";
13
14
  import { Avatar, avatarInitials } from "./components/Avatar.js";
14
15
  import { Button, MethodButton } from "./components/Button.js";
15
16
  import { isTextEntryContext, useShortcutKey } from "./components/shortcutKey.js";
@@ -66,10 +67,11 @@ import { SettingModeOption } from "./components/SettingModeOption.js";
66
67
  import { SettingRow, SettingsCard, SettingsHeading } from "./components/SettingsCard.js";
67
68
  import { Slider } from "./components/Slider.js";
68
69
  import { StatusBadge, StatusDot, statusTextClass } from "./components/StatusBadge.js";
70
+ import { StickyBar } from "./components/StickyBar.js";
69
71
  import { Table } from "./components/Table.js";
70
72
  import { TabPanel, Tabs } from "./components/Tabs.js";
71
73
  import { ThemeEditor, ThemePreview } from "./components/ThemeEditor.js";
72
74
  import { ToggleGroup } from "./components/ToggleGroup.js";
73
75
  import { useCssIsDark } from "./components/useCssIsDark.js";
74
76
  import { useApplyTheme, useColorMode } from "./components/useTheme.js";
75
- export { ActionMenu, AppLink, Autocomplete, Avatar, Button, CODE_STYLES, Callout, Card, CardHeader, Checkbox, CheckboxGroup, ColorInput, Combobox, ConfirmModal, CopyButton, CopyCodeBlock, CreateModal, CreateModalSelect, CreateModalSwitch, DEFAULT_CONTRAST, DEFAULT_PRESET, DEFAULT_THEME, DatePicker, DescriptionList, DescriptionListGroup, DescriptionListItem, Disclosure, DisclosurePanel, Drawer, Elapsed, EmptyState, ErrorText, ExternalLink, Field, FieldOption, FieldValue, HoverCard, IconButton, InfoTip, Input, JND, LetterBadge, Loader, LoadingRegion, Markdown, MenuCheckboxItem, MenuEntries, MenuFilter, MenuGroupLabel, MenuItem, MenuLinkItem, MenuPopup, MenuRadioItem, MenuSeparator, MenuSubmenuTrigger, Meter, MethodButton, Modal, ModalDescription, ModalTitle, NumberInput, OneTimeCodeInput, Overview, PAGE_SIZES, PageHeader, PageHeaderAction, PageHeaderAddButton, PageHeaderBar, PageHeaderMenu, PageHeaderProvider, Pagination, Popover, PopoverClose, ProgressBar, Radio, RadioGroup, RefreshButton, RelativeTime, RequiredMark, RevealToggle, RunStatusIcon, SIDEBAR_TOKENS, SearchInput, Section, SegmentedControl, Select, SettingModeOption, SettingRow, SettingsCard, SettingsHeading, Skeleton, Slider, StatusBadge, StatusDot, Switch, THEME_PRESETS, THEME_TOKENS, TabPanel, Table, Tabs, Textarea, ThemeEditor, ThemePreview, ToggleGroup, Tooltip, TooltipProvider, UIProvider, apcaContrast, applyTheme, avatarInitials, buttonClasses, composite, contrastRatio, cx, deltaE, deriveTheme, fieldBox, fitSeed, formatBytes, formatCount, formatDateTime, formatDuration, formatInfoTipContent, formatTimeLeft, generateTheme, isDarkColor, isPlainClick, isTextEntryContext, levelTone, menuDivider, modalPanelClassName, modeOf, parseColor, parseTheme, prefersWideGamut, resolveMode, runStatusTone, schemeFor, serializeTheme, statusTextClass, themeStylesheet, toHex, toP3, toast, useApplyTheme, useClock, useClosePopover, useColorMode, useContextMenu, useCopy, useCssIsDark, useElapsed, useFieldControl, useFieldLabelledControl, useNavigation, useOptionalWorkflowEngine, usePersistedState, useProvisionCorsRules, useRelativeTime, useRunFile, useShortcutKey, useSlots, useStrings, useWorkflowActions, useWorkflowEditing, useWorkflowEngine, useWorkflowEngineLoader };
77
+ export { ActionMenu, AppLink, Autocomplete, Avatar, Button, CODE_STYLES, Callout, Card, CardHeader, Checkbox, CheckboxGroup, ColorInput, Combobox, ConfirmModal, CopyButton, CopyCodeBlock, CreateModal, CreateModalSelect, CreateModalSwitch, DEFAULT_CONTRAST, DEFAULT_PRESET, DEFAULT_THEME, DatePicker, DescriptionList, DescriptionListGroup, DescriptionListItem, Disclosure, DisclosurePanel, Drawer, Elapsed, EmptyState, ErrorText, ExternalLink, Field, FieldOption, FieldValue, HoverCard, IconButton, InfoTip, Input, JND, LetterBadge, Loader, LoadingRegion, Markdown, MenuCheckboxItem, MenuEntries, MenuFilter, MenuGroupLabel, MenuItem, MenuLinkItem, MenuPopup, MenuRadioItem, MenuSeparator, MenuSubmenuTrigger, Meter, MethodButton, Modal, ModalDescription, ModalTitle, NumberInput, OneTimeCodeInput, Overview, PAGE_SIZES, PageHeader, PageHeaderAction, PageHeaderAddButton, PageHeaderBar, PageHeaderMenu, PageHeaderProvider, Pagination, Popover, PopoverClose, ProgressBar, Radio, RadioGroup, RefreshButton, RelativeTime, RequiredMark, RevealToggle, RunStatusIcon, SIDEBAR_TOKENS, SearchInput, Section, SegmentedControl, Select, SettingModeOption, SettingRow, SettingsCard, SettingsHeading, Skeleton, Slider, StatusBadge, StatusDot, StickyBar, Switch, THEME_PRESETS, THEME_TOKENS, TabPanel, Table, Tabs, Textarea, ThemeEditor, ThemePreview, ToggleGroup, Tooltip, TooltipProvider, UIProvider, apcaContrast, applyTheme, avatarInitials, buttonClasses, categoryClasses, categoryOf, composite, contrastRatio, cx, deltaE, deriveTheme, fieldBox, fitSeed, formatBytes, formatCount, formatDateTime, formatDuration, formatInfoTipContent, formatTimeLeft, generateTheme, isDarkColor, isPlainClick, isTextEntryContext, levelTone, menuDivider, modalPanelClassName, modeOf, parseColor, parseTheme, prefersWideGamut, resolveMode, runStatusTone, schemeFor, serializeTheme, statusTextClass, themeStylesheet, toHex, toP3, toast, useApplyTheme, useClock, useClosePopover, useColorMode, useContextMenu, useCopy, useCssIsDark, useElapsed, useFieldControl, useFieldLabelledControl, useNavigation, useOptionalWorkflowEngine, usePersistedState, useProvisionCorsRules, useRelativeTime, useRunFile, useShortcutKey, useSlots, useStrings, useWorkflowActions, useWorkflowEditing, useWorkflowEngine, useWorkflowEngineLoader };
@@ -42,8 +42,6 @@ export interface ItemWidth {
42
42
  * moves, and its label folds only once nothing else is left to try.
43
43
  */
44
44
  export declare function fitToolbar(groups: ItemWidth[][], right: ItemWidth[], available: number): ToolbarFit;
45
- /** Pins a toolbar to the top of the page's scroll area while the content scrolls under it. */
46
- export declare const stickyToolbarClasses = "sticky top-0 z-(--layer-sticky) bg-(--theme-app-bg)";
47
45
  /** A view's controls in one WAI-ARIA toolbar: a single tab stop, with the arrow
48
46
  * keys moving between its items, the `…` menu and disabled ones included, so
49
47
  * their reasons stay reachable. Action groups sit on the left and `right` holds
@@ -55,7 +53,8 @@ export declare const stickyToolbarClasses = "sticky top-0 z-(--layer-sticky) bg-
55
53
  export declare function ActionToolbar({ groups, right, sticky, label, }: {
56
54
  groups: ToolbarItem[][];
57
55
  right?: ToolbarItem[];
58
- /** Pins it to the top of the page's scroll area while the page scrolls. */
56
+ /** Pins it as the page scrolls, just below whatever the page's scroller
57
+ * already pins at the top, such as the page header. */
59
58
  sticky?: boolean;
60
59
  /** Names the toolbar for assistive technology, such as "Log controls";
61
60
  * defaults to "Actions". */
@@ -7,6 +7,7 @@ import { Tooltip } from "../components/Tooltip.js";
7
7
  import { useStrings } from "../components/Provider.js";
8
8
  import { AppLink } from "../components/AppLink.js";
9
9
  import { MenuEntries, useRunAction, warnIfInert } from "../components/MenuEntries.js";
10
+ import { useStickyTop } from "../components/stickyTop.js";
10
11
  import { Menu } from "@base-ui/react/menu";
11
12
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
13
  import { Fragment as Fragment$1, cloneElement, createContext, isValidElement, use, useLayoutEffect, useRef, useState } from "react";
@@ -264,8 +265,6 @@ function ItemSlot({ item, folded }) {
264
265
  }) : /* @__PURE__ */ jsx(ToolbarButton, { action: item })
265
266
  });
266
267
  }
267
- /** Pins a toolbar to the top of the page's scroll area while the content scrolls under it. */
268
- var stickyToolbarClasses = "sticky top-0 z-(--layer-sticky) bg-(--theme-app-bg)";
269
268
  /** A view's controls in one WAI-ARIA toolbar: a single tab stop, with the arrow
270
269
  * keys moving between its items, the `…` menu and disabled ones included, so
271
270
  * their reasons stay reachable. Action groups sit on the left and `right` holds
@@ -284,6 +283,7 @@ function ActionToolbar({ groups, right = [], sticky = false, label }) {
284
283
  warnIfManyPrimary(all);
285
284
  warnIfIconsRepeat(all);
286
285
  const fit = useToolbarFit(root, copy, visibleGroups, visibleRight);
286
+ useStickyTop(root, sticky);
287
287
  const overflow = new Set(fit.overflow);
288
288
  const folded = new Set(fit.folded);
289
289
  const shown = (items) => items.filter((item) => !overflow.has(item.key));
@@ -347,4 +347,4 @@ function warnIfIconsRepeat(items) {
347
347
  }
348
348
  }
349
349
  //#endregion
350
- export { ActionToolbar, ToolbarButton, fitToolbar, stickyToolbarClasses };
350
+ export { ActionToolbar, ToolbarButton, fitToolbar };
@@ -1,4 +1,4 @@
1
- export { ActionToolbar, stickyToolbarClasses, type ToolbarAction, ToolbarButton, type ToolbarItem, } from './ActionToolbar.js';
1
+ export { ActionToolbar, type ToolbarAction, ToolbarButton, type ToolbarItem, } from './ActionToolbar.js';
2
2
  export { ListColumns, ListPage, type ListPageProps, ListRow, ListRowActionsProvider, useListNavigate, } from './ListPage.js';
3
3
  export { actionsColumnWidth, GroupRow, ListActionsHeader, ListError, ListSelectAllHeader, ListSkeleton, listTableFixedProps, listTableProps, NAME_MIN_WIDTH_PX, NameCell, RowSelectCheckbox, } from './ListTable.js';
4
4
  export { ListDisplayMenu, ListFilterMenu } from './ListViewControls.js';
@@ -1,4 +1,4 @@
1
- import { ActionToolbar, ToolbarButton, stickyToolbarClasses } from "./ActionToolbar.js";
1
+ import { ActionToolbar, ToolbarButton } from "./ActionToolbar.js";
2
2
  import { GroupRow, ListActionsHeader, ListError, ListSelectAllHeader, ListSkeleton, NAME_MIN_WIDTH_PX, NameCell, RowSelectCheckbox, actionsColumnWidth, listTableFixedProps, listTableProps } from "./ListTable.js";
3
3
  import { MoreButton, assembleRowMenu, rowContextMenuProps, useCopySubmenu, useRowMenuActive } from "./rowMenu.js";
4
4
  import { ListColumns, ListPage, ListRow, ListRowActionsProvider, useListNavigate } from "./ListPage.js";
@@ -6,4 +6,4 @@ import { ListDisplayMenu, ListFilterMenu } from "./ListViewControls.js";
6
6
  import { ListCount, ListSearchControl, useListSearch } from "./listSearch.js";
7
7
  import { DEFAULT_ORDER, FAVORITE_ORDER, useListView } from "./listView.js";
8
8
  import { HoverCardRow, UserHoverCard } from "./UserHoverCard.js";
9
- export { ActionToolbar, DEFAULT_ORDER, FAVORITE_ORDER, GroupRow, HoverCardRow, ListActionsHeader, ListColumns, ListCount, ListDisplayMenu, ListError, ListFilterMenu, ListPage, ListRow, ListRowActionsProvider, ListSearchControl, ListSelectAllHeader, ListSkeleton, MoreButton, NAME_MIN_WIDTH_PX, NameCell, RowSelectCheckbox, ToolbarButton, UserHoverCard, actionsColumnWidth, assembleRowMenu, listTableFixedProps, listTableProps, rowContextMenuProps, stickyToolbarClasses, useCopySubmenu, useListNavigate, useListSearch, useListView, useRowMenuActive };
9
+ export { ActionToolbar, DEFAULT_ORDER, FAVORITE_ORDER, GroupRow, HoverCardRow, ListActionsHeader, ListColumns, ListCount, ListDisplayMenu, ListError, ListFilterMenu, ListPage, ListRow, ListRowActionsProvider, ListSearchControl, ListSelectAllHeader, ListSkeleton, MoreButton, NAME_MIN_WIDTH_PX, NameCell, RowSelectCheckbox, ToolbarButton, UserHoverCard, actionsColumnWidth, assembleRowMenu, listTableFixedProps, listTableProps, rowContextMenuProps, useCopySubmenu, useListNavigate, useListSearch, useListView, useRowMenuActive };
@@ -414,10 +414,10 @@ function LogViewer({ log, height = "unset", width, downloadName = "log.txt", rou
414
414
  /* @__PURE__ */ jsxs("div", {
415
415
  className: cx("flex select-none items-center gap-x-2 p-2", inline ? "bg-[var(--theme-panel-bg)] border-b border-[var(--theme-border)]" : "theme-panel"),
416
416
  children: [/* @__PURE__ */ jsxs("div", {
417
- className: cx("w-full flex flex-row gap-x-2 items-center", hideExpand && "justify-between"),
417
+ className: "flex w-full min-w-0 flex-wrap items-center gap-2",
418
418
  children: [
419
419
  /* @__PURE__ */ jsxs("div", {
420
- className: "flex gap-x-2 w-full",
420
+ className: "flex flex-auto flex-wrap gap-2",
421
421
  children: [
422
422
  !inline && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Button, {
423
423
  variant: "secondary",
@@ -565,7 +565,7 @@ function LogViewer({ log, height = "unset", width, downloadName = "log.txt", rou
565
565
  label: t.filterLogs,
566
566
  value: filter,
567
567
  onValueChange: handleFilterChange,
568
- className: "w-48"
568
+ className: "min-w-40 flex-1 sm:w-48 sm:flex-none"
569
569
  }),
570
570
  /* @__PURE__ */ jsx(Button, {
571
571
  variant: "secondary",
@@ -78,6 +78,22 @@
78
78
  --theme-ansi-magenta: light-dark(#8d3a88, #ffaafe);
79
79
  --theme-ansi-cyan: light-dark(#00666c, #00dbe5);
80
80
  --theme-ansi-white: light-dark(#555d6c, #e1e9f2);
81
+ --theme-category-1: light-dark(#ffcfce, #593030);
82
+ --theme-category-1-text: light-dark(#6e3537, #fed2d0);
83
+ --theme-category-2: light-dark(#f7d6b8, #533618);
84
+ --theme-category-2-text: light-dark(#673f12, #f6d8bc);
85
+ --theme-category-3: light-dark(#dfe1b7, #3f4017);
86
+ --theme-category-3-text: light-dark(#4e4e11, #dfe2bc);
87
+ --theme-category-4: light-dark(#c1e8cd, #20462f);
88
+ --theme-category-4-text: light-dark(#1f5636, #c5e8d0);
89
+ --theme-category-5: light-dark(#b3e9eb, #034649);
90
+ --theme-category-5-text: light-dark(#00555a, #b8e9eb);
91
+ --theme-category-6: light-dark(#c0e2ff, #1f405b);
92
+ --theme-category-6-text: light-dark(#1f4e73, #c3e2fe);
93
+ --theme-category-7: light-dark(#dcd8ff, #3d375a);
94
+ --theme-category-7-text: light-dark(#4a4273, #ddd9fe);
95
+ --theme-category-8: light-dark(#f5d0ec, #50314a);
96
+ --theme-category-8-text: light-dark(#63385a, #f4d2eb);
81
97
  }
82
98
 
83
99
  @media (color-gamut: p3) {
@@ -167,6 +183,17 @@
167
183
  text-align: left !important;
168
184
  }
169
185
 
186
+ /* Base UI hides the native scrollbar of a select or scroll area with this
187
+ * class, and would inject the rule as an inline <style>, which a same-origin
188
+ * style policy blocks. UIProvider turns that off, so the rule ships here. */
189
+ .base-ui-disable-scrollbar {
190
+ scrollbar-width: none;
191
+ }
192
+
193
+ .base-ui-disable-scrollbar::-webkit-scrollbar {
194
+ display: none;
195
+ }
196
+
170
197
  /* Theme-aware scrollbars */
171
198
  .theme-scrollbar {
172
199
  scrollbar-width: thin;