Repository navigation
Tairo V2 beta #205
Copy link
Copy link
Closed
Description
Tairo V2
We still have some work to do, mainly on the documentation, especially on the migration guide and on bug fixing. On that point, we will be pleased about receiving feedback from you.
Your feedback will be welcome to help us before stabilizing it as we will release when we think it is ready (current 04/2025). Your support will definitely help us ship it faster.
Try it now
You can try it now by cloning the edge branch and run pnpm --filter=demo dev
git clone git@github.com:cssninjaStudio/tairo.git
cd tairo
git checkout edge
pnpm install
pnpm --filter=demo devTo-do
- Migrate
<BaseAutocomplete>(from shuriken ui 3 to 4) - Migrate
<BaseCheckbox>(from shuriken ui 3 to 4) in examples - Update documentation
- Upgate quickstarter (.app)
- Tests check
- Linters
- Typescript
- Final review
- RTL
- Mobile
- Tablet
- Desktop
Major changes since V1
Tairo
- New layout architecture: all layouts layers are merged to Tairo, to simplify maintenance and to allow you to build a more personalized navigation experience.
- All pages rewritten: spacing and typography has been rethought to look more modern
- Customization:
app.config.tsandtailwind.config.tsare replaced by CSS variables - Nuxt 4 Ready: because we want to deliver releases more often as possible while keeping it at the edge
- Shuriken UI V4: (docs)
- Switch from
@headless-ui/vuetoreka-ui: is our future-proof library to ensure all our components are accessible - Tailwind V4: benefit from performance improvement and new awesome syntax.
- Switch from
Tairo Demo
- i18n has been included (with RTL examples)
- nuxt content v3 is used for the documentation
- landing and documentation layers are merged into a single app
- dependencies reduced by half
New layout structure
In Tairo V2, layouts have to be defined in the end user application rather than in the app config.
This will require you more work but allow you to handle all the cases you may encounter (like i18n, acl, etc ...)
Below is an example of anatomy for a layout in Tairo V2:
<template>
<TairoCollapseLayout>
<TairoCollapseSidebar>
<TairoCollapseSidebarHeader />
<TairoCollapseSidebarClose />
<TairoCollapseSidebarLinks>
<TairoCollapseSidebarLink />
<TairoCollapseCollapsible>
<template #trigger>
<TairoCollapseCollapsibleTrigger />
</template>
<TairoCollapseCollapsibleLink />
</TairoCollapseCollapsible>
</TairoCollapseSidebarLinks>
</TairoCollapseSidebar>
<TairoCollapseContent>
<slot />
</TairoCollapseContent>
</TairoCollapseLayout>
</template>Layouts
| Layout Type | Image |
|---|---|
| Tairo V2 Collapse Layout | ![]() |
| Tairo V2 Sidebar Layout | ![]() |
| Tairo V2 Sidenav Layout | ![]() |
| Tairo V2 Topnav Layout | ![]() |
| Tairo V2 Topnav (lite) Layout | ![]() |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels





