This commit is contained in:
Senad Uka
2023-10-15 15:06:13 +02:00
parent e023fee8a5
commit 144bba6428
17 changed files with 1094 additions and 8 deletions

5
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,5 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/

12
.idea/frontend.iml generated Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/frontend.iml" filepath="$PROJECT_DIR$/.idea/frontend.iml" />
</modules>
</component>
</project>

4
.idea/watcherTasks.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectTasksOptions" suppressed-tasks="Sass" />
</project>

BIN
innovagrant.zip Normal file

Binary file not shown.

469
package-lock.json generated
View File

@@ -9,10 +9,13 @@
"version": "0.0.1", "version": "0.0.1",
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-auto": "^2.0.0",
"@sveltejs/adapter-static": "^2.0.3",
"@sveltejs/kit": "^1.20.4", "@sveltejs/kit": "^1.20.4",
"prettier": "^2.8.0", "prettier": "^2.8.0",
"prettier-plugin-svelte": "^2.10.1", "prettier-plugin-svelte": "^2.10.1",
"sass": "^1.69.3",
"svelte": "^4.0.5", "svelte": "^4.0.5",
"svelte-moveable": "^0.43.4",
"vite": "^4.4.2" "vite": "^4.4.2"
} }
}, },
@@ -29,6 +32,48 @@
"node": ">=6.0.0" "node": ">=6.0.0"
} }
}, },
"node_modules/@cfcs/core": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/@cfcs/core/-/core-0.0.6.tgz",
"integrity": "sha512-FxfJMwoLB8MEMConeXUCqtMGqxdtePQxRBOiGip9ULcYYam3WfCgoY6xdnMaSkYvRvmosp5iuG+TiPofm65+Pw==",
"dev": true,
"dependencies": {
"@egjs/component": "^3.0.2"
}
},
"node_modules/@daybrush/utils": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/@daybrush/utils/-/utils-1.13.0.tgz",
"integrity": "sha512-ALK12C6SQNNHw1enXK+UO8bdyQ+jaWNQ1Af7Z3FNxeAwjYhQT7do+TRE4RASAJ3ObaS2+TJ7TXR3oz2Gzbw0PQ==",
"dev": true
},
"node_modules/@egjs/agent": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/@egjs/agent/-/agent-2.4.3.tgz",
"integrity": "sha512-XvksSENe8wPeFlEVouvrOhKdx8HMniJ3by7sro2uPF3M6QqWwjzVcmvwoPtdjiX8O1lfRoLhQMp1a7NGlVTdIA==",
"dev": true
},
"node_modules/@egjs/children-differ": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@egjs/children-differ/-/children-differ-1.0.1.tgz",
"integrity": "sha512-DRvyqMf+CPCOzAopQKHtW+X8iN6Hy6SFol+/7zCUiE5y4P/OB8JP8FtU4NxtZwtafvSL4faD5KoQYPj3JHzPFQ==",
"dev": true,
"dependencies": {
"@egjs/list-differ": "^1.0.0"
}
},
"node_modules/@egjs/component": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@egjs/component/-/component-3.0.4.tgz",
"integrity": "sha512-sXA7bGbIeLF2OAw/vpka66c6QBBUPcA4UUhR4WGJfnp2XWdiI8QrnJGJMr/UxpE/xnevX9tN3jvNPlW8WkHl3g==",
"dev": true
},
"node_modules/@egjs/list-differ": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@egjs/list-differ/-/list-differ-1.0.1.tgz",
"integrity": "sha512-OTFTDQcWS+1ZREOdCWuk5hCBgYO4OsD30lXcOCyVOAjXMhgL5rBRDnt/otb6Nz8CzU0L/igdcaQBDLWc4t9gvg==",
"dev": true
},
"node_modules/@esbuild/android-arm": { "node_modules/@esbuild/android-arm": {
"version": "0.18.20", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
@@ -444,6 +489,34 @@
"integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==",
"dev": true "dev": true
}, },
"node_modules/@scena/dragscroll": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@scena/dragscroll/-/dragscroll-1.4.0.tgz",
"integrity": "sha512-3O8daaZD9VXA9CP3dra6xcgt/qrm0mg0xJCwiX6druCteQ9FFsXffkF8PrqxY4Z4VJ58fFKEa0RlKqbsi/XnRA==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.6.0",
"@scena/event-emitter": "^1.0.2"
}
},
"node_modules/@scena/event-emitter": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@scena/event-emitter/-/event-emitter-1.0.5.tgz",
"integrity": "sha512-AzY4OTb0+7ynefmWFQ6hxDdk0CySAq/D4efljfhtRHCOP7MBF9zUfhKG3TJiroVjASqVgkRJFdenS8ArZo6Olg==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.1.1"
}
},
"node_modules/@scena/matrix": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@scena/matrix/-/matrix-1.1.1.tgz",
"integrity": "sha512-JVKBhN0tm2Srl+Yt+Ywqu0oLgLcdemDQlD1OxmN9jaCTwaFPZ7tY8n6dhVgMEaR9qcR7r+kAlMXnSfNyYdE+Vg==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.4.0"
}
},
"node_modules/@sveltejs/adapter-auto": { "node_modules/@sveltejs/adapter-auto": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-2.1.0.tgz", "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-2.1.0.tgz",
@@ -456,6 +529,15 @@
"@sveltejs/kit": "^1.0.0" "@sveltejs/kit": "^1.0.0"
} }
}, },
"node_modules/@sveltejs/adapter-static": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-2.0.3.tgz",
"integrity": "sha512-VUqTfXsxYGugCpMqQv1U0LIdbR3S5nBkMMDmpjGVJyM6Q2jHVMFtdWJCkeHMySc6mZxJ+0eZK3T7IgmUCDrcUQ==",
"dev": true,
"peerDependencies": {
"@sveltejs/kit": "^1.5.0"
}
},
"node_modules/@sveltejs/kit": { "node_modules/@sveltejs/kit": {
"version": "1.25.2", "version": "1.25.2",
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.25.2.tgz", "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.25.2.tgz",
@@ -551,6 +633,19 @@
"node": ">=0.4.0" "node": ">=0.4.0"
} }
}, },
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/aria-query": { "node_modules/aria-query": {
"version": "5.3.0", "version": "5.3.0",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
@@ -569,6 +664,54 @@
"dequal": "^2.0.3" "dequal": "^2.0.3"
} }
}, },
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"dependencies": {
"fill-range": "^7.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
],
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
},
"engines": {
"node": ">= 8.10.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/code-red": { "node_modules/code-red": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
@@ -591,6 +734,71 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/croact": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/croact/-/croact-1.0.4.tgz",
"integrity": "sha512-9GhvyzTY/IVUrMQ2iz/mzgZ8+NcjczmIo/t4FkC1CU0CEcau6v6VsEih4jkTa4ZmRgYTF0qXEZLObCzdDFplpw==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.13.0",
"@egjs/list-differ": "^1.0.0"
}
},
"node_modules/croact-css-styled": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/croact-css-styled/-/croact-css-styled-1.1.9.tgz",
"integrity": "sha512-G7yvRiVJ3Eoj0ov2h2xR4312hpOzATay2dGS9clK8yJQothjH1sBXIyvOeRP5wBKD9mPcKcoUXPCPsl0tQog4w==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.13.0",
"css-styled": "~1.0.8",
"framework-utils": "^1.1.0"
}
},
"node_modules/croact-moveable": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/croact-moveable/-/croact-moveable-0.7.2.tgz",
"integrity": "sha512-6Mi+02i04TnWLmvxzaoZVuBUoTd/9OhcMTfvuqO7y/htfrTjO68935AysPaWnN6FesHYFh6+6DaqgWt/DcS8Mg==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.13.0",
"@egjs/agent": "^2.2.1",
"@egjs/children-differ": "^1.0.1",
"@egjs/list-differ": "^1.0.0",
"@scena/dragscroll": "^1.4.0",
"@scena/event-emitter": "^1.0.5",
"@scena/matrix": "^1.1.1",
"croact-css-styled": "^1.1.9",
"css-to-mat": "^1.1.1",
"framework-utils": "^1.1.0",
"gesto": "^1.19.0",
"overlap-area": "^1.1.0",
"react-css-styled": "^1.1.9",
"react-moveable": "~0.54.2"
},
"peerDependencies": {
"croact": "^1.0.4"
}
},
"node_modules/css-styled": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/css-styled/-/css-styled-1.0.8.tgz",
"integrity": "sha512-tCpP7kLRI8dI95rCh3Syl7I+v7PP+2JYOzWkl0bUEoSbJM+u8ITbutjlQVf0NC2/g4ULROJPi16sfwDIO8/84g==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.13.0"
}
},
"node_modules/css-to-mat": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/css-to-mat/-/css-to-mat-1.1.1.tgz",
"integrity": "sha512-kvpxFYZb27jRd2vium35G7q5XZ2WJ9rWjDUMNT36M3Hc41qCrLXFM5iEKMGXcrPsKfXEN+8l/riB4QzwwwiEyQ==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.13.0",
"@scena/matrix": "^1.0.0"
}
},
"node_modules/css-tree": { "node_modules/css-tree": {
"version": "2.3.1", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
@@ -697,6 +905,24 @@
"@types/estree": "^1.0.0" "@types/estree": "^1.0.0"
} }
}, },
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/framework-utils": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/framework-utils/-/framework-utils-1.1.0.tgz",
"integrity": "sha512-KAfqli5PwpFJ8o3psRNs8svpMGyCSAe8nmGcjQ0zZBWN2H6dZDnq+ABp3N3hdUmFeMrLtjOCTXD4yplUJIWceg==",
"dev": true
},
"node_modules/fsevents": { "node_modules/fsevents": {
"version": "2.3.3", "version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -711,6 +937,28 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0" "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
} }
}, },
"node_modules/gesto": {
"version": "1.19.2",
"resolved": "https://registry.npmjs.org/gesto/-/gesto-1.19.2.tgz",
"integrity": "sha512-i6OGsrR2GN7n2dQaUhY+LZ+AAZgBNg5/1kest/ST5VRRflfVl5bSfvOkJMDmKEUrGbKF6eIDkFz/DnCXJD4UMA==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.13.0",
"@scena/event-emitter": "^1.0.2"
}
},
"node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/globalyzer": { "node_modules/globalyzer": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
@@ -723,6 +971,12 @@
"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
"dev": true "dev": true
}, },
"node_modules/immutable": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz",
"integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
"dev": true
},
"node_modules/import-meta-resolve": { "node_modules/import-meta-resolve": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-3.0.0.tgz", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-3.0.0.tgz",
@@ -733,6 +987,48 @@
"url": "https://github.com/sponsors/wooorm" "url": "https://github.com/sponsors/wooorm"
} }
}, },
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/is-reference": { "node_modules/is-reference": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
@@ -742,6 +1038,24 @@
"@types/estree": "*" "@types/estree": "*"
} }
}, },
"node_modules/keycode": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz",
"integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==",
"dev": true
},
"node_modules/keycon": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/keycon/-/keycon-1.4.0.tgz",
"integrity": "sha512-p1NAIxiRMH3jYfTeXRs2uWbVJ1WpEjpi8ktzUyBJsX7/wn2qu2VRXktneBLNtKNxJmlUYxRi9gOJt1DuthXR7A==",
"dev": true,
"dependencies": {
"@cfcs/core": "^0.0.6",
"@daybrush/utils": "^1.7.1",
"@scena/event-emitter": "^1.0.2",
"keycode": "^2.2.0"
}
},
"node_modules/kleur": { "node_modules/kleur": {
"version": "4.1.5", "version": "4.1.5",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
@@ -787,6 +1101,19 @@
"node": ">=10.0.0" "node": ">=10.0.0"
} }
}, },
"node_modules/moveable": {
"version": "0.51.2",
"resolved": "https://registry.npmjs.org/moveable/-/moveable-0.51.2.tgz",
"integrity": "sha512-m/mAwsnSkTmrbjSmX2Q3RZdeaC+nkObbZC8kDCl34TWX39mbS/BZszF6M1dj3DbPYSE5NQP7Y6DR8MIRBRIdKg==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.13.0",
"@scena/event-emitter": "^1.0.5",
"croact": "^1.0.4",
"croact-moveable": "~0.7.2",
"react-moveable": "~0.54.2"
}
},
"node_modules/mri": { "node_modules/mri": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
@@ -829,6 +1156,24 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
} }
}, },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/overlap-area": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/overlap-area/-/overlap-area-1.1.0.tgz",
"integrity": "sha512-3dlJgJCaVeXH0/eZjYVJvQiLVVrPO4U1ZGqlATtx6QGO3b5eNM6+JgUKa7oStBTdYuGTk7gVoABCW6Tp+dhRdw==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.7.1"
}
},
"node_modules/periscopic": { "node_modules/periscopic": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
@@ -846,6 +1191,18 @@
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true "dev": true
}, },
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.4.31", "version": "8.4.31",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
@@ -899,6 +1256,58 @@
"svelte": "^3.2.0 || ^4.0.0-next.0" "svelte": "^3.2.0 || ^4.0.0-next.0"
} }
}, },
"node_modules/react-css-styled": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/react-css-styled/-/react-css-styled-1.1.9.tgz",
"integrity": "sha512-M7fJZ3IWFaIHcZEkoFOnkjdiUFmwd8d+gTh2bpqMOcnxy/0Gsykw4dsL4QBiKsxcGow6tETUa4NAUcmJF+/nfw==",
"dev": true,
"dependencies": {
"css-styled": "~1.0.8",
"framework-utils": "^1.1.0"
}
},
"node_modules/react-moveable": {
"version": "0.54.2",
"resolved": "https://registry.npmjs.org/react-moveable/-/react-moveable-0.54.2.tgz",
"integrity": "sha512-NGaVLbn0i9pb3+BWSKGWFqI/Mgm4+WMeWHxXXQ4Qi1tHxWCXrUrbGvpxEpt69G/hR7dez+/m68ex+fabjnvcUg==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.13.0",
"@egjs/agent": "^2.2.1",
"@egjs/children-differ": "^1.0.1",
"@egjs/list-differ": "^1.0.0",
"@scena/dragscroll": "^1.4.0",
"@scena/event-emitter": "^1.0.5",
"@scena/matrix": "^1.1.1",
"css-to-mat": "^1.1.1",
"framework-utils": "^1.1.0",
"gesto": "^1.19.0",
"overlap-area": "^1.1.0",
"react-css-styled": "^1.1.9",
"react-selecto": "^1.25.0"
}
},
"node_modules/react-selecto": {
"version": "1.26.0",
"resolved": "https://registry.npmjs.org/react-selecto/-/react-selecto-1.26.0.tgz",
"integrity": "sha512-aBTZEYA68uE+o8TytNjTb2GpIn4oKEv0U4LIow3cspJQlF/PdAnBwkq9UuiKVuFluu5kfLQ7Keu3S2Tihlmw0g==",
"dev": true,
"dependencies": {
"selecto": "~1.26.0"
}
},
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"dependencies": {
"picomatch": "^2.2.1"
},
"engines": {
"node": ">=8.10.0"
}
},
"node_modules/rollup": { "node_modules/rollup": {
"version": "3.29.4", "version": "3.29.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
@@ -927,6 +1336,41 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/sass": {
"version": "1.69.3",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.69.3.tgz",
"integrity": "sha512-X99+a2iGdXkdWn1akFPs0ZmelUzyAQfvqYc2P/MPTrJRuIRoTffGzT9W9nFqG00S+c8hXzVmgxhUuHFdrwxkhQ==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
"source-map-js": ">=0.6.2 <2.0.0"
},
"bin": {
"sass": "sass.js"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/selecto": {
"version": "1.26.0",
"resolved": "https://registry.npmjs.org/selecto/-/selecto-1.26.0.tgz",
"integrity": "sha512-cEFKdv5rmkF6pf2OScQJllaNp4UJy/FvviB40ZaMSHrQCxC72X/Q6uhzW1tlb2RE+0danvUNJTs64cI9VXtUyg==",
"dev": true,
"dependencies": {
"@daybrush/utils": "^1.13.0",
"@egjs/children-differ": "^1.0.1",
"@scena/dragscroll": "^1.4.0",
"@scena/event-emitter": "^1.0.5",
"css-styled": "^1.0.8",
"css-to-mat": "^1.1.1",
"framework-utils": "^1.1.0",
"gesto": "^1.19.1",
"keycon": "^1.2.0",
"overlap-area": "^1.1.0"
}
},
"node_modules/set-cookie-parser": { "node_modules/set-cookie-parser": {
"version": "2.6.0", "version": "2.6.0",
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz",
@@ -992,6 +1436,19 @@
"svelte": "^3.19.0 || ^4.0.0" "svelte": "^3.19.0 || ^4.0.0"
} }
}, },
"node_modules/svelte-moveable": {
"version": "0.43.4",
"resolved": "https://registry.npmjs.org/svelte-moveable/-/svelte-moveable-0.43.4.tgz",
"integrity": "sha512-CkiOFODex7tp/qoUtq3TuVyV2J477tkkHLnE+KfRbK1a1l4jDRilV0+8gDQtt65TubskbrSX52x19NgpxlE1NA==",
"dev": true,
"dependencies": {
"framework-utils": "^1.1.0",
"moveable": "~0.51.2"
},
"peerDependencies": {
"svelte": "^3.54.0 || ^4.0.0"
}
},
"node_modules/tiny-glob": { "node_modules/tiny-glob": {
"version": "0.2.9", "version": "0.2.9",
"resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
@@ -1002,6 +1459,18 @@
"globrex": "^0.1.2" "globrex": "^0.1.2"
} }
}, },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/totalist": { "node_modules/totalist": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",

