@parallelworks/ui 0.19.1 → 0.21.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 (172) hide show
  1. package/README.md +1 -1
  2. package/dist/ai/adapter/openai/createOpenAIStream.js +3 -2
  3. package/dist/ai/agent/diff.d.ts +0 -1
  4. package/dist/ai/agent/diff.js +3 -2
  5. package/dist/ai/agent/toolfmt.js +2 -3
  6. package/dist/ai/ai.css +5 -0
  7. package/dist/ai/components/AllocationSelector.js +3 -2
  8. package/dist/ai/components/AttachmentManager.js +5 -2
  9. package/dist/ai/components/BranchNavigator.js +4 -2
  10. package/dist/ai/components/ChatInput.d.ts +2 -5
  11. package/dist/ai/components/ChatInput.js +10 -7
  12. package/dist/ai/components/ChatMessage.js +11 -8
  13. package/dist/ai/components/ChatSidebar.d.ts +0 -1
  14. package/dist/ai/components/ChatSidebar.js +4 -6
  15. package/dist/ai/components/ChatThread.js +5 -8
  16. package/dist/ai/components/ModelSelector.js +3 -2
  17. package/dist/ai/components/ShareDialog.js +6 -3
  18. package/dist/ai/components/SlashMenu.d.ts +0 -1
  19. package/dist/ai/components/agent/ActivityLine.d.ts +0 -1
  20. package/dist/ai/components/agent/ActivityLine.js +2 -2
  21. package/dist/ai/components/agent/AgentMessageParts.d.ts +1 -26
  22. package/dist/ai/components/agent/AgentMessageParts.js +4 -5
  23. package/dist/ai/core/ChatProvider.d.ts +2 -6
  24. package/dist/ai/core/ChatProvider.js +42 -67
  25. package/dist/ai/core/KeyboardShortcutsProvider.js +1 -1
  26. package/dist/ai/core/chatReducer.d.ts +0 -6
  27. package/dist/ai/core/chatReducer.js +1 -15
  28. package/dist/ai/core/config.js +2 -1
  29. package/dist/ai/core/useKeyboardShortcuts.d.ts +3 -1
  30. package/dist/ai/core/useKeyboardShortcuts.js +9 -11
  31. package/dist/ai/core/useSSEStream.d.ts +0 -1
  32. package/dist/ai/core/useSSEStream.js +5 -17
  33. package/dist/ai/strings.d.ts +0 -1
  34. package/dist/ai/strings.js +0 -1
  35. package/dist/ai/types.d.ts +1 -1
  36. package/dist/ai/ui/Avatar.d.ts +1 -2
  37. package/dist/ai/ui/Avatar.js +7 -18
  38. package/dist/ai/ui/Markdown.d.ts +1 -3
  39. package/dist/ai/ui/Markdown.js +1 -2
  40. package/dist/ai/ui/sidebar.d.ts +0 -1
  41. package/dist/ai/ui/sidebar.js +3 -1
  42. package/dist/ai/utils.js +1 -1
  43. package/dist/assets/editor.worker-DfmPPyOL.js +60 -0
  44. package/dist/assets/json.worker-Dqgjpq9F.js +92 -0
  45. package/dist/assets/yaml.worker-DLx0whrM.js +1441 -0
  46. package/dist/components/Avatar.js +4 -2
  47. package/dist/components/BareModal.js +1 -5
  48. package/dist/components/Breadcrumbs.js +21 -14
  49. package/dist/components/CollapsiblePanel.d.ts +1 -3
  50. package/dist/components/CollapsiblePanel.js +5 -5
  51. package/dist/components/Dropdown.d.ts +0 -4
  52. package/dist/components/Dropdown.js +5 -6
  53. package/dist/components/Listbox.js +14 -18
  54. package/dist/components/MultiSelect.js +5 -8
  55. package/dist/components/Pagination.js +1 -1
  56. package/dist/components/Provider.d.ts +0 -8
  57. package/dist/components/Provider.js +12 -4
  58. package/dist/components/SwitchToggle.js +3 -5
  59. package/dist/components/Table.d.ts +1 -3
  60. package/dist/components/dropdownUtils.js +5 -6
  61. package/dist/components/relativeTime.d.ts +0 -7
  62. package/dist/components/relativeTime.js +1 -1
  63. package/dist/duration.js +1 -1
  64. package/dist/editor/Editor.d.ts +1 -1
  65. package/dist/editor/Editor.js +1 -1
  66. package/dist/editor/EditorField.d.ts +0 -1
  67. package/dist/editor/EditorField.js +8 -8
  68. package/dist/editor/FormCodePanel.js +14 -20
  69. package/dist/editor/Monaco.js +2 -25
  70. package/dist/editor/workers.d.ts +5 -0
  71. package/dist/editor/workers.js +14 -8
  72. package/dist/editor/yaml.d.ts +9 -1
  73. package/dist/editor/yaml.worker.d.ts +1 -0
  74. package/dist/editor/yamlLanguage.d.ts +6 -0
  75. package/dist/editor/yamlLanguage.js +312 -0
  76. package/dist/file-explorer/FileExplorer.js +60 -60
  77. package/dist/file-explorer/FileExplorerContext.d.ts +1 -2
  78. package/dist/file-explorer/FileExplorerContext.js +92 -125
  79. package/dist/file-explorer/FilePreview/Inline.d.ts +1 -2
  80. package/dist/file-explorer/FilePreview/Inline.js +2 -2
  81. package/dist/file-explorer/FilePreview/Viewer.js +0 -4
  82. package/dist/file-explorer/FilePreview/index.d.ts +1 -2
  83. package/dist/file-explorer/FilePreview/index.js +3 -3
  84. package/dist/file-explorer/FilePreview/parse.d.ts +2 -1
  85. package/dist/file-explorer/FilePreview/useObjectBlobUrl.d.ts +5 -4
  86. package/dist/file-explorer/FilePreview/useObjectBlobUrl.js +23 -36
  87. package/dist/file-explorer/FilePreview/useObjectText.d.ts +1 -2
  88. package/dist/file-explorer/FilePreview/useObjectText.js +5 -7
  89. package/dist/file-explorer/FileRow.js +1 -1
  90. package/dist/file-explorer/FileRowsWindow.d.ts +5 -12
  91. package/dist/file-explorer/FileTable.d.ts +2 -6
  92. package/dist/file-explorer/LoadMoreRow.d.ts +8 -0
  93. package/dist/file-explorer/TreeView.d.ts +0 -1
  94. package/dist/file-explorer/TreeView.js +6 -6
  95. package/dist/file-explorer/helpers.js +2 -4
  96. package/dist/file-explorer/lib/fileExplorer.d.ts +0 -2
  97. package/dist/file-explorer/lib/types.d.ts +0 -1
  98. package/dist/file-explorer/lib/utils.js +15 -20
  99. package/dist/file-explorer/toasts.js +36 -34
  100. package/dist/form/Fields/BooleanField.js +5 -4
  101. package/dist/form/Fields/CheckboxGroupField.js +5 -4
  102. package/dist/form/Fields/ColorField.js +5 -4
  103. package/dist/form/Fields/DropdownField.d.ts +0 -1
  104. package/dist/form/Fields/DropdownField.js +10 -13
  105. package/dist/form/Fields/DurationField.js +2 -2
  106. package/dist/form/Fields/LabelField.js +5 -5
  107. package/dist/form/Fields/MultiDropdownField.d.ts +1 -1
  108. package/dist/form/Fields/MultiDropdownField.js +8 -11
  109. package/dist/form/Fields/NumberField.js +6 -5
  110. package/dist/form/Fields/ObjectField.d.ts +1 -2
  111. package/dist/form/Fields/ObjectField.js +22 -21
  112. package/dist/form/Fields/RadioField.js +4 -3
  113. package/dist/form/Fields/RangeField.js +7 -6
  114. package/dist/form/Fields/StringField.js +2 -1
  115. package/dist/form/Fields/TextAreaField.js +2 -1
  116. package/dist/form/Form.d.ts +7 -8
  117. package/dist/form/Form.js +52 -78
  118. package/dist/form/SpecialTypes/DropdownWrapper.d.ts +0 -2
  119. package/dist/form/SpecialTypes/DropdownWrapper.js +1 -3
  120. package/dist/form/SpecialTypes/FormikCustomDropdown.d.ts +1 -3
  121. package/dist/form/SpecialTypes/FormikCustomDropdown.js +4 -7
  122. package/dist/form/SpecialTypes/FormikCustomInput.js +13 -11
  123. package/dist/form/Wizard/WizardContainer.js +8 -25
  124. package/dist/form/Wizard/WizardNavigation.d.ts +1 -1
  125. package/dist/form/Wizard/WizardNavigation.js +5 -6
  126. package/dist/form/Wizard/WizardStepContent.d.ts +1 -1
  127. package/dist/form/Wizard/WizardStepContent.js +2 -2
  128. package/dist/form/Wizard/WizardStepIndicator.js +7 -17
  129. package/dist/form/Wizard/types.d.ts +4 -46
  130. package/dist/form/Wizard/useWizardState.d.ts +2 -10
  131. package/dist/form/Wizard/useWizardState.js +42 -92
  132. package/dist/form/Wizard/utils.js +6 -11
  133. package/dist/form/lib.js +28 -54
  134. package/dist/form/types/fieldTypes.d.ts +4 -5
  135. package/dist/form/utils/dependentOptions.d.ts +6 -0
  136. package/dist/form/utils/dependentOptions.js +21 -0
  137. package/dist/form/utils/getParentValue.d.ts +2 -1
  138. package/dist/form/utils/getParentValue.js +10 -15
  139. package/dist/form/utils/getValueUsingPath.js +1 -1
  140. package/dist/graph/AnnotationBanner.d.ts +1 -1
  141. package/dist/graph/AnnotationBanner.js +1 -1
  142. package/dist/graph/Collapse.d.ts +3 -3
  143. package/dist/graph/Collapse.js +3 -8
  144. package/dist/graph/DependencyGraph.d.ts +5 -4
  145. package/dist/graph/DependencyGraph.js +172 -222
  146. package/dist/graph/JobSummary.d.ts +10 -8
  147. package/dist/graph/JobSummary.js +13 -13
  148. package/dist/graph/MatrixGroup.d.ts +5 -17
  149. package/dist/graph/MatrixGroup.js +11 -22
  150. package/dist/graph/TreeView.d.ts +1 -3
  151. package/dist/graph/TreeView.js +104 -491
  152. package/dist/graph/types.d.ts +3 -2
  153. package/dist/graph/util.d.ts +5 -0
  154. package/dist/graph/util.js +18 -0
  155. package/dist/icons.d.ts +5 -5
  156. package/dist/icons.js +6 -6
  157. package/dist/index.d.ts +1 -1
  158. package/dist/list/ListViewControls.js +17 -35
  159. package/dist/list/RowContextMenu.js +9 -8
  160. package/dist/list/UserHoverCard.js +5 -5
  161. package/dist/logviewer/LogViewer.js +7 -9
  162. package/dist/logviewer/segments.js +2 -2
  163. package/dist/safeUrl.d.ts +6 -0
  164. package/dist/safeUrl.js +22 -0
  165. package/dist/styles/theme.css +1 -0
  166. package/dist/styles.css +1 -1
  167. package/dist/theme/index.js +5 -5
  168. package/package.json +33 -37
  169. package/dist/ai/ui/buttons.d.ts +0 -1
  170. package/dist/assets/editor.worker-BmHUIVG4.js +0 -14807
  171. package/dist/assets/json.worker-D8bJ92nw.js +0 -22207
  172. package/dist/assets/yaml.worker-C4gyGAko.js +0 -50201
