vibe-design-system 2.8.72 → 2.8.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-design-system",
3
- "version": "2.8.72",
3
+ "version": "2.8.73",
4
4
  "description": "Auto-generate design systems for vibe coding projects",
5
5
  "homepage": "https://vibedesign.tech",
6
6
  "repository": {
@@ -3918,7 +3918,7 @@ function buildInventoryPreviewHtml(compName, category, colorSwatches, tokens) {
3918
3918
  if (/^(tabs|tab)$/.test(n)) {
3919
3919
  return wrap(`<div style="width:85%;box-sizing:border-box"><div style="display:flex;background:${bg};border-radius:${rad}px;padding:3px;gap:2px"><div style="flex:1;background:${bg === "#f3f4f6" ? "#fff" : hex2(bg)};border-radius:${Math.max(rad-2,2)}px;padding:4px 0;font-size:10px;font-weight:600;color:${txt};text-align:center">Tab 1</div><div style="flex:1;padding:4px 0;font-size:10px;color:${txt};opacity:0.5;text-align:center">Tab 2</div><div style="flex:1;padding:4px 0;font-size:10px;color:${txt};opacity:0.5;text-align:center">Tab 3</div></div></div>`);
3920
3920
  }
3921
- if (/^(table|datatable)$/.test(n) || category === "Text and Data Display") {
3921
+ if (/^(table|datatable)$/.test(n) || (category === "Text and Data Display" && !/chart|sparkline/.test(n))) {
3922
3922
  return wrap(`<div style="border:1px solid ${brd};border-radius:${rad}px;overflow:hidden;width:85%;box-sizing:border-box"><div style="display:flex;background:${hex2(bg)};border-bottom:1px solid ${brd};padding:4px 8px;gap:8px">${[1,1,1].map(()=>`<div style="flex:1;height:5px;background:${txt};opacity:0.3;border-radius:1px"></div>`).join("")}</div><div style="display:flex;background:${bg};padding:4px 8px;gap:8px">${[1,1,1].map(()=>`<div style="flex:1;height:5px;background:${txt};opacity:0.15;border-radius:1px"></div>`).join("")}</div><div style="display:flex;background:${bg};padding:4px 8px;gap:8px;opacity:0.7">${[1,1,1].map(()=>`<div style="flex:1;height:5px;background:${txt};opacity:0.15;border-radius:1px"></div>`).join("")}</div></div>`);
3923
3923
  }
3924
3924
  if (/^(sidebar|appsidebar)$/.test(n)) {
@@ -4189,11 +4189,17 @@ function writeComponentInventoryStory(components, foundations) {
4189
4189
  });
4190
4190
 
4191
4191
  // ── PREVIEWS map: only shadcn UI primitives (safe to render with no props) ──
4192
- const TEXT_CHILD_NAMES = new Set(['button','badge','toggle','label','link','chip','tag','pill']);
4192
+ // Components that need context providers or have no visible closed state — use shape HTML
4193
+ const PREVIEW_CONTEXT_SKIP = new Set(['toast', 'toaster', 'sonner', 'usetoast', 'alertdialog', 'hovercard']);
4194
+ // Container/text components that need children to be visible (renders text inside)
4195
+ const TEXT_CHILD_NAMES = new Set(['button','badge','toggle','label','link','chip','tag','pill','card','alert','marketstatscard']);
4193
4196
  const previewEntries = components
4194
4197
  .filter(comp => {
4195
4198
  const info = importInfoMap[comp.name];
4196
- return info && !info.skip && info.isShadcn;
4199
+ if (!info || info.skip || !info.isShadcn) return false;
4200
+ // Skip components that require context providers (Toast, Toaster, Sonner)
4201
+ if (PREVIEW_CONTEXT_SKIP.has(info.identifier.toLowerCase())) return false;
4202
+ return true;
4197
4203
  })
4198
4204
  .map(comp => {
4199
4205
  const { identifier } = importInfoMap[comp.name];