View File

@@ -11,10 +11,13 @@
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-auto": "^2.0.0",
"@sveltejs/adapter-static": "^2.0.3",
"@sveltejs/kit": "^1.20.4", "@sveltejs/kit": "^1.20.4",
"prettier": "^2.8.0", "prettier": "^2.8.0",
"prettier-plugin-svelte": "^2.10.1", "prettier-plugin-svelte": "^2.10.1",
"sass": "^1.69.3",
"svelte": "^4.0.5", "svelte": "^4.0.5",
"svelte-moveable": "^0.43.4",
"vite": "^4.4.2" "vite": "^4.4.2"
}, },
"type": "module" "type": "module"

View File

@@ -0,0 +1,49 @@
html, body {
background-color: #171714;
color: #f9f5c3;
font-family: sans-serif;
justify-content: center;
}
div {
background-color: #171714;
}
header {
text-align: center;
width: 100%;
padding-top: 0.5em;
padding-bottom: 0.5em;
font-family: sans-serif;
font-size: 3em;
background-color: #0f1115;
justify-content: center;
}
header div, content div {
max-width: 800px;
margin: auto;
}
a:link, a:visited {
color: #f9f5c3;
}
header a:link {
color: #f9f5c3;
text-decoration: none;
}
header a:visited {
color: #f9f5c3;
text-decoration: none;
}
h1 {
color: #e6fbfb;
font-size: 2.5em;
}
h2 {
color: #e6fbfb;
font-size: 1.5em;
text-align: center;
}