@@ -11,7 +11,7 @@ export interface RunLink {
11
11
  endpoint?: string | undefined;
12
12
  url?: string | undefined;
13
13
  }
14
- export interface WorkflowAnnotation {
14
+ interface WorkflowAnnotation {
15
15
  type?: 'error' | 'warning' | 'notice';
16
16
  message?: string;
17
17
  title?: string;
@@ -32,7 +32,7 @@ export interface WorkflowStep {
32
32
  annotations?: WorkflowAnnotation[];
33
33
  subworkflow?: WorkflowSubworkflow | undefined;
34
34
  }
35
- export interface WorkflowMatrixMeta {
35
+ interface WorkflowMatrixMeta {
36
36
  originaljob: string;
37
37
  index: number;
38
38
  totalingroup: number;
@@ -53,3 +53,4 @@ export interface WorkflowJob {
53
53
  _matrixGroup?: MatrixGroup;
54
54
  }
55
55
  export declare function isJobRecord(value: unknown): value is Record<string, WorkflowJob>;
56
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { WorkflowJob } from './types.js';
2
+ /** A job as people read it: `run_tests` is "Run tests", a matrix member "Build (2/4)". */
3
+ export declare function jobLabel(jobName: string, job?: WorkflowJob): string;
4
+ /** A copy of `set` with `key` added, or removed if it was there. */
5
+ export declare function toggled<T>(set: Set<T>, key: T): Set<T>;
@@ -0,0 +1,18 @@
1
+ //#region src/graph/util.ts
2
+ /** A job as people read it: `run_tests` is "Run tests", a matrix member "Build (2/4)". */
3
+ function jobLabel(jobName, job) {
4
+ const matrix = job?._matrix;
5
+ if (matrix?.originaljob) return `${capitalize(matrix.originaljob)} (${(matrix.index ?? 0) + 1}/${matrix.totalingroup ?? "?"})`;
6
+ return capitalize(jobName).replace(/_/g, " ");
7
+ }
8
+ function capitalize(s) {
9
+ return s.charAt(0).toUpperCase() + s.slice(1);
10
+ }
11
+ /** A copy of `set` with `key` added, or removed if it was there. */
12
+ function toggled(set, key) {
13
+ const next = new Set(set);
14
+ if (!next.delete(key)) next.add(key);
15
+ return next;
16
+ }
17
+ //#endregion
18
+ export { jobLabel, toggled };
package/dist/icons.d.ts CHANGED
@@ -5,12 +5,12 @@ import { FaInfoCircle as InfoIcon } from 'react-icons/fa';
5
5
  export type { IconType } from 'react-icons';
6
6
  export { AiOutlineRollback as RollbackIcon } from 'react-icons/ai';
7
7
  export { BiBell as UnmuteIcon, BiBellOff as MuteIcon, BiBuildings as OrganizationIcon, BiExpandVertical as ExpandVerticalIcon, BiPause as PauseIcon, BiPlay as StartIcon, BiSolidCheckShield as ShieldIcon, BiSolidTrashAlt as TrashIcon, BiStop as StopIcon, } from 'react-icons/bi';
8
- export { BsArrowsCollapse as CollapseIcon, BsBucket as BucketIcon, BsFileEarmarkZip as ZipIcon, BsGrid as GridIcon, BsMusicNoteBeamed as MusicIcon, BsSearch as SearchOutlineIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsStopCircle as StopCircleIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, } from 'react-icons/bs';
9
- export { 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, FaChrome as ChromeIcon, 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, FaEdge as EdgeIcon, FaEdit as EditIcon, FaExclamationTriangle as WarningTriangleIcon, FaExpand as ExpandIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFilter as FilterIcon, FaFirefoxBrowser as FirefoxIcon, FaFlask as FlaskIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGitlab as GitLabIcon, FaGlobe as GlobeIcon, FaGlobeAmericas as MarketplaceIcon, FaGlobeAmericas as PublishIcon, FaImage as ImageSolidIcon, FaKey as KeyIcon, FaKey as PasswordIcon, FaLayerGroup as ResourceGroupIcon, FaLink as LinkIcon, FaLinkedin as LinkedInIcon, FaLinux as LinuxIcon, FaList as SchedulerIcon, FaLock as LockIcon, FaOpenid as OIDCIcon, FaOpera as OperaIcon, 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, FaSafari as SafariIcon, 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';
8
+ export { BsArrowsCollapse as CollapseIcon, BsBank2 as GovernmentIcon, BsBriefcase as BriefcaseIcon, BsBucket as BucketIcon, BsCalendarX as CalendarOffIcon, BsChatLeft as CommentIcon, BsChevronDoubleDown as ChevronDoubleDownIcon, BsChevronDoubleUp as ChevronDoubleUpIcon, BsClipboardCheck as ClipboardCheckIcon, BsDash as MinusIcon, BsFileEarmarkZip as ZipIcon, BsFiles as FilesIcon, BsGeoAlt as MapPinIcon, BsGrid as GridIcon, BsLayoutThreeColumns as ColumnsIcon, BsListUl as ListViewIcon, BsMortarboard as EducationIcon, BsMusicNoteBeamed as MusicIcon, BsOpenai as OpenAIIcon, BsPersonPlus as AddUserIcon, BsSearch as SearchOutlineIcon, BsSend as SendIcon, BsShieldSlash as ShieldOffIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsStopCircle as StopCircleIcon, BsTag as TagIcon, BsTelephone as PhoneIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, } from 'react-icons/bs';
9
+ export { 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, FaBalanceScale as LegalIcon, FaCaretDown as CaretDownIcon, FaCentos as CentOSIcon, FaChartLine as ChartIcon, FaChartPie as PieChartIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaChrome as ChromeIcon, 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, FaEdge as EdgeIcon, FaEdit as EditIcon, FaExclamationTriangle as WarningTriangleIcon, FaExpand as ExpandIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFilter as FilterIcon, FaFirefoxBrowser as FirefoxIcon, FaFlask as FlaskIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGitlab as GitLabIcon, FaGlobe as GlobeIcon, FaGlobeAmericas as MarketplaceIcon, FaGlobeAmericas as PublishIcon, FaImage as ImageSolidIcon, FaKey as KeyIcon, FaKey as PasswordIcon, FaLayerGroup as ResourceGroupIcon, FaLink as LinkIcon, FaLinkedin as LinkedInIcon, FaLinux as LinuxIcon, FaList as SchedulerIcon, FaLock as LockIcon, FaOpenid as OIDCIcon, FaOpera as OperaIcon, 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, FaSafari as SafariIcon, 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, FaUnlink as UnlinkIcon, FaUser as UserIcon, FaUsers as AccessIcon, FaUsers as SharingIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon, } from 'react-icons/fa';
10
10
  export { 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, FaXTwitter as XTwitterIcon, } from 'react-icons/fa6';
11
11
  export { FiActivity as HealthMonitoringIcon, FiAlertCircle as AlertCircleIcon, FiChevronDown as ChevronDownStrokeIcon, FiClock as ClockIcon, FiDownload as DownloadFileIcon, FiFile as FileIcon, FiFileText as FileTextIcon, FiHardDrive as DiskIcon, FiRotateCcw as HistoryIcon, FiUpload as UploadIcon, FiZap as ZapIcon, } from 'react-icons/fi';
12
12
  export { GiSpy as ImpersonateIcon } from 'react-icons/gi';
13
- export { GoPlus as PlusOutlineIcon, GoRepoForked as ForkIcon, GoSignOut as SignOutIcon, GoSkip as ForbiddenIcon, GoVideo as VideoIcon, } from 'react-icons/go';
13
+ export { GoGitCommit as CommitIcon, GoGitPullRequest as PullRequestIcon, GoIssueOpened as IssueIcon, GoPlus as PlusOutlineIcon, GoRepoForked as ForkIcon, GoSignOut as SignOutIcon, GoSkip as ForbiddenIcon, GoVideo as VideoIcon, } from 'react-icons/go';
14
14
  export { GrCloudComputer as ComputeIcon, GrInbox as InboxIcon, GrServerCluster as ClusterIcon, GrStorage as StorageIcon, GrTasks as MonitorIcon, } from 'react-icons/gr';
15
15
  export { 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';
16
16
  import { HiMiniCheckCircle as SuccessIcon } from 'react-icons/hi2';
@@ -19,10 +19,10 @@ export { HiMiniLanguage as LanguageIcon, HiMiniMinusCircle as SkipIcon, HiMiniXC
19
19
  export { ImSpinner5 as RunningIcon } from 'react-icons/im';
20
20
  export { IoIosNotifications as NotificationFillIcon, IoMdBuild as BuildWorkflowIcon, IoMdClose as CloseIcon, } from 'react-icons/io';
21
21
  export { 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';
22
- export { 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, LuMegaphone as MegaphoneIcon, 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';
22
+ export { 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, LuMegaphone as MegaphoneIcon, LuMoon as MoonIcon, LuPartyPopper as CelebrateIcon, 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';
23
23
  export { 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';
24
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';
25
+ export { SiAnthropic as AnthropicIcon, SiHelm as HelmIcon, SiKubernetes as KubernetesIcon, } from 'react-icons/si';
26
26
  export { 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';
27
27
  export { TiArrowSortedDown as SortDownIcon, TiArrowSortedUp as SortUpIcon, TiArrowUnsorted as SortUnsortedIcon, TiCancel as CancelIcon, } from 'react-icons/ti';
28
28
  export { 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';
package/dist/icons.js CHANGED
@@ -1,23 +1,23 @@
1
1
  import cx from "classnames";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { BiBell as UnmuteIcon, BiBellOff as MuteIcon, 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";
4
- 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, BsStopCircle as StopCircleIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, BsZoomIn as ChartZoomIcon } from "react-icons/bs";
5
- 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, FaChrome as ChromeIcon, 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, FaEdge as EdgeIcon, FaEdit as EditIcon, FaExclamationTriangle as WarningTriangleIcon, FaExpand as ExpandIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFilter as FilterIcon, FaFirefoxBrowser as FirefoxIcon, FaFlask as FlaskIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGitlab as GitLabIcon, 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, FaLinkedin as LinkedInIcon, FaLinux as LinuxIcon, FaList as SchedulerIcon, FaLock as LockIcon, FaOpenid as OIDCIcon, FaOpera as OperaIcon, 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, FaSafari as SafariIcon, 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";
4
+ import { BsArrowsCollapse as CollapseIcon, BsBank2 as GovernmentIcon, BsBriefcase as BriefcaseIcon, BsBucket as BucketIcon, BsCalendarX as CalendarOffIcon, BsChatLeft as CommentIcon, BsChevronDoubleDown as ChevronDoubleDownIcon, BsChevronDoubleUp as ChevronDoubleUpIcon, BsClipboardCheck as ClipboardCheckIcon, BsCurrencyDollar as MoneyIcon, BsDash as MinusIcon, BsFileEarmarkZip as ZipIcon, BsFiles as FilesIcon, BsGeoAlt as MapPinIcon, BsGrid as GridIcon, BsLayers as InfrastructureLayersIcon, BsLayoutThreeColumns as ColumnsIcon, BsListUl as ListViewIcon, BsMortarboard as EducationIcon, BsMusicNoteBeamed as MusicIcon, BsOpenai as OpenAIIcon, BsPersonPlus as AddUserIcon, BsSearch as SearchOutlineIcon, BsSend as SendIcon, BsShieldSlash as ShieldOffIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsStopCircle as StopCircleIcon, BsTag as TagIcon, BsTelephone as PhoneIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, BsZoomIn as ChartZoomIcon } from "react-icons/bs";
5
+ 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, FaBalanceScale as LegalIcon, FaCaretDown as CaretDownIcon, FaCentos as CentOSIcon, FaChartLine as ChartIcon, FaChartPie as PieChartIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaChrome as ChromeIcon, 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, FaEdge as EdgeIcon, FaEdit as EditIcon, FaExclamationTriangle as WarningTriangleIcon, FaExpand as ExpandIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFilter as FilterIcon, FaFirefoxBrowser as FirefoxIcon, FaFlask as FlaskIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGitlab as GitLabIcon, 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, FaLinkedin as LinkedInIcon, FaLinux as LinuxIcon, FaList as SchedulerIcon, FaLock as LockIcon, FaOpenid as OIDCIcon, FaOpera as OperaIcon, 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, FaSafari as SafariIcon, 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, FaUnlink as UnlinkIcon, FaUser as UserIcon, FaUsers as AccessIcon, FaUsers as SharingIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon } from "react-icons/fa";
6
6
  import { AiOutlineRollback as RollbackIcon } from "react-icons/ai";
7
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, FaXTwitter as XTwitterIcon } from "react-icons/fa6";
8
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
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";
10
+ import { GoGitCommit as CommitIcon, GoGitPullRequest as PullRequestIcon, GoIssueOpened as IssueIcon, GoPlus as PlusOutlineIcon, GoRepoForked as ForkIcon, GoSignOut as SignOutIcon, GoSkip as ForbiddenIcon, GoVideo as VideoIcon } from "react-icons/go";
11
11
  import { GrCloudComputer as ComputeIcon, GrInbox as InboxIcon, GrServerCluster as ClusterIcon, GrStorage as StorageIcon, GrTasks as MonitorIcon } from "react-icons/gr";
12
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
13
  import { HiMiniCheckCircle as SuccessIcon, HiMiniLanguage as LanguageIcon, HiMiniMinusCircle as SkipIcon, HiMiniXCircle as FailIcon, HiSparkles as SparklesIcon } from "react-icons/hi2";
14
14
  import { ImSpinner5 as RunningIcon } from "react-icons/im";
15
15
  import { IoIosNotifications as NotificationFillIcon, IoMdBuild as BuildWorkflowIcon, IoMdClose as CloseIcon } from "react-icons/io";
16
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, LuMegaphone as MegaphoneIcon, 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";
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, LuMegaphone as MegaphoneIcon, LuMoon as MoonIcon, LuPartyPopper as CelebrateIcon, 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
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
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";
20
+ import { SiAnthropic as AnthropicIcon, SiHelm as HelmIcon, SiKubernetes as KubernetesIcon } from "react-icons/si";
21
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
22
  import { TiArrowSortedDown as SortDownIcon, TiArrowSortedUp as SortUpIcon, TiArrowUnsorted as SortUnsortedIcon, TiCancel as CancelIcon } from "react-icons/ti";
23
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";
@@ -35,4 +35,4 @@ function LoaderIcon({ className, ...props }) {
35
35
  });
36
36
  }
37
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, ChromeIcon, 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, EdgeIcon, EditIcon, EditorIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExecuteWorkflow, ExpandIcon, ExpandVerticalIcon, ExternalLink, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileSolidIcon, FileTextIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FirefoxIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderSolidIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearIcon, GearsIcon, GitHubIcon, GitLabIcon, 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, LinkedInIcon, LinuxIcon, LoaderIcon, LockIcon, MFA, MailIcon, MarketplaceIcon, MegaphoneIcon, MenuIcon, MinimizeIcon, MlIcon, MoneyIcon, MonitorIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NewChatIcon, NewWindowIcon, NotRunningIcon, NotificationFillIcon, NotificationInboxIcon, OIDCIcon, OpenAIIcon, OpenInNewGraphIcon, OperaIcon, 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, SafariIcon, 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, StopCircleIcon, StopIcon, StopSolidIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SunIcon, SuseIcon, TerminalIcon, ThinkingIcon, TimesIcon, TooltipIcon, TrashIcon, TunnelIcon, UbuntuIcon, UnfavoriteIcon, UnmuteIcon, UploadIcon, UserGuideIcon, UserIcon, UserWorkspaceFillIcon, UserWorkspaceIcon, UsersIcon, VideoIcon, WarningIcon, WarningTriangleIcon, WindowsIcon, XIcon, XStrokeIcon, XTwitterIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
38
+ export { APIIcon, AccessIcon, AddIcon, AddUserIcon, AlertCircleIcon, AlertFillIcon, AlertIcon, AmazonIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, AnthropicIcon, AppleIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightStrokeIcon, ArrowUpIcon, AttachmentIcon, BriefcaseIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CalendarOffIcon, CancelIcon, CaretDownIcon, CelebrateIcon, CentOSIcon, ChartIcon, ChartZoomIcon, ChatIcon, CheckIcon, CheckMarkIcon, CheckStrokeIcon, ChevronDoubleDownIcon, ChevronDoubleUpIcon, ChevronDownIcon, ChevronDownStrokeIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChromeIcon, ClearIcon, ClipboardCheckIcon, ClipboardIcon, ClockIcon, CloseIcon, CloudIcon, CloudUploadIcon, ClusterIcon, CogIcon, CollapseIcon, ColumnsIcon, CommentIcon, CommitIcon, ComputeIcon, ConnectIcon, CopyIcon, CostDashboardIcon, CustomizeIcon, DebianIcon, DisableCostIcon, DisableUserIcon, DiskIcon, DisplayIcon, DockerIcon, DocumentIcon, DownloadFileIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EdgeIcon, EditIcon, EditorIcon, EducationIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExecuteWorkflow, ExpandIcon, ExpandVerticalIcon, ExternalLink, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileSolidIcon, FileTextIcon, FilesIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FirefoxIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderSolidIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearIcon, GearsIcon, GitHubIcon, GitLabIcon, GlobeIcon, GovernmentIcon, GridIcon, HealthMonitoringIcon, HelmIcon, HiddenFalseIcon, HiddenTrueIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImageSolidIcon, ImpersonateIcon, InboxIcon, InfoCircleIcon, InfoIcon, InfrastructureLayersIcon, InstallIcon, IpAddressIcon, IssueIcon, JsonIcon, KeyIcon, KubernetesIcon, KubernetesNamespaceIcon, LanguageIcon, LegalIcon, LicenseIcon, LinkIcon, LinkedInIcon, LinuxIcon, ListViewIcon, LoaderIcon, LockIcon, MFA, MailIcon, MapPinIcon, MarketplaceIcon, MegaphoneIcon, MenuIcon, MinimizeIcon, MinusIcon, MlIcon, MoneyIcon, MonitorIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NewChatIcon, NewWindowIcon, NotRunningIcon, NotificationFillIcon, NotificationInboxIcon, OIDCIcon, OpenAIIcon, OpenInNewGraphIcon, OperaIcon, OrganizationIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PdfSolidIcon, PhoneIcon, PieChartIcon, PinFilledIcon, PinIcon, PlusOutlineIcon, PowerIcon, PowershellIcon, PrintIcon, PublishIcon, PullRequestIcon, QRCodeIcon, QuotaIcon, RedHatIcon, RefreshArrowsIcon, RefreshIcon, ReplayIcon, ResourceGroupIcon, RetryIcon, RobotIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, SafariIcon, SaveIcon, SchedulerIcon, SearchIcon, SearchOutlineIcon, SendIcon, ServerIcon, SettingsIcon, ShareIcon, SharingIcon, ShieldAltIcon, ShieldIcon, ShieldOffIcon, ShieldOutlineIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignOutIcon, SkipIcon, SlackIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopCircleIcon, StopIcon, StopSolidIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SunIcon, SuseIcon, TagIcon, TerminalIcon, ThinkingIcon, TimesIcon, TooltipIcon, TrashIcon, TunnelIcon, UbuntuIcon, UnfavoriteIcon, UnlinkIcon, UnmuteIcon, UploadIcon, UserGuideIcon, UserIcon, UserWorkspaceFillIcon, UserWorkspaceIcon, UsersIcon, VideoIcon, WarningIcon, WarningTriangleIcon, WindowsIcon, XIcon, XStrokeIcon, XTwitterIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
package/dist/index.d.ts CHANGED
@@ -31,7 +31,7 @@ export { default as MultiSelectDropdown } from './components/MultiSelect.js';
31
31
  export { Overview } from './components/Overview.js';
32
32
  export { BreadcrumbsActionButton, BreadcrumbsRightAction, BreadcrumbsTitleAction, HeaderActionMenu, HeaderAddButton, HeaderEditButton, HeaderRowMenu, headerActionButtonClasses, PageHeader, type PageHeaderBreadcrumb, type PageHeaderCrumb, } from './components/PageHeader.js';
33
33
  export { Pagination } from './components/Pagination.js';
34
- export { type PersistedStateHook, type RunFileResult, type UIData, type UILinkComponent, type UINavigation, type UINotify, UIProvider, type UISlots, type UIStrings, useNavigation, useNotify, useOptionalWorkflowEngine, usePersistedState, useProvisionCorsRules, useRunFile, useSlots, useStrings, useWorkflowEngine, useWorkflowEngineLoader, type WorkflowEngineSource, } from './components/Provider.js';
34
+ export { type PersistedStateHook, type RunFileResult, type UIData, type UILinkComponent, type UINavigation, type UINotify, UIProvider, type UISlots, type UIStrings, type UIToastId, type UIToastOptions, type UIToastUpdate, useNavigation, useNotify, useOptionalWorkflowEngine, usePersistedState, useProvisionCorsRules, useRunFile, useSlots, useStrings, useWorkflowEngine, useWorkflowEngineLoader, type WorkflowEngineSource, } from './components/Provider.js';
35
35
  export { RequiredMark } from './components/RequiredMark.js';
36
36
  export { useRelativeTime } from './components/relativeTime.js';
37
37
  export { default as SectionHeader } from './components/SectionHeader.js';
@@ -117,7 +117,11 @@ function ListDisplayMenu({ view, label }) {
117
117
  children: [/* @__PURE__ */ jsx("span", {
118
118
  className: "text-[13px] text-(--theme-app)",
119
119
  children: t.grouping
120
- }), /* @__PURE__ */ jsx(GroupingDropdown, { view })]
120
+ }), /* @__PURE__ */ jsx(OptionDropdown, {
121
+ options: view.groupBys,
122
+ value: view.groupBy,
123
+ onSelect: view.setGroupBy
124
+ })]
121
125
  }),
122
126
  view.orderBys.length > 0 && /* @__PURE__ */ jsxs("div", {
123
127
  className: cx("flex items-center justify-between gap-3", hasGrouping && "mt-2.5"),
@@ -133,7 +137,11 @@ function ListDisplayMenu({ view, label }) {
133
137
  title: orderDirLabel,
134
138
  className: "flex h-7 w-7 items-center justify-center rounded-md border border-(--theme-border) text-(--theme-muted-text-color) hover:bg-(--theme-muted-panel-bg) hover:text-(--theme-app)",
135
139
  children: view.orderDir === "asc" ? /* @__PURE__ */ jsx(ChevronUpIcon, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-3 w-3" })
136
- }), /* @__PURE__ */ jsx(OrderingDropdown, { view })]
140
+ }), /* @__PURE__ */ jsx(OptionDropdown, {
141
+ options: view.orderBys,
142
+ value: view.orderBy,
143
+ onSelect: view.setOrderBy
144
+ })]
137
145
  })]
138
146
  }),
