├── .eslintignore ├── .eslintrc.cjs ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── README.md ├── components.json ├── package-lock.json ├── package.json ├── postcss.config.cjs ├── src ├── app.d.ts ├── app.html ├── app.postcss ├── lib │ ├── backend │ │ ├── BackendGuide.svelte │ │ ├── concept │ │ │ ├── ConceptFlow.svelte │ │ │ └── allconceptmap.ts │ │ ├── databases │ │ │ ├── DatabasesFlow.svelte │ │ │ ├── ToolsCompare.svelte │ │ │ ├── ToolsTabs.svelte │ │ │ └── dbstore.ts │ │ └── tools │ │ │ ├── ToolsFrame.svelte │ │ │ ├── ToolsFrameEdge.svelte │ │ │ ├── ToolsFrameNode.svelte │ │ │ ├── tools_code.ts │ │ │ └── turbo.css │ ├── components │ │ └── ui │ │ │ ├── badge │ │ │ ├── badge.svelte │ │ │ └── index.ts │ │ │ ├── button │ │ │ ├── button.svelte │ │ │ └── index.ts │ │ │ ├── card │ │ │ ├── card-content.svelte │ │ │ ├── card-description.svelte │ │ │ ├── card-footer.svelte │ │ │ ├── card-header.svelte │ │ │ ├── card-title.svelte │ │ │ ├── card.svelte │ │ │ └── index.ts │ │ │ ├── checkbox │ │ │ ├── checkbox.svelte │ │ │ └── index.ts │ │ │ ├── command │ │ │ ├── command-dialog.svelte │ │ │ ├── command-empty.svelte │ │ │ ├── command-group.svelte │ │ │ ├── command-input.svelte │ │ │ ├── command-item.svelte │ │ │ ├── command-list.svelte │ │ │ ├── command-separator.svelte │ │ │ ├── command-shortcut.svelte │ │ │ ├── command.svelte │ │ │ └── index.ts │ │ │ ├── context-menu │ │ │ ├── context-menu-checkbox-item.svelte │ │ │ ├── context-menu-content.svelte │ │ │ ├── context-menu-item.svelte │ │ │ ├── context-menu-label.svelte │ │ │ ├── context-menu-radio-group.svelte │ │ │ ├── context-menu-radio-item.svelte │ │ │ ├── context-menu-separator.svelte │ │ │ ├── context-menu-shortcut.svelte │ │ │ ├── context-menu-sub-content.svelte │ │ │ ├── context-menu-sub-trigger.svelte │ │ │ └── index.ts │ │ │ ├── dialog │ │ │ ├── dialog-content.svelte │ │ │ ├── dialog-description.svelte │ │ │ ├── dialog-footer.svelte │ │ │ ├── dialog-header.svelte │ │ │ ├── dialog-overlay.svelte │ │ │ ├── dialog-portal.svelte │ │ │ ├── dialog-title.svelte │ │ │ └── index.ts │ │ │ ├── select │ │ │ ├── index.ts │ │ │ ├── select-content.svelte │ │ │ ├── select-item.svelte │ │ │ ├── select-label.svelte │ │ │ ├── select-separator.svelte │ │ │ ├── select-trigger.svelte │ │ │ └── select.svelte │ │ │ ├── table │ │ │ ├── index.ts │ │ │ ├── table-body.svelte │ │ │ ├── table-caption.svelte │ │ │ ├── table-cell.svelte │ │ │ ├── table-footer.svelte │ │ │ ├── table-head.svelte │ │ │ ├── table-header.svelte │ │ │ ├── table-row.svelte │ │ │ └── table.svelte │ │ │ └── ui │ │ │ ├── accordion │ │ │ ├── accordion-content.svelte │ │ │ ├── accordion-item.svelte │ │ │ ├── accordion-trigger.svelte │ │ │ └── index.ts │ │ │ ├── card │ │ │ ├── card-content.svelte │ │ │ ├── card-description.svelte │ │ │ ├── card-footer.svelte │ │ │ ├── card-header.svelte │ │ │ ├── card-title.svelte │ │ │ ├── card.svelte │ │ │ └── index.ts │ │ │ ├── input │ │ │ ├── index.ts │ │ │ └── input.svelte │ │ │ ├── progress │ │ │ ├── index.ts │ │ │ └── progress.svelte │ │ │ ├── separator │ │ │ ├── index.ts │ │ │ └── separator.svelte │ │ │ ├── sheet │ │ │ ├── index.ts │ │ │ ├── sheet-content.svelte │ │ │ ├── sheet-description.svelte │ │ │ ├── sheet-footer.svelte │ │ │ ├── sheet-header.svelte │ │ │ ├── sheet-overlay.svelte │ │ │ ├── sheet-portal.svelte │ │ │ └── sheet-title.svelte │ │ │ ├── table │ │ │ ├── index.ts │ │ │ ├── table-body.svelte │ │ │ ├── table-caption.svelte │ │ │ ├── table-cell.svelte │ │ │ ├── table-footer.svelte │ │ │ ├── table-head.svelte │ │ │ ├── table-header.svelte │ │ │ ├── table-row.svelte │ │ │ └── table.svelte │ │ │ └── tabs │ │ │ ├── index.ts │ │ │ ├── tabs-content.svelte │ │ │ ├── tabs-list.svelte │ │ │ └── tabs-trigger.svelte │ ├── connected │ │ └── flowcode.ts │ ├── diagrams │ │ ├── stl │ │ │ ├── FlowSTL.svelte │ │ │ ├── bottomName.svelte │ │ │ ├── centerName.svelte │ │ │ ├── desc │ │ │ │ ├── DataDesc.svelte │ │ │ │ ├── dataStructure.svelte │ │ │ │ ├── dynamicds.svelte │ │ │ │ ├── lineards.svelte │ │ │ │ ├── nonlineards.svelte │ │ │ │ └── staticds.svelte │ │ │ ├── edges-nodes.ts │ │ │ └── topName.svelte │ │ └── sv │ │ │ ├── BottomEnd.svelte │ │ │ ├── DiffBadge.svelte │ │ │ ├── FlowCods.svelte │ │ │ ├── QuestionProgress.svelte │ │ │ ├── SheetFlow.svelte │ │ │ ├── Simple.svelte │ │ │ ├── TableFlow.svelte │ │ │ └── TopEnd.svelte │ ├── frontend │ │ ├── FrontHero.svelte │ │ ├── concepts │ │ │ ├── AllConceptTags.svelte │ │ │ ├── ConceptNode.svelte │ │ │ └── concept_tags.ts │ │ ├── flowNodes │ │ │ ├── frameworkNode.svelte │ │ │ ├── frameworks-nodes.ts │ │ │ └── mainFrame.svelte │ │ └── interview │ │ │ ├── AllInterviewQT.svelte │ │ │ └── interview_qt.ts │ ├── home │ │ ├── FeaturesBentoGrid.svelte │ │ ├── FlowDiagram.svelte │ │ ├── GuideDev.svelte │ │ ├── Hero.svelte │ │ ├── HomeCode.svelte │ │ ├── Navbar.svelte │ │ ├── ThemeMode.svelte │ │ ├── allFeature.svelte │ │ └── featureCode.svelte │ ├── images │ │ ├── allsvgs │ │ │ ├── array.svg │ │ │ ├── data-s-light.svg │ │ │ ├── data-structure-light.svg │ │ │ ├── data-structure.svg │ │ │ ├── ds-light.svg │ │ │ ├── dynamicds.svg │ │ │ ├── graph.svg │ │ │ ├── linear.svg │ │ │ ├── linkedlist.svg │ │ │ ├── nonlinear.svg │ │ │ ├── queueds.svg │ │ │ ├── stack.svg │ │ │ ├── stacl.svg │ │ │ ├── static.svg │ │ │ ├── tree.svg │ │ │ └── vectords.svg │ │ ├── backend │ │ │ ├── appwrite.svg │ │ │ ├── drizzle.svg │ │ │ ├── influxdb.svg │ │ │ ├── mongodb.svg │ │ │ ├── mysql.svg │ │ │ ├── pocket-base.svg │ │ │ ├── postgresql.svg │ │ │ ├── prisma.svg │ │ │ ├── prisma_dark.svg │ │ │ ├── prisma_light.svg │ │ │ ├── redis.svg │ │ │ ├── sqlite.svg │ │ │ ├── supabase.svg │ │ │ ├── turso.svg │ │ │ └── xataio.svg │ │ ├── cppimg.svg │ │ ├── cpplogo.svg │ │ ├── dsa-stl.png │ │ ├── frameworks │ │ │ ├── astro.svg │ │ │ ├── javascript.svg │ │ │ ├── nextjs_icon_dark.svg │ │ │ ├── nextjs_logo_dark.svg │ │ │ ├── nuxt.svg │ │ │ ├── react.svg │ │ │ ├── svelte.svg │ │ │ └── vue.svg │ │ ├── learnings.svg │ │ ├── logo_dark.jpg │ │ ├── logo_preview.jpg │ │ ├── sveltelogo.svg │ │ ├── ve.png │ │ ├── version-control.png │ │ ├── version-control.svg │ │ └── web_logo.jpg │ ├── index.ts │ ├── learnings │ │ ├── STLTags.svelte │ │ ├── SidebarTopics.svelte │ │ ├── SubTopics.svelte │ │ ├── set │ │ │ ├── SetPlay.svelte │ │ │ └── StackPlay.svelte │ │ ├── topicBadge.svelte │ │ ├── topics-and-tags.ts │ │ └── vector │ │ │ ├── Codecopy.svelte │ │ │ ├── MapPlay.svelte │ │ │ ├── VectorPlay.svelte │ │ │ ├── allQuestion.svelte │ │ │ └── btnCopy.svelte │ ├── pattern │ │ ├── DownloadFlow.svelte │ │ ├── KnapsackFlow.svelte │ │ ├── bottomBox.svelte │ │ ├── pBox.svelte │ │ ├── pattern-nodes-edges.ts │ │ ├── pattern.css │ │ └── topBox.svelte │ ├── practice │ │ ├── queStatus.svelte │ │ ├── queTable.svelte │ │ └── tagsSidebar.svelte │ ├── style.css │ └── utils.ts └── routes │ ├── +layout.svelte │ ├── +page.svelte │ ├── c │ ├── +layout.svelte │ ├── +page.svelte │ ├── map │ │ └── +page.svelte │ ├── set │ │ └── +page.svelte │ ├── snippets │ │ └── +page.svelte │ ├── stack │ │ └── +page.svelte │ └── vector │ │ └── +page.svelte │ ├── databases │ ├── +page.svelte │ ├── concept │ │ └── +page.svelte │ ├── d │ │ └── +page.svelte │ └── tools │ │ └── +page.svelte │ ├── fullstack │ ├── +page.svelte │ ├── concepts │ │ ├── +layout.svelte │ │ ├── +page.svelte │ │ ├── client-caching │ │ │ └── +page.svelte │ │ ├── fetch-api │ │ │ └── +page.svelte │ │ ├── flex-vs-grid │ │ │ └── +page.svelte │ │ └── form-submission │ │ │ ├── +page.server.ts │ │ │ └── +page.svelte │ ├── frameworks │ │ └── +page.svelte │ └── interview │ │ ├── +layout.svelte │ │ ├── +page.svelte │ │ ├── file-uploader │ │ └── +page.svelte │ │ └── sign-up-form │ │ └── +page.svelte │ ├── pattern │ ├── +layout.svelte │ ├── +page.svelte │ └── knapsack │ │ └── +page.svelte │ ├── practice │ ├── +page.server.ts │ └── +page.svelte │ └── roadmap │ ├── dsa │ └── +page.svelte │ ├── knapsack │ └── +page.svelte │ ├── stl │ └── +page.svelte │ └── svelte │ └── +page.svelte ├── static ├── favicon.png ├── logo.png ├── logo_code.png ├── logo_preview.jpg └── web_logo.jpg ├── svelte.config.js ├── tailwind.config.js ├── tsconfig.json └── vite.config.ts /.eslintignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | 10 | # Ignore files for PNPM, NPM and YARN 11 | pnpm-lock.yaml 12 | package-lock.json 13 | yarn.lock 14 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: [ 4 | 'eslint:recommended', 5 | 'plugin:@typescript-eslint/recommended', 6 | 'plugin:svelte/recommended', 7 | 'prettier' 8 | ], 9 | parser: '@typescript-eslint/parser', 10 | plugins: ['@typescript-eslint'], 11 | parserOptions: { 12 | sourceType: 'module', 13 | ecmaVersion: 2020, 14 | extraFileExtensions: ['.svelte'] 15 | }, 16 | env: { 17 | browser: true, 18 | es2017: true, 19 | node: true 20 | }, 21 | overrides: [ 22 | { 23 | files: ['*.svelte'], 24 | parser: 'svelte-eslint-parser', 25 | parserOptions: { 26 | parser: '@typescript-eslint/parser' 27 | } 28 | } 29 | ] 30 | }; 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | vite.config.js.timestamp-* 10 | vite.config.ts.timestamp-* 11 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | 10 | # Ignore files for PNPM, NPM and YARN 11 | pnpm-lock.yaml 12 | package-lock.json 13 | yarn.lock 14 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "printWidth": 100, 6 | "plugins": ["prettier-plugin-svelte"], 7 | "pluginSearchDirs": ["."], 8 | "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] 9 | } 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CodeFlow 2 | 3 | Roadmap for Programmers 4 | Learn to Think and Code Better. 5 | [Visit](https://roadmap-flow.vercel.app/roadmap/dsa) to see the website. 6 | 7 | ## Features 8 | 9 | - Solve Topic wise Questions on Leetcode 10 | - Easy to Use Roadmap 11 | - More than 100+ Questions 12 | 13 | ## Improvements 14 | 15 | | Topic | Status | 16 | | ---------------------- | ------ | 17 | | Svelte-Flow -Draggable | ✅ | 18 | | Programming Roadmap | ✅ | 19 | | Dark/Light Mode | ✅ | 20 | | Add Features Section | ✅ | 21 | | Add Progress bar | ✅ | 22 | | Sort using Difficulty | ✅ | 23 | | Add Practice Page | ✅ | 24 | 25 | ## Frameworks & Library 26 | 27 | | List | Usage | 28 | | ------------------ | --------------------------- | 29 | | Frontend Framework | Svelte | 30 | | CSS Framework | Shadcn-svelte, Tailwind CSS | 31 | | Roadmap | Svelte-flow | 32 | | Hosted | Vercel | 33 | 34 | | BAAS | Supabase | Appwrite | Xata.io | 35 | | --------------------------- | -------- | -------- | ------- | 36 | | Database | ✓ | ✓ | ✓ | 37 | | Authentication | ✓ | ✓ | | 38 | | Edge Functions | ✓ | ✓ | | 39 | | Storage | ✓ | ✓ | | 40 | | Realtime | ✓ | ✓ | | 41 | | Vector | ✓ | ✓ | | 42 | | File Storage without Bucket | | | ✓ | 43 | | Branching | | | ✓ | 44 | | Full Text Search | | | ✓ | 45 | | Chat GPT | | | ✓ | 46 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://shadcn-svelte.com/schema.json", 3 | "style": "new-york", 4 | "tailwind": { 5 | "config": "tailwind.config.js", 6 | "css": "src/app.postcss", 7 | "baseColor": "slate" 8 | }, 9 | "aliases": { 10 | "components": "$lib/components/ui", 11 | "utils": "$lib/utils" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codeflow", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "dev": "vite dev", 7 | "build": "vite build", 8 | "preview": "vite preview", 9 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", 10 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", 11 | "lint": "prettier --plugin-search-dir . --check . && eslint .", 12 | "format": "prettier --plugin-search-dir . --write ." 13 | }, 14 | "devDependencies": { 15 | "@sveltejs/adapter-auto": "^2.0.0", 16 | "@sveltejs/kit": "^1.20.4", 17 | "@tailwindcss/typography": "^0.5.10", 18 | "@typescript-eslint/eslint-plugin": "^6.0.0", 19 | "@typescript-eslint/parser": "^6.0.0", 20 | "@vincjo/datatables": "^1.12.8", 21 | "autoprefixer": "^10.4.14", 22 | "eslint": "^8.28.0", 23 | "eslint-config-prettier": "^8.5.0", 24 | "eslint-plugin-svelte": "^2.30.0", 25 | "postcss": "^8.4.24", 26 | "postcss-load-config": "^4.0.1", 27 | "prettier": "^2.8.0", 28 | "prettier-plugin-svelte": "^2.10.1", 29 | "svelte": "^4.0.5", 30 | "svelte-check": "^3.4.3", 31 | "tailwindcss": "^3.3.2", 32 | "tslib": "^2.4.1", 33 | "typescript": "^5.0.0", 34 | "vite": "^4.4.2" 35 | }, 36 | "type": "module", 37 | "dependencies": { 38 | "@xyflow/svelte": "^0.0.28", 39 | "bits-ui": "^0.9.9", 40 | "clsx": "^2.0.0", 41 | "cmdk-sv": "^0.0.5", 42 | "highlight.js": "^11.9.0", 43 | "html-to-image": "^1.11.11", 44 | "lucide-svelte": "^0.292.0", 45 | "mode-watcher": "^0.0.7", 46 | "radix-icons-svelte": "^1.2.1", 47 | "shiki": "^0.14.5", 48 | "svelte-copy": "^1.4.1", 49 | "svelte-markdown": "^0.4.1", 50 | "svhighlight": "^0.7.1", 51 | "tailwind-merge": "^2.0.0", 52 | "tailwind-variants": "^0.1.18" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | const tailwindcss = require('tailwindcss'); 2 | const autoprefixer = require('autoprefixer'); 3 | 4 | const config = { 5 | plugins: [ 6 | //Some plugins, like tailwindcss/nesting, need to run before Tailwind, 7 | tailwindcss(), 8 | //But others, like autoprefixer, need to run after, 9 | autoprefixer 10 | ] 11 | }; 12 | 13 | module.exports = config; 14 | -------------------------------------------------------------------------------- /src/app.d.ts: -------------------------------------------------------------------------------- 1 | // See https://kit.svelte.dev/docs/types#app 2 | // for information about these interfaces 3 | declare global { 4 | namespace App { 5 | // interface Error {} 6 | // interface Locals {} 7 | // interface PageData {} 8 | // interface Platform {} 9 | } 10 | } 11 | 12 | export {}; 13 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Code Flow 12 | 13 | 14 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | %sveltekit.head% 29 | 30 | 31 | 32 |
%sveltekit.body%
33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/app.postcss: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer base { 6 | :root { 7 | --background: 0 0% 100%; 8 | --foreground: 222.2 84% 4.9%; 9 | 10 | --muted: 210 40% 96.1%; 11 | --muted-foreground: 215.4 16.3% 46.9%; 12 | 13 | --popover: 0 0% 100%; 14 | --popover-foreground: 222.2 84% 4.9%; 15 | 16 | --card: 0 0% 100%; 17 | --card-foreground: 222.2 84% 4.9%; 18 | 19 | --border: 214.3 31.8% 91.4%; 20 | --input: 214.3 31.8% 91.4%; 21 | 22 | --primary: 222.2 47.4% 11.2%; 23 | --primary-foreground: 210 40% 98%; 24 | 25 | --secondary: 210 40% 96.1%; 26 | --secondary-foreground: 222.2 47.4% 11.2%; 27 | 28 | --accent: 210 40% 96.1%; 29 | --accent-foreground: 222.2 47.4% 11.2%; 30 | 31 | --destructive: 0 84.2% 60.2%; 32 | --destructive-foreground: 210 40% 98%; 33 | 34 | --ring: 222.2 84% 4.9%; 35 | 36 | --radius: 0.5rem; 37 | } 38 | 39 | .dark { 40 | --background: 222.2 84% 4.9%; 41 | --foreground: 210 40% 98%; 42 | 43 | --muted: 217.2 32.6% 17.5%; 44 | --muted-foreground: 215 20.2% 65.1%; 45 | 46 | --popover: 222.2 84% 4.9%; 47 | --popover-foreground: 210 40% 98%; 48 | 49 | --card: 222.2 84% 4.9%; 50 | --card-foreground: 210 40% 98%; 51 | 52 | --border: 217.2 32.6% 17.5%; 53 | --input: 217.2 32.6% 17.5%; 54 | 55 | --primary: 210 40% 98%; 56 | --primary-foreground: 222.2 47.4% 11.2%; 57 | 58 | --secondary: 217.2 32.6% 17.5%; 59 | --secondary-foreground: 210 40% 98%; 60 | 61 | --accent: 217.2 32.6% 17.5%; 62 | --accent-foreground: 210 40% 98%; 63 | 64 | --destructive: 0 62.8% 30.6%; 65 | --destructive-foreground: 210 40% 98%; 66 | 67 | --ring: hsl(212.7, 26.8%, 83.9); 68 | } 69 | } 70 | 71 | @layer base { 72 | * { 73 | @apply border-border; 74 | } 75 | body { 76 | @apply bg-background text-foreground; 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/lib/backend/concept/ConceptFlow.svelte: -------------------------------------------------------------------------------- 1 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
32 | -------------------------------------------------------------------------------- /src/lib/backend/databases/DatabasesFlow.svelte: -------------------------------------------------------------------------------- 1 | 26 | 27 |
28 | 29 | 30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /src/lib/backend/tools/ToolsFrame.svelte: -------------------------------------------------------------------------------- 1 | 32 | 33 |
34 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 60 | 61 | 62 | 63 | 64 | 65 | 66 |
67 | -------------------------------------------------------------------------------- /src/lib/backend/tools/ToolsFrameEdge.svelte: -------------------------------------------------------------------------------- 1 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/lib/components/ui/badge/badge.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/lib/components/ui/badge/index.ts: -------------------------------------------------------------------------------- 1 | import { tv, type VariantProps } from "tailwind-variants"; 2 | 3 | export { default as Badge } from "./badge.svelte"; 4 | export const badgeVariants = tv({ 5 | base: "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 select-none", 6 | variants: { 7 | variant: { 8 | default: 9 | "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80", 10 | secondary: 11 | "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", 12 | destructive: 13 | "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80", 14 | outline: "text-foreground" 15 | } 16 | }, 17 | defaultVariants: { 18 | variant: "default" 19 | } 20 | }); 21 | 22 | export type Variant = VariantProps["variant"]; 23 | -------------------------------------------------------------------------------- /src/lib/components/ui/button/button.svelte: -------------------------------------------------------------------------------- 1 | 15 | 16 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/lib/components/ui/button/index.ts: -------------------------------------------------------------------------------- 1 | import type { Button as ButtonPrimitive } from "bits-ui"; 2 | import { tv, type VariantProps } from "tailwind-variants"; 3 | import Root from "./button.svelte"; 4 | 5 | const buttonVariants = tv({ 6 | base: "inline-flex items-center justify-center rounded-md text-sm font-medium whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", 7 | variants: { 8 | variant: { 9 | default: 10 | "bg-primary text-primary-foreground shadow hover:bg-primary/90", 11 | destructive: 12 | "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", 13 | outline: 14 | "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground", 15 | secondary: 16 | "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", 17 | ghost: "hover:bg-accent hover:text-accent-foreground", 18 | link: "text-primary underline-offset-4 hover:underline" 19 | }, 20 | size: { 21 | default: "h-9 px-4 py-2", 22 | sm: "h-8 rounded-md px-3 text-xs", 23 | lg: "h-10 rounded-md px-8", 24 | icon: "h-9 w-9" 25 | } 26 | }, 27 | defaultVariants: { 28 | variant: "default", 29 | size: "default" 30 | } 31 | }); 32 | 33 | type Variant = VariantProps["variant"]; 34 | type Size = VariantProps["size"]; 35 | 36 | type Props = ButtonPrimitive.Props & { 37 | variant?: Variant; 38 | size?: Size; 39 | }; 40 | 41 | type Events = ButtonPrimitive.Events; 42 | 43 | export { 44 | Root, 45 | type Props, 46 | type Events, 47 | // 48 | Root as Button, 49 | type Props as ButtonProps, 50 | type Events as ButtonEvents, 51 | buttonVariants 52 | }; 53 | -------------------------------------------------------------------------------- /src/lib/components/ui/card/card-content.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 13 |
14 | -------------------------------------------------------------------------------- /src/lib/components/ui/card/card-description.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |

12 | 13 |

14 | -------------------------------------------------------------------------------- /src/lib/components/ui/card/card-footer.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 13 |
14 | -------------------------------------------------------------------------------- /src/lib/components/ui/card/card-header.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 13 |
14 | -------------------------------------------------------------------------------- /src/lib/components/ui/card/card-title.svelte: -------------------------------------------------------------------------------- 1 | 14 | 15 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/lib/components/ui/card/card.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 |
24 | 25 |
26 | -------------------------------------------------------------------------------- /src/lib/components/ui/card/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./card.svelte"; 2 | import Content from "./card-content.svelte"; 3 | import Description from "./card-description.svelte"; 4 | import Footer from "./card-footer.svelte"; 5 | import Header from "./card-header.svelte"; 6 | import Title from "./card-title.svelte"; 7 | 8 | export { 9 | Root, 10 | Content, 11 | Description, 12 | Footer, 13 | Header, 14 | Title, 15 | // 16 | Root as Card, 17 | Content as CardContent, 18 | Description as CardDescription, 19 | Footer as CardFooter, 20 | Header as CardHeader, 21 | Title as CardTitle 22 | }; 23 | 24 | export type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; 25 | -------------------------------------------------------------------------------- /src/lib/components/ui/checkbox/checkbox.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 | 23 | 28 | {#if isIndeterminate} 29 | 30 | {:else} 31 | 34 | {/if} 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/lib/components/ui/checkbox/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./checkbox.svelte"; 2 | export { 3 | Root, 4 | // 5 | Root as Checkbox 6 | }; 7 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/command-dialog.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/command-empty.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/command-group.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/command-input.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 | 14 | 21 |
22 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/command-item.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/command-list.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/command-separator.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 14 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/command-shortcut.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/command.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/lib/components/ui/command/index.ts: -------------------------------------------------------------------------------- 1 | import { Command as CommandPrimitive } from "cmdk-sv"; 2 | 3 | import Root from "./command.svelte"; 4 | import Dialog from "./command-dialog.svelte"; 5 | import Empty from "./command-empty.svelte"; 6 | import Group from "./command-group.svelte"; 7 | import Item from "./command-item.svelte"; 8 | import Input from "./command-input.svelte"; 9 | import List from "./command-list.svelte"; 10 | import Separator from "./command-separator.svelte"; 11 | import Shortcut from "./command-shortcut.svelte"; 12 | 13 | const Loading = CommandPrimitive.Loading; 14 | 15 | export { 16 | Root, 17 | Dialog, 18 | Empty, 19 | Group, 20 | Item, 21 | Input, 22 | List, 23 | Separator, 24 | Shortcut, 25 | Loading, 26 | // 27 | Root as Command, 28 | Dialog as CommandDialog, 29 | Empty as CommandEmpty, 30 | Group as CommandGroup, 31 | Item as CommandItem, 32 | Input as CommandInput, 33 | List as CommandList, 34 | Separator as CommandSeparator, 35 | Shortcut as CommandShortcut, 36 | Loading as CommandLoading 37 | }; 38 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-checkbox-item.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-content.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-item.svelte: -------------------------------------------------------------------------------- 1 | 14 | 15 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-label.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-radio-group.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-radio-item.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-separator.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-shortcut.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-sub-content.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/context-menu-sub-trigger.svelte: -------------------------------------------------------------------------------- 1 | 15 | 16 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/lib/components/ui/context-menu/index.ts: -------------------------------------------------------------------------------- 1 | import { ContextMenu as ContextMenuPrimitive } from "bits-ui"; 2 | 3 | import Item from "./context-menu-item.svelte"; 4 | import Label from "./context-menu-label.svelte"; 5 | import Content from "./context-menu-content.svelte"; 6 | import Shortcut from "./context-menu-shortcut.svelte"; 7 | import RadioItem from "./context-menu-radio-item.svelte"; 8 | import Separator from "./context-menu-separator.svelte"; 9 | import RadioGroup from "./context-menu-radio-group.svelte"; 10 | import SubContent from "./context-menu-sub-content.svelte"; 11 | import SubTrigger from "./context-menu-sub-trigger.svelte"; 12 | import CheckboxItem from "./context-menu-checkbox-item.svelte"; 13 | 14 | const Sub = ContextMenuPrimitive.Sub; 15 | const Root = ContextMenuPrimitive.Root; 16 | const Trigger = ContextMenuPrimitive.Trigger; 17 | const Group = ContextMenuPrimitive.Group; 18 | 19 | export { 20 | Sub, 21 | Root, 22 | Item, 23 | Label, 24 | Group, 25 | Trigger, 26 | Content, 27 | Shortcut, 28 | Separator, 29 | RadioItem, 30 | SubContent, 31 | SubTrigger, 32 | RadioGroup, 33 | CheckboxItem, 34 | // 35 | Root as ContextMenu, 36 | Sub as ContextMenuSub, 37 | Item as ContextMenuItem, 38 | Label as ContextMenuLabel, 39 | Group as ContextMenuGroup, 40 | Content as ContextMenuContent, 41 | Trigger as ContextMenuTrigger, 42 | Shortcut as ContextMenuShortcut, 43 | RadioItem as ContextMenuRadioItem, 44 | Separator as ContextMenuSeparator, 45 | RadioGroup as ContextMenuRadioGroup, 46 | SubContent as ContextMenuSubContent, 47 | SubTrigger as ContextMenuSubTrigger, 48 | CheckboxItem as ContextMenuCheckboxItem 49 | }; 50 | -------------------------------------------------------------------------------- /src/lib/components/ui/dialog/dialog-content.svelte: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 28 | 29 | 32 | 33 | Close 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/lib/components/ui/dialog/dialog-description.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/dialog/dialog-footer.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
18 | 19 |
20 | -------------------------------------------------------------------------------- /src/lib/components/ui/dialog/dialog-header.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
15 | 16 |
17 | -------------------------------------------------------------------------------- /src/lib/components/ui/dialog/dialog-overlay.svelte: -------------------------------------------------------------------------------- 1 | 15 | 16 | 25 | -------------------------------------------------------------------------------- /src/lib/components/ui/dialog/dialog-portal.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/lib/components/ui/dialog/dialog-title.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/dialog/index.ts: -------------------------------------------------------------------------------- 1 | import { Dialog as DialogPrimitive } from "bits-ui"; 2 | 3 | const Root = DialogPrimitive.Root; 4 | const Trigger = DialogPrimitive.Trigger; 5 | 6 | import Title from "./dialog-title.svelte"; 7 | import Portal from "./dialog-portal.svelte"; 8 | import Footer from "./dialog-footer.svelte"; 9 | import Header from "./dialog-header.svelte"; 10 | import Overlay from "./dialog-overlay.svelte"; 11 | import Content from "./dialog-content.svelte"; 12 | import Description from "./dialog-description.svelte"; 13 | 14 | export { 15 | Root, 16 | Title, 17 | Portal, 18 | Footer, 19 | Header, 20 | Trigger, 21 | Overlay, 22 | Content, 23 | Description, 24 | // 25 | Root as Dialog, 26 | Title as DialogTitle, 27 | Portal as DialogPortal, 28 | Footer as DialogFooter, 29 | Header as DialogHeader, 30 | Trigger as DialogTrigger, 31 | Overlay as DialogOverlay, 32 | Content as DialogContent, 33 | Description as DialogDescription 34 | }; 35 | -------------------------------------------------------------------------------- /src/lib/components/ui/select/index.ts: -------------------------------------------------------------------------------- 1 | import { Select as SelectPrimitive } from "bits-ui"; 2 | 3 | import Root from "./select.svelte"; 4 | import Label from "./select-label.svelte"; 5 | import Item from "./select-item.svelte"; 6 | import Content from "./select-content.svelte"; 7 | import Trigger from "./select-trigger.svelte"; 8 | import Separator from "./select-separator.svelte"; 9 | 10 | const Group = SelectPrimitive.Group; 11 | const Input = SelectPrimitive.Input; 12 | const Value = SelectPrimitive.Value; 13 | 14 | export { 15 | Root, 16 | Item, 17 | Group, 18 | Input, 19 | Label, 20 | Value, 21 | Content, 22 | Trigger, 23 | Separator, 24 | // 25 | Root as Select, 26 | Item as SelectItem, 27 | Group as SelectGroup, 28 | Input as SelectInput, 29 | Label as SelectLabel, 30 | Value as SelectValue, 31 | Content as SelectContent, 32 | Trigger as SelectTrigger, 33 | Separator as SelectSeparator 34 | }; 35 | -------------------------------------------------------------------------------- /src/lib/components/ui/select/select-content.svelte: -------------------------------------------------------------------------------- 1 | 19 | 20 | 31 |
32 | 33 |
34 |
35 | -------------------------------------------------------------------------------- /src/lib/components/ui/select/select-item.svelte: -------------------------------------------------------------------------------- 1 | 15 | 16 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/lib/components/ui/select/select-label.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/select/select-separator.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | -------------------------------------------------------------------------------- /src/lib/components/ui/select/select-trigger.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 20 | 21 |
22 | 23 |
24 |
25 | -------------------------------------------------------------------------------- /src/lib/components/ui/select/select.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./table.svelte"; 2 | import Body from "./table-body.svelte"; 3 | import Caption from "./table-caption.svelte"; 4 | import Cell from "./table-cell.svelte"; 5 | import Footer from "./table-footer.svelte"; 6 | import Head from "./table-head.svelte"; 7 | import Header from "./table-header.svelte"; 8 | import Row from "./table-row.svelte"; 9 | 10 | export { 11 | Root, 12 | Body, 13 | Caption, 14 | Cell, 15 | Footer, 16 | Head, 17 | Header, 18 | Row, 19 | // 20 | Root as Table, 21 | Body as TableBody, 22 | Caption as TableCaption, 23 | Cell as TableCell, 24 | Footer as TableFooter, 25 | Head as TableHead, 26 | Header as TableHeader, 27 | Row as TableRow 28 | }; 29 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-body.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-caption.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-cell.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | [role=checkbox]]:translate-y-[2px]", 14 | className 15 | )} 16 | {...$$restProps} 17 | > 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-footer.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-head.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | [role=checkbox]]:translate-y-[2px]", 14 | className 15 | )} 16 | {...$$restProps} 17 | > 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-header.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-row.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 16 | 17 |
18 |
19 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/accordion/accordion-content.svelte: -------------------------------------------------------------------------------- 1 | 16 | 17 | 23 |
24 | 25 |
26 |
27 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/accordion/accordion-item.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/accordion/accordion-trigger.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | svg]:rotate-180", 18 | className 19 | )} 20 | {...$$restProps} 21 | on:click 22 | > 23 | 24 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/accordion/index.ts: -------------------------------------------------------------------------------- 1 | import { Accordion as AccordionPrimitive } from "bits-ui"; 2 | import Content from "./accordion-content.svelte"; 3 | import Item from "./accordion-item.svelte"; 4 | import Trigger from "./accordion-trigger.svelte"; 5 | 6 | const Root = AccordionPrimitive.Root; 7 | export { 8 | Root, 9 | Content, 10 | Item, 11 | Trigger, 12 | // 13 | Root as Accordion, 14 | Content as AccordionContent, 15 | Item as AccordionItem, 16 | Trigger as AccordionTrigger 17 | }; 18 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/card/card-content.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 13 |
14 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/card/card-description.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |

12 | 13 |

14 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/card/card-footer.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 13 |
14 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/card/card-header.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 13 |
14 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/card/card-title.svelte: -------------------------------------------------------------------------------- 1 | 14 | 15 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/card/card.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 |
24 | 25 |
26 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/card/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./card.svelte"; 2 | import Content from "./card-content.svelte"; 3 | import Description from "./card-description.svelte"; 4 | import Footer from "./card-footer.svelte"; 5 | import Header from "./card-header.svelte"; 6 | import Title from "./card-title.svelte"; 7 | 8 | export { 9 | Root, 10 | Content, 11 | Description, 12 | Footer, 13 | Header, 14 | Title, 15 | // 16 | Root as Card, 17 | Content as CardContent, 18 | Description as CardDescription, 19 | Footer as CardFooter, 20 | Header as CardHeader, 21 | Title as CardTitle 22 | }; 23 | 24 | export type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; 25 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/input/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./input.svelte"; 2 | 3 | type FormInputEvent = T & { 4 | currentTarget: EventTarget & HTMLInputElement; 5 | }; 6 | export type InputEvents = { 7 | blur: FormInputEvent; 8 | change: FormInputEvent; 9 | click: FormInputEvent; 10 | focus: FormInputEvent; 11 | keydown: FormInputEvent; 12 | keypress: FormInputEvent; 13 | keyup: FormInputEvent; 14 | mouseover: FormInputEvent; 15 | mouseenter: FormInputEvent; 16 | mouseleave: FormInputEvent; 17 | paste: FormInputEvent; 18 | input: FormInputEvent; 19 | }; 20 | 21 | export { 22 | Root, 23 | // 24 | Root as Input 25 | }; 26 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/input/input.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 | 34 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/progress/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./progress.svelte"; 2 | 3 | export { 4 | Root, 5 | // 6 | Root as Progress 7 | }; 8 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/progress/progress.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 20 |
26 | 27 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/separator/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./separator.svelte"; 2 | 3 | export { 4 | Root, 5 | // 6 | Root as Separator 7 | }; 8 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/separator/separator.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 23 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/sheet/index.ts: -------------------------------------------------------------------------------- 1 | import { Dialog as SheetPrimitive } from "bits-ui"; 2 | import { tv, type VariantProps } from "tailwind-variants"; 3 | 4 | import Portal from "./sheet-portal.svelte"; 5 | import Overlay from "./sheet-overlay.svelte"; 6 | import Content from "./sheet-content.svelte"; 7 | import Header from "./sheet-header.svelte"; 8 | import Footer from "./sheet-footer.svelte"; 9 | import Title from "./sheet-title.svelte"; 10 | import Description from "./sheet-description.svelte"; 11 | 12 | const Root = SheetPrimitive.Root; 13 | const Close = SheetPrimitive.Close; 14 | const Trigger = SheetPrimitive.Trigger; 15 | 16 | export { 17 | Root, 18 | Close, 19 | Trigger, 20 | Portal, 21 | Overlay, 22 | Content, 23 | Header, 24 | Footer, 25 | Title, 26 | Description, 27 | // 28 | Root as Sheet, 29 | Close as SheetClose, 30 | Trigger as SheetTrigger, 31 | Portal as SheetPortal, 32 | Overlay as SheetOverlay, 33 | Content as SheetContent, 34 | Header as SheetHeader, 35 | Footer as SheetFooter, 36 | Title as SheetTitle, 37 | Description as SheetDescription 38 | }; 39 | 40 | export const sheetVariants = tv({ 41 | base: "fixed z-50 gap-4 bg-background p-6 shadow-lg", 42 | variants: { 43 | side: { 44 | top: "inset-x-0 top-0 border-b ", 45 | bottom: "inset-x-0 bottom-0 border-t", 46 | left: "inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", 47 | right: "inset-y-0 right-0 px-2 md:px-8 h-full w-full border-l sm:w-4/6 overflow-auto", 48 | frame: "inset-y-0 right-0 px-2 md:px-8 h-full w-full border-l sm:w-3/5 overflow-auto", 49 | codestl: "inset-y-0 right-0 px-2 md:px-8 h-full w-full border-l sm:w-4/6 overflow-auto", 50 | } 51 | }, 52 | defaultVariants: { 53 | side: "right" 54 | } 55 | }); 56 | 57 | export const sheetTransitions = { 58 | top: { 59 | in: { 60 | y: "-100%", 61 | duration: 500, 62 | opacity: 1 63 | }, 64 | out: { 65 | y: "-100%", 66 | duration: 300, 67 | opacity: 1 68 | } 69 | }, 70 | bottom: { 71 | in: { 72 | y: "100%", 73 | duration: 500, 74 | opacity: 1 75 | }, 76 | out: { 77 | y: "100%", 78 | duration: 300, 79 | opacity: 1 80 | } 81 | }, 82 | left: { 83 | in: { 84 | x: "-100%", 85 | duration: 500, 86 | opacity: 1 87 | }, 88 | out: { 89 | x: "-100%", 90 | duration: 300, 91 | opacity: 1 92 | } 93 | }, 94 | right: { 95 | in: { 96 | x: "100%", 97 | duration: 500, 98 | opacity: 1 99 | }, 100 | out: { 101 | x: "100%", 102 | duration: 300, 103 | opacity: 1 104 | } 105 | }, 106 | codestl: { 107 | in: { 108 | x: "100%", 109 | duration: 400, 110 | opacity: 1 111 | }, 112 | out: { 113 | x: "100%", 114 | duration: 200, 115 | opacity: 1 116 | } 117 | }, 118 | frame: { 119 | in: { 120 | x: "100%", 121 | duration: 400, 122 | opacity: 1 123 | }, 124 | out: { 125 | x: "100%", 126 | duration: 200, 127 | opacity: 1 128 | } 129 | } 130 | }; 131 | 132 | export type Side = VariantProps["side"]; 133 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/sheet/sheet-content.svelte: -------------------------------------------------------------------------------- 1 | 28 | 29 | 30 | 31 | 39 | 40 | 43 | 44 | Close 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/sheet/sheet-description.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/sheet/sheet-footer.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
18 | 19 |
20 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/sheet/sheet-header.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
15 | 16 |
17 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/sheet/sheet-overlay.svelte: -------------------------------------------------------------------------------- 1 | 15 | 16 | 25 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/sheet/sheet-portal.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/sheet/sheet-title.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/table/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./table.svelte"; 2 | import Body from "./table-body.svelte"; 3 | import Caption from "./table-caption.svelte"; 4 | import Cell from "./table-cell.svelte"; 5 | import Footer from "./table-footer.svelte"; 6 | import Head from "./table-head.svelte"; 7 | import Header from "./table-header.svelte"; 8 | import Row from "./table-row.svelte"; 9 | 10 | export { 11 | Root, 12 | Body, 13 | Caption, 14 | Cell, 15 | Footer, 16 | Head, 17 | Header, 18 | Row, 19 | // 20 | Root as Table, 21 | Body as TableBody, 22 | Caption as TableCaption, 23 | Cell as TableCell, 24 | Footer as TableFooter, 25 | Head as TableHead, 26 | Header as TableHeader, 27 | Row as TableRow 28 | }; 29 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/table/table-body.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/table/table-caption.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/table/table-cell.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | [role=checkbox]]:translate-y-[2px]', 14 | className 15 | )} 16 | {...$$restProps} 17 | > 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/table/table-footer.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/table/table-head.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | [role=checkbox]]:translate-y-[2px]', 14 | className 15 | )} 16 | {...$$restProps} 17 | > 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/table/table-header.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/table/table-row.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/table/table.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 13 | 14 |
15 |
16 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/tabs/index.ts: -------------------------------------------------------------------------------- 1 | import { Tabs as TabsPrimitive } from "bits-ui"; 2 | import Content from "./tabs-content.svelte"; 3 | import List from "./tabs-list.svelte"; 4 | import Trigger from "./tabs-trigger.svelte"; 5 | 6 | const Root = TabsPrimitive.Root; 7 | 8 | export { 9 | Root, 10 | Content, 11 | List, 12 | Trigger, 13 | // 14 | Root as Tabs, 15 | Content as TabsContent, 16 | List as TabsList, 17 | Trigger as TabsTrigger 18 | }; 19 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/tabs/tabs-content.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/tabs/tabs-list.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/ui/tabs/tabs-trigger.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/FlowSTL.svelte: -------------------------------------------------------------------------------- 1 | 24 | 25 | 26 | 27 | {#if isShow} 28 |
29 | 30 | 31 | 32 | 33 |
34 | {/if} 35 | 36 | 44 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/bottomName.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
21 | 22 | {label} 23 |
25 | 26 | 27 | {label} 28 | 29 |
30 | 31 |
32 |
33 |
34 | 35 | 36 | 42 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/centerName.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 22 |
26 | 27 | {label} 28 |
30 | 31 | 32 | {label} 33 | 34 |
35 | 36 |
37 |
38 |
39 | 40 | 41 | 42 | 48 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/desc/DataDesc.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 |

14 | {@html structName.name} 15 |

16 |
17 | 18 |
19 |

{structName.smalltitle}

20 |
21 |
    22 | {#each structName.examples as item} 23 |
  1. {item}
  2. 24 | {/each} 25 |
26 |
27 |
28 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/desc/dataStructure.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 |

7 | A data structure is a storage that is used to store and organize data. It is a way of arranging 8 | data on a computer so that it can be accessed and updated efficiently. 9 |

10 |
11 | 12 |
13 |

Types of Data Strucuture

14 |
15 |
    16 |
  1. Linear Data Structure
  2. 17 |
  3. Non-Linear Structure
  4. 18 |
19 |
20 |
21 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/desc/dynamicds.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 |

7 | Dynamic data structures, such as linked lists, stacks, queues are those that have a variable 8 | size and structure at runtime. This means they can be modified or resized as needed. 9 |

10 |
11 | 12 |
13 | 14 |

Examples of Non Linear Data Strucuture

15 |
16 |
    17 |
  1. Linked List
  2. 18 |
  3. Vector
  4. 19 |
  5. Queue
  6. 20 |
  7. Stack
  8. 21 |
22 |
23 |
24 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/desc/lineards.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 |

7 | Data structure in which data elements are arranged sequentially or linearly, where each element 8 | is attached to its previous and next adjacent elements, is called a linear data structure. 9 |

10 |
11 | 12 |
13 | 14 |

Examples of Linear Data Strucuture

15 |
16 |
    17 |
  1. Array
  2. 18 |
  3. Stack
  4. 19 |
  5. Linked List
  6. 20 |
  7. Queue
  8. 21 |
22 |
23 |
24 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/desc/nonlineards.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 |

7 | Data structures where data elements are not placed sequentially or linearly are called 8 | non-linear data structures. In a non-linear data structure, we can't traverse all the elements 9 | in a single run only. 10 |

11 |
12 | 13 |
14 | 15 |

Examples of Non Linear Data Strucuture

16 |
17 |
    18 |
  1. Tree
  2. 19 |
  3. Binary Search Tree
  4. 20 |
  5. Graph
  6. 21 |
  7. Hashing Data Structure
  8. 22 |
  9. Trie
  10. 23 |
24 |
25 |
26 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/desc/staticds.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 |

7 | In Static data structure the size of the structure is fixed. The content of the data structure can be modified but without changing the memory space allocated to it. 8 |

9 |
10 | 11 |
12 | 13 |

Examples of Static Data Strucuture

14 |
15 |
    16 |
  1. Array
  2. 17 |
18 |
19 |
20 | -------------------------------------------------------------------------------- /src/lib/diagrams/stl/topName.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | 16 |
20 | 21 | {label} 22 |
24 | 25 | 26 | {label} 27 | 28 |
29 | 30 |
31 |
32 |
33 | 34 | 35 | 36 | 42 | -------------------------------------------------------------------------------- /src/lib/diagrams/sv/BottomEnd.svelte: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | 21 |
22 | 30 | 31 | 32 |
36 | 37 | {label} 38 |
39 |
40 | 41 | 42 | {label} 43 | List of Questions for Solving and Improving 46 | 48 |
49 | 50 |
51 |
52 |
53 |
54 | 55 |
56 | 57 | 58 | 59 | 65 | -------------------------------------------------------------------------------- /src/lib/diagrams/sv/DiffBadge.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | {#if innerWidth < 600} 11 | 23 | {:else} 24 | 32 | {difficulty} 33 | 34 | {/if} 35 | -------------------------------------------------------------------------------- /src/lib/diagrams/sv/QuestionProgress.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 13 |
14 | -------------------------------------------------------------------------------- /src/lib/diagrams/sv/SheetFlow.svelte: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | 21 |
22 | 23 | 24 |
28 | 29 | {label} 30 |
31 |
32 | 33 | 34 | {label} 35 | List of Questions for Solving and Improving 38 | 40 |
41 | 42 |
43 |
44 |
45 |
46 |
47 | 48 | 49 | 55 | -------------------------------------------------------------------------------- /src/lib/diagrams/sv/Simple.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 |
19 | 20 | {label} 21 |
22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /src/lib/diagrams/sv/TableFlow.svelte: -------------------------------------------------------------------------------- 1 | 63 | 64 |
65 | 66 |
67 | 68 | 69 | 70 | 71 | Status 72 | Title 73 | Difficulty 74 | Code 75 | 76 | 77 | 78 | {#each problems as code, i (i)} 79 | 84 | 85 | changeStatus(code.id)} /> 86 | 87 | 88 | {code.problem} 91 | 92 | 93 | 94 | 95 | {code.code} 96 | 97 | {/each} 98 | 99 | 100 | -------------------------------------------------------------------------------- /src/lib/diagrams/sv/TopEnd.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 |
15 | 16 | {label} 17 |
18 | 19 | 20 | 26 | -------------------------------------------------------------------------------- /src/lib/frontend/concepts/AllConceptTags.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | {title} 13 | {desc} 14 | 15 | 16 |
17 | {#each tags as item} 18 | 25 | {/each} 26 |
27 |
28 |
29 | -------------------------------------------------------------------------------- /src/lib/frontend/concepts/concept_tags.ts: -------------------------------------------------------------------------------- 1 | import { writable } from "svelte/store"; 2 | 3 | export let concept_tags = writable([ 4 | { 5 | name: 'Home', 6 | link: '/fullstack/concepts' 7 | }, 8 | { 9 | name: 'Fetch API', 10 | link: '/fullstack/concepts/fetch-api' 11 | }, 12 | { 13 | name: 'Flex vs Grid CSS', 14 | link: '/fullstack/concepts/flex-vs-grid' 15 | }, 16 | { 17 | name: 'Form Submission', 18 | link: '/fullstack/concepts/form-submission' 19 | }, 20 | { 21 | name: 'Client Caching', 22 | link: '/fullstack/concepts/client-caching' 23 | }, 24 | // { 25 | // name: 'Routing and Dynamic Routes', 26 | // link: '/fullstack/concepts/virtualization' 27 | // }, 28 | // { 29 | // name: 'Virtualization', 30 | // link: '/fullstack/concepts/virtualization' 31 | // }, 32 | // { 33 | // name: 'Paging', 34 | // link: '/fullstack/concepts/virtualization' 35 | // }, 36 | ]) 37 | 38 | export let conceptsTitle = writable([ 39 | { 40 | name: 'Fetch API', 41 | desc: 'Learn about JavaScript Fetch API with Examples', 42 | lang: 'JS', 43 | isupdated: 'March 2024', 44 | tag: 'easy', 45 | link: '/fullstack/concepts/fetch-api' 46 | }, 47 | { 48 | name: 'Form Submission', 49 | desc: 'Form Submissions using Svelte JS with Validation using Superforms', 50 | lang: 'Svelte', 51 | isupdated: 'March 2024', 52 | tag: 'easy', 53 | link: '/fullstack/concepts/form-submission' 54 | }, 55 | { 56 | name: 'Flex vs Grid CSS', 57 | desc: 'Understand Flex Box and Grid CSS with Examples', 58 | lang: 'C++', 59 | isupdated: 'March 2024', 60 | tag: 'easy', 61 | link: '/fullstack/concepts/flex-vs-grid' 62 | }, 63 | { 64 | name: 'Client Caching', 65 | desc: 'Learn about Client Caching in Web Development', 66 | lang: 'Svelte', 67 | isupdated: 'March 2024', 68 | tag: 'easy', 69 | link: '/fullstack/concepts/client-caching' 70 | }, 71 | 72 | ]) -------------------------------------------------------------------------------- /src/lib/frontend/flowNodes/mainFrame.svelte: -------------------------------------------------------------------------------- 1 | 26 | 27 |
28 | 29 | 30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /src/lib/frontend/interview/AllInterviewQT.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | {title} 13 | {desc} 14 | 15 | 16 |
17 | {#each tags as item} 18 | 25 | {/each} 26 |
27 |
28 |
29 | -------------------------------------------------------------------------------- /src/lib/frontend/interview/interview_qt.ts: -------------------------------------------------------------------------------- 1 | import { writable } from "svelte/store"; 2 | 3 | 4 | 5 | export let interviewTitle = writable([ 6 | { 7 | name: 'Sign Up Form Validation', 8 | desc: 'Form Submissions using Svelte JS with Validation using Superforms', 9 | lang: 'Svelte', 10 | isupdated: 'April 2024', 11 | tag: 'easy', 12 | link: '/fullstack/interview/sign-up-form' 13 | }, 14 | { 15 | name: 'Build a File Uploader', 16 | desc: 'Understand Flex Box and Grid CSS with Examples', 17 | lang: 'C++', 18 | isupdated: 'April 2024', 19 | tag: 'easy', 20 | link: '/fullstack/interview/file-uploader' 21 | }, 22 | 23 | ]) -------------------------------------------------------------------------------- /src/lib/home/FlowDiagram.svelte: -------------------------------------------------------------------------------- 1 | 88 | 89 | 93 |
96 | 97 | 98 | 99 | 100 |
101 | -------------------------------------------------------------------------------- /src/lib/home/Hero.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 |
10 |
13 |
16 |

19 | CodeFlow. 20 |

21 | 24 |

25 | Introducing new things on codeflow Snippets 30 | and 31 | 0/1 Knapsack 34 |

35 |
36 | 40 | 41 | 45 | 49 |
50 |
51 |
52 |
53 | 54 |
55 |
56 | 57 | 59 | -------------------------------------------------------------------------------- /src/lib/home/HomeCode.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 |
18 | 19 | {label} 20 |
21 | 22 | 23 | 29 | -------------------------------------------------------------------------------- /src/lib/home/ThemeMode.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/lib/home/allFeature.svelte: -------------------------------------------------------------------------------- 1 | 64 | 65 |
66 |

Additional Features

67 |
68 | {#each features as { name, desc, sub }} 69 | 70 | {/each} 71 |
72 |
73 | -------------------------------------------------------------------------------- /src/lib/home/featureCode.svelte: -------------------------------------------------------------------------------- 1 | 25 | 26 | 27 | 28 | {name} 29 | {desc} 30 | 31 | 32 | {#each sub as item} 33 |
36 | 37 |
38 |

{item.title}

39 |

{item.desc}

40 |
41 |
42 | {/each} 43 |
44 |
45 | -------------------------------------------------------------------------------- /src/lib/images/backend/appwrite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/backend/drizzle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/lib/images/backend/mongodb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/backend/mysql.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/lib/images/backend/pocket-base.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/backend/postgresql.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/lib/images/backend/prisma.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/backend/prisma_dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/backend/prisma_light.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/backend/redis.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/lib/images/backend/supabase.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/lib/images/backend/turso.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/lib/images/backend/xataio.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/lib/images/cpplogo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | 12 | 13 | 16 | 17 | 18 | 20 | 21 | 22 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/lib/images/dsa-stl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/dsa-stl.png -------------------------------------------------------------------------------- /src/lib/images/frameworks/astro.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/frameworks/javascript.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/frameworks/nextjs_icon_dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/lib/images/frameworks/nuxt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/frameworks/svelte.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/frameworks/vue.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib/images/logo_dark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/logo_dark.jpg -------------------------------------------------------------------------------- /src/lib/images/logo_preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/logo_preview.jpg -------------------------------------------------------------------------------- /src/lib/images/sveltelogo.svg: -------------------------------------------------------------------------------- 1 | svelte-logo -------------------------------------------------------------------------------- /src/lib/images/ve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/ve.png -------------------------------------------------------------------------------- /src/lib/images/version-control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/version-control.png -------------------------------------------------------------------------------- /src/lib/images/web_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/lib/images/web_logo.jpg -------------------------------------------------------------------------------- /src/lib/learnings/STLTags.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | {title} 13 | {desc} 14 | 15 | 16 |
17 | {#each tags as item} 18 | 25 | {/each} 26 |
27 |
28 |
29 | -------------------------------------------------------------------------------- /src/lib/learnings/SidebarTopics.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 |
9 | 10 |
11 |
14 | {#each $topicsTitle as subtopic} 15 | 16 | {/each} 17 |
18 |
19 | -------------------------------------------------------------------------------- /src/lib/learnings/SubTopics.svelte: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 20 | 25 |
26 | {subtopic.name} 27 | {subtopic.desc} 28 |
29 |
30 | 31 |
32 |
33 | 34 |
35 |
36 | 37 | {subtopic.lang} 38 |
39 |
40 | 41 | 20k 42 |
43 |
Updated {subtopic.isupdated}
44 |
45 |
46 |
47 |
48 | -------------------------------------------------------------------------------- /src/lib/learnings/set/StackPlay.svelte: -------------------------------------------------------------------------------- 1 | 29 | 30 |
31 |
32 | 33 | {`stackv; `} 34 | 35 | v.top():{nums[0].num || ''} 37 | 38 |
39 | 40 |
41 |
44 |
45 | {#each nums as item (item.id)} 46 |
52 | {item.num} 53 |
54 | {:else} 55 | Empty Stack 56 | {/each} 57 |
58 |
59 | v.size(): {nums.length || '0'} 60 |
61 |
62 | 72 | 82 |
83 |
84 | -------------------------------------------------------------------------------- /src/lib/learnings/topicBadge.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | {#if tag === 'easy'} 6 | {tag} 10 | {:else if tag === 'medium'} 11 | {tag} 15 | {:else} 16 | {tag} 20 | {/if} 21 | -------------------------------------------------------------------------------- /src/lib/learnings/topics-and-tags.ts: -------------------------------------------------------------------------------- 1 | import { writable } from "svelte/store"; 2 | 3 | export let alltags = writable([ 4 | { 5 | name: 'Home', 6 | link: '/c' 7 | }, 8 | { 9 | name: 'C++ Snippets', 10 | link: '/c/snippets' 11 | }, 12 | { 13 | name: 'Vector C++', 14 | link: '/c/vector' 15 | }, 16 | { 17 | name: 'Set C++', 18 | link: '/c/set' 19 | }, 20 | { 21 | name: 'Stack C++', 22 | link: '/c/stack' 23 | }, 24 | { 25 | name: 'Map C++', 26 | link: '/c/map' 27 | }, 28 | ]) 29 | export let allpatterns = writable([ 30 | { 31 | name: 'Home', 32 | link: '/pattern' 33 | }, 34 | { 35 | name: '0/1 Knapsack', 36 | link: '/pattern/knapsack' 37 | }, 38 | ]) 39 | export let topicsTitle = writable([ 40 | { 41 | name: 'Vector in C++', 42 | desc: 'Deep Dive into Vector C++ and STL Functions', 43 | lang: 'C++', 44 | isupdated: 'Nov 2023', 45 | tag: 'easy', 46 | link: 'c/vector' 47 | }, 48 | { 49 | name: 'Set in C++', 50 | desc: 'Deep Dive into Set, Unordered Set, Multi Set', 51 | lang: 'C++', 52 | isupdated: 'Nov 2023', 53 | tag: 'easy', 54 | link: 'c/set' 55 | }, 56 | { 57 | name: 'Stack in C++', 58 | desc: 'Deep Dive into Vector C++ and STL Functions', 59 | lang: 'C++', 60 | isupdated: 'Nov 2023', 61 | tag: 'medium', 62 | link: 'c/stack' 63 | }, 64 | { 65 | name: 'Map in C++', 66 | desc: 'Deep Dive into Vector C++ and STL Functions', 67 | lang: 'C++', 68 | isupdated: 'Nov 2023', 69 | tag: 'easy', 70 | link: 'c/map' 71 | }, 72 | 73 | ]) -------------------------------------------------------------------------------- /src/lib/learnings/vector/Codecopy.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 | {#each allcodes as { code, name }} 15 |
  • 16 |
    17 | {name} 18 |
    19 | 20 |
  • 21 | {/each} 22 | -------------------------------------------------------------------------------- /src/lib/learnings/vector/allQuestion.svelte: -------------------------------------------------------------------------------- 1 | 69 | 70 |
    71 | 72 | {#each allques as item} 73 | 74 | {item.title} 75 | 76 |
      77 | {#each item.content as que} 78 |
    1. 79 | 80 |
    2. 81 | {/each} 82 |
    83 |
    84 |
    85 | {/each} 86 |
    87 |
    88 | -------------------------------------------------------------------------------- /src/lib/learnings/vector/btnCopy.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | 27 | -------------------------------------------------------------------------------- /src/lib/pattern/DownloadFlow.svelte: -------------------------------------------------------------------------------- 1 | 41 | 42 | 43 |
    44 | 48 | {#if routeID !== 'roadmap'} 49 | 50 | 51 | Visit 52 | 53 | 54 | {/if} 55 |
    56 |
    57 | -------------------------------------------------------------------------------- /src/lib/pattern/KnapsackFlow.svelte: -------------------------------------------------------------------------------- 1 | 32 | 33 | 37 |
    41 | 42 | 43 | 44 | 45 | 46 |
    47 | -------------------------------------------------------------------------------- /src/lib/pattern/bottomBox.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 |
    15 |
    22 | {#if Number(sackWeight) === 0} 23 |

    24 | Sack Weight : {sackWeight} 25 |

    26 | {:else} 27 |

    Sack Weight : {sackWeight}

    28 | {/if} 29 |
    30 | w : 31 |
    32 | {#each w1 as item} 33 | 34 | {item} 35 | 36 | {:else} 37 | 38 | {/each} 39 |
    40 |
    41 |
    42 | v : 43 |
    44 | {#each v as item} 45 | 46 | {item} 47 | 48 | {:else} 49 | 50 | {/each} 51 |
    52 |
    53 |
    54 | {#if id !== '0'} 55 | 56 | {/if} 57 |
    58 | -------------------------------------------------------------------------------- /src/lib/pattern/pBox.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 |
    15 | 16 |
    22 | {#if Number(sackWeight) === 0} 23 |

    24 | Sack Weight : {sackWeight} 25 |

    26 | {:else} 27 |

    Sack Weight : {sackWeight}

    28 | {/if} 29 |
    30 | w : 31 |
    32 | {#each w1 as item} 33 | 34 | {item} 35 | 36 | {:else} 37 | 38 | {/each} 39 |
    40 |
    41 |
    42 | v : 43 |
    44 | {#each v as item} 45 | 46 | {item} 47 | 48 | {:else} 49 | 50 | {/each} 51 |
    52 |
    53 |
    54 | 55 |
    56 | -------------------------------------------------------------------------------- /src/lib/pattern/pattern.css: -------------------------------------------------------------------------------- 1 | /* .svelte-flow__node { 2 | color: black; 3 | background-color: red; 4 | } */ 5 | /* .svelte-flow__handle { 6 | height: 1px !important; 7 | width: 20px; 8 | border-radius: 3px; 9 | background: yellow; 10 | } */ 11 | -------------------------------------------------------------------------------- /src/lib/pattern/topBox.svelte: -------------------------------------------------------------------------------- 1 | 13 | 14 |
    15 | 16 |
    23 | {#if Number(sackWeight) === 0} 24 |

    25 | Sack Weight : {sackWeight} 26 |

    27 | {:else} 28 |

    Sack Weight : {sackWeight}

    29 | {/if} 30 |
    31 | w : 32 |
    33 | {#each w1 as item} 34 | 35 | {item} 36 | 37 | {:else} 38 | 39 | {/each} 40 |
    41 |
    42 |
    43 | v : 44 |
    45 | {#each v as item} 46 | 47 | {item} 48 | 49 | {:else} 50 | 51 | {/each} 52 |
    53 |
    54 |
    55 |
    56 | -------------------------------------------------------------------------------- /src/lib/practice/queStatus.svelte: -------------------------------------------------------------------------------- 1 | 21 | 22 | changeStatus(i)} /> 23 | -------------------------------------------------------------------------------- /src/lib/practice/tagsSidebar.svelte: -------------------------------------------------------------------------------- 1 | 30 | 31 | 32 | 33 | Question Tags 34 | Choose Questions Accordingly 35 | 36 | 37 |
    38 | {#each allTags as item} 39 | 46 | {/each} 47 |
    48 |
    49 |
    50 | -------------------------------------------------------------------------------- /src/lib/style.css: -------------------------------------------------------------------------------- 1 | .svelte-flow__edge .svelte-flow__edge-path { 2 | stroke-width: 1.4; 3 | stroke: #296dff; 4 | } 5 | 6 | .svelte-flow__controls button { 7 | background-color: rgb(1, 24, 45); 8 | color: #fff; 9 | border: 1px solid #95679e; 10 | border-bottom: none; 11 | } 12 | 13 | .svelte-flow__controls button:hover { 14 | background-color: rgb(2, 37, 83); 15 | } 16 | 17 | .svelte-flow__controls button:first-child { 18 | border-radius: 5px 5px 0 0; 19 | } 20 | 21 | .svelte-flow__controls button:last-child { 22 | border-bottom: 1px solid #95679e; 23 | border-radius: 0 0 5px 5px; 24 | } 25 | 26 | .svelte-flow__controls button path { 27 | fill: #fff; 28 | } 29 | 30 | .svelte-flow__attribution { 31 | display: none; 32 | } 33 | /* 34 | .svelte-flow__handle.source { 35 | all: none; 36 | } */ 37 | 38 | /* .svelte-flow__handle.target { 39 | all: unset; 40 | left: 50%; 41 | } */ 42 | -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { type ClassValue, clsx } from "clsx"; 2 | import { twMerge } from "tailwind-merge"; 3 | import { cubicOut } from "svelte/easing"; 4 | import type { TransitionConfig } from "svelte/transition"; 5 | 6 | export function cn(...inputs: ClassValue[]) { 7 | return twMerge(clsx(inputs)); 8 | } 9 | 10 | type FlyAndScaleParams = { 11 | y?: number; 12 | x?: number; 13 | start?: number; 14 | duration?: number; 15 | }; 16 | 17 | export const flyAndScale = ( 18 | node: Element, 19 | params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 } 20 | ): TransitionConfig => { 21 | const style = getComputedStyle(node); 22 | const transform = style.transform === "none" ? "" : style.transform; 23 | 24 | const scaleConversion = ( 25 | valueA: number, 26 | scaleA: [number, number], 27 | scaleB: [number, number] 28 | ) => { 29 | const [minA, maxA] = scaleA; 30 | const [minB, maxB] = scaleB; 31 | 32 | const percentage = (valueA - minA) / (maxA - minA); 33 | const valueB = percentage * (maxB - minB) + minB; 34 | 35 | return valueB; 36 | }; 37 | 38 | const styleToString = ( 39 | style: Record 40 | ): string => { 41 | return Object.keys(style).reduce((str, key) => { 42 | if (style[key] === undefined) return str; 43 | return str + `${key}:${style[key]};`; 44 | }, ""); 45 | }; 46 | 47 | return { 48 | duration: params.duration ?? 200, 49 | delay: 0, 50 | css: (t) => { 51 | const y = scaleConversion(t, [0, 1], [params.y ?? 5, 0]); 52 | const x = scaleConversion(t, [0, 1], [params.x ?? 0, 0]); 53 | const scale = scaleConversion(t, [0, 1], [params.start ?? 0.95, 1]); 54 | 55 | return styleToString({ 56 | transform: `${transform} translate3d(${x}px, ${y}px, 0) scale(${scale})`, 57 | opacity: t 58 | }); 59 | }, 60 | easing: cubicOut 61 | }; 62 | }; 63 | 64 | -------------------------------------------------------------------------------- /src/routes/+layout.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | {#if routeID[1] === 'c' || routeID[1] === 'pattern'} 14 |
    15 | 16 |
    17 | {:else} 18 | {#key routeID} 19 |
    20 | 21 |
    22 | {/key} 23 | {/if} 24 | -------------------------------------------------------------------------------- /src/routes/+page.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | Code Flow 10 | 11 | 12 | 13 | 14 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 28 | 29 | 30 |
    31 | 32 | 33 | 34 | 35 |
    36 | -------------------------------------------------------------------------------- /src/routes/c/+layout.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 |
    9 |
    10 | 11 |
    12 | {#key routeID} 13 |
    17 | 18 |
    19 | {/key} 20 |
    21 | 22 | -------------------------------------------------------------------------------- /src/routes/c/+page.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 |
    7 | {#each $topicsTitle as subtopic} 8 | 9 | {/each} 10 |
    11 | -------------------------------------------------------------------------------- /src/routes/c/vector/+page.svelte: -------------------------------------------------------------------------------- 1 | 32 | 33 | 34 | Vector in C++ 35 | 36 | 37 | 38 | 39 | 43 | 44 |
    45 |

    Vector in C++

    46 |
      47 |
    1. 48 | Vectors are the same as dynamic arrays with the ability to resize itself automatically when an 49 | element is inserted or deleted, with their storage being handled automatically by the 50 | container. 51 |
    2. 52 |
    3. 53 | Vector elements are placed in contiguous storage so that they can be accessed and traversed 54 | using iterators. 55 |
    4. 56 |
    57 |
    58 | 59 |
    60 |
    61 |

    Code

    62 |
      63 |
      64 | 65 |
      66 |
    67 |
    68 |
    69 |

    Solve Questions

    70 | 71 |
    72 |
    73 | -------------------------------------------------------------------------------- /src/routes/databases/+page.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | Backend Guide 9 | 10 | 11 | 12 | 13 |
    14 | 15 | 16 |
    17 | -------------------------------------------------------------------------------- /src/routes/databases/concept/+page.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | Codeflow - Backend Tools 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/routes/databases/d/+page.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | Codeflow - FullStack Frameworks 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/routes/databases/tools/+page.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | Codeflow - Backend Tools 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/routes/fullstack/+page.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | Full Stack 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/routes/fullstack/concepts/+layout.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 |
    9 |
    10 | 11 |
    12 | {#key routeID} 13 |
    17 |
    18 | 19 |
    20 |
    21 | {/key} 22 |
    23 | -------------------------------------------------------------------------------- /src/routes/fullstack/concepts/+page.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | Full Stack Concepts 8 | 9 | 10 | 11 |
    12 | {#each $conceptsTitle as subtopic} 13 | 14 | {/each} 15 |
    16 | -------------------------------------------------------------------------------- /src/routes/fullstack/concepts/client-caching/+page.svelte: -------------------------------------------------------------------------------- 1 |

    Caching is fun

    2 | - currently building 3 | -------------------------------------------------------------------------------- /src/routes/fullstack/concepts/flex-vs-grid/+page.svelte: -------------------------------------------------------------------------------- 1 | Flex vs grid - currently building 2 | -------------------------------------------------------------------------------- /src/routes/fullstack/concepts/form-submission/+page.server.ts: -------------------------------------------------------------------------------- 1 | import type { Actions } from "./$types"; 2 | 3 | export const actions: Actions = { 4 | defualt: async ({ request }) => { 5 | let form = await request.formData(); 6 | console.log(form) // Form Data 7 | } 8 | }; -------------------------------------------------------------------------------- /src/routes/fullstack/concepts/form-submission/+page.svelte: -------------------------------------------------------------------------------- 1 | 40 | 41 |

    Simple Form Submission using Svelte

    42 |

    43 | Form submission on the web typically involves sending data from a web form to a server for 44 | processing. Here's a basic overview of how form submission works 45 |

    46 |

    Basic working of Form

    47 |
      48 |
    1. Creating the Form
    2. 49 |
    3. User Input
    4. 50 |
    5. Submitting the Form
    6. 51 |
    7. Sending the Request
    8. 52 |
    9. Processigng on the Server
    10. 53 |
    11. Response from the Server
    12. 54 |
    13. Displaying the Response
    14. 55 |
    56 |

    57 | In summary, form submission involves creating an HTML form, collecting user input, sending the 58 | data to a server via an HTTP POST request, processing the data on the server, and then responding 59 | to the client's request with the appropriate content 60 |

    61 |
    62 | 69 |
    70 |

    Form submission at Server Side +page.server.ts File

    71 |
    72 | 79 |
    80 |
    81 | 6. Response from the Server: After processing the form data, the server typically 82 | sends back a response to the client (browser). This response might be a new web page, a 83 | confirmation message, or any other content determined by the server-side processing. 84 |
    85 | 7. Displaying the Response: The browser receives the response from the server and 86 | displays it to the user. This might involve loading a new page, updating parts of the current page 87 | dynamically (using AJAX), or displaying a pop-up message. 88 |
    89 | -------------------------------------------------------------------------------- /src/routes/fullstack/frameworks/+page.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | Codeflow - FullStack Frameworks 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/routes/fullstack/interview/+layout.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 |
    10 |
    11 | 12 |
    13 | {#key routeID} 14 |
    18 | 19 |
    20 | {/key} 21 |
    22 | -------------------------------------------------------------------------------- /src/routes/fullstack/interview/+page.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | Codeflow - Interview Questions 8 | 9 | 10 | 11 |
    12 | {#each $interviewTitle as subtopic} 13 | 14 | {/each} 15 |
    16 | -------------------------------------------------------------------------------- /src/routes/fullstack/interview/sign-up-form/+page.svelte: -------------------------------------------------------------------------------- 1 | 52 | 53 |

    Sign-up form using Sveltekit

    54 |

    Inverview Question : Create a Sign Up Form using Sveltekit

    55 |

    56 | Interview questions on sign-up forms are common in full-stack developer interviews. This is 57 | because sign-up forms are a common feature in web applications. In this article, we will discuss 58 | how to create a sign-up form using Sveltekit. 59 |

    60 |

    61 | Sign up forms includes username, email, password and any other information that is required to 62 | create an account. Here's a basic overview of how form submission works 63 |

    64 |
    65 | 72 |
    73 |

    Form submission at Server Side +page.server.ts File

    74 |
    75 | 82 |
    83 | -------------------------------------------------------------------------------- /src/routes/pattern/+layout.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
    12 |
    13 | 14 |
    15 | {#key routeID} 16 |
    17 | 18 | 19 | 20 | 21 | 22 |
    23 | {/key} 24 |
    25 | -------------------------------------------------------------------------------- /src/routes/pattern/+page.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 |
    7 | {#each $topicsTitle as subtopic} 8 | 9 | {/each} 10 |
    11 | -------------------------------------------------------------------------------- /src/routes/pattern/knapsack/+page.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 |
    7 | 8 | 9 | 0/1 KnapSack 10 | 11 | 12 |

    13 | Given N items where each item has some weight and profit associated with it and also given a 14 | bag with capacity W. The task is to put the items into the bag such that the sum of profits 15 | associated with them is the maximum possible 16 |

    17 |
    18 | 19 |
    20 |
    21 | 24 |
    25 |
    26 | -------------------------------------------------------------------------------- /src/routes/practice/+page.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/src/routes/practice/+page.server.ts -------------------------------------------------------------------------------- /src/routes/practice/+page.svelte: -------------------------------------------------------------------------------- 1 | 27 | 28 |
    29 |
    30 | 31 |
    32 |
    33 | 34 |
    35 |
    36 | -------------------------------------------------------------------------------- /src/routes/roadmap/dsa/+page.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | DSA Roadmap 11 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/routes/roadmap/knapsack/+page.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/routes/roadmap/stl/+page.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | STL Roadmap 11 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/routes/roadmap/svelte/+page.svelte: -------------------------------------------------------------------------------- 1 | 3 | 4 |

    Hello Svelte Coders

    5 | -------------------------------------------------------------------------------- /static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/favicon.png -------------------------------------------------------------------------------- /static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/logo.png -------------------------------------------------------------------------------- /static/logo_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/logo_code.png -------------------------------------------------------------------------------- /static/logo_preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/logo_preview.jpg -------------------------------------------------------------------------------- /static/web_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SikandarJODD/CodeFlow/c2abb5253cb286f504faa49583f8112c4a90ca53/static/web_logo.jpg -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import adapter from '@sveltejs/adapter-auto'; 2 | import { vitePreprocess } from '@sveltejs/kit/vite'; 3 | 4 | /** @type {import('@sveltejs/kit').Config} */ 5 | const config = { 6 | preprocess: [vitePreprocess()], 7 | 8 | kit: { 9 | adapter: adapter(), 10 | alias: { 11 | $ui: './src/lib/components/ui', 12 | $lib: './src/lib' 13 | } 14 | }, 15 | vitePlugin: { 16 | inspector: true 17 | } 18 | }; 19 | 20 | export default config; 21 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | import { fontFamily } from 'tailwindcss/defaultTheme'; 2 | 3 | /** @type {import('tailwindcss').Config} */ 4 | const config = { 5 | darkMode: ['class'], 6 | content: ['./src/**/*.{html,js,svelte,ts}', './node_modules/svhighlight/**/*.svelte'], 7 | safelist: ['dark'], 8 | theme: { 9 | container: { 10 | center: true, 11 | padding: '2rem', 12 | screens: { 13 | '2xl': '1400px' 14 | } 15 | }, 16 | extend: { 17 | colors: { 18 | border: 'hsl(var(--border) / )', 19 | input: 'hsl(var(--input) / )', 20 | ring: 'hsl(var(--ring) / )', 21 | background: 'hsl(var(--background) / )', 22 | foreground: 'hsl(var(--foreground) / )', 23 | primary: { 24 | DEFAULT: 'hsl(var(--primary) / )', 25 | foreground: 'hsl(var(--primary-foreground) / )' 26 | }, 27 | secondary: { 28 | DEFAULT: 'hsl(var(--secondary) / )', 29 | foreground: 'hsl(var(--secondary-foreground) / )' 30 | }, 31 | destructive: { 32 | DEFAULT: 'hsl(var(--destructive) / )', 33 | foreground: 'hsl(var(--destructive-foreground) / )' 34 | }, 35 | muted: { 36 | DEFAULT: 'hsl(var(--muted) / )', 37 | foreground: 'hsl(var(--muted-foreground) / )' 38 | }, 39 | accent: { 40 | DEFAULT: 'hsl(var(--accent) / )', 41 | foreground: 'hsl(var(--accent-foreground) / )' 42 | }, 43 | popover: { 44 | DEFAULT: 'hsl(var(--popover) / )', 45 | foreground: 'hsl(var(--popover-foreground) / )' 46 | }, 47 | card: { 48 | DEFAULT: 'hsl(var(--card) / )', 49 | foreground: 'hsl(var(--card-foreground) / )' 50 | } 51 | }, 52 | borderRadius: { 53 | lg: 'var(--radius)', 54 | md: 'calc(var(--radius) - 2px)', 55 | sm: 'calc(var(--radius) - 4px)' 56 | }, 57 | fontFamily: { 58 | sans: ['Inter var', ...fontFamily.sans] 59 | } 60 | } 61 | }, 62 | plugins: [require('@tailwindcss/typography')] 63 | }; 64 | 65 | export default config; 66 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "resolveJsonModule": true, 9 | "skipLibCheck": true, 10 | "sourceMap": true, 11 | "strict": true 12 | } 13 | // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias 14 | // 15 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes 16 | // from the referenced tsconfig.json - TypeScript does not merge them in 17 | } 18 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { sveltekit } from '@sveltejs/kit/vite'; 2 | import { defineConfig } from 'vite'; 3 | 4 | export default defineConfig({ 5 | plugins: [sveltekit()] 6 | }); 7 | --------------------------------------------------------------------------------