This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #736 from cosmik-network/chore/mantine-9

Chore/mantine 9

+285 -311
+163 -172
package-lock.json
··· 2951 2951 } 2952 2952 }, 2953 2953 "node_modules/@floating-ui/core": { 2954 - "version": "1.7.3", 2955 - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", 2956 - "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", 2954 + "version": "1.7.5", 2955 + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", 2956 + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", 2957 + "license": "MIT", 2957 2958 "dependencies": { 2958 - "@floating-ui/utils": "^0.2.10" 2959 + "@floating-ui/utils": "^0.2.11" 2959 2960 } 2960 2961 }, 2961 2962 "node_modules/@floating-ui/dom": { 2962 - "version": "1.7.4", 2963 - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", 2964 - "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", 2963 + "version": "1.7.6", 2964 + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", 2965 + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", 2966 + "license": "MIT", 2965 2967 "dependencies": { 2966 - "@floating-ui/core": "^1.7.3", 2967 - "@floating-ui/utils": "^0.2.10" 2968 + "@floating-ui/core": "^1.7.5", 2969 + "@floating-ui/utils": "^0.2.11" 2968 2970 } 2969 2971 }, 2970 2972 "node_modules/@floating-ui/react": { 2971 - "version": "0.27.16", 2972 - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.16.tgz", 2973 - "integrity": "sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g==", 2973 + "version": "0.27.19", 2974 + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.19.tgz", 2975 + "integrity": "sha512-31B8h5mm8YxotlE7/AU/PhNAl8eWxAmjL/v2QOxroDNkTFLk3Uu82u63N3b6TXa4EGJeeZLVcd/9AlNlVqzeog==", 2976 + "license": "MIT", 2974 2977 "dependencies": { 2975 - "@floating-ui/react-dom": "^2.1.6", 2976 - "@floating-ui/utils": "^0.2.10", 2978 + "@floating-ui/react-dom": "^2.1.8", 2979 + "@floating-ui/utils": "^0.2.11", 2977 2980 "tabbable": "^6.0.0" 2978 2981 }, 2979 2982 "peerDependencies": { ··· 2982 2985 } 2983 2986 }, 2984 2987 "node_modules/@floating-ui/react-dom": { 2985 - "version": "2.1.6", 2986 - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz", 2987 - "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==", 2988 + "version": "2.1.8", 2989 + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", 2990 + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", 2991 + "license": "MIT", 2988 2992 "dependencies": { 2989 - "@floating-ui/dom": "^1.7.4" 2993 + "@floating-ui/dom": "^1.7.6" 2990 2994 }, 2991 2995 "peerDependencies": { 2992 2996 "react": ">=16.8.0", ··· 2994 2998 } 2995 2999 }, 2996 3000 "node_modules/@floating-ui/utils": { 2997 - "version": "0.2.10", 2998 - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", 2999 - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==" 3001 + "version": "0.2.11", 3002 + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", 3003 + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", 3004 + "license": "MIT" 3000 3005 }, 3001 3006 "node_modules/@flydotio/dockerfile": { 3002 3007 "version": "0.7.10", ··· 10540 10545 "dependencies": { 10541 10546 "@sinonjs/commons": "^3.0.0" 10542 10547 } 10548 + }, 10549 + "node_modules/@standard-schema/spec": { 10550 + "version": "1.1.0", 10551 + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", 10552 + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", 10553 + "license": "MIT" 10543 10554 }, 10544 10555 "node_modules/@storybook/addon-a11y": { 10545 10556 "version": "9.1.13", ··· 13656 13667 "version": "2.2.5", 13657 13668 "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", 13658 13669 "integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==", 13670 + "license": "MIT", 13659 13671 "engines": { 13660 13672 "node": ">=4" 13661 13673 } ··· 16174 16186 "node_modules/detect-node-es": { 16175 16187 "version": "1.1.0", 16176 16188 "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", 16177 - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" 16189 + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", 16190 + "license": "MIT" 16178 16191 }, 16179 16192 "node_modules/devlop": { 16180 16193 "version": "1.1.0", ··· 17256 17269 "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", 17257 17270 "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", 17258 17271 "dev": true, 17272 + "peer": true, 17259 17273 "dependencies": { 17260 17274 "@rtsao/scc": "^1.1.0", 17261 17275 "array-includes": "^3.1.9", ··· 18160 18174 "version": "2.1.2", 18161 18175 "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-2.1.2.tgz", 18162 18176 "integrity": "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig==", 18177 + "license": "MIT", 18163 18178 "dependencies": { 18164 18179 "tslib": "^2.7.0" 18165 18180 }, ··· 18569 18584 "version": "1.0.1", 18570 18585 "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", 18571 18586 "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", 18587 + "license": "MIT", 18572 18588 "engines": { 18573 18589 "node": ">=6" 18574 18590 } ··· 25891 25907 } 25892 25908 }, 25893 25909 "node_modules/react-dropzone": { 25894 - "version": "14.3.8", 25895 - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.3.8.tgz", 25896 - "integrity": "sha512-sBgODnq+lcA4P296DY4wacOZz3JFpD99fp+hb//iBO2HHnyeZU3FwWyXJ6salNpqQdsZrgMrotuko/BdJMV8Ug==", 25910 + "version": "15.0.0", 25911 + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-15.0.0.tgz", 25912 + "integrity": "sha512-lGjYV/EoqEjEWPnmiSvH4v5IoIAwQM2W4Z1C0Q/Pw2xD0eVzKPS359BQTUMum+1fa0kH2nrKjuavmTPOGhpLPg==", 25913 + "license": "MIT", 25897 25914 "dependencies": { 25898 25915 "attr-accept": "^2.2.4", 25899 25916 "file-selector": "^2.1.0", ··· 25987 26004 } 25988 26005 }, 25989 26006 "node_modules/react-number-format": { 25990 - "version": "5.4.4", 25991 - "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-5.4.4.tgz", 25992 - "integrity": "sha512-wOmoNZoOpvMminhifQYiYSTCLUDOiUbBunrMrMjA+dV52sY+vck1S4UhR6PkgnoCquvvMSeJjErXZ4qSaWCliA==", 26007 + "version": "5.4.5", 26008 + "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-5.4.5.tgz", 26009 + "integrity": "sha512-y8O2yHHj3w0aE9XO8d2BCcUOOdQTRSVq+WIuMlLVucAm5XNjJAy+BoOJiuQMldVYVOKTMyvVNfnbl2Oqp+YxGw==", 26010 + "license": "MIT", 25993 26011 "peerDependencies": { 25994 26012 "react": "^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", 25995 26013 "react-dom": "^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" ··· 26005 26023 } 26006 26024 }, 26007 26025 "node_modules/react-remove-scroll": { 26008 - "version": "2.7.1", 26009 - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", 26010 - "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", 26026 + "version": "2.7.2", 26027 + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", 26028 + "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", 26029 + "license": "MIT", 26011 26030 "dependencies": { 26012 26031 "react-remove-scroll-bar": "^2.3.7", 26013 26032 "react-style-singleton": "^2.2.3", ··· 26032 26051 "version": "2.3.8", 26033 26052 "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", 26034 26053 "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", 26054 + "license": "MIT", 26035 26055 "dependencies": { 26036 26056 "react-style-singleton": "^2.2.2", 26037 26057 "tslib": "^2.0.0" ··· 26053 26073 "version": "2.2.3", 26054 26074 "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", 26055 26075 "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", 26076 + "license": "MIT", 26056 26077 "dependencies": { 26057 26078 "get-nonce": "^1.0.0", 26058 26079 "tslib": "^2.0.0" ··· 26070 26091 } 26071 26092 } 26072 26093 }, 26073 - "node_modules/react-textarea-autosize": { 26074 - "version": "8.5.9", 26075 - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.9.tgz", 26076 - "integrity": "sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==", 26077 - "dependencies": { 26078 - "@babel/runtime": "^7.20.13", 26079 - "use-composed-ref": "^1.3.0", 26080 - "use-latest": "^1.2.1" 26081 - }, 26082 - "engines": { 26083 - "node": ">=10" 26084 - }, 26085 - "peerDependencies": { 26086 - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 26087 - } 26088 - }, 26089 26094 "node_modules/react-transition-group": { 26090 26095 "version": "4.4.5", 26091 26096 "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", ··· 28026 28031 } 28027 28032 }, 28028 28033 "node_modules/tabbable": { 28029 - "version": "6.2.0", 28030 - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", 28031 - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" 28034 + "version": "6.4.0", 28035 + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", 28036 + "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", 28037 + "license": "MIT" 28038 + }, 28039 + "node_modules/tagged-tag": { 28040 + "version": "1.0.0", 28041 + "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", 28042 + "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", 28043 + "license": "MIT", 28044 + "engines": { 28045 + "node": ">=20" 28046 + }, 28047 + "funding": { 28048 + "url": "https://github.com/sponsors/sindresorhus" 28049 + } 28032 28050 }, 28033 28051 "node_modules/tar-fs": { 28034 28052 "version": "3.1.1", ··· 29264 29282 "version": "1.3.3", 29265 29283 "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", 29266 29284 "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", 29285 + "license": "MIT", 29267 29286 "dependencies": { 29268 29287 "tslib": "^2.0.0" 29269 29288 }, ··· 29280 29299 } 29281 29300 } 29282 29301 }, 29283 - "node_modules/use-composed-ref": { 29284 - "version": "1.4.0", 29285 - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.4.0.tgz", 29286 - "integrity": "sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==", 29287 - "peerDependencies": { 29288 - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 29289 - }, 29290 - "peerDependenciesMeta": { 29291 - "@types/react": { 29292 - "optional": true 29293 - } 29294 - } 29295 - }, 29296 - "node_modules/use-isomorphic-layout-effect": { 29297 - "version": "1.2.1", 29298 - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz", 29299 - "integrity": "sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==", 29300 - "peerDependencies": { 29301 - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 29302 - }, 29303 - "peerDependenciesMeta": { 29304 - "@types/react": { 29305 - "optional": true 29306 - } 29307 - } 29308 - }, 29309 - "node_modules/use-latest": { 29310 - "version": "1.3.0", 29311 - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.3.0.tgz", 29312 - "integrity": "sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==", 29313 - "dependencies": { 29314 - "use-isomorphic-layout-effect": "^1.1.1" 29315 - }, 29316 - "peerDependencies": { 29317 - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 29318 - }, 29319 - "peerDependenciesMeta": { 29320 - "@types/react": { 29321 - "optional": true 29322 - } 29323 - } 29324 - }, 29325 29302 "node_modules/use-sidecar": { 29326 29303 "version": "1.1.3", 29327 29304 "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", 29328 29305 "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", 29306 + "license": "MIT", 29329 29307 "dependencies": { 29330 29308 "detect-node-es": "^1.1.0", 29331 29309 "tslib": "^2.0.0" ··· 30385 30363 "name": "semble-webapp", 30386 30364 "version": "0.1.0", 30387 30365 "dependencies": { 30388 - "@mantine/code-highlight": "8.3.1", 30389 - "@mantine/core": "8.3.1", 30390 - "@mantine/dates": "8.3.1", 30391 - "@mantine/dropzone": "8.3.1", 30392 - "@mantine/form": "8.3.1", 30393 - "@mantine/hooks": "8.3.1", 30394 - "@mantine/modals": "8.3.1", 30395 - "@mantine/notifications": "8.3.1", 30366 + "@mantine/code-highlight": "9.0.0", 30367 + "@mantine/core": "9.0.0", 30368 + "@mantine/dates": "9.0.0", 30369 + "@mantine/dropzone": "9.0.0", 30370 + "@mantine/form": "9.0.0", 30371 + "@mantine/hooks": "9.0.0", 30372 + "@mantine/modals": "9.0.0", 30373 + "@mantine/notifications": "9.0.0", 30396 30374 "@mdx-js/loader": "^3.1.1", 30397 30375 "@mdx-js/react": "^3.1.1", 30398 30376 "@next/mdx": "16.2.3", ··· 30439 30417 } 30440 30418 }, 30441 30419 "src/webapp/node_modules/@mantine/code-highlight": { 30442 - "version": "8.3.1", 30443 - "resolved": "https://registry.npmjs.org/@mantine/code-highlight/-/code-highlight-8.3.1.tgz", 30444 - "integrity": "sha512-YRjMuLGnNg8BlzYg1+Dj3ZW3sb4q0P9QBNZwGdKpe4x0dtLOPa3pVPnKWhSiD4/Y0cWUbCiyzUQ+MlzFYnAg9w==", 30420 + "version": "9.0.0", 30421 + "resolved": "https://registry.npmjs.org/@mantine/code-highlight/-/code-highlight-9.0.0.tgz", 30422 + "integrity": "sha512-haQLTURYNOhW6VAvdzAcBKoVUu4sOHaj5QfZ6ZT0qeS6fu/qpqSfS8sGRqVsSGdhQw2vjFUZ3szXF32IWV3jRg==", 30423 + "license": "MIT", 30445 30424 "dependencies": { 30446 30425 "clsx": "^2.1.1" 30447 30426 }, 30448 30427 "peerDependencies": { 30449 - "@mantine/core": "8.3.1", 30450 - "@mantine/hooks": "8.3.1", 30451 - "react": "^18.x || ^19.x", 30452 - "react-dom": "^18.x || ^19.x" 30428 + "@mantine/core": "9.0.0", 30429 + "@mantine/hooks": "9.0.0", 30430 + "react": "^19.2.0", 30431 + "react-dom": "^19.2.0" 30453 30432 } 30454 30433 }, 30455 30434 "src/webapp/node_modules/@mantine/core": { 30456 - "version": "8.3.1", 30457 - "resolved": "https://registry.npmjs.org/@mantine/core/-/core-8.3.1.tgz", 30458 - "integrity": "sha512-OYfxn9cTv+K6RZ8+Ozn/HDQXkB8Fmn+KJJt5lxyFDP9F09EHnC59Ldadv1LyUZVBGtNqz4sn6b3vBShbxwAmYw==", 30435 + "version": "9.0.0", 30436 + "resolved": "https://registry.npmjs.org/@mantine/core/-/core-9.0.0.tgz", 30437 + "integrity": "sha512-GUUXlf+4uDpRu5iZ1PFy1NmgG7ttI+1I6VTw3v/b7N1jwOUhARwL1moGjPMjo3Eie3tHdVOCiVMYAvhlQ1GI5Q==", 30438 + "license": "MIT", 30459 30439 "peer": true, 30460 30440 "dependencies": { 30461 - "@floating-ui/react": "^0.27.16", 30441 + "@floating-ui/react": "^0.27.19", 30462 30442 "clsx": "^2.1.1", 30463 - "react-number-format": "^5.4.4", 30464 - "react-remove-scroll": "^2.7.1", 30465 - "react-textarea-autosize": "8.5.9", 30466 - "type-fest": "^4.41.0" 30443 + "react-number-format": "^5.4.5", 30444 + "react-remove-scroll": "^2.7.2", 30445 + "type-fest": "^5.5.0" 30467 30446 }, 30468 30447 "peerDependencies": { 30469 - "@mantine/hooks": "8.3.1", 30470 - "react": "^18.x || ^19.x", 30471 - "react-dom": "^18.x || ^19.x" 30472 - } 30473 - }, 30474 - "src/webapp/node_modules/@mantine/core/node_modules/type-fest": { 30475 - "version": "4.41.0", 30476 - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", 30477 - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", 30478 - "engines": { 30479 - "node": ">=16" 30480 - }, 30481 - "funding": { 30482 - "url": "https://github.com/sponsors/sindresorhus" 30448 + "@mantine/hooks": "9.0.0", 30449 + "react": "^19.2.0", 30450 + "react-dom": "^19.2.0" 30483 30451 } 30484 30452 }, 30485 30453 "src/webapp/node_modules/@mantine/dates": { 30486 - "version": "8.3.1", 30487 - "resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-8.3.1.tgz", 30488 - "integrity": "sha512-qCGlLnrwu9eQsl+yQC/tEYgTEO8rE6hopagNpTV2/wzLBUywlL/AbtB1yHuOikQgZxXAOLfvIBWNTWUHRtTnfw==", 30454 + "version": "9.0.0", 30455 + "resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-9.0.0.tgz", 30456 + "integrity": "sha512-tJaV9WVSKZQ8TZspSY1RetO8L2hHMWcZIAaMJ8Aqwu1QOp6QcrErlKRdC8rze9BYQ+RIUFUrWB9uyoD1jQiUDA==", 30457 + "license": "MIT", 30489 30458 "dependencies": { 30490 30459 "clsx": "^2.1.1" 30491 30460 }, 30492 30461 "peerDependencies": { 30493 - "@mantine/core": "8.3.1", 30494 - "@mantine/hooks": "8.3.1", 30462 + "@mantine/core": "9.0.0", 30463 + "@mantine/hooks": "9.0.0", 30495 30464 "dayjs": ">=1.0.0", 30496 - "react": "^18.x || ^19.x", 30497 - "react-dom": "^18.x || ^19.x" 30465 + "react": "^19.2.0", 30466 + "react-dom": "^19.2.0" 30498 30467 } 30499 30468 }, 30500 30469 "src/webapp/node_modules/@mantine/dropzone": { 30501 - "version": "8.3.1", 30502 - "resolved": "https://registry.npmjs.org/@mantine/dropzone/-/dropzone-8.3.1.tgz", 30503 - "integrity": "sha512-jsaZhX02Uu8FDWBYNk59wWEBNO0hrayuBfRGqSjY/FQwRHZXIBgfuBsE3AIBJte6ptX+gWSR0Bhwids0LicEtg==", 30470 + "version": "9.0.0", 30471 + "resolved": "https://registry.npmjs.org/@mantine/dropzone/-/dropzone-9.0.0.tgz", 30472 + "integrity": "sha512-lOGxFrYlld06cJPy/WKDssr3Ett4qFn/8xEkMsZvuOy1u89L1Bz+6vv+gT4RVbSIyKB0JD9/yBxVR5GJyN6D6g==", 30473 + "license": "MIT", 30504 30474 "dependencies": { 30505 - "react-dropzone": "14.3.8" 30475 + "react-dropzone": "15.0.0" 30506 30476 }, 30507 30477 "peerDependencies": { 30508 - "@mantine/core": "8.3.1", 30509 - "@mantine/hooks": "8.3.1", 30510 - "react": "^18.x || ^19.x", 30511 - "react-dom": "^18.x || ^19.x" 30478 + "@mantine/core": "9.0.0", 30479 + "@mantine/hooks": "9.0.0", 30480 + "react": "^19.2.0", 30481 + "react-dom": "^19.2.0" 30512 30482 } 30513 30483 }, 30514 30484 "src/webapp/node_modules/@mantine/form": { 30515 - "version": "8.3.1", 30516 - "resolved": "https://registry.npmjs.org/@mantine/form/-/form-8.3.1.tgz", 30517 - "integrity": "sha512-kmnF5o0Tl/Wi+ZGdqNknoN7QDswxuRo7OlPDRwXuxv/TcazuOIwf7j0p6kFzJ0c/wuqrZfjx3vnOg4Txtmwa1g==", 30485 + "version": "9.0.0", 30486 + "resolved": "https://registry.npmjs.org/@mantine/form/-/form-9.0.0.tgz", 30487 + "integrity": "sha512-13YUrYAyzvwwPQL5X+yMb0lbtiv2pfyrU/hvVWAitm5X7twuMYrHBlpci+umdKZnsrY6Q/6M5HHsToVOrZ6rvA==", 30488 + "license": "MIT", 30518 30489 "dependencies": { 30490 + "@standard-schema/spec": "^1.1.0", 30519 30491 "fast-deep-equal": "^3.1.3", 30520 30492 "klona": "^2.0.6" 30521 30493 }, 30522 30494 "peerDependencies": { 30523 - "react": "^18.x || ^19.x" 30495 + "react": "^19.2.0" 30524 30496 } 30525 30497 }, 30526 30498 "src/webapp/node_modules/@mantine/hooks": { 30527 - "version": "8.3.1", 30528 - "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-8.3.1.tgz", 30529 - "integrity": "sha512-lQutBS+Q0iz/cNFvdrsYassPWo3RtWcmDGJeOtKfHigLzFOhxUuLOkQgepDbMf3WcVMB/tist6Px1PQOv57JTw==", 30499 + "version": "9.0.0", 30500 + "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-9.0.0.tgz", 30501 + "integrity": "sha512-TKcz+k0JH/jtblBfwOw/vXBX2EpJO66psJ5ZVmdDhwc6vbHDsvY6oYN8ynt9TfRn/eHZXsEmLPNj+wuGtWy4BA==", 30502 + "license": "MIT", 30530 30503 "peer": true, 30531 30504 "peerDependencies": { 30532 - "react": "^18.x || ^19.x" 30505 + "react": "^19.2.0" 30533 30506 } 30534 30507 }, 30535 30508 "src/webapp/node_modules/@mantine/modals": { 30536 - "version": "8.3.1", 30537 - "resolved": "https://registry.npmjs.org/@mantine/modals/-/modals-8.3.1.tgz", 30538 - "integrity": "sha512-3+OL1VcrKI91eqfLR4j6gIKHxwCVINNBrBdIVKc4ozAPAF/XI5VXwhXYxV/Nd7B2lxQgsOlIK5rjEKFvTfHZBg==", 30509 + "version": "9.0.0", 30510 + "resolved": "https://registry.npmjs.org/@mantine/modals/-/modals-9.0.0.tgz", 30511 + "integrity": "sha512-VUPpkeOpGH/+eZ8gVAZ1+XI5/FScpBkyUisTgihNdwZyDYKe3gOcAYhRvFnEagEIbUwG5QXq1qC6mPlI34E6jQ==", 30512 + "license": "MIT", 30539 30513 "peerDependencies": { 30540 - "@mantine/core": "8.3.1", 30541 - "@mantine/hooks": "8.3.1", 30542 - "react": "^18.x || ^19.x", 30543 - "react-dom": "^18.x || ^19.x" 30514 + "@mantine/core": "9.0.0", 30515 + "@mantine/hooks": "9.0.0", 30516 + "react": "^19.2.0", 30517 + "react-dom": "^19.2.0" 30544 30518 } 30545 30519 }, 30546 30520 "src/webapp/node_modules/@mantine/notifications": { 30547 - "version": "8.3.1", 30548 - "resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-8.3.1.tgz", 30549 - "integrity": "sha512-C1Iqa4g1HNNTLv2/CxOCR1mNlYNFCNtnS0u/JsR+HvtFVrun1namxDG6e6/U0hIva2klogYdivx4cyxmjPFerg==", 30521 + "version": "9.0.0", 30522 + "resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-9.0.0.tgz", 30523 + "integrity": "sha512-BHln+CvmiQx59dMIzwxjLnXN3ongqRFHyox8DogSkMFwVfH76CTahTMz+1AA2fvkZOI0svsqR0zBZ/J7o3uUqw==", 30524 + "license": "MIT", 30550 30525 "dependencies": { 30551 - "@mantine/store": "8.3.1", 30526 + "@mantine/store": "9.0.0", 30552 30527 "react-transition-group": "4.4.5" 30553 30528 }, 30554 30529 "peerDependencies": { 30555 - "@mantine/core": "8.3.1", 30556 - "@mantine/hooks": "8.3.1", 30557 - "react": "^18.x || ^19.x", 30558 - "react-dom": "^18.x || ^19.x" 30530 + "@mantine/core": "9.0.0", 30531 + "@mantine/hooks": "9.0.0", 30532 + "react": "^19.2.0", 30533 + "react-dom": "^19.2.0" 30559 30534 } 30560 30535 }, 30561 - "src/webapp/node_modules/@mantine/notifications/node_modules/@mantine/store": { 30562 - "version": "8.3.1", 30563 - "resolved": "https://registry.npmjs.org/@mantine/store/-/store-8.3.1.tgz", 30564 - "integrity": "sha512-OZwg0YKbCEKnkFmS9oRLKA8TMriBzO1T6nUib1yfLCx0VFuznllYZiDtaSWNkEYSdnFWCv5hKh5aOD4RHUnQfQ==", 30536 + "src/webapp/node_modules/@mantine/store": { 30537 + "version": "9.0.0", 30538 + "resolved": "https://registry.npmjs.org/@mantine/store/-/store-9.0.0.tgz", 30539 + "integrity": "sha512-ts1cfBqJEASBNuZ3vzOGDLkfQjF9EDFqUUSOOqZRiwtwt3OyZojIxfWMBcATorH8UODM7dsUhfI82VbGUjZiJA==", 30540 + "license": "MIT", 30565 30541 "peerDependencies": { 30566 - "react": "^18.x || ^19.x" 30542 + "react": "^19.2.0" 30567 30543 } 30568 30544 }, 30569 30545 "src/webapp/node_modules/@next/env": { ··· 30809 30785 "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", 30810 30786 "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", 30811 30787 "license": "MIT" 30788 + }, 30789 + "src/webapp/node_modules/type-fest": { 30790 + "version": "5.5.0", 30791 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.5.0.tgz", 30792 + "integrity": "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==", 30793 + "license": "(MIT OR CC0-1.0)", 30794 + "dependencies": { 30795 + "tagged-tag": "^1.0.0" 30796 + }, 30797 + "engines": { 30798 + "node": ">=20" 30799 + }, 30800 + "funding": { 30801 + "url": "https://github.com/sponsors/sindresorhus" 30802 + } 30812 30803 } 30813 30804 } 30814 30805 }
+4 -5
src/webapp/components/landing/navMenu/NavMenu.tsx
··· 1 1 'use client'; 2 2 3 - import { Group, Button, ScrollAreaAutosize } from '@mantine/core'; 4 - import { useDisclosure, useOs } from '@mantine/hooks'; 3 + import { Group, Button, Scroller } from '@mantine/core'; 4 + import { useOs } from '@mantine/hooks'; 5 5 import { LinkButton } from '@/components/link/MantineLink'; 6 6 7 7 const IOS_SHORTCUT_HREF = 8 8 'https://www.icloud.com/shortcuts/9c4b4b4bc4ef4d6d93513c59373b0af6'; 9 9 10 10 export default function NavMenu() { 11 - const [opened, { toggle }] = useDisclosure(false); 12 11 const os = useOs(); 13 12 const isIos = os === 'ios'; 14 13 15 14 return ( 16 - <ScrollAreaAutosize> 15 + <Scroller> 17 16 <Group gap="xs"> 18 17 <Button 19 18 data-tally-open="31a9Ng" ··· 39 38 </LinkButton> 40 39 )} 41 40 </Group> 42 - </ScrollAreaAutosize> 41 + </Scroller> 43 42 ); 44 43 }
+3 -7
src/webapp/features/cards/components/addCardDrawer/AddCardForm.tsx
··· 6 6 Flex, 7 7 Group, 8 8 Input, 9 - ScrollArea, 10 9 Stack, 11 10 Text, 12 11 Textarea, ··· 14 13 ThemeIcon, 15 14 VisuallyHidden, 16 15 Container, 16 + Scroller, 17 17 } from '@mantine/core'; 18 18 import { useForm } from '@mantine/form'; 19 19 import { notifications } from '@mantine/notifications'; ··· 163 163 {selectedCollections.length > 0 && 164 164 `(${selectedCollections.length})`} 165 165 </Text> 166 - <ScrollArea.Autosize 167 - type="hover" 168 - scrollbars="x" 169 - offsetScrollbars={true} 170 - > 166 + <Scroller> 171 167 <Group gap={'xs'} wrap="nowrap"> 172 168 <Button 173 169 disabled={addCard.isPending} ··· 228 224 ); 229 225 })} 230 226 </Group> 231 - </ScrollArea.Autosize> 227 + </Scroller> 232 228 </Stack> 233 229 234 230 <Group justify="space-between" gap={'xs'} grow>
+1 -1
src/webapp/features/cards/containers/cardsContainer/Skeleton.CardsContainer.tsx
··· 18 18 <Skeleton w={100} h={36} radius={'xl'} /> 19 19 </Group> 20 20 21 - <Grid gutter="xs"> 21 + <Grid gap="xs"> 22 22 {Array.from({ length: 8 }).map((_, i) => ( 23 23 <GridCol key={i} span={{ base: 12, xs: 6, sm: 4, lg: 3 }}> 24 24 <UrlCardSkeleton />
+1 -1
src/webapp/features/cards/containers/cardsContainerContent/CardsContainerContent.tsx
··· 79 79 isLoading={isFetchingNextPage} 80 80 loadMore={fetchNextPage} 81 81 > 82 - <Grid gutter={settings.cardView === 'list' ? 0 : 'xs'}> 82 + <Grid gap={settings.cardView === 'list' ? 0 : 'xs'}> 83 83 {allCards.map((card, index) => ( 84 84 <Fragment key={card.id}> 85 85 {settings.cardView === 'list' && index > 0 && (
+1 -1
src/webapp/features/cards/containers/cardsContainerContent/Skeleton.CardsContainerContent.tsx
··· 4 4 export default function CardsContainerContentSkeleton() { 5 5 return ( 6 6 <Stack> 7 - <Grid gutter="xs"> 7 + <Grid gap="xs"> 8 8 {Array.from({ length: 8 }).map((_, i) => ( 9 9 <GridCol key={i} span={{ base: 12, xs: 6, sm: 4, lg: 3 }}> 10 10 <UrlCardSkeleton />
+1 -1
src/webapp/features/collections/components/collectionCard/Skeleton.CollectionCard.tsx
··· 18 18 <Stack gap={5}> 19 19 <Skeleton w={'100%'} h={14} /> 20 20 </Stack> 21 - <Grid gutter={'xs'}> 21 + <Grid gap={'xs'}> 22 22 {Array.from({ length: 4 }).map((_, i) => ( 23 23 <GridCol key={i} span={3}> 24 24 <AspectRatio ratio={16 / 9}>
+1 -1
src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
··· 21 21 if (cards.length === 0) return null; 22 22 23 23 return ( 24 - <Grid gutter={'xs'}> 24 + <Grid gap={'xs'}> 25 25 {cards.map((c) => ( 26 26 <Grid.Col key={c.id} span={3}> 27 27 {c.cardContent.imageUrl && !imageError ? (
+1 -1
src/webapp/features/collections/components/collectionCardPreview/Skeleton.CollectionCardPreview.tsx
··· 2 2 3 3 export default function CollectionCardPreviewSkeleton() { 4 4 return ( 5 - <Grid gutter={'xs'}> 5 + <Grid gap={'xs'}> 6 6 {Array.from({ length: 4 }).map((_, i) => ( 7 7 <GridCol key={i} span={3}> 8 8 <AspectRatio ratio={16 / 9}>
+6 -5
src/webapp/features/collections/components/collectionSelector/CollectionSelector.tsx
··· 8 8 FocusTrap, 9 9 Tabs, 10 10 ThemeIcon, 11 - ScrollAreaAutosize, 11 + Scroller, 12 12 } from '@mantine/core'; 13 13 import CollectionSelectorMyCollections from '../collectionSelectorMyCollections/CollectionSelectorMyCollections'; 14 14 import CollectionSelectorOpenCollections from '../collectionSelectorOpenCollections/CollectionSelectorOpenCollections'; ··· 32 32 <Stack gap={'xl'}> 33 33 <FocusTrap.InitialFocus /> 34 34 <Tabs defaultValue={'myCollections'} keepMounted={false}> 35 - <ScrollAreaAutosize type="scroll"> 36 - <Tabs.List grow mb={'xs'} style={{ flexWrap: 'nowrap' }}> 35 + <Tabs.List grow mb={'xs'} style={{ flexWrap: 'nowrap' }}> 36 + <Scroller> 37 37 <Tabs.Tab classNames={classes} value="myCollections"> 38 38 My Collections 39 39 </Tabs.Tab> ··· 70 70 > 71 71 AtmosphereConf 72 72 </Tabs.Tab> 73 - </Tabs.List> 74 - </ScrollAreaAutosize> 73 + </Scroller> 74 + </Tabs.List> 75 + 75 76 <Tabs.Panel value="myCollections"> 76 77 <Suspense> 77 78 <CollectionSelectorMyCollections
+5 -5
src/webapp/features/collections/components/collectionTabs/CollectionTabs.tsx
··· 1 1 'use client'; 2 2 3 - import { Group, Paper, ScrollAreaAutosize, Tabs } from '@mantine/core'; 3 + import { Group, Paper, Scroller, Tabs } from '@mantine/core'; 4 4 import { usePathname } from 'next/navigation'; 5 5 import TabItem from './TabItem'; 6 6 import ContributorTab from './ContributorTab'; ··· 19 19 return ( 20 20 <Tabs value={currentTab}> 21 21 <Paper radius={0}> 22 - <ScrollAreaAutosize type="scroll"> 23 - <Tabs.List> 22 + <Tabs.List> 23 + <Scroller> 24 24 <Group wrap="nowrap"> 25 25 <TabItem value="cards" href={basePath}> 26 26 Cards ··· 34 34 basePath={basePath} 35 35 /> 36 36 </Group> 37 - </Tabs.List> 38 - </ScrollAreaAutosize> 37 + </Scroller> 38 + </Tabs.List> 39 39 </Paper> 40 40 </Tabs> 41 41 );
+1 -1
src/webapp/features/collections/containers/collectionContainerContent/CollectionContainerContent.tsx
··· 72 72 isLoading={isFetchingNextPage} 73 73 loadMore={fetchNextPage} 74 74 > 75 - <Grid gutter={settings.cardView === 'list' ? 0 : 'xs'}> 75 + <Grid gap={settings.cardView === 'list' ? 0 : 'xs'}> 76 76 {allCards.map((card, index) => ( 77 77 <Fragment key={card.id}> 78 78 {settings.cardView === 'list' && index > 0 && (
+1 -1
src/webapp/features/collections/containers/collectionContainerContent/Skeleton.CollectionContainerContent.tsx
··· 3 3 4 4 export default function CollectionContainerContentSkeleton() { 5 5 return ( 6 - <Grid gutter="xs"> 6 + <Grid gap="xs"> 7 7 {Array.from({ length: 8 }).map((_, i) => ( 8 8 <GridCol key={i} span={{ base: 12, xs: 6, sm: 4, lg: 3 }}> 9 9 <UrlCardSkeleton />
+1 -1
src/webapp/features/collections/containers/collectionEmbedContainer/CollectionEmbedContainer.tsx
··· 120 120 isLoading={isFetchingNextPage} 121 121 loadMore={fetchNextPage} 122 122 > 123 - <Grid gutter="xs"> 123 + <Grid gap="xs"> 124 124 {allCards.map((card) => ( 125 125 <Grid.Col 126 126 key={card.id}
+3 -7
src/webapp/features/composer/components/Composer.tsx
··· 8 8 Flex, 9 9 Group, 10 10 Input, 11 - ScrollArea, 12 11 Select, 13 12 Stack, 14 13 SegmentedControl, ··· 17 16 TextInput, 18 17 ThemeIcon, 19 18 VisuallyHidden, 19 + Scroller, 20 20 } from '@mantine/core'; 21 21 import { useState, useEffect, Suspense } from 'react'; 22 22 import { Collection, CollectionAccessType } from '@semble/types'; ··· 314 314 {selectedCollections.length > 0 && 315 315 `(${selectedCollections.length})`} 316 316 </Text> 317 - <ScrollArea.Autosize 318 - type="hover" 319 - scrollbars="x" 320 - offsetScrollbars={true} 321 - > 317 + <Scroller> 322 318 <Group gap={'xs'} wrap="nowrap"> 323 319 <Button 324 320 onClick={toggleCollectionSelector} ··· 383 379 ); 384 380 })} 385 381 </Group> 386 - </ScrollArea.Autosize> 382 + </Scroller> 387 383 </Stack> 388 384 389 385 <Group
+1 -1
src/webapp/features/connections/components/connectionCard/ConnectionCard.tsx
··· 15 15 const targetUrlView = props.connection.target; 16 16 17 17 const content = ( 18 - <Grid gutter={'xs'} align="stretch"> 18 + <Grid gap={'xs'} align="stretch"> 19 19 {/* Source URL */} 20 20 <Grid.Col span={{ base: 12, sm: 4.75 }}> 21 21 <UrlCard
+1 -1
src/webapp/features/connections/components/profileConnectionItem/Skeleton.ProfileConnectionItem.tsx
··· 27 27 </Stack> 28 28 </Group> 29 29 30 - <Grid gutter={'xs'} align="center"> 30 + <Grid gap={'xs'} align="center"> 31 31 {/* Source URL */} 32 32 <GridCol span={{ base: 12, sm: 4.75 }}> 33 33 <UrlCardSkeleton />
+21 -28
src/webapp/features/feeds/components/feedControls/FeedControls.tsx
··· 1 1 'use client'; 2 2 3 - import { 4 - ScrollAreaAutosize, 5 - Button, 6 - Group, 7 - Menu, 8 - Image, 9 - Popover, 10 - } from '@mantine/core'; 3 + import { Button, Group, Menu, Image, Popover, Scroller } from '@mantine/core'; 11 4 import { useRouter, useSearchParams } from 'next/navigation'; 12 5 import { ActivitySource, UrlType, ActivityType } from '@semble/types'; 13 6 import { useOptimistic, useState, useTransition } from 'react'; ··· 190 183 optimisticType === null ? MdFilterList : getUrlTypeIcon(optimisticType); 191 184 192 185 return ( 193 - <ScrollAreaAutosize type="scroll" offsetScrollbars={'present'}> 194 - <Group gap={'xs'} justify="space-between" wrap="nowrap"> 186 + <Group gap={'xs'} justify="space-between" wrap="nowrap"> 187 + <Scroller> 195 188 <Menu width={200} position="bottom-start"> 196 189 <Menu.Target> 197 190 <Button variant="light" color="cyan" leftSection={<MdFilterList />}> ··· 351 344 )} 352 345 </Menu.Dropdown> 353 346 </Menu> 347 + </Scroller> 354 348 355 - <Group gap={'xs'}> 356 - <LinkButton 357 - href={'/explore/open-collections'} 358 - color="green" 359 - variant="light" 360 - > 361 - <FaSeedling /> 362 - </LinkButton> 363 - <LinkButton 364 - href={'/explore/atmosphereConf-collections'} 365 - color="#4098FF" 366 - variant="light" 367 - fz={'md'} 368 - > 369 - 🪿 370 - </LinkButton> 371 - </Group> 349 + <Group gap={'xs'} wrap="nowrap"> 350 + <LinkButton 351 + href={'/explore/open-collections'} 352 + color="green" 353 + variant="light" 354 + > 355 + <FaSeedling /> 356 + </LinkButton> 357 + <LinkButton 358 + href={'/explore/atmosphereConf-collections'} 359 + color="blue" 360 + variant="light" 361 + fz={'md'} 362 + > 363 + 🪿 364 + </LinkButton> 372 365 </Group> 373 - </ScrollAreaAutosize> 366 + </Group> 374 367 ); 375 368 }
+1 -1
src/webapp/features/feeds/containers/myFeedContainer/MyFeedContainer.tsx
··· 99 99 100 100 return ( 101 101 <Container p="xs" size="xl"> 102 - <Collapse in={showRefetchLoader} transitionDuration={350}> 102 + <Collapse expanded={showRefetchLoader} transitionDuration={350}> 103 103 <Stack align="center" gap={'xs'}> 104 104 <Loader size={'sm'} color={'gray'} /> 105 105 <Text fw={600} c={'gray'} mb={'sm'}>
+1 -1
src/webapp/features/home/components/discoverOnSemble/DiscoverOnSemble.tsx
··· 43 43 </Group> 44 44 45 45 {cards.length > 0 ? ( 46 - <Grid gutter={settings.cardView === 'list' ? 0 : 'xs'}> 46 + <Grid gap={settings.cardView === 'list' ? 0 : 'xs'}> 47 47 {cards.slice(0, 3).map((item, i) => ( 48 48 <Fragment key={i}> 49 49 {settings.cardView === 'list' && i > 0 && (
+1 -1
src/webapp/features/home/components/discoverOnSemble/Skeleton.DiscoverOnSemble.tsx
··· 21 21 </LinkButton> 22 22 </Group> 23 23 24 - <Grid gutter="xs"> 24 + <Grid gap="xs"> 25 25 {Array.from({ length: 3 }).map((_, i) => ( 26 26 <GridCol key={i} span={{ base: 12, sm: 4 }}> 27 27 <UrlCardSkeleton />
+1 -1
src/webapp/features/home/components/recentCards/RecentCards.tsx
··· 46 46 </Group> 47 47 48 48 {cards.length > 0 ? ( 49 - <Grid gutter={settings.cardView === 'list' ? 0 : 'xs'}> 49 + <Grid gap={settings.cardView === 'list' ? 0 : 'xs'}> 50 50 {cards.map((card, index) => ( 51 51 <Fragment key={card.id}> 52 52 {settings.cardView === 'list' && index > 0 && (
+1 -1
src/webapp/features/home/components/recentCards/Skeleton.RecentCards.tsx
··· 13 13 <Skeleton w={87} h={36} radius={'xl'} /> 14 14 </Group> 15 15 16 - <Grid gutter="xs"> 16 + <Grid gap="xs"> 17 17 {Array.from({ length: 4 }).map((_, i) => ( 18 18 <GridCol key={i} span={{ base: 12, xs: 6, sm: 4, lg: 3 }}> 19 19 <UrlCardSkeleton />
+1 -1
src/webapp/features/notifications/containers/notificationsContainer/NotificationsContainer.tsx
··· 111 111 </Button> 112 112 </Group> 113 113 )} 114 - <Collapse in={showRefetchLoader} transitionDuration={400}> 114 + <Collapse expanded={showRefetchLoader} transitionDuration={400}> 115 115 <Stack align="center" gap={'xs'}> 116 116 <Loader size={'sm'} color={'gray'} /> 117 117 <Text fw={600} c={'gray'} mb={'sm'}>
+1 -1
src/webapp/features/platforms/bluesky/components/contentHider/ContentHider.tsx
··· 53 53 )} 54 54 </Group> 55 55 </Alert> 56 - <Collapse in={show}>{children}</Collapse> 56 + <Collapse expanded={show}>{children}</Collapse> 57 57 </Fragment> 58 58 ); 59 59 }
+1 -1
src/webapp/features/platforms/bluesky/container/blueskyMentionsContainer/BlueskyMentionsContainer.tsx
··· 45 45 isLoading={isFetchingNextPage} 46 46 loadMore={fetchNextPage} 47 47 > 48 - <Grid gutter="sm" mx={'auto'} maw={600} w={'100%'}> 48 + <Grid gap="sm" mx={'auto'} maw={600} w={'100%'}> 49 49 {allPosts.map((post) => ( 50 50 <Grid.Col key={post.uri} span={12}> 51 51 <BlueskyMentionPost post={post} />
+1 -1
src/webapp/features/platforms/bluesky/container/blueskyMentionsContainer/Skeleton.BlueskyMentionsContainer.tsx
··· 4 4 export default function BlueskyMentionsContainerSkeleton() { 5 5 return ( 6 6 <Stack> 7 - <Grid gutter="sm" mx={'auto'} maw={600}> 7 + <Grid gap="sm" mx={'auto'} maw={600}> 8 8 {/* not necessary to check if navbar is open */} 9 9 {Array.from({ length: 8 }).map((_, i) => ( 10 10 <GridCol key={i} span={12}>
+1 -1
src/webapp/features/platforms/leaflet/container/leafletMentionsContainer/LeafletMentionsContainer.tsx
··· 43 43 isLoading={isFetchingNextPage} 44 44 loadMore={fetchNextPage} 45 45 > 46 - <Grid gutter="sm" mx={'auto'} maw={600}> 46 + <Grid gap="sm" mx={'auto'} maw={600}> 47 47 {allUrls.map((urlView) => ( 48 48 <Grid.Col key={urlView.url} span={12}> 49 49 <SimilarUrlCard urlView={urlView} />
+1 -1
src/webapp/features/platforms/leaflet/container/leafletMentionsContainer/Skeleton.LeafletMentionsContainer.tsx
··· 4 4 export default function LeafletMentionsContainerSkeleton() { 5 5 return ( 6 6 <Stack> 7 - <Grid gutter="sm" mx={'auto'} maw={600}> 7 + <Grid gap="sm" mx={'auto'} maw={600}> 8 8 {Array.from({ length: 8 }).map((_, i) => ( 9 9 <GridCol key={i} span={12}> 10 10 <UrlCardSkeleton />
+5 -5
src/webapp/features/profile/components/profileTabs/ProfileTabs.tsx
··· 1 1 'use client'; 2 2 3 - import { Group, Paper, ScrollAreaAutosize, Tabs } from '@mantine/core'; 3 + import { Paper, Scroller, Tabs } from '@mantine/core'; 4 4 import TabItem from './TabItem'; 5 5 import { usePathname } from 'next/navigation'; 6 6 import { useFeatureFlags } from '@/lib/clientFeatureFlags'; ··· 24 24 return ( 25 25 <Tabs value={currentTab}> 26 26 <Paper radius={0}> 27 - <ScrollAreaAutosize type="scroll"> 28 - <Tabs.List style={{ flexWrap: 'nowrap' }}> 27 + <Tabs.List style={{ flexWrap: 'nowrap' }}> 28 + <Scroller> 29 29 <TabItem value="profile" href={basePath}> 30 30 Profile 31 31 </TabItem> ··· 58 58 Graph 59 59 </TabItem> 60 60 )} 61 - </Tabs.List> 62 - </ScrollAreaAutosize> 61 + </Scroller> 62 + </Tabs.List> 63 63 </Paper> 64 64 </Tabs> 65 65 );
+1 -1
src/webapp/features/profile/containers/profileConnectionsContainer/ProfileConnectionsContainer.tsx
··· 100 100 isLoading={isFetchingNextPage} 101 101 loadMore={fetchNextPage} 102 102 > 103 - <Grid gutter="xl" mx={'auto'} maw={700} w={'100%'}> 103 + <Grid gap="xl" mx={'auto'} maw={700} w={'100%'}> 104 104 {allConnections.map((connection, index) => ( 105 105 <Grid.Col key={`connection-${index}`} span={12}> 106 106 <ProfileConnectionItem
+1 -1
src/webapp/features/profile/containers/profileConnectionsContainer/Skeleton.ProfileConnectionsContainer.tsx
··· 16 16 <Skeleton w={95} h={36} radius={'xl'} /> 17 17 </Group> 18 18 19 - <Grid gutter="xl" mx={'auto'} maw={700} w={'100%'}> 19 + <Grid gap="xl" mx={'auto'} maw={700} w={'100%'}> 20 20 {Array.from({ length: 3 }).map((_, i) => ( 21 21 <GridCol key={i} span={12}> 22 22 <ProfileConnectionItemSkeleton />
+1 -1
src/webapp/features/profile/containers/profileContainer/ProfileContainer.tsx
··· 61 61 </Group> 62 62 63 63 {cards.length > 0 ? ( 64 - <Grid gutter="xs"> 64 + <Grid gap="xs"> 65 65 {cards.map((card) => ( 66 66 <Grid.Col 67 67 key={card.id}
+1 -1
src/webapp/features/profile/containers/profileContainer/Skeleton.ProfileContainer.tsx
··· 24 24 <Skeleton w={87} h={36} radius={'xl'} /> 25 25 </Group> 26 26 27 - <Grid gutter="xs"> 27 + <Grid gap="xs"> 28 28 {Array.from({ length: 4 }).map((_, i) => ( 29 29 <GridCol key={i} span={{ base: 12, xs: 6, sm: 4, lg: 3 }}> 30 30 <UrlCardSkeleton />
+5 -11
src/webapp/features/search/components/searchTabs/SearchTabs.tsx
··· 1 1 'use client'; 2 2 3 - import { 4 - Tabs, 5 - Stack, 6 - ScrollAreaAutosize, 7 - TabsList, 8 - Group, 9 - } from '@mantine/core'; 3 + import { Tabs, Stack, Scroller, TabsList, Group } from '@mantine/core'; 10 4 import { BiCollection } from 'react-icons/bi'; 11 5 import { FaRegNoteSticky } from 'react-icons/fa6'; 12 6 import { MdOutlinePeopleAlt } from 'react-icons/md'; ··· 49 43 <Stack gap="xs"> 50 44 <SearchBar query={query} /> 51 45 52 - <ScrollAreaAutosize type="scroll"> 53 - <TabsList> 46 + <TabsList> 47 + <Scroller> 54 48 <Group gap={0} wrap="nowrap"> 55 49 <SearchTabItem 56 50 value="cards" ··· 68 62 icon={<MdOutlinePeopleAlt />} 69 63 /> 70 64 </Group> 71 - </TabsList> 72 - </ScrollAreaAutosize> 65 + </Scroller> 66 + </TabsList> 73 67 </Stack> 74 68 </Tabs> 75 69 );
+1 -1
src/webapp/features/search/containers/cardSearchResultsContainer/CardSearchResultsContainer.tsx
··· 63 63 isLoading={isFetchingNextPage} 64 64 loadMore={fetchNextPage} 65 65 > 66 - <Grid gutter="xs"> 66 + <Grid gap="xs"> 67 67 {allUrls.map((urlView) => ( 68 68 <Grid.Col key={urlView.url} span={12}> 69 69 <SimilarUrlCard
+1 -1
src/webapp/features/search/containers/cardSearchResultsContainer/Skeleton.CardSearchresultsContainerSkeleton.tsx
··· 3 3 4 4 export default function CardSearchResultsContainerSkeleton() { 5 5 return ( 6 - <Grid gutter="xs"> 6 + <Grid gap="xs"> 7 7 {Array.from({ length: 4 }).map((_, i) => ( 8 8 <GridCol key={i} span={12}> 9 9 <UrlCardSkeleton />
+1 -1
src/webapp/features/search/containers/collectionSearchResultsContainer/CollectionSearchResultsContainer.tsx
··· 60 60 isLoading={isFetchingNextPage} 61 61 loadMore={fetchNextPage} 62 62 > 63 - <Grid gutter="xs"> 63 + <Grid gap="xs"> 64 64 {allCollections.map((collection) => ( 65 65 <Grid.Col key={collection.id} span={12}> 66 66 <CollectionCard collection={collection} showAuthor />
+1 -1
src/webapp/features/search/containers/collectionSearchResultsContainer/Skeleton.CollectionSearchResultsContainer.tsx
··· 3 3 4 4 export default function CollectionSearchResultsContainerSkeleton() { 5 5 return ( 6 - <Grid gutter="xs"> 6 + <Grid gap="xs"> 7 7 {Array.from({ length: 4 }).map((_, i) => ( 8 8 <GridCol key={i} span={12}> 9 9 <CollectionCardSkeleton />
+1 -1
src/webapp/features/search/containers/profileSearchResultsContainer/ProfileSearchResultsContainer.tsx
··· 44 44 isLoading={isFetchingNextPage} 45 45 loadMore={fetchNextPage} 46 46 > 47 - <Grid gutter="xs"> 47 + <Grid gap="xs"> 48 48 {allProfiles.map((profile) => ( 49 49 <Grid.Col key={profile.did} span={12}> 50 50 <SearchProfileCard profile={profile} />
+1 -1
src/webapp/features/search/containers/profileSearchResultsContainer/Skeleton.ProfileSearchResultsContainer.tsx
··· 3 3 4 4 export default function ProfileSearchResultsContainerSkeleton() { 5 5 return ( 6 - <Grid gutter="xs"> 6 + <Grid gap="xs"> 7 7 {Array.from({ length: 4 }).map((_, i) => ( 8 8 <GridCol key={i} span={12}> 9 9 <SearchProfileCardSkeleton />
+1 -1
src/webapp/features/semble/components/SembleHeader/SembleHeader.tsx
··· 18 18 export default function SembleHeader(props: Props) { 19 19 return ( 20 20 <Stack gap={'xl'}> 21 - <Grid gutter="lg" justify="space-between"> 21 + <Grid gap="lg" justify="space-between"> 22 22 <GridCol span={{ base: 'auto' }}> 23 23 <Suspense fallback={<UrlMetadataHeaderSkeleton />} key={props.url}> 24 24 <UrlMetadataHeader url={props.url} />
+1 -1
src/webapp/features/semble/components/SembleHeader/Skeleton.SembleHeader.tsx
··· 7 7 export default function SembleHeaderSkeleton() { 8 8 return ( 9 9 <Stack gap={'xl'}> 10 - <Grid gutter={'lg'} justify="space-between"> 10 + <Grid gap={'lg'} justify="space-between"> 11 11 <GridCol span={{ base: 'auto' }}> 12 12 <UrlMetadataHeaderSkeleton /> 13 13 </GridCol>
+5 -11
src/webapp/features/semble/components/sembleTabs/SembleTabs.tsx
··· 1 1 'use client'; 2 2 3 3 import { useState, Suspense } from 'react'; 4 - import { 5 - Box, 6 - ScrollAreaAutosize, 7 - Tabs, 8 - TabsList, 9 - TabsPanel, 10 - } from '@mantine/core'; 4 + import { Box, Scroller, Tabs, TabsList, TabsPanel } from '@mantine/core'; 11 5 import TabItem from './TabItem'; 12 6 import { useFeatureFlags } from '@/lib/clientFeatureFlags'; 13 7 import useUrlMetadata from '@/features/cards/lib/queries/useUrlMetadata'; ··· 59 53 value={activeTab} 60 54 onChange={(val) => setActiveTab(val as TabValue)} 61 55 > 62 - <ScrollAreaAutosize type="scroll"> 63 - <TabsList style={{ flexWrap: 'nowrap' }}> 56 + <TabsList style={{ flexWrap: 'nowrap' }}> 57 + <Scroller> 64 58 <TabItem value="similar">Similar cards</TabItem> 65 59 <TabItem value="collections" count={stats?.collectionCount}> 66 60 Collections ··· 76 70 Added by 77 71 </TabItem> 78 72 {featureFlags?.graphView && <TabItem value="graph">Graph</TabItem>} 79 - </TabsList> 80 - </ScrollAreaAutosize> 73 + </Scroller> 74 + </TabsList> 81 75 82 76 <Box mt="md"> 83 77 <TabsPanel value="notes">
+1 -1
src/webapp/features/semble/containers/sembleAside/SembleAside.tsx
··· 79 79 isLoading={isFetchingNextPage} 80 80 loadMore={fetchNextPage} 81 81 > 82 - <Grid gutter="xs" mx={'auto'} maw={'100%'}> 82 + <Grid gap="xs" mx={'auto'} maw={'100%'}> 83 83 {allSimilarUrls.map((urlView) => ( 84 84 <Grid.Col key={urlView.url} span={12}> 85 85 <SimilarUrlCard urlView={urlView} />
+1 -1
src/webapp/features/semble/containers/sembleConnectionsContainer/SembleConnectionsContainer.tsx
··· 156 156 isLoading={isFetchingNextPage} 157 157 loadMore={fetchNextPage} 158 158 > 159 - <Grid gutter="xl" mx={'auto'} maw={600} w={'100%'}> 159 + <Grid gap="xl" mx={'auto'} maw={600} w={'100%'}> 160 160 {connections.map((connection, index) => { 161 161 // Determine the actual direction for this specific connection 162 162 // If direction is 'all', check if the source URL matches props.url
+1 -1
src/webapp/features/semble/containers/sembleConnectionsContainer/Skeleton.SembleConnectionsContainer.tsx
··· 7 7 <Skeleton height={36} width={132} radius={'xl'} /> 8 8 <Skeleton height={36} width={95} radius={'xl'} /> 9 9 </Group> 10 - <Grid gutter="xl" mx={'auto'} maw={600} w={'100%'}> 10 + <Grid gap="xl" mx={'auto'} maw={600} w={'100%'}> 11 11 {[...Array(3)].map((_, i) => ( 12 12 <Grid.Col key={i} span={12}> 13 13 <Stack gap={'xs'}>
+1 -1
src/webapp/features/semble/containers/sembleLibrariesContainer/SembleLibrariesContainer.tsx
··· 46 46 isLoading={isFetchingNextPage} 47 47 loadMore={fetchNextPage} 48 48 > 49 - <Grid gutter="xs"> 49 + <Grid gap="xs"> 50 50 {allLibraries.map((item, i) => ( 51 51 <Grid.Col 52 52 key={item.user.name}
+1 -1
src/webapp/features/semble/containers/sembleMentionsContainer/Skeleton.SembleMentionsContainer.tsx
··· 24 24 <Select ml={'auto'} size="sm" variant="filled" disabled /> 25 25 </Group> 26 26 <Stack> 27 - <Grid gutter="sm" mx={'auto'} maw={600}> 27 + <Grid gap="sm" mx={'auto'} maw={600}> 28 28 {Array.from({ length: 8 }).map((_, i) => ( 29 29 <GridCol key={i} span={12}> 30 30 <UrlCardSkeleton />
+1 -1
src/webapp/features/semble/containers/sembleNotesContainer/SembleNotesContainer.tsx
··· 43 43 isLoading={isFetchingNextPage} 44 44 loadMore={fetchNextPage} 45 45 > 46 - <Grid gutter="xs"> 46 + <Grid gap="xs"> 47 47 {allNotes.map((note) => ( 48 48 <Grid.Col 49 49 key={note.id}
+1 -1
src/webapp/features/semble/containers/sembleNotesContainer/Skeleton.SembleNotesContainer.tsx
··· 4 4 export default function SembleNotesContainerSkeleton() { 5 5 return ( 6 6 <Stack> 7 - <Grid gutter="xs"> 7 + <Grid gap="xs"> 8 8 {Array.from({ length: 8 }).map((_, i) => ( 9 9 <GridCol key={i} span={{ base: 12, xs: 6, sm: 4, lg: 3 }}> 10 10 <NoteCardSkeleton />
+1 -1
src/webapp/features/semble/containers/sembleSimilarCardsContainer/SembleSimilarCardsContainer.tsx
··· 57 57 icon={BiLink} 58 58 /> 59 59 ) : ( 60 - <Grid gutter="sm" mx={'auto'} maw={600} w={'100%'}> 60 + <Grid gap="sm" mx={'auto'} maw={600} w={'100%'}> 61 61 {allSimilarUrls.map((urlView) => ( 62 62 <Grid.Col key={urlView.url} span={12}> 63 63 <SimilarUrlCard
+1 -1
src/webapp/features/semble/containers/sembleSimilarCardsContainer/Skeleton.SembleSimilarCardsContainer.tsx
··· 10 10 <Skeleton w={84} h={36} radius={'xl'} /> 11 11 </Group> 12 12 </Group> 13 - <Grid gutter="sm" mx={'auto'} maw={600}> 13 + <Grid gap="sm" mx={'auto'} maw={600}> 14 14 {/* not necessary to check if navbar is open */} 15 15 {Array.from({ length: 8 }).map((_, i) => ( 16 16 <GridCol key={i} span={12}>
+1 -1
src/webapp/next-env.d.ts
··· 1 1 /// <reference types="next" /> 2 2 /// <reference types="next/image-types/global" /> 3 - import './.next/types/routes.d.ts'; 3 + import "./.next/dev/types/routes.d.ts"; 4 4 5 5 // NOTE: This file should not be edited 6 6 // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
+8 -8
src/webapp/package.json
··· 26 26 "build-storybook": "storybook build" 27 27 }, 28 28 "dependencies": { 29 - "@mantine/code-highlight": "8.3.1", 30 - "@mantine/core": "8.3.1", 31 - "@mantine/dates": "8.3.1", 32 - "@mantine/dropzone": "8.3.1", 33 - "@mantine/form": "8.3.1", 34 - "@mantine/hooks": "8.3.1", 35 - "@mantine/modals": "8.3.1", 36 - "@mantine/notifications": "8.3.1", 29 + "@mantine/code-highlight": "9.0.0", 30 + "@mantine/core": "9.0.0", 31 + "@mantine/dates": "9.0.0", 32 + "@mantine/dropzone": "9.0.0", 33 + "@mantine/form": "9.0.0", 34 + "@mantine/hooks": "9.0.0", 35 + "@mantine/modals": "9.0.0", 36 + "@mantine/notifications": "9.0.0", 37 37 "@mdx-js/loader": "^3.1.1", 38 38 "@mdx-js/react": "^3.1.1", 39 39 "@next/mdx": "16.2.3",
+13 -3
src/webapp/providers/mantine.tsx
··· 4 4 import '@mantine/notifications/styles.css'; 5 5 import '@mantine/code-highlight/styles.css'; 6 6 import { theme } from '@/styles/theme'; 7 - import { MantineProvider as BaseProvider } from '@mantine/core'; 7 + import { 8 + MantineProvider as BaseProvider, 9 + v8CssVariablesResolver, 10 + } from '@mantine/core'; 8 11 import { 9 12 CodeHighlightAdapterProvider, 10 13 createShikiAdapter, ··· 31 34 32 35 export default function MantineProvider(props: Props) { 33 36 return ( 34 - <BaseProvider theme={theme} defaultColorScheme="auto"> 37 + <BaseProvider 38 + theme={theme} 39 + defaultColorScheme="auto" 40 + cssVariablesResolver={v8CssVariablesResolver} 41 + > 35 42 <CodeHighlightAdapterProvider adapter={shikiAdapter}> 36 - <Notifications position="bottom-right" /> 43 + <Notifications 44 + position="bottom-right" 45 + pauseResetOnHover="notification" 46 + /> 37 47 {props.children} 38 48 </CodeHighlightAdapterProvider> 39 49 </BaseProvider>