{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "dropdown", "title": "Dropdown", "description": "Menu déroulant via l'API Popover + CSS Anchor Positioning (+ polyfill).", "files": [ { "path": "registry/valraiso/dropdown/dropdown.astro", "content": "---\nimport styles from \"./dropdown.module.css\";\n\n/**\n * Dropdown — menu déroulant via l'API Popover, positionné par CSS Anchor\n * Positioning. Le menu s'ouvre sous le bouton avec repli à droite si besoin.\n *\n * Slots :\n * - `button` : le contenu du bouton déclencheur.\n * - `dropdown` : le contenu du menu (liens, actions…).\n *\n * Personnalisation :\n * - `id` : identifiant unique (généré automatiquement sinon).\n * - `class` : classe(s) ajoutée(s) au conteneur racine.\n * - variables CSS : --ads-dropdown-bg, --ads-dropdown-radius,\n * --ads-dropdown-shadow, --ads-dropdown-gap, --ads-dropdown-transition-duration,\n * --ads-dropdown-z-index.\n */\ninterface Props {\n id?: number | string;\n class?: string;\n}\n\n// générer un id unique pour chaque dropdown pour éviter les conflits\nconst { id, class: className } = Astro.props;\nconst uniqueId = id || crypto.randomUUID();\n---\n\n