veza/apps/web/dist_verification/assets/Tabs-jry2MOtG.js
senke 04c25aa24f Phase 2 stabilisation: code mort, Modal→Dialog, feature flags, tests, router split, Rust legacy
Bloc A - Code mort:
- Suppression Studio (components, views, features)
- Suppression gamification + services mock (projectService, storageService, gamificationService)
- Mise à jour Sidebar, Navbar, locales

Bloc B - Frontend:
- Suppression modal.tsx deprecated, Modal.stories (doublon Dialog)
- Feature flags: PLAYLIST_SEARCH, PLAYLIST_RECOMMENDATIONS, ROLE_MANAGEMENT = true
- Suppression 19 tests orphelins, retrait exclusions vitest.config

Bloc C - Backend:
- Extraction routes_auth.go depuis router.go

Bloc D - Rust:
- Suppression security_legacy.rs (code mort, patterns déjà dans security/)
2026-02-14 17:23:32 +01:00

1 line
2.6 KiB
JavaScript

import{a as n,j as m}from"./vendor-react-yWUy5XPk.js";import{c as p}from"./index-CYK_b1Uz.js";const v=n.forwardRef(({className:c,value:t,activeValue:u,onValueChange:a,tabsId:s,children:f,...b},i)=>{const e=u===t,o=s?`${s}-tab-${t}`:void 0,l=s?`${s}-panel-${t}`:void 0;return m.jsx("button",{ref:i,id:o,role:"tab","aria-selected":e,"aria-controls":l,tabIndex:e?0:-1,"data-value":t,onClick:()=>a?.(t),className:p("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-4 py-1.5 text-sm font-bold uppercase tracking-wider","ring-offset-background transition-all duration-[var(--sumi-duration-normal)]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50",e?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground",c),...b,children:f})});v.displayName="TabsTrigger";const g=n.forwardRef(({className:c,children:t,activeValue:u,onValueChange:a,tabsId:s,...f},b)=>{const i=e=>{const o=Array.from(e.currentTarget.querySelectorAll('[role="tab"]')),l=o.findIndex(y=>y===document.activeElement);if(l===-1)return;let d;switch(e.key){case"ArrowRight":d=(l+1)%o.length;break;case"ArrowLeft":d=(l-1+o.length)%o.length;break;case"Home":d=0;break;case"End":d=o.length-1;break;default:return}e.preventDefault(),o[d]?.focus();const r=o[d]?.getAttribute("data-value");r&&a?.(r)};return m.jsx("div",{ref:b,role:"tablist",className:p("inline-flex h-10 items-center justify-center rounded-xl bg-muted p-1 text-muted-foreground border border-border",c),onKeyDown:i,...f,children:n.Children.map(t,e=>n.isValidElement(e)&&e.type===v?n.cloneElement(e,{activeValue:u,onValueChange:a,tabsId:s}):e)})});g.displayName="TabsList";const x=n.forwardRef(({className:c,value:t,activeValue:u,tabsId:a,children:s,...f},b)=>{if(u!==t)return null;const i=a?`${a}-panel-${t}`:void 0,e=a?`${a}-tab-${t}`:void 0;return m.jsx("div",{ref:b,id:i,role:"tabpanel","aria-labelledby":e,tabIndex:0,className:p("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",c),...f,children:s})});x.displayName="TabsContent";const T=n.forwardRef(({className:c,value:t,defaultValue:u,onValueChange:a,children:s,...f},b)=>{const i=n.useId(),[e,o]=n.useState(u||""),l=t!==void 0?t:e,d=r=>{t===void 0&&o(r),a?.(r)};return m.jsx("div",{ref:b,className:c,...f,children:n.Children.map(s,r=>{if(n.isValidElement(r)){if(r.type===g)return n.cloneElement(r,{activeValue:l,onValueChange:d,tabsId:i});if(r.type===x)return n.cloneElement(r,{activeValue:l,tabsId:i})}return r})})});T.displayName="Tabs";export{T,g as a,v as b,x as c};