@palate/cli 0.0.0-stage → 0.0.1
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/LICENSE +20 -0
- package/README.md +151 -2
- package/bin/palate.mjs +894 -0
- package/kb/anatomy/data-table.md +24 -0
- package/kb/anatomy/empty-state.md +16 -0
- package/kb/anatomy/filter-toolbar.md +19 -0
- package/kb/anatomy/meter.md +16 -0
- package/kb/anatomy/product-window.md +18 -0
- package/kb/anatomy/settings-page.md +18 -0
- package/kb/anatomy/status-indicator.md +17 -0
- package/kb/anatomy/toast-undo.md +16 -0
- package/kb/bench/briefs.json +618 -0
- package/kb/craft/SOURCES.md +48 -0
- package/kb/craft/creativity.md +55 -0
- package/kb/craft/details.md +75 -0
- package/kb/craft/landing-demos.md +46 -0
- package/kb/craft/mistakes.md +73 -0
- package/kb/craft/motion.md +53 -0
- package/kb/craft/principles.md +68 -0
- package/kb/index/discovery.json +1 -0
- package/kb/inspiration/index.json +79 -0
- package/kb/moves/animated-comparison-table.md +58 -0
- package/kb/moves/before-after-slider.md +58 -0
- package/kb/moves/bento-live-tiles.md +57 -0
- package/kb/moves/calm-motion-system.md +63 -0
- package/kb/moves/canvas-grain.md +58 -0
- package/kb/moves/changelog-as-magazine.md +56 -0
- package/kb/moves/code-drawn-diagram.md +56 -0
- package/kb/moves/colophon.md +54 -0
- package/kb/moves/command-palette-site-nav.md +58 -0
- package/kb/moves/confetti-free-celebration.md +58 -0
- package/kb/moves/console-easter-egg.md +57 -0
- package/kb/moves/copy-confirmation.md +57 -0
- package/kb/moves/cursor-reactive-light.md +57 -0
- package/kb/moves/dark-band-contrast-section.md +55 -0
- package/kb/moves/designed-dark-mode.md +58 -0
- package/kb/moves/duotone-photography.md +55 -0
- package/kb/moves/editorial-drop-cap.md +58 -0
- package/kb/moves/editorial-grid-pull-quotes.md +55 -0
- package/kb/moves/engraving-colour-lens.md +64 -0
- package/kb/moves/explorable-control.md +57 -0
- package/kb/moves/feature-films-on-painted-stages.md +58 -0
- package/kb/moves/first-win-onboarding.md +59 -0
- package/kb/moves/footer-live-status.md +56 -0
- package/kb/moves/footer-rewards-the-end.md +58 -0
- package/kb/moves/generative-brand-pattern.md +55 -0
- package/kb/moves/gentle-error-nudge.md +59 -0
- package/kb/moves/halftone-dot-imagery.md +55 -0
- package/kb/moves/hand-drawn-annotations.md +55 -0
- package/kb/moves/hero-paints-itself-in.md +65 -0
- package/kb/moves/honest-progress-narration.md +58 -0
- package/kb/moves/honest-testimonial-wall.md +57 -0
- package/kb/moves/inline-sparklines-in-copy.md +57 -0
- package/kb/moves/inspect-our-taste.md +58 -0
- package/kb/moves/interactive-pricing-calculator.md +59 -0
- package/kb/moves/isometric-illustration-system.md +56 -0
- package/kb/moves/kinetic-variable-type.md +57 -0
- package/kb/moves/konami-secret.md +59 -0
- package/kb/moves/layered-paper-depth.md +56 -0
- package/kb/moves/lightweight-3d-object-hero.md +59 -0
- package/kb/moves/line-engraving-from-image.md +63 -0
- package/kb/moves/link-preview-peek.md +57 -0
- package/kb/moves/live-data-ticker.md +61 -0
- package/kb/moves/made-with-proof.md +51 -0
- package/kb/moves/magnetic-buttons.md +55 -0
- package/kb/moves/marquee-done-right.md +58 -0
- package/kb/moves/moves.yaml +450 -0
- package/kb/moves/museum-painting-backdrop.md +59 -0
- package/kb/moves/one-colour-brand-world.md +56 -0
- package/kb/moves/playful-404.md +58 -0
- package/kb/moves/pointer-highlight-word.md +56 -0
- package/kb/moves/product-in-context.md +56 -0
- package/kb/moves/real-world-data.md +58 -0
- package/kb/moves/referral-reward-reveal.md +59 -0
- package/kb/moves/riso-print-texture.md +57 -0
- package/kb/moves/screenshot-detail-crops.md +56 -0
- package/kb/moves/scroll-progress-chapters.md +57 -0
- package/kb/moves/scroll-scrubbed-product-film.md +62 -0
- package/kb/moves/self-playing-product-demo.md +61 -0
- package/kb/moves/shape-continuity-morph.md +58 -0
- package/kb/moves/sliding-nav-indicator.md +58 -0
- package/kb/moves/sticky-scroll-story.md +56 -0
- package/kb/moves/story-led-long-scroll.md +56 -0
- package/kb/moves/tactile-button.md +63 -0
- package/kb/moves/technical-drawing-lines.md +57 -0
- package/kb/moves/time-of-day-theming.md +56 -0
- package/kb/moves/tiny-game-easter-egg.md +60 -0
- package/kb/moves/type-decode-reveal.md +57 -0
- package/kb/moves/typographic-numeral-hero.md +58 -0
- package/kb/moves/view-transitions-between-pages.md +57 -0
- package/kb/moves/waitlist-position-live.md +60 -0
- package/kb/patterns/app-team-members.md +27 -0
- package/kb/patterns/chat-agent-approvals.md +31 -0
- package/kb/patterns/commerce-product-page.md +34 -0
- package/kb/patterns/dashboard-entity-table.md +37 -0
- package/kb/patterns/dashboard-home-today.md +24 -0
- package/kb/patterns/docs-api-reference.md +31 -0
- package/kb/patterns/marketing-product-led-landing.md +30 -0
- package/kb/patterns/mobile-daily-checklist.md +26 -0
- package/kb/references/index.json +1 -0
- package/kb/references/thumbs/004c5e9072.jpg +0 -0
- package/kb/references/thumbs/008915eb21.jpg +0 -0
- package/kb/references/thumbs/0098cf66c2.jpg +0 -0
- package/kb/references/thumbs/012e61b31f.jpg +0 -0
- package/kb/references/thumbs/014d4e46fc.jpg +0 -0
- package/kb/references/thumbs/01e54f394a.jpg +0 -0
- package/kb/references/thumbs/01e99a579c.jpg +0 -0
- package/kb/references/thumbs/01fd014575.jpg +0 -0
- package/kb/references/thumbs/022778ca72.jpg +0 -0
- package/kb/references/thumbs/02717bf1e1.jpg +0 -0
- package/kb/references/thumbs/02a5cfdbe9.jpg +0 -0
- package/kb/references/thumbs/02c9823f8d.jpg +0 -0
- package/kb/references/thumbs/02f3974613.jpg +0 -0
- package/kb/references/thumbs/032427f1ce.jpg +0 -0
- package/kb/references/thumbs/03ba677d07.jpg +0 -0
- package/kb/references/thumbs/04f2476cfe.jpg +0 -0
- package/kb/references/thumbs/0563e7c52e.jpg +0 -0
- package/kb/references/thumbs/05fa6b8eef.jpg +0 -0
- package/kb/references/thumbs/065bce1517.jpg +0 -0
- package/kb/references/thumbs/06c017f113.jpg +0 -0
- package/kb/references/thumbs/0770e2d8d3.jpg +0 -0
- package/kb/references/thumbs/078a26c4cb.jpg +0 -0
- package/kb/references/thumbs/08679b6e84.jpg +0 -0
- package/kb/references/thumbs/088c45a34c.jpg +0 -0
- package/kb/references/thumbs/089e9fd4e4.jpg +0 -0
- package/kb/references/thumbs/08f773231e.jpg +0 -0
- package/kb/references/thumbs/093ca3e2e3.jpg +0 -0
- package/kb/references/thumbs/0963320f74.jpg +0 -0
- package/kb/references/thumbs/09fc1ded85.jpg +0 -0
- package/kb/references/thumbs/0a368f3963.jpg +0 -0
- package/kb/references/thumbs/0a9e0e5201.jpg +0 -0
- package/kb/references/thumbs/0aace67ee7.jpg +0 -0
- package/kb/references/thumbs/0b61ecf793.jpg +0 -0
- package/kb/references/thumbs/0bde18ae09.jpg +0 -0
- package/kb/references/thumbs/0bf7ee8143.jpg +0 -0
- package/kb/references/thumbs/0ca20a13e0.jpg +0 -0
- package/kb/references/thumbs/0cdc0198c4.jpg +0 -0
- package/kb/references/thumbs/0cf9790b28.jpg +0 -0
- package/kb/references/thumbs/0d0202904b.jpg +0 -0
- package/kb/references/thumbs/0d053aba18.jpg +0 -0
- package/kb/references/thumbs/0d0c2c13d2.jpg +0 -0
- package/kb/references/thumbs/0d30be99b0.jpg +0 -0
- package/kb/references/thumbs/0d503da1b7.jpg +0 -0
- package/kb/references/thumbs/0ddad7b740.jpg +0 -0
- package/kb/references/thumbs/0e0a148101.jpg +0 -0
- package/kb/references/thumbs/0e401b6b75.jpg +0 -0
- package/kb/references/thumbs/0e8f32ba0f.jpg +0 -0
- package/kb/references/thumbs/0ef1966a7d.jpg +0 -0
- package/kb/references/thumbs/0efd416d11.jpg +0 -0
- package/kb/references/thumbs/0f3af263ae.jpg +0 -0
- package/kb/references/thumbs/0f9644c3a5.jpg +0 -0
- package/kb/references/thumbs/1020552737.jpg +0 -0
- package/kb/references/thumbs/1037626587.jpg +0 -0
- package/kb/references/thumbs/10512b7e94.jpg +0 -0
- package/kb/references/thumbs/106dc4a7b5.jpg +0 -0
- package/kb/references/thumbs/108943f6f7.jpg +0 -0
- package/kb/references/thumbs/10a5551d51.jpg +0 -0
- package/kb/references/thumbs/10dd01076c.jpg +0 -0
- package/kb/references/thumbs/11b06e39da.jpg +0 -0
- package/kb/references/thumbs/11baa1ec83.jpg +0 -0
- package/kb/references/thumbs/11bbe12167.jpg +0 -0
- package/kb/references/thumbs/11ca37feb8.jpg +0 -0
- package/kb/references/thumbs/11f14d3f12.jpg +0 -0
- package/kb/references/thumbs/124530ceb5.jpg +0 -0
- package/kb/references/thumbs/1276402336.jpg +0 -0
- package/kb/references/thumbs/1280e5c9d6.jpg +0 -0
- package/kb/references/thumbs/12cac0d172.jpg +0 -0
- package/kb/references/thumbs/138be6623a.jpg +0 -0
- package/kb/references/thumbs/13a0c544d1.jpg +0 -0
- package/kb/references/thumbs/13a32cb94c.jpg +0 -0
- package/kb/references/thumbs/144035d641.jpg +0 -0
- package/kb/references/thumbs/1457e41924.jpg +0 -0
- package/kb/references/thumbs/14972e3a86.jpg +0 -0
- package/kb/references/thumbs/15a47f2e4c.jpg +0 -0
- package/kb/references/thumbs/15aa15d22e.jpg +0 -0
- package/kb/references/thumbs/160dcd24b7.jpg +0 -0
- package/kb/references/thumbs/1610978529.jpg +0 -0
- package/kb/references/thumbs/16db30ba37.jpg +0 -0
- package/kb/references/thumbs/16f19ae4f3.jpg +0 -0
- package/kb/references/thumbs/16f758b03f.jpg +0 -0
- package/kb/references/thumbs/1748e5b751.jpg +0 -0
- package/kb/references/thumbs/175d0b0e69.jpg +0 -0
- package/kb/references/thumbs/178f571a36.jpg +0 -0
- package/kb/references/thumbs/17c43dc025.jpg +0 -0
- package/kb/references/thumbs/17c7f05b50.jpg +0 -0
- package/kb/references/thumbs/17f97e61dd.jpg +0 -0
- package/kb/references/thumbs/1804e17365.jpg +0 -0
- package/kb/references/thumbs/195c162ed1.jpg +0 -0
- package/kb/references/thumbs/19e3699c29.jpg +0 -0
- package/kb/references/thumbs/1a48e0a4d5.jpg +0 -0
- package/kb/references/thumbs/1a6cda265e.jpg +0 -0
- package/kb/references/thumbs/1a7e012091.jpg +0 -0
- package/kb/references/thumbs/1a9173a172.jpg +0 -0
- package/kb/references/thumbs/1b34a6b4d2.jpg +0 -0
- package/kb/references/thumbs/1b5284f3b2.jpg +0 -0
- package/kb/references/thumbs/1b93fbd6d3.jpg +0 -0
- package/kb/references/thumbs/1c6728fef6.jpg +0 -0
- package/kb/references/thumbs/1c6f101618.jpg +0 -0
- package/kb/references/thumbs/1cf7011a94.jpg +0 -0
- package/kb/references/thumbs/1d1769e539.jpg +0 -0
- package/kb/references/thumbs/1d1fd23199.jpg +0 -0
- package/kb/references/thumbs/1d7b6602ac.jpg +0 -0
- package/kb/references/thumbs/1dbbc61b9e.jpg +0 -0
- package/kb/references/thumbs/1dbdd6d21d.jpg +0 -0
- package/kb/references/thumbs/1dd873744b.jpg +0 -0
- package/kb/references/thumbs/1df4dd7cf9.jpg +0 -0
- package/kb/references/thumbs/1ece8c35b8.jpg +0 -0
- package/kb/references/thumbs/1f0e5b9aa4.jpg +0 -0
- package/kb/references/thumbs/1f1419651b.jpg +0 -0
- package/kb/references/thumbs/1f2a6da92d.jpg +0 -0
- package/kb/references/thumbs/1f651f33c0.jpg +0 -0
- package/kb/references/thumbs/1f8b697d18.jpg +0 -0
- package/kb/references/thumbs/1fee3824cd.jpg +0 -0
- package/kb/references/thumbs/1ff7757853.jpg +0 -0
- package/kb/references/thumbs/2043182f01.jpg +0 -0
- package/kb/references/thumbs/2059dabcd5.jpg +0 -0
- package/kb/references/thumbs/209d9dbb95.jpg +0 -0
- package/kb/references/thumbs/20d8923554.jpg +0 -0
- package/kb/references/thumbs/210dd3b671.jpg +0 -0
- package/kb/references/thumbs/2120719116.jpg +0 -0
- package/kb/references/thumbs/21a7384429.jpg +0 -0
- package/kb/references/thumbs/225f187391.jpg +0 -0
- package/kb/references/thumbs/230caf7dd2.jpg +0 -0
- package/kb/references/thumbs/235afad355.jpg +0 -0
- package/kb/references/thumbs/2378066687.jpg +0 -0
- package/kb/references/thumbs/241faf68a1.jpg +0 -0
- package/kb/references/thumbs/24d9f1a9b9.jpg +0 -0
- package/kb/references/thumbs/2505c8b9a0.jpg +0 -0
- package/kb/references/thumbs/25593638ca.jpg +0 -0
- package/kb/references/thumbs/25dd454f18.jpg +0 -0
- package/kb/references/thumbs/2602e123e2.jpg +0 -0
- package/kb/references/thumbs/26095c0b11.jpg +0 -0
- package/kb/references/thumbs/26260d6238.jpg +0 -0
- package/kb/references/thumbs/26bba21836.jpg +0 -0
- package/kb/references/thumbs/26bde3520b.jpg +0 -0
- package/kb/references/thumbs/272e22067c.jpg +0 -0
- package/kb/references/thumbs/27421b3226.jpg +0 -0
- package/kb/references/thumbs/2769ebca41.jpg +0 -0
- package/kb/references/thumbs/27e2f6e8b0.jpg +0 -0
- package/kb/references/thumbs/28432ba373.jpg +0 -0
- package/kb/references/thumbs/2846626f19.jpg +0 -0
- package/kb/references/thumbs/28750e821e.jpg +0 -0
- package/kb/references/thumbs/289481230f.jpg +0 -0
- package/kb/references/thumbs/2897967408.jpg +0 -0
- package/kb/references/thumbs/28c0a5fa17.jpg +0 -0
- package/kb/references/thumbs/28c181fba5.jpg +0 -0
- package/kb/references/thumbs/29806f539f.jpg +0 -0
- package/kb/references/thumbs/2997f56ee7.jpg +0 -0
- package/kb/references/thumbs/29b34a10fb.jpg +0 -0
- package/kb/references/thumbs/29bd78cdb4.jpg +0 -0
- package/kb/references/thumbs/29c8c6c22a.jpg +0 -0
- package/kb/references/thumbs/2ac23f7fae.jpg +0 -0
- package/kb/references/thumbs/2b76e13f79.jpg +0 -0
- package/kb/references/thumbs/2b84226479.jpg +0 -0
- package/kb/references/thumbs/2bf2dbf737.jpg +0 -0
- package/kb/references/thumbs/2bf89abbf6.jpg +0 -0
- package/kb/references/thumbs/2c562cd534.jpg +0 -0
- package/kb/references/thumbs/2cfe9d48c4.jpg +0 -0
- package/kb/references/thumbs/2d49f19b27.jpg +0 -0
- package/kb/references/thumbs/2dc8670da7.jpg +0 -0
- package/kb/references/thumbs/2de947c469.jpg +0 -0
- package/kb/references/thumbs/2e075ca79f.jpg +0 -0
- package/kb/references/thumbs/2eb0820e6b.jpg +0 -0
- package/kb/references/thumbs/2ec56a9dc0.jpg +0 -0
- package/kb/references/thumbs/30bb4ad607.jpg +0 -0
- package/kb/references/thumbs/30d19b8444.jpg +0 -0
- package/kb/references/thumbs/3173c71d73.jpg +0 -0
- package/kb/references/thumbs/31e59e4518.jpg +0 -0
- package/kb/references/thumbs/322b8960e8.jpg +0 -0
- package/kb/references/thumbs/325c9be6f4.jpg +0 -0
- package/kb/references/thumbs/3273338982.jpg +0 -0
- package/kb/references/thumbs/32f8387f38.jpg +0 -0
- package/kb/references/thumbs/332f6b74c3.jpg +0 -0
- package/kb/references/thumbs/334b146b6a.jpg +0 -0
- package/kb/references/thumbs/339abd60e4.jpg +0 -0
- package/kb/references/thumbs/33e88ec295.jpg +0 -0
- package/kb/references/thumbs/340931b5d4.jpg +0 -0
- package/kb/references/thumbs/34165a93bd.jpg +0 -0
- package/kb/references/thumbs/34d0575dd7.jpg +0 -0
- package/kb/references/thumbs/3549e75f0a.jpg +0 -0
- package/kb/references/thumbs/35827f1561.jpg +0 -0
- package/kb/references/thumbs/37c50280ec.jpg +0 -0
- package/kb/references/thumbs/37e66ecf11.jpg +0 -0
- package/kb/references/thumbs/3841a04fdc.jpg +0 -0
- package/kb/references/thumbs/38490c088f.jpg +0 -0
- package/kb/references/thumbs/3850319e9f.jpg +0 -0
- package/kb/references/thumbs/3856a64166.jpg +0 -0
- package/kb/references/thumbs/3881f211c2.jpg +0 -0
- package/kb/references/thumbs/38c7dde2f3.jpg +0 -0
- package/kb/references/thumbs/38ce9e486c.jpg +0 -0
- package/kb/references/thumbs/390ea8e01b.jpg +0 -0
- package/kb/references/thumbs/391b7fc27c.jpg +0 -0
- package/kb/references/thumbs/395f7214dc.jpg +0 -0
- package/kb/references/thumbs/39e81a5db2.jpg +0 -0
- package/kb/references/thumbs/3a67c8d655.jpg +0 -0
- package/kb/references/thumbs/3a89c25e3b.jpg +0 -0
- package/kb/references/thumbs/3aa0837542.jpg +0 -0
- package/kb/references/thumbs/3aae18aa8a.jpg +0 -0
- package/kb/references/thumbs/3bdbe767db.jpg +0 -0
- package/kb/references/thumbs/3c0616fc7f.jpg +0 -0
- package/kb/references/thumbs/3c18e9db1d.jpg +0 -0
- package/kb/references/thumbs/3c5a14076c.jpg +0 -0
- package/kb/references/thumbs/3ca9ec15c6.jpg +0 -0
- package/kb/references/thumbs/3d7756fd35.jpg +0 -0
- package/kb/references/thumbs/3dd45bd33d.jpg +0 -0
- package/kb/references/thumbs/3de72d5414.jpg +0 -0
- package/kb/references/thumbs/3dede597af.jpg +0 -0
- package/kb/references/thumbs/3ea948619e.jpg +0 -0
- package/kb/references/thumbs/402c12054c.jpg +0 -0
- package/kb/references/thumbs/403ab4af90.jpg +0 -0
- package/kb/references/thumbs/40773a8c63.jpg +0 -0
- package/kb/references/thumbs/407d9583db.jpg +0 -0
- package/kb/references/thumbs/415dc1d84c.jpg +0 -0
- package/kb/references/thumbs/420b676a4f.jpg +0 -0
- package/kb/references/thumbs/42a1ee85eb.jpg +0 -0
- package/kb/references/thumbs/43059221aa.jpg +0 -0
- package/kb/references/thumbs/432fa0d22c.jpg +0 -0
- package/kb/references/thumbs/43826f20e3.jpg +0 -0
- package/kb/references/thumbs/43ac55c98a.jpg +0 -0
- package/kb/references/thumbs/43d098f3c3.jpg +0 -0
- package/kb/references/thumbs/4449d80c2c.jpg +0 -0
- package/kb/references/thumbs/44625727dc.jpg +0 -0
- package/kb/references/thumbs/4482bb87a1.jpg +0 -0
- package/kb/references/thumbs/44b078acdc.jpg +0 -0
- package/kb/references/thumbs/44d0305850.jpg +0 -0
- package/kb/references/thumbs/456bb6b59e.jpg +0 -0
- package/kb/references/thumbs/45df73ce48.jpg +0 -0
- package/kb/references/thumbs/45edb45d87.jpg +0 -0
- package/kb/references/thumbs/4671d57cd5.jpg +0 -0
- package/kb/references/thumbs/46cc108518.jpg +0 -0
- package/kb/references/thumbs/470022e614.jpg +0 -0
- package/kb/references/thumbs/4719a669ce.jpg +0 -0
- package/kb/references/thumbs/47404f5ad4.jpg +0 -0
- package/kb/references/thumbs/479d3eb977.jpg +0 -0
- package/kb/references/thumbs/479ed92ceb.jpg +0 -0
- package/kb/references/thumbs/47baed50c7.jpg +0 -0
- package/kb/references/thumbs/47fdcfd7b0.jpg +0 -0
- package/kb/references/thumbs/48fd5e94c5.jpg +0 -0
- package/kb/references/thumbs/493807917b.jpg +0 -0
- package/kb/references/thumbs/49a1c67293.jpg +0 -0
- package/kb/references/thumbs/49e2d7fafe.jpg +0 -0
- package/kb/references/thumbs/49f540fcb6.jpg +0 -0
- package/kb/references/thumbs/4a67ec4028.jpg +0 -0
- package/kb/references/thumbs/4a93275b04.jpg +0 -0
- package/kb/references/thumbs/4aae6f52da.jpg +0 -0
- package/kb/references/thumbs/4b1bae66bd.jpg +0 -0
- package/kb/references/thumbs/4b75da15a9.jpg +0 -0
- package/kb/references/thumbs/4b77789b88.jpg +0 -0
- package/kb/references/thumbs/4bc2f3f3a4.jpg +0 -0
- package/kb/references/thumbs/4c48f27b88.jpg +0 -0
- package/kb/references/thumbs/4c52bd8bfb.jpg +0 -0
- package/kb/references/thumbs/4c9b4acc60.jpg +0 -0
- package/kb/references/thumbs/4cbf0752d4.jpg +0 -0
- package/kb/references/thumbs/4cd2672517.jpg +0 -0
- package/kb/references/thumbs/4dd22a8181.jpg +0 -0
- package/kb/references/thumbs/4ee3447314.jpg +0 -0
- package/kb/references/thumbs/4ef29c8144.jpg +0 -0
- package/kb/references/thumbs/4f82fadfd6.jpg +0 -0
- package/kb/references/thumbs/4fc9b643d8.jpg +0 -0
- package/kb/references/thumbs/50549524b0.jpg +0 -0
- package/kb/references/thumbs/509a615883.jpg +0 -0
- package/kb/references/thumbs/50c03ef855.jpg +0 -0
- package/kb/references/thumbs/50cf9acad6.jpg +0 -0
- package/kb/references/thumbs/51131b025c.jpg +0 -0
- package/kb/references/thumbs/51da1124f0.jpg +0 -0
- package/kb/references/thumbs/524d5e7288.jpg +0 -0
- package/kb/references/thumbs/5251247c81.jpg +0 -0
- package/kb/references/thumbs/526b91b7ec.jpg +0 -0
- package/kb/references/thumbs/52f02f6c2e.jpg +0 -0
- package/kb/references/thumbs/530ab530dc.jpg +0 -0
- package/kb/references/thumbs/5335ee4404.jpg +0 -0
- package/kb/references/thumbs/5385b90939.jpg +0 -0
- package/kb/references/thumbs/53c54654cc.jpg +0 -0
- package/kb/references/thumbs/5420794c6c.jpg +0 -0
- package/kb/references/thumbs/542a9dce8b.jpg +0 -0
- package/kb/references/thumbs/5571530a5f.jpg +0 -0
- package/kb/references/thumbs/56cc68d804.jpg +0 -0
- package/kb/references/thumbs/577b7f7c44.jpg +0 -0
- package/kb/references/thumbs/57adf8f1bb.jpg +0 -0
- package/kb/references/thumbs/57c5f5e3a6.jpg +0 -0
- package/kb/references/thumbs/57ffe4e839.jpg +0 -0
- package/kb/references/thumbs/5817dfc7d6.jpg +0 -0
- package/kb/references/thumbs/581a182a7a.jpg +0 -0
- package/kb/references/thumbs/58807679c8.jpg +0 -0
- package/kb/references/thumbs/589a1d9111.jpg +0 -0
- package/kb/references/thumbs/59167391ab.jpg +0 -0
- package/kb/references/thumbs/5a70420166.jpg +0 -0
- package/kb/references/thumbs/5b10df1b8d.jpg +0 -0
- package/kb/references/thumbs/5b7a712fdb.jpg +0 -0
- package/kb/references/thumbs/5bc46b92ad.jpg +0 -0
- package/kb/references/thumbs/5c0546a120.jpg +0 -0
- package/kb/references/thumbs/5c2b6125a8.jpg +0 -0
- package/kb/references/thumbs/5c536b9e42.jpg +0 -0
- package/kb/references/thumbs/5c8e441d30.jpg +0 -0
- package/kb/references/thumbs/5cb6f1baa5.jpg +0 -0
- package/kb/references/thumbs/5ce6c1f21e.jpg +0 -0
- package/kb/references/thumbs/5cef052c0a.jpg +0 -0
- package/kb/references/thumbs/5d08438209.jpg +0 -0
- package/kb/references/thumbs/5d0f9af9b0.jpg +0 -0
- package/kb/references/thumbs/5d300ed332.jpg +0 -0
- package/kb/references/thumbs/5d708a4794.jpg +0 -0
- package/kb/references/thumbs/5de8826a98.jpg +0 -0
- package/kb/references/thumbs/5df7bff22c.jpg +0 -0
- package/kb/references/thumbs/5e087d0f00.jpg +0 -0
- package/kb/references/thumbs/5e44e70ca0.jpg +0 -0
- package/kb/references/thumbs/5eff5d80ce.jpg +0 -0
- package/kb/references/thumbs/5f015c96b1.jpg +0 -0
- package/kb/references/thumbs/5f3289b7c4.jpg +0 -0
- package/kb/references/thumbs/5f830c40eb.jpg +0 -0
- package/kb/references/thumbs/60c4c3527b.jpg +0 -0
- package/kb/references/thumbs/60e9e594dd.jpg +0 -0
- package/kb/references/thumbs/615421d7be.jpg +0 -0
- package/kb/references/thumbs/6176e4004f.jpg +0 -0
- package/kb/references/thumbs/61f0fe5e06.jpg +0 -0
- package/kb/references/thumbs/6213785db4.jpg +0 -0
- package/kb/references/thumbs/62a670ae09.jpg +0 -0
- package/kb/references/thumbs/63cc12981b.jpg +0 -0
- package/kb/references/thumbs/641f15cc71.jpg +0 -0
- package/kb/references/thumbs/642ab2081d.jpg +0 -0
- package/kb/references/thumbs/644a59bf6e.jpg +0 -0
- package/kb/references/thumbs/644da8a8e3.jpg +0 -0
- package/kb/references/thumbs/6458986897.jpg +0 -0
- package/kb/references/thumbs/64cfbd7b93.jpg +0 -0
- package/kb/references/thumbs/661a57686a.jpg +0 -0
- package/kb/references/thumbs/66355a813a.jpg +0 -0
- package/kb/references/thumbs/664396dd44.jpg +0 -0
- package/kb/references/thumbs/66d832d65f.jpg +0 -0
- package/kb/references/thumbs/66de9e9833.jpg +0 -0
- package/kb/references/thumbs/6750964fd9.jpg +0 -0
- package/kb/references/thumbs/67c7164832.jpg +0 -0
- package/kb/references/thumbs/681600b6cd.jpg +0 -0
- package/kb/references/thumbs/682e75afe4.jpg +0 -0
- package/kb/references/thumbs/69274bc952.jpg +0 -0
- package/kb/references/thumbs/696ec08c52.jpg +0 -0
- package/kb/references/thumbs/69760111cc.jpg +0 -0
- package/kb/references/thumbs/697e32664f.jpg +0 -0
- package/kb/references/thumbs/69df92544b.jpg +0 -0
- package/kb/references/thumbs/69e48c5229.jpg +0 -0
- package/kb/references/thumbs/6a5fb75de1.jpg +0 -0
- package/kb/references/thumbs/6a7389e472.jpg +0 -0
- package/kb/references/thumbs/6a9b041e02.jpg +0 -0
- package/kb/references/thumbs/6ab2fa93ee.jpg +0 -0
- package/kb/references/thumbs/6ae3400319.jpg +0 -0
- package/kb/references/thumbs/6b21344bf3.jpg +0 -0
- package/kb/references/thumbs/6bd1b67a8a.jpg +0 -0
- package/kb/references/thumbs/6c99156c4f.jpg +0 -0
- package/kb/references/thumbs/6cc9b65384.jpg +0 -0
- package/kb/references/thumbs/6d15830a73.jpg +0 -0
- package/kb/references/thumbs/6d4c33d180.jpg +0 -0
- package/kb/references/thumbs/6e36815799.jpg +0 -0
- package/kb/references/thumbs/6eddb9cbfc.jpg +0 -0
- package/kb/references/thumbs/6f97968a7c.jpg +0 -0
- package/kb/references/thumbs/6fa0716a7d.jpg +0 -0
- package/kb/references/thumbs/6facd57184.jpg +0 -0
- package/kb/references/thumbs/6fd57b785a.jpg +0 -0
- package/kb/references/thumbs/700b3cb185.jpg +0 -0
- package/kb/references/thumbs/71197443fa.jpg +0 -0
- package/kb/references/thumbs/72082bc9ee.jpg +0 -0
- package/kb/references/thumbs/72453db479.jpg +0 -0
- package/kb/references/thumbs/72cd64d500.jpg +0 -0
- package/kb/references/thumbs/72d1e75283.jpg +0 -0
- package/kb/references/thumbs/72e13f7f5b.jpg +0 -0
- package/kb/references/thumbs/7459f8e644.jpg +0 -0
- package/kb/references/thumbs/7470d55c79.jpg +0 -0
- package/kb/references/thumbs/74c468f02a.jpg +0 -0
- package/kb/references/thumbs/74fed6eb77.jpg +0 -0
- package/kb/references/thumbs/756e05080d.jpg +0 -0
- package/kb/references/thumbs/75df7e5f49.jpg +0 -0
- package/kb/references/thumbs/76226da6ef.jpg +0 -0
- package/kb/references/thumbs/76a34aa056.jpg +0 -0
- package/kb/references/thumbs/76c7076589.jpg +0 -0
- package/kb/references/thumbs/76cccc396c.jpg +0 -0
- package/kb/references/thumbs/774654789f.jpg +0 -0
- package/kb/references/thumbs/7746cc494d.jpg +0 -0
- package/kb/references/thumbs/7766e36aa3.jpg +0 -0
- package/kb/references/thumbs/78049331ef.jpg +0 -0
- package/kb/references/thumbs/78808a0ca5.jpg +0 -0
- package/kb/references/thumbs/7890b0a310.jpg +0 -0
- package/kb/references/thumbs/78911975e6.jpg +0 -0
- package/kb/references/thumbs/78d289d5a0.jpg +0 -0
- package/kb/references/thumbs/794126267e.jpg +0 -0
- package/kb/references/thumbs/7976eb9025.jpg +0 -0
- package/kb/references/thumbs/798519ec7c.jpg +0 -0
- package/kb/references/thumbs/7a6cc5eecc.jpg +0 -0
- package/kb/references/thumbs/7ac8a7cd4a.jpg +0 -0
- package/kb/references/thumbs/7b1341d61d.jpg +0 -0
- package/kb/references/thumbs/7b9c4031e3.jpg +0 -0
- package/kb/references/thumbs/7ba5ad3779.jpg +0 -0
- package/kb/references/thumbs/7be6eb2bd0.jpg +0 -0
- package/kb/references/thumbs/7c30864f5d.jpg +0 -0
- package/kb/references/thumbs/7c379b5e17.jpg +0 -0
- package/kb/references/thumbs/7c4050eb02.jpg +0 -0
- package/kb/references/thumbs/7ca47b3221.jpg +0 -0
- package/kb/references/thumbs/7d43516bd7.jpg +0 -0
- package/kb/references/thumbs/7da9dbb98a.jpg +0 -0
- package/kb/references/thumbs/7ddda8f57c.jpg +0 -0
- package/kb/references/thumbs/7ece6d215c.jpg +0 -0
- package/kb/references/thumbs/7eebf029de.jpg +0 -0
- package/kb/references/thumbs/7f45483c15.jpg +0 -0
- package/kb/references/thumbs/7fde06eaa5.jpg +0 -0
- package/kb/references/thumbs/80407b97e9.jpg +0 -0
- package/kb/references/thumbs/80f0a6cf4b.jpg +0 -0
- package/kb/references/thumbs/8118b451b8.jpg +0 -0
- package/kb/references/thumbs/816baed4a8.jpg +0 -0
- package/kb/references/thumbs/817d2d15d9.jpg +0 -0
- package/kb/references/thumbs/8260cb430d.jpg +0 -0
- package/kb/references/thumbs/827b562899.jpg +0 -0
- package/kb/references/thumbs/8293cf1e92.jpg +0 -0
- package/kb/references/thumbs/8294653169.jpg +0 -0
- package/kb/references/thumbs/83061f871f.jpg +0 -0
- package/kb/references/thumbs/833df778ca.jpg +0 -0
- package/kb/references/thumbs/83d3acaafc.jpg +0 -0
- package/kb/references/thumbs/844c6efeff.jpg +0 -0
- package/kb/references/thumbs/84563d482a.jpg +0 -0
- package/kb/references/thumbs/848082dd94.jpg +0 -0
- package/kb/references/thumbs/8494b1da94.jpg +0 -0
- package/kb/references/thumbs/84b71014be.jpg +0 -0
- package/kb/references/thumbs/84be4a5f3c.jpg +0 -0
- package/kb/references/thumbs/84fd0fd25a.jpg +0 -0
- package/kb/references/thumbs/853e488e22.jpg +0 -0
- package/kb/references/thumbs/858c91585d.jpg +0 -0
- package/kb/references/thumbs/85903e8fe9.jpg +0 -0
- package/kb/references/thumbs/86597d43fd.jpg +0 -0
- package/kb/references/thumbs/866eb99500.jpg +0 -0
- package/kb/references/thumbs/86ac050340.jpg +0 -0
- package/kb/references/thumbs/86afec7b64.jpg +0 -0
- package/kb/references/thumbs/87238127f5.jpg +0 -0
- package/kb/references/thumbs/87321df792.jpg +0 -0
- package/kb/references/thumbs/87460f70cd.jpg +0 -0
- package/kb/references/thumbs/8770dfeaec.jpg +0 -0
- package/kb/references/thumbs/8798451a8c.jpg +0 -0
- package/kb/references/thumbs/87da1f34a3.jpg +0 -0
- package/kb/references/thumbs/882cdf8c05.jpg +0 -0
- package/kb/references/thumbs/8839f4106f.jpg +0 -0
- package/kb/references/thumbs/8844455212.jpg +0 -0
- package/kb/references/thumbs/88abba0497.jpg +0 -0
- package/kb/references/thumbs/88b372435d.jpg +0 -0
- package/kb/references/thumbs/88bd4f35fa.jpg +0 -0
- package/kb/references/thumbs/88c71a075e.jpg +0 -0
- package/kb/references/thumbs/892e5f048e.jpg +0 -0
- package/kb/references/thumbs/893cc8e920.jpg +0 -0
- package/kb/references/thumbs/896c198814.jpg +0 -0
- package/kb/references/thumbs/8a8e22f756.jpg +0 -0
- package/kb/references/thumbs/8a9d8a35cb.jpg +0 -0
- package/kb/references/thumbs/8ab1d67fec.jpg +0 -0
- package/kb/references/thumbs/8ab201fe12.jpg +0 -0
- package/kb/references/thumbs/8ac372c102.jpg +0 -0
- package/kb/references/thumbs/8b15736d62.jpg +0 -0
- package/kb/references/thumbs/8b1d8d6a05.jpg +0 -0
- package/kb/references/thumbs/8bb6050e20.jpg +0 -0
- package/kb/references/thumbs/8c6c9d1577.jpg +0 -0
- package/kb/references/thumbs/8d337851e0.jpg +0 -0
- package/kb/references/thumbs/8d44b33cc5.jpg +0 -0
- package/kb/references/thumbs/8d4536ff3b.jpg +0 -0
- package/kb/references/thumbs/8d9b99454a.jpg +0 -0
- package/kb/references/thumbs/8dda2303ff.jpg +0 -0
- package/kb/references/thumbs/8dec722d62.jpg +0 -0
- package/kb/references/thumbs/8e0ea4ca74.jpg +0 -0
- package/kb/references/thumbs/8ebba84d69.jpg +0 -0
- package/kb/references/thumbs/8ef09140c0.jpg +0 -0
- package/kb/references/thumbs/8f2928a1b0.jpg +0 -0
- package/kb/references/thumbs/8f88f9ddba.jpg +0 -0
- package/kb/references/thumbs/8fa4451009.jpg +0 -0
- package/kb/references/thumbs/90109b0e02.jpg +0 -0
- package/kb/references/thumbs/90e854e5c9.jpg +0 -0
- package/kb/references/thumbs/914e79f893.jpg +0 -0
- package/kb/references/thumbs/9161369197.jpg +0 -0
- package/kb/references/thumbs/9165c87d6f.jpg +0 -0
- package/kb/references/thumbs/9193f6558a.jpg +0 -0
- package/kb/references/thumbs/91ac7df877.jpg +0 -0
- package/kb/references/thumbs/9216bd4931.jpg +0 -0
- package/kb/references/thumbs/922ae8a26a.jpg +0 -0
- package/kb/references/thumbs/92a70e6867.jpg +0 -0
- package/kb/references/thumbs/92c77ece22.jpg +0 -0
- package/kb/references/thumbs/92e5914fbf.jpg +0 -0
- package/kb/references/thumbs/92ee36419a.jpg +0 -0
- package/kb/references/thumbs/94153a60b0.jpg +0 -0
- package/kb/references/thumbs/9449666640.jpg +0 -0
- package/kb/references/thumbs/944be6a646.jpg +0 -0
- package/kb/references/thumbs/945831476e.jpg +0 -0
- package/kb/references/thumbs/94c1af82f4.jpg +0 -0
- package/kb/references/thumbs/9599d6d589.jpg +0 -0
- package/kb/references/thumbs/960710f4cf.jpg +0 -0
- package/kb/references/thumbs/9608f12d64.jpg +0 -0
- package/kb/references/thumbs/962dabfaa0.jpg +0 -0
- package/kb/references/thumbs/965a3a95c6.jpg +0 -0
- package/kb/references/thumbs/9672ed5ae4.jpg +0 -0
- package/kb/references/thumbs/96891ae9c1.jpg +0 -0
- package/kb/references/thumbs/96e1907c99.jpg +0 -0
- package/kb/references/thumbs/96f25b6578.jpg +0 -0
- package/kb/references/thumbs/97211df9ae.jpg +0 -0
- package/kb/references/thumbs/9769d763a5.jpg +0 -0
- package/kb/references/thumbs/9792bd6d05.jpg +0 -0
- package/kb/references/thumbs/97d2837e3e.jpg +0 -0
- package/kb/references/thumbs/97d90d1d85.jpg +0 -0
- package/kb/references/thumbs/97fcd5774a.jpg +0 -0
- package/kb/references/thumbs/980f68564e.jpg +0 -0
- package/kb/references/thumbs/98511fb393.jpg +0 -0
- package/kb/references/thumbs/98f8fa694d.jpg +0 -0
- package/kb/references/thumbs/9a42c6bb97.jpg +0 -0
- package/kb/references/thumbs/9ab3600a06.jpg +0 -0
- package/kb/references/thumbs/9ab48d9130.jpg +0 -0
- package/kb/references/thumbs/9ad519197d.jpg +0 -0
- package/kb/references/thumbs/9b1382c657.jpg +0 -0
- package/kb/references/thumbs/9b6cc1e077.jpg +0 -0
- package/kb/references/thumbs/9beede8480.jpg +0 -0
- package/kb/references/thumbs/9bf8976952.jpg +0 -0
- package/kb/references/thumbs/9cace7b75a.jpg +0 -0
- package/kb/references/thumbs/9cdcc5745e.jpg +0 -0
- package/kb/references/thumbs/9d0b269074.jpg +0 -0
- package/kb/references/thumbs/9d41788b48.jpg +0 -0
- package/kb/references/thumbs/9d475bd6af.jpg +0 -0
- package/kb/references/thumbs/9e6bc543d0.jpg +0 -0
- package/kb/references/thumbs/9ed0e0a206.jpg +0 -0
- package/kb/references/thumbs/9ef538de13.jpg +0 -0
- package/kb/references/thumbs/9efc373ab4.jpg +0 -0
- package/kb/references/thumbs/9f4a939fa5.jpg +0 -0
- package/kb/references/thumbs/9f8d12d7b9.jpg +0 -0
- package/kb/references/thumbs/9fd5e3efa7.jpg +0 -0
- package/kb/references/thumbs/a0a9b9c572.jpg +0 -0
- package/kb/references/thumbs/a29ca9b185.jpg +0 -0
- package/kb/references/thumbs/a2a42884af.jpg +0 -0
- package/kb/references/thumbs/a2f5064e34.jpg +0 -0
- package/kb/references/thumbs/a3112ce672.jpg +0 -0
- package/kb/references/thumbs/a3437736d1.jpg +0 -0
- package/kb/references/thumbs/a372667e76.jpg +0 -0
- package/kb/references/thumbs/a39bae94e9.jpg +0 -0
- package/kb/references/thumbs/a3fc75d94c.jpg +0 -0
- package/kb/references/thumbs/a440487631.jpg +0 -0
- package/kb/references/thumbs/a4993d5fb5.jpg +0 -0
- package/kb/references/thumbs/a500476a86.jpg +0 -0
- package/kb/references/thumbs/a55506bf46.jpg +0 -0
- package/kb/references/thumbs/a59a5f9843.jpg +0 -0
- package/kb/references/thumbs/a5bce0eede.jpg +0 -0
- package/kb/references/thumbs/a5d921e1f0.jpg +0 -0
- package/kb/references/thumbs/a5e19d4637.jpg +0 -0
- package/kb/references/thumbs/a5f92b97d5.jpg +0 -0
- package/kb/references/thumbs/a6562c210a.jpg +0 -0
- package/kb/references/thumbs/a6f61a8d09.jpg +0 -0
- package/kb/references/thumbs/a719fdf663.jpg +0 -0
- package/kb/references/thumbs/a724e5442f.jpg +0 -0
- package/kb/references/thumbs/a852b4319f.jpg +0 -0
- package/kb/references/thumbs/a896c08448.jpg +0 -0
- package/kb/references/thumbs/a8d190a4b8.jpg +0 -0
- package/kb/references/thumbs/a8dcdd57d7.jpg +0 -0
- package/kb/references/thumbs/a951347e18.jpg +0 -0
- package/kb/references/thumbs/a9a1a0bf7d.jpg +0 -0
- package/kb/references/thumbs/a9b72986a8.jpg +0 -0
- package/kb/references/thumbs/aa11555ba8.jpg +0 -0
- package/kb/references/thumbs/aa4aab9093.jpg +0 -0
- package/kb/references/thumbs/aa89b96658.jpg +0 -0
- package/kb/references/thumbs/aaeb3739b6.jpg +0 -0
- package/kb/references/thumbs/ab25a608ec.jpg +0 -0
- package/kb/references/thumbs/ab34b62268.jpg +0 -0
- package/kb/references/thumbs/ab3b0217bb.jpg +0 -0
- package/kb/references/thumbs/ac70c04afb.jpg +0 -0
- package/kb/references/thumbs/ace0879117.jpg +0 -0
- package/kb/references/thumbs/ad0515ae55.jpg +0 -0
- package/kb/references/thumbs/ad66b25b47.jpg +0 -0
- package/kb/references/thumbs/ad68229d2f.jpg +0 -0
- package/kb/references/thumbs/add6480693.jpg +0 -0
- package/kb/references/thumbs/ae5b8c3b8c.jpg +0 -0
- package/kb/references/thumbs/ae81247b47.jpg +0 -0
- package/kb/references/thumbs/af8aa54379.jpg +0 -0
- package/kb/references/thumbs/afa80dedd4.jpg +0 -0
- package/kb/references/thumbs/afe04d730f.jpg +0 -0
- package/kb/references/thumbs/b09a7dc315.jpg +0 -0
- package/kb/references/thumbs/b0c02629f6.jpg +0 -0
- package/kb/references/thumbs/b1cb4f91de.jpg +0 -0
- package/kb/references/thumbs/b1d4c13c92.jpg +0 -0
- package/kb/references/thumbs/b20eef86db.jpg +0 -0
- package/kb/references/thumbs/b3136ccdde.jpg +0 -0
- package/kb/references/thumbs/b3f5e8d7dd.jpg +0 -0
- package/kb/references/thumbs/b44adb81c9.jpg +0 -0
- package/kb/references/thumbs/b457a5894b.jpg +0 -0
- package/kb/references/thumbs/b461281e0f.jpg +0 -0
- package/kb/references/thumbs/b4942644f0.jpg +0 -0
- package/kb/references/thumbs/b49f8eccad.jpg +0 -0
- package/kb/references/thumbs/b56c69be23.jpg +0 -0
- package/kb/references/thumbs/b59786b33c.jpg +0 -0
- package/kb/references/thumbs/b5d368ce5a.jpg +0 -0
- package/kb/references/thumbs/b5eb442406.jpg +0 -0
- package/kb/references/thumbs/b7fdabf4ab.jpg +0 -0
- package/kb/references/thumbs/b88ee8d235.jpg +0 -0
- package/kb/references/thumbs/b8a4e5be8a.jpg +0 -0
- package/kb/references/thumbs/b8c85b661c.jpg +0 -0
- package/kb/references/thumbs/ba1b8e7435.jpg +0 -0
- package/kb/references/thumbs/ba9a593eed.jpg +0 -0
- package/kb/references/thumbs/baa7afc201.jpg +0 -0
- package/kb/references/thumbs/baf74398f7.jpg +0 -0
- package/kb/references/thumbs/bb3e947c10.jpg +0 -0
- package/kb/references/thumbs/bb4c1bb7c1.jpg +0 -0
- package/kb/references/thumbs/bbaa25cc8a.jpg +0 -0
- package/kb/references/thumbs/bc7e7f88cc.jpg +0 -0
- package/kb/references/thumbs/bc9d5b58f5.jpg +0 -0
- package/kb/references/thumbs/bcc99a51f7.jpg +0 -0
- package/kb/references/thumbs/bce13dd1c1.jpg +0 -0
- package/kb/references/thumbs/bd079a6130.jpg +0 -0
- package/kb/references/thumbs/bd2d70dda7.jpg +0 -0
- package/kb/references/thumbs/bd5895c5f2.jpg +0 -0
- package/kb/references/thumbs/bde8e31d62.jpg +0 -0
- package/kb/references/thumbs/be084e78f3.jpg +0 -0
- package/kb/references/thumbs/be94f170c8.jpg +0 -0
- package/kb/references/thumbs/bed33654f7.jpg +0 -0
- package/kb/references/thumbs/beeb9a0c18.jpg +0 -0
- package/kb/references/thumbs/bef42094dc.jpg +0 -0
- package/kb/references/thumbs/bf625496fa.jpg +0 -0
- package/kb/references/thumbs/bf771f1398.jpg +0 -0
- package/kb/references/thumbs/c0ddefa3d9.jpg +0 -0
- package/kb/references/thumbs/c0f01e536e.jpg +0 -0
- package/kb/references/thumbs/c1d592b678.jpg +0 -0
- package/kb/references/thumbs/c1e83e1b3e.jpg +0 -0
- package/kb/references/thumbs/c2168f8096.jpg +0 -0
- package/kb/references/thumbs/c249cd6b17.jpg +0 -0
- package/kb/references/thumbs/c2e3d4feed.jpg +0 -0
- package/kb/references/thumbs/c3cec01df1.jpg +0 -0
- package/kb/references/thumbs/c47bedb42d.jpg +0 -0
- package/kb/references/thumbs/c4b03b4680.jpg +0 -0
- package/kb/references/thumbs/c4e6d18ec3.jpg +0 -0
- package/kb/references/thumbs/c5477e2877.jpg +0 -0
- package/kb/references/thumbs/c566794674.jpg +0 -0
- package/kb/references/thumbs/c5b945afbb.jpg +0 -0
- package/kb/references/thumbs/c5e4659497.jpg +0 -0
- package/kb/references/thumbs/c622786702.jpg +0 -0
- package/kb/references/thumbs/c6250649ca.jpg +0 -0
- package/kb/references/thumbs/c6261a9526.jpg +0 -0
- package/kb/references/thumbs/c62e609076.jpg +0 -0
- package/kb/references/thumbs/c6602d3e85.jpg +0 -0
- package/kb/references/thumbs/c6c1a16e40.jpg +0 -0
- package/kb/references/thumbs/c77f932157.jpg +0 -0
- package/kb/references/thumbs/c79788f01e.jpg +0 -0
- package/kb/references/thumbs/c7a511ad1e.jpg +0 -0
- package/kb/references/thumbs/c7acfbc3c8.jpg +0 -0
- package/kb/references/thumbs/c7bb6d1bb8.jpg +0 -0
- package/kb/references/thumbs/c829eadcb9.jpg +0 -0
- package/kb/references/thumbs/c891fd9d85.jpg +0 -0
- package/kb/references/thumbs/c89f812ee3.jpg +0 -0
- package/kb/references/thumbs/c8a85b9f61.jpg +0 -0
- package/kb/references/thumbs/c8fdf85c9a.jpg +0 -0
- package/kb/references/thumbs/c961ac1031.jpg +0 -0
- package/kb/references/thumbs/c9fd3f88d8.jpg +0 -0
- package/kb/references/thumbs/ca0d6399c3.jpg +0 -0
- package/kb/references/thumbs/ca316c83e4.jpg +0 -0
- package/kb/references/thumbs/ca3b93aa0d.jpg +0 -0
- package/kb/references/thumbs/cb0596a85b.jpg +0 -0
- package/kb/references/thumbs/cb95a5c3ef.jpg +0 -0
- package/kb/references/thumbs/cbe238b656.jpg +0 -0
- package/kb/references/thumbs/cbf530e608.jpg +0 -0
- package/kb/references/thumbs/cc173494ec.jpg +0 -0
- package/kb/references/thumbs/ccb664bddf.jpg +0 -0
- package/kb/references/thumbs/ccf69d36cd.jpg +0 -0
- package/kb/references/thumbs/ccf759db42.jpg +0 -0
- package/kb/references/thumbs/cd2a285807.jpg +0 -0
- package/kb/references/thumbs/cd4a24a8ca.jpg +0 -0
- package/kb/references/thumbs/cdb3fe8938.jpg +0 -0
- package/kb/references/thumbs/cdce1b9bc6.jpg +0 -0
- package/kb/references/thumbs/cde3aa761a.jpg +0 -0
- package/kb/references/thumbs/ce9d5cd9c2.jpg +0 -0
- package/kb/references/thumbs/ceb01f8a34.jpg +0 -0
- package/kb/references/thumbs/cee15c98d0.jpg +0 -0
- package/kb/references/thumbs/cf6944ddae.jpg +0 -0
- package/kb/references/thumbs/d15dd21cd8.jpg +0 -0
- package/kb/references/thumbs/d1633bf2ed.jpg +0 -0
- package/kb/references/thumbs/d16a838000.jpg +0 -0
- package/kb/references/thumbs/d1cf87e9f0.jpg +0 -0
- package/kb/references/thumbs/d32511d913.jpg +0 -0
- package/kb/references/thumbs/d327e9dedd.jpg +0 -0
- package/kb/references/thumbs/d35bf6c85e.jpg +0 -0
- package/kb/references/thumbs/d37afc9d61.jpg +0 -0
- package/kb/references/thumbs/d3b66655c7.jpg +0 -0
- package/kb/references/thumbs/d40b4172b6.jpg +0 -0
- package/kb/references/thumbs/d4c40d1824.jpg +0 -0
- package/kb/references/thumbs/d4cb55a4b6.jpg +0 -0
- package/kb/references/thumbs/d4f0c30f7e.jpg +0 -0
- package/kb/references/thumbs/d51cce3ae5.jpg +0 -0
- package/kb/references/thumbs/d52948f9ba.jpg +0 -0
- package/kb/references/thumbs/d62bd3cba4.jpg +0 -0
- package/kb/references/thumbs/d668a21c92.jpg +0 -0
- package/kb/references/thumbs/d685072c52.jpg +0 -0
- package/kb/references/thumbs/d6d7b96093.jpg +0 -0
- package/kb/references/thumbs/d7cd874b21.jpg +0 -0
- package/kb/references/thumbs/d7e111736a.jpg +0 -0
- package/kb/references/thumbs/d88325f832.jpg +0 -0
- package/kb/references/thumbs/d9272ded76.jpg +0 -0
- package/kb/references/thumbs/d962e7c654.jpg +0 -0
- package/kb/references/thumbs/d97f000ee2.jpg +0 -0
- package/kb/references/thumbs/d9c1ae2543.jpg +0 -0
- package/kb/references/thumbs/d9ccb3cac8.jpg +0 -0
- package/kb/references/thumbs/da99019680.jpg +0 -0
- package/kb/references/thumbs/da9b8bc615.jpg +0 -0
- package/kb/references/thumbs/daafbee2c1.jpg +0 -0
- package/kb/references/thumbs/db0f11f143.jpg +0 -0
- package/kb/references/thumbs/db5dd367f5.jpg +0 -0
- package/kb/references/thumbs/db69677866.jpg +0 -0
- package/kb/references/thumbs/db87c1956e.jpg +0 -0
- package/kb/references/thumbs/dbb86d8bda.jpg +0 -0
- package/kb/references/thumbs/dbd3a8ff2a.jpg +0 -0
- package/kb/references/thumbs/dbdf4b2794.jpg +0 -0
- package/kb/references/thumbs/dd4c19b4b1.jpg +0 -0
- package/kb/references/thumbs/dd98d9f6fa.jpg +0 -0
- package/kb/references/thumbs/ddb00e3b6a.jpg +0 -0
- package/kb/references/thumbs/dde3541a5c.jpg +0 -0
- package/kb/references/thumbs/de2a4da502.jpg +0 -0
- package/kb/references/thumbs/de4c387a66.jpg +0 -0
- package/kb/references/thumbs/de5618fa82.jpg +0 -0
- package/kb/references/thumbs/de6bec2538.jpg +0 -0
- package/kb/references/thumbs/dea13cbb1f.jpg +0 -0
- package/kb/references/thumbs/deff9202aa.jpg +0 -0
- package/kb/references/thumbs/df12835f8d.jpg +0 -0
- package/kb/references/thumbs/df57acbb3d.jpg +0 -0
- package/kb/references/thumbs/df8265009e.jpg +0 -0
- package/kb/references/thumbs/dfc99a1e8e.jpg +0 -0
- package/kb/references/thumbs/dfc9fde460.jpg +0 -0
- package/kb/references/thumbs/e038348eee.jpg +0 -0
- package/kb/references/thumbs/e04c2ae1d5.jpg +0 -0
- package/kb/references/thumbs/e070345c43.jpg +0 -0
- package/kb/references/thumbs/e0a0c84d47.jpg +0 -0
- package/kb/references/thumbs/e0af1e6b9e.jpg +0 -0
- package/kb/references/thumbs/e1025942c4.jpg +0 -0
- package/kb/references/thumbs/e11b6f5b82.jpg +0 -0
- package/kb/references/thumbs/e1553de3fc.jpg +0 -0
- package/kb/references/thumbs/e162ebe7cd.jpg +0 -0
- package/kb/references/thumbs/e1f1e531d8.jpg +0 -0
- package/kb/references/thumbs/e20842e5c9.jpg +0 -0
- package/kb/references/thumbs/e24e7d949b.jpg +0 -0
- package/kb/references/thumbs/e2a3e5d10a.jpg +0 -0
- package/kb/references/thumbs/e2de02615a.jpg +0 -0
- package/kb/references/thumbs/e305dad7dd.jpg +0 -0
- package/kb/references/thumbs/e52e3ef97f.jpg +0 -0
- package/kb/references/thumbs/e570e92d06.jpg +0 -0
- package/kb/references/thumbs/e583932fb9.jpg +0 -0
- package/kb/references/thumbs/e5da3c038f.jpg +0 -0
- package/kb/references/thumbs/e657634af3.jpg +0 -0
- package/kb/references/thumbs/e67946e3e1.jpg +0 -0
- package/kb/references/thumbs/e69e0f3639.jpg +0 -0
- package/kb/references/thumbs/e6ebe66031.jpg +0 -0
- package/kb/references/thumbs/e7db9563c9.jpg +0 -0
- package/kb/references/thumbs/e84a4c3b7b.jpg +0 -0
- package/kb/references/thumbs/e84cf52c27.jpg +0 -0
- package/kb/references/thumbs/e8707cf6e8.jpg +0 -0
- package/kb/references/thumbs/e888890b40.jpg +0 -0
- package/kb/references/thumbs/e8a502b418.jpg +0 -0
- package/kb/references/thumbs/e8ba68371d.jpg +0 -0
- package/kb/references/thumbs/e9098f54cc.jpg +0 -0
- package/kb/references/thumbs/e9144deae9.jpg +0 -0
- package/kb/references/thumbs/e93e98d757.jpg +0 -0
- package/kb/references/thumbs/e9762dd435.jpg +0 -0
- package/kb/references/thumbs/e9db4544c8.jpg +0 -0
- package/kb/references/thumbs/e9ddffeacd.jpg +0 -0
- package/kb/references/thumbs/e9e2cf1d7e.jpg +0 -0
- package/kb/references/thumbs/ea1e23e623.jpg +0 -0
- package/kb/references/thumbs/ea41200f5e.jpg +0 -0
- package/kb/references/thumbs/eaf4916e1a.jpg +0 -0
- package/kb/references/thumbs/eb2c505fc8.jpg +0 -0
- package/kb/references/thumbs/eb47943693.jpg +0 -0
- package/kb/references/thumbs/eb4ffd6625.jpg +0 -0
- package/kb/references/thumbs/eb82ac0a4d.jpg +0 -0
- package/kb/references/thumbs/ebeb345ade.jpg +0 -0
- package/kb/references/thumbs/ec4e2aba0a.jpg +0 -0
- package/kb/references/thumbs/ed683bc9f7.jpg +0 -0
- package/kb/references/thumbs/ed9e236a84.jpg +0 -0
- package/kb/references/thumbs/ee45e1caea.jpg +0 -0
- package/kb/references/thumbs/ee50bbf2e7.jpg +0 -0
- package/kb/references/thumbs/eed6ad3b7b.jpg +0 -0
- package/kb/references/thumbs/eee247fd70.jpg +0 -0
- package/kb/references/thumbs/ef87b6cb99.jpg +0 -0
- package/kb/references/thumbs/ef87dccf04.jpg +0 -0
- package/kb/references/thumbs/ef941bba1e.jpg +0 -0
- package/kb/references/thumbs/effc14fb2c.jpg +0 -0
- package/kb/references/thumbs/f04aa5a191.jpg +0 -0
- package/kb/references/thumbs/f13f12485f.jpg +0 -0
- package/kb/references/thumbs/f16a5c0fd4.jpg +0 -0
- package/kb/references/thumbs/f1ba7a7a8f.jpg +0 -0
- package/kb/references/thumbs/f1bc4c9c19.jpg +0 -0
- package/kb/references/thumbs/f1ee827878.jpg +0 -0
- package/kb/references/thumbs/f21736aeff.jpg +0 -0
- package/kb/references/thumbs/f22bc41213.jpg +0 -0
- package/kb/references/thumbs/f266aaffcc.jpg +0 -0
- package/kb/references/thumbs/f2c0ed0d65.jpg +0 -0
- package/kb/references/thumbs/f32ac710fd.jpg +0 -0
- package/kb/references/thumbs/f32b697ff6.jpg +0 -0
- package/kb/references/thumbs/f39c883904.jpg +0 -0
- package/kb/references/thumbs/f3b9d55e6e.jpg +0 -0
- package/kb/references/thumbs/f3c1763e14.jpg +0 -0
- package/kb/references/thumbs/f40853fd43.jpg +0 -0
- package/kb/references/thumbs/f4fd07dc4d.jpg +0 -0
- package/kb/references/thumbs/f50b756ee5.jpg +0 -0
- package/kb/references/thumbs/f51272e9b3.jpg +0 -0
- package/kb/references/thumbs/f538895eee.jpg +0 -0
- package/kb/references/thumbs/f5d28081b5.jpg +0 -0
- package/kb/references/thumbs/f6046c9501.jpg +0 -0
- package/kb/references/thumbs/f62e4af316.jpg +0 -0
- package/kb/references/thumbs/f6f6bffeb8.jpg +0 -0
- package/kb/references/thumbs/f736e00af6.jpg +0 -0
- package/kb/references/thumbs/f7932da47d.jpg +0 -0
- package/kb/references/thumbs/f879e118ca.jpg +0 -0
- package/kb/references/thumbs/f88257215d.jpg +0 -0
- package/kb/references/thumbs/f88c45a6d7.jpg +0 -0
- package/kb/references/thumbs/f89a7b646e.jpg +0 -0
- package/kb/references/thumbs/f8a1e7a274.jpg +0 -0
- package/kb/references/thumbs/f9183cf2b6.jpg +0 -0
- package/kb/references/thumbs/f995de5ce9.jpg +0 -0
- package/kb/references/thumbs/f9ada2c3e1.jpg +0 -0
- package/kb/references/thumbs/f9d4616f89.jpg +0 -0
- package/kb/references/thumbs/f9f4307bb0.jpg +0 -0
- package/kb/references/thumbs/fa070122c7.jpg +0 -0
- package/kb/references/thumbs/fa29cc1369.jpg +0 -0
- package/kb/references/thumbs/fa791a4dab.jpg +0 -0
- package/kb/references/thumbs/fa8060509e.jpg +0 -0
- package/kb/references/thumbs/fafeed4003.jpg +0 -0
- package/kb/references/thumbs/fb1c024f38.jpg +0 -0
- package/kb/references/thumbs/fb77aa28b3.jpg +0 -0
- package/kb/references/thumbs/fb9f7f1966.jpg +0 -0
- package/kb/references/thumbs/fba8a8c2da.jpg +0 -0
- package/kb/references/thumbs/fce2754c36.jpg +0 -0
- package/kb/references/thumbs/fce2fb83df.jpg +0 -0
- package/kb/references/thumbs/fd4c51bb47.jpg +0 -0
- package/kb/references/thumbs/fd8c269817.jpg +0 -0
- package/kb/references/thumbs/fdb7b250ca.jpg +0 -0
- package/kb/references/thumbs/fe18088de8.jpg +0 -0
- package/kb/references/thumbs/fe4f742ba7.jpg +0 -0
- package/kb/references/thumbs/fe64742ce7.jpg +0 -0
- package/kb/references/thumbs/feb5d62161.jpg +0 -0
- package/kb/references/thumbs/fed21b3e98.jpg +0 -0
- package/kb/references/thumbs/fed2205951.jpg +0 -0
- package/kb/references/thumbs/ffdacf1715.jpg +0 -0
- package/kb/sections/_buttons.md +93 -0
- package/kb/sections/_finish.md +325 -0
- package/kb/sections/about-founder-note.md +85 -0
- package/kb/sections/about-team-roster.md +86 -0
- package/kb/sections/alternating-rows-live-tiles.md +110 -0
- package/kb/sections/annotated-product-shot.md +105 -0
- package/kb/sections/asymmetric-bento-dominant.md +114 -0
- package/kb/sections/before-after-features.md +104 -0
- package/kb/sections/before-after-repair.md +107 -0
- package/kb/sections/bento-lead-tile.md +112 -0
- package/kb/sections/book-a-slot-honest.md +116 -0
- package/kb/sections/capability-prompt-ledger.md +68 -0
- package/kb/sections/case-study-band.md +113 -0
- package/kb/sections/centred-stack-hero.md +107 -0
- package/kb/sections/closing-demo-final-state.md +81 -0
- package/kb/sections/closing-full-bleed-line-and-form.md +86 -0
- package/kb/sections/closing-result-previewed.md +88 -0
- package/kb/sections/closing-three-real-steps.md +87 -0
- package/kb/sections/command-reference-table.md +70 -0
- package/kb/sections/comparison-old-way-bars.md +88 -0
- package/kb/sections/comparison-same-task-two-ways.md +88 -0
- package/kb/sections/day-of-the-place.md +102 -0
- package/kb/sections/docs-reading-rail.md +88 -0
- package/kb/sections/editorial-columns-hero.md +107 -0
- package/kb/sections/editorial-essay-pull-quote.md +112 -0
- package/kb/sections/events-calendar-list.md +107 -0
- package/kb/sections/explorable-control-demo.md +102 -0
- package/kb/sections/faq-open-answers-editorial.md +85 -0
- package/kb/sections/faq-ruled-accordion-aside.md +87 -0
- package/kb/sections/footer-closing-scene.md +84 -0
- package/kb/sections/footer-editorial-sitemap.md +85 -0
- package/kb/sections/footer-minimal-credits.md +80 -0
- package/kb/sections/full-bleed-image-band.md +103 -0
- package/kb/sections/full-bleed-image-hero.md +105 -0
- package/kb/sections/gallery-first-hero.md +109 -0
- package/kb/sections/horizontal-scroll-strip.md +101 -0
- package/kb/sections/how-i-work-own-voice.md +111 -0
- package/kb/sections/how-it-works-in-place.md +109 -0
- package/kb/sections/impact-numbers-sourced.md +109 -0
- package/kb/sections/install-steps-per-agent.md +77 -0
- package/kb/sections/masonry-real-work.md +109 -0
- package/kb/sections/numbered-editorial-columns.md +105 -0
- package/kb/sections/object-first-hero.md +106 -0
- package/kb/sections/object-timeline.md +105 -0
- package/kb/sections/one-huge-number.md +100 -0
- package/kb/sections/one-person-story.md +103 -0
- package/kb/sections/order-ahead-ticket.md +119 -0
- package/kb/sections/press-strip-quoted.md +106 -0
- package/kb/sections/pricing-comparison-table-sticky.md +94 -0
- package/kb/sections/pricing-free-pro-upgrade-moment.md +85 -0
- package/kb/sections/pricing-plan-beside-product.md +88 -0
- package/kb/sections/pricing-plans-ledger.md +94 -0
- package/kb/sections/pricing-usage-calculator.md +93 -0
- package/kb/sections/printed-menu-card.md +110 -0
- package/kb/sections/process-happening.md +102 -0
- package/kb/sections/project-index-ruled.md +106 -0
- package/kb/sections/proof-logo-cloud-with-reasons.md +82 -0
- package/kb/sections/proof-measured-numbers.md +88 -0
- package/kb/sections/proof-output-wall.md +84 -0
- package/kb/sections/proof-single-honest-quote.md +81 -0
- package/kb/sections/resources-searchable-list.md +110 -0
- package/kb/sections/rooms-and-rates.md +107 -0
- package/kb/sections/ruled-facts-table.md +108 -0
- package/kb/sections/ruled-list-pinned-visual.md +107 -0
- package/kb/sections/scroll-scrubbed-product-demo.md +103 -0
- package/kb/sections/self-playing-run-demo.md +104 -0
- package/kb/sections/services-price-ledger.md +106 -0
- package/kb/sections/signup-form-with-next-steps.md +86 -0
- package/kb/sections/signup-waitlist-place-in-line.md +90 -0
- package/kb/sections/spec-sheet-features.md +108 -0
- package/kb/sections/split-hero-live-object.md +108 -0
- package/kb/sections/sticky-feature-narrative.md +104 -0
- package/kb/sections/todays-board-hero.md +112 -0
- package/kb/sections/touchable-tool-hero.md +111 -0
- package/kb/sections/typographic-statement-hero.md +99 -0
- package/kb/sections/visit-hours-map.md +110 -0
- package/kb/sections/ways-to-help-honest.md +115 -0
- package/kb/sources/design-reference.md +991 -0
- package/kb/sources/product-and-docs.md +37 -0
- package/kb/systems/1win/DESIGN.md +463 -0
- package/kb/systems/LICENSE-awesome-design-md +21 -0
- package/kb/systems/README.md +7 -0
- package/kb/systems/airbnb/DESIGN.md +545 -0
- package/kb/systems/airtable/DESIGN.md +554 -0
- package/kb/systems/aljazeera/DESIGN.md +594 -0
- package/kb/systems/apple/DESIGN.md +562 -0
- package/kb/systems/binance/DESIGN.md +634 -0
- package/kb/systems/bmw/DESIGN.md +544 -0
- package/kb/systems/bmw-m/DESIGN.md +503 -0
- package/kb/systems/bugatti/DESIGN.md +454 -0
- package/kb/systems/cal/DESIGN.md +542 -0
- package/kb/systems/categories.json +87 -0
- package/kb/systems/claude/DESIGN.md +589 -0
- package/kb/systems/clay/DESIGN.md +541 -0
- package/kb/systems/clickhouse/DESIGN.md +544 -0
- package/kb/systems/cohere/DESIGN.md +451 -0
- package/kb/systems/coinbase/DESIGN.md +570 -0
- package/kb/systems/composio/DESIGN.md +506 -0
- package/kb/systems/cursor/DESIGN.md +537 -0
- package/kb/systems/dell-1996/DESIGN.md +632 -0
- package/kb/systems/dji/DESIGN.md +882 -0
- package/kb/systems/elevenlabs/DESIGN.md +504 -0
- package/kb/systems/expo/DESIGN.md +526 -0
- package/kb/systems/ferrari/DESIGN.md +531 -0
- package/kb/systems/figma/DESIGN.md +578 -0
- package/kb/systems/framer/DESIGN.md +544 -0
- package/kb/systems/hashicorp/DESIGN.md +575 -0
- package/kb/systems/hp/DESIGN.md +670 -0
- package/kb/systems/ibm/DESIGN.md +550 -0
- package/kb/systems/intercom/DESIGN.md +546 -0
- package/kb/systems/jobright/DESIGN.md +525 -0
- package/kb/systems/kraken/DESIGN.md +125 -0
- package/kb/systems/lamborghini/DESIGN.md +288 -0
- package/kb/systems/linear.app/DESIGN.md +548 -0
- package/kb/systems/lovable/DESIGN.md +298 -0
- package/kb/systems/mastercard/DESIGN.md +365 -0
- package/kb/systems/mercury/DESIGN.md +568 -0
- package/kb/systems/meta/DESIGN.md +683 -0
- package/kb/systems/minimax/DESIGN.md +746 -0
- package/kb/systems/mintlify/DESIGN.md +852 -0
- package/kb/systems/miro/DESIGN.md +825 -0
- package/kb/systems/mistral.ai/DESIGN.md +773 -0
- package/kb/systems/mongodb/DESIGN.md +767 -0
- package/kb/systems/mydealz/DESIGN.md +551 -0
- package/kb/systems/nerdwallet/DESIGN.md +722 -0
- package/kb/systems/nike/DESIGN.md +575 -0
- package/kb/systems/nintendo-2001/DESIGN.md +649 -0
- package/kb/systems/notion/DESIGN.md +821 -0
- package/kb/systems/nvidia/DESIGN.md +640 -0
- package/kb/systems/ollama/DESIGN.md +539 -0
- package/kb/systems/opencode.ai/DESIGN.md +521 -0
- package/kb/systems/oracle/DESIGN.md +778 -0
- package/kb/systems/oura/DESIGN.md +616 -0
- package/kb/systems/pinterest/DESIGN.md +597 -0
- package/kb/systems/playstation/DESIGN.md +661 -0
- package/kb/systems/posthog/DESIGN.md +690 -0
- package/kb/systems/raycast/DESIGN.md +669 -0
- package/kb/systems/renault/DESIGN.md +589 -0
- package/kb/systems/replicate/DESIGN.md +616 -0
- package/kb/systems/resend/DESIGN.md +585 -0
- package/kb/systems/revolut/DESIGN.md +636 -0
- package/kb/systems/runwayml/DESIGN.md +244 -0
- package/kb/systems/sanity/DESIGN.md +357 -0
- package/kb/systems/sap/DESIGN.md +639 -0
- package/kb/systems/sentry/DESIGN.md +551 -0
- package/kb/systems/shopify/DESIGN.md +516 -0
- package/kb/systems/slack/DESIGN.md +482 -0
- package/kb/systems/spacex/DESIGN.md +363 -0
- package/kb/systems/spotify/DESIGN.md +246 -0
- package/kb/systems/starbucks/DESIGN.md +580 -0
- package/kb/systems/stripe/DESIGN.md +487 -0
- package/kb/systems/supabase/DESIGN.md +462 -0
- package/kb/systems/superhuman/DESIGN.md +448 -0
- package/kb/systems/tesla/DESIGN.md +286 -0
- package/kb/systems/theverge/DESIGN.md +339 -0
- package/kb/systems/together.ai/DESIGN.md +633 -0
- package/kb/systems/uber/DESIGN.md +636 -0
- package/kb/systems/vercel/DESIGN.md +736 -0
- package/kb/systems/vodafone/DESIGN.md +538 -0
- package/kb/systems/voltagent/DESIGN.md +521 -0
- package/kb/systems/warp/DESIGN.md +526 -0
- package/kb/systems/webflow/DESIGN.md +588 -0
- package/kb/systems/wired/DESIGN.md +497 -0
- package/kb/systems/wise/DESIGN.md +544 -0
- package/kb/systems/x.ai/DESIGN.md +465 -0
- package/kb/systems/zapier/DESIGN.md +537 -0
- package/kb/taste/garvit-by-job.md +46 -0
- package/kb/taste/garvit-portfolio.md +94 -0
- package/kb/universal/color-roles.md +26 -0
- package/kb/universal/copy.md +16 -0
- package/kb/universal/details.md +31 -0
- package/kb/universal/first-screen.md +30 -0
- package/kb/universal/fit-the-codebase.md +29 -0
- package/kb/universal/layout-width.md +28 -0
- package/kb/universal/motion-feedback.md +23 -0
- package/kb/universal/signature.md +29 -0
- package/kb/universal/states.md +17 -0
- package/kb/universal/type-app.md +33 -0
- package/kb/universal/type-marketing.md +28 -0
- package/package.json +36 -4
- package/scripts/pack-assets.mjs +48 -0
- package/skill/palate/SKILL.md +261 -0
- package/src/auth-recheck.mjs +4 -0
- package/src/auth.mjs +416 -0
- package/src/capture.mjs +182 -0
- package/src/catalog/classify.mjs +96 -0
- package/src/catalog/curated.mjs +128 -0
- package/src/catalog/index-build.mjs +67 -0
- package/src/catalog/literal.mjs +146 -0
- package/src/catalog/store.mjs +40 -0
- package/src/catalog/vibrant.mjs +126 -0
- package/src/check.mjs +93 -0
- package/src/concept.mjs +157 -0
- package/src/context.mjs +226 -0
- package/src/copy.mjs +188 -0
- package/src/devserver.mjs +135 -0
- package/src/fontgenre.mjs +44 -0
- package/src/guard-agents.mjs +213 -0
- package/src/guard.mjs +377 -0
- package/src/kb.mjs +91 -0
- package/src/look.mjs +312 -0
- package/src/loop/ambition.mjs +620 -0
- package/src/loop/animate.mjs +70 -0
- package/src/loop/artdirection.mjs +264 -0
- package/src/loop/bench.mjs +184 -0
- package/src/loop/benchpick.mjs +155 -0
- package/src/loop/blueprint.mjs +620 -0
- package/src/loop/board.html +180 -0
- package/src/loop/build.mjs +393 -0
- package/src/loop/buttons.mjs +413 -0
- package/src/loop/common.mjs +206 -0
- package/src/loop/cost.mjs +63 -0
- package/src/loop/craft.mjs +152 -0
- package/src/loop/craftchecks.mjs +148 -0
- package/src/loop/critique.mjs +393 -0
- package/src/loop/details.mjs +225 -0
- package/src/loop/direction.html +168 -0
- package/src/loop/direction.mjs +256 -0
- package/src/loop/directions.json +8 -0
- package/src/loop/explore.mjs +219 -0
- package/src/loop/fail.mjs +110 -0
- package/src/loop/fix.mjs +194 -0
- package/src/loop/floor.mjs +677 -0
- package/src/loop/forget.mjs +52 -0
- package/src/loop/gate.mjs +1053 -0
- package/src/loop/grid.html +123 -0
- package/src/loop/growth.mjs +118 -0
- package/src/loop/icons.mjs +109 -0
- package/src/loop/imagery.mjs +1280 -0
- package/src/loop/judge-api.mjs +245 -0
- package/src/loop/judge.mjs +167 -0
- package/src/loop/layouts.mjs +492 -0
- package/src/loop/library.mjs +82 -0
- package/src/loop/lookplan.mjs +182 -0
- package/src/loop/lookvec.mjs +645 -0
- package/src/loop/match.mjs +923 -0
- package/src/loop/matched.mjs +26 -0
- package/src/loop/myrefs.mjs +151 -0
- package/src/loop/pick.mjs +213 -0
- package/src/loop/picker.html +118 -0
- package/src/loop/plan.mjs +289 -0
- package/src/loop/polish.mjs +39 -0
- package/src/loop/research-learn.mjs +41 -0
- package/src/loop/research.mjs +1130 -0
- package/src/loop/rulereview.mjs +146 -0
- package/src/loop/rules-board.html +199 -0
- package/src/loop/rules.mjs +939 -0
- package/src/loop/similar.mjs +276 -0
- package/src/loop/states-source.mjs +258 -0
- package/src/loop/states.mjs +1547 -0
- package/src/loop/stats.mjs +78 -0
- package/src/loop/taste.mjs +81 -0
- package/src/loop/timeline.mjs +149 -0
- package/src/loop/variants.mjs +228 -0
- package/src/loop/vary.mjs +249 -0
- package/src/mcp/server.mjs +1246 -0
- package/src/motion.mjs +207 -0
- package/src/moves.mjs +242 -0
- package/src/novelty.mjs +116 -0
- package/src/page-ambition.js +181 -0
- package/src/page-craft.js +724 -0
- package/src/page-details.js +415 -0
- package/src/page-devices.js +365 -0
- package/src/page-fingerprint.js +281 -0
- package/src/page-gate.js +1307 -0
- package/src/page-look.js +698 -0
- package/src/page-metrics.js +78 -0
- package/src/page-principles.js +1167 -0
- package/src/page-rules.js +308 -0
- package/src/page-sections.js +211 -0
- package/src/page-states.js +703 -0
- package/src/paths.mjs +13 -0
- package/src/png.mjs +107 -0
- package/src/point/auto.mjs +224 -0
- package/src/point/locate.mjs +114 -0
- package/src/point/overlay.js +1516 -0
- package/src/point/server.mjs +1122 -0
- package/src/point/trail.mjs +219 -0
- package/src/pool.mjs +80 -0
- package/src/principles.mjs +279 -0
- package/src/refs.mjs +299 -0
- package/src/robots.mjs +145 -0
- package/src/sections.mjs +210 -0
- package/src/shoot.mjs +235 -0
- package/src/systems/apply.mjs +355 -0
- package/src/systems/load.mjs +251 -0
- package/src/systems/pick.mjs +213 -0
- package/templates/vite-react-tw/index.html +12 -0
- package/templates/vite-react-tw/package.json +25 -0
- package/templates/vite-react-tw/src/App.tsx +3 -0
- package/templates/vite-react-tw/src/index.css +1 -0
- package/templates/vite-react-tw/src/main.tsx +10 -0
- package/templates/vite-react-tw/tsconfig.app.json +26 -0
- package/templates/vite-react-tw/tsconfig.json +7 -0
- package/templates/vite-react-tw/tsconfig.node.json +23 -0
- package/templates/vite-react-tw/vite.config.ts +8 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: proof-output-wall
|
|
3
|
+
name: A wall of real things made with it
|
|
4
|
+
kind: proof
|
|
5
|
+
shape: masonry
|
|
6
|
+
layout: "a packed wall of real outputs made with the product (pages, prints, renders, files), each with its maker and a link, one or two set larger"
|
|
7
|
+
fits: [crafted, ai, developer, community, artsy, portfolio, honest, saas, consumer, launch, agency, music]
|
|
8
|
+
avoid: [enterprise-compliance, clinical, crisis, finance-trust-first, government]
|
|
9
|
+
needs: ["8–20 real outputs made with the product (by the team counts, labelled as such)", "the maker's name and a link or permission for each", "thumbnails at true aspect ratios"]
|
|
10
|
+
imagery: any
|
|
11
|
+
density: dense
|
|
12
|
+
moves: [honest-testimonial-wall, made-with-proof, marquee-done-right]
|
|
13
|
+
effort: m
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When it's right
|
|
17
|
+
|
|
18
|
+
The product makes something people can see: sites, designs, images, music, documents, code, prints. The strongest proof is the output itself, so the section shows a lot of it, real and attributed. Works before there are famous customers: early outputs made by the team, labelled "made by us while building it", still prove the product works. Pairs with the moves `made-with-proof` and `honest-testimonial-wall`. Not for products whose output is private (finance, health records) or invisible (infrastructure; use `proof-measured-numbers`).
|
|
19
|
+
|
|
20
|
+
## Structure
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
1440 ─ full container 1200 (or wider, 1320, if the outputs are images)
|
|
24
|
+
┌──────────────────────────────────────────────────────────────────────────┐
|
|
25
|
+
│ H2 "Made with Loom & Line" 412 shared this month → │ ← count only if real and linked
|
|
26
|
+
│ ┌───────────────┐ ┌──────┐ ┌──────────┐ ┌──────┐ │
|
|
27
|
+
│ │ │ │ │ │ │ │ │ │
|
|
28
|
+
│ │ large (2×) │ │ │ └──────────┘ │ │ │
|
|
29
|
+
│ │ │ └──────┘ ┌──────────┐ └──────┘ │
|
|
30
|
+
│ └───────────────┘ ┌──────┐ │ │ ┌──────┐ │
|
|
31
|
+
│ ┌──────┐┌───────┐ │ │ └──────────┘ │ │ │
|
|
32
|
+
│ └──────┘└───────┘ └──────┘ └──────┘ │
|
|
33
|
+
│ each tile: the output at true ratio; under it: maker · what it is · ↗ │
|
|
34
|
+
│ [ See all 412 ] [ Add yours ] │
|
|
35
|
+
└──────────────────────────────────────────────────────────────────────────┘
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
390 ─ two columns of tiles (one column if outputs are text-heavy)
|
|
40
|
+
H2, count
|
|
41
|
+
tiles in 2 masonry columns, 8 shown
|
|
42
|
+
[ See all ] full width
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
At 390, 2 columns with 8px gaps if outputs are visual (thumbnails stay legible as pictures); one column if each output needs reading (code, documents). The large tiles become normal size.
|
|
46
|
+
|
|
47
|
+
## Finish
|
|
48
|
+
|
|
49
|
+
- Masonry via CSS columns (`columns: 4 260px; column-gap: 16px; break-inside: avoid`) or a grid with `grid-auto-flow: dense` for fixed ratios. Gaps 16 at 1440, 8–12 at 390. Tiles keep their true aspect ratio; no cropping that hides what the thing is.
|
|
50
|
+
- Each tile: the output, `--r-sm`, an inset 1px outline at 6–8% opacity (D20) so light images don't bleed into the page. No card box around the caption; caption sits 8px under the image, small size: maker (primary), what it is (secondary), an arrow link.
|
|
51
|
+
- One or two tiles set at 2× width, chosen as the best work, placed top-left so the eye starts there.
|
|
52
|
+
- Heading left-aligned; the count on the same baseline at the right, in secondary type, linked to the full gallery.
|
|
53
|
+
- Buttons: "See all" secondary; "Add yours" (if there is a submission path) as a text link. The page's primary action stays in the closing section.
|
|
54
|
+
|
|
55
|
+
## Content
|
|
56
|
+
|
|
57
|
+
- Only real outputs, with the maker's consent or a public link. Outputs made by the team are labelled ("made by our team") rather than passed off as customers.
|
|
58
|
+
- Variety: different makers, styles and uses, so the wall shows range, not one template repeated.
|
|
59
|
+
- The count is a real, queryable number with a date or "this month", or no count at all.
|
|
60
|
+
- Never generated "sample" outputs presented as user work. Never stock images.
|
|
61
|
+
|
|
62
|
+
## States and motion
|
|
63
|
+
|
|
64
|
+
- Images lazy-load with a fixed aspect-ratio box and a flat placeholder in `--hairline`, so the wall doesn't reflow.
|
|
65
|
+
- Hover (fine pointer): the caption's link underlines, the image lifts 2px with `--shadow-1` (resting, `_finish.md`). Click opens the output's source or a lightbox with the full piece and maker link; Escape closes.
|
|
66
|
+
- Optional slow marquee for very large walls only per `marquee-done-right` (pause on hover and focus, static under reduced motion). Default is static.
|
|
67
|
+
|
|
68
|
+
## Pitfalls
|
|
69
|
+
|
|
70
|
+
- Twelve outputs that all look the same: proves one template, not the product.
|
|
71
|
+
- Cropping every tile to a square so typography and composition are lost.
|
|
72
|
+
- Captions in tiny grey on top of images.
|
|
73
|
+
- Outputs without makers: reads as stock.
|
|
74
|
+
- A "trusted by thousands" line with no number you can check.
|
|
75
|
+
|
|
76
|
+
## Floor checks
|
|
77
|
+
|
|
78
|
+
- Does the wall show many actual outputs of the product rather than descriptions of them?
|
|
79
|
+
- Does each output carry who made it (or say it was made by the team)?
|
|
80
|
+
- Do the outputs show visible variety in style and use?
|
|
81
|
+
- Is one piece clearly larger so the eye has a place to start?
|
|
82
|
+
- Are images shown at their true proportions without awkward crops?
|
|
83
|
+
- Is there no empty area larger than a third of the section?
|
|
84
|
+
- At 390, are the outputs still recognisable at their tile size?
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: proof-single-honest-quote
|
|
3
|
+
name: One large quote, with a real person and context
|
|
4
|
+
kind: proof
|
|
5
|
+
shape: single-statement
|
|
6
|
+
layout: "one customer's own words set large across the content width, their photo, name, role and company, plus the context: what they used it for and a link to the source"
|
|
7
|
+
fits: [crafted, editorial, premium, calm, honest, trustworthy, b2b, saas, agency, quiet, warm, publishing]
|
|
8
|
+
avoid: [crisis, clinical, playful-kids]
|
|
9
|
+
needs: ["one real quote, with permission, from a named person", "their photo or a real photo of their work", "the context: what they did with the product and a source link or case study"]
|
|
10
|
+
imagery: photo
|
|
11
|
+
density: airy
|
|
12
|
+
moves: [honest-testimonial-wall, editorial-grid-pull-quotes]
|
|
13
|
+
effort: s
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When it's right
|
|
17
|
+
|
|
18
|
+
The product has one great, specific, attributable quote from a customer people will recognise as real: a named person, a role, a company, a concrete result in their own words. One quote set large is more believable than a carousel of nine, because it looks chosen, not collected. Use when the quote is specific ("it caught the empty state I forgot", not "game-changing tool"). The consent and attribution rules are those of `honest-testimonial-wall`; on long editorial pages it can sit as a pull quote (`editorial-grid-pull-quotes`). Not when the only quotes are vague or anonymous: use `proof-output-wall` or `proof-measured-numbers` instead.
|
|
19
|
+
|
|
20
|
+
## Structure
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
1440 ─ container 1200, quote across cols 2–11
|
|
24
|
+
┌──────────────────────────────────────────────────────────────────────────┐
|
|
25
|
+
│ │
|
|
26
|
+
│ “We shipped the redesign in nine days. The part I didn't expect: │ ← quote, h2–display size, hanging
|
|
27
|
+
│ it caught every empty state we'd forgotten.” │ opening quote mark
|
|
28
|
+
│ │
|
|
29
|
+
│ ┌────┐ Ama Mensah Rebuilt the Northwind dashboard │ ← attribution left, context right
|
|
30
|
+
│ │ ph │ Head of Design, Northwind with Acme, Sep 2026 │
|
|
31
|
+
│ └────┘ Read the story → │
|
|
32
|
+
│ │
|
|
33
|
+
└──────────────────────────────────────────────────────────────────────────┘
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
390
|
|
38
|
+
quote, h3–h2 size, left aligned
|
|
39
|
+
photo 48 + name + role
|
|
40
|
+
context line, link
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
At 390 the quote drops two steps on the type scale (stays at least 24px) and the context moves under the attribution. Everything stays left-aligned.
|
|
44
|
+
|
|
45
|
+
## Finish
|
|
46
|
+
|
|
47
|
+
- Quote: h2 to small-display size (about 36–48px at 1440), weight 400–500 in the display or text face, line-height 1.2, `text-wrap: balance`, max 28–32 words. Left-aligned, opening quotation mark hung into the left margin (`text-indent: -0.45em` or a negative margin) so the text edge stays on the grid (P05). Curly quotes (M32).
|
|
48
|
+
- Attribution row 48px below the quote: photo 56px circle (their real photo; D32), name body 600, role and company small secondary. Context on the same row at the right: one line, what they used the product for, and a link to the source or case study.
|
|
49
|
+
- No card, no box, no background tint by default; the size is the treatment. If the page needs a band here, a full-width surface one step off the page background, never a gradient.
|
|
50
|
+
- No accent-coloured word inside the quote (M14).
|
|
51
|
+
- Section padding the page's larger section spacing (128 at 1440); this section is allowed to be airy because it is short.
|
|
52
|
+
|
|
53
|
+
## Content
|
|
54
|
+
|
|
55
|
+
- The quote is their words, trimmed with an ellipsis if needed, never rewritten. Keep it specific; specifics persuade.
|
|
56
|
+
- Name, role, company, and either a source link (post, review, case study) or a record of consent kept by the team.
|
|
57
|
+
- The photo is of that person (or, if they prefer, a real photo of their work). Never a stock or generated face (M10).
|
|
58
|
+
- If no such quote exists, do not ship this archetype.
|
|
59
|
+
|
|
60
|
+
## States and motion
|
|
61
|
+
|
|
62
|
+
- None needed. The quote is just there; no carousel, no typing effect, no fade-up (M44).
|
|
63
|
+
- The context link has the page's link hover and a visible focus ring.
|
|
64
|
+
- Long names and roles wrap without moving the photo off the name's first line.
|
|
65
|
+
|
|
66
|
+
## Pitfalls
|
|
67
|
+
|
|
68
|
+
- A vague quote set large: size makes emptiness obvious.
|
|
69
|
+
- First name only, or no company: reads invented.
|
|
70
|
+
- Centred multi-line quote with a ragged left edge (M06).
|
|
71
|
+
- A giant decorative quotation mark graphic as the main visual.
|
|
72
|
+
- Accenting one word in the quote.
|
|
73
|
+
|
|
74
|
+
## Floor checks
|
|
75
|
+
|
|
76
|
+
- Is the quote attributed as fully as the project's facts allow (a name and role at least), with nothing invented?
|
|
77
|
+
- Is any photo of the person or their work real (from the project), never a stock face; with no photo in the facts, does the quote stand on its own instead of a placeholder?
|
|
78
|
+
- Does the quote mention something concrete (a result, a task, a detail) rather than generic praise?
|
|
79
|
+
- Is there context for the quote (what they did, or where it came from) as far as the project's facts give it?
|
|
80
|
+
- Is the quote the single clear focal point of the section, with no carousel controls?
|
|
81
|
+
- Is the quote left-aligned with a straight left edge?
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: resources-searchable-list
|
|
3
|
+
name: The catalogue as a searchable ruled list
|
|
4
|
+
kind: features
|
|
5
|
+
shape: table
|
|
6
|
+
layout: "one search field and a handful of filter words above a ruled list of real items, like a library's catalogue drawer: item, what kind, where it is or when it's back, and one action; a result count, an honest empty state, and the whole list served as plain HTML before any script"
|
|
7
|
+
fits: [nonprofit, education, community, government, accessibility-first, docs, local, honest]
|
|
8
|
+
avoid: [saas, developer, b2b, luxury, fashion]
|
|
9
|
+
needs: ["the real catalogue or resource list (20 to several thousand items) with a field for kind and availability", "a link or reserve action per item", "the 4–8 kinds people actually filter by"]
|
|
10
|
+
imagery: none
|
|
11
|
+
density: dense
|
|
12
|
+
effort: m
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## When it's right
|
|
16
|
+
|
|
17
|
+
The organisation's value is a collection people browse: a tool library's 2,300 items from a tape measure to a tile saw, a literacy programme's free reading list, a river group's open data by site, a school's resources for parents. The visitor arrives asking “do you have a…?” and the honest answer is the catalogue itself, searchable, on the landing page. Set it like a library's card catalogue: a field, a few words to narrow it, and ruled lines of real items with their availability in plain words.
|
|
18
|
+
|
|
19
|
+
Not for a handful of items (use `events-calendar-list` or a plain list), not for product shopping with prices and a basket, and not for app data that needs sorting by ten columns. On a landing page show the search and the first 8–12 items, with a link to the full catalogue page.
|
|
20
|
+
|
|
21
|
+
## Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
1440 ─ container 1240; search cols 1–8, count right; list full width
|
|
25
|
+
┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
|
26
|
+
│ H2 "Borrow from 2,300 tools" │
|
|
27
|
+
│ │
|
|
28
|
+
│ ┌ Search the catalogue ───────────────────────────────┐ 2,312 items │
|
|
29
|
+
│ │ e.g. drill, ladder, tent [Search]│ │
|
|
30
|
+
│ └──────────────────────────────────────────────────────┘ │
|
|
31
|
+
│ Show: All · Power tools · Ladders · Garden · Camping · Cleaning ◂ text links, current underlined │
|
|
32
|
+
│ │
|
|
33
|
+
│ ─────────────────────────────────────────────────────────────────────────────────────── │
|
|
34
|
+
│ Cordless drill, DeWalt 20V Power tools On the shelf Reserve → │
|
|
35
|
+
│ ─────────────────────────────────────────────────────────────────────────────────────── │
|
|
36
|
+
│ Stepladder, 8 ft Ladders Back Thursday 6 Nov Join the queue →│
|
|
37
|
+
│ ─────────────────────────────────────────────────────────────────────────────────────── │
|
|
38
|
+
│ Carpet cleaner Cleaning 2 of 3 on the shelf Reserve → │
|
|
39
|
+
│ ─────────────────────────────────────────────────────────────────────────────────────── │
|
|
40
|
+
│ Tent, 4-person Camping Back Monday 10 Nov Join the queue →│
|
|
41
|
+
│ ─────────────────────────────────────────────────────────────────────────────────────── │
|
|
42
|
+
│ Showing 12 of 2,312 · See the whole catalogue → │
|
|
43
|
+
└──────────────────────────────────────────────────────────────────────────────────────────┘
|
|
44
|
+
columns: item 5 · kind 2 · availability 3 · action 2; rows 48–56px
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
390
|
|
49
|
+
┌──────────────────────────────┐
|
|
50
|
+
│ H2 │
|
|
51
|
+
│ ┌ search ──────────────────┐ │
|
|
52
|
+
│ └──────────────────────────┘ │
|
|
53
|
+
│ [Search, full width] │
|
|
54
|
+
│ Show: All · Power tools · │ ← filter words wrap; no sideways scroll
|
|
55
|
+
│ Ladders · Garden … │
|
|
56
|
+
│ 2,312 items │
|
|
57
|
+
│ ──────────────────────────── │
|
|
58
|
+
│ Cordless drill, DeWalt 20V │
|
|
59
|
+
│ Power tools · On the shelf │
|
|
60
|
+
│ Reserve → │
|
|
61
|
+
│ ──────────────────────────── │
|
|
62
|
+
│ … │
|
|
63
|
+
└──────────────────────────────┘
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
At 390 each item becomes a three-line block (name; kind and availability; action) between hairlines. The search field is 48px tall with 16px text; the search button sits under it full width. Filter words wrap onto two lines.
|
|
67
|
+
|
|
68
|
+
## Finish
|
|
69
|
+
|
|
70
|
+
- Search: a real `<form role="search" method="get">` with a visible `<label>` (“Search the catalogue”), an input 48–52px tall, `--r-sm`, 1px `--hairline-strong` border, 16px+ text, and a secondary button. Focus ring per `_finish.md`. The form works without JS (query string to the server or a static search page).
|
|
71
|
+
- Filters: plain text links or a row of underlined words, current one in `--ink` weight 600 with `aria-current`, others `--ink-2`. Not chips, not pill toggles.
|
|
72
|
+
- List: real `<table>` (with a visually hidden or quiet caps header) at 1440, restyled as blocks at 390; hairlines between rows, no zebra, no cards. Item name `--t-body` weight 500; kind and availability `--t-small` or `--t-body` `--ink-2`.
|
|
73
|
+
- Availability in words: “On the shelf”, “Back Thursday 6 Nov”, “2 of 3 on the shelf”. Never coloured dots or green/red pills; if a mark helps, a plain glyph in `--ink` beside the words.
|
|
74
|
+
- Count line: `--t-small`, `--ink-2`, `tabular-nums`, updated in an `aria-live="polite"` region when results change.
|
|
75
|
+
- Ground: `--paper` or `--paper-2`; the section may sit on a card-catalogue tone if the brand has one, but no dashboard panel or sidebar.
|
|
76
|
+
|
|
77
|
+
## Content
|
|
78
|
+
|
|
79
|
+
- Real items from the catalogue with their real availability, refreshed at build or request time; “last updated” in the count line if it's not live.
|
|
80
|
+
- Item names as people search for them (“stepladder, 8 ft”), with the brand where it matters.
|
|
81
|
+
- Kinds that match how people think (“Garden”, “Camping”), 4–8 of them.
|
|
82
|
+
- One action per item, honest to the rules (“Reserve” needs membership: say so once above the list, with the sliding-scale price).
|
|
83
|
+
- Examples in the placeholder from the most-borrowed items.
|
|
84
|
+
|
|
85
|
+
## States and motion
|
|
86
|
+
|
|
87
|
+
- No-JS and first paint: the first 12 items server-rendered; search and filters submit as a normal form.
|
|
88
|
+
- With JS: results filter as you type after 200ms debounce; the count updates; focus stays in the field.
|
|
89
|
+
- Empty result: “No tile saws right now. Ask us to add one →” with a link to suggest or donate; never a blank list.
|
|
90
|
+
- Loading: keep the old results visible and dim them to 60% while fetching; no skeleton shimmer.
|
|
91
|
+
- Keyboard: Tab reaches the field, filters, then each row's action; Enter submits.
|
|
92
|
+
|
|
93
|
+
## Pitfalls
|
|
94
|
+
|
|
95
|
+
- A SaaS-style data grid with column sort arrows, checkboxes, pagination chips and a filter sidebar.
|
|
96
|
+
- Availability as coloured status pills or dots with no words.
|
|
97
|
+
- Search that only works with JS, or a field with only a placeholder and no label.
|
|
98
|
+
- Fake or sample items standing in for the real catalogue.
|
|
99
|
+
- An empty state that says “No results” and nothing else.
|
|
100
|
+
- Filter chips that scroll sideways at 390.
|
|
101
|
+
|
|
102
|
+
## Floor checks
|
|
103
|
+
|
|
104
|
+
- Is there a single, clearly labelled search field with a visible search button?
|
|
105
|
+
- Are the items real, each on its own ruled row with a name, a kind and its availability in words?
|
|
106
|
+
- Is availability written out (“On the shelf”, “Back Thursday”) rather than shown as coloured pills or dots?
|
|
107
|
+
- Is there a visible count of results and a link to the full catalogue?
|
|
108
|
+
- Does the section avoid dashboard chrome (sidebars, sort arrows, checkboxes, pagination chips)?
|
|
109
|
+
- Is each item's action a clear text link or button that says what it does?
|
|
110
|
+
- At 390, does each item read as a short block, with the search field full width and nothing scrolling sideways?
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: rooms-and-rates
|
|
3
|
+
name: Rooms and rates, one row per room
|
|
4
|
+
kind: features
|
|
5
|
+
shape: stacked-rows
|
|
6
|
+
layout: "each room type a full-width row: its real photograph at 3:2 on one side (alternating sides optional), on the other its name, a short ruled list of facts (sleeps, bed, view), the rate from per night, what's included, minimum stay, and one “Check dates” action"
|
|
7
|
+
fits: [travel, local, calm, heritage, premium, nature, warm, quiet]
|
|
8
|
+
avoid: [saas, developer, b2b, data-dense-tool, enterprise]
|
|
9
|
+
needs: ["2–6 room types with real photographs of each room (≥ 1600px wide)", "real rates from the booking system or the rate card, with the season they apply to", "what every stay includes, and minimum stays or closures"]
|
|
10
|
+
imagery: photo
|
|
11
|
+
density: balanced
|
|
12
|
+
effort: m
|
|
13
|
+
moves: [duotone-photography, product-in-context]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When it's right
|
|
17
|
+
|
|
18
|
+
An inn, a guesthouse, a hostel, a cabin rental: the visitor has decided they like the place and now asks which room, how much, what's included. Each room type gets a row with a real photograph and the facts set like a good guidebook entry. The room's own name (the inn names its rooms after boats; the hostel's 6-bed dorm is "the Loft") carries the character; the rate and inclusions carry the decision.
|
|
19
|
+
|
|
20
|
+
Not for hotels with dozens of room types (link to the booking engine and show 3 representative rows), not without real photos of each room (use `services-price-ledger` with no photos rather than one stock bedroom repeated), and not for a single room or cottage (use `full-bleed-image-band` and a facts line).
|
|
21
|
+
|
|
22
|
+
## Structure
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
1440 ─ container 1240; rows of photo cols 1–7 + facts cols 8–12; --s-9 between rows
|
|
26
|
+
┌──────────────────────────────────────────────────────────────────────────────────────────┐
|
|
27
|
+
│ H2 "Rooms" All rooms look at the water. Breakfast included. │
|
|
28
|
+
│ │
|
|
29
|
+
│ ┌──────────────────────────────────────┐ Harbour rooms · 9 rooms │
|
|
30
|
+
│ │ │ “Wren”, “Dory”, “Patience” and six more │
|
|
31
|
+
│ │ photograph of a Harbour room, 3:2 │ ─────────────────────────────────── │
|
|
32
|
+
│ │ window and water in frame │ Sleeps 2 │
|
|
33
|
+
│ │ │ Bed queen │
|
|
34
|
+
│ └──────────────────────────────────────┘ View the harbour │
|
|
35
|
+
│ Photo: the Wren room, morning ─────────────────────────────────── │
|
|
36
|
+
│ from $295 a night, May–June │
|
|
37
|
+
│ Two-night minimum on July and August weekends │
|
|
38
|
+
│ [ Check dates ] │
|
|
39
|
+
│ │
|
|
40
|
+
│ Point suites · 4 rooms ┌──────────────────────────────────────┐ │
|
|
41
|
+
│ …facts… │ photograph, 3:2 │ │
|
|
42
|
+
│ [ Check dates ] └──────────────────────────────────────┘ │
|
|
43
|
+
└──────────────────────────────────────────────────────────────────────────────────────────┘
|
|
44
|
+
rows alternate sides or all photo-left; facts block top-aligned with the photo
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
390 ─ photo first, then the facts; one row after another
|
|
49
|
+
┌──────────────────────────────┐
|
|
50
|
+
│ H2 "Rooms" │
|
|
51
|
+
│ one line: breakfast included │
|
|
52
|
+
│ ┌──────────────────────────┐ │
|
|
53
|
+
│ │ photo, 4:3 crop │ │
|
|
54
|
+
│ └──────────────────────────┘ │
|
|
55
|
+
│ Harbour rooms · 9 rooms │
|
|
56
|
+
│ Sleeps 2 · queen · harbour │
|
|
57
|
+
│ from $295 a night │
|
|
58
|
+
│ [ Check dates ] │
|
|
59
|
+
│ ──────────────────────────── │
|
|
60
|
+
│ ┌ next room photo ─────────┐ │
|
|
61
|
+
└──────────────────────────────┘
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
At 390 every row is photo (re-cropped to 4:3 around the window or bed), then name, a single facts line, rate and a full-width "Check dates" button. Rows are separated by a hairline and `--s-8`. No sideways carousels of rooms.
|
|
65
|
+
|
|
66
|
+
## Finish
|
|
67
|
+
|
|
68
|
+
- Photographs: one treatment for all rooms (`_finish.md` image treatment), the same aspect ratio for every room, `--r-md` or square corners to match the page; no frame, no shadow. A caption line in `--t-caption` `--ink-2` names the actual room shown.
|
|
69
|
+
- Room name `--t-h3` in the display face; the count ("9 rooms") and names of individual rooms in `--t-small` `--ink-2`.
|
|
70
|
+
- Facts: a three- or four-line ruled list (label `--ink-2` left, value `--ink` right, hairlines between, 40px rows), the same labels in every row so rows compare.
|
|
71
|
+
- Rate: `--t-lead` weight 600, `tabular-nums`, "from" and "a night" in `--t-small`; the season it applies to on the same line. Minimum stays and closures under it in `--t-small`.
|
|
72
|
+
- Action: one secondary button per row ("Check dates"), linking to the booking engine pre-filtered to that room. The page's one primary (Book a stay) lives in the hero or closing, not repeated six times.
|
|
73
|
+
- What every stay includes is said once in the section lead, not ticked under each room.
|
|
74
|
+
|
|
75
|
+
## Content
|
|
76
|
+
|
|
77
|
+
- Real room types, counts and names. Facts that matter to choosing: sleeps, bed, bathroom, view, fireplace, accessibility (step-free, ground floor).
|
|
78
|
+
- Rates as published, with the season or "from" honestly; never a crossed-out "was" price.
|
|
79
|
+
- Inclusions said once: "Breakfast, kayaks and bikes included."
|
|
80
|
+
- Conditions plainly: minimum stays, closed months, pets, children.
|
|
81
|
+
- For a hostel, dorms are rows too ("6-bed dorm, curtains, reading light, USB-C, from €24").
|
|
82
|
+
|
|
83
|
+
## States and motion
|
|
84
|
+
|
|
85
|
+
- Static. Photos lazy-load below the first row with the photo's average colour as the placeholder.
|
|
86
|
+
- Optional: a row's photo can be a small set (2–3 images) with plain previous/next text buttons; never auto-advancing.
|
|
87
|
+
- Sold out for a season: "Booked through August; September open" in words under the rate.
|
|
88
|
+
- No entrance animation beyond the page's default reveal.
|
|
89
|
+
|
|
90
|
+
## Pitfalls
|
|
91
|
+
|
|
92
|
+
- Room "cards" in a 3-up grid with icons for wifi, coffee and towels: a booking app, not this inn.
|
|
93
|
+
- Amenity pills ("Sea view", "Breakfast") as coloured chips on every room.
|
|
94
|
+
- The same stock bedroom photo for different rooms, or no photo of the actual room.
|
|
95
|
+
- Rates missing ("Contact for rates") when a rate card exists.
|
|
96
|
+
- Six filled "Book now" buttons competing on one screen.
|
|
97
|
+
- An auto-playing carousel of room photos.
|
|
98
|
+
|
|
99
|
+
## Floor checks
|
|
100
|
+
|
|
101
|
+
- Does each room type show a real photograph of that room, all in the same aspect ratio and treatment?
|
|
102
|
+
- Does every row give the same facts in the same order so rooms compare at a glance?
|
|
103
|
+
- Is a real rate (with “from” and the season where it varies) shown for every room?
|
|
104
|
+
- Are inclusions and minimum stays stated plainly, once?
|
|
105
|
+
- Is the section free of amenity icon grids and coloured chips?
|
|
106
|
+
- Does each row have one quiet action to check dates, with no competing filled buttons?
|
|
107
|
+
- At 390, does each room stack photo first, then facts and rate, with nothing scrolling sideways?
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ruled-facts-table
|
|
3
|
+
name: Ruled facts table
|
|
4
|
+
kind: stats
|
|
5
|
+
shape: table
|
|
6
|
+
layout: "an editorial table of 5–9 real facts about the product or company: label column, value column at h3 size in tabular figures, and a quiet source/notes column, rows separated by hairlines, no cards; a short heading and intro to its left on wide screens"
|
|
7
|
+
fits: [honest, editorial, technical, developer, finance, trustworthy, serious, scientific, b2b, enterprise, hardware, sustainability, crafted, data-rich]
|
|
8
|
+
avoid: [playful-kids, kids, fashion, luxury]
|
|
9
|
+
needs: ["5–9 real facts with values and units (limits, speeds, uptime, sizes, dates, counts)", "a source, date or method for each fact that needs one"]
|
|
10
|
+
imagery: none
|
|
11
|
+
density: dense
|
|
12
|
+
effort: s
|
|
13
|
+
moves: [inline-sparklines-in-copy, real-world-data, colophon]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When it's right
|
|
17
|
+
|
|
18
|
+
The page needs to say "here is what we can stand behind" and the honest answer is several facts, not one headline number. Instead of a stat banner of rounded figures (M11), set the facts as a ruled table you would find in an annual report or a datasheet: what it is, the value with its unit, and where it comes from. It reads as confidence because nothing is decorated.
|
|
19
|
+
|
|
20
|
+
Fits developer tools, infrastructure, finance, hardware and any company whose buyers check numbers. Works as the anti-stat-banner after a feature section, or as the "the company in numbers" block on an about page. For product specifications (dimensions, formats, limits per plan) the sibling is `spec-sheet-features`; this one is about outcomes and the company's facts.
|
|
21
|
+
|
|
22
|
+
Not for brands sold on mood, or when there are fewer than four real facts (use `one-huge-number` or nothing).
|
|
23
|
+
|
|
24
|
+
## Structure
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
1440 ─ container 1240, 12 cols
|
|
28
|
+
┌──────────────────────────────────────────────────────────────────────────────────────┐
|
|
29
|
+
│ ┌ cols 1–4 ──────────────┐ ┌ cols 5–12: the table ──────────────────────────────────┐ │
|
|
30
|
+
│ │ H2 h2, 2 lines │ │ ───────────────────────────────────────────────────── │ │ ← top rule, hairline-strong
|
|
31
|
+
│ │ "The numbers we │ │ Median time to first deploy 4 min 10 s telemetry, │ │
|
|
32
|
+
│ │ publish every month" │ │ Sep 2026 │ │
|
|
33
|
+
│ │ │ │ ───────────────────────────────────────────────────── │ │
|
|
34
|
+
│ │ intro, body, ink-2, │ │ Uptime, last 12 months 99.982 % status page │ │
|
|
35
|
+
│ │ 3 lines │ │ ───────────────────────────────────────────────────── │ │
|
|
36
|
+
│ │ │ │ Regions 14 list → │ │
|
|
37
|
+
│ │ link: method → │ │ ───────────────────────────────────────────────────── │ │
|
|
38
|
+
│ │ │ │ Largest customer project 2.1 TB with consent│ │
|
|
39
|
+
│ │ (sticky top: --s-9 │ │ ───────────────────────────────────────────────────── │ │
|
|
40
|
+
│ │ while the table │ │ Open-source packages 37 GitHub → │ │
|
|
41
|
+
│ │ scrolls, if long) │ │ ───────────────────────────────────────────────────── │ │
|
|
42
|
+
│ └────────────────────────┘ │ label 4 cols · value 3 cols · source 3 cols (of 8) │ │
|
|
43
|
+
│ └────────────────────────────────────────────────────────┘ │
|
|
44
|
+
│ "Updated 1 Oct 2026" caption, right-aligned under the table │
|
|
45
|
+
└──────────────────────────────────────────────────────────────────────────────────────┘
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
390 ─ side padding 16
|
|
50
|
+
┌──────────────────────────────┐
|
|
51
|
+
│ H2 │
|
|
52
|
+
│ intro │
|
|
53
|
+
│ ──────────────────────────── │
|
|
54
|
+
│ Median time to first deploy │ ← label, small, ink-2
|
|
55
|
+
│ 4 min 10 s │ ← value, h3, tabular
|
|
56
|
+
│ telemetry, Sep 2026 │ ← source, caption, ink-3
|
|
57
|
+
│ ──────────────────────────── │
|
|
58
|
+
│ Uptime, last 12 months │
|
|
59
|
+
│ 99.982 % │
|
|
60
|
+
│ … │
|
|
61
|
+
└──────────────────────────────┘
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
At 390 each row stacks: label, value, source, with the hairline between rows kept. No sideways scroll. The heading block goes above the table and is not sticky.
|
|
65
|
+
|
|
66
|
+
## Finish
|
|
67
|
+
|
|
68
|
+
- Markup: a real `<table>` (or `<dl>` if there is no third column) with `<th scope="row">` labels; a `<caption>` that is visually the H2, or `aria-labelledby` to it.
|
|
69
|
+
- Rules: top rule `--hairline-strong`, row rules `--hairline`, full width of the table column including under the source column (`_finish.md`, Hairlines). No vertical rules, no zebra, no cards, no icons.
|
|
70
|
+
- Rows: 64–72px tall at 1440 (`padding-block: var(--s-5)`), first baselines aligned across columns (`vertical-align: baseline`).
|
|
71
|
+
- Label: `--t-body`, `--ink-2`, max 32ch. Value: `--t-h3` (24–28px), weight 600, `--ink`, `font-variant-numeric: tabular-nums lining-nums`, right-aligned if the values are all numbers of the same unit, else left-aligned; unit in `--t-small`, `--ink-2`, non-breaking space before it. Source: `--t-caption`, `--ink-3`, links underlined on hover only.
|
|
72
|
+
- Body face for every figure. Monospace only if a value is literally machine output (a version string, a hash).
|
|
73
|
+
- Heading block: H2 `--t-h2`, intro `--t-body` `--ink-2` max 36ch, link to the method in the body face. Sticky (`position: sticky; top: var(--s-9)`) only if the table is taller than the viewport.
|
|
74
|
+
- Ground: `--paper` or `--paper-2`, whichever differs from the section before; nothing raised.
|
|
75
|
+
- "Updated" caption under the table: `--t-caption`, `--ink-3`, the date the facts were checked.
|
|
76
|
+
|
|
77
|
+
## Content
|
|
78
|
+
|
|
79
|
+
- 5–9 facts. Each is real, specific and checkable: "4 min 10 s median", not "minutes"; "14 regions", not "global".
|
|
80
|
+
- Order: the fact this buyer cares about first, then the rest by importance; group by theme with a slightly heavier rule (1px `--hairline-strong`) between groups if there are two themes.
|
|
81
|
+
- Sources: name them (status page, telemetry with sample, an audit with date, a public repo). A fact without a source says what it is ("as of 1 Oct 2026").
|
|
82
|
+
- Never invent, round up or borrow a competitor's framing. If the project lacks the facts, do not build the section; say so in the brief.
|
|
83
|
+
|
|
84
|
+
## States and motion
|
|
85
|
+
|
|
86
|
+
- Static. No count-up, no reveal per row (M11, M44).
|
|
87
|
+
- Live values (uptime from a status endpoint) render server-side with their timestamp; if the fetch fails, the last known value stays with its date, never a spinner or "—" alone.
|
|
88
|
+
- Hover a row: nothing (it is not interactive) unless the source is a link, which underlines.
|
|
89
|
+
- Long labels wrap in their column; long values never wrap mid-number (`white-space: nowrap` on the value).
|
|
90
|
+
|
|
91
|
+
## Pitfalls
|
|
92
|
+
|
|
93
|
+
- A row of big rounded numbers in cards with icons on top (M04, M11): the thing this archetype replaces.
|
|
94
|
+
- Mono and caps everywhere to look technical (M18).
|
|
95
|
+
- Zebra striping plus rules plus cards: three structures doing one job.
|
|
96
|
+
- Rules that stop at the text and leave the source column floating.
|
|
97
|
+
- Values not on the same baseline as their labels.
|
|
98
|
+
- Facts without sources, or a "Sources" footnote nobody can map back to rows.
|
|
99
|
+
|
|
100
|
+
## Floor checks
|
|
101
|
+
|
|
102
|
+
- Are the facts set as rows separated by thin rules, with no cards, icons or shadows?
|
|
103
|
+
- Does every row show a specific value with its unit (not a rounded marketing figure)?
|
|
104
|
+
- Does every row, or a clear note under the table, show where the figure comes from or when it was measured?
|
|
105
|
+
- Do the values line up in one column with tabular figures, on the same baseline as their labels?
|
|
106
|
+
- Are there between five and nine rows?
|
|
107
|
+
- Is there a date showing when the facts were last checked?
|
|
108
|
+
- At 390, does each row stack label, value and source without sideways scrolling?
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ruled-list-pinned-visual
|
|
3
|
+
name: Ruled list with a pinned visual
|
|
4
|
+
kind: features
|
|
5
|
+
shape: list-ruled
|
|
6
|
+
layout: "a ruled list of 4–7 features left 5/12 (hairline rows, title + one line each), a sticky visual right 7/12 that swaps to match the hovered, focused or in-view row"
|
|
7
|
+
fits: [saas, developer, productivity, technical, editorial, crafted, minimal, b2b, calm]
|
|
8
|
+
avoid: [playful-kids, gaming, kids, food, portfolio]
|
|
9
|
+
needs: ["4–7 features of similar weight", "one visual per feature: a product state, a figure or a drawing, all in one frame size"]
|
|
10
|
+
imagery: product-ui
|
|
11
|
+
density: balanced
|
|
12
|
+
effort: m
|
|
13
|
+
moves: [sliding-nav-indicator, screenshot-detail-crops, calm-motion-system]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## When it's right
|
|
17
|
+
|
|
18
|
+
Four to seven features of about equal weight, each with one state of the product worth seeing. A plain ruled list is the calmest way to read many items: the eye runs down one left edge, each row is a title and one line, and a single large visual beside the list shows whichever row you are on. It reads as a well-set index rather than a card grid, and it lets each feature have a real picture without seven pictures competing.
|
|
19
|
+
|
|
20
|
+
Not for two or three features (use `alternating-rows-live-tiles`), for one hero capability (use `asymmetric-bento-dominant`), or when the visuals can't share one frame size.
|
|
21
|
+
|
|
22
|
+
## Structure
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
1440 ─ container 1240, 12 cols, gutter 24
|
|
26
|
+
┌──────────────────────────────────────────────────────────────────────────────┐
|
|
27
|
+
│ H2 cols 1–5 │
|
|
28
|
+
│ lead cols 1–5, ink-2 │
|
|
29
|
+
│ --s-7 │
|
|
30
|
+
│ ┌ cols 1–5 ─────────────────────┐ ┌ cols 6–12, position: sticky; top: 96 ─┐ │
|
|
31
|
+
│ │ ───────────────────────────── │ │ │ │
|
|
32
|
+
│ │ ▌Feature one (active) │ │ visual for the active row │ │
|
|
33
|
+
│ │ one line, ink-2 │ │ product frame, 4:3 or 16:11 │ │
|
|
34
|
+
│ │ ───────────────────────────── │ │ same size for every row │ │
|
|
35
|
+
│ │ Feature two │ │ │ │
|
|
36
|
+
│ │ one line │ │ caption line under the frame, │ │
|
|
37
|
+
│ │ ───────────────────────────── │ │ small, names what is shown │ │
|
|
38
|
+
│ │ Feature three │ └───────────────────────────────────────┘ │
|
|
39
|
+
│ │ ───────────────────────────── │ │
|
|
40
|
+
│ │ … 4–7 rows, 72–96 tall each │ │
|
|
41
|
+
│ │ ───────────────────────────── │ │
|
|
42
|
+
│ └────────────────────────────────┘ │
|
|
43
|
+
└──────────────────────────────────────────────────────────────────────────────┘
|
|
44
|
+
list height ≈ visual height (±20%); if the list is much taller, the visual is sticky
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
390 ─ one column, side padding 16
|
|
49
|
+
┌──────────────────────────────┐
|
|
50
|
+
│ H2 │
|
|
51
|
+
│ lead │
|
|
52
|
+
│ ──────────────────────────── │
|
|
53
|
+
│ Feature one │
|
|
54
|
+
│ one line │
|
|
55
|
+
│ ┌ its visual, full width ──┐ │ ← every row carries its own visual inline
|
|
56
|
+
│ └──────────────────────────┘ │ (accordion only if 6–7 rows)
|
|
57
|
+
│ ──────────────────────────── │
|
|
58
|
+
│ Feature two │
|
|
59
|
+
│ one line │
|
|
60
|
+
│ ┌ visual ──────────────────┐ │
|
|
61
|
+
│ └──────────────────────────┘ │
|
|
62
|
+
└──────────────────────────────┘
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
At 390 the sticky visual goes away: each row shows its own visual under its line, at 4:3, cropped to the working part. With six or seven rows, rows become a disclosure list (one open at a time, the first open by default) so the section stays under about three screens. Hairlines stay full width.
|
|
66
|
+
|
|
67
|
+
## Finish
|
|
68
|
+
|
|
69
|
+
- List rows: `padding-block: --s-5`, a 1px `--hairline` above every row and below the last, running the full list width (`_finish.md` hairlines). No cards, no zebra.
|
|
70
|
+
- Title `--t-body` to `--t-lead`, weight 600; line `--t-small`–`--t-body`, `--ink-2`, one line at 1440 (`max-width: 44ch`).
|
|
71
|
+
- Active row: the title stays ink, inactive titles go `--ink-2`; a 2px bar in ink or brand at the row's left edge slides between rows (move `sliding-nav-indicator`, 240ms ease-out). Never a filled background block per row.
|
|
72
|
+
- Visual: the product frame from `_finish.md` (`--r-lg`, `--shadow-2`), one fixed aspect ratio for every row so swaps don't jump. Caption under it in `--t-caption`, `--ink-3`.
|
|
73
|
+
- Sticky: `position: sticky; top: calc(nav height + --s-6)`; the visual's column is `align-self: start`.
|
|
74
|
+
- Ground: flat `--paper`; this archetype is quiet, so the section above or below carries the material band.
|
|
75
|
+
|
|
76
|
+
## Content
|
|
77
|
+
|
|
78
|
+
- Heading: the job these features do together. Lead: one sentence.
|
|
79
|
+
- Rows: a title that names the feature by what it lets you do ("Undo across devices"), and one line that says how or with what limit. One line, not a paragraph.
|
|
80
|
+
- Visuals: one product state per row, from the project's real screens or rebuilt in code. All at the same zoom so they read as one series.
|
|
81
|
+
- Order rows the way a new user meets the features. Numbers only if the order is real (M17).
|
|
82
|
+
|
|
83
|
+
## States and motion
|
|
84
|
+
|
|
85
|
+
- Rows are buttons (`<button aria-controls>` or links to anchors) so hover, focus and click all activate them; keyboard arrows move between rows.
|
|
86
|
+
- Scroll: the row whose middle crosses 45% of the viewport becomes active (IntersectionObserver); hover and focus override while the pointer is in the list.
|
|
87
|
+
- Visual swap: crossfade 200ms plus a 4px rise on the incoming state, or a shared-element morph if both states are the same screen. No slide-in from the side.
|
|
88
|
+
- Server render and no JS: first row active, its visual shown; every other visual is reachable as an inline figure under its row (hidden with JS on desktop).
|
|
89
|
+
- Reduced motion: instant swap. `aria-live` is not needed; the visual has alt text per row.
|
|
90
|
+
|
|
91
|
+
## Pitfalls
|
|
92
|
+
|
|
93
|
+
- A visual that doesn't change, or changes to near-identical states, so the list feels broken.
|
|
94
|
+
- Visuals of different sizes, so the right column jumps on every swap.
|
|
95
|
+
- Rows with paragraphs: it stops being a list and becomes documentation (M22).
|
|
96
|
+
- Activating on hover only: keyboard and touch users never see rows two to seven.
|
|
97
|
+
- A list far taller than the visual, leaving a long empty column beside it once the sticky releases (P38).
|
|
98
|
+
|
|
99
|
+
## Floor checks
|
|
100
|
+
|
|
101
|
+
- Is there one large visual beside the list showing the product, rather than an icon per row?
|
|
102
|
+
- Are the list rows separated by thin full-width rules with no card boxes around them?
|
|
103
|
+
- Is each row a short title plus at most one line of text?
|
|
104
|
+
- Is the active row visibly distinguished from the others?
|
|
105
|
+
- Is the visual at least as wide as the list column at 1440?
|
|
106
|
+
- Is there no empty band taller than 160px beside the list or under the visual?
|
|
107
|
+
- At 390, does every feature show its own visual without sideways scrolling?
|