139
147
  /* @__PURE__ */ jsxs("div", {
@@ -228,38 +236,12 @@ function useCloseOnOutsideClick(open, close) {
228
236
  }, [open, close]);
229
237
  return ref;
230
238
  }
231
- function GroupingDropdown({ view }) {
232
- const t = useStrings().list;
233
- const [open, setOpen] = useState(false);
234
- const ref = useCloseOnOutsideClick(open, useCallback(() => setOpen(false), []));
235
- const current = view.groupBys.find((g) => g.value === view.groupBy);
236
- return /* @__PURE__ */ jsxs("div", {
237
- ref,
238
- className: "relative",
239
- children: [/* @__PURE__ */ jsxs("button", {
240
- type: "button",
241
- onClick: () => setOpen((o) => !o),
242
- className: "flex items-center gap-1.5 rounded-md border border-(--theme-border) px-2 py-1 text-[12px] text-(--theme-app) hover:bg-(--theme-muted-panel-bg)",
243
- children: [current?.label ?? t.none, /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-2.5 w-2.5 opacity-60" })]
244
- }), open && /* @__PURE__ */ jsx("div", {
245
- className: cx("absolute right-0 top-full z-20 mt-1", FLYOUT),
246
- children: view.groupBys.map((g) => /* @__PURE__ */ jsxs("button", {
247
- type: "button",
248
- onClick: () => {
249
- view.setGroupBy(g.value);
250
- setOpen(false);
251
- },
252
- className: cx("flex w-full items-center justify-between gap-3 px-3 py-1.5 text-left text-[13px] hover:bg-(--theme-muted-panel-bg)", view.groupBy === g.value ? "text-(--theme-app)" : "text-(--theme-muted-text-color)"),
253
- children: [g.label, view.groupBy === g.value && /* @__PURE__ */ jsx(CheckIcon, { className: "h-3 w-3" })]
254
- }, g.value))
255
- })]
256
- });
257
- }
258
- function OrderingDropdown({ view }) {
239
+ /** Single-choice picker for the Display menu's grouping and ordering rows. */
240
+ function OptionDropdown({ options, value, onSelect }) {
259
241
  const t = useStrings().list;
260
242
  const [open, setOpen] = useState(false);
261
243
  const ref = useCloseOnOutsideClick(open, useCallback(() => setOpen(false), []));
262
- const current = view.orderBys.find((o) => o.value === view.orderBy);
244
+ const current = options.find((o) => o.value === value);
263
245
  return /* @__PURE__ */ jsxs("div", {
264
246
  ref,
265
247
  className: "relative",
@@ -270,14 +252,14 @@ function OrderingDropdown({ view }) {
270
252
  children: [current?.label ?? t.none, /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-2.5 w-2.5 opacity-60" })]
271
253
  }), open && /* @__PURE__ */ jsx("div", {
272
254
  className: cx("absolute right-0 top-full z-20 mt-1", FLYOUT),
273
- children: view.orderBys.map((o) => /* @__PURE__ */ jsxs("button", {
255
+ children: options.map((o) => /* @__PURE__ */ jsxs("button", {
274
256
  type: "button",
275
257
  onClick: () => {
276
- view.setOrderBy(o.value);
258
+ onSelect(o.value);
277
259
  setOpen(false);
278
260
  },
279
- className: cx("flex w-full items-center justify-between gap-3 px-3 py-1.5 text-left text-[13px] hover:bg-(--theme-muted-panel-bg)", view.orderBy === o.value ? "text-(--theme-app)" : "text-(--theme-muted-text-color)"),
280
- children: [o.label, view.orderBy === o.value && /* @__PURE__ */ jsx(CheckIcon, { className: "h-3 w-3" })]
261
+ className: cx("flex w-full items-center justify-between gap-3 px-3 py-1.5 text-left text-[13px] hover:bg-(--theme-muted-panel-bg)", value === o.value ? "text-(--theme-app)" : "text-(--theme-muted-text-color)"),
262
+ children: [o.label, value === o.value && /* @__PURE__ */ jsx(CheckIcon, { className: "h-3 w-3" })]
281
263
  }, o.value))
282
264
  })]
283
265
  });
@@ -1,3 +1,4 @@
1
+ import { safeUrl } from "../safeUrl.js";
1
2
  import { useLink, useNotify, useStrings } from "../components/Provider.js";
2
3
  import { CheckIcon, ChevronRightIcon, ClipboardIcon, CopyIcon, IdCardIcon, KeyIcon, LinkIcon, MailIcon, MoreIcon, UserIcon } from "../icons.js";
3
4
  import { keyedByContent } from "../components/keys.js";
@@ -20,7 +21,7 @@ function toRowMenuItem(action) {
20
21
  kind: "action",
21
22
  label: action.label,
22
23
  icon: action.icon,
23
- onSelect: action.onSelect ?? (() => {}),
24
+ onSelect: action.onSelect,
24
25
  disabled: action.disabled,
25
26
  destructive: action.destructive,
26
27
  tooltip: action.tooltip
@@ -237,7 +238,7 @@ function MenuRow({ item, onClose, side }) {
237
238
  if (item.kind === "link") {
238
239
  const className = cx(MENU_ITEM_CLASSES, item.destructive ? "text-red-500" : "text-(--theme-app)");
239
240
  if (item.reloadDocument) return /* @__PURE__ */ jsxs("a", {
240
- href: item.to,
241
+ href: safeUrl(item.to),
241
242
  onClick: onClose,
242
243
  className,
243
244
  children: [item.icon, item.label]
@@ -314,15 +315,15 @@ function useCopySubmenu() {
314
315
  value: e.value,
315
316
  icon: e.icon ?? /* @__PURE__ */ jsx(CopyIcon, {})
316
317
  }))
317
- ].filter((f) => f.value).map((f) => ({
318
+ ].flatMap(({ label, value, icon }) => value ? [{
318
319
  kind: "action",
319
- label: t.copy(f.label),
320
- icon: f.icon,
320
+ label: t.copy(label),
321
+ icon,
321
322
  copy: {
322
- text: f.value,
323
- label: f.label
323
+ text: value,
324
+ label
324
325
  }
325
- }));
326
+ }] : []);
326
327
  return {
327
328
  kind: "submenu",
328
329
  label: t.copyMenu,
@@ -34,11 +34,11 @@ function UserHoverCard({ x, y, onKeepOpen, onLeave, username, name, avatarSrc, b
34
34
  size: "lg",
35
35
  className: "shrink-0"
36
36
  }), /* @__PURE__ */ jsxs("div", {
37
- className: "min-w-0",
37
+ className: "min-w-0 flex-1",
38
38
  children: [/* @__PURE__ */ jsxs("div", {
39
- className: "flex items-center gap-1.5",
39
+ className: "flex flex-wrap items-center gap-x-1.5 gap-y-0.5",
40
40
  children: [/* @__PURE__ */ jsx("span", {
41
- className: "truncate text-sm font-semibold text-(--theme-app)",
41
+ className: "min-w-0 text-sm font-semibold leading-5 wrap-anywhere text-(--theme-app)",
42
42
  children: displayName
43
43
  }), badge && /* @__PURE__ */ jsx("span", {
44
44
  className: "shrink-0 rounded-full bg-(--theme-muted-panel-bg) px-1.5 py-0.5 text-[10px] font-medium leading-none text-(--theme-muted-text-color)",
@@ -58,10 +58,10 @@ function UserHoverCard({ x, y, onKeepOpen, onLeave, username, name, avatarSrc, b
58
58
  onLeave,
59
59
  children: [href ? /* @__PURE__ */ jsx(Link, {
60
60
  to: href,
61
- className: "flex items-center gap-3 transition-opacity hover:opacity-80",
61
+ className: "flex items-start gap-3 transition-opacity hover:opacity-80",
62
62
  children: header
63
63
  }) : /* @__PURE__ */ jsx("div", {
64
- className: "flex items-center gap-3",
64
+ className: "flex items-start gap-3",
65
65
  children: header
66
66
  }), loading ? /* @__PURE__ */ jsxs("div", {
67
67
  role: "status",
@@ -336,15 +336,13 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
336
336
  };
337
337
  scrollAnimationRef.current = requestAnimationFrame(animate);
338
338
  }, []);
339
- const scrollLogViewer = useCallback((location, ref) => {
340
- if (!ref?.current) return;
341
- if (location === "top") ref.current.scroll({
339
+ const scrollToTop = () => {
340
+ logContainerRef.current?.scroll({
342
341
  top: 0,
343
342
  left: 0,
344
343
  behavior: "smooth"
345
344
  });
346
- else smoothScrollToBottom();
347
- }, [smoothScrollToBottom]);
345
+ };
348
346
  useEffect(() => {
349
347
  const container = logContainerRef.current;
350
348
  if (!container || inline) return;
@@ -400,7 +398,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
400
398
  };
401
399
  useEffect(() => {
402
400
  if (!log) return;
403
- const lines = (typeof log === "object" ? JSON.stringify(log) : log.toString()).split("\n");
401
+ const lines = log.split("\n");
404
402
  const cleanedLines = lines[lines.length - 1] === "" ? lines.slice(0, -1) : lines;
405
403
  const isAppending = cleanedLines.length > prevLogLengthRef.current;
406
404
  prevLogLengthRef.current = cleanedLines.length;
@@ -495,7 +493,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
495
493
  const visibleCount = Math.ceil(clientHeight / LINE_HEIGHT) + 40;
496
494
  setVisibleStart(0);
497
495
  setVisibleEnd(Math.min(parsedLog.length, visibleCount));
498
- scrollLogViewer("top", logContainerRef);
496
+ scrollToTop();
499
497
  } else {
500
498
  setVisibleStart(0);
501
499
  setVisibleEnd(50);
@@ -533,7 +531,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
533
531
  type: "button",
534
532
  className: "btn btn-neutral",
535
533
  onClick: () => {
536
- scrollLogViewer("top", logContainerRef);
534
+ scrollToTop();
537
535
  updateFollow(false);
538
536
  },
539
537
  children: [/* @__PURE__ */ jsx(ArrowUpIcon, {}), /* @__PURE__ */ jsx("span", { children: t.top })]
@@ -734,7 +732,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
734
732
  children: copied ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(CheckIcon, { className: "text-green-500 w-3.5 h-3.5" }), /* @__PURE__ */ jsx("span", { children: tCommon.copied })] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(CopyIcon, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ jsx("span", { children: tCommon.copy })] })
735
733
  }),
736
734
  (additionalBottomLeftBarComponents || additionalBottomRightBarComponents) && /* @__PURE__ */ jsxs("div", {
737
- className: cx("flex theme-panel select-none items-center gap-x-2 p-2"),
735
+ className: "flex theme-panel select-none items-center gap-x-2 p-2",
738
736
  children: [/* @__PURE__ */ jsx("div", {
739
737
  className: cx("w-full flex flex-row gap-x-2 items-center", hideExpand && "justify-between"),
740
738
  children: /* @__PURE__ */ jsx("div", {
@@ -31,9 +31,9 @@ function highlightSegments(segments, searchTerm) {
31
31
  if (!searchTerm) return segments;
32
32
  const haystack = segments.map((segment) => segment.content).join("").toLowerCase();
33
33
  const needle = searchTerm.toLowerCase();
34
- if (!haystack.includes(needle)) return segments;
35
- const matchStarts = [];
36
34
  let found = haystack.indexOf(needle);
35
+ if (found === -1) return segments;
36
+ const matchStarts = [];
37
37
  while (found !== -1) {
38
38
  matchStarts.push(found);
39
39
  found = haystack.indexOf(needle, found + needle.length);
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns url when following it cannot run script in the app's origin: a
3
+ * relative path or an http, https or blob URL. Hosts and servers supply these
4
+ * URLs, so a javascript: URL from either would otherwise run when clicked.
5
+ */
6
+ export declare function safeUrl(url: string | null | undefined): string | undefined;
@@ -0,0 +1,22 @@
1
+ //#region src/safeUrl.ts
2
+ var SAFE_PROTOCOLS = /* @__PURE__ */ new Set([
3
+ "http:",
4
+ "https:",
5
+ "blob:"
6
+ ]);
7
+ /**
8
+ * Returns url when following it cannot run script in the app's origin: a
9
+ * relative path or an http, https or blob URL. Hosts and servers supply these
10
+ * URLs, so a javascript: URL from either would otherwise run when clicked.
11
+ */
12
+ function safeUrl(url) {
13
+ if (!url) return;
14
+ try {
15
+ const { protocol } = new URL(url, "https://relative.invalid");
16
+ return SAFE_PROTOCOLS.has(protocol) ? url : void 0;
17
+ } catch {
18
+ return;
19
+ }
20
+ }
21
+ //#endregion
22
+ export { safeUrl };
@@ -124,6 +124,7 @@
124
124
  }
125
125
 
126
126
  .config-tips .multi-line {
127
+ /* biome-ignore lint/complexity/noImportantStyles: must win over the tooltip library's own alignment */
127
128
  text-align: left !important;
128
129
  }
129
130