Activity
linear commentedon Mar 15, 2025
CSS-45 Tairo V2 beta
Tairo V2
We still have some work to do, mainly on the documentation, especially on the migration guide and on bug fixing. On that point, we will be pleased about receiving feedback from you.
Your feedback will be welcome to help us before stabilizing it as we will release when we think it is ready (current 04/2025). Your support will definitely help us ship it faster.
Try it now
You can try it now by cloning the edge branch and run
pnpm --filter=demo devMajor changes since V1
app.config.tsandtailwind.config.tsare replaced by CSS variables@headless-ui/vuetoreka-ui: is our future-proof library to ensure all our components are accessibleNew layout structure
In Tairo V2, layouts have to be defined in the end user application rather than in the app config.
This will require you more work but allow you to handle all the cases you may encounter (like i18n, acl, etc ...)
Layouts
asadmalik commentedon Mar 15, 2025
Awesome!!! Congrat!
hjelmdal commentedon Mar 19, 2025
Thanks alot for the update @stafyniaksacha - just before I get started on doing feedback.. what would you like? bug reports, feedback on layout / structure, or something else? :-)
so, instead of spamming with cases like that, how can we help you in the best way, so that you can move forward faster? :-)
stafyniaksacha commentedon Mar 19, 2025
Hello @hjelmdal!
I think for now you can list your feedback here (updating the comment when needed)
With latests push everything should be ok, let us know if you have any issue, yes!
They should be ok, but we still have to make a final review, feel free to point out pages that don't look good :)
hjelmdal commentedon Mar 20, 2025
cool - for starters, don't know if I am just doing something wrong, but:
on the .app folder startup I get:
ERROR Pre-transform error: Failed to resolve import "
/assets/css/main.css" from "virtual:nuxt:%2FUsers%2Fshn%2FSites%2FIMPACT%2F2025-Dashboard%2Fedge%2F.app%2F.nuxt%2Fcss.mjs". Does the file exist? 7:49:08 AM/assets/css/main.css";Plugin: vite:import-analysis
File: virtual:nuxt:%2FUsers%2Fshn%2FSites%2FIMPACT%2F2025-Dashboard%2Fedge%2F.app%2F.nuxt%2Fcss.mjs:1:9
1 | import "
| ^
✔ Vite server built in 557ms 7:49:09 AM
✔ Nuxt Nitro server built in 559ms nitro 7:49:10 AM
ℹ Vite client warmed up in 2ms 7:49:10 AM
ERROR [request error] [unhandled] [GET] http://localhost:3000/
ℹ Error: Cannot find module '~/assets/css/main.css' imported from 'virtual:nuxt:%2FUsers%2Fshn%2FSites%2FIMPACT%2F2025-Dashboard%2Fedge%2F.app%2F.nuxt%2Fcss.mjs'.
hjelmdal commentedon Mar 20, 2025
okay.. I had another look.... found out the reference was simply wrong in .app layer
you either need to add the main.css to assets/css/ folder (now it's placed in assets/ - or change the reference in nuxt.config.ts
stafyniaksacha commentedon Mar 20, 2025
Oh sorry, I did not mention that we do not have updated the quickstarter yet (that will be the last thing we will do)
You can try the demo using
pnpm --filter demo devhjelmdal commentedon Mar 21, 2025
I know, but I need to try out the new layout structure, so that I can test whether that's suitable coming from the old structure... but I seem stuck if I want to keep the old structure, where I made a copy of one of the tairo layouts and put it in the layers/ folder, because now my tailwind classes in that layer does not seem to bundle the tailwind classes used there, and can't figure out why.
If I use the new structure and copy a layout from the demo folder, my initial states of collapsible menu items always seem open and will not close - although it works in the demo.. so I am stuck either way atm
hjelmdal commentedon Mar 25, 2025
okay.. I managed to get my layout built in the new structure. To me, the new layout structure doesn't really change anything - if I need to do modifications, I have to do the same approach to either overwrite components or break out of the layout and use my own component... I might be biased coming from the "old" structure, but I liked that I only extended the layer(s) needed, now it all seem baked into that one Tairo layer. After setting up your layer, it doesn't really make a diffence though.
I had 30 minutes in hand, so I figured that I could try to look through the demo to show some help..
Feedback
TLDR; take whatever you can use, and ignore the rest... just emptied my mind :-)
Issues / bugs / feedback found:
General:
Personal v1:
dashboards/overview
dashboards/quickview
dashboards/banking-4
dashboard/stocks
dashboards/trading
dashboards/flights
dashboards/company
dashboards/sales
dashboards/ecommerce
layouts/ai
layouts/ai/ui
dashboards/delivery
that was what I had time for in this short review.. hope it helps... :)
dipbhi commentedon May 3, 2025
Thank you for the new release. A migration guide would be extremely helpful so that we don't have to spend a lot of time fixing issues.
stafyniaksacha commentedon May 4, 2025
Hello ! We have them here: https://tairo.cssninja.io/documentation/guides/migration and https://shurikenui.com/docs/advanced/migration let us know if you find something missing !
mod08 commentedon May 7, 2025
Not sure if I have missed it but what's the replacement for the TairoModal component? Should I use the bare Dialog Component from reka-ui?