@jaimevalasek/aioson 1.4.0 → 1.6.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/CHANGELOG.md +31 -1
- package/LICENSE +661 -21
- package/README.md +9 -1
- package/docs/design-previews/aurora-command-ui-website.html +884 -0
- package/docs/design-previews/aurora-command-ui.html +682 -0
- package/docs/design-previews/bold-editorial-ui-website.html +658 -0
- package/docs/design-previews/bold-editorial-ui.html +717 -0
- package/docs/design-previews/clean-saas-ui-website.html +1202 -0
- package/docs/design-previews/clean-saas-ui.html +549 -0
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
- package/docs/design-previews/cognitive-core-ui.html +463 -0
- package/docs/design-previews/glassmorphism-ui-website.html +572 -0
- package/docs/design-previews/glassmorphism-ui.html +886 -0
- package/docs/design-previews/index.html +699 -0
- package/docs/design-previews/interface-design-website.html +1187 -0
- package/docs/design-previews/interface-design.html +513 -0
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
- package/docs/design-previews/neo-brutalist-ui.html +797 -0
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
- package/docs/design-previews/premium-command-center-ui.html +552 -0
- package/docs/design-previews/warm-craft-ui-website.html +684 -0
- package/docs/design-previews/warm-craft-ui.html +739 -0
- package/docs/en/cli-reference.md +20 -9
- package/docs/en/squad-dashboard.md +372 -0
- package/docs/openclaw-bridge.md +308 -0
- package/docs/pt/README.md +7 -0
- package/docs/pt/agent-sharding.md +132 -0
- package/docs/pt/agentes.md +131 -11
- package/docs/pt/busca-de-contexto.md +129 -0
- package/docs/pt/cache-de-contexto.md +156 -0
- package/docs/pt/cenarios.md +46 -2
- package/docs/pt/comandos-cli.md +88 -1
- package/docs/pt/design-hybrid-forge.md +107 -0
- package/docs/pt/inicio-rapido.md +72 -5
- package/docs/pt/inteligencia-adaptativa.md +324 -0
- package/docs/pt/monitor-de-contexto.md +104 -0
- package/docs/pt/recuperacao-de-sessao.md +125 -0
- package/docs/pt/sandbox.md +125 -0
- package/docs/pt/skills.md +98 -6
- package/docs/pt/squad-dashboard.md +373 -0
- package/docs/testing/genome-2.0-matrix.md +5 -5
- package/docs/testing/genome-2.0-rollout.md +9 -9
- package/package.json +2 -2
- package/src/agent-loader.js +280 -0
- package/src/backup-local.js +74 -0
- package/src/cli.js +192 -0
- package/src/commands/agent-loader.js +85 -0
- package/src/commands/backup-local-cmd.js +25 -0
- package/src/commands/context-cache.js +90 -0
- package/src/commands/context-monitor.js +92 -0
- package/src/commands/context-search.js +66 -0
- package/src/commands/design-hybrid-options.js +385 -0
- package/src/commands/health.js +214 -0
- package/src/commands/init.js +54 -13
- package/src/commands/install.js +52 -13
- package/src/commands/learning-evolve.js +355 -0
- package/src/commands/live.js +34 -0
- package/src/commands/recovery.js +43 -0
- package/src/commands/runtime.js +242 -0
- package/src/commands/sandbox.js +37 -0
- package/src/commands/setup-context.js +29 -4
- package/src/commands/setup.js +178 -0
- package/src/commands/skill.js +79 -32
- package/src/commands/squad-daemon.js +209 -0
- package/src/commands/squad-dashboard.js +39 -0
- package/src/commands/squad-deploy.js +64 -0
- package/src/commands/squad-doctor.js +52 -0
- package/src/commands/squad-mcp.js +270 -0
- package/src/commands/squad-processes.js +56 -0
- package/src/commands/squad-recovery.js +42 -0
- package/src/commands/squad-roi.js +291 -0
- package/src/commands/squad-score.js +250 -0
- package/src/commands/squad-status.js +37 -1
- package/src/commands/squad-validate.js +62 -1
- package/src/commands/squad-webhook.js +160 -0
- package/src/commands/squad-worker.js +191 -0
- package/src/commands/squad-worktrees.js +75 -0
- package/src/commands/tool-registry-cmd.js +232 -0
- package/src/commands/update.js +7 -0
- package/src/commands/web-map.js +70 -0
- package/src/commands/web-scrape.js +71 -0
- package/src/constants.js +17 -0
- package/src/context-cache.js +159 -0
- package/src/context-search.js +326 -0
- package/src/context-writer.js +45 -1
- package/src/design-variation-catalog.js +503 -0
- package/src/i18n/messages/en.js +159 -3
- package/src/i18n/messages/es.js +147 -2
- package/src/i18n/messages/fr.js +147 -2
- package/src/i18n/messages/pt-BR.js +158 -3
- package/src/install-animation.js +260 -0
- package/src/install-profile.js +143 -0
- package/src/install-wizard.js +474 -0
- package/src/installer.js +38 -10
- package/src/lib/webhook-server.js +328 -0
- package/src/mcp-connectors/registry.js +602 -0
- package/src/parser.js +7 -1
- package/src/recovery-context-session.js +154 -0
- package/src/runtime-store.js +355 -2
- package/src/sandbox.js +177 -0
- package/src/squad/external-session.js +180 -0
- package/src/squad/inter-squad.js +74 -0
- package/src/squad/recovery-context.js +201 -0
- package/src/squad/worktree-manager.js +114 -0
- package/src/squad-daemon.js +490 -0
- package/src/squad-dashboard/api.js +223 -0
- package/src/squad-dashboard/attachment-handler.js +93 -0
- package/src/squad-dashboard/context-monitor.js +157 -0
- package/src/squad-dashboard/execution-logs.js +115 -0
- package/src/squad-dashboard/hunk-review.js +209 -0
- package/src/squad-dashboard/metrics.js +133 -0
- package/src/squad-dashboard/process-monitor.js +125 -0
- package/src/squad-dashboard/renderer.js +858 -0
- package/src/squad-dashboard/server.js +232 -0
- package/src/squad-dashboard/styles.js +525 -0
- package/src/squad-dashboard/token-tracker.js +99 -0
- package/src/tool-executor.js +94 -0
- package/src/updater.js +11 -3
- package/src/web.js +284 -0
- package/src/worker-runner.js +339 -0
- package/template/.aioson/agents/analyst.md +62 -3
- package/template/.aioson/agents/architect.md +42 -0
- package/template/.aioson/agents/design-hybrid-forge.md +127 -0
- package/template/.aioson/agents/dev.md +223 -11
- package/template/.aioson/agents/deyvin.md +65 -0
- package/template/.aioson/agents/neo.md +152 -0
- package/template/.aioson/agents/orache.md +17 -0
- package/template/.aioson/agents/orchestrator.md +26 -0
- package/template/.aioson/agents/pm.md +58 -0
- package/template/.aioson/agents/product.md +88 -12
- package/template/.aioson/agents/qa.md +80 -0
- package/template/.aioson/agents/setup.md +128 -22
- package/template/.aioson/agents/sheldon.md +704 -0
- package/template/.aioson/agents/squad.md +191 -0
- package/template/.aioson/agents/tester.md +410 -0
- package/template/.aioson/agents/ux-ui.md +12 -0
- package/template/.aioson/config.md +21 -0
- package/template/.aioson/context/forensics/.gitkeep +0 -0
- package/template/.aioson/context/seeds/seed-example.md +27 -0
- package/template/.aioson/context/user-profile.md +42 -0
- package/template/.aioson/locales/en/agents/analyst.md +8 -0
- package/template/.aioson/locales/en/agents/architect.md +8 -0
- package/template/.aioson/locales/en/agents/dev.md +66 -7
- package/template/.aioson/locales/en/agents/deyvin.md +8 -0
- package/template/.aioson/locales/en/agents/neo.md +8 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/en/agents/qa.md +49 -0
- package/template/.aioson/locales/en/agents/setup.md +35 -2
- package/template/.aioson/locales/en/agents/sheldon.md +340 -0
- package/template/.aioson/locales/en/agents/ux-ui.md +8 -0
- package/template/.aioson/locales/es/agents/analyst.md +8 -0
- package/template/.aioson/locales/es/agents/architect.md +8 -0
- package/template/.aioson/locales/es/agents/dev.md +66 -7
- package/template/.aioson/locales/es/agents/deyvin.md +8 -0
- package/template/.aioson/locales/es/agents/neo.md +48 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/es/agents/qa.md +26 -0
- package/template/.aioson/locales/es/agents/setup.md +35 -2
- package/template/.aioson/locales/es/agents/sheldon.md +192 -0
- package/template/.aioson/locales/es/agents/squad.md +63 -0
- package/template/.aioson/locales/es/agents/ux-ui.md +8 -0
- package/template/.aioson/locales/fr/agents/analyst.md +8 -0
- package/template/.aioson/locales/fr/agents/architect.md +8 -0
- package/template/.aioson/locales/fr/agents/dev.md +66 -7
- package/template/.aioson/locales/fr/agents/deyvin.md +8 -0
- package/template/.aioson/locales/fr/agents/neo.md +48 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/fr/agents/qa.md +26 -0
- package/template/.aioson/locales/fr/agents/setup.md +35 -2
- package/template/.aioson/locales/fr/agents/sheldon.md +192 -0
- package/template/.aioson/locales/fr/agents/squad.md +63 -0
- package/template/.aioson/locales/fr/agents/ux-ui.md +8 -0
- package/template/.aioson/locales/pt-BR/agents/analyst.md +19 -0
- package/template/.aioson/locales/pt-BR/agents/architect.md +19 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +75 -12
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +8 -0
- package/template/.aioson/locales/pt-BR/agents/neo.md +147 -0
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/pt-BR/agents/product.md +8 -3
- package/template/.aioson/locales/pt-BR/agents/qa.md +60 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +35 -2
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +192 -0
- package/template/.aioson/locales/pt-BR/agents/squad.md +105 -0
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +8 -0
- package/template/.aioson/schemas/squad-blueprint.schema.json +21 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +178 -1
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -0
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -0
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +55 -9
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +1 -1
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +100 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +43 -9
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +40 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +1 -1
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +99 -12
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -0
- package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -0
- package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -0
- package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -0
- package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -0
- package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -0
- package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -0
- package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -0
- package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -0
- package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -0
- package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -0
- package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -0
- package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +45 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +66 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +144 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +291 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +117 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +188 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
- package/template/.aioson/skills/squad/formats/catalog.json +15 -0
- package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -0
- package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -0
- package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -0
- package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -0
- package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -0
- package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -0
- package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -0
- package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -0
- package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -0
- package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -0
- package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -0
- package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -0
- package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -0
- package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -0
- package/template/.aioson/skills/squad/references/checklist-templates.md +122 -0
- package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -0
- package/template/.aioson/skills/squad/references/workflow-templates.md +169 -0
- package/template/.aioson/skills/static/debugging-protocol.md +42 -0
- package/template/.aioson/skills/static/git-worktrees.md +36 -0
- package/template/.aioson/tasks/implementation-plan.md +19 -0
- package/template/.aioson/tasks/squad-design.md +28 -0
- package/template/.aioson/tasks/squad-profile.md +48 -0
- package/template/.aioson/tasks/squad-review.md +61 -0
- package/template/.aioson/tasks/squad-task-decompose.md +66 -0
- package/template/.claude/commands/aioson/agent/neo.md +5 -0
- package/template/.claude/commands/aioson/agent/tester.md +5 -0
- package/template/.gemini/GEMINI.md +1 -0
- package/template/.gemini/commands/aios-neo.toml +4 -0
- package/template/.gemini/commands/aios-tester.toml +6 -0
- package/template/AGENTS.md +26 -1
- package/template/CLAUDE.md +6 -2
- package/template/OPENCODE.md +2 -0
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
# Components — Glassmorphism UI
|
|
2
|
+
|
|
3
|
+
All components use glass tokens. The Glass Card is the fundamental building block — everything else extends or contains it.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Glass Rules (read first)
|
|
8
|
+
|
|
9
|
+
Before building any component:
|
|
10
|
+
|
|
11
|
+
1. **Minimum 2 layers**: never place a glass card directly over white or solid black. Always over a gradient or another glass layer.
|
|
12
|
+
2. **Text over glass**: guarantee WCAG AA contrast. If blur is insufficient, increase `glass-bg` opacity toward `glass-bg-active`.
|
|
13
|
+
3. **Fallback without blur**: if `backdrop-filter` is unsupported, use `glass-fallback-bg` at 0.95 opacity (see `design-tokens.md`).
|
|
14
|
+
4. **Performance**: limit glass nesting to 3 levels max. Each `backdrop-filter` is a composite layer.
|
|
15
|
+
5. **Top reflection**: every glass card has `::before` with `glass-highlight` for the top edge reflection. This is what makes glass feel real.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 1. Glass Card (fundamental component)
|
|
20
|
+
|
|
21
|
+
Every other container-type component inherits from this.
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Structure:
|
|
25
|
+
position: relative
|
|
26
|
+
overflow: hidden
|
|
27
|
+
background: var(--glass-bg)
|
|
28
|
+
backdrop-filter: var(--glass-blur-md)
|
|
29
|
+
border: 1px solid var(--glass-border)
|
|
30
|
+
border-radius: var(--radius-xl)
|
|
31
|
+
box-shadow: var(--shadow-sm), var(--shadow-inner)
|
|
32
|
+
padding: var(--space-6)
|
|
33
|
+
|
|
34
|
+
Pseudo-element ::before (top reflection):
|
|
35
|
+
content: ''
|
|
36
|
+
position: absolute
|
|
37
|
+
top: 0; left: 0; right: 0
|
|
38
|
+
height: 50%
|
|
39
|
+
background: var(--glass-highlight)
|
|
40
|
+
pointer-events: none
|
|
41
|
+
border-radius: inherit
|
|
42
|
+
|
|
43
|
+
Hover:
|
|
44
|
+
background: var(--glass-bg-hover)
|
|
45
|
+
box-shadow: var(--shadow-md), var(--shadow-inner)
|
|
46
|
+
transition: var(--transition-glass)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Variants:
|
|
50
|
+
- `glass-card--sm`: `border-radius: var(--radius-lg)`, `padding: var(--space-4)`
|
|
51
|
+
- `glass-card--lg`: `border-radius: var(--radius-2xl)`, `padding: var(--space-8)`
|
|
52
|
+
- `glass-card--hero`: `border-radius: var(--radius-3xl)`, `padding: var(--space-10)`, `backdrop-filter: var(--glass-blur-lg)`
|
|
53
|
+
- `glass-card--elevated`: `background: var(--glass-bg-elevated)` (more opaque, for nested)
|
|
54
|
+
- `glass-card--featured`: adds `box-shadow: var(--shadow-glow)` + `border: 1px solid rgba(124,58,237,0.30)`
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 2. Stat Card
|
|
59
|
+
|
|
60
|
+
Glass Card + stat display. Used in dashboards and analytics.
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Structure: Glass Card (radius-xl, padding-6)
|
|
64
|
+
└─ Label: text-sm, text-secondary, weight-500, mb-2
|
|
65
|
+
└─ Value: text-3xl or text-4xl, weight-bold, text-heading
|
|
66
|
+
Optional: gradient text (var(--accent-gradient), -webkit-background-clip: text)
|
|
67
|
+
└─ Trend badge: below value, inline-flex
|
|
68
|
+
↑ green / ↓ red + percentage text-sm
|
|
69
|
+
└─ Optional: sparkline (40px height) at bottom
|
|
70
|
+
|
|
71
|
+
Hover: glass card hover + inner glow (shadow-glow at 50% opacity)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 3. Feature Card
|
|
77
|
+
|
|
78
|
+
Glass Card for marketing and feature lists.
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Structure: Glass Card (radius-2xl, padding-8)
|
|
82
|
+
└─ Icon area: 48x48px, background: var(--accent-dim), border-radius: var(--radius-lg)
|
|
83
|
+
icon: 24px, accent color
|
|
84
|
+
└─ Title: text-lg, weight-semibold, text-heading, mt-4
|
|
85
|
+
└─ Description: text-sm, text-secondary, mt-2, line-height 1.6
|
|
86
|
+
└─ Optional: link/CTA at bottom (text-sm, accent color, arrow icon)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 4. Navigation Bar (app)
|
|
92
|
+
|
|
93
|
+
Glass top bar, sticky, inside the content area (not full-width over sidebar).
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
Structure:
|
|
97
|
+
position: sticky
|
|
98
|
+
top: 0
|
|
99
|
+
height: var(--nav-height) /* 64px */
|
|
100
|
+
background: var(--glass-bg)
|
|
101
|
+
backdrop-filter: var(--glass-blur-lg)
|
|
102
|
+
border-bottom: 1px solid var(--glass-border)
|
|
103
|
+
z-index: 10
|
|
104
|
+
|
|
105
|
+
Layout: flex, align-center, px-6, gap-4
|
|
106
|
+
Left: page title (text-lg, weight-semibold)
|
|
107
|
+
Right: actions (search icon, notifications, avatar)
|
|
108
|
+
|
|
109
|
+
On scroll: background → var(--glass-bg-hover) via transition-glass
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 5. Sidebar
|
|
115
|
+
|
|
116
|
+
Glass sidebar, fixed or sticky, 256px wide.
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
Structure:
|
|
120
|
+
width: var(--sidebar-width) /* 256px */
|
|
121
|
+
height: 100vh
|
|
122
|
+
position: fixed
|
|
123
|
+
top: 0; left: 0
|
|
124
|
+
background: var(--glass-bg)
|
|
125
|
+
backdrop-filter: var(--glass-blur-lg)
|
|
126
|
+
border-right: 1px solid var(--glass-border)
|
|
127
|
+
padding: var(--space-6) 0
|
|
128
|
+
overflow-y: auto
|
|
129
|
+
|
|
130
|
+
Sections:
|
|
131
|
+
Logo area: px-6, mb-8, height 40px
|
|
132
|
+
Nav groups: label text-xs uppercase tracking-wider text-muted px-6 mb-2
|
|
133
|
+
Nav items: px-4, py-2.5, radius-lg, gap-3, icon + label
|
|
134
|
+
|
|
135
|
+
Nav item states:
|
|
136
|
+
Default: text-secondary, icon text-muted
|
|
137
|
+
Hover: background var(--glass-bg-hover)
|
|
138
|
+
Active: background var(--accent-dim), border-left 2px solid var(--accent), text-heading, icon accent
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 6. Bottom Sheet (mobile)
|
|
144
|
+
|
|
145
|
+
Glass overlay sheet sliding up from bottom. iOS-style.
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
Structure:
|
|
149
|
+
position: fixed
|
|
150
|
+
bottom: 0; left: 0; right: 0
|
|
151
|
+
background: var(--glass-bg-active) /* more opaque */
|
|
152
|
+
backdrop-filter: var(--glass-blur-xl)
|
|
153
|
+
border-radius: var(--radius-3xl) var(--radius-3xl) 0 0
|
|
154
|
+
border-top: 1px solid var(--glass-border)
|
|
155
|
+
padding: var(--space-3) var(--space-6) var(--space-8)
|
|
156
|
+
|
|
157
|
+
Drag handle:
|
|
158
|
+
width: 40px; height: 4px
|
|
159
|
+
background: var(--text-muted)
|
|
160
|
+
border-radius: var(--radius-full)
|
|
161
|
+
margin: 0 auto var(--space-6)
|
|
162
|
+
|
|
163
|
+
Content behind: background becomes blur (achieved by the backdrop-filter revealing gradient below)
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 7. Button — Primary
|
|
169
|
+
|
|
170
|
+
Accent gradient, solid feel within glass environment.
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
height: var(--control-lg) /* 44px */
|
|
174
|
+
padding: 0 var(--space-5)
|
|
175
|
+
background: var(--accent-gradient)
|
|
176
|
+
color: var(--accent-contrast)
|
|
177
|
+
border: none
|
|
178
|
+
border-radius: var(--radius-md)
|
|
179
|
+
box-shadow: var(--shadow-sm)
|
|
180
|
+
font-weight: 500
|
|
181
|
+
font-size: var(--text-sm)
|
|
182
|
+
|
|
183
|
+
Hover: box-shadow var(--shadow-md) + filter brightness(1.05), 120ms
|
|
184
|
+
Active: filter brightness(0.95)
|
|
185
|
+
Disabled: opacity 0.4
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 8. Button — Glass
|
|
191
|
+
|
|
192
|
+
Secondary action button. Looks like a glass surface with text.
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
height: var(--control-lg)
|
|
196
|
+
padding: 0 var(--space-5)
|
|
197
|
+
background: var(--glass-bg)
|
|
198
|
+
backdrop-filter: var(--glass-blur-sm)
|
|
199
|
+
border: 1px solid var(--glass-border)
|
|
200
|
+
border-radius: var(--radius-md)
|
|
201
|
+
color: var(--text-primary)
|
|
202
|
+
font-weight: 500
|
|
203
|
+
|
|
204
|
+
Hover: background var(--glass-bg-hover), 120ms
|
|
205
|
+
Active: background var(--glass-bg-active)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 9. Button — Ghost
|
|
211
|
+
|
|
212
|
+
Minimal button, transparent, glass hover.
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
height: var(--control-md)
|
|
216
|
+
padding: 0 var(--space-4)
|
|
217
|
+
background: transparent
|
|
218
|
+
border: none
|
|
219
|
+
border-radius: var(--radius-md)
|
|
220
|
+
color: var(--text-primary)
|
|
221
|
+
|
|
222
|
+
Hover: background var(--glass-bg)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## 10. Input
|
|
228
|
+
|
|
229
|
+
Text input with glass surface and luminous focus ring.
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
height: var(--control-md)
|
|
233
|
+
padding: 0 var(--space-3)
|
|
234
|
+
background: var(--glass-bg)
|
|
235
|
+
backdrop-filter: var(--glass-blur-sm)
|
|
236
|
+
border: 1px solid var(--glass-border)
|
|
237
|
+
border-radius: var(--radius-md)
|
|
238
|
+
color: var(--text-primary)
|
|
239
|
+
font-size: var(--text-sm)
|
|
240
|
+
|
|
241
|
+
Placeholder: color var(--text-muted)
|
|
242
|
+
Focus: border-color var(--glass-border-focus) + box-shadow 0 0 0 3px var(--accent-dim)
|
|
243
|
+
Transition: var(--transition-glass)
|
|
244
|
+
|
|
245
|
+
Icon left/right: 16px, text-muted, position absolute with padding offset
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 11. Select / Dropdown
|
|
251
|
+
|
|
252
|
+
Trigger uses Input style. Menu is a glass card.
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
Trigger: Input appearance + chevron-down icon right
|
|
256
|
+
Menu:
|
|
257
|
+
Glass Card (radius-lg, padding-2, shadow-lg, blur-lg)
|
|
258
|
+
position: absolute, top: calc(100% + 4px), min-width: 100%
|
|
259
|
+
max-height: 240px, overflow-y: auto
|
|
260
|
+
|
|
261
|
+
Item: px-3, py-2, radius-md, text-sm text-primary
|
|
262
|
+
Item hover: background var(--glass-bg-hover)
|
|
263
|
+
Item selected: background var(--accent-dim), text-accent, font-weight 500
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## 12. Toggle Switch
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
width: 44px; height: 24px
|
|
272
|
+
background: var(--glass-border) /* off state */
|
|
273
|
+
border-radius: var(--radius-full)
|
|
274
|
+
position: relative
|
|
275
|
+
transition: background var(--transition-base)
|
|
276
|
+
|
|
277
|
+
Thumb:
|
|
278
|
+
width: 18px; height: 18px
|
|
279
|
+
background: white
|
|
280
|
+
border-radius: var(--radius-full)
|
|
281
|
+
box-shadow: var(--shadow-sm)
|
|
282
|
+
position: absolute, top: 3px, left: 3px
|
|
283
|
+
transition: transform var(--transition-base)
|
|
284
|
+
|
|
285
|
+
Checked:
|
|
286
|
+
background: var(--accent-gradient)
|
|
287
|
+
thumb: transform translateX(20px)
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## 13. Badge
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
height: 22px
|
|
296
|
+
padding: 0 var(--space-2.5) /* 10px */
|
|
297
|
+
border-radius: var(--radius-full)
|
|
298
|
+
background: var(--glass-bg)
|
|
299
|
+
border: 1px solid var(--glass-border)
|
|
300
|
+
font-size: var(--text-xs)
|
|
301
|
+
font-weight: 500
|
|
302
|
+
|
|
303
|
+
Semantic variants (add tint to glass-bg):
|
|
304
|
+
success: background rgba(16, 185, 129, 0.12), color var(--semantic-green)
|
|
305
|
+
warning: background rgba(245, 158, 11, 0.12), color var(--semantic-amber)
|
|
306
|
+
error: background rgba(239, 68, 68, 0.12), color var(--semantic-red)
|
|
307
|
+
info: background rgba(59, 130, 246, 0.12), color var(--semantic-blue)
|
|
308
|
+
accent: background var(--accent-dim), color var(--accent)
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## 14. Modal
|
|
314
|
+
|
|
315
|
+
Glass card with blurred backdrop.
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
Backdrop:
|
|
319
|
+
position: fixed, inset: 0
|
|
320
|
+
background: rgba(var(--bg-void-rgb), 0.50)
|
|
321
|
+
backdrop-filter: var(--glass-blur-sm)
|
|
322
|
+
z-index: 50
|
|
323
|
+
|
|
324
|
+
Modal container:
|
|
325
|
+
Glass Card (radius-2xl, shadow-lg, blur-lg)
|
|
326
|
+
max-width: 520px; width: calc(100% - 32px)
|
|
327
|
+
position: fixed, top: 50%, left: 50%
|
|
328
|
+
transform: translate(-50%, -50%)
|
|
329
|
+
padding: var(--space-8)
|
|
330
|
+
z-index: 51
|
|
331
|
+
|
|
332
|
+
Header: title text-lg weight-semibold + close button (ghost, icon-only)
|
|
333
|
+
Body: mt-4, text-sm text-secondary
|
|
334
|
+
Footer: mt-6, flex gap-3 justify-end
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## 15. Toast
|
|
340
|
+
|
|
341
|
+
Auto-dismissing glass notification.
|
|
342
|
+
|
|
343
|
+
```
|
|
344
|
+
Glass Card (radius-xl, shadow-md)
|
|
345
|
+
padding: var(--space-4) var(--space-5)
|
|
346
|
+
display: flex, align-center, gap-3
|
|
347
|
+
border-left: 3px solid semantic-color
|
|
348
|
+
min-width: 280px; max-width: 400px
|
|
349
|
+
position: fixed, bottom: var(--space-6), right: var(--space-6)
|
|
350
|
+
z-index: 60
|
|
351
|
+
animation: float-up 350ms ease-out + auto-dismiss 5s
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## 16. Tooltip
|
|
357
|
+
|
|
358
|
+
Small glass bubble on hover.
|
|
359
|
+
|
|
360
|
+
```
|
|
361
|
+
Glass Card (radius-md, blur-sm)
|
|
362
|
+
background: var(--glass-bg-active) /* more opaque for readability */
|
|
363
|
+
padding: var(--space-2) var(--space-3)
|
|
364
|
+
font-size: var(--text-xs)
|
|
365
|
+
box-shadow: var(--shadow-sm)
|
|
366
|
+
pointer-events: none
|
|
367
|
+
z-index: 70
|
|
368
|
+
animation: scale-materialize 150ms
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
## 17. Tab Bar
|
|
374
|
+
|
|
375
|
+
Horizontal navigation tabs.
|
|
376
|
+
|
|
377
|
+
```
|
|
378
|
+
Container:
|
|
379
|
+
display: flex
|
|
380
|
+
background: var(--glass-bg)
|
|
381
|
+
backdrop-filter: var(--glass-blur-md)
|
|
382
|
+
border-bottom: 1px solid var(--glass-border)
|
|
383
|
+
padding: 0 var(--space-6)
|
|
384
|
+
|
|
385
|
+
Tab item:
|
|
386
|
+
padding: var(--space-3) var(--space-4)
|
|
387
|
+
font-size: var(--text-sm)
|
|
388
|
+
font-weight: 500
|
|
389
|
+
color: var(--text-secondary)
|
|
390
|
+
border-bottom: 2px solid transparent
|
|
391
|
+
position: relative
|
|
392
|
+
|
|
393
|
+
Active tab:
|
|
394
|
+
color: var(--text-heading)
|
|
395
|
+
border-bottom: 2px solid var(--accent)
|
|
396
|
+
|
|
397
|
+
Hover: color var(--text-primary), transition var(--transition-fast)
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
---
|
|
401
|
+
|
|
402
|
+
## 18. Progress Bar
|
|
403
|
+
|
|
404
|
+
```
|
|
405
|
+
Container:
|
|
406
|
+
height: 6px
|
|
407
|
+
background: var(--glass-border)
|
|
408
|
+
border-radius: var(--radius-full)
|
|
409
|
+
overflow: hidden
|
|
410
|
+
|
|
411
|
+
Fill:
|
|
412
|
+
height: 100%
|
|
413
|
+
background: var(--accent-gradient)
|
|
414
|
+
border-radius: var(--radius-full)
|
|
415
|
+
transition: width var(--transition-slow)
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
## 19. Avatar
|
|
421
|
+
|
|
422
|
+
```
|
|
423
|
+
Sizes: 24px / 32px / 40px / 56px
|
|
424
|
+
border-radius: var(--radius-full)
|
|
425
|
+
border: 2px solid var(--glass-border)
|
|
426
|
+
box-shadow: var(--shadow-sm)
|
|
427
|
+
overflow: hidden
|
|
428
|
+
|
|
429
|
+
Fallback (no image): background var(--accent-dim), initials text-sm weight-600 accent color
|
|
430
|
+
Avatar group: overlapping avatars with margin-left -8px, each with border 2px white/glass
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
## 20. Empty State
|
|
436
|
+
|
|
437
|
+
```
|
|
438
|
+
Container: centered, py-16, flex-col align-center gap-4
|
|
439
|
+
|
|
440
|
+
Illustration: abstract gradient shape (not line art)
|
|
441
|
+
80px x 80px, background var(--accent-gradient) with opacity 0.2
|
|
442
|
+
border-radius var(--radius-3xl)
|
|
443
|
+
+ icon on top (24px, accent)
|
|
444
|
+
|
|
445
|
+
Title: text-base weight-semibold text-heading
|
|
446
|
+
Description: text-sm text-secondary, max-width 280px text-center
|
|
447
|
+
CTA: Glass Button or Primary Button
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## 21. Skeleton Loader
|
|
453
|
+
|
|
454
|
+
Glass surface with shimmer animation.
|
|
455
|
+
|
|
456
|
+
```
|
|
457
|
+
Shape: matches the component it replaces (text lines, card, avatar)
|
|
458
|
+
background: var(--glass-bg)
|
|
459
|
+
border-radius: matches component radius
|
|
460
|
+
overflow: hidden
|
|
461
|
+
position: relative
|
|
462
|
+
|
|
463
|
+
Shimmer (::after):
|
|
464
|
+
content: ''
|
|
465
|
+
position: absolute, inset: 0
|
|
466
|
+
background: linear-gradient(90deg,
|
|
467
|
+
transparent 0%,
|
|
468
|
+
rgba(255,255,255,0.10) 50%,
|
|
469
|
+
transparent 100%)
|
|
470
|
+
animation: shimmer 1.5s infinite
|
|
471
|
+
transform: translateX(-100%)
|
|
472
|
+
|
|
473
|
+
@keyframes shimmer {
|
|
474
|
+
to { transform: translateX(100%); }
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
Reduced motion: no shimmer animation — use static glass-bg only
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
## 22. Chip / Tag
|
|
483
|
+
|
|
484
|
+
```
|
|
485
|
+
height: var(--control-xs) /* 28px */
|
|
486
|
+
padding: 0 var(--space-3)
|
|
487
|
+
background: var(--glass-bg)
|
|
488
|
+
backdrop-filter: var(--glass-blur-sm)
|
|
489
|
+
border: 1px solid var(--glass-border)
|
|
490
|
+
border-radius: var(--radius-full)
|
|
491
|
+
font-size: var(--text-sm)
|
|
492
|
+
color: var(--text-primary)
|
|
493
|
+
display: inline-flex, align-center, gap-2
|
|
494
|
+
|
|
495
|
+
Close icon: 14px, text-muted, hover text-primary, cursor pointer
|
|
496
|
+
Hover: background var(--glass-bg-hover)
|
|
497
|
+
Selected: background var(--accent-dim), border-color rgba(accent 0.30), color var(--accent)
|
|
498
|
+
```
|