diff --git a/package.json b/package.json
index 947af0acd..f039564f2 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "visyn_core",
"description": "Core repository for datavisyn applications.",
- "version": "9.1.3",
+ "version": "9.2.0",
"author": {
"name": "datavisyn GmbH",
"email": "contact@datavisyn.io",
@@ -34,6 +34,8 @@
"./utils": "./src/utils/index.ts",
"./views": "./src/views/index.ts",
"./vis": "./src/vis/index.ts",
+ "./icons": "./src/icons/index.ts",
+ "./types": "./src/types.ts",
"./assets/*": "./src/assets/*",
"./phovea_registry": "./src/phovea_registry.ts",
"./scss/*": "./src/scss/*",
diff --git a/src/app/constants.tsx b/src/app/constants.tsx
index 5adb6cb75..5d39fd600 100644
--- a/src/app/constants.tsx
+++ b/src/app/constants.tsx
@@ -12,6 +12,7 @@ export const DEFAULT_MANTINE6_PROVIDER_PROPS: Omit
+ `,
+ ],
+};
+
+export const dvCellLine: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'drug' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M276.5 121.255V120.238L275.694 120.859C268.982 126.041 261.309 130.558 253.197 134.381C226.294 147.06 189.972 154.575 150.5 154.575C111.028 154.575 74.7061 147.06 47.8035 134.381C39.691 130.558 32.0179 126.041 25.3055 120.859L24.5 120.238V121.255V128.462C24.5 139.051 34.0528 152.293 58.035 163.596C81.0786 174.456 113.757 181.5 150.5 181.5C187.243 181.5 219.921 174.456 242.965 163.596C266.947 152.293 276.5 139.051 276.5 128.462V121.255ZM300.5 77.5377V128.462C300.5 153.789 279.166 173.067 253.197 185.306C226.294 197.985 189.972 205.5 150.5 205.5C111.028 205.5 74.7061 197.985 47.8035 185.306C21.8339 173.067 0.5 153.789 0.5 128.462V77.5377C0.5 52.2105 21.8339 32.9334 47.8035 20.6942C74.7061 8.01533 111.028 0.5 150.5 0.5C189.972 0.5 226.294 8.01533 253.197 20.6942C279.166 32.9334 300.5 52.2105 300.5 77.5377ZM58.035 42.404C34.0528 53.7065 24.5 66.9492 24.5 77.5377C24.5 88.1262 34.0528 101.369 58.035 112.671C81.0786 123.532 113.757 130.575 150.5 130.575C187.243 130.575 219.921 123.532 242.965 112.671C266.947 101.369 276.5 88.1262 276.5 77.5377C276.5 66.9492 266.947 53.7065 242.965 42.404C219.921 31.5439 187.243 24.5 150.5 24.5C113.757 24.5 81.0786 31.5439 58.035 42.404ZM150.5 61C112.276 61 77.8126 71.6406 53.8396 83.9509C49.1723 86.3476 43.4458 84.5069 41.0491 79.8396C38.6524 75.1723 40.4931 69.4458 45.1604 67.0491C71.4945 53.5263 108.913 42 150.5 42C192.087 42 229.506 53.5263 255.84 67.0491C260.507 69.4458 262.348 75.1723 259.951 79.8396C257.554 84.5069 251.828 86.3476 247.16 83.9509C223.187 71.6406 188.724 61 150.5 61ZM109.5 91.5C109.5 93.1189 108.903 95.1534 107.864 97.3212C106.828 99.48 105.373 101.731 103.702 103.772C102.03 105.814 100.154 107.632 98.2829 108.936C96.4024 110.246 94.5784 111 93 111C89.7864 111 86.793 108.757 84.572 105.554C82.3586 102.362 81 98.3345 81 95C81 91.6729 82.3532 88.0468 84.5539 85.2547C86.7558 82.461 89.7498 80.568 93 80.568C96.3593 80.568 100.522 81.6746 103.835 83.626C107.163 85.5864 109.5 88.3122 109.5 91.5ZM154 111.5C154 114.861 151.746 117.979 148.546 120.287C145.354 122.589 141.329 124 138 124C134.675 124 130.906 122.593 127.969 120.298C125.029 118.002 123 114.883 123 111.5C123 108.086 125.06 104.077 128.027 100.899C130.997 97.7155 134.749 95.5 138 95.5C141.26 95.5 145.264 97.7244 148.487 100.913C151.709 104.101 154 108.105 154 111.5ZM213.5 91.5C213.5 94.7136 211.257 97.707 208.054 99.928C204.862 102.141 200.835 103.5 197.5 103.5C194.157 103.5 189.62 102.136 185.919 99.9103C182.188 97.6672 179.5 94.6719 179.5 91.5C179.5 90.0062 180.481 88.5578 182.241 87.1968C183.989 85.8453 186.414 84.6531 189.085 83.6641C194.429 81.6847 200.62 80.568 204 80.568C207.335 80.568 209.679 81.6561 211.202 83.5123C212.739 85.3854 213.5 88.1132 213.5 91.5Z
+ `,
+ ],
+};
+
+export const dvTissue: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'tissue' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M138.516 17.9766L133.008 26.2383C120.527 44.9883 98.2031 54.6562 75.9961 50.9062L41.0742 45.1055C19.5703 41.5312 -6.09103e-06 58.1133 0.0585877 79.9102C0.0585877 89.2266 3.80859 98.1914 10.3711 104.813L27.4805 121.922C33.9258 128.367 37.5586 137.098 37.5586 146.238C37.5586 155.496 33.8086 164.344 27.1875 170.848L19.5117 178.348C13.0078 184.676 9.37499 193.348 9.37499 202.43C9.37499 223.992 29.3555 240.047 50.4492 235.359L86.9531 227.273C91.4648 226.277 96.1523 225.75 100.781 225.75H106.641C122.578 225.75 138.105 231.199 150.586 241.16L168.633 255.633C174.785 260.555 182.461 263.25 190.312 263.25C209.473 263.25 225.059 247.723 225.059 228.504V213.738C225.059 193.289 237.598 174.949 256.641 167.566L278.262 159.187C291.387 154.09 300.059 141.434 300.059 127.371C300.059 110.906 288.281 96.7266 272.051 93.7969L255.645 90.8086C234.258 86.8828 217.324 70.5938 212.52 49.3828L208.359 30.9258C204.434 13.2891 188.73 0.75 170.684 0.75C157.793 0.75 145.723 7.19531 138.516 17.9766ZM93.75 94.5C98.7228 94.5 103.492 96.4754 107.008 99.9918C110.525 103.508 112.5 108.277 112.5 113.25C112.5 118.223 110.525 122.992 107.008 126.508C103.492 130.025 98.7228 132 93.75 132C88.7772 132 84.0081 130.025 80.4917 126.508C76.9754 122.992 75 118.223 75 113.25C75 108.277 76.9754 103.508 80.4917 99.9918C84.0081 96.4754 88.7772 94.5 93.75 94.5ZM168.75 103.875C168.75 101.389 169.738 99.004 171.496 97.2459C173.254 95.4877 175.639 94.5 178.125 94.5C180.611 94.5 182.996 95.4877 184.754 97.2459C186.512 99.004 187.5 101.389 187.5 103.875C187.5 106.361 186.512 108.746 184.754 110.504C182.996 112.262 180.611 113.25 178.125 113.25C175.639 113.25 173.254 112.262 171.496 110.504C169.738 108.746 168.75 106.361 168.75 103.875ZM168.75 150.75C173.723 150.75 178.492 152.725 182.008 156.242C185.525 159.758 187.5 164.527 187.5 169.5C187.5 174.473 185.525 179.242 182.008 182.758C178.492 186.275 173.723 188.25 168.75 188.25C163.777 188.25 159.008 186.275 155.492 182.758C151.975 179.242 150 174.473 150 169.5C150 164.527 151.975 159.758 155.492 156.242C159.008 152.725 163.777 150.75 168.75 150.75Z
+ `,
+ ],
+};
+
+export const dvDisease: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'disease' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M62.7273 12.4594C65.9091 22.0049 60.7386 32.289 51.25 35.4708L36.3636 40.414V109.107C36.3636 139.221 60.7955 163.653 90.9091 163.653C121.023 163.653 145.455 139.221 145.455 109.107V40.414L130.625 35.4708C121.08 32.289 115.966 22.0049 119.148 12.4594C122.33 2.91399 132.614 -2.19964 142.159 0.982176L156.989 5.92536C171.818 10.8685 181.818 24.7322 181.818 40.414V109.107C181.818 152.971 150.795 189.562 109.489 198.141C113.068 229.903 140 254.562 172.727 254.562C207.898 254.562 236.364 226.096 236.364 190.925V150.755C220.284 143.766 209.091 127.744 209.091 109.107C209.091 83.9935 229.432 63.6526 254.545 63.6526C279.659 63.6526 300 83.9935 300 109.107C300 127.744 288.807 143.766 272.727 150.755V190.925C272.727 246.153 227.955 290.925 172.727 290.925C119.943 290.925 76.7614 250.073 73.0114 198.255C31.3636 189.903 0 153.198 0 109.107V40.414C0 24.789 10 10.8685 24.8864 5.92536L39.7159 0.982176C49.2614 -2.19964 59.5455 2.97081 62.7273 12.4594ZM254.545 127.289C259.368 127.289 263.992 125.373 267.402 121.964C270.812 118.554 272.727 113.929 272.727 109.107C272.727 104.285 270.812 99.6604 267.402 96.2507C263.992 92.8409 259.368 90.9254 254.545 90.9254C249.723 90.9254 245.099 92.8409 241.689 96.2507C238.279 99.6604 236.364 104.285 236.364 109.107C236.364 113.929 238.279 118.554 241.689 121.964C245.099 125.373 249.723 127.289 254.545 127.289Z
+ `,
+ ],
+};
diff --git a/src/icons/Icons.tsx b/src/icons/Icons.tsx
new file mode 100644
index 000000000..d3164411b
--- /dev/null
+++ b/src/icons/Icons.tsx
@@ -0,0 +1,134 @@
+import { IconDefinition, IconName, IconPrefix } from '@fortawesome/fontawesome-common-types';
+
+export const faViolin: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'violin' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M115.5 19L113.487 22.6939L111.175 27.3664C108.928 32.2468 100.389 44.0993 84.211 52.4657C74.474 58.0433 55 71.7085 55 81.7482C55 86.6286 57.247 97.8535 66.235 103.71C75.972 111.031 95.4459 128.809 95.4459 141.359V158.092C95.0715 160.881 93.8731 167.922 92.0755 173.779C90.5775 179.705 87.5815 192.603 87.5815 196.786C87.956 203.41 90.0532 218.121 95.4459 223.977C100.689 229.904 111.175 243.638 111.175 251.168L112.871 254.179L115.5 257.443L118.131 254.179L119.828 251.168C119.828 243.638 130.313 229.904 135.556 223.977C140.948 218.121 143.046 203.41 143.42 196.786C143.42 192.603 140.424 179.705 138.926 173.779C137.129 167.922 135.93 160.881 135.556 158.092V141.359C135.556 128.809 155.029 111.031 164.766 103.71C173.753 97.8535 176 86.6286 176 81.7482C176 71.7085 156.527 58.0433 146.79 52.4657C130.613 44.0993 122.074 32.2468 119.828 27.3664L117.516 22.6939L115.5 19Z
+ M1.00006 267.968L1 267.964V267.961V17.5518C1 8.9314 7.75297 2 16.0142 2C24.2755 2 31.0285 8.9314 31.0285 17.5518V259.976L31.0272 260.004C31.0258 260.039 31.0243 260.088 31.0232 260.15C31.021 260.273 31.0208 260.448 31.0279 260.662C31.0422 261.088 31.0862 261.681 31.2054 262.35C31.4395 263.665 31.9857 265.399 33.2926 266.707C34.6013 268.017 36.3356 268.561 37.6516 268.793C38.3213 268.911 38.9141 268.953 39.341 268.967C39.5551 268.973 39.7293 268.973 39.8528 268.97C39.9146 268.969 39.9639 268.967 39.9992 268.966L40.0254 268.964H283.452C292.07 268.964 299 275.718 299 283.982C299 292.246 292.07 299 283.452 299L31.5035 299L31.4947 299L31.4709 298.999C31.4413 298.999 31.3962 298.997 31.3365 298.995C31.217 298.992 31.0388 298.985 30.8083 298.974C30.3473 298.953 29.6774 298.914 28.8496 298.845C27.1926 298.707 24.9103 298.448 22.408 297.969C17.3474 297.001 11.6087 295.168 8.20436 291.79C4.73403 288.347 2.90007 282.482 1.95638 277.297C1.48984 274.734 1.25037 272.393 1.12774 270.693C1.06647 269.843 1.0345 269.155 1.01786 268.682C1.00955 268.445 1.00506 268.262 1.00267 268.14C1.00147 268.078 1.00079 268.032 1.00042 268.002L1.00006 267.968Z
+ M231.698 46.7931H232.5H233H233.802C233.802 46.7931 234 49.5 236.207 52.4052C238.414 55.3103 242 67 246.5 70.1314C253 74 270.5 85 270.5 95.9702V104.305C270.5 108.5 273 113.5 275 117.641C276.5 121.253 279.5 129.644 279.5 134.312C279.5 139.868 277.119 151.847 270.5 158.484C264 165 250.848 176 249.5 183.489C248 191.824 240.5 216 239.5 220C238.5 224 237.5 225 236.207 227.181C234.338 230.333 233 236 233 236H232.5C232.5 236 231.162 230.333 229.293 227.181C228 225 227 224 226 220C225 216 217.5 191.824 216 183.489C214.652 176 201.5 165 195 158.484C188.381 151.847 186 139.868 186 134.312C186 129.644 189 121.253 190.5 117.641C192.5 113.5 195 108.5 195 104.305V95.9702C195 85 212.5 74 219 70.1314C223.5 67 227.086 55.3103 229.293 52.4052C231.5 49.5 231.698 46.7931 231.698 46.7931Z
+ `,
+ ],
+};
+
+export const faBoxplot: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'boxplot' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M1.00006 267.968L1 267.964V267.961V17.5518C1 8.9314 7.75297 2 16.0142 2C24.2755 2 31.0285 8.9314 31.0285 17.5518V259.976L31.0272 260.004C31.0258 260.039 31.0243 260.088 31.0232 260.15C31.021 260.273 31.0208 260.448 31.0279 260.662C31.0422 261.088 31.0862 261.681 31.2054 262.35C31.4395 263.665 31.9857 265.399 33.2926 266.707C34.6013 268.017 36.3356 268.561 37.6516 268.793C38.3213 268.911 38.9141 268.953 39.341 268.967C39.5551 268.973 39.7293 268.973 39.8528 268.97C39.9146 268.969 39.9639 268.967 39.9992 268.966L40.0254 268.964H283.452C292.07 268.964 299 275.718 299 283.982C299 292.246 292.07 299 283.452 299L31.5035 299L31.4947 299L31.4709 298.999C31.4413 298.999 31.3962 298.997 31.3365 298.995C31.217 298.992 31.0388 298.985 30.8083 298.974C30.3473 298.953 29.6774 298.914 28.8496 298.845C27.1926 298.707 24.9103 298.448 22.408 297.969C17.3474 297.001 11.6087 295.168 8.20436 291.79C4.73403 288.347 2.90007 282.482 1.95638 277.297C1.48984 274.734 1.25037 272.393 1.12774 270.693C1.06647 269.843 1.0345 269.155 1.01786 268.682C1.00955 268.445 1.00506 268.262 1.00267 268.14C1.00147 268.078 1.00079 268.032 1.00042 268.002L1.00006 267.968Z
+ M155 193.3V72C155 69.2386 152.761 67 150 67H118V48L131 48C133.761 48 136 45.7614 136 43V35C136 32.2386 133.761 30 131 30L86 30C83.2386 30 81 32.2386 81 35V43C81 45.7614 83.2386 48 86 48H100V67H65C62.2386 67 60 69.2386 60 72V193.3C60 196.061 62.2386 198.3 65 198.3H100V222H87C84.2386 222 82 224.239 82 227V235C82 237.761 84.2386 240 87 240H132C134.761 240 137 237.761 137 235V227C137 224.239 134.761 222 132 222H118V198.3H150C152.761 198.3 155 196.061 155 193.3Z
+ M275 144.5V78.5C275 75.7386 272.761 73.5 270 73.5H238V32L251 32C253.761 32 256 29.7614 256 27V19C256 16.2386 253.761 14 251 14L206 14C203.239 14 201 16.2386 201 19V27C201 29.7614 203.239 32 206 32H220V73.5H185C182.239 73.5 180 75.7386 180 78.5V144.5C180 147.261 182.239 149.5 185 149.5H220V192H207C204.239 192 202 194.239 202 197V205C202 207.761 204.239 210 207 210H252C254.761 210 257 207.761 257 205V197C257 194.239 254.761 192 252 192H238V149.5H270C272.761 149.5 275 147.261 275 144.5Z
+ `,
+ ],
+};
+
+export const faScatterplot: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'scatterplot' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M1.00006 267.968L1 267.964V267.961V17.5518C1 8.9314 7.75297 2 16.0142 2C24.2755 2 31.0285 8.9314 31.0285 17.5518V259.976L31.0272 260.004C31.0258 260.039 31.0243 260.088 31.0232 260.15C31.021 260.273 31.0208 260.448 31.0279 260.662C31.0422 261.088 31.0862 261.681 31.2054 262.35C31.4395 263.665 31.9857 265.399 33.2926 266.707C34.6013 268.017 36.3356 268.561 37.6516 268.793C38.3213 268.911 38.9141 268.953 39.341 268.967C39.5551 268.973 39.7293 268.973 39.8528 268.97C39.9146 268.969 39.9639 268.967 39.9992 268.966L40.0254 268.964H283.452C292.07 268.964 299 275.718 299 283.982C299 292.246 292.07 299 283.452 299L31.5035 299L31.4947 299L31.4709 298.999C31.4413 298.999 31.3962 298.997 31.3365 298.995C31.217 298.992 31.0388 298.985 30.8083 298.974C30.3473 298.953 29.6774 298.914 28.8496 298.845C27.1926 298.707 24.9103 298.448 22.408 297.969C17.3474 297.001 11.6087 295.168 8.20436 291.79C4.73403 288.347 2.90007 282.482 1.95638 277.297C1.48984 274.734 1.25037 272.393 1.12774 270.693C1.06647 269.843 1.0345 269.155 1.01786 268.682C1.00955 268.445 1.00506 268.262 1.00267 268.14C1.00147 268.078 1.00079 268.032 1.00042 268.002L1.00006 267.968Z
+ M299.5 25C299.5 38.531 288.531 49.5 275 49.5C261.469 49.5 250.5 38.531 250.5 25C250.5 11.469 261.469 0.5 275 0.5C288.531 0.5 299.5 11.469 299.5 25ZM199.5 42C199.5 55.531 188.531 66.5 175 66.5C161.469 66.5 150.5 55.531 150.5 42C150.5 28.469 161.469 17.5 175 17.5C188.531 17.5 199.5 28.469 199.5 42ZM119.5 215C119.5 228.531 108.531 239.5 95 239.5C81.469 239.5 70.5 228.531 70.5 215C70.5 201.469 81.469 190.5 95 190.5C108.531 190.5 119.5 201.469 119.5 215ZM139.5 115C139.5 128.531 128.531 139.5 115 139.5C101.469 139.5 90.5 128.531 90.5 115C90.5 101.469 101.469 90.5 115 90.5C128.531 90.5 139.5 101.469 139.5 115ZM219.5 172C219.5 185.531 208.531 196.5 195 196.5C181.469 196.5 170.5 185.531 170.5 172C170.5 158.469 181.469 147.5 195 147.5C208.531 147.5 219.5 158.469 219.5 172ZM286.5 107C286.5 120.531 275.531 131.5 262 131.5C248.469 131.5 237.5 120.531 237.5 107C237.5 93.469 248.469 82.5 262 82.5C275.531 82.5 286.5 93.469 286.5 107Z
+ `,
+ ],
+};
+
+export const faHexbinplot: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'hexbinplot' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M1.00006 266.968L1 266.964V266.961V16.5518C1 7.9314 7.75297 1 16.0142 1C24.2755 1 31.0285 7.9314 31.0285 16.5518V258.976L31.0272 259.004C31.0258 259.039 31.0243 259.088 31.0232 259.15C31.021 259.273 31.0208 259.448 31.0279 259.662C31.0422 260.088 31.0862 260.681 31.2054 261.35C31.4395 262.665 31.9857 264.399 33.2926 265.707C34.6013 267.017 36.3356 267.561 37.6516 267.793C38.3213 267.911 38.9141 267.953 39.341 267.967C39.5551 267.973 39.7293 267.973 39.8528 267.97C39.9146 267.969 39.9639 267.967 39.9992 267.966L40.0254 267.964H283.452C292.07 267.964 299 274.718 299 282.982C299 291.246 292.07 298 283.452 298L31.5035 298L31.4947 298L31.4709 297.999C31.4413 297.999 31.3962 297.997 31.3365 297.995C31.217 297.992 31.0388 297.985 30.8083 297.974C30.3473 297.953 29.6774 297.914 28.8496 297.845C27.1926 297.707 24.9103 297.448 22.408 296.969C17.3474 296.001 11.6087 294.168 8.20436 290.79C4.73403 287.347 2.90007 281.482 1.95638 276.297C1.48984 273.734 1.25037 271.393 1.12774 269.693C1.06647 268.843 1.0345 268.155 1.01786 267.682C1.00955 267.445 1.00506 267.262 1.00267 267.14C1.00147 267.078 1.00079 267.032 1.00042 267.002L1.00006 266.968Z
+ M87.4105 142.343H143.078L170.911 190.422L143.078 238.5H87.4105L59.5777 190.422L87.4105 142.343ZM188.922 84.4853H244.59L272.422 132.564L244.59 180.642H188.922L161.089 132.564L188.922 84.4853ZM87.4105 28.5L143.078 28.5L170.911 76.5785L143.078 124.657H87.4105L59.5777 76.5785L87.4105 28.5Z
+ `,
+ ],
+};
+
+export const faChemicalStructure: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'chemicalStructure' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+M140.224 34.4189H140.473L140.623 34.2206L164.93 2.08492C165.522 1.30229 166.319 0.768301 167.189 0.5H169.851C170.336 0.650217 170.804 0.885814 171.233 1.21055L188.945 14.607C190.927 16.1063 191.318 18.9285 189.819 20.9107L166.962 51.1297L166.762 51.3941L166.928 51.6813L190.842 93.1019L190.986 93.3519H191.275L233.533 93.3519H233.782L233.932 93.1536L259.384 59.5031C260.884 57.521 263.706 57.1295 265.688 58.6288L283.399 72.0253C285.382 73.5245 285.773 76.3467 284.274 78.3289L260.805 109.357L260.605 109.622L260.77 109.909L288.68 158.25C290.377 161.189 290.377 164.811 288.68 167.75L253.954 227.898C252.257 230.837 249.121 232.648 245.727 232.648H190.12H189.832L189.687 232.898L159.704 284.831C158.007 287.77 154.871 289.581 151.477 289.581H81.5235C78.1295 289.581 74.9933 287.77 73.2963 284.831L38.3198 224.25C36.6228 221.311 36.6228 217.689 38.3198 214.75L68.6307 162.25L68.775 162L68.6307 161.75L45.5366 121.75L45.3923 121.5H45.1036H5C2.51472 121.5 0.5 119.485 0.5 117V95C0.5 92.5147 2.51472 90.5 5 90.5H43.3716H43.6603L43.8046 90.25L73.2963 39.1689C74.9933 36.2296 78.1295 34.4189 81.5235 34.4189H140.224ZM141.88 58.5201L141.747 58.4189H141.579H90.1838H89.8951L89.7507 58.6689L63.567 104.021L63.5 104.137V104.271V104.729V104.863L63.567 104.979L89.0798 149.169L89.2241 149.419H89.5128H138.13H138.418L138.563 149.169L166.887 100.11L167.031 99.8603L166.887 99.6103L144.209 60.3305L144.158 60.2428L144.077 60.1817L141.88 58.5201ZM89.5128 174.581H89.2241L89.0798 174.831L63.4345 219.25L63.2902 219.5L63.4345 219.75L89.7507 265.331L89.8951 265.581H90.1838H142.816H143.105L143.249 265.331L166.309 225.39L166.454 225.14L166.309 224.89L137.408 174.831L137.264 174.581H136.975H89.5128ZM190.291 117.352H190.003L189.858 117.602L164.369 161.75L164.225 162L164.369 162.25L191.013 208.398L191.157 208.648H191.446H237.066H237.355L237.499 208.398L263.566 163.25L263.71 163L263.566 162.75L237.499 117.602L237.355 117.352H237.066L190.291 117.352ZM102.589 73.2751C103.826 71.1196 106.576 70.3751 108.732 71.6122L121.488 78.9334C123.644 80.1705 124.388 82.9208 123.151 85.0763L103.694 118.979C102.457 121.134 99.7066 121.879 97.5511 120.642L84.7946 113.32C82.6391 112.083 81.8945 109.333 83.1316 107.178L102.589 73.2751ZM121.652 238.759C122.871 240.925 122.102 243.668 119.936 244.887L107.117 252.098C104.951 253.316 102.207 252.548 100.989 250.382L81.8245 216.313C80.606 214.147 81.3742 211.404 83.5403 210.185L96.3595 202.974C98.5256 201.756 101.269 202.524 102.488 204.69L121.652 238.759ZM217.481 182.048C218.699 184.214 217.931 186.958 215.765 188.176L202.946 195.387C200.78 196.606 198.036 195.838 196.817 193.671L177.653 159.603C176.435 157.437 177.203 154.693 179.369 153.474L192.188 146.263C194.354 145.045 197.098 145.813 198.316 147.979L217.481 182.048Z
+ `,
+ ],
+};
+
+export const faFilterOutline: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'filterOutline' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M106.203 168.349C106.491 168.705 106.648 169.149 106.648 169.607V217.09C107.354 224.075 109.147 227.108 114.543 231.126L162.47 259.083C162.573 259.159 162.687 259.227 162.803 259.281C178.499 266.62 189.565 258.211 190.49 244.694V169.613C190.49 169.152 190.65 168.704 190.942 168.347L293.7 36.4935C303.917 21.9897 295.093 0.935732 276.052 0L26.1952 0.467866C2.97435 -0.467866 -5.38516 23.3933 3.43877 35.0899L106.203 168.349ZM125.642 152.629L27.8068 25.4649L270.798 25.0099L171.584 152.527C167.643 157.349 165.49 163.385 165.49 169.613V230.252L131.648 212.676V169.607C131.648 163.427 129.528 157.434 125.642 152.629ZM24.0298 25.5152C23.9961 25.5287 23.977 25.5323 23.977 25.5323C23.977 25.5323 23.9931 25.5246 24.0298 25.5152Z
+ `,
+ ],
+};
+
+export const faFilterClear: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'filterClear' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M106.203 168.349C106.491 168.705 106.648 169.149 106.648 169.607V217.09C107.354 224.075 109.147 227.108 114.543 231.126L162.47 259.083C162.573 259.159 162.687 259.227 162.803 259.281C173.851 264.447 182.605 261.81 187.144 255.082C158.88 243.362 139 215.503 139 183C139 139.922 173.922 105 217 105C224.3 105 231.366 106.003 238.067 107.878L293.7 36.4935C303.917 21.9897 295.093 0.935732 276.052 0L26.1952 0.467866C2.97435 -0.467866 -5.38516 23.3933 3.43877 35.0899L106.203 168.349Z
+ M218 120C252.802 120 281 148.198 281 183C281 217.802 252.802 246 218 246C183.198 246 155 217.802 155 183C155 148.198 183.198 120 218 120ZM248.738 199.766L232.226 183L248.738 166.488C250.008 165.472 250.008 163.44 248.738 162.169L238.831 152.262C237.56 150.992 235.528 150.992 234.512 152.262L218 168.774L201.488 152.262C200.218 150.992 198.185 150.992 197.169 152.262L187.008 162.169C185.738 163.44 185.738 165.472 187.008 166.488L203.774 183L187.008 199.512C185.738 200.782 185.738 202.815 187.008 203.831L196.915 213.992C198.185 215.262 200.218 215.262 201.234 213.992L218 197.226L234.512 213.992C235.528 215.262 237.56 215.262 238.831 213.992L248.738 204.085C250.008 202.815 250.008 200.782 248.738 199.766Z
+ `,
+ ],
+};
+
+export const faStringCol: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'stringCol' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M236.047 90.7623L236.05 90.7695C238.705 96.7202 242.26 101.215 246.728 104.22C251.185 107.218 256.095 108.718 261.445 108.718C266.002 108.718 270.235 107.743 274.135 105.789C277.948 103.93 281.506 101.48 284.806 98.4416L299.353 121.371C293.905 126.318 288.257 130.092 282.409 132.704C276.464 135.232 269.807 136.5 262.429 136.5C254.954 136.5 247.806 134.981 240.981 131.94C234.267 128.773 228.306 124.275 223.1 118.441C218.007 112.611 213.936 105.504 210.892 97.1132C207.961 88.7339 206.491 79.1985 206.491 68.5003C206.491 57.8011 207.961 48.2654 210.892 39.8857C213.936 31.4949 218.008 24.3892 223.101 18.5586C228.308 12.7231 234.213 8.29012 240.817 5.25106L240.822 5.24907C247.536 2.08308 254.627 0.5 262.101 0.5C269.156 0.5 275.601 1.64207 281.443 3.9195L281.443 3.91964L281.455 3.92386C287.294 6.03469 292.985 9.24359 298.529 13.5565L284.762 37.2439C281.466 34.6942 277.916 32.6164 274.115 31.0097C270.111 29.19 265.832 28.2817 261.281 28.2817C255.931 28.2817 251.021 29.7822 246.564 32.7798L246.559 32.7831C242.201 35.7889 238.704 40.2828 236.05 46.2305L236.047 46.2377C233.497 52.2027 232.233 59.6302 232.233 68.5003C232.233 77.3698 233.497 84.7973 236.047 90.7623ZM66.0781 2.80257L106.947 134.197H80.1136L72.821 108.466L72.7179 108.102H72.3399H34.6303H34.2523L34.1492 108.466L26.8567 134.197H0.679148L41.5485 2.80257H66.0781ZM53.9662 41.94L53.4851 40.2427L53.0041 41.94L41.056 84.0977L40.8756 84.7341H41.537H65.4332H66.0946L65.9143 84.0977L53.9662 41.94ZM113.91 134.197V2.80257H155.574C162.613 2.80257 168.987 4.25852 174.708 7.16156L174.716 7.1654C180.432 9.94062 184.898 13.9074 188.128 19.0693L188.132 19.0755C191.461 24.225 193.137 30.4582 193.137 37.7998C193.137 45.1415 191.461 51.3084 188.135 56.3271L188.134 56.3286C185.94 59.665 183.174 62.4482 179.835 64.6796L179.141 65.1436L179.877 65.5366C185.546 68.5598 189.985 72.8887 193.203 78.5332L193.205 78.5374C196.435 84.0766 198.059 90.6384 198.059 98.2408C198.059 105.838 196.328 112.329 192.887 117.736L192.886 117.737C189.547 123.029 184.97 127.125 179.142 130.028C173.423 132.804 166.938 134.197 159.676 134.197H113.91ZM139.66 27.5139H139.16V28.0139V55.6441V56.1441H139.66H153.934C158.186 56.1441 161.652 54.9638 164.279 52.5593L164.279 52.5594L164.289 52.55C166.928 50.0006 168.215 46.4019 168.215 41.8289C168.215 37.2606 166.93 33.7201 164.284 31.2956C161.659 28.7614 158.191 27.5139 153.934 27.5139H139.66ZM139.66 78.9373H139.16V79.4373V108.986V109.486H139.66H157.215C161.687 109.486 165.318 108.241 168.055 105.707L168.057 105.705C170.92 103.027 172.317 99.1671 172.317 94.2117C172.317 89.2622 170.924 85.4622 168.056 82.9087C165.321 80.2473 161.689 78.9373 157.215 78.9373H139.66Z
+ `,
+ ],
+};
+
+export const faNumericCol: IconDefinition = {
+ prefix: 'fac' as IconPrefix,
+ iconName: 'stringCol' as IconName,
+ icon: [
+ 300,
+ 300,
+ [],
+ null,
+ `
+ M4.00862 135.889V136.389H4.50862H32.0939H32.5939H63.1629H63.6629H89.7197H90.2197V135.889V112.963V112.463H89.7197H63.6629V4.06067V3.56067H63.1629H42.7199H42.6213L42.53 3.59811L2.02612 20.22L1.5636 20.4098L1.75336 20.8723L10.9241 43.2259L11.1136 43.688L11.576 43.4989L32.0939 35.1052V112.463H4.50862H4.00862V112.963V135.889ZM99.4341 21.8415L99.0985 22.1476L99.371 22.511L115.993 44.6735L116.331 45.1249L116.739 44.7345C119.779 41.8211 122.816 39.2908 125.849 37.142C128.999 35.0004 132.206 33.3664 135.471 32.2363L135.479 32.2335L135.487 32.2305C138.743 30.9781 142.058 30.3533 145.433 30.3533C149.327 30.3533 152.484 31.0445 154.936 32.393C157.404 33.75 159.241 35.5916 160.467 37.9194L160.474 37.9336L160.482 37.9473C161.831 40.1544 162.511 42.6737 162.511 45.5199C162.511 47.9826 161.895 50.5869 160.645 53.3373C159.394 56.0896 157.446 59.1104 154.788 62.4008C152.13 65.6918 148.643 69.434 144.321 73.6285L144.32 73.6297L101.523 115.471L101.373 115.618V115.829V135.889V136.389H101.873H114.786L114.954 136.645L115.244 136.389H196.254H196.754V135.889V109.142V108.642H196.254H146.742L163.532 93.8502L163.535 93.8473C170.934 87.2137 176.939 81.1463 181.544 75.6456L181.548 75.6413C186.158 70.007 189.5 64.4852 191.562 59.0752C193.75 53.5395 194.844 47.7462 194.844 41.6987C194.844 33.9654 192.844 27.054 188.838 20.9804C184.839 14.9164 179.358 10.1474 172.409 6.67216C165.452 3.06576 157.603 1.26801 148.872 1.26801C142.33 1.26801 136.103 2.16605 130.194 3.96445C124.297 5.75918 118.783 8.19561 113.652 11.2742C108.529 14.3479 103.79 17.8704 99.4341 21.8415ZM202.654 119.546L202.391 119.907L202.719 120.209C209.133 126.109 216.381 130.664 224.463 133.87C232.555 137.082 241.662 138.682 251.777 138.682C260.88 138.682 269.289 137.079 276.998 133.867L277.004 133.865C284.726 130.519 290.913 125.558 295.554 118.985C300.337 112.39 302.716 104.323 302.716 94.8124C302.716 86.0701 300.594 78.7648 296.317 72.9306C292.053 66.9875 286.178 62.5381 278.714 59.5772C274.811 57.9342 270.62 56.7304 266.143 55.9638L297.792 24.476L297.94 24.3294V24.1216V4.06067V3.56067H297.44H286.46L286.275 3.23261L285.956 3.56067H208.216H207.716V4.06067V30.8085V31.3085H208.216H258.948L230.021 61.0288L229.879 61.1744V61.3775V77.8084V78.3084H230.379H247.383C253.076 78.3084 257.651 79.0684 261.133 80.5606C264.633 82.0608 267.155 84.0432 268.744 86.4873L268.749 86.4945L268.754 86.5016C270.476 88.9628 271.338 91.7281 271.338 94.8124C271.338 99.9986 269.253 103.98 265.067 106.814C260.843 109.545 255.217 110.934 248.147 110.934C242.357 110.934 237.083 109.802 232.317 107.546C227.535 105.154 223.189 101.88 219.28 97.718L218.867 97.278L218.511 97.766L202.654 119.546Z
+ `,
+ ],
+};
diff --git a/src/icons/index.ts b/src/icons/index.ts
new file mode 100644
index 000000000..409c1cfb5
--- /dev/null
+++ b/src/icons/index.ts
@@ -0,0 +1,2 @@
+export * from './EntityIcons';
+export * from './Icons';
diff --git a/src/types.ts b/src/types.ts
new file mode 100644
index 000000000..8dee4afbb
--- /dev/null
+++ b/src/types.ts
@@ -0,0 +1,9 @@
+import type { DefaultMantineColor, MantineColorsTuple } from '@mantine/core';
+
+type ExtendedCustomColors = 'dvPrimary' | 'dvGray' | 'dvGene' | 'dvDisease' | 'dvCellLine' | 'dvTissue' | 'dvDrug' | 'dvAI' | 'white' | DefaultMantineColor;
+
+declare module '@mantine/core' {
+ export interface MantineThemeColorsOverride {
+ colors: Record;
+ }
+}
diff --git a/src/utils/colors.ts b/src/utils/colors.ts
new file mode 100644
index 000000000..d1c1d58c2
--- /dev/null
+++ b/src/utils/colors.ts
@@ -0,0 +1,82 @@
+// categorical color map
+export const categoricalColors = ['#337AB7', '#ec6836', '#75c4c2', '#e9d36c', '#24b466', '#e891ae', '#db933c', '#b08aa6', '#8a6044', '#7b7b7b'];
+
+// sequential color map blue
+export const sequentialBlueColors = ['#cff6ff', '#b0d6fe', '#93b9e8', '#779ecb', '#5c84af', '#406a94', '#23527a', '#023a60', '#002245'];
+
+// sequential color map red
+export const sequentialRedColors = ['#ffd7a9', '#ffb286', '#f69066', '#de754d', '#c25d37', '#a64621', '#8b2f0c', '#701601', '#520000'];
+
+// sequential color map green
+export const sequentialGreenColors = ['#95f4b3', '#79d798', '#5dbc7f', '#41a065', '#20864d', '#066b35', '#00511e', '#003806', '#002100'];
+
+// sequential color map yellow
+export const sequentialYellowColors = ['#fff188', '#e7d26b', '#cab650', '#ac9a35', '#8f8018', '#736601', '#584e00', '#3f3600', '#2d1e00'];
+
+// diverging color map blue-red
+export const divergingBlueRed = [
+ '#003367',
+ '#16518a',
+ '#2e72ae',
+ '#5093cd',
+ '#77b5ea',
+ '#aad7fd',
+ '#f5f5f5',
+ '#fac7a9',
+ '#f99761',
+ '#e06d3b',
+ '#c2451a',
+ '#99230d',
+ '#6f0000',
+];
+
+// diverging color map red-turquois
+export const divergingRedTurquois = [
+ '#6f0000',
+ '#99230d',
+ '#c2451a',
+ '#e06d3b',
+ '#f99761',
+ '#fac7a9',
+ '#f5f5f5',
+ '#9ddddb',
+ '#6bbbba',
+ '#489997',
+ '#297776',
+ '#145656',
+ '#003838',
+];
+
+// diverging color map blue-yellow
+export const divergingBlueYellow = [
+ '#003367',
+ '#16518a',
+ '#2e72ae',
+ '#5093cd',
+ '#77b5ea',
+ '#aad7fd',
+ '#f5f5f5',
+ '#e3d17f',
+ '#c1ae46',
+ '#9d8c22',
+ '#7a6c0a',
+ '#584c05',
+ '#392f00',
+];
+
+// diverging color map blue-pink
+export const divergingBluePink = [
+ '#003367',
+ '#16518a',
+ '#2e72ae',
+ '#5093cd',
+ '#77b5ea',
+ '#aad7fd',
+ '#f5f5f5',
+ '#fdc0d6',
+ '#e696b3',
+ '#c4728f',
+ '#a1506e',
+ '#7e2f50',
+ '#5b0e31',
+];
diff --git a/src/utils/index.ts b/src/utils/index.ts
index c4a15e289..5f57c6233 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -2,3 +2,4 @@ export * from './XlsxUtils';
export * from './getCssValue';
export * from './initializeLibrary';
export * from './fromNow';
+export * from './colors';
diff --git a/src/vis/bar/hooks/useGetGroupedBarScales.ts b/src/vis/bar/hooks/useGetGroupedBarScales.ts
index 7117cd7a4..59c60a518 100644
--- a/src/vis/bar/hooks/useGetGroupedBarScales.ts
+++ b/src/vis/bar/hooks/useGetGroupedBarScales.ts
@@ -7,6 +7,7 @@ import { EAggregateTypes, EColumnTypes } from '../../interfaces';
import { binByAggregateType, getBarData, groupByAggregateType, rollupByAggregateType } from '../utils';
import { EBarGroupingType, SortTypes } from '../interfaces';
import { useGetBarScales } from './useGetBarScales';
+import { categoricalColors as colorScale } from '../../../utils/colors';
export function useGetGroupedBarScales(
allColumns: Awaited>,
@@ -59,7 +60,6 @@ export function useGetGroupedBarScales(
const groupColorScale = useMemo(() => {
if (!groupedTable) return null;
- const colorScale = ['#337ab7', '#ec6836', '#75c4c2', '#e9d36c', '#24b466', '#e891ae', '#db933c', '#b08aa6', '#8a6044', '#7b7b7b'];
let i = -1;
const newGroup = groupedTable.ungroup().groupby('group').count();
diff --git a/src/vis/heatmap/Heatmap.tsx b/src/vis/heatmap/Heatmap.tsx
index 6bfc2717a..93361a6e5 100644
--- a/src/vis/heatmap/Heatmap.tsx
+++ b/src/vis/heatmap/Heatmap.tsx
@@ -12,6 +12,7 @@ import { ColorLegendVert } from '../legend/ColorLegendVert';
import { HeatmapRect } from './HeatmapRect';
import { HeatmapText } from './HeatmapText';
import { ESortTypes, IHeatmapConfig } from './interfaces';
+import { sequentialBlueColors } from '../../utils/colors';
const interRectDistance = 1;
@@ -123,10 +124,7 @@ export function Heatmap({
const colorSc =
config?.numColorScaleType === ENumericalColorScaleType.SEQUENTIAL
? d3
- .scaleSequential<
- string,
- string
- >(d3.piecewise(d3.interpolateRgb.gamma(2.2), ['#24528d', '#2d67a0', '#3b7bb2', '#4d90c3', '#65a5d3', '#80bae0', '#a0ceeb', '#c6e1f2', '#f1f3f5'].reverse()))
+ .scaleSequential(d3.piecewise(d3.interpolateRgb.gamma(2.2), sequentialBlueColors))
.domain(
config.aggregateType === EAggregateTypes.COUNT
? [0, d3.max(groupedVals, (d) => d.aggregateVal as number)]
diff --git a/src/vis/scatter/utils.ts b/src/vis/scatter/utils.ts
index cddc1df4c..b8620c4a3 100644
--- a/src/vis/scatter/utils.ts
+++ b/src/vis/scatter/utils.ts
@@ -178,7 +178,7 @@ export async function createScatterTraces(
}${shapeCol ? `
${columnNameWithDescription(shapeCol.info)}: ${shapeCol.resolvedValues[i].val}` : ''}`,
),
hoverinfo: 'text',
- text: validCols[0].resolvedValues.map((v) => v.id.toString()),
+ text: validCols[0].resolvedValues.map((v) => idToLabelMapper(v.id)),
// @ts-ignore
textposition: validCols[0].resolvedValues.map((v, i) => textPositionOptions[i % textPositionOptions.length]),
marker: {
diff --git a/tests/exports.test.ts b/tests/exports.test.ts
index 192efebce..16061d76e 100644
--- a/tests/exports.test.ts
+++ b/tests/exports.test.ts
@@ -5,7 +5,7 @@ import { readdirSync, readFileSync } from 'fs';
import packageJson from '../package.json';
const NOT_EXPORTED_PACKAGES = ['assets', 'demo', 'locales', 'scss', 'stories'];
-const ADDITIONAL_EXPORTS = ['.', './assets/*', './plotly/full', './scss/*', './phovea_registry', './package.json'];
+const ADDITIONAL_EXPORTS = ['.', './assets/*', './plotly/full', './scss/*', './phovea_registry', './package.json', './types'];
describe('package.json exports', () => {
expect(packageJson.exports).toBeDefined();