From 087df1f0c15956f06db8fb41ec88b3ca71fc22cb Mon Sep 17 00:00:00 2001 From: Tom Najdek Date: Sat, 15 Mar 2025 11:00:20 +0100 Subject: [PATCH] Restore attachment download progress spinner in item row (#5124) --- chrome/content/zotero/itemTree.jsx | 21 ++-- chrome/content/zotero/xpcom/storage.js | 8 +- chrome/skin/default/zotero/overlay.css | 142 ------------------------- chrome/skin/default/zotero/pie.png | Bin 18282 -> 0 bytes scss/components/_item-tree.scss | 24 +++++ 5 files changed, 38 insertions(+), 157 deletions(-) delete mode 100644 chrome/skin/default/zotero/pie.png diff --git a/chrome/content/zotero/itemTree.jsx b/chrome/content/zotero/itemTree.jsx index 2b1add391e..3cf438b59c 100644 --- a/chrome/content/zotero/itemTree.jsx +++ b/chrome/content/zotero/itemTree.jsx @@ -2937,9 +2937,17 @@ var ItemTree = class ItemTree extends LibraryTree { const item = this.getRow(index).ref; - if ((!this.isContainer(index) || !this.isContainerOpen(index)) - && Zotero.Sync.Storage.getItemDownloadImageNumber(item)) { - return span; + if ((!this.isContainer(index) || !this.isContainerOpen(index))) { + let progressValue = Zotero.Sync.Storage.getItemDownloadProgress(item); + if (progressValue) { + let progress = document.createElement('progress'); + progress.value = progressValue; + progress.max = 100; + progress.style.setProperty('--progress', `${progressValue}%`); + progress.className = 'attachment-progress'; + span.append(progress); + return span; + } } // TEMP: For now, we use the blue bullet for all non-PDF attachments, but there's @@ -3276,13 +3284,6 @@ var ItemTree = class ItemTree extends LibraryTree { } row.hasAttachment = ""; - // Don't show pie for open parent items, since we show it for the - // child item - if (!this.isContainer(index) || !this.isContainerOpen(index)) { - var num = Zotero.Sync.Storage.getItemDownloadImageNumber(treeRow.ref); - row.hasAttachment = num === false ? "pie" : "pie" + num; - } - // Style unread items in feeds if (treeRow.ref.isFeedItem && !treeRow.ref.isRead) { row.unread = true; diff --git a/chrome/content/zotero/xpcom/storage.js b/chrome/content/zotero/xpcom/storage.js index 3a8379be50..1322d18feb 100644 --- a/chrome/content/zotero/xpcom/storage.js +++ b/chrome/content/zotero/xpcom/storage.js @@ -46,9 +46,7 @@ Zotero.Sync.Storage = new function () { } - this.getItemDownloadImageNumber = function (item) { - var numImages = 64; - + this.getItemDownloadProgress = function (item) { var lk = item.libraryID + "/" + item.key; if (typeof _itemDownloadPercentages[lk] == 'undefined') { @@ -56,8 +54,8 @@ Zotero.Sync.Storage = new function () { } var percentage = _itemDownloadPercentages[lk]; - return Math.round(percentage / 100 * (numImages - 1)) + 1; - } + return percentage; + }; /** diff --git a/chrome/skin/default/zotero/overlay.css b/chrome/skin/default/zotero/overlay.css index 39a222c5fa..87c8cab907 100644 --- a/chrome/skin/default/zotero/overlay.css +++ b/chrome/skin/default/zotero/overlay.css @@ -1,145 +1,3 @@ -/* -TODO: Replace with SVG - -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie) -{ - margin: 1px 0 0; - list-style-image: url(chrome://zotero/skin/pie.png); - height: 16px; - -moz-image-region: rect(0px, 32px, 32px, 0px); -} - -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie1) { -moz-image-region: rect(0px, 32px, 32px, 0px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie2) { -moz-image-region: rect(0px, 64px, 32px, 32px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie3) { -moz-image-region: rect(0px, 96px, 32px, 64px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie4) { -moz-image-region: rect(0px, 128px, 32px, 96px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie5) { -moz-image-region: rect(0px, 160px, 32px, 128px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie6) { -moz-image-region: rect(0px, 192px, 32px, 160px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie7) { -moz-image-region: rect(0px, 224px, 32px, 192px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie8) { -moz-image-region: rect(0px, 256px, 32px, 224px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie9) { -moz-image-region: rect(0px, 288px, 32px, 256px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie10) { -moz-image-region: rect(0px, 320px, 32px, 288px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie11) { -moz-image-region: rect(0px, 352px, 32px, 320px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie12) { -moz-image-region: rect(0px, 384px, 32px, 352px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie13) { -moz-image-region: rect(0px, 416px, 32px, 384px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie14) { -moz-image-region: rect(0px, 448px, 32px, 416px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie15) { -moz-image-region: rect(0px, 480px, 32px, 448px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie16) { -moz-image-region: rect(0px, 512px, 32px, 480px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie17) { -moz-image-region: rect(0px, 544px, 32px, 512px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie18) { -moz-image-region: rect(0px, 576px, 32px, 544px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie19) { -moz-image-region: rect(0px, 608px, 32px, 576px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie20) { -moz-image-region: rect(0px, 640px, 32px, 608px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie21) { -moz-image-region: rect(0px, 672px, 32px, 640px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie22) { -moz-image-region: rect(0px, 704px, 32px, 672px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie23) { -moz-image-region: rect(0px, 736px, 32px, 704px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie24) { -moz-image-region: rect(0px, 768px, 32px, 736px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie25) { -moz-image-region: rect(0px, 800px, 32px, 768px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie26) { -moz-image-region: rect(0px, 832px, 32px, 800px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie27) { -moz-image-region: rect(0px, 864px, 32px, 832px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie28) { -moz-image-region: rect(0px, 896px, 32px, 864px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie29) { -moz-image-region: rect(0px, 928px, 32px, 896px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie30) { -moz-image-region: rect(0px, 960px, 32px, 928px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie31) { -moz-image-region: rect(0px, 992px, 32px, 960px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie32) { -moz-image-region: rect(0px, 1024px, 32px, 992px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie33) { -moz-image-region: rect(0px, 1056px, 32px, 1024px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie34) { -moz-image-region: rect(0px, 1088px, 32px, 1056px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie35) { -moz-image-region: rect(0px, 1120px, 32px, 1088px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie36) { -moz-image-region: rect(0px, 1152px, 32px, 1120px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie37) { -moz-image-region: rect(0px, 1184px, 32px, 1152px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie38) { -moz-image-region: rect(0px, 1216px, 32px, 1184px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie39) { -moz-image-region: rect(0px, 1248px, 32px, 1216px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie40) { -moz-image-region: rect(0px, 1280px, 32px, 1248px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie41) { -moz-image-region: rect(0px, 1312px, 32px, 1280px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie42) { -moz-image-region: rect(0px, 1344px, 32px, 1312px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie43) { -moz-image-region: rect(0px, 1376px, 32px, 1344px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie44) { -moz-image-region: rect(0px, 1408px, 32px, 1376px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie45) { -moz-image-region: rect(0px, 1440px, 32px, 1408px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie46) { -moz-image-region: rect(0px, 1472px, 32px, 1440px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie47) { -moz-image-region: rect(0px, 1504px, 32px, 1472px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie48) { -moz-image-region: rect(0px, 1536px, 32px, 1504px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie49) { -moz-image-region: rect(0px, 1568px, 32px, 1536px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie50) { -moz-image-region: rect(0px, 1600px, 32px, 1568px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie51) { -moz-image-region: rect(0px, 1632px, 32px, 1600px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie52) { -moz-image-region: rect(0px, 1664px, 32px, 1632px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie53) { -moz-image-region: rect(0px, 1696px, 32px, 1664px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie54) { -moz-image-region: rect(0px, 1728px, 32px, 1696px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie55) { -moz-image-region: rect(0px, 1760px, 32px, 1728px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie56) { -moz-image-region: rect(0px, 1792px, 32px, 1760px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie57) { -moz-image-region: rect(0px, 1824px, 32px, 1792px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie58) { -moz-image-region: rect(0px, 1856px, 32px, 1824px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie59) { -moz-image-region: rect(0px, 1888px, 32px, 1856px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie60) { -moz-image-region: rect(0px, 1920px, 32px, 1888px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie61) { -moz-image-region: rect(0px, 1952px, 32px, 1920px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie62) { -moz-image-region: rect(0px, 1984px, 32px, 1952px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie63) { -moz-image-region: rect(0px, 2016px, 32px, 1984px); } -#zotero-items-tree treechildren::-moz-tree-image(hasAttachment, pie64) { -moz-image-region: rect(0px, 2048px, 32px, 2016px); } - -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie1) { -moz-image-region: rect(32px, 32px, 64px, 0px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie2) { -moz-image-region: rect(32px, 64px, 64px, 32px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie3) { -moz-image-region: rect(32px, 96px, 64px, 64px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie4) { -moz-image-region: rect(32px, 128px, 64px, 96px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie5) { -moz-image-region: rect(32px, 160px, 64px, 128px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie6) { -moz-image-region: rect(32px, 192px, 64px, 160px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie7) { -moz-image-region: rect(32px, 224px, 64px, 192px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie8) { -moz-image-region: rect(32px, 256px, 64px, 224px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie9) { -moz-image-region: rect(32px, 288px, 64px, 256px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie10) { -moz-image-region: rect(32px, 320px, 64px, 288px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie11) { -moz-image-region: rect(32px, 352px, 64px, 320px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie12) { -moz-image-region: rect(32px, 384px, 64px, 352px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie13) { -moz-image-region: rect(32px, 416px, 64px, 384px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie14) { -moz-image-region: rect(32px, 448px, 64px, 416px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie15) { -moz-image-region: rect(32px, 480px, 64px, 448px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie16) { -moz-image-region: rect(32px, 512px, 64px, 480px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie17) { -moz-image-region: rect(32px, 544px, 64px, 512px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie18) { -moz-image-region: rect(32px, 576px, 64px, 544px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie19) { -moz-image-region: rect(32px, 608px, 64px, 576px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie20) { -moz-image-region: rect(32px, 640px, 64px, 608px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie21) { -moz-image-region: rect(32px, 672px, 64px, 640px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie22) { -moz-image-region: rect(32px, 704px, 64px, 672px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie23) { -moz-image-region: rect(32px, 736px, 64px, 704px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie24) { -moz-image-region: rect(32px, 768px, 64px, 736px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie25) { -moz-image-region: rect(32px, 800px, 64px, 768px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie26) { -moz-image-region: rect(32px, 832px, 64px, 800px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie27) { -moz-image-region: rect(32px, 864px, 64px, 832px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie28) { -moz-image-region: rect(32px, 896px, 64px, 864px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie29) { -moz-image-region: rect(32px, 928px, 64px, 896px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie30) { -moz-image-region: rect(32px, 960px, 64px, 928px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie31) { -moz-image-region: rect(32px, 992px, 64px, 960px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie32) { -moz-image-region: rect(32px, 1024px, 64px, 992px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie33) { -moz-image-region: rect(32px, 1056px, 64px, 1024px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie34) { -moz-image-region: rect(32px, 1088px, 64px, 1056px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie35) { -moz-image-region: rect(32px, 1120px, 64px, 1088px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie36) { -moz-image-region: rect(32px, 1152px, 64px, 1120px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie37) { -moz-image-region: rect(32px, 1184px, 64px, 1152px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie38) { -moz-image-region: rect(32px, 1216px, 64px, 1184px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie39) { -moz-image-region: rect(32px, 1248px, 64px, 1216px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie40) { -moz-image-region: rect(32px, 1280px, 64px, 1248px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie41) { -moz-image-region: rect(32px, 1312px, 64px, 1280px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie42) { -moz-image-region: rect(32px, 1344px, 64px, 1312px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie43) { -moz-image-region: rect(32px, 1376px, 64px, 1344px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie44) { -moz-image-region: rect(32px, 1408px, 64px, 1376px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie45) { -moz-image-region: rect(32px, 1440px, 64px, 1408px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie46) { -moz-image-region: rect(32px, 1472px, 64px, 1440px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie47) { -moz-image-region: rect(32px, 1504px, 64px, 1472px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie48) { -moz-image-region: rect(32px, 1536px, 64px, 1504px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie49) { -moz-image-region: rect(32px, 1568px, 64px, 1536px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie50) { -moz-image-region: rect(32px, 1600px, 64px, 1568px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie51) { -moz-image-region: rect(32px, 1632px, 64px, 1600px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie52) { -moz-image-region: rect(32px, 1664px, 64px, 1632px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie53) { -moz-image-region: rect(32px, 1696px, 64px, 1664px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie54) { -moz-image-region: rect(32px, 1728px, 64px, 1696px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie55) { -moz-image-region: rect(32px, 1760px, 64px, 1728px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie56) { -moz-image-region: rect(32px, 1792px, 64px, 1760px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie57) { -moz-image-region: rect(32px, 1824px, 64px, 1792px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie58) { -moz-image-region: rect(32px, 1856px, 64px, 1824px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie59) { -moz-image-region: rect(32px, 1888px, 64px, 1856px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie60) { -moz-image-region: rect(32px, 1920px, 64px, 1888px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie61) { -moz-image-region: rect(32px, 1952px, 64px, 1920px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie62) { -moz-image-region: rect(32px, 1984px, 64px, 1952px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie63) { -moz-image-region: rect(32px, 2016px, 64px, 1984px); } -#zotero-items-tree treechildren::-moz-tree-image(selected, hasAttachment, pie64) { -moz-image-region: rect(32px, 2048px, 64px, 2016px); } -*/ - .items-tree-message { display: flex; flex-direction: column; diff --git a/chrome/skin/default/zotero/pie.png b/chrome/skin/default/zotero/pie.png deleted file mode 100644 index 26037e3bae2179d15471476618f7b406f2df26bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18282 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 D#h;P4 diff --git a/scss/components/_item-tree.scss b/scss/components/_item-tree.scss index a1ebd3b90d..eefc00a96f 100644 --- a/scss/components/_item-tree.scss +++ b/scss/components/_item-tree.scss @@ -163,6 +163,30 @@ } } } + + .attachment-progress { + appearance: none; + background-color: transparent; + background-image: conic-gradient(var(--fill-secondary) var(--progress), transparent var(--progress)); + border-radius: 8px; + border: none; + display: block; + height: 16px; + width: 16px; + + @include state(".row.selected") { + background-image: conic-gradient(var(--color-accent-text) var(--progress), transparent var(--progress)); + + @include state(".virtualized-table:not(:focus-within)") { + background-image: conic-gradient(var(--fill-secondary) var(--progress), transparent var(--progress)); + } + } + + &::-moz-progress-bar { + appearance: none; + background: transparent; + } + } } .cell.hasAttachment {