@muskanmeet/invoicing-design-system 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cache/replit/env/latest +78 -0
- package/.cache/replit/env/latest.json +1 -0
- package/.cache/replit/modules/nodejs-20.res +1 -0
- package/.cache/replit/modules/python-3.11.res +1 -0
- package/.cache/replit/modules/replit-rtld-loader.res +1 -0
- package/.cache/replit/modules/replit.res +1 -0
- package/.cache/replit/modules.stamp +0 -0
- package/.cache/replit/nix/dotreplitenv.json +1 -0
- package/.cache/replit/toolchain.json +1 -0
- package/.cache/typescript/5.9/package-lock.json +50 -0
- package/.cache/typescript/5.9/package.json +1 -0
- package/.config/nextjs-nodejs/config.json +7 -0
- package/.eslintrc.json +3 -0
- package/.local/.commit_message +31 -0
- package/.local/secondary_skills/LICENSE.txt +21 -0
- package/.local/secondary_skills/ad-creative/.fingerprint +1 -0
- package/.local/secondary_skills/ad-creative/SKILL.md +872 -0
- package/.local/secondary_skills/ai-recruiter/.fingerprint +1 -0
- package/.local/secondary_skills/ai-recruiter/SKILL.md +1087 -0
- package/.local/secondary_skills/ai-sdr/.fingerprint +1 -0
- package/.local/secondary_skills/ai-sdr/SKILL.md +204 -0
- package/.local/secondary_skills/ai-secretary/.fingerprint +1 -0
- package/.local/secondary_skills/ai-secretary/SKILL.md +1132 -0
- package/.local/secondary_skills/branding-generator/.fingerprint +1 -0
- package/.local/secondary_skills/branding-generator/SKILL.md +286 -0
- package/.local/secondary_skills/competitive-analysis/.fingerprint +1 -0
- package/.local/secondary_skills/competitive-analysis/SKILL.md +429 -0
- package/.local/secondary_skills/content-machine/.fingerprint +1 -0
- package/.local/secondary_skills/content-machine/SKILL.md +321 -0
- package/.local/secondary_skills/deep-research/.fingerprint +1 -0
- package/.local/secondary_skills/deep-research/SKILL.md +517 -0
- package/.local/secondary_skills/design-thinker/.fingerprint +1 -0
- package/.local/secondary_skills/design-thinker/SKILL.md +327 -0
- package/.local/secondary_skills/excel-generator/.fingerprint +1 -0
- package/.local/secondary_skills/excel-generator/SKILL.md +954 -0
- package/.local/secondary_skills/excel-generator/financial-models.md +289 -0
- package/.local/secondary_skills/file-converter/.fingerprint +1 -0
- package/.local/secondary_skills/file-converter/SKILL.md +823 -0
- package/.local/secondary_skills/flashcard-generator/.fingerprint +1 -0
- package/.local/secondary_skills/flashcard-generator/SKILL.md +233 -0
- package/.local/secondary_skills/geo/.fingerprint +1 -0
- package/.local/secondary_skills/geo/SKILL.md +378 -0
- package/.local/secondary_skills/geo/references/content-patterns.md +158 -0
- package/.local/secondary_skills/geo/references/platform-notes.md +128 -0
- package/.local/secondary_skills/geo/references/scorecard.md +113 -0
- package/.local/secondary_skills/geo/references/technical-checklist.md +257 -0
- package/.local/secondary_skills/github-solution-finder/.fingerprint +1 -0
- package/.local/secondary_skills/github-solution-finder/SKILL.md +174 -0
- package/.local/secondary_skills/infographic-builder/.fingerprint +1 -0
- package/.local/secondary_skills/infographic-builder/SKILL.md +317 -0
- package/.local/secondary_skills/infographic-builder/antv-syntax.md +470 -0
- package/.local/secondary_skills/infographic-builder/react-fallback.md +210 -0
- package/.local/secondary_skills/insurance-optimizer/.fingerprint +1 -0
- package/.local/secondary_skills/insurance-optimizer/SKILL.md +209 -0
- package/.local/secondary_skills/interview-prep/.fingerprint +1 -0
- package/.local/secondary_skills/interview-prep/SKILL.md +349 -0
- package/.local/secondary_skills/invoice-generator/.fingerprint +1 -0
- package/.local/secondary_skills/invoice-generator/SKILL.md +527 -0
- package/.local/secondary_skills/legal-contract/.fingerprint +1 -0
- package/.local/secondary_skills/legal-contract/SKILL.md +977 -0
- package/.local/secondary_skills/meal-planner/.fingerprint +1 -0
- package/.local/secondary_skills/meal-planner/SKILL.md +517 -0
- package/.local/secondary_skills/personal-shopper/.fingerprint +1 -0
- package/.local/secondary_skills/personal-shopper/SKILL.md +361 -0
- package/.local/secondary_skills/photo-editor/.fingerprint +1 -0
- package/.local/secondary_skills/photo-editor/SKILL.md +605 -0
- package/.local/secondary_skills/podcast-generator/.fingerprint +1 -0
- package/.local/secondary_skills/podcast-generator/SKILL.md +560 -0
- package/.local/secondary_skills/podcast-marketing/.fingerprint +1 -0
- package/.local/secondary_skills/podcast-marketing/SKILL.md +550 -0
- package/.local/secondary_skills/podcast-marketing/audio-processing.md +530 -0
- package/.local/secondary_skills/podcast-marketing/content-atoms.md +253 -0
- package/.local/secondary_skills/podcast-marketing/content-calendar.md +318 -0
- package/.local/secondary_skills/podcast-marketing/content-templates.md +325 -0
- package/.local/secondary_skills/podcast-marketing/quote-cards.md +238 -0
- package/.local/secondary_skills/podcast-marketing/rss-and-batch.md +359 -0
- package/.local/secondary_skills/podcast-marketing/video-clips.md +660 -0
- package/.local/secondary_skills/podcast-marketing/youtube-processing.md +328 -0
- package/.local/secondary_skills/product-manager/.fingerprint +1 -0
- package/.local/secondary_skills/product-manager/SKILL.md +272 -0
- package/.local/secondary_skills/programmatic-seo/.fingerprint +1 -0
- package/.local/secondary_skills/programmatic-seo/SKILL.md +1207 -0
- package/.local/secondary_skills/real-estate-analyzer/.fingerprint +1 -0
- package/.local/secondary_skills/real-estate-analyzer/SKILL.md +786 -0
- package/.local/secondary_skills/recipe-creator/.fingerprint +1 -0
- package/.local/secondary_skills/recipe-creator/SKILL.md +259 -0
- package/.local/secondary_skills/recreate-screenshot/.fingerprint +1 -0
- package/.local/secondary_skills/recreate-screenshot/SKILL.md +215 -0
- package/.local/secondary_skills/replit-migration-guardrails/.fingerprint +1 -0
- package/.local/secondary_skills/replit-migration-guardrails/SKILL.md +55 -0
- package/.local/secondary_skills/replit-migration-guardrails/references/base44.md +47 -0
- package/.local/secondary_skills/replit-migration-guardrails/references/vercel.md +78 -0
- package/.local/secondary_skills/resume-maker/.fingerprint +1 -0
- package/.local/secondary_skills/resume-maker/SKILL.md +790 -0
- package/.local/secondary_skills/seo-auditor/.fingerprint +1 -0
- package/.local/secondary_skills/seo-auditor/SKILL.md +448 -0
- package/.local/secondary_skills/skill-creator/.fingerprint +1 -0
- package/.local/secondary_skills/skill-creator/SKILL.md +214 -0
- package/.local/secondary_skills/skill-finder/.fingerprint +1 -0
- package/.local/secondary_skills/skill-finder/SKILL.md +299 -0
- package/.local/secondary_skills/stock-analyzer/.fingerprint +1 -0
- package/.local/secondary_skills/stock-analyzer/SKILL.md +798 -0
- package/.local/secondary_skills/storyboard/.fingerprint +1 -0
- package/.local/secondary_skills/storyboard/SKILL.md +558 -0
- package/.local/secondary_skills/supplier-research/.fingerprint +1 -0
- package/.local/secondary_skills/supplier-research/SKILL.md +213 -0
- package/.local/secondary_skills/tax-reviewer/.fingerprint +1 -0
- package/.local/secondary_skills/tax-reviewer/SKILL.md +131 -0
- package/.local/secondary_skills/travel-assistant/.fingerprint +1 -0
- package/.local/secondary_skills/travel-assistant/SKILL.md +667 -0
- package/.local/secondary_skills/video-editing/.fingerprint +1 -0
- package/.local/secondary_skills/video-editing/SKILL.md +705 -0
- package/.local/secondary_skills/video-editing/dead-space-and-chunking.md +1081 -0
- package/.local/secondary_skills/video-editing/operations.md +1719 -0
- package/.local/secondary_skills/video-editing/virality-scoring.md +1212 -0
- package/.local/secondary_skills/video-editing/voiceover.md +788 -0
- package/.local/secondary_skills/website-cloning/.fingerprint +1 -0
- package/.local/secondary_skills/website-cloning/SKILL.md +544 -0
- package/.local/secondary_skills/website-cloning/extraction.md +1207 -0
- package/.local/secondary_skills/website-cloning/pitfalls.md +297 -0
- package/.local/skills/LICENSE.txt +21 -0
- package/.local/skills/agent-inbox/.fingerprint +1 -0
- package/.local/skills/agent-inbox/SKILL.md +128 -0
- package/.local/skills/artifacts/.fingerprint +1 -0
- package/.local/skills/artifacts/SKILL.md +21 -0
- package/.local/skills/artifacts/artifacts/automation/artifact.yaml +40 -0
- package/.local/skills/artifacts/artifacts/automation/files/package.json.template +47 -0
- package/.local/skills/artifacts/artifacts/automation/files/scripts/build.sh +6 -0
- package/.local/skills/artifacts/artifacts/automation/files/scripts/inngest.sh +18 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/global.d.ts +1 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/agents/agent.ts +89 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/index.ts +212 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/inngest/client.ts +17 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/inngest/index.ts +214 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/storage/index.ts +8 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/tools/exampleTool.ts +71 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/mastra/workflows/workflow.ts +203 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/triggers/cronTriggers.ts +61 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/triggers/exampleConnectorTrigger.ts +153 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/triggers/slackTriggers.ts +638 -0
- package/.local/skills/artifacts/artifacts/automation/files/src/triggers/telegramTriggers.ts +94 -0
- package/.local/skills/artifacts/artifacts/automation/files/tests/testCronAutomation.ts +86 -0
- package/.local/skills/artifacts/artifacts/automation/files/tests/testWebhookAutomation.ts +118 -0
- package/.local/skills/artifacts/artifacts/automation/files/tsconfig.json +26 -0
- package/.local/skills/artifacts/artifacts/data-visualization/artifact.yaml +48 -0
- package/.local/skills/artifacts/artifacts/expo/OWNERS +2 -0
- package/.local/skills/artifacts/artifacts/expo/artifact.yaml +47 -0
- package/.local/skills/artifacts/artifacts/expo/files/app/(tabs)/_layout.tsx +86 -0
- package/.local/skills/artifacts/artifacts/expo/files/app/(tabs)/index.tsx +28 -0
- package/.local/skills/artifacts/artifacts/expo/files/app/+not-found.tsx +45 -0
- package/.local/skills/artifacts/artifacts/expo/files/app/_layout.tsx +60 -0
- package/.local/skills/artifacts/artifacts/expo/files/app.json.template +38 -0
- package/.local/skills/artifacts/artifacts/expo/files/assets/images/icon.png +0 -0
- package/.local/skills/artifacts/artifacts/expo/files/babel.config.js +6 -0
- package/.local/skills/artifacts/artifacts/expo/files/components/ErrorBoundary.tsx +54 -0
- package/.local/skills/artifacts/artifacts/expo/files/components/ErrorFallback.tsx +278 -0
- package/.local/skills/artifacts/artifacts/expo/files/components/KeyboardAwareScrollViewCompat.tsx +29 -0
- package/.local/skills/artifacts/artifacts/expo/files/constants/colors.ts +59 -0
- package/.local/skills/artifacts/artifacts/expo/files/hooks/useColors.ts +24 -0
- package/.local/skills/artifacts/artifacts/expo/files/metro.config.js +3 -0
- package/.local/skills/artifacts/artifacts/expo/files/package.json.template +58 -0
- package/.local/skills/artifacts/artifacts/expo/files/scripts/build.js +573 -0
- package/.local/skills/artifacts/artifacts/expo/files/server/serve.js +135 -0
- package/.local/skills/artifacts/artifacts/expo/files/server/templates/landing-page.html +460 -0
- package/.local/skills/artifacts/artifacts/expo/files/tsconfig.json +23 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/artifact.yaml +15 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/components.json +21 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/index.html +31 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/mockupPreviewPlugin.ts +199 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/package.json.template +75 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/public/favicon.svg +3 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/.generated/mockup-components.ts +3 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/App.tsx +146 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/accordion.tsx +55 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/alert-dialog.tsx +139 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/alert.tsx +59 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/aspect-ratio.tsx +5 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/avatar.tsx +50 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/badge.tsx +43 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/breadcrumb.tsx +115 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/button-group.tsx +83 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/button.tsx +65 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/calendar.tsx +213 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/card.tsx +76 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/carousel.tsx +260 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/chart.tsx +367 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/checkbox.tsx +28 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/collapsible.tsx +11 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/command.tsx +153 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/context-menu.tsx +198 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/dialog.tsx +120 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/drawer.tsx +116 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/dropdown-menu.tsx +201 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/empty.tsx +104 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/field.tsx +244 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/form.tsx +176 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/hover-card.tsx +27 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/input-group.tsx +168 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/input-otp.tsx +69 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/input.tsx +22 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/item.tsx +193 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/kbd.tsx +28 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/label.tsx +26 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/menubar.tsx +254 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/navigation-menu.tsx +128 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/pagination.tsx +117 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/popover.tsx +31 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/progress.tsx +28 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/radio-group.tsx +42 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/resizable.tsx +45 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/scroll-area.tsx +46 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/select.tsx +159 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/separator.tsx +29 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/sheet.tsx +140 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/sidebar.tsx +727 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/skeleton.tsx +15 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/slider.tsx +26 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/sonner.tsx +31 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/spinner.tsx +16 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/switch.tsx +27 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/table.tsx +120 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/tabs.tsx +53 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/textarea.tsx +22 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toast.tsx +127 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toaster.tsx +33 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toggle-group.tsx +61 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toggle.tsx +43 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/tooltip.tsx +32 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/hooks/use-mobile.tsx +19 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/hooks/use-toast.ts +189 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/index.css +158 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/lib/utils.ts +6 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/main.tsx +5 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/tsconfig.json +20 -0
- package/.local/skills/artifacts/artifacts/mockup-sandbox/files/vite.config.ts +72 -0
- package/.local/skills/artifacts/artifacts/react-vite/artifact.yaml +41 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/components.json +20 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/index.html.template +24 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/package.json.template +77 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/public/favicon.svg +3 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/public/robots.txt +2 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/App.tsx +42 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/accordion.tsx +55 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/alert-dialog.tsx +139 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/alert.tsx +59 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/aspect-ratio.tsx +5 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/avatar.tsx +50 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/badge.tsx +43 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/breadcrumb.tsx +115 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/button-group.tsx +83 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/button.tsx +65 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/calendar.tsx +213 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/card.tsx +76 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/carousel.tsx +260 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/chart.tsx +367 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/checkbox.tsx +28 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/collapsible.tsx +11 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/command.tsx +153 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/context-menu.tsx +198 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/dialog.tsx +120 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/drawer.tsx +116 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/dropdown-menu.tsx +201 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/empty.tsx +104 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/field.tsx +244 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/form.tsx +176 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/hover-card.tsx +27 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/input-group.tsx +168 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/input-otp.tsx +69 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/input.tsx +22 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/item.tsx +193 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/kbd.tsx +28 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/label.tsx +26 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/menubar.tsx +254 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/navigation-menu.tsx +128 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/pagination.tsx +117 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/popover.tsx +31 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/progress.tsx +28 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/radio-group.tsx +42 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/resizable.tsx +45 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/scroll-area.tsx +46 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/select.tsx +159 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/separator.tsx +29 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/sheet.tsx +140 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/sidebar.tsx +727 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/skeleton.tsx +15 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/slider.tsx +26 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/sonner.tsx +31 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/spinner.tsx +16 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/switch.tsx +27 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/table.tsx +120 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/tabs.tsx +53 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/textarea.tsx +22 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toast.tsx +127 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toaster.tsx +33 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toggle-group.tsx +61 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toggle.tsx +43 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/tooltip.tsx +32 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/hooks/use-mobile.tsx +19 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/hooks/use-toast.ts +191 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/index.css +393 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/lib/utils.ts +6 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/main.tsx +5 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/src/pages/not-found.tsx +21 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/tsconfig.json +22 -0
- package/.local/skills/artifacts/artifacts/react-vite/files/vite.config.ts +75 -0
- package/.local/skills/artifacts/artifacts/slides/artifact.yaml +33 -0
- package/.local/skills/artifacts/artifacts/slides/files/index.html.template +46 -0
- package/.local/skills/artifacts/artifacts/slides/files/package.json.template +30 -0
- package/.local/skills/artifacts/artifacts/slides/files/public/favicon.svg +3 -0
- package/.local/skills/artifacts/artifacts/slides/files/scripts/validate-slides.ts +193 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/App.tsx +251 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/data/slides-manifest.json +1 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/data/slidesManifestSchema.ts +33 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/index.css +48 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/main.tsx +14 -0
- package/.local/skills/artifacts/artifacts/slides/files/src/slideLoader.ts +51 -0
- package/.local/skills/artifacts/artifacts/slides/files/tsconfig.json +17 -0
- package/.local/skills/artifacts/artifacts/slides/files/vite.config.ts +74 -0
- package/.local/skills/artifacts/artifacts/video-js/artifact.yaml +38 -0
- package/.local/skills/artifacts/artifacts/video-js/files/index.html.template +27 -0
- package/.local/skills/artifacts/artifacts/video-js/files/package.json.template +36 -0
- package/.local/skills/artifacts/artifacts/video-js/files/public/favicon.svg +3 -0
- package/.local/skills/artifacts/artifacts/video-js/files/scripts/validate-recording.sh +38 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/App.tsx +5 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/components/video/ReplitLoadingScene.tsx +105 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/components/video/VideoTemplate.tsx +30 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/components/video/index.ts +1 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/hooks/use-mobile.tsx +19 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/index.css +50 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/lib/utils.ts +6 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/lib/video/animations.ts +239 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/lib/video/hooks.ts +104 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/lib/video/index.ts +19 -0
- package/.local/skills/artifacts/artifacts/video-js/files/src/main.tsx +5 -0
- package/.local/skills/artifacts/artifacts/video-js/files/tsconfig.json +16 -0
- package/.local/skills/artifacts/artifacts/video-js/files/vite.config.ts +79 -0
- package/.local/skills/artifacts/bootstrap-legacy.js +115 -0
- package/.local/skills/artifacts/bootstrap.js +118 -0
- package/.local/skills/artifacts/references/multi-artifact-creation.md +94 -0
- package/.local/skills/canvas/.fingerprint +1 -0
- package/.local/skills/canvas/SKILL.md +534 -0
- package/.local/skills/canvas/__init__.py +1 -0
- package/.local/skills/code_review/.fingerprint +1 -0
- package/.local/skills/code_review/SKILL.md +82 -0
- package/.local/skills/database/.fingerprint +1 -0
- package/.local/skills/database/SKILL.md +351 -0
- package/.local/skills/database/references/database-migrations-on-publish.md +57 -0
- package/.local/skills/delegation/.fingerprint +1 -0
- package/.local/skills/delegation/SKILL.md +200 -0
- package/.local/skills/deployment/.fingerprint +1 -0
- package/.local/skills/deployment/SKILL.md +261 -0
- package/.local/skills/deployment/references/deployment-failure-debugging.md +243 -0
- package/.local/skills/deployment/references/deployment-logs.md +147 -0
- package/.local/skills/design/.fingerprint +1 -0
- package/.local/skills/design/SKILL.md +235 -0
- package/.local/skills/design-exploration/.fingerprint +1 -0
- package/.local/skills/design-exploration/SKILL.md +95 -0
- package/.local/skills/diagnostics/.fingerprint +1 -0
- package/.local/skills/diagnostics/SKILL.md +122 -0
- package/.local/skills/environment-secrets/.fingerprint +1 -0
- package/.local/skills/environment-secrets/SKILL.md +201 -0
- package/.local/skills/expo/.fingerprint +1 -0
- package/.local/skills/expo/OWNERS +2 -0
- package/.local/skills/expo/SKILL.md +298 -0
- package/.local/skills/expo/references/design_and_aesthetics.md +141 -0
- package/.local/skills/expo/references/device_features_and_permissions.md +48 -0
- package/.local/skills/expo/references/first_build.md +114 -0
- package/.local/skills/expo/references/react_context.md +54 -0
- package/.local/skills/external_apis/.fingerprint +1 -0
- package/.local/skills/external_apis/SKILL.md +25 -0
- package/.local/skills/external_apis/references/brave.md +116 -0
- package/.local/skills/external_apis/references/elevenlabs.md +44 -0
- package/.local/skills/external_apis/references/exa.md +34 -0
- package/.local/skills/external_apis/references/firecrawl.md +37 -0
- package/.local/skills/external_apis/references/nano_banana.md +33 -0
- package/.local/skills/follow-up-tasks/.fingerprint +1 -0
- package/.local/skills/follow-up-tasks/SKILL.md +80 -0
- package/.local/skills/image-search/.fingerprint +1 -0
- package/.local/skills/image-search/SKILL.md +150 -0
- package/.local/skills/integrations/.fingerprint +1 -0
- package/.local/skills/integrations/SKILL.md +205 -0
- package/.local/skills/media-generation/.fingerprint +1 -0
- package/.local/skills/media-generation/SKILL.md +170 -0
- package/.local/skills/media-generation/audio_generation.md +138 -0
- package/.local/skills/media-generation/video_generation.md +82 -0
- package/.local/skills/mockup-extract/.fingerprint +1 -0
- package/.local/skills/mockup-extract/SKILL.md +123 -0
- package/.local/skills/mockup-graduate/.fingerprint +1 -0
- package/.local/skills/mockup-graduate/SKILL.md +97 -0
- package/.local/skills/mockup-sandbox/.fingerprint +1 -0
- package/.local/skills/mockup-sandbox/SKILL.md +750 -0
- package/.local/skills/package-management/.fingerprint +1 -0
- package/.local/skills/package-management/SKILL.md +264 -0
- package/.local/skills/post_merge_setup/.fingerprint +1 -0
- package/.local/skills/post_merge_setup/SKILL.md +102 -0
- package/.local/skills/project_tasks/.fingerprint +1 -0
- package/.local/skills/project_tasks/SKILL.md +361 -0
- package/.local/skills/query-integration-data/.fingerprint +1 -0
- package/.local/skills/query-integration-data/SKILL.md +385 -0
- package/.local/skills/react-vite/.fingerprint +1 -0
- package/.local/skills/react-vite/SKILL.md +110 -0
- package/.local/skills/react-vite/references/frontend_general_rules.md +66 -0
- package/.local/skills/react-vite/references/seo.md +158 -0
- package/.local/skills/remove-image-background/.fingerprint +1 -0
- package/.local/skills/remove-image-background/SKILL.md +55 -0
- package/.local/skills/repl_setup/.fingerprint +1 -0
- package/.local/skills/repl_setup/SKILL.md +90 -0
- package/.local/skills/repl_setup/references/angular.md +103 -0
- package/.local/skills/repl_setup/references/react_vite.md +121 -0
- package/.local/skills/repl_setup/references/vue.md +102 -0
- package/.local/skills/replit-docs/.fingerprint +1 -0
- package/.local/skills/replit-docs/SKILL.md +81 -0
- package/.local/skills/revenuecat/.fingerprint +1 -0
- package/.local/skills/revenuecat/SKILL.md +133 -0
- package/.local/skills/revenuecat/references/initial-setup.md +566 -0
- package/.local/skills/revenuecat/references/replit-revenuecat-sdk-docs.md +279 -0
- package/.local/skills/revenuecat/references/subsequent-management.md +63 -0
- package/.local/skills/security_scan/.fingerprint +1 -0
- package/.local/skills/security_scan/SKILL.md +51 -0
- package/.local/skills/skill-authoring/.fingerprint +1 -0
- package/.local/skills/skill-authoring/SKILL.md +99 -0
- package/.local/skills/slides/.fingerprint +1 -0
- package/.local/skills/slides/SKILL.md +523 -0
- package/.local/skills/slides/references/brand_research.md +86 -0
- package/.local/skills/slides/references/export_failures.md +36 -0
- package/.local/skills/slides/references/exporting.md +49 -0
- package/.local/skills/slides/references/importing.md +40 -0
- package/.local/skills/slides/references/visual_qa.md +121 -0
- package/.local/skills/slides/templates/90s-board-deck.md +285 -0
- package/.local/skills/slides/templates/academic-lecture.md +437 -0
- package/.local/skills/slides/templates/adventure-outdoor.md +845 -0
- package/.local/skills/slides/templates/analytics-dashboard.md +407 -0
- package/.local/skills/slides/templates/annual-report-cover.md +592 -0
- package/.local/skills/slides/templates/apple-minimal.md +570 -0
- package/.local/skills/slides/templates/architecture-studio.md +339 -0
- package/.local/skills/slides/templates/arctic-expedition.md +582 -0
- package/.local/skills/slides/templates/arctic-minimal.md +364 -0
- package/.local/skills/slides/templates/art-deco.md +308 -0
- package/.local/skills/slides/templates/artisan-ceramics.md +659 -0
- package/.local/skills/slides/templates/artisan-food.md +709 -0
- package/.local/skills/slides/templates/artisanal-chalkboard.md +623 -0
- package/.local/skills/slides/templates/astronomy-log.md +562 -0
- package/.local/skills/slides/templates/aurora-expedition.md +754 -0
- package/.local/skills/slides/templates/automotive-electric.md +339 -0
- package/.local/skills/slides/templates/bauhaus-avant-garde.md +443 -0
- package/.local/skills/slides/templates/bioluminescent-sea.md +814 -0
- package/.local/skills/slides/templates/biophilic-urban.md +565 -0
- package/.local/skills/slides/templates/blackboard-chalk.md +517 -0
- package/.local/skills/slides/templates/blueprint.md +478 -0
- package/.local/skills/slides/templates/botanical-index.md +822 -0
- package/.local/skills/slides/templates/botanical-wellness.md +611 -0
- package/.local/skills/slides/templates/brand-book-page.md +466 -0
- package/.local/skills/slides/templates/brutalist-concrete.md +362 -0
- package/.local/skills/slides/templates/brutalist-studio.md +325 -0
- package/.local/skills/slides/templates/brutalist-web-punk.md +591 -0
- package/.local/skills/slides/templates/celestial-observatory.md +453 -0
- package/.local/skills/slides/templates/ceramics-artisan.md +740 -0
- package/.local/skills/slides/templates/cinema-verite.md +415 -0
- package/.local/skills/slides/templates/claymorphism.md +737 -0
- package/.local/skills/slides/templates/collage-zine.md +357 -0
- package/.local/skills/slides/templates/copper-sage.md +325 -0
- package/.local/skills/slides/templates/coral-reef.md +508 -0
- package/.local/skills/slides/templates/corporate-grid.md +331 -0
- package/.local/skills/slides/templates/corporate-memphis-flat.md +938 -0
- package/.local/skills/slides/templates/cosmos-explorer.md +998 -0
- package/.local/skills/slides/templates/cpg-coffee.md +850 -0
- package/.local/skills/slides/templates/craft-coffee-roast.md +693 -0
- package/.local/skills/slides/templates/creative-agency.md +244 -0
- package/.local/skills/slides/templates/creative-director.md +875 -0
- package/.local/skills/slides/templates/culinary-brand.md +698 -0
- package/.local/skills/slides/templates/de-stijl-construct.md +320 -0
- package/.local/skills/slides/templates/desert-dunes-photo.md +483 -0
- package/.local/skills/slides/templates/desert-mirror.md +577 -0
- package/.local/skills/slides/templates/desert-modernism.md +439 -0
- package/.local/skills/slides/templates/developer-api-docs.md +654 -0
- package/.local/skills/slides/templates/editorial-magazine.md +694 -0
- package/.local/skills/slides/templates/engineering-blueprint.md +730 -0
- package/.local/skills/slides/templates/executive-mono.md +363 -0
- package/.local/skills/slides/templates/expedition-peak.md +298 -0
- package/.local/skills/slides/templates/fashion-campaign.md +681 -0
- package/.local/skills/slides/templates/fashion-editorial.md +497 -0
- package/.local/skills/slides/templates/figma-geometric.md +420 -0
- package/.local/skills/slides/templates/film-noir.md +857 -0
- package/.local/skills/slides/templates/fitness-athletics.md +663 -0
- package/.local/skills/slides/templates/flat-vector.md +912 -0
- package/.local/skills/slides/templates/fluid-luxe.md +665 -0
- package/.local/skills/slides/templates/furniture-brand.md +505 -0
- package/.local/skills/slides/templates/gallery-modern.md +436 -0
- package/.local/skills/slides/templates/gaming-esports.md +410 -0
- package/.local/skills/slides/templates/geodesic-future.md +368 -0
- package/.local/skills/slides/templates/glass-artisan.md +666 -0
- package/.local/skills/slides/templates/glassmorphism.md +320 -0
- package/.local/skills/slides/templates/greenhouse-botanical.md +662 -0
- package/.local/skills/slides/templates/healthcare-clarity.md +468 -0
- package/.local/skills/slides/templates/holographic-drop.md +663 -0
- package/.local/skills/slides/templates/hospitality-resort.md +608 -0
- package/.local/skills/slides/templates/hypercar-launch.md +557 -0
- package/.local/skills/slides/templates/infographic-title.md +306 -0
- package/.local/skills/slides/templates/ink-wash.md +244 -0
- package/.local/skills/slides/templates/investor-memo.md +509 -0
- package/.local/skills/slides/templates/isometric-data.md +703 -0
- package/.local/skills/slides/templates/ivory-boardroom.md +439 -0
- package/.local/skills/slides/templates/japanese-minimal.md +308 -0
- package/.local/skills/slides/templates/jazz-blue-note.md +478 -0
- package/.local/skills/slides/templates/kinetic-type.md +206 -0
- package/.local/skills/slides/templates/lagoon-luxury.md +320 -0
- package/.local/skills/slides/templates/lavender-pastoral.md +577 -0
- package/.local/skills/slides/templates/linear-precise.md +460 -0
- package/.local/skills/slides/templates/lineart-sketch.md +930 -0
- package/.local/skills/slides/templates/lost-temple.md +689 -0
- package/.local/skills/slides/templates/luxury-fashion.md +269 -0
- package/.local/skills/slides/templates/luxury-watch.md +678 -0
- package/.local/skills/slides/templates/marble-elegance.md +673 -0
- package/.local/skills/slides/templates/mediterranean-travel.md +811 -0
- package/.local/skills/slides/templates/memphis-design.md +426 -0
- package/.local/skills/slides/templates/midnight-jazz.md +260 -0
- package/.local/skills/slides/templates/minimalist-poster.md +538 -0
- package/.local/skills/slides/templates/molten-craft.md +743 -0
- package/.local/skills/slides/templates/moroccan-tile.md +738 -0
- package/.local/skills/slides/templates/motorsport.md +782 -0
- package/.local/skills/slides/templates/mountain-drift.md +311 -0
- package/.local/skills/slides/templates/music-label.md +641 -0
- package/.local/skills/slides/templates/neo-tokyo.md +637 -0
- package/.local/skills/slides/templates/neobrutalism.md +334 -0
- package/.local/skills/slides/templates/newspaper-broadsheet.md +687 -0
- package/.local/skills/slides/templates/noir-fragrance.md +672 -0
- package/.local/skills/slides/templates/non-profit-impact.md +320 -0
- package/.local/skills/slides/templates/ocean-breeze.md +398 -0
- package/.local/skills/slides/templates/origami-couture.md +636 -0
- package/.local/skills/slides/templates/origami-paper.md +308 -0
- package/.local/skills/slides/templates/pastel-playground.md +1114 -0
- package/.local/skills/slides/templates/perfume-noir.md +646 -0
- package/.local/skills/slides/templates/prairie-storm.md +625 -0
- package/.local/skills/slides/templates/private-equity-dark.md +506 -0
- package/.local/skills/slides/templates/renaissance-florals.md +225 -0
- package/.local/skills/slides/templates/retro-print.md +880 -0
- package/.local/skills/slides/templates/retro-vinyl-sleeve.md +229 -0
- package/.local/skills/slides/templates/riso-zine.md +1094 -0
- package/.local/skills/slides/templates/risograph.md +1151 -0
- package/.local/skills/slides/templates/saas-product-launch.md +972 -0
- package/.local/skills/slides/templates/scandinavian.md +372 -0
- package/.local/skills/slides/templates/skater-culture.md +583 -0
- package/.local/skills/slides/templates/slate-modern.md +469 -0
- package/.local/skills/slides/templates/sneaker-drop.md +1006 -0
- package/.local/skills/slides/templates/social-campaign.md +321 -0
- package/.local/skills/slides/templates/stained-glass.md +574 -0
- package/.local/skills/slides/templates/strategy-one-pager.md +508 -0
- package/.local/skills/slides/templates/street-drop.md +677 -0
- package/.local/skills/slides/templates/street-mural.md +588 -0
- package/.local/skills/slides/templates/studio-noir.md +466 -0
- package/.local/skills/slides/templates/sustainability-esg.md +686 -0
- package/.local/skills/slides/templates/swiss-archive.md +648 -0
- package/.local/skills/slides/templates/swiss-typographic.md +364 -0
- package/.local/skills/slides/templates/tea-ceremony.md +456 -0
- package/.local/skills/slides/templates/tech-earbuds.md +870 -0
- package/.local/skills/slides/templates/terracotta-studio.md +235 -0
- package/.local/skills/slides/templates/thesis-defense.md +390 -0
- package/.local/skills/slides/templates/travel-aerial.md +648 -0
- package/.local/skills/slides/templates/treasury-policy.md +475 -0
- package/.local/skills/slides/templates/tropical-lush.md +332 -0
- package/.local/skills/slides/templates/underwater-dream.md +627 -0
- package/.local/skills/slides/templates/urban-golden.md +342 -0
- package/.local/skills/slides/templates/vintage-apothecary.md +552 -0
- package/.local/skills/slides/templates/vintage-ticket-stub.md +637 -0
- package/.local/skills/slides/templates/vinyl-crate.md +550 -0
- package/.local/skills/slides/templates/vision-editorial.md +612 -0
- package/.local/skills/slides/templates/volcanic-edge.md +347 -0
- package/.local/skills/slides/templates/watercolor-city.md +827 -0
- package/.local/skills/slides/templates/wine-spirits.md +203 -0
- package/.local/skills/slides/templates/wireframe-prototype.md +718 -0
- package/.local/skills/slides/templates/workspace-design.md +782 -0
- package/.local/skills/slides/templates/workspace-modern.md +406 -0
- package/.local/skills/slides/templates/zen-meditation.md +284 -0
- package/.local/skills/slides/templates/zen-void.md +244 -0
- package/.local/skills/stripe/.fingerprint +1 -0
- package/.local/skills/stripe/SKILL.md +455 -0
- package/.local/skills/stripe/references/code-templates.md +588 -0
- package/.local/skills/threat_modeling/.fingerprint +1 -0
- package/.local/skills/threat_modeling/SKILL.md +240 -0
- package/.local/skills/validation/.fingerprint +1 -0
- package/.local/skills/validation/SKILL.md +237 -0
- package/.local/skills/video-js/.fingerprint +1 -0
- package/.local/skills/video-js/SKILL.md +793 -0
- package/.local/skills/video-js/references/audio.md +237 -0
- package/.local/skills/video-js/references/finalize_playback.md +16 -0
- package/.local/skills/video-js/references/first_build.md +87 -0
- package/.local/skills/video-js/references/scene_selectors.md +428 -0
- package/.local/skills/web-search/.fingerprint +1 -0
- package/.local/skills/web-search/SKILL.md +110 -0
- package/.local/skills/whop/.fingerprint +1 -0
- package/.local/skills/whop/SKILL.md +104 -0
- package/.local/skills/whop/references/code-templates.md +66 -0
- package/.local/skills/whop/references/whop-api.mjs +22 -0
- package/.local/skills/whop/references/whop-mcp.mjs +40 -0
- package/.local/skills/whop/references/whopClient.ts +54 -0
- package/.local/skills/workflows/.fingerprint +1 -0
- package/.local/skills/workflows/SKILL.md +245 -0
- package/.local/state/replit/agent/.agent_state_037313043e76b5c652f276153ea014a68570e145.bin +0 -0
- package/.local/state/replit/agent/.agent_state_0f5361c2a53ab324b2a941a797f6494891be084c.bin +0 -0
- package/.local/state/replit/agent/.agent_state_4272443827dc90eac8c5b1963a34ee86da70bb99.bin +0 -0
- package/.local/state/replit/agent/.agent_state_4f14655950cbd611b228b4f0e1f664b66a56af24.bin +0 -0
- package/.local/state/replit/agent/.agent_state_ce28955a30856aa3d095b3568c322c8ec098993f.bin +0 -0
- package/.local/state/replit/agent/.agent_state_ec5347d04ebfbf6cf850fe04e15590d423e96d1d.bin +0 -0
- package/.local/state/replit/agent/.agent_state_f68f8c104d815ccc387290f0fba2c87c818d29f1.bin +0 -0
- package/.local/state/replit/agent/.agent_state_f87c1803a179510408c57c7a380c26f5c2197a30.bin +0 -0
- package/.local/state/replit/agent/.agent_state_main.bin +0 -0
- package/.local/state/replit/agent/.latest.json +1 -0
- package/.local/state/replit/agent/repl_state.bin +0 -0
- package/.local/state/scribe/scribe.db +0 -0
- package/.local/state/scribe/scribe.db-shm +0 -0
- package/.local/state/scribe/scribe.db-wal +0 -0
- package/.local/state/workflow-logs/2tfQP52ibxJTy4lpZ7_JX/start_application.shell.exec.0 +27 -0
- package/.local/state/workflow-logs/6QjtmQThaHrR_QHf4v8HA/validation.external.managed.0 +31 -0
- package/.local/state/workflow-logs/6QjtmQThaHrR_QHf4v8HA/validation.json +1 -0
- package/.local/state/workflow-logs/85n-z_SHy4JSGaUeJIcxy/start_application.shell.exec.0 +18 -0
- package/.local/state/workflow-logs/GIL2Ql5124lrEqGrfRO4k/start_application.shell.exec.0 +222 -0
- package/.local/state/workflow-logs/LiH2MjG_9FwFummNHhDtO/validation.external.managed.0 +45 -0
- package/.local/state/workflow-logs/LiH2MjG_9FwFummNHhDtO/validation.json +1 -0
- package/.local/state/workflow-logs/OKp1t-fEO5U_zQi1SKOQ-/start_application.shell.exec.0 +10 -0
- package/.local/state/workflow-logs/Tpp7d6Hu6CO1NKGo_eAi7/validation.external.managed.0 +43 -0
- package/.local/state/workflow-logs/Tpp7d6Hu6CO1NKGo_eAi7/validation.json +1 -0
- package/.local/state/workflow-logs/UDYycRqPV-N4B7whZP-yX/start_application.shell.exec.0 +252 -0
- package/.local/state/workflow-logs/V8Anmvz-HuvAztflZ8yCo/start_application.shell.exec.0 +87 -0
- package/.local/state/workflow-logs/a5fMnjr9tCwoaFY93pYuN/start_application.shell.exec.0 +2519 -0
- package/.local/state/workflow-logs/ggFzYcdHfIlW0owP2pb0U/start_application.shell.exec.0 +28 -0
- package/.local/state/workflow-logs/hIHNKfUtPX3jZs8qXw_Vt/validation.external.managed.0 +41 -0
- package/.local/state/workflow-logs/hIHNKfUtPX3jZs8qXw_Vt/validation.json +1 -0
- package/.local/state/workflow-logs/nbLvtuGJXB0wPmnruB3BE/start_application.shell.exec.0 +199 -0
- package/.local/state/workflow-logs/uDhN6S0ypUEh0MphXaFGY/start_application.shell.exec.0 +73 -0
- package/.local/state/workflow-logs/xZqU5CdTivcY6KEDEcVmD/start_application.shell.exec.0 +17 -0
- package/.local/tasks/breadcrumb-component.md +89 -0
- package/.local/tasks/calendar-component.md +93 -0
- package/.local/tasks/invoicing-design-system-app.md +39 -0
- package/.local/tasks/task-1.md +42 -0
- package/.local/tasks/task-7.md +92 -0
- package/.local/tasks/task-8.md +96 -0
- package/.replit +34 -0
- package/.upm/store.json +1 -0
- package/README.md +121 -0
- package/app/dashboard/page.tsx +10 -0
- package/app/design-system/page.tsx +802 -0
- package/app/invoices/page.tsx +10 -0
- package/app/layout.tsx +28 -0
- package/app/login/page.tsx +5 -0
- package/app/page.tsx +93 -0
- package/app/signup/page.tsx +5 -0
- package/attached_assets/Colors_1779781016394.png +0 -0
- package/attached_assets/Navy_1779781016404.png +0 -0
- package/attached_assets/Orange_1779781016405.png +0 -0
- package/attached_assets/Screenshot_2026-05-26_at_1.14.29_PM_1779781472515.png +0 -0
- package/attached_assets/Screenshot_2026-05-26_at_11.28.20_AM_1779775171071.png +0 -0
- package/attached_assets/Screenshot_2026-05-26_at_2.04.42_PM_1779784485318.png +0 -0
- package/attached_assets/Typography_1779781016406.png +0 -0
- package/design-system/components/avatar.tsx +46 -0
- package/design-system/components/badge.tsx +34 -0
- package/design-system/components/breadcrumb.tsx +149 -0
- package/design-system/components/button.tsx +57 -0
- package/design-system/components/calendar.tsx +77 -0
- package/design-system/components/card.tsx +62 -0
- package/design-system/components/checkbox.tsx +27 -0
- package/design-system/components/date-picker.tsx +153 -0
- package/design-system/components/dialog.tsx +106 -0
- package/design-system/components/dropdown-menu.tsx +88 -0
- package/design-system/components/form-field.tsx +78 -0
- package/design-system/components/input.tsx +25 -0
- package/design-system/components/label.tsx +25 -0
- package/design-system/components/popover.tsx +30 -0
- package/design-system/components/radio-group.tsx +35 -0
- package/design-system/components/select.tsx +84 -0
- package/design-system/components/separator.tsx +24 -0
- package/design-system/components/switch.tsx +28 -0
- package/design-system/components/table.tsx +80 -0
- package/design-system/components/tabs.tsx +54 -0
- package/design-system/components/textarea.tsx +25 -0
- package/design-system/components/toast.tsx +118 -0
- package/design-system/components/toaster.tsx +38 -0
- package/design-system/components/tooltip.tsx +27 -0
- package/design-system/hooks/index.ts +2 -0
- package/design-system/hooks/use-media-query.ts +27 -0
- package/design-system/hooks/use-toast.ts +91 -0
- package/design-system/index.ts +36 -0
- package/design-system/lib/cn.ts +6 -0
- package/design-system/styles.css +142 -0
- package/design-system/tokens/tokens.css +149 -0
- package/design-system/tokens/tokens.ts +190 -0
- package/next.config.mjs +6 -0
- package/package.json +46 -0
- package/postcss.config.mjs +6 -0
- package/screens/_shared/app-shell.tsx +145 -0
- package/screens/auth/auth-screen.tsx +156 -0
- package/screens/dashboard/dashboard-screen.tsx +207 -0
- package/screens/index.ts +17 -0
- package/screens/invoices/invoices-screen.tsx +317 -0
- package/tailwind.config.ts +110 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Invoicing design system & screens (Next.js + shadcn)
|
|
3
|
+
---
|
|
4
|
+
### Invoicing Design System & Screens (Next.js + shadcn)
|
|
5
|
+
|
|
6
|
+
## What & Why
|
|
7
|
+
Scaffold a Next.js + TypeScript project for the UI/UX designer to define the design system, breakpoints, shadcn-based components, and final invoicing screens (Dashboard, Invoices list, Auth). The codebase is structured so the design system lives in an internal folder that can later be extracted and published as an npm package, while final screens stay in this repo for developers to pull via GitHub. Frontend-only — no Next.js server features (API routes, server actions, server-only data fetching) will be used.
|
|
8
|
+
|
|
9
|
+
## Done looks like
|
|
10
|
+
- A running Next.js (App Router) + TypeScript app the designer can open and navigate.
|
|
11
|
+
- A `design-system/` folder containing:
|
|
12
|
+
- Design tokens (colors, typography, spacing, radii, shadows) in a "Modern SaaS — subtle color accents, rounded, friendly" direction.
|
|
13
|
+
- Defined responsive breakpoints (mobile / tablet / desktop / wide) used consistently via Tailwind.
|
|
14
|
+
- shadcn/ui set up and themed so all shadcn components inherit the custom look.
|
|
15
|
+
- A baseline set of components (Button, Input, Select, Textarea, Checkbox, Radio, Switch, Badge, Card, Avatar, Dialog, DropdownMenu, Tabs, Table, Toast, Tooltip, Form fields).
|
|
16
|
+
- A `/design-system` route in the app that previews tokens, breakpoints, and every component with their variants/states (a living styleguide).
|
|
17
|
+
- Folder structure that keeps the design system self-contained (no imports from screens into it) so it can be lifted into its own npm package later with minimal changes.
|
|
18
|
+
- Final invoicing screens implemented as pure client components consuming the design system:
|
|
19
|
+
- Dashboard (KPIs, recent activity, charts placeholders)
|
|
20
|
+
- Invoices list (filterable/sortable table with status badges, pagination)
|
|
21
|
+
- Auth — Login and Signup screens
|
|
22
|
+
- Screens are consumable by downstream developers in both a Next.js app and a plain TypeScript/React app (no Next.js-only APIs such as `next/headers`, server components with server data, or route handlers used inside screens — `next/link` and `next/image` are wrapped or kept optional).
|
|
23
|
+
- A short README explaining: how to run the app, where the design system lives, how it will be extracted to npm later, and how to consume the screens from the repo.
|
|
24
|
+
|
|
25
|
+
## Out of scope
|
|
26
|
+
- Publishing the npm package now (structure-only; publishing happens later).
|
|
27
|
+
- Backend, database, auth logic, or real API integration — screens use mock/static data.
|
|
28
|
+
- Remaining screens (Invoice detail, Create/edit, Clients, Products, Payments, Settings) — can be added in follow-up tasks.
|
|
29
|
+
- Monorepo / pnpm workspace setup (explicitly rejected — single app with internal folder).
|
|
30
|
+
- Storybook (the `/design-system` preview route serves this role for now).
|
|
31
|
+
|
|
32
|
+
## Steps
|
|
33
|
+
1. **Project scaffold** — Create a Next.js App Router project with TypeScript, Tailwind CSS, ESLint, and strict mode. Configure it as a frontend-only app (no API routes, no server data fetching in screens).
|
|
34
|
+
2. **shadcn/ui setup** — Initialize shadcn/ui with a custom theme that reflects the Modern SaaS direction (rounded radii, subtle accent color, friendly typography). Add the baseline components listed above.
|
|
35
|
+
3. **Design tokens & breakpoints** — Define tokens (colors, typography scale, spacing, radii, shadows, z-index) and responsive breakpoints in the Tailwind config and as CSS variables so they're consumable outside Tailwind too.
|
|
36
|
+
4. **Design-system folder structure** — Create a self-contained `design-system/` folder with `tokens/`, `components/`, `hooks/`, `lib/`, and a clean public `index.ts` barrel. Enforce no inbound imports from screens; configure path alias `@ds/*`.
|
|
37
|
+
5. **Styleguide preview route** — Build a `/design-system` route in the app that renders token swatches, breakpoint demos, and every component with all variants and states for the designer to iterate on.
|
|
38
|
+
6. **Invoicing screens** — Build Dashboard, Invoices list, Login, and Signup as client components under `app/(screens)/` consuming only `@ds/*`. Use mock data. Ensure none rely on Next.js server-only APIs so they're portable to a plain React/TS app.
|
|
39
|
+
7. **Portability check & README** — Add a README explaining structure, how to run, the future npm-extraction plan for `design-system/`, and how developers consume the screens. Note any caveats (e.g., `next/link` usage and how to swap it).
|
|
40
|
+
|
|
41
|
+
## Relevant files
|
|
42
|
+
- None yet — this is a greenfield scaffold.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Add Breadcrumb to design system + screens
|
|
3
|
+
---
|
|
4
|
+
# Add Breadcrumb component to design system
|
|
5
|
+
|
|
6
|
+
## What & Why
|
|
7
|
+
Add the shadcn `Breadcrumb` component to the `design-system/` package so screens can
|
|
8
|
+
show navigation trails. It must follow the same architectural conventions as the
|
|
9
|
+
other DS components (semantic tokens only, typed props, exported through the
|
|
10
|
+
top-level barrel) so it ships cleanly when the package is extracted to npm.
|
|
11
|
+
Demonstrate it on the Dashboard and Invoices screens.
|
|
12
|
+
|
|
13
|
+
## Done looks like
|
|
14
|
+
- A new "Breadcrumbs" section appears in `/design-system` showing: a default
|
|
15
|
+
breadcrumb, a breadcrumb with a custom separator (e.g. dot), a truncated
|
|
16
|
+
breadcrumb using `BreadcrumbEllipsis`, and a breadcrumb where the current page
|
|
17
|
+
is a dropdown trigger.
|
|
18
|
+
- The Dashboard screen renders `Home / Dashboard` above its page title.
|
|
19
|
+
- The Invoices screen renders `Home / Invoices` above its page title (and the
|
|
20
|
+
invoice-detail variant, if one exists, renders `Home / Invoices / INV-xxxx`).
|
|
21
|
+
- Importing from `@ds` (the barrel) exposes all breadcrumb parts:
|
|
22
|
+
`Breadcrumb`, `BreadcrumbList`, `BreadcrumbItem`, `BreadcrumbLink`,
|
|
23
|
+
`BreadcrumbPage`, `BreadcrumbSeparator`, `BreadcrumbEllipsis`.
|
|
24
|
+
- Hover, current-page, focus-visible, and chevron colors all resolve through
|
|
25
|
+
semantic tokens (`text-muted-foreground`, `text-foreground`, `ring`, etc.) —
|
|
26
|
+
no hex/HSL literals in the component file.
|
|
27
|
+
- Typography uses the existing semantic scale (`text-body-sm` for the trail,
|
|
28
|
+
`text-body-md-em` or equivalent for the current page) rather than raw
|
|
29
|
+
Tailwind sizes.
|
|
30
|
+
- `npm run build` and `npm run lint` pass.
|
|
31
|
+
|
|
32
|
+
## Out of scope
|
|
33
|
+
- A router-aware "auto-breadcrumb from pathname" helper. Screens declare their
|
|
34
|
+
own trail explicitly.
|
|
35
|
+
- Mobile-specific drawer/sheet variant from the shadcn responsive example.
|
|
36
|
+
- Any change to the existing palette / typography / spacing tokens.
|
|
37
|
+
|
|
38
|
+
## Steps
|
|
39
|
+
1. **Add the component file** — Port the official shadcn `breadcrumb.tsx` as a
|
|
40
|
+
new file in `design-system/components/`. Replace any raw Tailwind text-size
|
|
41
|
+
classes with the project's semantic typography classes; ensure every color
|
|
42
|
+
class is a semantic token (no hex/HSL). Use the same `forwardRef` + named
|
|
43
|
+
`displayName` pattern as the sibling components and the project's `cn`
|
|
44
|
+
helper from `design-system/lib/cn`. Add a small `cva` variants block only if
|
|
45
|
+
a real second variant is needed (e.g. `size: "sm" | "md"` for compact vs
|
|
46
|
+
default density) — otherwise keep it variant-free, like `Separator`.
|
|
47
|
+
Export every part plus any `*Props` types.
|
|
48
|
+
2. **Wire the barrel export** — Add the new component to
|
|
49
|
+
`design-system/index.ts` so `@ds` consumers get it without reaching into
|
|
50
|
+
sub-paths.
|
|
51
|
+
3. **Add styleguide preview** — Add a `Breadcrumbs` section to the design-system
|
|
52
|
+
page (and a nav chip linking to it) showing the four states listed in "Done
|
|
53
|
+
looks like". Each example should be wrapped in a card body, like the other
|
|
54
|
+
sections.
|
|
55
|
+
4. **Use it on the screens** — Render a breadcrumb above the page title on the
|
|
56
|
+
Dashboard and Invoices screens. Use `next/link` via `asChild` so the
|
|
57
|
+
breadcrumb links participate in Next.js client-side navigation.
|
|
58
|
+
5. **Verify** — Run `npm run lint` and `npm run build`; visually confirm the
|
|
59
|
+
styleguide section and both screens.
|
|
60
|
+
|
|
61
|
+
### Token / file impact (so the user knows where edits land)
|
|
62
|
+
- **New component file:** `design-system/components/breadcrumb.tsx`
|
|
63
|
+
- **Barrel export:** `design-system/index.ts`
|
|
64
|
+
- **Styleguide preview:** `app/design-system/page.tsx` (new section + nav chip)
|
|
65
|
+
- **Screen usage:** `screens/dashboard/dashboard-screen.tsx`,
|
|
66
|
+
`screens/invoices/invoices-screen.tsx` (or sibling header components if the
|
|
67
|
+
screens delegate their headers)
|
|
68
|
+
- **Tokens — no change expected:** `design-system/tokens/tokens.ts`,
|
|
69
|
+
`design-system/tokens/tokens.css` should NOT be touched. The breadcrumb
|
|
70
|
+
consumes existing semantic roles (`muted-foreground`, `foreground`,
|
|
71
|
+
`accent`, `ring`).
|
|
72
|
+
- **Global CSS — no change expected:** `design-system/styles.css` should NOT
|
|
73
|
+
be touched. All typography is via existing `.text-body-sm` /
|
|
74
|
+
`.text-body-md-em` classes already defined there.
|
|
75
|
+
- If a real need surfaces during implementation (e.g. a separator-color role
|
|
76
|
+
that doesn't exist), add a new semantic token in `tokens.css` + `tokens.ts`
|
|
77
|
+
rather than hardcoding, and call it out in the merge summary.
|
|
78
|
+
|
|
79
|
+
## Relevant files
|
|
80
|
+
- `design-system/components/separator.tsx`
|
|
81
|
+
- `design-system/components/button.tsx`
|
|
82
|
+
- `design-system/components/tabs.tsx`
|
|
83
|
+
- `design-system/index.ts`
|
|
84
|
+
- `design-system/lib/cn.ts`
|
|
85
|
+
- `design-system/styles.css`
|
|
86
|
+
- `design-system/tokens/tokens.css`
|
|
87
|
+
- `app/design-system/page.tsx`
|
|
88
|
+
- `screens/dashboard/dashboard-screen.tsx`
|
|
89
|
+
- `screens/invoices/invoices-screen.tsx`
|
|
90
|
+
- `app/dashboard/page.tsx`
|
|
91
|
+
- `app/invoices/page.tsx`
|
|
92
|
+
- `package.json`
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Add Calendar (single + range date picker) to design system + screens
|
|
3
|
+
---
|
|
4
|
+
# Add Calendar (date picker) to design system + screens
|
|
5
|
+
|
|
6
|
+
## What & Why
|
|
7
|
+
The design system has no date input yet. The user wants a shadcn-based
|
|
8
|
+
Calendar component that supports both single-date and date-range selection,
|
|
9
|
+
uses only semantic tokens (so it themes for free in dark mode and can be
|
|
10
|
+
extracted to npm without refactor), and is wired into the Dashboard and
|
|
11
|
+
Invoices screens so the designer can see it in context.
|
|
12
|
+
|
|
13
|
+
## Scope
|
|
14
|
+
1. **Dependencies** — install `react-day-picker@^8` and `date-fns@^3`
|
|
15
|
+
(peer of react-day-picker). No other deps.
|
|
16
|
+
2. **New DS primitive** — `design-system/components/calendar.tsx`, ported
|
|
17
|
+
from the official shadcn Calendar:
|
|
18
|
+
- `"use client"` directive (uses React state internally).
|
|
19
|
+
- Wraps `DayPicker` from `react-day-picker`.
|
|
20
|
+
- `forwardRef` + `displayName`, `cn` from `design-system/lib/cn`.
|
|
21
|
+
- **Semantic tokens only** — `bg-background`, `text-foreground`,
|
|
22
|
+
`bg-primary`, `text-primary-foreground`, `bg-muted`,
|
|
23
|
+
`text-muted-foreground`, `border-border`, `ring-ring`,
|
|
24
|
+
`bg-popover`, `text-popover-foreground`, `bg-accent`,
|
|
25
|
+
`text-accent-foreground`. **No hex / no HSL literals.**
|
|
26
|
+
- Uses existing `buttonVariants({ variant: "outline" / "ghost" })`
|
|
27
|
+
for nav + day cells so day-picker theming follows the Button.
|
|
28
|
+
- Exports `Calendar` plus `CalendarProps` (mirrors
|
|
29
|
+
`React.ComponentProps<typeof DayPicker>` so both `mode="single"`
|
|
30
|
+
and `mode="range"` work via discriminated union).
|
|
31
|
+
3. **New DS composite** — `design-system/components/date-picker.tsx`:
|
|
32
|
+
- Popover-style trigger (uses existing `Button` + existing
|
|
33
|
+
`dropdown-menu` patterns OR a thin Popover; if a Popover primitive
|
|
34
|
+
doesn't exist yet, add `design-system/components/popover.tsx`
|
|
35
|
+
based on `@radix-ui/react-popover`).
|
|
36
|
+
- Two thin wrappers exported: `DatePicker` (single) and
|
|
37
|
+
`DateRangePicker` (range), both controlled + uncontrolled,
|
|
38
|
+
typed with `Date | undefined` and `DateRange | undefined`
|
|
39
|
+
respectively.
|
|
40
|
+
- Trigger renders formatted value via `date-fns/format` (`"LLL d, y"`
|
|
41
|
+
single; `"LLL d"` – `"LLL d, y"` range).
|
|
42
|
+
4. **Barrel** — add `calendar`, `date-picker`, and (if added) `popover`
|
|
43
|
+
to `design-system/index.ts`.
|
|
44
|
+
5. **Styleguide** — new `Calendar` section + nav chip in
|
|
45
|
+
`app/design-system/page.tsx` with four examples: single inline,
|
|
46
|
+
range inline, single via `DatePicker` trigger, range via
|
|
47
|
+
`DateRangePicker` trigger. Use semantic typography classes
|
|
48
|
+
(`text-body-md`, `text-body-sm`) for any helper copy.
|
|
49
|
+
6. **Dashboard screen** — replace the static `7d / 30d / 90d` Tabs in
|
|
50
|
+
`screens/dashboard/dashboard-screen.tsx` with a `DateRangePicker`
|
|
51
|
+
(default = last 30 days). Keep the existing `New invoice` button next
|
|
52
|
+
to it. KPI/chart copy can stay static.
|
|
53
|
+
7. **Invoices screen** — add a `DateRangePicker` to the filter bar in
|
|
54
|
+
`screens/invoices/invoices-screen.tsx`, alongside the existing
|
|
55
|
+
search + status select. Wire it to filter the `allInvoices` array
|
|
56
|
+
by `issued` (compare via `date-fns`; treat the existing
|
|
57
|
+
"May 22" / "Jun 21" strings by parsing with current year — keep
|
|
58
|
+
the in-memory model the simplest change).
|
|
59
|
+
|
|
60
|
+
## Out of scope
|
|
61
|
+
- Time picker / clock.
|
|
62
|
+
- Localisation beyond default (`en-US`).
|
|
63
|
+
- Touching `tokens.ts` / `tokens.css` / `styles.css` (semantic vars
|
|
64
|
+
already cover everything Calendar needs).
|
|
65
|
+
- Anything related to npm packaging (covered by #5 / #6).
|
|
66
|
+
|
|
67
|
+
## Constraints
|
|
68
|
+
- Components must keep zero hex / HSL literals — designer rule.
|
|
69
|
+
- All new files live under `design-system/` so future npm extraction
|
|
70
|
+
is a folder move, no refactor.
|
|
71
|
+
- Dark mode must work via the existing `.dark` class on `<html>` —
|
|
72
|
+
verified by toggling and inspecting the rendered calendar.
|
|
73
|
+
|
|
74
|
+
## Acceptance
|
|
75
|
+
- `/design-system` page shows the new `Calendar` section with all four
|
|
76
|
+
examples and the nav chip.
|
|
77
|
+
- Dashboard renders a date-range picker in the header; clicking it
|
|
78
|
+
opens an inline calendar; selecting a range closes the popover and
|
|
79
|
+
shows the formatted range on the trigger.
|
|
80
|
+
- Invoices renders a date-range picker in the filter bar; selecting
|
|
81
|
+
a range filters the table rows accordingly.
|
|
82
|
+
- `npm run lint` passes with no warnings.
|
|
83
|
+
- `npm run build` succeeds.
|
|
84
|
+
- No new hex / HSL appears under `design-system/` or `screens/`
|
|
85
|
+
(grep clean).
|
|
86
|
+
|
|
87
|
+
## Relevant files
|
|
88
|
+
- `design-system/components/calendar.tsx` (new)
|
|
89
|
+
- `design-system/components/date-picker.tsx` (new)
|
|
90
|
+
- `design-system/components/popover.tsx` (new — only if not present)
|
|
91
|
+
- `design-system/components/button.tsx` (consumed via `buttonVariants`)
|
|
92
|
+
- `design-system/index.ts`
|
|
93
|
+
- `app/design-system/page.tsx`
|
|
94
|
+
- `screens/dashboard/dashboard-screen.tsx`
|
|
95
|
+
- `screens/invoices/invoices-screen.tsx`
|
|
96
|
+
- `package.json` (deps)
|
package/.replit
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
modules = ["nodejs-20", "python-3.11"]
|
|
2
|
+
[agent]
|
|
3
|
+
expertMode = true
|
|
4
|
+
|
|
5
|
+
[nix]
|
|
6
|
+
channel = "stable-25_05"
|
|
7
|
+
|
|
8
|
+
[workflows]
|
|
9
|
+
runButton = "Project"
|
|
10
|
+
|
|
11
|
+
[[workflows.workflow]]
|
|
12
|
+
name = "Project"
|
|
13
|
+
mode = "parallel"
|
|
14
|
+
author = "agent"
|
|
15
|
+
|
|
16
|
+
[[workflows.workflow.tasks]]
|
|
17
|
+
task = "workflow.run"
|
|
18
|
+
args = "Start application"
|
|
19
|
+
|
|
20
|
+
[[workflows.workflow]]
|
|
21
|
+
name = "Start application"
|
|
22
|
+
author = "agent"
|
|
23
|
+
|
|
24
|
+
[[workflows.workflow.tasks]]
|
|
25
|
+
task = "shell.exec"
|
|
26
|
+
args = "npm run dev"
|
|
27
|
+
waitForPort = 5000
|
|
28
|
+
|
|
29
|
+
[workflows.workflow.metadata]
|
|
30
|
+
outputType = "webview"
|
|
31
|
+
|
|
32
|
+
[[ports]]
|
|
33
|
+
localPort = 5000
|
|
34
|
+
externalPort = 80
|
package/.upm/store.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":2,"languages":{"nodejs-npm":{"specfileHash":"b710899450236d21504df37a57641b09","lockfileHash":"9f7b766224b12209dc6f688819be002a"}}}
|
package/README.md
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Invoicing System — Design Reference
|
|
2
|
+
|
|
3
|
+
A Next.js + TypeScript reference project for the **Invoicing System** initiative.
|
|
4
|
+
It owns the design system, breakpoints, shadcn-based components, and the final
|
|
5
|
+
screens the development team will consume.
|
|
6
|
+
|
|
7
|
+
> Frontend-only. No Next.js server features (API routes, server actions,
|
|
8
|
+
> server-only data fetching) are used. The app exists purely to design, preview,
|
|
9
|
+
> and hand off UI.
|
|
10
|
+
|
|
11
|
+
## Quick start
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install
|
|
15
|
+
npm run dev
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Open <http://localhost:5000>.
|
|
19
|
+
|
|
20
|
+
## Routes
|
|
21
|
+
|
|
22
|
+
| Route | What it is |
|
|
23
|
+
| ----------------- | --------------------------------------------------------------- |
|
|
24
|
+
| `/` | Index of everything in this repo |
|
|
25
|
+
| `/design-system` | Living styleguide — tokens, breakpoints, every component |
|
|
26
|
+
| `/dashboard` | Final screen: dashboard with KPIs, activity, recent invoices |
|
|
27
|
+
| `/invoices` | Final screen: filterable, sortable invoice list with pagination |
|
|
28
|
+
| `/login` | Final screen: login |
|
|
29
|
+
| `/signup` | Final screen: signup |
|
|
30
|
+
|
|
31
|
+
## Repo layout
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
app/ → Next.js App Router (preview pages only)
|
|
35
|
+
design-system/ → THE design system (future npm package)
|
|
36
|
+
tokens/ → Design tokens (TS + CSS variables)
|
|
37
|
+
components/ → shadcn-based components, custom-themed
|
|
38
|
+
lib/ → Utilities (e.g. cn())
|
|
39
|
+
styles.css → Tailwind entry + token import
|
|
40
|
+
index.ts → Public barrel — import only from here
|
|
41
|
+
screens/ → Final invoicing screens (consumed via GitHub)
|
|
42
|
+
_shared/ → Shell layout shared across screens
|
|
43
|
+
dashboard/ → DashboardScreen
|
|
44
|
+
invoices/ → InvoicesScreen
|
|
45
|
+
auth/ → AuthScreen (login + signup)
|
|
46
|
+
index.ts → Public barrel
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Path aliases:
|
|
50
|
+
|
|
51
|
+
- `@ds/*` → `design-system/*`
|
|
52
|
+
- `@screens/*` → `screens/*`
|
|
53
|
+
|
|
54
|
+
## Design system
|
|
55
|
+
|
|
56
|
+
Built on top of **shadcn/ui** primitives (Radix + Tailwind) with a custom
|
|
57
|
+
"Modern SaaS" theme: subtle indigo accent, rounded radii, friendly Inter
|
|
58
|
+
typography. All colors are HSL CSS variables (`--ds-*`), so retinting the
|
|
59
|
+
system requires changing tokens only — no component edits.
|
|
60
|
+
|
|
61
|
+
Breakpoints (Tailwind `screens`):
|
|
62
|
+
|
|
63
|
+
| Token | Min width | Target |
|
|
64
|
+
| ----- | --------- | --------------- |
|
|
65
|
+
| sm | 480px | Large phones |
|
|
66
|
+
| md | 768px | Tablets |
|
|
67
|
+
| lg | 1024px | Small laptops |
|
|
68
|
+
| xl | 1280px | Desktops |
|
|
69
|
+
| 2xl | 1536px | Wide displays |
|
|
70
|
+
|
|
71
|
+
### Future: extract `design-system/` to an npm package
|
|
72
|
+
|
|
73
|
+
The folder is intentionally **self-contained**:
|
|
74
|
+
|
|
75
|
+
- Has its own `tokens/`, `lib/`, `components/`, `styles.css`, and `index.ts`.
|
|
76
|
+
- Has **no inbound imports** from `app/` or `screens/`.
|
|
77
|
+
- Uses only `clsx`, `tailwind-merge`, `class-variance-authority`, `lucide-react`,
|
|
78
|
+
and `@radix-ui/*` — all standard, framework-agnostic.
|
|
79
|
+
|
|
80
|
+
To publish later:
|
|
81
|
+
|
|
82
|
+
1. Move `design-system/` to its own repo (e.g. `@yourteam/invoicing-ui`).
|
|
83
|
+
2. Add a `package.json` with the same Radix / Tailwind peer deps.
|
|
84
|
+
3. Move the matching parts of `tailwind.config.ts` into a preset the consumer
|
|
85
|
+
extends, and ship `styles.css` + `tokens.css` as the CSS entrypoint.
|
|
86
|
+
4. Publish. Consumers do `import { Button } from "@yourteam/invoicing-ui"`.
|
|
87
|
+
|
|
88
|
+
This project consumes the design system via the `@ds/*` alias today — after
|
|
89
|
+
extraction, switching to the published package is a find-and-replace.
|
|
90
|
+
|
|
91
|
+
## Final screens (for developers)
|
|
92
|
+
|
|
93
|
+
The `screens/` folder is what your developers will pull from this GitHub repo.
|
|
94
|
+
Each screen:
|
|
95
|
+
|
|
96
|
+
- Is a **client component** (`"use client"`) with no Next.js server APIs.
|
|
97
|
+
- Imports **only** from `@ds/*`. No imports from `app/` or other framework code.
|
|
98
|
+
- Uses mock/static data — wire it to your real API on consumption.
|
|
99
|
+
|
|
100
|
+
Consumers can drop these into:
|
|
101
|
+
|
|
102
|
+
- A **Next.js + TypeScript** project (just place under `app/` or `pages/` and
|
|
103
|
+
import the screen).
|
|
104
|
+
- A **plain React + TypeScript** project (Vite, CRA, etc.) — the screens have
|
|
105
|
+
no Next-specific dependencies.
|
|
106
|
+
|
|
107
|
+
### Caveat — navigation
|
|
108
|
+
|
|
109
|
+
`AppShell` uses plain `<a>` tags for portability. In a Next.js host, replace
|
|
110
|
+
them with `next/link` if you want client-side navigation. The screens
|
|
111
|
+
themselves (`DashboardScreen`, `InvoicesScreen`, `AuthScreen`) do not contain
|
|
112
|
+
any links that depend on the framework.
|
|
113
|
+
|
|
114
|
+
## Scripts
|
|
115
|
+
|
|
116
|
+
| Script | Description |
|
|
117
|
+
| --------------- | ---------------------------- |
|
|
118
|
+
| `npm run dev` | Start dev server on `:5000` |
|
|
119
|
+
| `npm run build` | Production build |
|
|
120
|
+
| `npm run start` | Run production build |
|
|
121
|
+
| `npm run lint` | Run ESLint |
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppShell } from "@screens/_shared/app-shell";
|
|
2
|
+
import { DashboardScreen } from "@screens/dashboard/dashboard-screen";
|
|
3
|
+
|
|
4
|
+
export default function DashboardPage() {
|
|
5
|
+
return (
|
|
6
|
+
<AppShell activeHref="/dashboard">
|
|
7
|
+
<DashboardScreen />
|
|
8
|
+
</AppShell>
|
|
9
|
+
);
|
|
10
|
+
}
|