Prezentare generală
Twenty UI este biblioteca UI React open-source a Twenty. Oferă primitive fundamentale, componente partajate, pictograme și tokenuri de temă cu CSS preconfigurat, astfel încât aplicația dvs. nu are nevoie de un compilator CSS-in-JS.Instalează
Pentru o aplicație React existentă, instalați biblioteca. React 19 este necesar.twenty-ui/components/code-editor. Alte componente nu necesită Monaco. Pentru a utiliza editorul de cod, instalați dependențele peer opționale și configurați workerii Monaco pentru bundlerul dvs. înainte de a-l monta:
twenty-ui, twenty-sdk și twenty-client-sdk la aceeași versiune.
Încărcați stiluri și furnizați o temă
Importați o dată foaia de stiluri a componentelor și o foaie de stiluri pentru temă la punctul de intrare al aplicației.ThemeProvider aplică clasa temei active și pune valorile temei la dispoziția componentelor.
Suprascrierea stilurilor
Twenty UI plasează stilurile componentelor și resetarea în stratul de cascadătwenty-ui. Stilurile pe care le scrieți în afara unui strat, precum un className, un modul CSS sau o regulă CSS-in-JS, suprascriu acele reguli stratificate indiferent de specificitatea selectorului sau de ordinea importurilor. Foile de stil ale temei și regulile globale Monaco ale editorului opțional rămân nestratificate.
Resetările globale ale elementelor din aplicația dvs. sunt și ele nestratificate, deci ar suprascrie componentele Twenty UI. Declarați un strat pentru acestea înainte de încărcarea foii de stil Twenty UI:
Alegeți un punct de intrare
Importați componente din subcalea lor publică pentru a menține importurile concentrate: Primitivele sunt controale fundamentale, inclusiv controale compuse precum Select, Popover și AlertDialog. Componentele partajate combină primitivele în presetări de design recurente și blocuri reutilizabile pentru aplicații. Ambele primesc date și callback-uri de la aplicație. Utilizați MainButton pentru acțiuni principale și LightButton pentru acțiuni ușoare. Ambele provin dintwenty-ui/components/input și partajează contractul de interacțiune fundamental al
Button. Rutarea și
aspectul paginii rămân în aplicație.
Fiecare familie de primitive și de componente partajate are un punct de intrare public corespunzător, precum
twenty-ui/primitives/input și twenty-ui/components/settings. Intrările agregate
twenty-ui/primitives și twenty-ui/components exportă familiile respective.
Intrarea rădăcină twenty-ui reexportă primitive, componente partajate, pictograme, tokenuri de temă
și utilitare. Resursele, ajutoarele pentru testare și editorul de cod opțional au puncte de intrare separate.
Importați pictograme individuale, precum
IconCheck, din twenty-ui/icon. Furnizorul dinamic de pictograme include întregul catalog de pictograme, așadar rezervați-l pentru interfețe care trebuie să caute pictograme la runtime.
Hook-uri responsive
ImportațiuseIsMobile, useIsTouchDevice și useMediaQuery din twenty-ui/utilities.
Constantele de interogare provin din
twenty-ui/utilities; MOBILE_VIEWPORT provine din twenty-ui/theme. Abonamentele partajează un singur MediaQueryList pentru fiecare interogare și se actualizează când se modifică potrivirea acesteia. Hook-urile returnează false în timpul randării pe server, la prima randare de hidratare și când window.matchMedia nu este disponibil.
Într-o componentă front Twenty, interogările de lățime urmează caseta widgetului. Prin urmare, useIsMobile urmează lățimea widgetului, în timp ce useIsTouchDevice urmează intrarea principală a dispozitivului. Utilizați suprascrieri de povești pentru a testa aceste stări în Storybook.
Continuă
- Tematizare: utilizați tokenuri semantice și suprascrieri cu domeniu de aplicare.
- Mod întunecat: comutați între palete deschise și întunecate.
Răsfoiește biblioteca
- Primitive: controale fundamentale grupate pe familii, cu exemple de utilizare și referințe API.
- Componente: presetări de design partajate și elemente constitutive reutilizabile ale aplicației, compuse din primitive.