diff --git a/package-lock.json b/package-lock.json
index d06bc19..0f980a3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2467,9 +2467,9 @@
}
},
"node_modules/@iconify-json/lucide": {
- "version": "1.2.147",
- "resolved": "https://registry.npmjs.org/@iconify-json/lucide/-/lucide-1.2.147.tgz",
- "integrity": "sha512-7Qqa/joSBeUxihWsQJx5nKcqMWtV3YrH90Jldxcx4J9ciTLavRUlpexQwRTcx9dcb7CJpISfjZTj42zD/30sqA==",
+ "version": "1.2.149",
+ "resolved": "https://registry.npmjs.org/@iconify-json/lucide/-/lucide-1.2.149.tgz",
+ "integrity": "sha512-5NG9YdbtRS03hG1A+EIE6nLhhdAYsf0mKu1ZRi6kLMlCG8DxmDsRM6DAhwlNMLiSiQKFbHpKTJ2VddZdwUkUyw==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -3217,9 +3217,9 @@
"license": "MIT"
},
"node_modules/@types/estree": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
- "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.10.tgz",
+ "integrity": "sha512-lTyOMnOcmRBzdCv6/4zUZCrEhV0xrqQiUZBZtVcbmLHBXKLnN8q89v/wKRF/Q0HbwVsqbIG3o5HDoFl9sduM+g==",
"license": "MIT"
},
"node_modules/@types/json-schema": {
@@ -3860,9 +3860,9 @@
"license": "MIT"
},
"node_modules/baseline-browser-mapping": {
- "version": "2.11.33",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.33.tgz",
- "integrity": "sha512-yiVKDX+qCMRKBE084lXvq9EcwFUhKZ2nU8TK1EQQuOgPNR/lmbGxXOeDdlGUqC2Zz11Cs9rk1d/8NfgBmlkt0w==",
+ "version": "2.11.34",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.34.tgz",
+ "integrity": "sha512-Aqr8mA1kIvyJ3UY5YAY7ib8LSo1DmDMbMnVqGPtsKW1LxaFQFwn9Eb3yvq2fUKJsRvaXjnAV7R5osqETapzNiA==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -3966,9 +3966,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001819",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001819.tgz",
- "integrity": "sha512-LFUqIIAwpzsIuevnKnsR9qnStBcgzPShTX61lBwN9uFkkf8o8zLiebEjbW8AYtZiF+1YKDWfdt/pWDtMuG8Xwg==",
+ "version": "1.0.30001820",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001820.tgz",
+ "integrity": "sha512-gfWD6MxqVCqAOwmODfZf7DchWvlrA+SRdNX7ceLfg3xRqe5ssjjpF7EgslC/0tiLiNTajdaNN/q8c/5u/7Gz8w==",
"dev": true,
"funding": [
{
@@ -4156,9 +4156,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.5.465",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.465.tgz",
- "integrity": "sha512-zg4iUpbeGw7YNZsswc2xKr2uiBex2d8dELAXo92Icw3but1ULbrvK8USe6wVLaWjgJnKBARv0pchx9Owktx6wQ==",
+ "version": "1.5.467",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.467.tgz",
+ "integrity": "sha512-Nw9X371rtZmYcBSnEijnCDONILjs93biCZO34juC7MBOmK8E+GFnyD4T/WvyrlJkppul7oxg6TwvtKst9SODTw==",
"dev": true,
"license": "ISC"
},
@@ -4494,9 +4494,9 @@
}
},
"node_modules/exsolve": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.1.3.tgz",
- "integrity": "sha512-kuzL9zherLQoqDeQaS55AiiIg1kb4KYXaSusTtgZTPlvKP2gGCI82LNmBNh5RjDVUXIcmgx+/Mx7vPwRzBbhJA==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.2.0.tgz",
+ "integrity": "sha512-h1pQPR9XoeSMdntRNCjyTznaume4UpfXrULBnlkZ2CUM/G5eSa+pBByGldO5uR8dxbPC+OuJXsPPNf+JZ81ADg==",
"dev": true,
"license": "MIT"
},
diff --git a/package.json b/package.json
index 185071e..282a833 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"lint-fix": "eslint --fix",
"typecheck": "tsc --noEmit",
"test": "vitest run",
- "prepublishOnly": "npm run build && npm run lint",
+ "prepublishOnly": "npm run build && npm run lint && npm run test",
"preversion": "npm run typecheck && npm run lint",
"postpublish": "git push origin staging",
"start": "vite"
diff --git a/src/components/folder-pane-container/FolderPaneContainer.styles.css b/src/components/folder-pane-container/FolderPaneContainer.styles.css
index 56789dc..d862c40 100644
--- a/src/components/folder-pane-container/FolderPaneContainer.styles.css
+++ b/src/components/folder-pane-container/FolderPaneContainer.styles.css
@@ -12,8 +12,10 @@
display: flex;
flex: 1 1 auto;
flex-direction: column;
+ height: 100%;
min-height: 0;
width: 100%;
+ box-sizing: border-box;
overflow-y: auto;
overflow-x: hidden;
scrollbar-width: thin;
@@ -65,10 +67,10 @@
.resource-grid {
display: flex;
+ align-items: center;
flex-wrap: wrap;
flex: 1 1 auto;
align-content: flex-start;
- align-items: flex-start;
gap: 20px;
width: 100%;
min-height: 0;
@@ -83,9 +85,10 @@
position: relative;
display: flex;
flex-direction: column;
- flex: 0 0 auto;
- width: 206px;
- max-width: 100%;
+ flex: 1 1 206px;
+ width: min(206px, 100%);
+ min-width: 0;
+ max-width: 206px;
height: 145.824px;
border-radius: 5px;
border: 1px solid var(--solid-ui-color-gray-200, #cbd5e1);
@@ -124,6 +127,8 @@
.resource-grid-icon icon-lucide-file {
width: 64px;
height: 64px;
+ color: var(--solid-ui-color-gray-500, #6a7282);
+ stroke: var(--solid-ui-color-gray-500, #6a7282);
}
.resource-grid-icon--container {
@@ -197,6 +202,23 @@
outline-offset: -2px;
}
+ @media (max-width: 768px) {
+ .resource-grid {
+ gap: 15px;
+ }
+
+ .resource-grid,
+ .resource-list {
+ padding: 0;
+ }
+
+ .resource-grid-item {
+ flex: 0 0 calc((100% - 15px) / 2);
+ width: calc((100% - 15px) / 2);
+ max-width: none;
+ }
+ }
+
.resource-list-main {
display: flex;
align-items: center;
diff --git a/src/components/folder-pane-container/FolderPaneContainer.ts b/src/components/folder-pane-container/FolderPaneContainer.ts
index 4d9200e..9419bad 100644
--- a/src/components/folder-pane-container/FolderPaneContainer.ts
+++ b/src/components/folder-pane-container/FolderPaneContainer.ts
@@ -110,7 +110,7 @@ export default class FolderPaneContainer extends WebComponent {
private isRootSpecialFolder (resource: Resource) {
if (!resource.isContainer) return false
const label = utils.label(resource.subject).toLowerCase()
- return label === 'public' || label === 'trash'
+ return label === 'public'
}
private getResourcesFromStore () {
diff --git a/src/components/folder-pane-content/FolderPaneContent.styles.css b/src/components/folder-pane-content/FolderPaneContent.styles.css
index 33d3d16..9bb97f6 100644
--- a/src/components/folder-pane-content/FolderPaneContent.styles.css
+++ b/src/components/folder-pane-content/FolderPaneContent.styles.css
@@ -1,7 +1,14 @@
:host {
display: flex;
+ box-sizing: border-box;
flex-direction: column;
flex: 1 1 0%;
+ padding: 10px 16px;
+ align-items: stretch;
+ gap: 20px;
+ flex-shrink: 0;
+ align-self: stretch;
+ height: 100%;
width: 100%;
min-width: 0;
min-height: 0;
diff --git a/src/components/folder-pane-sidebar/FolderPaneSidebar.styles.css b/src/components/folder-pane-sidebar/FolderPaneSidebar.styles.css
index d1fcd42..3f4b305 100644
--- a/src/components/folder-pane-sidebar/FolderPaneSidebar.styles.css
+++ b/src/components/folder-pane-sidebar/FolderPaneSidebar.styles.css
@@ -122,8 +122,7 @@
}
.resource-row-special icon-lucide-folder,
- .resource-row-special icon-lucide-globe,
- .resource-row-special icon-lucide-trash-2 {
+ .resource-row-special icon-lucide-globe {
width: 16px;
height: 16px;
flex-shrink: 0;
diff --git a/src/components/folder-pane-sidebar/FolderPaneSidebar.ts b/src/components/folder-pane-sidebar/FolderPaneSidebar.ts
index d39f8e2..f15ef76 100644
--- a/src/components/folder-pane-sidebar/FolderPaneSidebar.ts
+++ b/src/components/folder-pane-sidebar/FolderPaneSidebar.ts
@@ -10,11 +10,10 @@ import '~icons/lucide/chevron-right'
import '~icons/lucide/circle-small'
import '~icons/lucide/folder'
import '~icons/lucide/globe'
-import '~icons/lucide/trash-2'
import { getResourcesForContainer, type FolderPaneResourceLogic } from '../../helpers'
import * as debug from '../../debug'
-type SpecialIcon = 'folder' | 'globe' | 'trash'
+type SpecialIcon = 'folder' | 'globe'
@customElement('folder-pane-sidebar')
export default class FolderPaneSidebar extends WebComponent {
@@ -203,7 +202,6 @@ export default class FolderPaneSidebar extends WebComponent {
private renderSpecialIcon (icon: SpecialIcon) {
if (icon === 'globe') return html`