292
src/form.sass Normal file
View File

@@ -0,0 +1,292 @@
// colors
$bg: #171714
$vibrant: #E8474C
$text: white
$label: white
$border: transparent
$static: #222222
$focus: #4E4E4E
$active: white
$inactive: #4E4E4E
$error: #E8474C
html
-webkit-font-smoothing: antialiased
body
background-color: $bg
font-family: 'Titillium Web', sans-serif
@media screen and (min-width: 40em)
font-size: 1.25em
%block
padding: .75em 1em
appearance: none
outline: none
line-height: normal
border-radius: 0
border: none
background: none
display: block
%label
@extend %block
font-weight: bold
color: $label
padding:
top: 0
left: 0
letter-spacing: .025em
font-size: 1.125em
line-height: 1.25
position: relative
z-index: 100
.required &:after
content: '\0020*'
color: $error
font-weight: normal
font-size: .75em
vertical-align: top
=stripes($color1: #555, $color2: transparent, $angle: 0deg, $stripe1-width: 25px, $stripe2-width: null)
@if $stripe2-width == null
$stripe2-width: $stripe1-width
$tile-size: ($stripe1-width + $stripe2-width) * 2
$stripe2-start: $stripe1-width / $tile-size * 100%
$stripe3-start: $stripe2-start + $stripe2-width / $tile-size * 100%
$stripe4-start: $stripe3-start + $stripe1-width / $tile-size * 100%
background-size: $tile-size $tile-size
background-image: linear-gradient($angle, $color1, $color1 $stripe2-start, $color2 $stripe2-start, $color2 $stripe3-start, $color1 $stripe3-start, $color1 $stripe4-start, $color2 $stripe4-start, $color2)
background-repeat: repeat
%input
@extend %block
font: inherit
line-height: normal
width: 100%
box-sizing: border-box
background: $static
color: white
position: relative
&:placeholder
color: $label
&:-webkit-autofill
box-shadow: 0 0 0px 1000px $bg inset
-webkit-text-fill-color: white
border-top-color: $bg
border-left-color: $bg
border-right-color: $bg
&.required, &[required]
&:not(:focus):not(:active)
&.error, .error &
+stripes(rgba($vibrant,.5), transparent, 135deg, 2px, 2px)
&:active, &:focus
@extend %input-active
%input-active
.form:not(.has-magic-focus) &
background: $focus
%error
@extend %block
// color: red
position: absolute
bottom: 0
right: 0
z-index: 100
font-size: .625em
color: $label
%checkbox
border: 0
clip: rect(0 0 0 0)
height: 1px
margin: -1px
overflow: hidden
padding: 0
position: absolute
width: 1px
+ label
@extend %input
display: inline-block
width: auto
color: $inactive
position: relative
user-select: none
cursor: pointer
&:focus, &:active
+ label
color: $focus
&:checked
+ label
color: $active
// &:focus, &:active
// + label:before
// box-shadow: inset 0px 0px 0px .5em $focus
// color: $active
%option
+ label
// &:before
// border-radius: 50%
// &:after
// top: 1px
// left: 1px
// width: 1em
// height: 1em
// box-sizing: border-box
// border: 3px solid $bg
// border-radius: 50%
// transform: none
%button
@extend %block
font: inherit
// font-size: 1em
line-height: normal
cursor: pointer
background: $vibrant
color: white
font-weight: bold
width: auto
margin-left: auto
font-weight: bold
padding:
left: 2em
right: 2em
&:hover, &:focus, &:active
color: white
border-color: white
&:active
position: relative
top: 1px
left: 1px
body
padding: 2em
.form
max-width: 40em
margin: 0 auto
position: relative
display: flex
flex-flow: row wrap
justify-content: space-between
align-items: flex-end
.field
width: 100%
margin: 0 0 1.5em 0
&.half
@media screen and (min-width: 40em)
width: calc(50% - 1px)
&.last
margin-left: auto
.text-input
@extend %input
.textarea
@extend %input
max-width: 100%
.button
@extend %button
.label
@extend %label
.message
@extend %error
.select
@extend %input
text-indent: 0.01px
text-overflow: ""!important
&::-ms-expand
display: none
.checkboxes, .options
padding: 0
margin: 0
list-style-type: none
overflow: hidden
.checkbox, .option
float: left
margin: 1px
.checkbox-input
@extend %checkbox
.option-input
@extend %checkbox
// @extend %option
.customSelect
@extend %input
pointer-events: none
&:after
content: ''
pointer-events: none
width: .5em
height: .5em
border-style: solid
border-color: $label
border-width: 0 3px 3px 0
position: absolute
top: 50%
margin-top: -.625em
right: 1em
transform-origin: 0 0
transform: rotate(45deg)
&.customSelectHover
&.customSelectOpen
&.customSelectFocus
@extend %input-active
&:after
border-color: white
.customSelectInner
.magic-focus
position: absolute
z-index: 0
width: 0
// height: 0
pointer-events: none
background: rgba(white,.15)
transition: top .2s, left .2s, width .2s
backface-visibility: hidden
transform-style: preserve-3d
will-change: top, left, width
transform-origin: 0 0

View File

@@ -0,0 +1,56 @@
<form class="form" action="/project/">
<p class="field">
<label class="label" for="select">Programme</label>
<select id="select" class="select">
<option value="EuropeAid/167126/DD/ACT/BA" selected="true">
Civil Society Facility and Media Programme for Bosnia and
Herzegovina 2023
</option>
<option value="EuropeAid/167128/DD/ACT/UKR">
Cohesion's Action for Refugees in Europe (CARE) Ukraine
</option>
</select>
</p>
<p class="field">
<label class="label" for="select">Number and title of lot</label>
<select id="select" class="select">
<option value="lot5" selected="true">
Lot 5: Support to CSOs networks in the area of
Youth
</option>
</select>
</p>
<p class="field required">
<label class="label required" for="action">Title of the action</label>
<input class="text-input" id="action" type="text" name="name" required="true" value="Youth Retention Program in BiH 'General
Mobilization'"/>
</p>
<p class="field required">
<label class="label required" for="name">Name of the lead applicant</label>
<input class="text-input" id="name" type="text" name="name" required="true" value="Citizens Association 'Something More'"/>
</p>
<p class="field required">
<label class="label required" for="nationality">Nationality of Lead Applicant</label>
<input class="text-input" id="nationality" type="text" name="name" required="true" value="Bosnia and Herzegovina"/>
</p>
<p class="field">
<label class="label" for="other">Other Applicants</label>
<textarea class="textarea" id="other" cols="50" name="other" rows="4"></textarea>
</p>
<p class="field">
<label class="label" for="summary">Write summary of the project</label>
<textarea class="textarea" id="summary" cols="50" name="other" rows="4"></textarea>
</p>
<p class="field">
<input class="button" type="submit" value="Create Application"/>
</p>
</form>

View File

@@ -7,9 +7,10 @@
<script> <script>
// import { slide } from 'svelte/transition' // import { slide } from 'svelte/transition'
export let tree export let tree
const {label, children} = tree export let selected
const {id, label, children} = tree
let expanded = _expansionState[label] || false let expanded = _expansionState[label] || true
const toggleExpansion = () => { const toggleExpansion = () => {
expanded = _expansionState[label] = !expanded expanded = _expansionState[label] = !expanded
} }
@@ -25,12 +26,16 @@
</span> </span>
{#if expanded} {#if expanded}
{#each children as child} {#each children as child}
<svelte:self tree={child} /> <svelte:self tree={child}/>
{/each} {/each}
{/if} {/if}
{:else} {:else}
<span> <span>
{#if selected == id}
<span class="selected">&#x2605;</span>
{:else}
<span class="no-arrow"/> <span class="no-arrow"/>
{/if}
{label} {label}
</span> </span>
{/if} {/if}
@@ -44,11 +49,18 @@
padding-left: 1.2rem; padding-left: 1.2rem;
user-select: none; user-select: none;
} }
.no-arrow { padding-left: 1.0rem; }
.no-arrow {
padding-left: 1.0rem;
}
.arrow { .arrow {
cursor: pointer; cursor: pointer;
display: inline-block; display: inline-block;
/* transition: transform 200ms; */ /* transition: transform 200ms; */
} }
.arrowDown { transform: rotate(90deg); }
.arrowDown {
transform: rotate(90deg);
}
</style> </style>

2
src/routes/+layout.js Normal file
View File

@@ -0,0 +1,2 @@
//kit.svelte.dev/docs/single-page-apps
export const prerender = true;

View File

@@ -0,0 +1,8 @@
<script>
export const trailingSlash = 'always';
import '../app.css'
import '../form.sass'
</script>
<slot />

View File

@@ -1,2 +1,20 @@
<h1>Welcome to SvelteKit</h1> <script>
<p>Visit <a href="https://kit.svelte.dev">kit.svelte.dev</a> to read the documentation</p> import ProjectForm from "$lib/ProjectForm.svelte";
</script>
<header>
<img id="logo" src="/logo.png" />
</header>
<content>
<div style="text-align: center;">
<h1>Project initialization</h1>
</div>
<ProjectForm />
</content>
<style>
#logo {
height: 10vh;
}
</style>

View File

@@ -0,0 +1,148 @@
<header>
<img id="logo" src="logo.png">
</header>
<script>
import TreeView from '$lib/TreeView.svelte'
let idCounter = 1;
const tree = {
label: "Project",
id: idCounter++,
children: [
{
label: "Budget",
id: idCounter++,
children: [
{ label: "Sample Section 3", id: idCounter++ },
],
},
{
label: "Logical Framework",
id: idCounter++,
children: [
{ label: "Sample Section 4", id: idCounter++ },
],
},
{
label: "Declaration By Lead Applicant",
id: idCounter++,
children: [
{ label: "Sample Section 5", id: idCounter++ },
],
},
{
label: "Mandate",
id: idCounter++,
children: [
{ label: "Sample Section 6", id: idCounter++ },
],
},
{
label: "Annex A2 Grant Application Form Full Application",
id: idCounter++,
children: [
{ label: "Full Application Form", id: idCounter++ },
{ label: "1 General Information", id: idCounter++ },
{
label: "2 The Action",
id: idCounter++,
children: [
{
label: "2.1 Description of the Action",
id: idCounter++,
children: [
{ label: "2.1.1 Description (Max 13 Pages)", id: idCounter++ },
{ label: "2.1.2 Methodology (Max 5 Pages)", id: idCounter++ },
{ label: "2.1.3 Indicative Action Plan For Implementing the Action (Max 4 Pages)", id: idCounter++ },
{ label: "2.1.4 Sustainability of the Action (Max 3 Pages)", id: idCounter++ },
{ label: "2.1.5 Logical Framework", id: idCounter++ },
{ label: "2.1.6 Budget, Amount Requested from the Contracting Authority and Other Expected Sources of Funding", id: idCounter++ }
]
},
{ label: "2.2 Lead Applicants Experience", id: idCounter++ }
],
},
{
label: "3 The Lead Applicant, the Co-Applicant(s) and Affiliated Entities",
id: idCounter++,
},
{
label: "4 Associates Participating in the Action",
id: idCounter++,
},
{
label: "5 Declarations",
id: idCounter++,
children: [
{ label: "5.1 Declaration by the Lead Applicant (Full Application)", id: idCounter++ },
{ label: "5.2 Mandate (For Co-Applicant(s))", id: idCounter++ },
{ label: "5.3 Affiliated Entity(ies)", id: idCounter++ }
],
},
{
label: "Instructions For Drafting The Full Application",
id: idCounter++,
children: [
{ label: "1 General Information", id: idCounter++ },
{ label: "2 The Action", id: idCounter++ },
{ label: "3 The Lead Applicant, the Co-Applicant and Affiliated Entities", id: idCounter++ },
{ label: "4 Associates Participating in the Action", id: idCounter++ },
{ label: "5 Declarations", id: idCounter++ },
{ label: "6 Checklist For Self-Guidance", id: idCounter++ }
]
},
],
},
],
}
</script>
<TreeView {tree} />
<h2>Declaration</h2>
<div style="text-align: center">
<textarea style="width: 712px; height: 290px;">
4 Declarations
4.1. Declaration by the lead applicant (full application)
The lead applicant, represented by the undersigned, being the authorised signatory of the applicant, in the context of the present call for proposals, representing any co-applicant(s), affiliated entity(ies) in the proposed action, hereby declares that
i. the lead applicant has the sources of financing specified in Section 2 of the guidelines for applicants;
ii. the lead applicant has sufficient financial capacity to carry out the proposed action or work programme;
iii. the lead applicant certifies the legal statutes of the lead applicant, of the co-applicant(s) and of the affiliated entity(ies) as reported in part 3, 4, and 5 of this application;
iv. the lead applicant, the co-applicant(s) and the affiliated entity(ies) have the professional competences and qualifications specified in Section 2 of the guidelines for applicants;
v. the lead applicant undertakes to comply with the obligations foreseen in the affiliated entity(ies)'s statement of the grant application form and with the principles of good partnership practice;
vi. the lead applicant is directly responsible for the preparation, management and implementation of the action with the co-applicant(s) and affiliated entity(ies), if any, and is not acting as an intermediary;
vii. the lead applicant, the co-applicant(s) and the affiliated entity(ies) must fill in and sign a declaration on honour (PRAG Annex A14) certifying that they are not in any of the situations excluding them from participating in contracts which are listed in Section 2.6.10.1. of the practical guide (available from the following internet address: http://ec.europa.eu/europeaid/prag/document.do. Furthermore, it is recognised and accepted that if the lead applicant, co-applicant(s) and affiliated entity(ies) (if any) participate in spite of being in any of these situations, they may be excluded from other procedures in accordance with the Financial Regulation in force;
viii. the lead applicant and each co-applicant and affiliated entity (if any) is in a position to deliver immediately, upon request, the supporting documents stipulated under Section 2.4 of the guidelines for applicants.
ix. the lead applicant and each co-applicant and affiliated entity (if any) are eligible in accordance with the criteria set out under Sections 2.1.1 and 2.1.2 of the guidelines for applicants;
x. if recommended to be awarded a grant, the lead applicant, the co-applicant(s) and the affiliated entity(ies) accept the contractual conditions as laid down in the standard grant contract annexed to the guidelines for applicants (Annex G) (or the Contribution Agreement, where applicable);
These are the sources and amounts of Union funding received or applied for the action or part of the action or for its functioning during the same financial year as well as any other funding received or applied for the same action
<list source and amount and indicate status (i.e. applied for or awarded)>
The lead applicant is fully aware of the obligation to inform without delay the contracting authority to which this application is submitted if the same application for funding made to other European Commission departments or European Union institutions has been approved by them after the submission of this grant application.
We acknowledge that if we participate in spite of being in any of the situations listed in Section 2.6.10..1 of the practical guide or if the declarations or information provided prove to be false we may be subject to rejection from this procedure and to administrative sanctions in the form of exclusion and financial penalties up to 10 % of the total estimated value of the grant being awarded and that this information may be published on the Commission website in accordance with the Financial Regulation in force. We are aware
EuropeAid/167126/DD/ACT/BA
July 2019 APP_FORM_FA_EN_Annex A2. Grant application form-Full application
Page 48 of 52
that, for the purposes of safeguarding the EUs financial interests, our personal data may be transferred to internal audit services, to the early detection and exclusion system, to the European Court of Auditors, to the Financial Irregularities Panel or to the European Anti-Fraud Office.
</textarea>
</div>
<h2>Budget</h2>
<div style="text-align: center">
<iframe width="700" height="900" frameborder="0" scrolling="no" src="https://onedrive.live.com/embed?resid=70EF65ADDC572805%2111803&authkey=%21AEzYKHt4OMbrgHA&em=2&wdAllowInteractivity=False&Item='1.%20Budget'!Print_Area&wdHideGridlines=True&wdInConfigurator=True&wdInConfigurator=True"></iframe>
</div>
<h2>Annex A2 Grant Application Form Full Application</h2>
<div style="text-align: center">
<iframe src="https://onedrive.live.com/embed?resid=70EF65ADDC572805%2111799&amp;authkey=!AKEt08PjhETMuOU&amp;em=2" width="476px" height="288px" frameborder="0">This is an embedded <a target="_blank" href="https://office.com">Microsoft Office</a> document, powered by <a target="_blank" href="https://office.com/webapps">Office</a>.</iframe>
</div>
<style>
#logo {
height: 10vh;
}
</style>

BIN
static/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

@@ -1,4 +1,4 @@
import adapter from '@sveltejs/adapter-auto'; import adapter from '@sveltejs/adapter-static';
/** @type {import('@sveltejs/kit').Config} */ /** @type {import('@sveltejs/kit').Config} */
const config = { const config = {