{"schemaVersion":1,"description":"Catalogo ufficiale dei componenti e pattern ASDinCloud.","categories":[{"id":"hero","collectionSlug":"heroes","label":"Heroes"},{"id":"features","collectionSlug":"features","label":"Features"},{"id":"faq","collectionSlug":"faq","label":"FAQ"},{"id":"cta","collectionSlug":"cta","label":"CTA"},{"id":"blog-banner","collectionSlug":"blog-banners","label":"Blog banners"}],"items":[{"id":"button","kind":"ui-component","category":"ui","name":"Button","status":"approved","description":"Azione primaria o secondaria basata sui token semantici.","componentPath":"src/components/ui/button.tsx","exportName":"Button","recommendedFor":["azioni","form","cta"],"variants":["default","secondary","ghost","outline","primary-outline"],"tokens":["primary","secondary","foreground","radius","ring"],"notes":["Taglie default, sm, lg, xxl e icon. Le etichette arancio/bianco richiedono almeno 20 px e peso 700; non ridurle con override locali. XXL è la taglia di riferimento per le hero."]},{"id":"card","kind":"ui-component","category":"ui","name":"Card","status":"approved","description":"Contenitore di contenuto con superficie e bordo semantici.","componentPath":"src/components/ui/card.tsx","exportName":"Card","recommendedFor":["griglie","contenuti","preview"],"variants":["default"],"tokens":["card","card-foreground","border","radius","shadow-sm"]},{"id":"input","kind":"ui-component","category":"ui","name":"Input","status":"approved","description":"Campo di testo con stati semantici per form.","componentPath":"src/components/ui/input.tsx","exportName":"Input","recommendedFor":["form","lead-generation"],"variants":["default"],"notes":["Gli stati invalid e disabled sono stati semantici, non varianti estetiche."],"tokens":["input","border","ring","foreground","radius"]},{"id":"hero-01","kind":"marketing-section","category":"hero","name":"Hero 01","status":"approved","description":"Hero centrata con badge AI, titolo Newsreader bicolore, sottotitolo esteso e doppia CTA XXL.","componentPath":"src/components/marketing/hero/hero-01.tsx","exportName":"Hero01","recommendedFor":["homepage","landing-page"],"tokens":["primary","primary-foreground","foreground","card","border","radius","font-heading","container-wide","ds-text-display","ds-text-display-mobile","ds-text-display-compact"],"notes":["title contiene la prima porzione; titleAccent aggiunge la porzione evidenziata in corsivo. I colori disponibili derivano dai token semantici.","Contenuto e CTA verificati sopra la piega nelle dimensioni documentate. Testare nuovamente con copy diverso o con una testata di sito aggiunta."]},{"id":"hero-02","kind":"marketing-section","category":"hero","name":"Hero 02","status":"approved","description":"Hero a due colonne con media.","componentPath":"src/components/marketing/hero/hero-02.tsx","exportName":"Hero02","recommendedFor":["landing-page","product-page"],"tokens":["primary","card","foreground","section-space","container-wide"]},{"id":"features-01","kind":"marketing-section","category":"features","name":"Features 01","status":"approved","description":"Griglia di funzionalità con introduzione editoriale.","componentPath":"src/components/marketing/features/features-01.tsx","exportName":"Features01","recommendedFor":["homepage","product-page","landing-page"],"tokens":["card","border","foreground","muted-foreground","section-space"]},{"id":"faq-01","kind":"marketing-section","category":"faq","name":"FAQ 01","status":"approved","description":"Domande frequenti essenziali in elenco espandibile.","componentPath":"src/components/marketing/faq/faq-01.tsx","exportName":"Faq01","recommendedFor":["landing-page","pricing-page","support"],"tokens":["foreground","muted-foreground","border","section-space"]},{"id":"cta-01","kind":"marketing-section","category":"cta","name":"CTA 01","status":"approved","description":"Invito all’azione compatto con una o due azioni.","componentPath":"src/components/marketing/cta/cta-01.tsx","exportName":"Cta01","recommendedFor":["homepage","landing-page","article-end"],"tokens":["secondary","secondary-foreground","section-space","radius"]},{"id":"blog-banner-01","kind":"marketing-section","category":"blog-banner","name":"Blog banner 01","status":"approved","description":"Banner editoriale per promuovere un approfondimento o una risorsa.","componentPath":"src/components/marketing/blog/blog-banner-01.tsx","exportName":"BlogBanner01","recommendedFor":["blog","article-mid","article-end"],"tokens":["accent","accent-foreground","foreground","radius"]}]}