@parallelworks/ui 0.21.0 → 0.21.1
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/README.md +5 -0
- package/dist/ai/components/AttachmentManager.js +6 -4
- package/dist/ai/components/AttachmentUpload.js +11 -7
- package/dist/ai/components/BlockedGroupBanner.js +2 -2
- package/dist/ai/components/BranchNavigator.js +4 -3
- package/dist/ai/components/ChatEmptyState.js +8 -5
- package/dist/ai/components/ChatInput.js +6 -4
- package/dist/ai/components/ChatMessage.js +18 -10
- package/dist/ai/components/ChatMessageList.js +4 -3
- package/dist/ai/components/ChatSidebar.js +18 -10
- package/dist/ai/components/ChatThread.js +4 -3
- package/dist/ai/components/ComposerChrome.js +2 -2
- package/dist/ai/components/ModelSelector.js +17 -12
- package/dist/ai/components/ShareDialog.js +4 -3
- package/dist/ai/components/agent/ActivityLine.js +3 -2
- package/dist/ai/components/agent/AgentMessageParts.js +9 -7
- package/dist/ai/ui/Dropdown.js +2 -2
- package/dist/ai/ui/Notice.js +5 -3
- package/dist/ai/ui/sidebar.js +2 -2
- package/dist/components/Button.js +3 -2
- package/dist/components/Callout.js +4 -3
- package/dist/components/CollapsiblePanel.js +2 -2
- package/dist/components/CopyToClipboard.js +8 -4
- package/dist/components/CreateModal.js +11 -7
- package/dist/components/Dropdown.js +2 -2
- package/dist/components/Filter.js +2 -2
- package/dist/components/Indicator.js +14 -9
- package/dist/components/Input.js +6 -4
- package/dist/components/Listbox.js +2 -2
- package/dist/components/Loader.js +1 -1
- package/dist/components/PageHeader.js +10 -7
- package/dist/components/Sort.js +6 -4
- package/dist/components/StatusIcons.d.ts +11 -0
- package/dist/components/StatusIcons.js +20 -0
- package/dist/components/Tooltip.js +3 -3
- package/dist/components/dropdownUtils.js +2 -2
- package/dist/editor/FormCodePanel.js +6 -3
- package/dist/file-explorer/FileExplorer.js +38 -23
- package/dist/file-explorer/FilePreview/Inline.js +2 -2
- package/dist/file-explorer/FilePreview/StreamedBadge.js +2 -2
- package/dist/file-explorer/FilePreview/Viewer.js +14 -10
- package/dist/file-explorer/FilePreview/index.js +17 -10
- package/dist/file-explorer/FileRow.js +2 -2
- package/dist/file-explorer/FileRowsWindow.js +3 -2
- package/dist/file-explorer/TreeView.js +5 -3
- package/dist/file-explorer/helpers.js +43 -29
- package/dist/file-explorer/toasts.js +18 -11
- package/dist/form/Form.js +4 -3
- package/dist/form/SpecialTypes/FormikCustomInput.js +3 -2
- package/dist/graph/AnnotationBanner.js +9 -5
- package/dist/graph/DependencyGraph.js +6 -4
- package/dist/graph/JobSummary.js +4 -3
- package/dist/graph/TreeView.js +3 -2
- package/dist/icons/ai/AiOutlineRollback.js +16 -0
- package/dist/icons/bi/BiBell.js +16 -0
- package/dist/icons/bi/BiBellOff.js +16 -0
- package/dist/icons/bi/BiBuildings.js +20 -0
- package/dist/icons/bi/BiError.js +20 -0
- package/dist/icons/bi/BiExpandVertical.js +16 -0
- package/dist/icons/bi/BiPause.js +16 -0
- package/dist/icons/bi/BiPlay.js +16 -0
- package/dist/icons/bi/BiSolidCheckShield.js +16 -0
- package/dist/icons/bi/BiSolidTrashAlt.js +16 -0
- package/dist/icons/bi/BiStop.js +16 -0
- package/dist/icons/bs/BsArrowsCollapse.js +22 -0
- package/dist/icons/bs/BsBank2.js +19 -0
- package/dist/icons/bs/BsBriefcase.js +19 -0
- package/dist/icons/bs/BsBucket.js +19 -0
- package/dist/icons/bs/BsCalendarX.js +23 -0
- package/dist/icons/bs/BsChatLeft.js +19 -0
- package/dist/icons/bs/BsChevronDoubleDown.js +29 -0
- package/dist/icons/bs/BsChevronDoubleUp.js +29 -0
- package/dist/icons/bs/BsClipboardCheck.js +34 -0
- package/dist/icons/bs/BsCurrencyDollar.js +19 -0
- package/dist/icons/bs/BsDash.js +19 -0
- package/dist/icons/bs/BsFileEarmarkZip.js +23 -0
- package/dist/icons/bs/BsFiles.js +19 -0
- package/dist/icons/bs/BsGeoAlt.js +23 -0
- package/dist/icons/bs/BsGrid.js +19 -0
- package/dist/icons/bs/BsLayers.js +19 -0
- package/dist/icons/bs/BsLayoutThreeColumns.js +19 -0
- package/dist/icons/bs/BsListUl.js +22 -0
- package/dist/icons/bs/BsMortarboard.js +23 -0
- package/dist/icons/bs/BsMusicNoteBeamed.js +34 -0
- package/dist/icons/bs/BsOpenai.js +19 -0
- package/dist/icons/bs/BsPersonPlus.js +26 -0
- package/dist/icons/bs/BsSearch.js +19 -0
- package/dist/icons/bs/BsSend.js +19 -0
- package/dist/icons/bs/BsShieldSlash.js +22 -0
- package/dist/icons/bs/BsStar.js +19 -0
- package/dist/icons/bs/BsStarFill.js +19 -0
- package/dist/icons/bs/BsStopCircle.js +23 -0
- package/dist/icons/bs/BsTag.js +23 -0
- package/dist/icons/bs/BsTelephone.js +19 -0
- package/dist/icons/bs/BsTerminal.js +23 -0
- package/dist/icons/bs/BsTerminalFill.js +19 -0
- package/dist/icons/bs/BsThreeDots.js +19 -0
- package/dist/icons/bs/BsThreeDotsVertical.js +19 -0
- package/dist/icons/bs/BsZoomIn.js +37 -0
- package/dist/icons/fa/FaAmazon.js +16 -0
- package/dist/icons/fa/FaAngleDown.js +16 -0
- package/dist/icons/fa/FaAngleLeft.js +16 -0
- package/dist/icons/fa/FaAngleRight.js +16 -0
- package/dist/icons/fa/FaAngleUp.js +16 -0
- package/dist/icons/fa/FaArrowDown.js +16 -0
- package/dist/icons/fa/FaArrowLeft.js +16 -0
- package/dist/icons/fa/FaArrowRight.js +16 -0
- package/dist/icons/fa/FaArrowUp.js +16 -0
- package/dist/icons/fa/FaBalanceScale.js +16 -0
- package/dist/icons/fa/FaCaretDown.js +16 -0
- package/dist/icons/fa/FaCentos.js +16 -0
- package/dist/icons/fa/FaChartLine.js +16 -0
- package/dist/icons/fa/FaChartPie.js +16 -0
- package/dist/icons/fa/FaCheck.js +16 -0
- package/dist/icons/fa/FaChevronDown.js +16 -0
- package/dist/icons/fa/FaChevronUp.js +16 -0
- package/dist/icons/fa/FaChrome.js +16 -0
- package/dist/icons/fa/FaCircleNotch.js +16 -0
- package/dist/icons/fa/FaCloud.js +16 -0
- package/dist/icons/fa/FaCloudDownloadAlt.js +16 -0
- package/dist/icons/fa/FaCog.js +16 -0
- package/dist/icons/fa/FaCogs.js +16 -0
- package/dist/icons/fa/FaComments.js +16 -0
- package/dist/icons/fa/FaCompress.js +16 -0
- package/dist/icons/fa/FaDesktop.js +16 -0
- package/dist/icons/fa/FaDocker.js +16 -0
- package/dist/icons/fa/FaDollarSign.js +16 -0
- package/dist/icons/fa/FaEdge.js +16 -0
- package/dist/icons/fa/FaEdit.js +16 -0
- package/dist/icons/fa/FaExclamationTriangle.js +16 -0
- package/dist/icons/fa/FaExpand.js +16 -0
- package/dist/icons/fa/FaEye.js +16 -0
- package/dist/icons/fa/FaEyeSlash.js +16 -0
- package/dist/icons/fa/FaFile.js +16 -0
- package/dist/icons/fa/FaFilePdf.js +16 -0
- package/dist/icons/fa/FaFilter.js +16 -0
- package/dist/icons/fa/FaFirefoxBrowser.js +16 -0
- package/dist/icons/fa/FaFlask.js +16 -0
- package/dist/icons/fa/FaFolder.js +16 -0
- package/dist/icons/fa/FaGithub.js +16 -0
- package/dist/icons/fa/FaGitlab.js +16 -0
- package/dist/icons/fa/FaGlobe.js +16 -0
- package/dist/icons/fa/FaGlobeAmericas.js +16 -0
- package/dist/icons/fa/FaImage.js +16 -0
- package/dist/icons/fa/FaInfoCircle.js +16 -0
- package/dist/icons/fa/FaKey.js +16 -0
- package/dist/icons/fa/FaLayerGroup.js +16 -0
- package/dist/icons/fa/FaLink.js +16 -0
- package/dist/icons/fa/FaLinkedin.js +16 -0
- package/dist/icons/fa/FaLinux.js +16 -0
- package/dist/icons/fa/FaList.js +16 -0
- package/dist/icons/fa/FaLock.js +16 -0
- package/dist/icons/fa/FaOpenid.js +16 -0
- package/dist/icons/fa/FaOpera.js +16 -0
- package/dist/icons/fa/FaPaperclip.js +16 -0
- package/dist/icons/fa/FaPlus.js +16 -0
- package/dist/icons/fa/FaPowerOff.js +16 -0
- package/dist/icons/fa/FaPrint.js +16 -0
- package/dist/icons/fa/FaQrcode.js +16 -0
- package/dist/icons/fa/FaQuestionCircle.js +16 -0
- package/dist/icons/fa/FaRedhat.js +16 -0
- package/dist/icons/fa/FaRegCircle.js +16 -0
- package/dist/icons/fa/FaRegFileImage.js +16 -0
- package/dist/icons/fa/FaRegFolder.js +16 -0
- package/dist/icons/fa/FaRobot.js +16 -0
- package/dist/icons/fa/FaRocket.js +16 -0
- package/dist/icons/fa/FaRunning.js +16 -0
- package/dist/icons/fa/FaSafari.js +16 -0
- package/dist/icons/fa/FaSave.js +16 -0
- package/dist/icons/fa/FaSearch.js +16 -0
- package/dist/icons/fa/FaShieldAlt.js +16 -0
- package/dist/icons/fa/FaSlack.js +16 -0
- package/dist/icons/fa/FaStar.js +16 -0
- package/dist/icons/fa/FaStop.js +16 -0
- package/dist/icons/fa/FaSuse.js +16 -0
- package/dist/icons/fa/FaTerminal.js +16 -0
- package/dist/icons/fa/FaTimes.js +16 -0
- package/dist/icons/fa/FaUbuntu.js +16 -0
- package/dist/icons/fa/FaUndoAlt.js +16 -0
- package/dist/icons/fa/FaUnlink.js +16 -0
- package/dist/icons/fa/FaUser.js +16 -0
- package/dist/icons/fa/FaUsers.js +16 -0
- package/dist/icons/fa/FaWindows.js +16 -0
- package/dist/icons/fa6/FaApple.js +16 -0
- package/dist/icons/fa6/FaArrowsRotate.js +16 -0
- package/dist/icons/fa6/FaDebian.js +16 -0
- package/dist/icons/fa6/FaFilterCircleXmark.js +16 -0
- package/dist/icons/fa6/FaInbox.js +16 -0
- package/dist/icons/fa6/FaLocationDot.js +16 -0
- package/dist/icons/fa6/FaRegFilePdf.js +16 -0
- package/dist/icons/fa6/FaRegFolderOpen.js +16 -0
- package/dist/icons/fa6/FaUpRightFromSquare.js +16 -0
- package/dist/icons/fa6/FaWandMagicSparkles.js +16 -0
- package/dist/icons/fa6/FaXTwitter.js +16 -0
- package/dist/icons/fi/FiActivity.js +23 -0
- package/dist/icons/fi/FiAlertCircle.js +49 -0
- package/dist/icons/fi/FiChevronDown.js +23 -0
- package/dist/icons/fi/FiClock.js +31 -0
- package/dist/icons/fi/FiCopy.js +34 -0
- package/dist/icons/fi/FiDownload.js +40 -0
- package/dist/icons/fi/FiFile.js +27 -0
- package/dist/icons/fi/FiFileText.js +55 -0
- package/dist/icons/fi/FiHardDrive.js +55 -0
- package/dist/icons/fi/FiRotateCcw.js +27 -0
- package/dist/icons/fi/FiUpload.js +40 -0
- package/dist/icons/fi/FiX.js +37 -0
- package/dist/icons/fi/FiZap.js +23 -0
- package/dist/icons/gi/GiSpy.js +16 -0
- package/dist/icons/go/GoGitCommit.js +16 -0
- package/dist/icons/go/GoGitPullRequest.js +20 -0
- package/dist/icons/go/GoIssueOpened.js +16 -0
- package/dist/icons/go/GoPlus.js +16 -0
- package/dist/icons/go/GoRepoForked.js +28 -0
- package/dist/icons/go/GoSignOut.js +16 -0
- package/dist/icons/go/GoSkip.js +20 -0
- package/dist/icons/go/GoVideo.js +20 -0
- package/dist/icons/gr/GrCloudComputer.js +20 -0
- package/dist/icons/gr/GrInbox.js +20 -0
- package/dist/icons/gr/GrServerCluster.js +20 -0
- package/dist/icons/gr/GrStorage.js +20 -0
- package/dist/icons/gr/GrTasks.js +20 -0
- package/dist/icons/hi/HiCog.js +24 -0
- package/dist/icons/hi/HiDuplicate.js +24 -0
- package/dist/icons/hi/HiOutlineArchive.js +26 -0
- package/dist/icons/hi/HiOutlineClipboardCopy.js +26 -0
- package/dist/icons/hi/HiOutlineHome.js +26 -0
- package/dist/icons/hi/HiQuestionMarkCircle.js +24 -0
- package/dist/icons/hi/HiServer.js +24 -0
- package/dist/icons/hi2/HiMiniCheckCircle.js +24 -0
- package/dist/icons/hi2/HiMiniLanguage.js +28 -0
- package/dist/icons/hi2/HiMiniMinusCircle.js +24 -0
- package/dist/icons/hi2/HiMiniXCircle.js +24 -0
- package/dist/icons/hi2/HiSparkles.js +24 -0
- package/dist/icons/im/ImSpinner5.js +19 -0
- package/dist/icons/io/IoIosNotifications.js +16 -0
- package/dist/icons/io/IoMdBuild.js +16 -0
- package/dist/icons/io/IoMdClose.js +16 -0
- package/dist/icons/io5/IoCloudUploadOutline.js +32 -0
- package/dist/icons/io5/IoDocumentTextOutline.js +31 -0
- package/dist/icons/io5/IoFileTrayFullOutline.js +31 -0
- package/dist/icons/io5/IoHeart.js +16 -0
- package/dist/icons/io5/IoHeartDislike.js +16 -0
- package/dist/icons/io5/IoHeartOutline.js +22 -0
- package/dist/icons/io5/IoInformationCircleOutline.js +50 -0
- package/dist/icons/io5/IoSettingsOutline.js +22 -0
- package/dist/icons/io5/IoWarningOutline.js +40 -0
- package/dist/icons/lu/LuArrowRight.js +27 -0
- package/dist/icons/lu/LuBadgeCheck.js +27 -0
- package/dist/icons/lu/LuBrainCircuit.js +101 -0
- package/dist/icons/lu/LuCalendar.js +46 -0
- package/dist/icons/lu/LuCheck.js +23 -0
- package/dist/icons/lu/LuChevronLeft.js +23 -0
- package/dist/icons/lu/LuChevronRight.js +23 -0
- package/dist/icons/lu/LuExternalLink.js +35 -0
- package/dist/icons/lu/LuEye.js +31 -0
- package/dist/icons/lu/LuEyeOff.js +40 -0
- package/dist/icons/lu/LuFolderTree.js +40 -0
- package/dist/icons/lu/LuIdCard.js +55 -0
- package/dist/icons/lu/LuLogs.js +65 -0
- package/dist/icons/lu/LuMail.js +33 -0
- package/dist/icons/lu/LuMegaphone.js +27 -0
- package/dist/icons/lu/LuMoon.js +23 -0
- package/dist/icons/lu/LuPartyPopper.js +65 -0
- package/dist/icons/lu/LuSettings2.js +48 -0
- package/dist/icons/lu/LuSheet.js +72 -0
- package/dist/icons/lu/LuShield.js +23 -0
- package/dist/icons/lu/LuSun.js +69 -0
- package/dist/icons/lu/LuX.js +27 -0
- package/dist/icons/lu/LuZoomIn.js +59 -0
- package/dist/icons/lu/LuZoomOut.js +49 -0
- package/dist/icons/md/MdClear.js +23 -0
- package/dist/icons/md/MdDragHandle.js +23 -0
- package/dist/icons/md/MdInstallDesktop.js +31 -0
- package/dist/icons/md/MdOutlineAttachMoney.js +23 -0
- package/dist/icons/md/MdOutlineMoneyOff.js +23 -0
- package/dist/icons/md/MdPieChart.js +23 -0
- package/dist/icons/md/MdRefresh.js +23 -0
- package/dist/icons/md/MdReplay.js +23 -0
- package/dist/icons/md/MdSmartphone.js +23 -0
- package/dist/icons/pi/PiArrowBendUpRightBold.js +19 -0
- package/dist/icons/pi/PiPlugsConnectedFill.js +19 -0
- package/dist/icons/pi/PiRectangleDashed.js +19 -0
- package/dist/icons/pi/PiShareBold.js +19 -0
- package/dist/icons/si/SiAnthropic.js +19 -0
- package/dist/icons/si/SiHelm.js +19 -0
- package/dist/icons/si/SiKubernetes.js +19 -0
- package/dist/icons/tb/TbAlertTriangle.js +35 -0
- package/dist/icons/tb/TbAlertTriangleFilled.js +19 -0
- package/dist/icons/tb/TbApi.js +40 -0
- package/dist/icons/tb/TbBrain.js +50 -0
- package/dist/icons/tb/TbBuildingTunnel.js +65 -0
- package/dist/icons/tb/TbEdit.js +35 -0
- package/dist/icons/tb/TbLayoutSidebar.js +27 -0
- package/dist/icons/tb/TbLayoutSidebarLeftCollapse.js +35 -0
- package/dist/icons/tb/TbLayoutSidebarRightCollapse.js +35 -0
- package/dist/icons/tb/TbUser.js +27 -0
- package/dist/icons/tb/TbUserOff.js +35 -0
- package/dist/icons/tb/TbWorldShare.js +55 -0
- package/dist/icons/tb/TbWorldWww.js +65 -0
- package/dist/icons/ti/TiArrowSortedDown.js +20 -0
- package/dist/icons/ti/TiArrowSortedUp.js +20 -0
- package/dist/icons/ti/TiArrowUnsorted.js +20 -0
- package/dist/icons/ti/TiCancel.js +20 -0
- package/dist/icons/vsc/VscChromeMinimize.js +19 -0
- package/dist/icons/vsc/VscJson.js +19 -0
- package/dist/icons/vsc/VscLayoutSidebarLeft.js +19 -0
- package/dist/icons/vsc/VscPass.js +27 -0
- package/dist/icons/vsc/VscSplitHorizontal.js +19 -0
- package/dist/icons/vsc/VscTerminalPowershell.js +19 -0
- package/dist/icons.d.ts +6 -21
- package/dist/icons.js +257 -38
- package/dist/list/ActionToolbar.js +2 -2
- package/dist/list/ListPager.js +4 -3
- package/dist/list/ListTable.js +2 -2
- package/dist/list/ListViewControls.js +13 -8
- package/dist/list/RowContextMenu.js +21 -12
- package/dist/list/listSearch.js +6 -5
- package/dist/logviewer/LogViewer.js +21 -11
- package/package.json +1 -1
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import { safeUrl } from "../safeUrl.js";
|
|
2
2
|
import { useNotify, useSlots, useStrings } from "../components/Provider.js";
|
|
3
|
-
import {
|
|
3
|
+
import { BiSolidTrashAlt } from "../icons/bi/BiSolidTrashAlt.js";
|
|
4
|
+
import { BsArrowsCollapse } from "../icons/bs/BsArrowsCollapse.js";
|
|
5
|
+
import { FaAngleDown } from "../icons/fa/FaAngleDown.js";
|
|
6
|
+
import { FaLink } from "../icons/fa/FaLink.js";
|
|
7
|
+
import { FaRegFolder } from "../icons/fa/FaRegFolder.js";
|
|
8
|
+
import { FaUsers } from "../icons/fa/FaUsers.js";
|
|
9
|
+
import { FiDownload } from "../icons/fi/FiDownload.js";
|
|
10
|
+
import { FiFile } from "../icons/fi/FiFile.js";
|
|
11
|
+
import { FiFileText } from "../icons/fi/FiFileText.js";
|
|
12
|
+
import { FiUpload } from "../icons/fi/FiUpload.js";
|
|
13
|
+
import { HiOutlineClipboardCopy } from "../icons/hi/HiOutlineClipboardCopy.js";
|
|
14
|
+
import { LuChevronRight } from "../icons/lu/LuChevronRight.js";
|
|
15
|
+
import { LuEye } from "../icons/lu/LuEye.js";
|
|
16
|
+
import { MdRefresh } from "../icons/md/MdRefresh.js";
|
|
17
|
+
import { PiShareBold } from "../icons/pi/PiShareBold.js";
|
|
18
|
+
import { TbAlertTriangle } from "../icons/tb/TbAlertTriangle.js";
|
|
4
19
|
import { keyedByContent } from "../components/keys.js";
|
|
5
20
|
import { TOOLTIP_ID, TooltipInfo } from "../components/Tooltip.js";
|
|
6
21
|
import { ConfirmModal } from "../components/ConfirmModal.js";
|
|
@@ -51,7 +66,7 @@ function UriCard({ value }) {
|
|
|
51
66
|
/* @__PURE__ */ jsx("span", {
|
|
52
67
|
className: "shrink-0 inline-flex items-center justify-center px-3 border-l theme-border theme-muted-text group-hover:text-(--theme-link) group-hover:bg-(--theme-link)/5 transition-colors duration-150",
|
|
53
68
|
title: t.chrome.copyToClipboard,
|
|
54
|
-
children: /* @__PURE__ */ jsx(
|
|
69
|
+
children: /* @__PURE__ */ jsx(HiOutlineClipboardCopy, { className: "h-3.5 w-3.5" })
|
|
55
70
|
})
|
|
56
71
|
]
|
|
57
72
|
});
|
|
@@ -555,7 +570,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
555
570
|
return [{
|
|
556
571
|
key: "create-folder",
|
|
557
572
|
label: t.createFolder.action,
|
|
558
|
-
icon: /* @__PURE__ */ jsx(
|
|
573
|
+
icon: /* @__PURE__ */ jsx(FaRegFolder, {}),
|
|
559
574
|
onSelect: () => openCreateFolder(node)
|
|
560
575
|
}];
|
|
561
576
|
};
|
|
@@ -569,20 +584,20 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
569
584
|
if (isFile && canPreview(node)) actions.push({
|
|
570
585
|
key: "preview",
|
|
571
586
|
label: t.preview.preview,
|
|
572
|
-
icon: /* @__PURE__ */ jsx(
|
|
587
|
+
icon: /* @__PURE__ */ jsx(LuEye, {}),
|
|
573
588
|
onSelect: () => openPreview(node)
|
|
574
589
|
});
|
|
575
590
|
if (isFile) {
|
|
576
591
|
actions.push({
|
|
577
592
|
key: "download",
|
|
578
593
|
label: t.preview.download,
|
|
579
|
-
icon: /* @__PURE__ */ jsx(
|
|
594
|
+
icon: /* @__PURE__ */ jsx(FiDownload, {}),
|
|
580
595
|
onSelect: () => downloadNode(node)
|
|
581
596
|
});
|
|
582
597
|
if (nodeCanShare) actions.push({
|
|
583
598
|
key: "share",
|
|
584
599
|
label: t.preview.shareFile,
|
|
585
|
-
icon: /* @__PURE__ */ jsx(
|
|
600
|
+
icon: /* @__PURE__ */ jsx(PiShareBold, {}),
|
|
586
601
|
onSelect: () => onShareFileButtonClick(node)
|
|
587
602
|
});
|
|
588
603
|
}
|
|
@@ -590,20 +605,20 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
590
605
|
if (nodeCanWrite && !node.root) actions.push({
|
|
591
606
|
key: "delete",
|
|
592
607
|
label: t.preview.delete,
|
|
593
|
-
icon: /* @__PURE__ */ jsx(
|
|
608
|
+
icon: /* @__PURE__ */ jsx(BiSolidTrashAlt, {}),
|
|
594
609
|
destructive: true,
|
|
595
610
|
onSelect: () => deleteNode(node)
|
|
596
611
|
});
|
|
597
612
|
const lead = [{
|
|
598
613
|
kind: "action",
|
|
599
614
|
label: isFile ? t.preview.viewDetails : t.preview.openFolder,
|
|
600
|
-
icon: isFile ? /* @__PURE__ */ jsx(
|
|
615
|
+
icon: isFile ? /* @__PURE__ */ jsx(FiFileText, {}) : /* @__PURE__ */ jsx(FaRegFolder, {}),
|
|
601
616
|
onSelect: () => handleSelectTreeItem(node.path, node)
|
|
602
617
|
}];
|
|
603
618
|
const uriExtras = uris.map((value) => ({
|
|
604
619
|
label: `${getUriScheme(value).toUpperCase()} URI`,
|
|
605
620
|
value,
|
|
606
|
-
icon: /* @__PURE__ */ jsx(
|
|
621
|
+
icon: /* @__PURE__ */ jsx(FaLink, {})
|
|
607
622
|
}));
|
|
608
623
|
return assembleRowMenu({
|
|
609
624
|
lead,
|
|
@@ -639,7 +654,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
639
654
|
const label = node.displayName || node.name;
|
|
640
655
|
return /* @__PURE__ */ jsxs("span", {
|
|
641
656
|
className: "flex min-w-0 items-center gap-1",
|
|
642
|
-
children: [i > 0 && /* @__PURE__ */ jsx(
|
|
657
|
+
children: [i > 0 && /* @__PURE__ */ jsx(LuChevronRight, { className: "h-3 w-3 shrink-0 text-(--theme-muted-text-color)" }), isLast ? /* @__PURE__ */ jsx("span", {
|
|
643
658
|
className: "truncate font-semibold text-(--theme-app)",
|
|
644
659
|
children: label
|
|
645
660
|
}) : /* @__PURE__ */ jsx("button", {
|
|
@@ -884,7 +899,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
884
899
|
"data-tooltip-class-name": "z-50",
|
|
885
900
|
className: "inline-flex items-center justify-center h-7 w-7 rounded-md cursor-pointer theme-muted-text hover:theme-text hover:theme-hover transition-colors duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-(--theme-link)",
|
|
886
901
|
onClick: () => handleRefresh(),
|
|
887
|
-
children: /* @__PURE__ */ jsx(
|
|
902
|
+
children: /* @__PURE__ */ jsx(MdRefresh, { className: "h-3.5 w-3.5" })
|
|
888
903
|
}), /* @__PURE__ */ jsx("button", {
|
|
889
904
|
type: "button",
|
|
890
905
|
"aria-label": t.chrome.collapse,
|
|
@@ -893,7 +908,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
893
908
|
"data-tooltip-class-name": "z-50",
|
|
894
909
|
className: "inline-flex items-center justify-center h-7 w-7 rounded-md cursor-pointer theme-muted-text hover:theme-text hover:theme-hover transition-colors duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-(--theme-link)",
|
|
895
910
|
onClick: collapseAll,
|
|
896
|
-
children: /* @__PURE__ */ jsx(
|
|
911
|
+
children: /* @__PURE__ */ jsx(BsArrowsCollapse, { className: "h-3.5 w-3.5" })
|
|
897
912
|
})]
|
|
898
913
|
})
|
|
899
914
|
}), /* @__PURE__ */ jsx(TreeView, {
|
|
@@ -955,7 +970,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
955
970
|
getItems: () => [{
|
|
956
971
|
kind: "action",
|
|
957
972
|
label: t.preview.open,
|
|
958
|
-
icon: /* @__PURE__ */ jsx(
|
|
973
|
+
icon: /* @__PURE__ */ jsx(FaRegFolder, {}),
|
|
959
974
|
onSelect: () => openUserNode(rootNode)
|
|
960
975
|
}],
|
|
961
976
|
openMenu,
|
|
@@ -1012,7 +1027,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
1012
1027
|
className: "btn btn-info cursor-pointer flex items-center justify-center",
|
|
1013
1028
|
disabled: selectedNode.type === "file" || !selectedNode.storageId,
|
|
1014
1029
|
onClick: () => setCreateFolderTarget(selectedNode),
|
|
1015
|
-
children: [/* @__PURE__ */ jsx(
|
|
1030
|
+
children: [/* @__PURE__ */ jsx(FaRegFolder, { className: "h-4 w-4 mr-2" }), /* @__PURE__ */ jsx("span", {
|
|
1016
1031
|
className: "hidden md:inline",
|
|
1017
1032
|
children: t.createFolder.action
|
|
1018
1033
|
})]
|
|
@@ -1021,10 +1036,10 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
1021
1036
|
"aria-label": t.chrome.upload,
|
|
1022
1037
|
className: "btn btn-info cursor-pointer flex items-center justify-between pr-0.5!",
|
|
1023
1038
|
disabled: selectedNode.type === "file" || !selectedNode.storageId,
|
|
1024
|
-
children: [/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(
|
|
1039
|
+
children: [/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(FiUpload, { className: "h-4 w-4 mr-2" }), /* @__PURE__ */ jsx("span", {
|
|
1025
1040
|
className: "hidden md:inline",
|
|
1026
1041
|
children: t.chrome.upload
|
|
1027
|
-
})] }), /* @__PURE__ */ jsx(
|
|
1042
|
+
})] }), /* @__PURE__ */ jsx(FaAngleDown, { className: "h-4 w-4 ml-2" })]
|
|
1028
1043
|
}), /* @__PURE__ */ jsxs(MenuItems, {
|
|
1029
1044
|
transition: true,
|
|
1030
1045
|
anchor: "bottom end",
|
|
@@ -1045,10 +1060,10 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
1045
1060
|
"aria-label": t.chrome.download,
|
|
1046
1061
|
className: "btn btn-info cursor-pointer flex items-center justify-between pr-0.5!",
|
|
1047
1062
|
disabled: checkedItems.size === 0 && selectedNode.type !== "file" || hasFolderSelected() || !selectedNode.storageId,
|
|
1048
|
-
children: [/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(
|
|
1063
|
+
children: [/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(FiDownload, { className: "h-4 w-4 mr-2" }), /* @__PURE__ */ jsx("span", {
|
|
1049
1064
|
className: "hidden md:inline",
|
|
1050
1065
|
children: t.chrome.download
|
|
1051
|
-
})] }), /* @__PURE__ */ jsx(
|
|
1066
|
+
})] }), /* @__PURE__ */ jsx(FaAngleDown, { className: "h-4 w-4 ml-2" })]
|
|
1052
1067
|
}), /* @__PURE__ */ jsxs(MenuItems, {
|
|
1053
1068
|
transition: true,
|
|
1054
1069
|
anchor: "bottom end",
|
|
@@ -1079,7 +1094,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
1079
1094
|
disabled: !selectedNode.storageId,
|
|
1080
1095
|
onClick: () => setAccessDrawerOpen(true),
|
|
1081
1096
|
hidden: groups.length === 0 || !selectedNodeCanManageAccess,
|
|
1082
|
-
children: [/* @__PURE__ */ jsx(
|
|
1097
|
+
children: [/* @__PURE__ */ jsx(FaUsers, { className: "h-4 w-4 mr-2" }), /* @__PURE__ */ jsx("span", {
|
|
1083
1098
|
className: "hidden md:inline",
|
|
1084
1099
|
children: t.chrome.manageAccess
|
|
1085
1100
|
})]
|
|
@@ -1090,7 +1105,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
1090
1105
|
className: "btn btn-destructive cursor-pointer flex items-center justify-center",
|
|
1091
1106
|
disabled: checkedItems.size === 0 && selectedNode.type !== "file" || !selectedNode.storageId,
|
|
1092
1107
|
onClick: onDeleteClick,
|
|
1093
|
-
children: [/* @__PURE__ */ jsx(
|
|
1108
|
+
children: [/* @__PURE__ */ jsx(BiSolidTrashAlt, { className: "h-4 w-4 mr-2" }), /* @__PURE__ */ jsx("span", {
|
|
1094
1109
|
className: "hidden md:inline",
|
|
1095
1110
|
children: t.chrome.delete
|
|
1096
1111
|
})]
|
|
@@ -1136,7 +1151,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
1136
1151
|
}),
|
|
1137
1152
|
selectedNode.type === "file" && (() => {
|
|
1138
1153
|
const uris = getNodeUris(selectedNode);
|
|
1139
|
-
const fileIcon = getNodeIcon(selectedNode, slots.storageIconUrl, t.chrome.storageIconAlt) ?? /* @__PURE__ */ jsx(
|
|
1154
|
+
const fileIcon = getNodeIcon(selectedNode, slots.storageIconUrl, t.chrome.storageIconAlt) ?? /* @__PURE__ */ jsx(FiFile, { className: "h-5 w-5 theme-muted-text" });
|
|
1140
1155
|
const modifiedDt = selectedNode.modified ? DateTime.fromISO(selectedNode.modified) : null;
|
|
1141
1156
|
const createdDt = selectedNode.created ? DateTime.fromISO(selectedNode.created) : null;
|
|
1142
1157
|
const previewable = canPreview(selectedNode);
|
|
@@ -1296,7 +1311,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
1296
1311
|
/* @__PURE__ */ jsx(CreateModal, {
|
|
1297
1312
|
open: !!createFolderTarget,
|
|
1298
1313
|
onClose: () => setCreateFolderTarget(null),
|
|
1299
|
-
typeIcon: /* @__PURE__ */ jsx(
|
|
1314
|
+
typeIcon: /* @__PURE__ */ jsx(FaRegFolder, { className: "w-3 h-3" }),
|
|
1300
1315
|
typeLabel: t.createFolder.folder,
|
|
1301
1316
|
namePlaceholder: t.createFolder.namePlaceholder,
|
|
1302
1317
|
submitLabel: t.createFolder.submit,
|
|
@@ -1353,7 +1368,7 @@ function FileExplorer({ storages, onRefresh, refreshKey, onOpenFile, showUserHie
|
|
|
1353
1368
|
className: "mt-3 p-3 bg-amber-50 border border-amber-200 rounded-lg",
|
|
1354
1369
|
children: /* @__PURE__ */ jsxs("div", {
|
|
1355
1370
|
className: "flex items-start gap-2",
|
|
1356
|
-
children: [/* @__PURE__ */ jsx(
|
|
1371
|
+
children: [/* @__PURE__ */ jsx(TbAlertTriangle, { className: "w-4 h-4 text-amber-600 shrink-0 mt-0.5" }), /* @__PURE__ */ jsxs("div", {
|
|
1357
1372
|
className: "text-amber-800",
|
|
1358
1373
|
children: [/* @__PURE__ */ jsx("div", {
|
|
1359
1374
|
className: "font-semibold mb-1",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useStrings } from "../../components/Provider.js";
|
|
2
|
-
import {
|
|
2
|
+
import { FaExpand } from "../../icons/fa/FaExpand.js";
|
|
3
3
|
import { formatFileSize } from "../lib/utils.js";
|
|
4
4
|
import { getPreviewKind } from "./previewType.js";
|
|
5
5
|
import { StreamedBadge } from "./StreamedBadge.js";
|
|
@@ -36,7 +36,7 @@ function FilePreviewInline({ node, storage, getPresignedUrl, onOpenFull, onDownl
|
|
|
36
36
|
type: "button",
|
|
37
37
|
className: "btn btn-neutral cursor-pointer",
|
|
38
38
|
onClick: () => onOpenFull(node),
|
|
39
|
-
children: [/* @__PURE__ */ jsx(
|
|
39
|
+
children: [/* @__PURE__ */ jsx(FaExpand, { className: "mr-2 h-4 w-4" }), t.preview.openFullPreview]
|
|
40
40
|
})]
|
|
41
41
|
})]
|
|
42
42
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useStrings } from "../../components/Provider.js";
|
|
2
|
-
import {
|
|
2
|
+
import { FaLock } from "../../icons/fa/FaLock.js";
|
|
3
3
|
import { TOOLTIP_ID } from "../../components/Tooltip.js";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
//#region src/file-explorer/FilePreview/StreamedBadge.tsx
|
|
@@ -9,7 +9,7 @@ function StreamedBadge() {
|
|
|
9
9
|
className: "inline-flex shrink-0 items-center gap-1 rounded-full border border-green-500/40 bg-green-500/15 px-2 py-0.5 text-[11px] text-green-600",
|
|
10
10
|
"data-tooltip-id": TOOLTIP_ID,
|
|
11
11
|
"data-tooltip-content": t.preview.streamedTooltip,
|
|
12
|
-
children: [/* @__PURE__ */ jsx(
|
|
12
|
+
children: [/* @__PURE__ */ jsx(FaLock, { className: "h-2.5 w-2.5" }), t.preview.streamed]
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
//#endregion
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { useStrings } from "../../components/Provider.js";
|
|
2
|
-
import {
|
|
2
|
+
import { BsFileEarmarkZip } from "../../icons/bs/BsFileEarmarkZip.js";
|
|
3
|
+
import { BsMusicNoteBeamed } from "../../icons/bs/BsMusicNoteBeamed.js";
|
|
4
|
+
import { FaLock } from "../../icons/fa/FaLock.js";
|
|
5
|
+
import { FiDownload } from "../../icons/fi/FiDownload.js";
|
|
6
|
+
import { FiFile } from "../../icons/fi/FiFile.js";
|
|
3
7
|
import { positionKeys, withPositionKeys } from "../../components/keys.js";
|
|
4
8
|
import Loader from "../../components/Loader.js";
|
|
5
9
|
import Markdown from "../../components/Markdown.js";
|
|
@@ -36,19 +40,19 @@ function FilePreviewViewer({ node, kind, url, urlLoading, urlError, zoom = 100,
|
|
|
36
40
|
return { corsError: false };
|
|
37
41
|
}, [url]);
|
|
38
42
|
if (urlError) return /* @__PURE__ */ jsx(NotPreviewable, {
|
|
39
|
-
icon: /* @__PURE__ */ jsx(
|
|
43
|
+
icon: /* @__PURE__ */ jsx(FiFile, { className: "h-9 w-9 theme-muted-text" }),
|
|
40
44
|
title: t.preview.errorTitle,
|
|
41
45
|
message: urlError,
|
|
42
46
|
onDownload
|
|
43
47
|
});
|
|
44
48
|
if (kind === "archive") return /* @__PURE__ */ jsx(NotPreviewable, {
|
|
45
|
-
icon: /* @__PURE__ */ jsx(
|
|
49
|
+
icon: /* @__PURE__ */ jsx(BsFileEarmarkZip, { className: "h-9 w-9 text-(--theme-link)" }),
|
|
46
50
|
title: t.preview.archiveTitle,
|
|
47
51
|
message: t.preview.archiveMessage,
|
|
48
52
|
onDownload
|
|
49
53
|
});
|
|
50
54
|
if (kind === "unsupported") return /* @__PURE__ */ jsx(NotPreviewable, {
|
|
51
|
-
icon: /* @__PURE__ */ jsx(
|
|
55
|
+
icon: /* @__PURE__ */ jsx(FiFile, { className: "h-9 w-9 theme-muted-text" }),
|
|
52
56
|
title: t.preview.unsupportedTitle,
|
|
53
57
|
message: t.preview.unsupportedMessage,
|
|
54
58
|
onDownload
|
|
@@ -153,7 +157,7 @@ function AudioView({ node, url, onDownload }) {
|
|
|
153
157
|
children: [
|
|
154
158
|
/* @__PURE__ */ jsx("div", {
|
|
155
159
|
className: "flex h-28 w-28 items-center justify-center rounded-2xl bg-linear-to-br from-(--theme-element) to-(--theme-link) shadow-lg",
|
|
156
|
-
children: /* @__PURE__ */ jsx(
|
|
160
|
+
children: /* @__PURE__ */ jsx(BsMusicNoteBeamed, { className: "h-12 w-12 text-white" })
|
|
157
161
|
}),
|
|
158
162
|
/* @__PURE__ */ jsxs("div", {
|
|
159
163
|
className: "text-center",
|
|
@@ -179,7 +183,7 @@ function AudioView({ node, url, onDownload }) {
|
|
|
179
183
|
function PreviewError({ onDownload }) {
|
|
180
184
|
const t = useStrings().fileExplorer;
|
|
181
185
|
return /* @__PURE__ */ jsx(NotPreviewable, {
|
|
182
|
-
icon: /* @__PURE__ */ jsx(
|
|
186
|
+
icon: /* @__PURE__ */ jsx(FiFile, { className: "h-9 w-9 theme-muted-text" }),
|
|
183
187
|
title: t.preview.errorTitle,
|
|
184
188
|
message: t.preview.previewError,
|
|
185
189
|
onDownload
|
|
@@ -250,7 +254,7 @@ function CodeView({ node, url, onDownload, storage, onCorsRetry }) {
|
|
|
250
254
|
}),
|
|
251
255
|
/* @__PURE__ */ jsxs("span", {
|
|
252
256
|
className: "inline-flex shrink-0 items-center gap-1 rounded-full border theme-border px-2 py-0.5 text-[11px] theme-muted-text",
|
|
253
|
-
children: [/* @__PURE__ */ jsx(
|
|
257
|
+
children: [/* @__PURE__ */ jsx(FaLock, { className: "h-2.5 w-2.5" }), t.readOnly]
|
|
254
258
|
})
|
|
255
259
|
]
|
|
256
260
|
}), /* @__PURE__ */ jsx("div", {
|
|
@@ -476,7 +480,7 @@ function NotPreviewable({ icon, title, message, onDownload }) {
|
|
|
476
480
|
type: "button",
|
|
477
481
|
className: "btn btn-info cursor-pointer",
|
|
478
482
|
onClick: onDownload,
|
|
479
|
-
children: [/* @__PURE__ */ jsx(
|
|
483
|
+
children: [/* @__PURE__ */ jsx(FiDownload, { className: "mr-2 h-4 w-4" }), t.preview.downloadInstead]
|
|
480
484
|
})
|
|
481
485
|
]
|
|
482
486
|
})
|
|
@@ -495,7 +499,7 @@ function TooLargeInline({ onDownload }) {
|
|
|
495
499
|
type: "button",
|
|
496
500
|
className: "btn btn-info cursor-pointer",
|
|
497
501
|
onClick: onDownload,
|
|
498
|
-
children: [/* @__PURE__ */ jsx(
|
|
502
|
+
children: [/* @__PURE__ */ jsx(FiDownload, { className: "mr-2 h-4 w-4" }), t.preview.downloadInstead]
|
|
499
503
|
})]
|
|
500
504
|
})
|
|
501
505
|
});
|
|
@@ -513,7 +517,7 @@ function InlineError({ message, onDownload }) {
|
|
|
513
517
|
type: "button",
|
|
514
518
|
className: "btn btn-neutral cursor-pointer",
|
|
515
519
|
onClick: onDownload,
|
|
516
|
-
children: [/* @__PURE__ */ jsx(
|
|
520
|
+
children: [/* @__PURE__ */ jsx(FiDownload, { className: "mr-2 h-4 w-4" }), t.preview.downloadInstead]
|
|
517
521
|
})]
|
|
518
522
|
})
|
|
519
523
|
});
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { useStrings } from "../../components/Provider.js";
|
|
2
|
-
import {
|
|
2
|
+
import { FaLink } from "../../icons/fa/FaLink.js";
|
|
3
|
+
import { FiDownload } from "../../icons/fi/FiDownload.js";
|
|
4
|
+
import { FiFile } from "../../icons/fi/FiFile.js";
|
|
5
|
+
import { IoMdClose } from "../../icons/io/IoMdClose.js";
|
|
6
|
+
import { LuChevronLeft } from "../../icons/lu/LuChevronLeft.js";
|
|
7
|
+
import { LuChevronRight } from "../../icons/lu/LuChevronRight.js";
|
|
8
|
+
import { LuZoomIn } from "../../icons/lu/LuZoomIn.js";
|
|
9
|
+
import { LuZoomOut } from "../../icons/lu/LuZoomOut.js";
|
|
3
10
|
import { formatFileSize } from "../lib/utils.js";
|
|
4
11
|
import { getPreviewKind } from "./previewType.js";
|
|
5
12
|
import { StreamedBadge } from "./StreamedBadge.js";
|
|
@@ -71,7 +78,7 @@ function FilePreview({ open, node, siblings, storage, getPresignedUrl, onNavigat
|
|
|
71
78
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
72
79
|
className: "flex min-w-0 items-center gap-2.5",
|
|
73
80
|
children: [
|
|
74
|
-
/* @__PURE__ */ jsx(
|
|
81
|
+
/* @__PURE__ */ jsx(FiFile, { className: cx("h-4 w-4 shrink-0", !floatingChrome && "theme-muted-text") }),
|
|
75
82
|
/* @__PURE__ */ jsx("span", {
|
|
76
83
|
className: "truncate font-semibold",
|
|
77
84
|
children: node.name
|
|
@@ -99,19 +106,19 @@ function FilePreview({ open, node, siblings, storage, getPresignedUrl, onNavigat
|
|
|
99
106
|
overlay: floatingChrome,
|
|
100
107
|
label: t.preview.copyUri,
|
|
101
108
|
onClick: () => onCopyUri(node),
|
|
102
|
-
children: /* @__PURE__ */ jsx(
|
|
109
|
+
children: /* @__PURE__ */ jsx(FaLink, { className: "h-4 w-4" })
|
|
103
110
|
}),
|
|
104
111
|
/* @__PURE__ */ jsx(ChromeButton, {
|
|
105
112
|
overlay: floatingChrome,
|
|
106
113
|
label: t.preview.download,
|
|
107
114
|
onClick: () => onDownload(node),
|
|
108
|
-
children: /* @__PURE__ */ jsx(
|
|
115
|
+
children: /* @__PURE__ */ jsx(FiDownload, { className: "h-4 w-4" })
|
|
109
116
|
}),
|
|
110
117
|
/* @__PURE__ */ jsx(ChromeButton, {
|
|
111
118
|
overlay: floatingChrome,
|
|
112
119
|
label: t.preview.close,
|
|
113
120
|
onClick: onClose,
|
|
114
|
-
children: /* @__PURE__ */ jsx(
|
|
121
|
+
children: /* @__PURE__ */ jsx(IoMdClose, { className: "h-4 w-4" })
|
|
115
122
|
})
|
|
116
123
|
]
|
|
117
124
|
})]
|
|
@@ -130,7 +137,7 @@ function FilePreview({ open, node, siblings, storage, getPresignedUrl, onNavigat
|
|
|
130
137
|
overlay: floatingChrome,
|
|
131
138
|
label: t.preview.zoomOut,
|
|
132
139
|
onClick: () => setZoom((z) => Math.max(25, z - 25)),
|
|
133
|
-
children: /* @__PURE__ */ jsx(
|
|
140
|
+
children: /* @__PURE__ */ jsx(LuZoomOut, { className: "h-3.5 w-3.5" })
|
|
134
141
|
}),
|
|
135
142
|
/* @__PURE__ */ jsxs("span", {
|
|
136
143
|
className: "min-w-11 text-center text-xs tabular-nums",
|
|
@@ -140,7 +147,7 @@ function FilePreview({ open, node, siblings, storage, getPresignedUrl, onNavigat
|
|
|
140
147
|
overlay: floatingChrome,
|
|
141
148
|
label: t.preview.zoomIn,
|
|
142
149
|
onClick: () => setZoom((z) => Math.min(400, z + 25)),
|
|
143
|
-
children: /* @__PURE__ */ jsx(
|
|
150
|
+
children: /* @__PURE__ */ jsx(LuZoomIn, { className: "h-3.5 w-3.5" })
|
|
144
151
|
})
|
|
145
152
|
]
|
|
146
153
|
}), /* @__PURE__ */ jsxs("div", {
|
|
@@ -151,7 +158,7 @@ function FilePreview({ open, node, siblings, storage, getPresignedUrl, onNavigat
|
|
|
151
158
|
label: t.preview.previousFile,
|
|
152
159
|
disabled: !hasPrev,
|
|
153
160
|
onClick: goPrev,
|
|
154
|
-
children: /* @__PURE__ */ jsx(
|
|
161
|
+
children: /* @__PURE__ */ jsx(LuChevronLeft, { className: "h-4 w-4" })
|
|
155
162
|
}),
|
|
156
163
|
/* @__PURE__ */ jsx("span", {
|
|
157
164
|
className: "min-w-14 text-center text-xs tabular-nums",
|
|
@@ -162,7 +169,7 @@ function FilePreview({ open, node, siblings, storage, getPresignedUrl, onNavigat
|
|
|
162
169
|
label: t.preview.nextFile,
|
|
163
170
|
disabled: !hasNext,
|
|
164
171
|
onClick: goNext,
|
|
165
|
-
children: /* @__PURE__ */ jsx(
|
|
172
|
+
children: /* @__PURE__ */ jsx(LuChevronRight, { className: "h-4 w-4" })
|
|
166
173
|
})
|
|
167
174
|
]
|
|
168
175
|
})]
|
|
@@ -259,7 +266,7 @@ function EdgeButton({ side, label, disabled, onClick }) {
|
|
|
259
266
|
},
|
|
260
267
|
className: cx("absolute top-1/2 z-20 flex h-13 w-13 -translate-y-1/2 items-center justify-center rounded-full text-white backdrop-blur", side === "left" ? "left-5" : "right-5", disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer hover:bg-white/20"),
|
|
261
268
|
style: { backgroundColor: "rgba(22,27,34,.7)" },
|
|
262
|
-
children: side === "left" ? /* @__PURE__ */ jsx(
|
|
269
|
+
children: side === "left" ? /* @__PURE__ */ jsx(LuChevronLeft, { className: "h-6 w-6" }) : /* @__PURE__ */ jsx(LuChevronRight, { className: "h-6 w-6" })
|
|
263
270
|
});
|
|
264
271
|
}
|
|
265
272
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useStrings } from "../components/Provider.js";
|
|
2
|
-
import {
|
|
2
|
+
import { LuEye } from "../icons/lu/LuEye.js";
|
|
3
3
|
import { TOOLTIP_ID } from "../components/Tooltip.js";
|
|
4
4
|
import { MoreButton, useRowMenuActive } from "../list/RowContextMenu.js";
|
|
5
5
|
import { Table } from "../components/Table.js";
|
|
@@ -151,7 +151,7 @@ function FileRow({ node, icon, rowId, rowIndex, active, checked, canPreview, get
|
|
|
151
151
|
onPreview(node);
|
|
152
152
|
},
|
|
153
153
|
className: cx("rounded p-1 text-(--theme-muted-text-color) transition-colors hover:bg-(--theme-muted-panel-bg) hover:text-(--theme-app) [&>svg]:h-4 [&>svg]:w-4", menuActive ? "opacity-100" : "opacity-0 group-hover:opacity-100 focus-visible:opacity-100"),
|
|
154
|
-
children: /* @__PURE__ */ jsx(
|
|
154
|
+
children: /* @__PURE__ */ jsx(LuEye, {})
|
|
155
155
|
}), /* @__PURE__ */ jsx(MoreButton, {
|
|
156
156
|
active: menuActive,
|
|
157
157
|
onOpen: (x, y) => openRowMenu(x, y, getItems())
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useSlots, useStrings } from "../components/Provider.js";
|
|
2
|
-
import {
|
|
2
|
+
import { FaRegFolder } from "../icons/fa/FaRegFolder.js";
|
|
3
|
+
import { FiFile } from "../icons/fi/FiFile.js";
|
|
3
4
|
import { canPreview } from "./FilePreview/previewType.js";
|
|
4
5
|
import { getNodeIcon } from "./helpers.js";
|
|
5
6
|
import { FileRow } from "./FileRow.js";
|
|
@@ -41,7 +42,7 @@ function FileRowsWindow({ items, padTop, padBottom, nodes, checkedItems, activeI
|
|
|
41
42
|
root: scrollEl,
|
|
42
43
|
onLoadMore: loadMore.onLoadMore
|
|
43
44
|
}, "load-more") : null;
|
|
44
|
-
const icon = getNodeIcon(node, storageIconUrl, storageIconAlt) ?? (node.type === "directory" ? /* @__PURE__ */ jsx(
|
|
45
|
+
const icon = getNodeIcon(node, storageIconUrl, storageIconAlt) ?? (node.type === "directory" ? /* @__PURE__ */ jsx(FaRegFolder, { className: "h-4 w-4 text-sky-500/80" }) : /* @__PURE__ */ jsx(FiFile, { className: "h-4 w-4 theme-muted-text" }));
|
|
45
46
|
return /* @__PURE__ */ jsx(FileRow, {
|
|
46
47
|
rowId: `${rowIdPrefix}-${item.index}`,
|
|
47
48
|
rowIndex: item.index + 2,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { useStrings } from "../components/Provider.js";
|
|
2
|
-
import {
|
|
2
|
+
import { FaAngleRight } from "../icons/fa/FaAngleRight.js";
|
|
3
|
+
import { FaRegFolder } from "../icons/fa/FaRegFolder.js";
|
|
4
|
+
import { FaRegFolderOpen } from "../icons/fa6/FaRegFolderOpen.js";
|
|
3
5
|
import { positionKeys } from "../components/keys.js";
|
|
4
6
|
import { getParentPath } from "./lib/utils.js";
|
|
5
7
|
import { canPreview } from "./FilePreview/previewType.js";
|
|
@@ -192,8 +194,8 @@ function RowIcons({ isDirectory, isExpanded, customIcon }) {
|
|
|
192
194
|
className: "shrink-0",
|
|
193
195
|
children: customIcon
|
|
194
196
|
});
|
|
195
|
-
const folder = isExpanded ? /* @__PURE__ */ jsx(
|
|
196
|
-
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(
|
|
197
|
+
const folder = isExpanded ? /* @__PURE__ */ jsx(FaRegFolderOpen, { className: "h-4 w-4 mr-1 text-sky-500" }) : /* @__PURE__ */ jsx(FaRegFolder, { className: "h-4 w-4 mr-1 text-sky-500/80" });
|
|
198
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(FaAngleRight, { className: cx("h-3.5 w-3.5 shrink-0 theme-muted-text transition-transform duration-150", isExpanded && "rotate-90") }), customIcon ?? folder] });
|
|
197
199
|
}
|
|
198
200
|
/** Click-only, unlike the table's sentinel: the tree is a navigation aid, and
|
|
199
201
|
* growing it automatically as the user scrolls is what the cap exists to prevent. */
|