@parallelworks/ui 0.1.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 ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Parallel Works
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # @parallelworks/ui
2
+
3
+ Shared UI foundation for Parallel Works packages and applications: the unified
4
+ theme contract, the icon barrel, and (in later versions) core primitives such
5
+ as tables, tooltips, loaders, and modals.
6
+
7
+ ## Theme contract
8
+
9
+ Every color a component may use is one of the closed set of `--theme-*` CSS
10
+ variables, and every token is computable from a tiny seed — accent +
11
+ background + contrast — per surface (interface, and optionally sidebar).
12
+ Presets are named seeds; a custom theme is the same seed exposed directly.
13
+ Components consume only tokens and never branch on a light/dark flag.
14
+
15
+ ```ts
16
+ import { deriveTheme, applyTheme, THEME_PRESETS } from '@parallelworks/ui/theme'
17
+
18
+ const vars = deriveTheme({ accent: '#06354f', background: '#f3f4f6' })
19
+ applyTheme(document.documentElement, vars)
20
+ ```
21
+
22
+ Import the stylesheet contract once in your app:
23
+
24
+ ```css
25
+ /* In a Tailwind v4 build: */
26
+ @import '@parallelworks/ui/theme.css';
27
+ @source '../node_modules/@parallelworks/ui/src/**/*.{ts,tsx}';
28
+ ```
29
+
30
+ Consumers without a Tailwind build can import the compiled standalone
31
+ stylesheet instead:
32
+
33
+ ```ts
34
+ import '@parallelworks/ui/styles.css'
35
+ ```
36
+
37
+ ## Icons
38
+
39
+ ```tsx
40
+ import { AddIcon, LoaderIcon, TrashIcon } from '@parallelworks/ui/icons'
41
+ ```
42
+
43
+ The barrel re-exports a curated, stable set of icon names over `react-icons`
44
+ so applications never depend on a specific icon pack directly.
45
+
46
+ ## Development
47
+
48
+ This package lives in the Parallel Works ACTIVATE monorepo and is consumed
49
+ in-repo directly from `src/`. The published artifact is built with Vite
50
+ (`pnpm build`) and validated with `pnpm lint:package` and `pnpm verify:pack`.
@@ -0,0 +1,7 @@
1
+ type CalloutType = 'warning' | 'info' | 'error';
2
+ export default function Callout({ type, className, children, }: {
3
+ type: CalloutType;
4
+ className?: string;
5
+ children: React.ReactNode;
6
+ }): import("react").JSX.Element;
7
+ export {};
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ interface IDescriptionListItemProps {
3
+ label: string;
4
+ children: React.ReactNode;
5
+ tooltip?: string;
6
+ className?: string;
7
+ }
8
+ export declare function DescriptionListItem({ label, children, tooltip, className, ...props }: IDescriptionListItemProps & React.ComponentPropsWithoutRef<'dd'>): React.JSX.Element;
9
+ export default function DescriptionList({ children, title, separators, subtitle, className, wrapperClassName, vertical, }: {
10
+ children: React.ReactNode;
11
+ className?: string;
12
+ wrapperClassName?: string;
13
+ title?: string | React.ReactNode;
14
+ separators?: boolean;
15
+ subtitle?: string | React.ReactNode;
16
+ vertical?: boolean;
17
+ }): React.JSX.Element;
18
+ export {};
@@ -0,0 +1,11 @@
1
+ import type React from 'react';
2
+ interface EmptyStateProps {
3
+ title: string;
4
+ description?: string;
5
+ action?: React.ReactNode;
6
+ icon?: React.ComponentType<{
7
+ className?: string;
8
+ }>;
9
+ }
10
+ export default function EmptyState({ title, description, action, icon: Icon, }: EmptyStateProps): React.JSX.Element;
11
+ export {};
@@ -0,0 +1,10 @@
1
+ interface LoaderProps {
2
+ size?: number | string;
3
+ text?: string;
4
+ textSize?: number;
5
+ color?: string;
6
+ full?: boolean;
7
+ loaderStyle?: React.CSSProperties;
8
+ }
9
+ export default function Loader({ size, text, textSize, full, color, loaderStyle, }: LoaderProps): import("react").JSX.Element;
10
+ export {};
@@ -0,0 +1,26 @@
1
+ export interface ModalProps {
2
+ isOpen: boolean;
3
+ close: () => void;
4
+ cancelAction?: () => void;
5
+ closeAfterAction?: boolean;
6
+ className?: string;
7
+ actionLabel?: string;
8
+ cancelLabel?: string;
9
+ action?: () => void | Promise<unknown>;
10
+ title?: string;
11
+ text?: string;
12
+ type?: 'destructive' | 'info' | 'warning';
13
+ showButtons?: boolean;
14
+ children?: React.ReactNode;
15
+ disableAction?: boolean;
16
+ loading?: boolean;
17
+ /** When false, drops the panel's default padding. */
18
+ padding?: boolean;
19
+ /** Makes modal width fit to content instead of regular width. */
20
+ fitWidth?: boolean;
21
+ /** When false, the backdrop stays transparent. */
22
+ dimScreen?: boolean;
23
+ /** When true, clicking the backdrop does not close the modal. */
24
+ ignoreOutsideClickClose?: boolean;
25
+ }
26
+ export default function Modal({ isOpen, close, cancelAction, children, title, text, actionLabel, cancelLabel, action, closeAfterAction, type, className, showButtons, disableAction, loading, padding, fitWidth, dimScreen, ignoreOutsideClickClose, }: ModalProps): import("react").ReactPortal | null;
@@ -0,0 +1,23 @@
1
+ import type { ReactNode } from 'react';
2
+ type BadgeVariant = 'default' | 'success' | 'warning' | 'error' | 'info' | 'muted';
3
+ interface StatusBadgeProps {
4
+ /** Badge content */
5
+ children: ReactNode;
6
+ /** Visual variant */
7
+ variant?: BadgeVariant;
8
+ /** Show animated pulse indicator */
9
+ pulse?: boolean;
10
+ /** Size */
11
+ size?: 'sm' | 'md';
12
+ /** Additional class */
13
+ className?: string;
14
+ }
15
+ export declare function StatusBadge({ children, variant, pulse, size, className, }: StatusBadgeProps): import("react").JSX.Element;
16
+ interface StatusDotProps {
17
+ variant?: BadgeVariant;
18
+ pulse?: boolean;
19
+ size?: number;
20
+ className?: string;
21
+ }
22
+ export declare function StatusDot({ variant, pulse, size, className, }: StatusDotProps): import("react").JSX.Element;
23
+ export {};
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ interface IItemProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
3
+ wrap?: boolean;
4
+ colspan?: number;
5
+ }
6
+ declare function Item({ wrap, children, className, colspan, ...tdProps }: IItemProps): React.JSX.Element;
7
+ declare function CompactItem({ wrap, children, className, colspan, ...tdProps }: IItemProps): React.JSX.Element;
8
+ interface ITableHeaderProps {
9
+ children?: React.ReactNode;
10
+ className?: string;
11
+ style?: React.CSSProperties;
12
+ colspan?: number;
13
+ onClick?: () => void;
14
+ /** When false, drops uppercase + tracking-wider for a sentence-case header. */
15
+ caps?: boolean;
16
+ }
17
+ declare function Header({ children, className, style, colspan, onClick, caps, }: ITableHeaderProps): React.JSX.Element;
18
+ interface ITableProps {
19
+ children?: React.ReactNode;
20
+ borderless?: boolean;
21
+ /** When false, drops the theme-panel background. */
22
+ panel?: boolean;
23
+ className?: string;
24
+ tbodyClassName?: string;
25
+ theadClassName?: string;
26
+ wrapperClassName?: string;
27
+ roundedTop?: boolean;
28
+ rounded?: boolean;
29
+ roundedBottom?: boolean;
30
+ Item?: typeof Item;
31
+ Header?: typeof Header;
32
+ isLoading?: boolean;
33
+ /** Forwarded to the `<table>`, for attributes that must sit on the element owning
34
+ * the rows — `role='grid'`, aria-activedescendant, aria-rowcount. `className` is
35
+ * excluded because it is spread after the table's own classes; use the
36
+ * `className` prop, which merges. */
37
+ tableProps?: Omit<React.TableHTMLAttributes<HTMLTableElement>, 'className'> & {
38
+ 'aria-activedescendant'?: string;
39
+ 'aria-rowcount'?: number;
40
+ };
41
+ }
42
+ export declare function Table({ borderless, panel, className, wrapperClassName, tbodyClassName, theadClassName, children, roundedTop, rounded, roundedBottom, isLoading, tableProps, }: ITableProps): React.JSX.Element;
43
+ export declare namespace Table {
44
+ export { Header };
45
+ export { Item };
46
+ }
47
+ export declare function CompactTable({ wrapperClassName, className, tbodyClassName, children, roundedTop, rounded, roundedBottom, }: ITableProps): React.JSX.Element;
48
+ export declare namespace CompactTable {
49
+ export { Header };
50
+ export { CompactItem as Item };
51
+ }
52
+ export {};
@@ -0,0 +1,15 @@
1
+ import { type PlacesType } from 'react-tooltip';
2
+ export declare const TOOLTIP_ID = "global-tooltip";
3
+ /** Tooltip text can come from untrusted sources (workflow YAML), so all markup is literal text — only `[text](url)` links and newlines are parsed. */
4
+ export declare function formatTooltipContent(content: React.ReactNode): number | bigint | true | import("react").JSX.Element[] | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | Iterable<import("react").ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
5
+ /** Singleton rendered at layout root; anchors opt in via data-tooltip-id={TOOLTIP_ID}, data-tooltip-content, and data-tooltip-shortcut. */
6
+ export declare function GlobalTooltip(): import("react").JSX.Element;
7
+ interface ITooltipInfo {
8
+ text: string;
9
+ className?: string;
10
+ place?: PlacesType;
11
+ children?: React.ReactNode;
12
+ tabIndex?: number;
13
+ }
14
+ export declare function TooltipInfo({ text, className, children, place, tabIndex, }: ITooltipInfo): import("react").JSX.Element;
15
+ export {};
@@ -0,0 +1,39 @@
1
+ import type React from 'react';
2
+ import { BiError as ErrorIcon } from 'react-icons/bi';
3
+ import { BsZoomIn as ChartZoomIcon, BsLayers as InfrastructureLayersIcon, BsCurrencyDollar as MoneyIcon } from 'react-icons/bs';
4
+ import { FaInfoCircle as InfoIcon } from 'react-icons/fa';
5
+ export type { IconType } from 'react-icons';
6
+ export { AiOutlineRollback as RollbackIcon } from 'react-icons/ai';
7
+ export { BiExpandVertical as ExpandVerticalIcon, BiBuildings as OrganizationIcon, BiPause as PauseIcon, BiSolidCheckShield as ShieldIcon, BiPlay as StartIcon, BiStop as StopIcon, BiSolidTrashAlt as TrashIcon, } from 'react-icons/bi';
8
+ export { BsStar as PinIcon, BsStarFill as PinFilledIcon, BsGrid as GridIcon, BsBucket as BucketIcon, BsArrowsCollapse as CollapseIcon, BsThreeDotsVertical as MenuIcon, BsThreeDots as MoreIcon, BsSearch as SearchOutlineIcon, BsTerminalFill as UserWorkspaceFillIcon, BsTerminal as UserWorkspaceIcon, BsFileEarmarkZip as ZipIcon, BsMusicNoteBeamed as MusicIcon, } from 'react-icons/bs';
9
+ export { FaAmazon as AmazonIcon, FaCentos as CentOSIcon, FaCog as CogIcon, FaExclamationTriangle as WarningTriangleIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaImage as ImageSolidIcon, FaLinux as LinuxIcon, FaPaperclip as AttachmentIcon, FaRedhat as RedHatIcon, FaRobot as RobotIcon, FaShieldAlt as ShieldAltIcon, FaStop as StopSolidIcon, FaSuse as SuseIcon, FaUbuntu as UbuntuIcon, FaUsers as AccessIcon, FaPlus as AddIcon, FaAngleDown as AngleDownIcon, FaAngleLeft as AngleLeftIcon, FaAngleRight as AngleRightIcon, FaAngleUp as AngleUpIcon, FaArrowDown as ArrowDownIcon, FaArrowLeft as ArrowLeftIcon, FaArrowRight as ArrowRightIcon, FaArrowUp as ArrowUpIcon, FaCaretDown as CaretDownIcon, FaChartLine as ChartIcon, FaComments as ChatIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaCloud as CloudIcon, FaDollarSign as CostDashboardIcon, FaDocker as DockerIcon, FaCloudDownloadAlt as DownloadIcon, FaEdit as EditIcon, FaRunning as ExecuteWorkflow, FaExpand as ExpandIcon, FaFilter as FilterIcon, FaFlask as FlaskIcon, FaRegFolder as FolderIcon, FaCogs as GearsIcon, FaGlobe as GlobeIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaRegFileImage as ImageIcon, FaKey as KeyIcon, FaLink as LinkIcon, FaLock as LockIcon, FaGlobeAmericas as MarketplaceIcon, FaRegCircle as NotRunningIcon, FaOpenid as OIDCIcon, FaRocket as PartnerIcon, FaKey as PasswordIcon, FaChartPie as PieChartIcon, FaPowerOff as PowerIcon, FaPrint as PrintIcon, FaGlobeAmericas as PublishIcon, FaQrcode as QRCodeIcon, FaLayerGroup as ResourceGroupIcon, FaUndoAlt as RetryIcon, FaSave as SaveIcon, FaList as SchedulerIcon, FaSearch as SearchIcon, FaUsers as SharingIcon, FaCompress as ShrinkIcon, FaDesktop as SnapshotIcon, FaSlack as SlackIcon, FaTerminal as TerminalIcon, FaTimes as TimesIcon, FaQuestionCircle as UserGuideIcon, FaStar as FeaturedIcon, FaUser as UserIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon, } from 'react-icons/fa';
10
+ export { FaApple as AppleIcon, FaArrowsRotate as RefreshArrowsIcon, FaDebian as DebianIcon, FaWandMagicSparkles as CustomizeIcon, FaFilterCircleXmark as FilterClearIcon, FaRegFolderOpen as FolderOpenIcon, FaLocationDot as IpAddressIcon, FaUpRightFromSquare as NewWindowIcon, FaInbox as NotificationInboxIcon, FaRegFilePdf as PdfIcon, } from 'react-icons/fa6';
11
+ export { FiAlertCircle as AlertCircleIcon, FiActivity as HealthMonitoringIcon, FiChevronDown as ChevronDownStrokeIcon, FiClock as ClockIcon, FiHardDrive as DiskIcon, FiDownload as DownloadFileIcon, FiFile as FileIcon, FiFileText as FileTextIcon, FiRotateCcw as HistoryIcon, FiUpload as UploadIcon, FiZap as ZapIcon, } from 'react-icons/fi';
12
+ export { GiSpy as ImpersonateIcon } from 'react-icons/gi';
13
+ export { GoPlus as PlusOutlineIcon, GoSkip as ForbiddenIcon, GoRepoForked as ForkIcon, GoSignOut as SignOutIcon, GoVideo as VideoIcon, } from 'react-icons/go';
14
+ export { GrServerCluster as ClusterIcon, GrCloudComputer as ComputeIcon, GrInbox as InboxIcon, GrTasks as MonitorIcon, GrStorage as StorageIcon, } from 'react-icons/gr';
15
+ export { HiOutlineArchive as ArchiveIcon, HiOutlineClipboardCopy as ClipboardIcon, HiDuplicate as DuplicateIcon, HiCog as GearIcon, HiOutlineHome as HomeIcon, HiServer as ServerIcon, HiQuestionMarkCircle as TooltipIcon, } from 'react-icons/hi';
16
+ import { HiMiniCheckCircle as SuccessIcon } from 'react-icons/hi2';
17
+ export { SuccessIcon };
18
+ export { HiMiniLanguage as LanguageIcon, HiMiniXCircle as FailIcon, HiMiniMinusCircle as SkipIcon, HiSparkles as SparklesIcon, } from 'react-icons/hi2';
19
+ export { ImSpinner5 as RunningIcon } from 'react-icons/im';
20
+ export { IoMdBuild as BuildWorkflowIcon, IoMdClose as CloseIcon, IoIosNotifications as NotificationFillIcon, } from 'react-icons/io';
21
+ export { IoCloudUploadOutline as CloudUploadIcon, IoDocumentTextOutline as DocumentIcon, IoHeart as FavoriteIcon, IoHeartOutline as FavoriteOutlineIcon, IoFileTrayFullOutline as FilesystemIcon, IoInformationCircleOutline as InfoCircleIcon, IoSettingsOutline as SettingsIcon, IoHeartDislike as UnfavoriteIcon, IoWarningOutline as WarningIcon, } from 'react-icons/io5';
22
+ export { LuArrowRight as ArrowRightStrokeIcon, LuBadgeCheck as LicenseIcon, LuCalendar as CalendarIcon, LuCheck as CheckStrokeIcon, LuChevronLeft as ChevronLeftIcon, LuChevronRight as ChevronRightIcon, LuLogs as EventsIcon, LuSettings2 as DisplayIcon, LuExternalLink as ExternalLink, LuEye as EyeIcon, LuEyeOff as EyeOffIcon, LuFolderTree as FolderTreeIcon, LuIdCard as IdCardIcon, LuMail as MailIcon, LuMoon as MoonIcon, LuBrainCircuit as MlIcon, LuShield as ShieldOutlineIcon, LuSheet as SpreadsheetIcon, LuSun as SunIcon, LuX as XStrokeIcon, LuZoomIn as ZoomInIcon, LuZoomOut as ZoomOutIcon, } from 'react-icons/lu';
23
+ export { MdClear as ClearIcon, MdDragHandle as DragHandleIcon, MdInstallDesktop as InstallIcon, MdSmartphone as MFA, MdOutlineMoneyOff as DisableCostIcon, MdOutlineAttachMoney as EnableCostIcon, MdPieChart as QuotaIcon, MdRefresh as RefreshIcon, MdReplay as ReplayIcon, } from 'react-icons/md';
24
+ export { PiArrowBendUpRightBold as OpenInNewGraphIcon, PiPlugsConnectedFill as ConnectIcon, PiRectangleDashed as KubernetesNamespaceIcon, PiShareBold as ShareIcon, } from 'react-icons/pi';
25
+ export { SiAnthropic as AnthropicIcon, SiHelm as HelmIcon, SiKubernetes as KubernetesIcon, SiOpenai as OpenAIIcon, } from 'react-icons/si';
26
+ export { TbAlertTriangleFilled as AlertFillIcon, TbAlertTriangle as AlertIcon, TbApi as APIIcon, TbUserOff as DisableUserIcon, TbUser as EnableUserIcon, TbWorldShare as EndpointIcon, TbEdit as NewChatIcon, TbLayoutSidebarRightCollapse as SidebarCloseIcon, TbLayoutSidebar as SidebarIcon, TbLayoutSidebarLeftCollapse as SidebarOpenIcon, TbWorldWww as SubdomainIcon, TbBrain as ThinkingIcon, TbBuildingTunnel as TunnelIcon, } from 'react-icons/tb';
27
+ export { TiCancel as CancelIcon, TiArrowSortedDown as SortDownIcon, TiArrowUnsorted as SortUnsortedIcon, TiArrowSortedUp as SortUpIcon, } from 'react-icons/ti';
28
+ export { VscPass as CheckMarkIcon, VscLayoutSidebarLeft as EditorIcon, VscJson as JsonIcon, VscChromeMinimize as MinimizeIcon, VscTerminalPowershell as PowershellIcon, VscTerminalPowershell as RunWorkflowIcon, VscSplitHorizontal as SplitIcon, } from 'react-icons/vsc';
29
+ export { FiCopy as CopyIcon, FiX as XIcon } from 'react-icons/fi';
30
+ export { ChartZoomIcon, InfrastructureLayersIcon, ErrorIcon, InfoIcon, MoneyIcon, };
31
+ interface IBaseCheckmarkProps {
32
+ className?: string;
33
+ colored?: boolean;
34
+ }
35
+ export declare function SuccessCheckmark({ className, colored, }: IBaseCheckmarkProps): React.JSX.Element;
36
+ export declare function ErrorCheckmark({ className, colored, }: IBaseCheckmarkProps): React.JSX.Element;
37
+ export declare function LoaderIcon({ className, ...props }: React.SVGProps<SVGSVGElement> & {
38
+ className?: string;
39
+ }): React.JSX.Element;
package/dist/icons.js ADDED
@@ -0,0 +1,38 @@
1
+ import cx from "classnames";
2
+ import { BiBuildings as OrganizationIcon, BiError as ErrorIcon, BiExpandVertical as ExpandVerticalIcon, BiPause as PauseIcon, BiPlay as StartIcon, BiSolidCheckShield as ShieldIcon, BiSolidTrashAlt as TrashIcon, BiStop as StopIcon } from "react-icons/bi";
3
+ import { BsArrowsCollapse as CollapseIcon, BsBucket as BucketIcon, BsCurrencyDollar as MoneyIcon, BsFileEarmarkZip as ZipIcon, BsGrid as GridIcon, BsLayers as InfrastructureLayersIcon, BsMusicNoteBeamed as MusicIcon, BsSearch as SearchOutlineIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, BsZoomIn as ChartZoomIcon } from "react-icons/bs";
4
+ import { FaAmazon as AmazonIcon, FaAngleDown as AngleDownIcon, FaAngleLeft as AngleLeftIcon, FaAngleRight as AngleRightIcon, FaAngleUp as AngleUpIcon, FaArrowDown as ArrowDownIcon, FaArrowLeft as ArrowLeftIcon, FaArrowRight as ArrowRightIcon, FaArrowUp as ArrowUpIcon, FaCaretDown as CaretDownIcon, FaCentos as CentOSIcon, FaChartLine as ChartIcon, FaChartPie as PieChartIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaCircleNotch, FaCloud as CloudIcon, FaCloudDownloadAlt as DownloadIcon, FaCog as CogIcon, FaCogs as GearsIcon, FaComments as ChatIcon, FaCompress as ShrinkIcon, FaDesktop as SnapshotIcon, FaDocker as DockerIcon, FaDollarSign as CostDashboardIcon, FaEdit as EditIcon, FaExclamationTriangle as WarningTriangleIcon, FaExpand as ExpandIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFilter as FilterIcon, FaFlask as FlaskIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGlobe as GlobeIcon, FaGlobeAmericas as MarketplaceIcon, FaGlobeAmericas as PublishIcon, FaImage as ImageSolidIcon, FaInfoCircle as InfoIcon, FaKey as KeyIcon, FaKey as PasswordIcon, FaLayerGroup as ResourceGroupIcon, FaLink as LinkIcon, FaLinux as LinuxIcon, FaList as SchedulerIcon, FaLock as LockIcon, FaOpenid as OIDCIcon, FaPaperclip as AttachmentIcon, FaPlus as AddIcon, FaPowerOff as PowerIcon, FaPrint as PrintIcon, FaQrcode as QRCodeIcon, FaQuestionCircle as UserGuideIcon, FaRedhat as RedHatIcon, FaRegCircle as NotRunningIcon, FaRegFileImage as ImageIcon, FaRegFolder as FolderIcon, FaRobot as RobotIcon, FaRocket as PartnerIcon, FaRunning as ExecuteWorkflow, FaSave as SaveIcon, FaSearch as SearchIcon, FaShieldAlt as ShieldAltIcon, FaSlack as SlackIcon, FaStar as FeaturedIcon, FaStop as StopSolidIcon, FaSuse as SuseIcon, FaTerminal as TerminalIcon, FaTimes as TimesIcon, FaUbuntu as UbuntuIcon, FaUndoAlt as RetryIcon, FaUser as UserIcon, FaUsers as AccessIcon, FaUsers as SharingIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon } from "react-icons/fa";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { AiOutlineRollback as RollbackIcon } from "react-icons/ai";
7
+ import { FaApple as AppleIcon, FaArrowsRotate as RefreshArrowsIcon, FaDebian as DebianIcon, FaFilterCircleXmark as FilterClearIcon, FaInbox as NotificationInboxIcon, FaLocationDot as IpAddressIcon, FaRegFilePdf as PdfIcon, FaRegFolderOpen as FolderOpenIcon, FaUpRightFromSquare as NewWindowIcon, FaWandMagicSparkles as CustomizeIcon } from "react-icons/fa6";
8
+ import { FiActivity as HealthMonitoringIcon, FiAlertCircle as AlertCircleIcon, FiChevronDown as ChevronDownStrokeIcon, FiClock as ClockIcon, FiCopy as CopyIcon, FiDownload as DownloadFileIcon, FiFile as FileIcon, FiFileText as FileTextIcon, FiHardDrive as DiskIcon, FiRotateCcw as HistoryIcon, FiUpload as UploadIcon, FiX as XIcon, FiZap as ZapIcon } from "react-icons/fi";
9
+ import { GiSpy as ImpersonateIcon } from "react-icons/gi";
10
+ import { GoPlus as PlusOutlineIcon, GoRepoForked as ForkIcon, GoSignOut as SignOutIcon, GoSkip as ForbiddenIcon, GoVideo as VideoIcon } from "react-icons/go";
11
+ import { GrCloudComputer as ComputeIcon, GrInbox as InboxIcon, GrServerCluster as ClusterIcon, GrStorage as StorageIcon, GrTasks as MonitorIcon } from "react-icons/gr";
12
+ import { HiCog as GearIcon, HiDuplicate as DuplicateIcon, HiOutlineArchive as ArchiveIcon, HiOutlineClipboardCopy as ClipboardIcon, HiOutlineHome as HomeIcon, HiQuestionMarkCircle as TooltipIcon, HiServer as ServerIcon } from "react-icons/hi";
13
+ import { HiMiniCheckCircle as SuccessIcon, HiMiniLanguage as LanguageIcon, HiMiniMinusCircle as SkipIcon, HiMiniXCircle as FailIcon, HiSparkles as SparklesIcon } from "react-icons/hi2";
14
+ import { ImSpinner5 as RunningIcon } from "react-icons/im";
15
+ import { IoIosNotifications as NotificationFillIcon, IoMdBuild as BuildWorkflowIcon, IoMdClose as CloseIcon } from "react-icons/io";
16
+ import { IoCloudUploadOutline as CloudUploadIcon, IoDocumentTextOutline as DocumentIcon, IoFileTrayFullOutline as FilesystemIcon, IoHeart as FavoriteIcon, IoHeartDislike as UnfavoriteIcon, IoHeartOutline as FavoriteOutlineIcon, IoInformationCircleOutline as InfoCircleIcon, IoSettingsOutline as SettingsIcon, IoWarningOutline as WarningIcon } from "react-icons/io5";
17
+ import { LuArrowRight as ArrowRightStrokeIcon, LuBadgeCheck as LicenseIcon, LuBrainCircuit as MlIcon, LuCalendar as CalendarIcon, LuCheck as CheckStrokeIcon, LuChevronLeft as ChevronLeftIcon, LuChevronRight as ChevronRightIcon, LuExternalLink as ExternalLink, LuEye as EyeIcon, LuEyeOff as EyeOffIcon, LuFolderTree as FolderTreeIcon, LuIdCard as IdCardIcon, LuLogs as EventsIcon, LuMail as MailIcon, LuMoon as MoonIcon, LuSettings2 as DisplayIcon, LuSheet as SpreadsheetIcon, LuShield as ShieldOutlineIcon, LuSun as SunIcon, LuX as XStrokeIcon, LuZoomIn as ZoomInIcon, LuZoomOut as ZoomOutIcon } from "react-icons/lu";
18
+ import { MdClear as ClearIcon, MdDragHandle as DragHandleIcon, MdInstallDesktop as InstallIcon, MdOutlineAttachMoney as EnableCostIcon, MdOutlineMoneyOff as DisableCostIcon, MdPieChart as QuotaIcon, MdRefresh as RefreshIcon, MdReplay as ReplayIcon, MdSmartphone as MFA } from "react-icons/md";
19
+ import { PiArrowBendUpRightBold as OpenInNewGraphIcon, PiPlugsConnectedFill as ConnectIcon, PiRectangleDashed as KubernetesNamespaceIcon, PiShareBold as ShareIcon } from "react-icons/pi";
20
+ import { SiAnthropic as AnthropicIcon, SiHelm as HelmIcon, SiKubernetes as KubernetesIcon, SiOpenai as OpenAIIcon } from "react-icons/si";
21
+ import { TbAlertTriangle as AlertIcon, TbAlertTriangleFilled as AlertFillIcon, TbApi as APIIcon, TbBrain as ThinkingIcon, TbBuildingTunnel as TunnelIcon, TbEdit as NewChatIcon, TbLayoutSidebar as SidebarIcon, TbLayoutSidebarLeftCollapse as SidebarOpenIcon, TbLayoutSidebarRightCollapse as SidebarCloseIcon, TbUser as EnableUserIcon, TbUserOff as DisableUserIcon, TbWorldShare as EndpointIcon, TbWorldWww as SubdomainIcon } from "react-icons/tb";
22
+ import { TiArrowSortedDown as SortDownIcon, TiArrowSortedUp as SortUpIcon, TiArrowUnsorted as SortUnsortedIcon, TiCancel as CancelIcon } from "react-icons/ti";
23
+ import { VscChromeMinimize as MinimizeIcon, VscJson as JsonIcon, VscLayoutSidebarLeft as EditorIcon, VscPass as CheckMarkIcon, VscSplitHorizontal as SplitIcon, VscTerminalPowershell as PowershellIcon, VscTerminalPowershell as RunWorkflowIcon } from "react-icons/vsc";
24
+ //#region src/icons.tsx
25
+ function SuccessCheckmark({ className, colored = true }) {
26
+ return /* @__PURE__ */ jsx(SuccessIcon, { className: cx(colored && "text-green-500", className) });
27
+ }
28
+ function ErrorCheckmark({ className, colored = true }) {
29
+ return /* @__PURE__ */ jsx(ErrorIcon, { className: cx(colored && "text-red-400", className) });
30
+ }
31
+ function LoaderIcon({ className, ...props }) {
32
+ return /* @__PURE__ */ jsx(FaCircleNotch, {
33
+ className: cx("animate-spin", className),
34
+ ...props
35
+ });
36
+ }
37
+ //#endregion
38
+ export { APIIcon, AccessIcon, AddIcon, AlertCircleIcon, AlertFillIcon, AlertIcon, AmazonIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, AnthropicIcon, AppleIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightStrokeIcon, ArrowUpIcon, AttachmentIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CancelIcon, CaretDownIcon, CentOSIcon, ChartIcon, ChartZoomIcon, ChatIcon, CheckIcon, CheckMarkIcon, CheckStrokeIcon, ChevronDownIcon, ChevronDownStrokeIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ClearIcon, ClipboardIcon, ClockIcon, CloseIcon, CloudIcon, CloudUploadIcon, ClusterIcon, CogIcon, CollapseIcon, ComputeIcon, ConnectIcon, CopyIcon, CostDashboardIcon, CustomizeIcon, DebianIcon, DisableCostIcon, DisableUserIcon, DiskIcon, DisplayIcon, DockerIcon, DocumentIcon, DownloadFileIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EditIcon, EditorIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExecuteWorkflow, ExpandIcon, ExpandVerticalIcon, ExternalLink, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileSolidIcon, FileTextIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderSolidIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearIcon, GearsIcon, GitHubIcon, GlobeIcon, GridIcon, HealthMonitoringIcon, HelmIcon, HiddenFalseIcon, HiddenTrueIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImageSolidIcon, ImpersonateIcon, InboxIcon, InfoCircleIcon, InfoIcon, InfrastructureLayersIcon, InstallIcon, IpAddressIcon, JsonIcon, KeyIcon, KubernetesIcon, KubernetesNamespaceIcon, LanguageIcon, LicenseIcon, LinkIcon, LinuxIcon, LoaderIcon, LockIcon, MFA, MailIcon, MarketplaceIcon, MenuIcon, MinimizeIcon, MlIcon, MoneyIcon, MonitorIcon, MoonIcon, MoreIcon, MusicIcon, NewChatIcon, NewWindowIcon, NotRunningIcon, NotificationFillIcon, NotificationInboxIcon, OIDCIcon, OpenAIIcon, OpenInNewGraphIcon, OrganizationIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PdfSolidIcon, PieChartIcon, PinFilledIcon, PinIcon, PlusOutlineIcon, PowerIcon, PowershellIcon, PrintIcon, PublishIcon, QRCodeIcon, QuotaIcon, RedHatIcon, RefreshArrowsIcon, RefreshIcon, ReplayIcon, ResourceGroupIcon, RetryIcon, RobotIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, SaveIcon, SchedulerIcon, SearchIcon, SearchOutlineIcon, ServerIcon, SettingsIcon, ShareIcon, SharingIcon, ShieldAltIcon, ShieldIcon, ShieldOutlineIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignOutIcon, SkipIcon, SlackIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopIcon, StopSolidIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SunIcon, SuseIcon, TerminalIcon, ThinkingIcon, TimesIcon, TooltipIcon, TrashIcon, TunnelIcon, UbuntuIcon, UnfavoriteIcon, UploadIcon, UserGuideIcon, UserIcon, UserWorkspaceFillIcon, UserWorkspaceIcon, UsersIcon, VideoIcon, WarningIcon, WarningTriangleIcon, WindowsIcon, XIcon, XStrokeIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
@@ -0,0 +1,10 @@
1
+ export * from './theme/index.js';
2
+ export { default as Callout } from './components/Callout.js';
3
+ export { default as DescriptionList } from './components/DescriptionList.js';
4
+ export { DescriptionListItem } from './components/DescriptionList.js';
5
+ export { default as EmptyState } from './components/EmptyState.js';
6
+ export { default as Loader } from './components/Loader.js';
7
+ export { default as Modal, type ModalProps } from './components/Modal.js';
8
+ export { StatusBadge, StatusDot } from './components/StatusBadge.js';
9
+ export { CompactTable, Table } from './components/Table.js';
10
+ export { formatTooltipContent, GlobalTooltip, TOOLTIP_ID, TooltipInfo, } from './components/Tooltip.js';