{"$schema":"https://ui.shadcn.com/schema/registry.json","name":"@paulperigault/astro","homepage":"https://design.paulperigault.dev","items":[{"name":"accordion","type":"registry:ui","title":"Accordion","description":"Sections repliables en details natifs, groupées par name, animation seulement sans préférence de mouvement réduit.","files":[{"path":"packages/astro/src/content/Accordion.astro","type":"registry:ui"}]},{"name":"alert","type":"registry:ui","title":"Alert","description":"Message de retour au ton écrit en clair ; rôle d’annonce seulement si live, zéro JavaScript.","files":[{"path":"packages/astro/src/feedback/Alert.astro","type":"registry:ui"}]},{"name":"art-direction","type":"registry:ui","title":"ArtDirection","description":"Un recadrage par largeur d’écran dans un picture écrit à la main, chaque source portant les dimensions de son recadrage : CLS nul, zéro JavaScript.","files":[{"path":"packages/astro/src/media/ArtDirection.astro","type":"registry:ui"},{"path":"packages/astro/src/media/frame.css","type":"registry:lib"},{"path":"packages/astro/src/media/types.ts","type":"registry:lib"},{"path":"packages/astro/src/media/component-types.ts","type":"registry:lib"},{"path":"packages/astro/src/media/checks.ts","type":"registry:lib"},{"path":"packages/astro/src/media/presets.ts","type":"registry:lib"},{"path":"packages/astro/src/media/dominant.ts","type":"registry:lib"}]},{"name":"avatar","type":"registry:ui","title":"Avatar","description":"Image carrée au rayon des médias en trois tailles de tokens, recadrée en haut, zéro JavaScript.","files":[{"path":"packages/astro/src/media/Avatar.astro","type":"registry:ui"},{"path":"packages/astro/src/media/alt.ts","type":"registry:lib"}]},{"name":"breadcrumb","type":"registry:ui","title":"Breadcrumb","description":"Fil d’Ariane en liste nommée, page courante marquée par aria-current.","files":[{"path":"packages/astro/src/content/Breadcrumb.astro","type":"registry:ui"}]},{"name":"button","type":"registry:ui","title":"Button","description":"Bouton natif ou lien stylisé avec variantes de tonalité et de taille, zéro JavaScript.","files":[{"path":"packages/astro/src/forms/Button.astro","type":"registry:ui"},{"path":"packages/astro/src/forms/button-variants.ts","type":"registry:lib"}]},{"name":"card","type":"registry:ui","title":"Card","description":"Carte riche avec un lien unique étendu à toute la carte, média et pied de carte facultatifs, sans JavaScript.","files":[{"path":"packages/astro/src/content/Card.astro","type":"registry:ui"},{"path":"packages/astro/src/content/card.css","type":"registry:ui"}]},{"name":"center","type":"registry:ui","title":"Center","description":"Centre un bloc dans l'axe inline, à largeur de lecture (modèle « Every Layout », Pickering et Bell, 2021).","files":[{"path":"packages/astro/src/layout/Center.astro","type":"registry:ui"}]},{"name":"choice","type":"registry:ui","title":"Choice","description":"Case à cocher ou bouton radio natif avec libellé, zéro JavaScript.","files":[{"path":"packages/astro/src/forms/Choice.astro","type":"registry:ui"}]},{"name":"cluster","type":"registry:ui","title":"Cluster","description":"Groupe d'éléments en ligne qui passent à la ligne, espacés par gap (modèle « Every Layout », Pickering et Bell, 2021).","files":[{"path":"packages/astro/src/layout/Cluster.astro","type":"registry:ui"}]},{"name":"code-block","type":"registry:ui","title":"CodeBlock","description":"Bloc de code coloré au build, défilable au clavier, avec bouton de copie révélé par un script externe.","files":[{"path":"packages/astro/src/content/CodeBlock.astro","type":"registry:ui"},{"path":"packages/astro/src/content/code-block.css","type":"registry:ui"},{"path":"packages/astro/src/content/highlight.ts","type":"registry:ui"},{"path":"packages/astro/src/behaviors/copy.ts","type":"registry:ui"}]},{"name":"combobox","type":"registry:ui","title":"Combobox","description":"Champ avec liste de suggestions filtrée à la saisie, datalist natif sans script, focus gardé dans le champ.","files":[{"path":"packages/astro/src/forms/Combobox.astro","type":"registry:ui"},{"path":"packages/astro/src/forms/combobox.css","type":"registry:lib"},{"path":"packages/astro/src/behaviors/combobox.ts","type":"registry:lib"}]},{"name":"container","type":"registry:ui","title":"Container","description":"Boîte centrée dans l'axe d'inline, à largeur maximale, avec une gouttière latérale (modèle « Every Layout », Pickering et Bell, 2021).","files":[{"path":"packages/astro/src/layout/Container.astro","type":"registry:ui"}]},{"name":"diagram","type":"registry:ui","title":"Diagram","description":"Schéma SVG avec titre, description complète et légende : le nom accessible vient du texte, la couleur n’est jamais seule porteuse du sens, zéro JavaScript.","files":[{"path":"packages/astro/src/media/Diagram.astro","type":"registry:ui"},{"path":"packages/astro/src/media/diagram.css","type":"registry:lib"}]},{"name":"dialog","type":"registry:ui","title":"Dialog","description":"Dialogue modal natif ouvert par Invoker Commands sans script, fermeture par bouton, Échap ou clic hors boîte.","files":[{"path":"packages/astro/src/feedback/Dialog.astro","type":"registry:ui"}]},{"name":"diff","type":"registry:ui","title":"Diff","description":"Ajouts et retraits en ins et del natifs, signes visibles et libellés lus.","files":[{"path":"packages/astro/src/content/Diff.astro","type":"registry:ui"}]},{"name":"empty-state","type":"registry:ui","title":"EmptyState","description":"État vide accessible : titre nommant la section, explication et action facultative, sans icône décorative.","files":[{"path":"packages/astro/src/content/EmptyState.astro","type":"registry:ui"}]},{"name":"field","type":"registry:ui","title":"Field","description":"Enveloppe d'un contrôle de formulaire avec libellé, indication et message d'erreur optionnels.","files":[{"path":"packages/astro/src/forms/Field.astro","type":"registry:ui"},{"path":"packages/astro/src/forms/field-ids.ts","type":"registry:lib"}]},{"name":"figure","type":"registry:ui","title":"Figure","description":"Média et légende dans figure et figcaption, crédit facultatif fourni par le site, légende vide refusée au build.","files":[{"path":"packages/astro/src/media/Figure.astro","type":"registry:ui"}]},{"name":"gallery","type":"registry:ui","title":"Gallery","description":"Grille d’images en container queries ; agrandissement par dialogue natif et Invoker Commands, zéro JavaScript.","files":[{"path":"packages/astro/src/media/Gallery.astro","type":"registry:ui"},{"path":"packages/astro/src/media/GalleryDialog.astro","type":"registry:lib"}]},{"name":"grid","type":"registry:ui","title":"Grid","description":"Grille intrinsèque sans media query ; le nombre de colonnes suit la largeur disponible (modèle « Every Layout », Pickering et Bell, 2021).","files":[{"path":"packages/astro/src/layout/Grid.astro","type":"registry:ui"}]},{"name":"input","type":"registry:ui","title":"Input","description":"Champ de saisie natif sur une ligne avec gestion d'erreur et état désactivé.","files":[{"path":"packages/astro/src/forms/Input.astro","type":"registry:ui"}]},{"name":"invoker-fallback","type":"registry:ui","title":"InvokerFallback","description":"Repli des Invoker Commands et de closedby pour Dialog et Gallery : script externe inactif là où le navigateur gère ces attributs.","files":[{"path":"packages/astro/src/feedback/InvokerFallback.astro","type":"registry:ui"},{"path":"packages/astro/src/behaviors/invokers.ts","type":"registry:lib"}]},{"name":"menu","type":"registry:ui","title":"Menu","description":"Menu d’actions (motif APG Menu Button) en popover, avec flèches, frappe de caractères et repli sans JavaScript.","files":[{"path":"packages/astro/src/navigation/Menu.astro","type":"registry:ui"},{"path":"packages/astro/src/navigation/menu.css","type":"registry:ui"},{"path":"packages/astro/src/behaviors/menu.ts","type":"registry:ui"}]},{"name":"pagination","type":"registry:ui","title":"Pagination","description":"Navigation entre pages de résultats : page courante sans lien, cibles de taille minimale, zéro JavaScript.","files":[{"path":"packages/astro/src/navigation/Pagination.astro","type":"registry:ui"}]},{"name":"photo","type":"registry:ui","title":"Photo","description":"Image locale en AVIF puis WebP, largeurs et sizes tirés des tokens, width et height toujours rendus, fond d’attente à la couleur dominante : CLS nul, zéro JavaScript.","files":[{"path":"packages/astro/src/media/Photo.astro","type":"registry:ui"},{"path":"packages/astro/src/media/frame.css","type":"registry:lib"},{"path":"packages/astro/src/media/types.ts","type":"registry:lib"},{"path":"packages/astro/src/media/component-types.ts","type":"registry:lib"},{"path":"packages/astro/src/media/checks.ts","type":"registry:lib"},{"path":"packages/astro/src/media/presets.ts","type":"registry:lib"},{"path":"packages/astro/src/media/dominant.ts","type":"registry:lib"}]},{"name":"popover","type":"registry:ui","title":"Popover","description":"Panneau flottant ouvert par un bouton, par l’API HTML popover, ancré en CSS, sans JavaScript.","files":[{"path":"packages/astro/src/overlay/Popover.astro","type":"registry:ui"},{"path":"packages/astro/src/overlay/popover.css","type":"registry:ui"}]},{"name":"progress","type":"registry:ui","title":"Progress","description":"Barre progress ou jauge meter natives, valeur reprise en texte relié.","files":[{"path":"packages/astro/src/feedback/Progress.astro","type":"registry:ui"}]},{"name":"project-cover","type":"registry:ui","title":"ProjectCover","description":"Couverture de projet toujours filetée, au ratio paysage ou large, repli PNG pour les captures.","files":[{"path":"packages/astro/src/media/ProjectCover.astro","type":"registry:ui"},{"path":"packages/astro/src/media/alt.ts","type":"registry:lib"}]},{"name":"prose","type":"registry:ui","title":"Prose","description":"Mise en forme du contenu éditorial (titres, listes, citations, code) à la mesure de lecture.","files":[{"path":"packages/astro/src/content/Prose.astro","type":"registry:ui"}]},{"name":"scrim","type":"registry:ui","title":"Scrim","description":"Texte sur photo posé sur un voile uni dont le contraste au pire cas, sur toute image, est vérifié à 4,5:1 au moins.","files":[{"path":"packages/astro/src/media/Scrim.astro","type":"registry:ui"},{"path":"packages/astro/src/media/scrim.ts","type":"registry:lib"}]},{"name":"select","type":"registry:ui","title":"Select","description":"Liste déroulante native avec chevron décoratif superposé par grille, zéro JavaScript.","files":[{"path":"packages/astro/src/forms/Select.astro","type":"registry:ui"}]},{"name":"separator","type":"registry:ui","title":"Separator","description":"Élément hr natif lu comme séparateur, ou filet décoratif masqué aux technologies d’assistance.","files":[{"path":"packages/astro/src/content/Separator.astro","type":"registry:ui"}]},{"name":"sidebar","type":"registry:ui","title":"Sidebar","description":"Barre latérale de largeur fixe et contenu qui prend le reste ; s'empilent quand le contenu passe sous la moitié de la largeur (modèle « Every Layout », Pickering et Bell, 2021).","files":[{"path":"packages/astro/src/layout/Sidebar.astro","type":"registry:ui"}]},{"name":"skeleton","type":"registry:ui","title":"Skeleton","description":"Emplacement de chargement en lignes : texte lu par les lecteurs d’écran, animation d’opacité supprimée sous prefers-reduced-motion.","files":[{"path":"packages/astro/src/feedback/Skeleton.astro","type":"registry:ui"}]},{"name":"stack","type":"registry:ui","title":"Stack","description":"Empile ses enfants verticalement avec un espacement régulier, sans marge en bordure, sans JavaScript.","files":[{"path":"packages/astro/src/layout/Stack.astro","type":"registry:ui"}]},{"name":"stat","type":"registry:ui","title":"Stat","description":"Indicateur chiffré : libellé, valeur et variation écrite en clair, avec une forme d’icône par tendance.","files":[{"path":"packages/astro/src/content/Stat.astro","type":"registry:ui"}]},{"name":"status","type":"registry:ui","title":"Status","description":"Statut de pipeline avec une forme d’icône propre à chaque état : la couleur n’est jamais seule porteuse du sens.","files":[{"path":"packages/astro/src/feedback/Status.astro","type":"registry:ui"}]},{"name":"switch","type":"registry:ui","title":"Switch","description":"Interrupteur natif sans JavaScript, piste et curseur dessinés en CSS.","files":[{"path":"packages/astro/src/forms/Switch.astro","type":"registry:ui"}]},{"name":"switcher","type":"registry:ui","title":"Switcher","description":"Enfants côte à côte au-delà d'un seuil de largeur, empilés en deçà, sans media query (modèle « Every Layout », Pickering et Bell, 2021).","files":[{"path":"packages/astro/src/layout/Switcher.astro","type":"registry:ui"}]},{"name":"table","type":"registry:ui","title":"Table","description":"Tableau de données dans une région défilante nommée et focalisable, chiffres tabulaires.","files":[{"path":"packages/astro/src/content/Table.astro","type":"registry:ui"}]},{"name":"tabs","type":"registry:ui","title":"Tabs","description":"Onglets (motif APG Tabs) : sections lisibles sans JavaScript, tablist et clavier ajoutés par un script externe.","files":[{"path":"packages/astro/src/navigation/Tabs.astro","type":"registry:ui"},{"path":"packages/astro/src/behaviors/tabs.ts","type":"registry:ui"}]},{"name":"textarea","type":"registry:ui","title":"Textarea","description":"Zone de texte native redimensionnable avec gestion d'erreur et état désactivé.","files":[{"path":"packages/astro/src/forms/Textarea.astro","type":"registry:ui"}]},{"name":"timeline","type":"registry:ui","title":"Timeline","description":"Suite d’étapes datées en liste ordonnée, dans l’ordre fourni, sans tri automatique.","files":[{"path":"packages/astro/src/content/Timeline.astro","type":"registry:ui"}]},{"name":"toast","type":"registry:ui","title":"Toast","description":"Région de notifications non bloquantes : minuteur suspendu au survol et au focus, Échap, bouton de fermeture visible.","files":[{"path":"packages/astro/src/feedback/Toast.astro","type":"registry:ui"},{"path":"packages/astro/src/behaviors/toast.ts","type":"registry:lib"}]},{"name":"tooltip","type":"registry:ui","title":"Tooltip","description":"Infobulle qui décrit un contrôle : focus, survol, Échap (WCAG 1.4.13), jamais affichée au tactile.","files":[{"path":"packages/astro/src/overlay/Tooltip.astro","type":"registry:ui"},{"path":"packages/astro/src/behaviors/tooltip.ts","type":"registry:ui"}]}]}