@shortwind/catalog 0.1.0-beta.3

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.
Files changed (83) hide show
  1. package/dist/expand.js +3 -0
  2. package/dist/expand@0.0.1.js +3 -0
  3. package/dist/registry/badge/CHANGELOG.md +5 -0
  4. package/dist/registry/badge.css +44 -0
  5. package/dist/registry/badge@0.0.1.css +44 -0
  6. package/dist/registry/button/CHANGELOG.md +5 -0
  7. package/dist/registry/button.css +74 -0
  8. package/dist/registry/button@0.0.1.css +74 -0
  9. package/dist/registry/card/CHANGELOG.md +5 -0
  10. package/dist/registry/card.css +43 -0
  11. package/dist/registry/card@0.0.1.css +43 -0
  12. package/dist/registry/code/CHANGELOG.md +5 -0
  13. package/dist/registry/code.css +22 -0
  14. package/dist/registry/code@0.0.1.css +22 -0
  15. package/dist/registry/dialog/CHANGELOG.md +5 -0
  16. package/dist/registry/dialog.css +33 -0
  17. package/dist/registry/dialog@0.0.1.css +33 -0
  18. package/dist/registry/empty/CHANGELOG.md +5 -0
  19. package/dist/registry/empty.css +27 -0
  20. package/dist/registry/empty@0.0.1.css +27 -0
  21. package/dist/registry/feedback/CHANGELOG.md +5 -0
  22. package/dist/registry/feedback.css +47 -0
  23. package/dist/registry/feedback@0.0.1.css +47 -0
  24. package/dist/registry/form/CHANGELOG.md +5 -0
  25. package/dist/registry/form.css +67 -0
  26. package/dist/registry/form@0.0.1.css +67 -0
  27. package/dist/registry/icon/CHANGELOG.md +5 -0
  28. package/dist/registry/icon.css +27 -0
  29. package/dist/registry/icon@0.0.1.css +27 -0
  30. package/dist/registry/index.json +23 -0
  31. package/dist/registry/layout/CHANGELOG.md +5 -0
  32. package/dist/registry/layout.css +70 -0
  33. package/dist/registry/layout@0.0.1.css +70 -0
  34. package/dist/registry/list/CHANGELOG.md +5 -0
  35. package/dist/registry/list.css +37 -0
  36. package/dist/registry/list@0.0.1.css +37 -0
  37. package/dist/registry/manifest.json +1867 -0
  38. package/dist/registry/media/CHANGELOG.md +5 -0
  39. package/dist/registry/media.css +37 -0
  40. package/dist/registry/media@0.0.1.css +37 -0
  41. package/dist/registry/navigation/CHANGELOG.md +5 -0
  42. package/dist/registry/navigation.css +38 -0
  43. package/dist/registry/navigation@0.0.1.css +38 -0
  44. package/dist/registry/presets.json +6 -0
  45. package/dist/registry/progress/CHANGELOG.md +5 -0
  46. package/dist/registry/progress.css +22 -0
  47. package/dist/registry/progress@0.0.1.css +22 -0
  48. package/dist/registry/recipes/badge.css +44 -0
  49. package/dist/registry/recipes/button.css +74 -0
  50. package/dist/registry/recipes/card.css +43 -0
  51. package/dist/registry/recipes/code.css +22 -0
  52. package/dist/registry/recipes/dialog.css +33 -0
  53. package/dist/registry/recipes/empty.css +27 -0
  54. package/dist/registry/recipes/feedback.css +47 -0
  55. package/dist/registry/recipes/form.css +67 -0
  56. package/dist/registry/recipes/icon.css +27 -0
  57. package/dist/registry/recipes/layout.css +70 -0
  58. package/dist/registry/recipes/list.css +37 -0
  59. package/dist/registry/recipes/media.css +37 -0
  60. package/dist/registry/recipes/navigation.css +38 -0
  61. package/dist/registry/recipes/progress.css +22 -0
  62. package/dist/registry/recipes/skeleton.css +22 -0
  63. package/dist/registry/recipes/surface.css +45 -0
  64. package/dist/registry/recipes/table.css +37 -0
  65. package/dist/registry/recipes/text.css +59 -0
  66. package/dist/registry/recipes/tooltip.css +11 -0
  67. package/dist/registry/skeleton/CHANGELOG.md +5 -0
  68. package/dist/registry/skeleton.css +22 -0
  69. package/dist/registry/skeleton@0.0.1.css +22 -0
  70. package/dist/registry/surface/CHANGELOG.md +5 -0
  71. package/dist/registry/surface.css +45 -0
  72. package/dist/registry/surface@0.0.2.css +45 -0
  73. package/dist/registry/table/CHANGELOG.md +5 -0
  74. package/dist/registry/table.css +37 -0
  75. package/dist/registry/table@0.0.1.css +37 -0
  76. package/dist/registry/text/CHANGELOG.md +5 -0
  77. package/dist/registry/text.css +59 -0
  78. package/dist/registry/text@0.0.1.css +59 -0
  79. package/dist/registry/tooltip/CHANGELOG.md +5 -0
  80. package/dist/registry/tooltip.css +11 -0
  81. package/dist/registry/tooltip@0.0.1.css +11 -0
  82. package/dist/tsconfig.tsbuildinfo +1 -0
  83. package/package.json +33 -0
package/dist/expand.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";var __shortwindRuntime=(()=>{function i(e,o){let r=e.split(/\s+/).filter(Boolean);if(!r.some(t=>t.charCodeAt(0)===64))return e;let n=[];for(let t of r){if(t.charCodeAt(0)===64){let s=o.flattened[t.slice(1)];if(s){for(let u of s)n.push(u);continue}}n.push(t)}return n.join(" ")}function d(e,o){let r=[e,...Array.from(e.querySelectorAll("*"))];for(let n of r){let t=n.getAttribute("class");if(t===null)continue;let s=i(t,o);s!==t&&n.setAttribute("class",s)}}var c={flattened:{"badge-base":["inline-flex","items-center","rounded-full","border","px-2.5","py-0.5","text-xs","font-medium","transition-colors","focus:outline-none","focus:ring-2","focus:ring-ring","focus:ring-offset-2"],badge:["inline-flex","items-center","gap-1","rounded-full","bg-muted","px-2","py-0.5","text-xs","font-medium","text-muted-foreground"],"badge-success":["inline-flex","items-center","gap-1","rounded-full","bg-green-100","px-2","py-0.5","text-xs","font-medium","text-green-800","dark:bg-green-900","dark:text-green-200"],"badge-warning":["inline-flex","items-center","gap-1","rounded-full","bg-amber-100","px-2","py-0.5","text-xs","font-medium","text-amber-800","dark:bg-amber-900","dark:text-amber-200"],"badge-danger":["inline-flex","items-center","gap-1","rounded-full","bg-destructive/15","px-2","py-0.5","text-xs","font-medium","text-destructive"],"badge-info":["inline-flex","items-center","gap-1","rounded-full","bg-primary/15","px-2","py-0.5","text-xs","font-medium","text-primary"],"badge-outline":["inline-flex","items-center","gap-1","rounded-full","border","border-border","px-2","py-0.5","text-xs","font-medium","text-foreground"],"btn-base":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],"btn-primary":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","bg-primary","text-primary-foreground","hover:bg-primary/90"],"btn-primary-sm":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","bg-primary","text-primary-foreground","hover:bg-primary/90","px-3","py-1.5","text-xs"],"btn-primary-lg":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","bg-primary","text-primary-foreground","hover:bg-primary/90","px-6","py-3","text-base"],"btn-secondary":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border","border-border","bg-secondary","text-secondary-foreground","hover:bg-secondary/80"],"btn-secondary-sm":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border","border-border","bg-secondary","text-secondary-foreground","hover:bg-secondary/80","px-3","py-1.5","text-xs"],"btn-secondary-lg":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border","border-border","bg-secondary","text-secondary-foreground","hover:bg-secondary/80","px-6","py-3","text-base"],"btn-ghost":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","text-foreground","hover:bg-muted"],"btn-ghost-sm":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","text-foreground","hover:bg-muted","px-3","py-1.5","text-xs"],"btn-ghost-lg":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","text-foreground","hover:bg-muted","px-6","py-3","text-base"],"btn-danger":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","bg-destructive","text-destructive-foreground","hover:bg-destructive/90"],"btn-outline":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border","border-primary","text-primary","hover:bg-primary/10"],"btn-icon":["inline-flex","h-9","w-9","items-center","justify-center","rounded-md","text-foreground","transition-colors","hover:bg-muted","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],card:["rounded-lg","border","border-border","bg-card","text-card-foreground","p-4"],"card-elevated":["rounded-lg","border","border-border","bg-card","text-card-foreground","p-4","shadow-md"],"card-flat":["rounded-lg","bg-muted","text-foreground","p-4"],"card-interactive":["rounded-lg","border","border-border","bg-card","text-card-foreground","p-4","cursor-pointer","transition-shadow","hover:shadow-md","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],"card-header":["mb-3","border-b","border-border","pb-3"],"card-body":["py-1"],"card-footer":["mt-3","flex","items-center","justify-end","gap-2","border-t","border-border","pt-3"],"code-inline":["rounded","bg-muted","px-1.5","py-0.5","font-mono","text-[0.875em]","text-foreground"],"code-block":["overflow-x-auto","rounded-md","border","border-border","bg-muted","p-4","font-mono","text-sm","leading-6","text-foreground"],kbd:["inline-flex","items-center","rounded","border","border-border","bg-muted","px-1.5","py-0.5","font-mono","text-xs","text-foreground","shadow-sm"],dialog:["fixed","inset-0","z-50","flex","items-center","justify-center","p-4"],"dialog-overlay":["fixed","inset-0","z-40","bg-black/50"],"dialog-content":["relative","z-50","w-full","max-w-md","rounded-lg","border","border-border","bg-popover","text-popover-foreground","p-6","shadow-xl"],"dialog-header":["mb-4","flex","flex-col","gap-1"],"dialog-footer":["mt-6","flex","items-center","justify-end","gap-2"],empty:["flex","flex-col","items-center","justify-center","gap-3","rounded-md","border","border-dashed","border-border","p-8","text-center"],"empty-icon":["flex","h-12","w-12","items-center","justify-center","rounded-full","bg-muted","text-muted-foreground"],"empty-title":["text-base","font-semibold","text-foreground"],"empty-description":["max-w-sm","text-sm","text-muted-foreground"],alert:["flex","items-start","gap-3","rounded-md","border","border-border","bg-card","p-4","text-sm","text-card-foreground"],"alert-success":["flex","items-start","gap-3","rounded-md","border","border-green-200","bg-green-50","p-4","text-sm","text-green-900","dark:border-green-900","dark:bg-green-950","dark:text-green-100"],"alert-warning":["flex","items-start","gap-3","rounded-md","border","border-amber-200","bg-amber-50","p-4","text-sm","text-amber-900","dark:border-amber-900","dark:bg-amber-950","dark:text-amber-100"],"alert-danger":["flex","items-start","gap-3","rounded-md","border","border-destructive/30","bg-destructive/10","p-4","text-sm","text-destructive"],"alert-info":["flex","items-start","gap-3","rounded-md","border","border-primary/30","bg-primary/10","p-4","text-sm","text-primary"],callout:["border-l-4","border-primary","bg-primary/10","p-4","text-sm","text-foreground"],toast:["pointer-events-auto","flex","items-start","gap-3","rounded-md","border","border-border","bg-popover","p-4","text-sm","text-popover-foreground","shadow-lg"],banner:["w-full","bg-primary","px-4","py-2","text-center","text-sm","font-medium","text-primary-foreground"],input:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],"input-shell":["flex","h-9","w-full","min-w-0","rounded-md","border","border-input","bg-transparent","px-3","py-1","text-base","shadow-xs","outline-none","transition-[color,box-shadow]","placeholder:text-muted-foreground","selection:bg-primary","selection:text-primary-foreground","file:inline-flex","file:h-7","file:border-0","file:bg-transparent","file:text-sm","file:font-medium","file:text-foreground","focus-visible:border-ring","focus-visible:ring-ring/50","focus-visible:ring-[3px]","aria-invalid:border-destructive","aria-invalid:ring-destructive/20","disabled:pointer-events-none","disabled:cursor-not-allowed","disabled:opacity-50","md:text-sm","dark:bg-input/30","dark:aria-invalid:ring-destructive/40"],"input-error":["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border-destructive","focus:border-destructive","focus:outline-destructive"],textarea:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],select:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],checkbox:["h-4","w-4","rounded","border-input","text-primary","focus:outline-2","focus:outline-offset-2","focus:outline-ring"],radio:["h-4","w-4","border-input","text-primary","focus:outline-2","focus:outline-offset-2","focus:outline-ring"],field:["flex","flex-col","gap-1.5"],"field-error":["flex","flex-col","gap-1.5"],fieldset:["flex","flex-col","gap-4","rounded-md","border","border-border","p-4"],help:["text-xs","text-muted-foreground"],"icon-sm":["h-4","w-4","shrink-0"],"icon-md":["h-5","w-5","shrink-0"],"icon-lg":["h-6","w-6","shrink-0"],"icon-muted":["text-muted-foreground"],"stack-xs":["flex","flex-col","gap-1"],"stack-sm":["flex","flex-col","gap-2"],"stack-md":["flex","flex-col","gap-4"],"stack-lg":["flex","flex-col","gap-8"],row:["flex","flex-row","items-center","gap-2"],"row-between":["flex","flex-row","items-center","justify-between","gap-2"],"row-end":["flex","flex-row","items-center","justify-end","gap-2"],"grid-2":["grid","grid-cols-1","gap-4","sm:grid-cols-2"],"grid-3":["grid","grid-cols-1","gap-4","sm:grid-cols-2","lg:grid-cols-3"],"grid-4":["grid","grid-cols-1","gap-4","sm:grid-cols-2","lg:grid-cols-4"],center:["flex","items-center","justify-center"],full:["h-full","w-full"],list:["flex","flex-col","gap-1"],"list-item":["flex","items-center","gap-2","rounded-md","px-3","py-2","text-sm","text-foreground"],"list-bordered":["divide-y","divide-border","rounded-md","border","border-border"],dl:["grid","grid-cols-1","gap-2","sm:grid-cols-3","sm:gap-4"],dt:["text-sm","font-medium","text-muted-foreground"],dd:["text-sm","text-foreground","sm:col-span-2"],avatar:["inline-flex","h-10","w-10","items-center","justify-center","overflow-hidden","rounded-full","bg-muted","text-sm","font-medium","text-muted-foreground"],"avatar-sm":["inline-flex","h-10","w-10","items-center","justify-center","overflow-hidden","rounded-full","bg-muted","text-sm","font-medium","text-muted-foreground","h-6","w-6","text-xs"],"avatar-lg":["inline-flex","h-10","w-10","items-center","justify-center","overflow-hidden","rounded-full","bg-muted","text-sm","font-medium","text-muted-foreground","h-14","w-14","text-base"],thumb:["h-16","w-16","rounded-md","object-cover"],"aspect-square":["aspect-square","w-full","overflow-hidden","rounded-md"],"aspect-video":["aspect-video","w-full","overflow-hidden","rounded-md"],nav:["flex","items-center","gap-1"],"nav-link":["inline-flex","items-center","gap-2","rounded-md","px-3","py-1.5","text-sm","font-medium","text-muted-foreground","transition-colors","hover:bg-muted","hover:text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],"nav-link-active":["inline-flex","items-center","gap-2","rounded-md","bg-muted","px-3","py-1.5","text-sm","font-medium","text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],breadcrumb:["flex","items-center","gap-1.5","text-sm","text-muted-foreground"],tab:["inline-flex","items-center","gap-2","border-b-2","border-transparent","px-3","py-2","text-sm","font-medium","text-muted-foreground","transition-colors","hover:border-border","hover:text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],"tab-active":["inline-flex","items-center","gap-2","border-b-2","border-primary","px-3","py-2","text-sm","font-medium","text-primary","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],"progress-track":["h-2","w-full","overflow-hidden","rounded-full","bg-muted"],"progress-bar":["h-full","rounded-full","bg-primary","transition-all"],spinner:["inline-block","h-4","w-4","animate-spin","rounded-full","border-2","border-border","border-t-primary"],skeleton:["animate-pulse","rounded-md","bg-muted"],"skeleton-text":["h-4","w-full","animate-pulse","rounded","bg-muted"],"skeleton-circle":["h-10","w-10","animate-pulse","rounded-full","bg-muted"],surface:["bg-background","text-foreground"],"surface-muted":["bg-muted","text-foreground"],"surface-accent":["bg-accent","text-accent-foreground"],wrapper:["mx-auto","w-full","max-w-6xl","px-4","sm:px-6","lg:px-8"],"wrapper-tight":["mx-auto","w-full","max-w-3xl","px-4","sm:px-6"],"divider-h":["shrink-0","h-px","w-full","bg-border"],"divider-v":["shrink-0","h-full","w-px","bg-border"],"table-container":["w-full","overflow-x-auto","rounded-md","border","border-border"],table:["w-full","border-collapse","text-left","text-sm","text-foreground"],th:["border-b","border-border","px-3","py-2","text-xs","font-semibold","uppercase","tracking-wide","text-muted-foreground"],td:["border-b","border-border","px-3","py-2"],"tr-hover":["transition-colors","hover:bg-muted"],"table-zebra":["w-full","border-collapse","text-left","text-sm","text-foreground","[&_tbody_tr:nth-child(odd)]:bg-muted"],"heading-xl":["text-4xl","font-bold","tracking-tight","text-foreground"],"heading-lg":["text-2xl","font-semibold","tracking-tight","text-foreground"],"heading-md":["text-xl","font-semibold","text-foreground"],"heading-sm":["text-base","font-semibold","text-foreground"],body:["text-sm","leading-6","text-foreground"],lead:["text-lg","leading-relaxed","text-muted-foreground"],muted:["text-sm","text-muted-foreground"],label:["text-sm","font-medium","text-foreground"],caption:["text-xs","text-muted-foreground"],link:["text-primary","underline-offset-2","hover:underline","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],tooltip:["pointer-events-none","z-50","rounded-md","bg-foreground","px-2","py-1","text-xs","font-medium","text-background","shadow-md"]},families:{badge:[{name:"badge-base",description:`Badge shell \u2014 shape, sizing, focus ring. No bg/text/border color so
2
+ variants can supply their own tone without conflicts.`,tokens:["inline-flex","items-center","rounded-full","border","px-2.5","py-0.5","text-xs","font-medium","transition-colors","focus:outline-none","focus:ring-2","focus:ring-ring","focus:ring-offset-2"],references:[],sourceFile:"badge.css",sourceLine:12},{name:"badge",description:"Default neutral badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-muted","px-2","py-0.5","text-xs","font-medium","text-muted-foreground"],references:[],sourceFile:"badge.css",sourceLine:17},{name:"badge-success",description:"Success tone badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-green-100","px-2","py-0.5","text-xs","font-medium","text-green-800","dark:bg-green-900","dark:text-green-200"],references:[],sourceFile:"badge.css",sourceLine:22},{name:"badge-warning",description:"Warning tone badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-amber-100","px-2","py-0.5","text-xs","font-medium","text-amber-800","dark:bg-amber-900","dark:text-amber-200"],references:[],sourceFile:"badge.css",sourceLine:27},{name:"badge-danger",description:"Danger tone badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-destructive/15","px-2","py-0.5","text-xs","font-medium","text-destructive"],references:[],sourceFile:"badge.css",sourceLine:32},{name:"badge-info",description:"Info tone badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-primary/15","px-2","py-0.5","text-xs","font-medium","text-primary"],references:[],sourceFile:"badge.css",sourceLine:37},{name:"badge-outline",description:"Outline badge \u2014 no fill.",tokens:["inline-flex","items-center","gap-1","rounded-full","border","border-border","px-2","py-0.5","text-xs","font-medium","text-foreground"],references:[],sourceFile:"badge.css",sourceLine:42}],button:[{name:"btn-base",description:"Shared button base \u2014 sizing, focus ring, disabled state.",tokens:["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"button.css",sourceLine:12},{name:"btn-primary",description:"Primary call-to-action button.",tokens:["@btn-base","bg-primary","text-primary-foreground","hover:bg-primary/90"],references:["btn-base"],sourceFile:"button.css",sourceLine:17},{name:"btn-primary-sm",description:"Small primary button.",tokens:["@btn-primary","px-3","py-1.5","text-xs"],references:["btn-primary"],sourceFile:"button.css",sourceLine:22},{name:"btn-primary-lg",description:"Large primary button.",tokens:["@btn-primary","px-6","py-3","text-base"],references:["btn-primary"],sourceFile:"button.css",sourceLine:27},{name:"btn-secondary",description:"Secondary button \u2014 bordered surface tone.",tokens:["@btn-base","border","border-border","bg-secondary","text-secondary-foreground","hover:bg-secondary/80"],references:["btn-base"],sourceFile:"button.css",sourceLine:32},{name:"btn-secondary-sm",description:"Small secondary button.",tokens:["@btn-secondary","px-3","py-1.5","text-xs"],references:["btn-secondary"],sourceFile:"button.css",sourceLine:37},{name:"btn-secondary-lg",description:"Large secondary button.",tokens:["@btn-secondary","px-6","py-3","text-base"],references:["btn-secondary"],sourceFile:"button.css",sourceLine:42},{name:"btn-ghost",description:"Ghost button \u2014 text only, no background.",tokens:["@btn-base","text-foreground","hover:bg-muted"],references:["btn-base"],sourceFile:"button.css",sourceLine:47},{name:"btn-ghost-sm",description:"Small ghost button.",tokens:["@btn-ghost","px-3","py-1.5","text-xs"],references:["btn-ghost"],sourceFile:"button.css",sourceLine:52},{name:"btn-ghost-lg",description:"Large ghost button.",tokens:["@btn-ghost","px-6","py-3","text-base"],references:["btn-ghost"],sourceFile:"button.css",sourceLine:57},{name:"btn-danger",description:"Destructive button.",tokens:["@btn-base","bg-destructive","text-destructive-foreground","hover:bg-destructive/90"],references:["btn-base"],sourceFile:"button.css",sourceLine:62},{name:"btn-outline",description:"Outline button \u2014 bordered without fill.",tokens:["@btn-base","border","border-primary","text-primary","hover:bg-primary/10"],references:["btn-base"],sourceFile:"button.css",sourceLine:67},{name:"btn-icon",description:"Square icon-only button.",tokens:["inline-flex","h-9","w-9","items-center","justify-center","rounded-md","text-foreground","transition-colors","hover:bg-muted","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"button.css",sourceLine:72}],card:[{name:"card",description:"Default content card with border, padding, and surface color.",tokens:["rounded-lg","border","border-border","bg-card","text-card-foreground","p-4"],references:[],sourceFile:"card.css",sourceLine:11},{name:"card-elevated",description:"Card with raised shadow for emphasis.",tokens:["@card","shadow-md"],references:["card"],sourceFile:"card.css",sourceLine:16},{name:"card-flat",description:"Card without border, on a muted surface.",tokens:["rounded-lg","bg-muted","text-foreground","p-4"],references:[],sourceFile:"card.css",sourceLine:21},{name:"card-interactive",description:"Clickable card with hover and focus-visible states.",tokens:["@card","cursor-pointer","transition-shadow","hover:shadow-md","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:["card"],sourceFile:"card.css",sourceLine:26},{name:"card-header",description:"Card header region with bottom divider.",tokens:["mb-3","border-b","border-border","pb-3"],references:[],sourceFile:"card.css",sourceLine:31},{name:"card-body",description:"Card body region.",tokens:["py-1"],references:[],sourceFile:"card.css",sourceLine:36},{name:"card-footer",description:"Card footer with top divider and right-aligned actions.",tokens:["mt-3","flex","items-center","justify-end","gap-2","border-t","border-border","pt-3"],references:[],sourceFile:"card.css",sourceLine:41}],code:[{name:"code-inline",description:"Inline code span.",tokens:["rounded","bg-muted","px-1.5","py-0.5","font-mono","text-[0.875em]","text-foreground"],references:[],sourceFile:"code.css",sourceLine:10},{name:"code-block",description:"Block of preformatted code.",tokens:["overflow-x-auto","rounded-md","border","border-border","bg-muted","p-4","font-mono","text-sm","leading-6","text-foreground"],references:[],sourceFile:"code.css",sourceLine:15},{name:"kbd",description:"Keyboard shortcut hint.",tokens:["inline-flex","items-center","rounded","border","border-border","bg-muted","px-1.5","py-0.5","font-mono","text-xs","text-foreground","shadow-sm"],references:[],sourceFile:"code.css",sourceLine:20}],dialog:[{name:"dialog",description:"Modal dialog wrapper \u2014 covers the viewport, centers content.",tokens:["fixed","inset-0","z-50","flex","items-center","justify-center","p-4"],references:[],sourceFile:"dialog.css",sourceLine:11},{name:"dialog-overlay",description:"Dimmed overlay behind the dialog.",tokens:["fixed","inset-0","z-40","bg-black/50"],references:[],sourceFile:"dialog.css",sourceLine:16},{name:"dialog-content",description:"Dialog content panel.",tokens:["relative","z-50","w-full","max-w-md","rounded-lg","border","border-border","bg-popover","text-popover-foreground","p-6","shadow-xl"],references:[],sourceFile:"dialog.css",sourceLine:21},{name:"dialog-header",description:"Dialog header region with title.",tokens:["mb-4","flex","flex-col","gap-1"],references:[],sourceFile:"dialog.css",sourceLine:26},{name:"dialog-footer",description:"Dialog footer with right-aligned actions.",tokens:["mt-6","flex","items-center","justify-end","gap-2"],references:[],sourceFile:"dialog.css",sourceLine:31}],empty:[{name:"empty",description:"Empty-state container.",tokens:["flex","flex-col","items-center","justify-center","gap-3","rounded-md","border","border-dashed","border-border","p-8","text-center"],references:[],sourceFile:"empty.css",sourceLine:10},{name:"empty-icon",description:"Empty-state icon slot.",tokens:["flex","h-12","w-12","items-center","justify-center","rounded-full","bg-muted","text-muted-foreground"],references:[],sourceFile:"empty.css",sourceLine:15},{name:"empty-title",description:"Empty-state title text.",tokens:["text-base","font-semibold","text-foreground"],references:[],sourceFile:"empty.css",sourceLine:20},{name:"empty-description",description:"Empty-state supporting description.",tokens:["max-w-sm","text-sm","text-muted-foreground"],references:[],sourceFile:"empty.css",sourceLine:25}],feedback:[{name:"alert",description:"Default informational alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-border","bg-card","p-4","text-sm","text-card-foreground"],references:[],sourceFile:"feedback.css",sourceLine:10},{name:"alert-success",description:"Success alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-green-200","bg-green-50","p-4","text-sm","text-green-900","dark:border-green-900","dark:bg-green-950","dark:text-green-100"],references:[],sourceFile:"feedback.css",sourceLine:15},{name:"alert-warning",description:"Warning alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-amber-200","bg-amber-50","p-4","text-sm","text-amber-900","dark:border-amber-900","dark:bg-amber-950","dark:text-amber-100"],references:[],sourceFile:"feedback.css",sourceLine:20},{name:"alert-danger",description:"Danger alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-destructive/30","bg-destructive/10","p-4","text-sm","text-destructive"],references:[],sourceFile:"feedback.css",sourceLine:25},{name:"alert-info",description:"Informational alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-primary/30","bg-primary/10","p-4","text-sm","text-primary"],references:[],sourceFile:"feedback.css",sourceLine:30},{name:"callout",description:"Inline callout \u2014 flush left edge accent.",tokens:["border-l-4","border-primary","bg-primary/10","p-4","text-sm","text-foreground"],references:[],sourceFile:"feedback.css",sourceLine:35},{name:"toast",description:"Floating toast notification.",tokens:["pointer-events-auto","flex","items-start","gap-3","rounded-md","border","border-border","bg-popover","p-4","text-sm","text-popover-foreground","shadow-lg"],references:[],sourceFile:"feedback.css",sourceLine:40},{name:"banner",description:"Full-width banner spanning the viewport.",tokens:["w-full","bg-primary","px-4","py-2","text-center","text-sm","font-medium","text-primary-foreground"],references:[],sourceFile:"feedback.css",sourceLine:45}],form:[{name:"input",description:"Text input field.",tokens:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"form.css",sourceLine:14},{name:"input-shell",description:`shadcn/dinachi-style input shell \u2014 transparent background, h-9, file/
3
+ placeholder/selection/aria-invalid/focus-visible states baked in.`,tokens:["flex","h-9","w-full","min-w-0","rounded-md","border","border-input","bg-transparent","px-3","py-1","text-base","shadow-xs","outline-none","transition-[color,box-shadow]","placeholder:text-muted-foreground","selection:bg-primary","selection:text-primary-foreground","file:inline-flex","file:h-7","file:border-0","file:bg-transparent","file:text-sm","file:font-medium","file:text-foreground","focus-visible:border-ring","focus-visible:ring-ring/50","focus-visible:ring-[3px]","aria-invalid:border-destructive","aria-invalid:ring-destructive/20","disabled:pointer-events-none","disabled:cursor-not-allowed","disabled:opacity-50","md:text-sm","dark:bg-input/30","dark:aria-invalid:ring-destructive/40"],references:[],sourceFile:"form.css",sourceLine:20},{name:"input-error",description:"Input in error state.",tokens:["@input","border-destructive","focus:border-destructive","focus:outline-destructive"],references:["input"],sourceFile:"form.css",sourceLine:25},{name:"textarea",description:"Multi-line textarea.",tokens:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"form.css",sourceLine:30},{name:"select",description:"Native select control.",tokens:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"form.css",sourceLine:35},{name:"checkbox",description:"Checkbox input.",tokens:["h-4","w-4","rounded","border-input","text-primary","focus:outline-2","focus:outline-offset-2","focus:outline-ring"],references:[],sourceFile:"form.css",sourceLine:40},{name:"radio",description:"Radio input.",tokens:["h-4","w-4","border-input","text-primary","focus:outline-2","focus:outline-offset-2","focus:outline-ring"],references:[],sourceFile:"form.css",sourceLine:45},{name:"field",description:"Form field wrapper \u2014 label + input + help/error.",tokens:["flex","flex-col","gap-1.5"],references:[],sourceFile:"form.css",sourceLine:50},{name:"field-error",description:"Form field in error state.",tokens:["flex","flex-col","gap-1.5"],references:[],sourceFile:"form.css",sourceLine:55},{name:"fieldset",description:"Grouped form section with optional legend.",tokens:["flex","flex-col","gap-4","rounded-md","border","border-border","p-4"],references:[],sourceFile:"form.css",sourceLine:60},{name:"help",description:"Field-level helper text.",tokens:["text-xs","text-muted-foreground"],references:[],sourceFile:"form.css",sourceLine:65}],icon:[{name:"icon-sm",description:"Small icon \u2014 16px.",tokens:["h-4","w-4","shrink-0"],references:[],sourceFile:"icon.css",sourceLine:10},{name:"icon-md",description:"Default icon size \u2014 20px.",tokens:["h-5","w-5","shrink-0"],references:[],sourceFile:"icon.css",sourceLine:15},{name:"icon-lg",description:"Large icon \u2014 24px.",tokens:["h-6","w-6","shrink-0"],references:[],sourceFile:"icon.css",sourceLine:20},{name:"icon-muted",description:"Icon with muted color.",tokens:["text-muted-foreground"],references:[],sourceFile:"icon.css",sourceLine:25}],layout:[{name:"stack-xs",description:"Vertical stack with extra-small gap.",tokens:["flex","flex-col","gap-1"],references:[],sourceFile:"layout.css",sourceLine:13},{name:"stack-sm",description:"Vertical stack with small gap.",tokens:["flex","flex-col","gap-2"],references:[],sourceFile:"layout.css",sourceLine:18},{name:"stack-md",description:"Vertical stack with medium gap.",tokens:["flex","flex-col","gap-4"],references:[],sourceFile:"layout.css",sourceLine:23},{name:"stack-lg",description:"Vertical stack with large gap.",tokens:["flex","flex-col","gap-8"],references:[],sourceFile:"layout.css",sourceLine:28},{name:"row",description:"Horizontal row with default gap and centered items.",tokens:["flex","flex-row","items-center","gap-2"],references:[],sourceFile:"layout.css",sourceLine:33},{name:"row-between",description:"Horizontal row with space between children.",tokens:["flex","flex-row","items-center","justify-between","gap-2"],references:[],sourceFile:"layout.css",sourceLine:38},{name:"row-end",description:"Horizontal row aligned to the end.",tokens:["flex","flex-row","items-center","justify-end","gap-2"],references:[],sourceFile:"layout.css",sourceLine:43},{name:"grid-2",description:"Two-column responsive grid.",tokens:["grid","grid-cols-1","gap-4","sm:grid-cols-2"],references:[],sourceFile:"layout.css",sourceLine:48},{name:"grid-3",description:"Three-column responsive grid.",tokens:["grid","grid-cols-1","gap-4","sm:grid-cols-2","lg:grid-cols-3"],references:[],sourceFile:"layout.css",sourceLine:53},{name:"grid-4",description:"Four-column responsive grid.",tokens:["grid","grid-cols-1","gap-4","sm:grid-cols-2","lg:grid-cols-4"],references:[],sourceFile:"layout.css",sourceLine:58},{name:"center",description:"Center content horizontally and vertically.",tokens:["flex","items-center","justify-center"],references:[],sourceFile:"layout.css",sourceLine:63},{name:"full",description:"Fill the available width and height.",tokens:["h-full","w-full"],references:[],sourceFile:"layout.css",sourceLine:68}],list:[{name:"list",description:"Vertical list with default gap.",tokens:["flex","flex-col","gap-1"],references:[],sourceFile:"list.css",sourceLine:10},{name:"list-item",description:"Single list item.",tokens:["flex","items-center","gap-2","rounded-md","px-3","py-2","text-sm","text-foreground"],references:[],sourceFile:"list.css",sourceLine:15},{name:"list-bordered",description:"List with dividing borders between items.",tokens:["divide-y","divide-border","rounded-md","border","border-border"],references:[],sourceFile:"list.css",sourceLine:20},{name:"dl",description:"Definition list container.",tokens:["grid","grid-cols-1","gap-2","sm:grid-cols-3","sm:gap-4"],references:[],sourceFile:"list.css",sourceLine:25},{name:"dt",description:"Definition term.",tokens:["text-sm","font-medium","text-muted-foreground"],references:[],sourceFile:"list.css",sourceLine:30},{name:"dd",description:"Definition description.",tokens:["text-sm","text-foreground","sm:col-span-2"],references:[],sourceFile:"list.css",sourceLine:35}],media:[{name:"avatar",description:"User/profile avatar.",tokens:["inline-flex","h-10","w-10","items-center","justify-center","overflow-hidden","rounded-full","bg-muted","text-sm","font-medium","text-muted-foreground"],references:[],sourceFile:"media.css",sourceLine:10},{name:"avatar-sm",description:"Small avatar.",tokens:["@avatar","h-6","w-6","text-xs"],references:["avatar"],sourceFile:"media.css",sourceLine:15},{name:"avatar-lg",description:"Large avatar.",tokens:["@avatar","h-14","w-14","text-base"],references:["avatar"],sourceFile:"media.css",sourceLine:20},{name:"thumb",description:"Small image thumbnail.",tokens:["h-16","w-16","rounded-md","object-cover"],references:[],sourceFile:"media.css",sourceLine:25},{name:"aspect-square",description:"1:1 aspect-ratio wrapper.",tokens:["aspect-square","w-full","overflow-hidden","rounded-md"],references:[],sourceFile:"media.css",sourceLine:30},{name:"aspect-video",description:"16:9 aspect-ratio wrapper.",tokens:["aspect-video","w-full","overflow-hidden","rounded-md"],references:[],sourceFile:"media.css",sourceLine:35}],navigation:[{name:"nav",description:"Top-level nav container.",tokens:["flex","items-center","gap-1"],references:[],sourceFile:"navigation.css",sourceLine:11},{name:"nav-link",description:"Inactive nav link with hover/focus states.",tokens:["inline-flex","items-center","gap-2","rounded-md","px-3","py-1.5","text-sm","font-medium","text-muted-foreground","transition-colors","hover:bg-muted","hover:text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"navigation.css",sourceLine:16},{name:"nav-link-active",description:"Active nav link.",tokens:["inline-flex","items-center","gap-2","rounded-md","bg-muted","px-3","py-1.5","text-sm","font-medium","text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"navigation.css",sourceLine:21},{name:"breadcrumb",description:"Breadcrumb trail container.",tokens:["flex","items-center","gap-1.5","text-sm","text-muted-foreground"],references:[],sourceFile:"navigation.css",sourceLine:26},{name:"tab",description:"Inactive tab control.",tokens:["inline-flex","items-center","gap-2","border-b-2","border-transparent","px-3","py-2","text-sm","font-medium","text-muted-foreground","transition-colors","hover:border-border","hover:text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"navigation.css",sourceLine:31},{name:"tab-active",description:"Active tab control.",tokens:["inline-flex","items-center","gap-2","border-b-2","border-primary","px-3","py-2","text-sm","font-medium","text-primary","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"navigation.css",sourceLine:36}],progress:[{name:"progress-track",description:"Progress bar track (background).",tokens:["h-2","w-full","overflow-hidden","rounded-full","bg-muted"],references:[],sourceFile:"progress.css",sourceLine:10},{name:"progress-bar",description:"Progress bar fill.",tokens:["h-full","rounded-full","bg-primary","transition-all"],references:[],sourceFile:"progress.css",sourceLine:15},{name:"spinner",description:"Indeterminate loading spinner.",tokens:["inline-block","h-4","w-4","animate-spin","rounded-full","border-2","border-border","border-t-primary"],references:[],sourceFile:"progress.css",sourceLine:20}],skeleton:[{name:"skeleton",description:"Default rectangular skeleton placeholder.",tokens:["animate-pulse","rounded-md","bg-muted"],references:[],sourceFile:"skeleton.css",sourceLine:10},{name:"skeleton-text",description:"Single-line text skeleton.",tokens:["h-4","w-full","animate-pulse","rounded","bg-muted"],references:[],sourceFile:"skeleton.css",sourceLine:15},{name:"skeleton-circle",description:"Circular skeleton (avatar/icon).",tokens:["h-10","w-10","animate-pulse","rounded-full","bg-muted"],references:[],sourceFile:"skeleton.css",sourceLine:20}],surface:[{name:"surface",description:"Default page/section surface.",tokens:["bg-background","text-foreground"],references:[],sourceFile:"surface.css",sourceLine:13},{name:"surface-muted",description:"Muted surface \u2014 secondary background.",tokens:["bg-muted","text-foreground"],references:[],sourceFile:"surface.css",sourceLine:18},{name:"surface-accent",description:"Accent surface \u2014 soft brand background.",tokens:["bg-accent","text-accent-foreground"],references:[],sourceFile:"surface.css",sourceLine:23},{name:"wrapper",description:"Centered content wrapper with a max width.",tokens:["mx-auto","w-full","max-w-6xl","px-4","sm:px-6","lg:px-8"],references:[],sourceFile:"surface.css",sourceLine:28},{name:"wrapper-tight",description:"Narrow content wrapper for prose.",tokens:["mx-auto","w-full","max-w-3xl","px-4","sm:px-6"],references:[],sourceFile:"surface.css",sourceLine:33},{name:"divider-h",description:"Horizontal divider line.",tokens:["shrink-0","h-px","w-full","bg-border"],references:[],sourceFile:"surface.css",sourceLine:38},{name:"divider-v",description:"Vertical divider line.",tokens:["shrink-0","h-full","w-px","bg-border"],references:[],sourceFile:"surface.css",sourceLine:43}],table:[{name:"table-container",description:"Scroll container for a wide table \u2014 keeps overflow horizontal.",tokens:["w-full","overflow-x-auto","rounded-md","border","border-border"],references:[],sourceFile:"table.css",sourceLine:10},{name:"table",description:"Data table base.",tokens:["w-full","border-collapse","text-left","text-sm","text-foreground"],references:[],sourceFile:"table.css",sourceLine:15},{name:"th",description:"Table header cell.",tokens:["border-b","border-border","px-3","py-2","text-xs","font-semibold","uppercase","tracking-wide","text-muted-foreground"],references:[],sourceFile:"table.css",sourceLine:20},{name:"td",description:"Table body cell.",tokens:["border-b","border-border","px-3","py-2"],references:[],sourceFile:"table.css",sourceLine:25},{name:"tr-hover",description:"Row hover state.",tokens:["transition-colors","hover:bg-muted"],references:[],sourceFile:"table.css",sourceLine:30},{name:"table-zebra",description:"Table with zebra striping on alternating rows.",tokens:["w-full","border-collapse","text-left","text-sm","text-foreground","[&_tbody_tr:nth-child(odd)]:bg-muted"],references:[],sourceFile:"table.css",sourceLine:35}],text:[{name:"heading-xl",description:"Top-level page heading.",tokens:["text-4xl","font-bold","tracking-tight","text-foreground"],references:[],sourceFile:"text.css",sourceLine:12},{name:"heading-lg",description:"Large section heading.",tokens:["text-2xl","font-semibold","tracking-tight","text-foreground"],references:[],sourceFile:"text.css",sourceLine:17},{name:"heading-md",description:"Medium heading.",tokens:["text-xl","font-semibold","text-foreground"],references:[],sourceFile:"text.css",sourceLine:22},{name:"heading-sm",description:"Small heading.",tokens:["text-base","font-semibold","text-foreground"],references:[],sourceFile:"text.css",sourceLine:27},{name:"body",description:"Default body text.",tokens:["text-sm","leading-6","text-foreground"],references:[],sourceFile:"text.css",sourceLine:32},{name:"lead",description:"Lead paragraph \u2014 larger body copy for hero/intro sections.",tokens:["text-lg","leading-relaxed","text-muted-foreground"],references:[],sourceFile:"text.css",sourceLine:37},{name:"muted",description:"Muted secondary text.",tokens:["text-sm","text-muted-foreground"],references:[],sourceFile:"text.css",sourceLine:42},{name:"label",description:"Form label text.",tokens:["text-sm","font-medium","text-foreground"],references:[],sourceFile:"text.css",sourceLine:47},{name:"caption",description:"Caption \u2014 small supporting text.",tokens:["text-xs","text-muted-foreground"],references:[],sourceFile:"text.css",sourceLine:52},{name:"link",description:"Inline link with hover/focus states.",tokens:["text-primary","underline-offset-2","hover:underline","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"text.css",sourceLine:57}],tooltip:[{name:"tooltip",description:"Floating tooltip bubble.",tokens:["pointer-events-none","z-50","rounded-md","bg-foreground","px-2","py-1","text-xs","font-medium","text-background","shadow-md"],references:[],sourceFile:"tooltip.css",sourceLine:9}]}};function a(e=c){return{registry:e,expandClassList:i,expandDOM:d,run(o){if(typeof document>"u")return;let r=o??document.documentElement;d(r,e)}}}function f(e){let o=e??(typeof window<"u"?window:void 0),r=a();return o&&(o.shortwind=r),r}function l(){if(typeof document>"u")return;let e=f();document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>e.run(),{once:!0}):e.run()}l();})();
@@ -0,0 +1,3 @@
1
+ "use strict";var __shortwindRuntime=(()=>{function i(e,o){let r=e.split(/\s+/).filter(Boolean);if(!r.some(t=>t.charCodeAt(0)===64))return e;let n=[];for(let t of r){if(t.charCodeAt(0)===64){let s=o.flattened[t.slice(1)];if(s){for(let u of s)n.push(u);continue}}n.push(t)}return n.join(" ")}function d(e,o){let r=[e,...Array.from(e.querySelectorAll("*"))];for(let n of r){let t=n.getAttribute("class");if(t===null)continue;let s=i(t,o);s!==t&&n.setAttribute("class",s)}}var c={flattened:{"badge-base":["inline-flex","items-center","rounded-full","border","px-2.5","py-0.5","text-xs","font-medium","transition-colors","focus:outline-none","focus:ring-2","focus:ring-ring","focus:ring-offset-2"],badge:["inline-flex","items-center","gap-1","rounded-full","bg-muted","px-2","py-0.5","text-xs","font-medium","text-muted-foreground"],"badge-success":["inline-flex","items-center","gap-1","rounded-full","bg-green-100","px-2","py-0.5","text-xs","font-medium","text-green-800","dark:bg-green-900","dark:text-green-200"],"badge-warning":["inline-flex","items-center","gap-1","rounded-full","bg-amber-100","px-2","py-0.5","text-xs","font-medium","text-amber-800","dark:bg-amber-900","dark:text-amber-200"],"badge-danger":["inline-flex","items-center","gap-1","rounded-full","bg-destructive/15","px-2","py-0.5","text-xs","font-medium","text-destructive"],"badge-info":["inline-flex","items-center","gap-1","rounded-full","bg-primary/15","px-2","py-0.5","text-xs","font-medium","text-primary"],"badge-outline":["inline-flex","items-center","gap-1","rounded-full","border","border-border","px-2","py-0.5","text-xs","font-medium","text-foreground"],"btn-base":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],"btn-primary":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","bg-primary","text-primary-foreground","hover:bg-primary/90"],"btn-primary-sm":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","bg-primary","text-primary-foreground","hover:bg-primary/90","px-3","py-1.5","text-xs"],"btn-primary-lg":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","bg-primary","text-primary-foreground","hover:bg-primary/90","px-6","py-3","text-base"],"btn-secondary":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border","border-border","bg-secondary","text-secondary-foreground","hover:bg-secondary/80"],"btn-secondary-sm":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border","border-border","bg-secondary","text-secondary-foreground","hover:bg-secondary/80","px-3","py-1.5","text-xs"],"btn-secondary-lg":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border","border-border","bg-secondary","text-secondary-foreground","hover:bg-secondary/80","px-6","py-3","text-base"],"btn-ghost":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","text-foreground","hover:bg-muted"],"btn-ghost-sm":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","text-foreground","hover:bg-muted","px-3","py-1.5","text-xs"],"btn-ghost-lg":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","text-foreground","hover:bg-muted","px-6","py-3","text-base"],"btn-danger":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","bg-destructive","text-destructive-foreground","hover:bg-destructive/90"],"btn-outline":["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border","border-primary","text-primary","hover:bg-primary/10"],"btn-icon":["inline-flex","h-9","w-9","items-center","justify-center","rounded-md","text-foreground","transition-colors","hover:bg-muted","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],card:["rounded-lg","border","border-border","bg-card","text-card-foreground","p-4"],"card-elevated":["rounded-lg","border","border-border","bg-card","text-card-foreground","p-4","shadow-md"],"card-flat":["rounded-lg","bg-muted","text-foreground","p-4"],"card-interactive":["rounded-lg","border","border-border","bg-card","text-card-foreground","p-4","cursor-pointer","transition-shadow","hover:shadow-md","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],"card-header":["mb-3","border-b","border-border","pb-3"],"card-body":["py-1"],"card-footer":["mt-3","flex","items-center","justify-end","gap-2","border-t","border-border","pt-3"],"code-inline":["rounded","bg-muted","px-1.5","py-0.5","font-mono","text-[0.875em]","text-foreground"],"code-block":["overflow-x-auto","rounded-md","border","border-border","bg-muted","p-4","font-mono","text-sm","leading-6","text-foreground"],kbd:["inline-flex","items-center","rounded","border","border-border","bg-muted","px-1.5","py-0.5","font-mono","text-xs","text-foreground","shadow-sm"],dialog:["fixed","inset-0","z-50","flex","items-center","justify-center","p-4"],"dialog-overlay":["fixed","inset-0","z-40","bg-black/50"],"dialog-content":["relative","z-50","w-full","max-w-md","rounded-lg","border","border-border","bg-popover","text-popover-foreground","p-6","shadow-xl"],"dialog-header":["mb-4","flex","flex-col","gap-1"],"dialog-footer":["mt-6","flex","items-center","justify-end","gap-2"],empty:["flex","flex-col","items-center","justify-center","gap-3","rounded-md","border","border-dashed","border-border","p-8","text-center"],"empty-icon":["flex","h-12","w-12","items-center","justify-center","rounded-full","bg-muted","text-muted-foreground"],"empty-title":["text-base","font-semibold","text-foreground"],"empty-description":["max-w-sm","text-sm","text-muted-foreground"],alert:["flex","items-start","gap-3","rounded-md","border","border-border","bg-card","p-4","text-sm","text-card-foreground"],"alert-success":["flex","items-start","gap-3","rounded-md","border","border-green-200","bg-green-50","p-4","text-sm","text-green-900","dark:border-green-900","dark:bg-green-950","dark:text-green-100"],"alert-warning":["flex","items-start","gap-3","rounded-md","border","border-amber-200","bg-amber-50","p-4","text-sm","text-amber-900","dark:border-amber-900","dark:bg-amber-950","dark:text-amber-100"],"alert-danger":["flex","items-start","gap-3","rounded-md","border","border-destructive/30","bg-destructive/10","p-4","text-sm","text-destructive"],"alert-info":["flex","items-start","gap-3","rounded-md","border","border-primary/30","bg-primary/10","p-4","text-sm","text-primary"],callout:["border-l-4","border-primary","bg-primary/10","p-4","text-sm","text-foreground"],toast:["pointer-events-auto","flex","items-start","gap-3","rounded-md","border","border-border","bg-popover","p-4","text-sm","text-popover-foreground","shadow-lg"],banner:["w-full","bg-primary","px-4","py-2","text-center","text-sm","font-medium","text-primary-foreground"],input:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],"input-shell":["flex","h-9","w-full","min-w-0","rounded-md","border","border-input","bg-transparent","px-3","py-1","text-base","shadow-xs","outline-none","transition-[color,box-shadow]","placeholder:text-muted-foreground","selection:bg-primary","selection:text-primary-foreground","file:inline-flex","file:h-7","file:border-0","file:bg-transparent","file:text-sm","file:font-medium","file:text-foreground","focus-visible:border-ring","focus-visible:ring-ring/50","focus-visible:ring-[3px]","aria-invalid:border-destructive","aria-invalid:ring-destructive/20","disabled:pointer-events-none","disabled:cursor-not-allowed","disabled:opacity-50","md:text-sm","dark:bg-input/30","dark:aria-invalid:ring-destructive/40"],"input-error":["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50","border-destructive","focus:border-destructive","focus:outline-destructive"],textarea:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],select:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],checkbox:["h-4","w-4","rounded","border-input","text-primary","focus:outline-2","focus:outline-offset-2","focus:outline-ring"],radio:["h-4","w-4","border-input","text-primary","focus:outline-2","focus:outline-offset-2","focus:outline-ring"],field:["flex","flex-col","gap-1.5"],"field-error":["flex","flex-col","gap-1.5"],fieldset:["flex","flex-col","gap-4","rounded-md","border","border-border","p-4"],help:["text-xs","text-muted-foreground"],"icon-sm":["h-4","w-4","shrink-0"],"icon-md":["h-5","w-5","shrink-0"],"icon-lg":["h-6","w-6","shrink-0"],"icon-muted":["text-muted-foreground"],"stack-xs":["flex","flex-col","gap-1"],"stack-sm":["flex","flex-col","gap-2"],"stack-md":["flex","flex-col","gap-4"],"stack-lg":["flex","flex-col","gap-8"],row:["flex","flex-row","items-center","gap-2"],"row-between":["flex","flex-row","items-center","justify-between","gap-2"],"row-end":["flex","flex-row","items-center","justify-end","gap-2"],"grid-2":["grid","grid-cols-1","gap-4","sm:grid-cols-2"],"grid-3":["grid","grid-cols-1","gap-4","sm:grid-cols-2","lg:grid-cols-3"],"grid-4":["grid","grid-cols-1","gap-4","sm:grid-cols-2","lg:grid-cols-4"],center:["flex","items-center","justify-center"],full:["h-full","w-full"],list:["flex","flex-col","gap-1"],"list-item":["flex","items-center","gap-2","rounded-md","px-3","py-2","text-sm","text-foreground"],"list-bordered":["divide-y","divide-border","rounded-md","border","border-border"],dl:["grid","grid-cols-1","gap-2","sm:grid-cols-3","sm:gap-4"],dt:["text-sm","font-medium","text-muted-foreground"],dd:["text-sm","text-foreground","sm:col-span-2"],avatar:["inline-flex","h-10","w-10","items-center","justify-center","overflow-hidden","rounded-full","bg-muted","text-sm","font-medium","text-muted-foreground"],"avatar-sm":["inline-flex","h-10","w-10","items-center","justify-center","overflow-hidden","rounded-full","bg-muted","text-sm","font-medium","text-muted-foreground","h-6","w-6","text-xs"],"avatar-lg":["inline-flex","h-10","w-10","items-center","justify-center","overflow-hidden","rounded-full","bg-muted","text-sm","font-medium","text-muted-foreground","h-14","w-14","text-base"],thumb:["h-16","w-16","rounded-md","object-cover"],"aspect-square":["aspect-square","w-full","overflow-hidden","rounded-md"],"aspect-video":["aspect-video","w-full","overflow-hidden","rounded-md"],nav:["flex","items-center","gap-1"],"nav-link":["inline-flex","items-center","gap-2","rounded-md","px-3","py-1.5","text-sm","font-medium","text-muted-foreground","transition-colors","hover:bg-muted","hover:text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],"nav-link-active":["inline-flex","items-center","gap-2","rounded-md","bg-muted","px-3","py-1.5","text-sm","font-medium","text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],breadcrumb:["flex","items-center","gap-1.5","text-sm","text-muted-foreground"],tab:["inline-flex","items-center","gap-2","border-b-2","border-transparent","px-3","py-2","text-sm","font-medium","text-muted-foreground","transition-colors","hover:border-border","hover:text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],"tab-active":["inline-flex","items-center","gap-2","border-b-2","border-primary","px-3","py-2","text-sm","font-medium","text-primary","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],"progress-track":["h-2","w-full","overflow-hidden","rounded-full","bg-muted"],"progress-bar":["h-full","rounded-full","bg-primary","transition-all"],spinner:["inline-block","h-4","w-4","animate-spin","rounded-full","border-2","border-border","border-t-primary"],skeleton:["animate-pulse","rounded-md","bg-muted"],"skeleton-text":["h-4","w-full","animate-pulse","rounded","bg-muted"],"skeleton-circle":["h-10","w-10","animate-pulse","rounded-full","bg-muted"],surface:["bg-background","text-foreground"],"surface-muted":["bg-muted","text-foreground"],"surface-accent":["bg-accent","text-accent-foreground"],wrapper:["mx-auto","w-full","max-w-6xl","px-4","sm:px-6","lg:px-8"],"wrapper-tight":["mx-auto","w-full","max-w-3xl","px-4","sm:px-6"],"divider-h":["shrink-0","h-px","w-full","bg-border"],"divider-v":["shrink-0","h-full","w-px","bg-border"],"table-container":["w-full","overflow-x-auto","rounded-md","border","border-border"],table:["w-full","border-collapse","text-left","text-sm","text-foreground"],th:["border-b","border-border","px-3","py-2","text-xs","font-semibold","uppercase","tracking-wide","text-muted-foreground"],td:["border-b","border-border","px-3","py-2"],"tr-hover":["transition-colors","hover:bg-muted"],"table-zebra":["w-full","border-collapse","text-left","text-sm","text-foreground","[&_tbody_tr:nth-child(odd)]:bg-muted"],"heading-xl":["text-4xl","font-bold","tracking-tight","text-foreground"],"heading-lg":["text-2xl","font-semibold","tracking-tight","text-foreground"],"heading-md":["text-xl","font-semibold","text-foreground"],"heading-sm":["text-base","font-semibold","text-foreground"],body:["text-sm","leading-6","text-foreground"],lead:["text-lg","leading-relaxed","text-muted-foreground"],muted:["text-sm","text-muted-foreground"],label:["text-sm","font-medium","text-foreground"],caption:["text-xs","text-muted-foreground"],link:["text-primary","underline-offset-2","hover:underline","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],tooltip:["pointer-events-none","z-50","rounded-md","bg-foreground","px-2","py-1","text-xs","font-medium","text-background","shadow-md"]},families:{badge:[{name:"badge-base",description:`Badge shell \u2014 shape, sizing, focus ring. No bg/text/border color so
2
+ variants can supply their own tone without conflicts.`,tokens:["inline-flex","items-center","rounded-full","border","px-2.5","py-0.5","text-xs","font-medium","transition-colors","focus:outline-none","focus:ring-2","focus:ring-ring","focus:ring-offset-2"],references:[],sourceFile:"badge.css",sourceLine:12},{name:"badge",description:"Default neutral badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-muted","px-2","py-0.5","text-xs","font-medium","text-muted-foreground"],references:[],sourceFile:"badge.css",sourceLine:17},{name:"badge-success",description:"Success tone badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-green-100","px-2","py-0.5","text-xs","font-medium","text-green-800","dark:bg-green-900","dark:text-green-200"],references:[],sourceFile:"badge.css",sourceLine:22},{name:"badge-warning",description:"Warning tone badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-amber-100","px-2","py-0.5","text-xs","font-medium","text-amber-800","dark:bg-amber-900","dark:text-amber-200"],references:[],sourceFile:"badge.css",sourceLine:27},{name:"badge-danger",description:"Danger tone badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-destructive/15","px-2","py-0.5","text-xs","font-medium","text-destructive"],references:[],sourceFile:"badge.css",sourceLine:32},{name:"badge-info",description:"Info tone badge.",tokens:["inline-flex","items-center","gap-1","rounded-full","bg-primary/15","px-2","py-0.5","text-xs","font-medium","text-primary"],references:[],sourceFile:"badge.css",sourceLine:37},{name:"badge-outline",description:"Outline badge \u2014 no fill.",tokens:["inline-flex","items-center","gap-1","rounded-full","border","border-border","px-2","py-0.5","text-xs","font-medium","text-foreground"],references:[],sourceFile:"badge.css",sourceLine:42}],button:[{name:"btn-base",description:"Shared button base \u2014 sizing, focus ring, disabled state.",tokens:["inline-flex","items-center","justify-center","gap-2","rounded-md","px-4","py-2","text-sm","font-medium","transition-colors","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"button.css",sourceLine:12},{name:"btn-primary",description:"Primary call-to-action button.",tokens:["@btn-base","bg-primary","text-primary-foreground","hover:bg-primary/90"],references:["btn-base"],sourceFile:"button.css",sourceLine:17},{name:"btn-primary-sm",description:"Small primary button.",tokens:["@btn-primary","px-3","py-1.5","text-xs"],references:["btn-primary"],sourceFile:"button.css",sourceLine:22},{name:"btn-primary-lg",description:"Large primary button.",tokens:["@btn-primary","px-6","py-3","text-base"],references:["btn-primary"],sourceFile:"button.css",sourceLine:27},{name:"btn-secondary",description:"Secondary button \u2014 bordered surface tone.",tokens:["@btn-base","border","border-border","bg-secondary","text-secondary-foreground","hover:bg-secondary/80"],references:["btn-base"],sourceFile:"button.css",sourceLine:32},{name:"btn-secondary-sm",description:"Small secondary button.",tokens:["@btn-secondary","px-3","py-1.5","text-xs"],references:["btn-secondary"],sourceFile:"button.css",sourceLine:37},{name:"btn-secondary-lg",description:"Large secondary button.",tokens:["@btn-secondary","px-6","py-3","text-base"],references:["btn-secondary"],sourceFile:"button.css",sourceLine:42},{name:"btn-ghost",description:"Ghost button \u2014 text only, no background.",tokens:["@btn-base","text-foreground","hover:bg-muted"],references:["btn-base"],sourceFile:"button.css",sourceLine:47},{name:"btn-ghost-sm",description:"Small ghost button.",tokens:["@btn-ghost","px-3","py-1.5","text-xs"],references:["btn-ghost"],sourceFile:"button.css",sourceLine:52},{name:"btn-ghost-lg",description:"Large ghost button.",tokens:["@btn-ghost","px-6","py-3","text-base"],references:["btn-ghost"],sourceFile:"button.css",sourceLine:57},{name:"btn-danger",description:"Destructive button.",tokens:["@btn-base","bg-destructive","text-destructive-foreground","hover:bg-destructive/90"],references:["btn-base"],sourceFile:"button.css",sourceLine:62},{name:"btn-outline",description:"Outline button \u2014 bordered without fill.",tokens:["@btn-base","border","border-primary","text-primary","hover:bg-primary/10"],references:["btn-base"],sourceFile:"button.css",sourceLine:67},{name:"btn-icon",description:"Square icon-only button.",tokens:["inline-flex","h-9","w-9","items-center","justify-center","rounded-md","text-foreground","transition-colors","hover:bg-muted","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"button.css",sourceLine:72}],card:[{name:"card",description:"Default content card with border, padding, and surface color.",tokens:["rounded-lg","border","border-border","bg-card","text-card-foreground","p-4"],references:[],sourceFile:"card.css",sourceLine:11},{name:"card-elevated",description:"Card with raised shadow for emphasis.",tokens:["@card","shadow-md"],references:["card"],sourceFile:"card.css",sourceLine:16},{name:"card-flat",description:"Card without border, on a muted surface.",tokens:["rounded-lg","bg-muted","text-foreground","p-4"],references:[],sourceFile:"card.css",sourceLine:21},{name:"card-interactive",description:"Clickable card with hover and focus-visible states.",tokens:["@card","cursor-pointer","transition-shadow","hover:shadow-md","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:["card"],sourceFile:"card.css",sourceLine:26},{name:"card-header",description:"Card header region with bottom divider.",tokens:["mb-3","border-b","border-border","pb-3"],references:[],sourceFile:"card.css",sourceLine:31},{name:"card-body",description:"Card body region.",tokens:["py-1"],references:[],sourceFile:"card.css",sourceLine:36},{name:"card-footer",description:"Card footer with top divider and right-aligned actions.",tokens:["mt-3","flex","items-center","justify-end","gap-2","border-t","border-border","pt-3"],references:[],sourceFile:"card.css",sourceLine:41}],code:[{name:"code-inline",description:"Inline code span.",tokens:["rounded","bg-muted","px-1.5","py-0.5","font-mono","text-[0.875em]","text-foreground"],references:[],sourceFile:"code.css",sourceLine:10},{name:"code-block",description:"Block of preformatted code.",tokens:["overflow-x-auto","rounded-md","border","border-border","bg-muted","p-4","font-mono","text-sm","leading-6","text-foreground"],references:[],sourceFile:"code.css",sourceLine:15},{name:"kbd",description:"Keyboard shortcut hint.",tokens:["inline-flex","items-center","rounded","border","border-border","bg-muted","px-1.5","py-0.5","font-mono","text-xs","text-foreground","shadow-sm"],references:[],sourceFile:"code.css",sourceLine:20}],dialog:[{name:"dialog",description:"Modal dialog wrapper \u2014 covers the viewport, centers content.",tokens:["fixed","inset-0","z-50","flex","items-center","justify-center","p-4"],references:[],sourceFile:"dialog.css",sourceLine:11},{name:"dialog-overlay",description:"Dimmed overlay behind the dialog.",tokens:["fixed","inset-0","z-40","bg-black/50"],references:[],sourceFile:"dialog.css",sourceLine:16},{name:"dialog-content",description:"Dialog content panel.",tokens:["relative","z-50","w-full","max-w-md","rounded-lg","border","border-border","bg-popover","text-popover-foreground","p-6","shadow-xl"],references:[],sourceFile:"dialog.css",sourceLine:21},{name:"dialog-header",description:"Dialog header region with title.",tokens:["mb-4","flex","flex-col","gap-1"],references:[],sourceFile:"dialog.css",sourceLine:26},{name:"dialog-footer",description:"Dialog footer with right-aligned actions.",tokens:["mt-6","flex","items-center","justify-end","gap-2"],references:[],sourceFile:"dialog.css",sourceLine:31}],empty:[{name:"empty",description:"Empty-state container.",tokens:["flex","flex-col","items-center","justify-center","gap-3","rounded-md","border","border-dashed","border-border","p-8","text-center"],references:[],sourceFile:"empty.css",sourceLine:10},{name:"empty-icon",description:"Empty-state icon slot.",tokens:["flex","h-12","w-12","items-center","justify-center","rounded-full","bg-muted","text-muted-foreground"],references:[],sourceFile:"empty.css",sourceLine:15},{name:"empty-title",description:"Empty-state title text.",tokens:["text-base","font-semibold","text-foreground"],references:[],sourceFile:"empty.css",sourceLine:20},{name:"empty-description",description:"Empty-state supporting description.",tokens:["max-w-sm","text-sm","text-muted-foreground"],references:[],sourceFile:"empty.css",sourceLine:25}],feedback:[{name:"alert",description:"Default informational alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-border","bg-card","p-4","text-sm","text-card-foreground"],references:[],sourceFile:"feedback.css",sourceLine:10},{name:"alert-success",description:"Success alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-green-200","bg-green-50","p-4","text-sm","text-green-900","dark:border-green-900","dark:bg-green-950","dark:text-green-100"],references:[],sourceFile:"feedback.css",sourceLine:15},{name:"alert-warning",description:"Warning alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-amber-200","bg-amber-50","p-4","text-sm","text-amber-900","dark:border-amber-900","dark:bg-amber-950","dark:text-amber-100"],references:[],sourceFile:"feedback.css",sourceLine:20},{name:"alert-danger",description:"Danger alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-destructive/30","bg-destructive/10","p-4","text-sm","text-destructive"],references:[],sourceFile:"feedback.css",sourceLine:25},{name:"alert-info",description:"Informational alert.",tokens:["flex","items-start","gap-3","rounded-md","border","border-primary/30","bg-primary/10","p-4","text-sm","text-primary"],references:[],sourceFile:"feedback.css",sourceLine:30},{name:"callout",description:"Inline callout \u2014 flush left edge accent.",tokens:["border-l-4","border-primary","bg-primary/10","p-4","text-sm","text-foreground"],references:[],sourceFile:"feedback.css",sourceLine:35},{name:"toast",description:"Floating toast notification.",tokens:["pointer-events-auto","flex","items-start","gap-3","rounded-md","border","border-border","bg-popover","p-4","text-sm","text-popover-foreground","shadow-lg"],references:[],sourceFile:"feedback.css",sourceLine:40},{name:"banner",description:"Full-width banner spanning the viewport.",tokens:["w-full","bg-primary","px-4","py-2","text-center","text-sm","font-medium","text-primary-foreground"],references:[],sourceFile:"feedback.css",sourceLine:45}],form:[{name:"input",description:"Text input field.",tokens:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"form.css",sourceLine:14},{name:"input-shell",description:`shadcn/dinachi-style input shell \u2014 transparent background, h-9, file/
3
+ placeholder/selection/aria-invalid/focus-visible states baked in.`,tokens:["flex","h-9","w-full","min-w-0","rounded-md","border","border-input","bg-transparent","px-3","py-1","text-base","shadow-xs","outline-none","transition-[color,box-shadow]","placeholder:text-muted-foreground","selection:bg-primary","selection:text-primary-foreground","file:inline-flex","file:h-7","file:border-0","file:bg-transparent","file:text-sm","file:font-medium","file:text-foreground","focus-visible:border-ring","focus-visible:ring-ring/50","focus-visible:ring-[3px]","aria-invalid:border-destructive","aria-invalid:ring-destructive/20","disabled:pointer-events-none","disabled:cursor-not-allowed","disabled:opacity-50","md:text-sm","dark:bg-input/30","dark:aria-invalid:ring-destructive/40"],references:[],sourceFile:"form.css",sourceLine:20},{name:"input-error",description:"Input in error state.",tokens:["@input","border-destructive","focus:border-destructive","focus:outline-destructive"],references:["input"],sourceFile:"form.css",sourceLine:25},{name:"textarea",description:"Multi-line textarea.",tokens:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","placeholder:text-muted-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"form.css",sourceLine:30},{name:"select",description:"Native select control.",tokens:["block","w-full","rounded-md","border","border-input","bg-background","px-3","py-2","text-sm","text-foreground","focus:border-ring","focus:outline-2","focus:outline-offset-2","focus:outline-ring","disabled:cursor-not-allowed","disabled:opacity-50"],references:[],sourceFile:"form.css",sourceLine:35},{name:"checkbox",description:"Checkbox input.",tokens:["h-4","w-4","rounded","border-input","text-primary","focus:outline-2","focus:outline-offset-2","focus:outline-ring"],references:[],sourceFile:"form.css",sourceLine:40},{name:"radio",description:"Radio input.",tokens:["h-4","w-4","border-input","text-primary","focus:outline-2","focus:outline-offset-2","focus:outline-ring"],references:[],sourceFile:"form.css",sourceLine:45},{name:"field",description:"Form field wrapper \u2014 label + input + help/error.",tokens:["flex","flex-col","gap-1.5"],references:[],sourceFile:"form.css",sourceLine:50},{name:"field-error",description:"Form field in error state.",tokens:["flex","flex-col","gap-1.5"],references:[],sourceFile:"form.css",sourceLine:55},{name:"fieldset",description:"Grouped form section with optional legend.",tokens:["flex","flex-col","gap-4","rounded-md","border","border-border","p-4"],references:[],sourceFile:"form.css",sourceLine:60},{name:"help",description:"Field-level helper text.",tokens:["text-xs","text-muted-foreground"],references:[],sourceFile:"form.css",sourceLine:65}],icon:[{name:"icon-sm",description:"Small icon \u2014 16px.",tokens:["h-4","w-4","shrink-0"],references:[],sourceFile:"icon.css",sourceLine:10},{name:"icon-md",description:"Default icon size \u2014 20px.",tokens:["h-5","w-5","shrink-0"],references:[],sourceFile:"icon.css",sourceLine:15},{name:"icon-lg",description:"Large icon \u2014 24px.",tokens:["h-6","w-6","shrink-0"],references:[],sourceFile:"icon.css",sourceLine:20},{name:"icon-muted",description:"Icon with muted color.",tokens:["text-muted-foreground"],references:[],sourceFile:"icon.css",sourceLine:25}],layout:[{name:"stack-xs",description:"Vertical stack with extra-small gap.",tokens:["flex","flex-col","gap-1"],references:[],sourceFile:"layout.css",sourceLine:13},{name:"stack-sm",description:"Vertical stack with small gap.",tokens:["flex","flex-col","gap-2"],references:[],sourceFile:"layout.css",sourceLine:18},{name:"stack-md",description:"Vertical stack with medium gap.",tokens:["flex","flex-col","gap-4"],references:[],sourceFile:"layout.css",sourceLine:23},{name:"stack-lg",description:"Vertical stack with large gap.",tokens:["flex","flex-col","gap-8"],references:[],sourceFile:"layout.css",sourceLine:28},{name:"row",description:"Horizontal row with default gap and centered items.",tokens:["flex","flex-row","items-center","gap-2"],references:[],sourceFile:"layout.css",sourceLine:33},{name:"row-between",description:"Horizontal row with space between children.",tokens:["flex","flex-row","items-center","justify-between","gap-2"],references:[],sourceFile:"layout.css",sourceLine:38},{name:"row-end",description:"Horizontal row aligned to the end.",tokens:["flex","flex-row","items-center","justify-end","gap-2"],references:[],sourceFile:"layout.css",sourceLine:43},{name:"grid-2",description:"Two-column responsive grid.",tokens:["grid","grid-cols-1","gap-4","sm:grid-cols-2"],references:[],sourceFile:"layout.css",sourceLine:48},{name:"grid-3",description:"Three-column responsive grid.",tokens:["grid","grid-cols-1","gap-4","sm:grid-cols-2","lg:grid-cols-3"],references:[],sourceFile:"layout.css",sourceLine:53},{name:"grid-4",description:"Four-column responsive grid.",tokens:["grid","grid-cols-1","gap-4","sm:grid-cols-2","lg:grid-cols-4"],references:[],sourceFile:"layout.css",sourceLine:58},{name:"center",description:"Center content horizontally and vertically.",tokens:["flex","items-center","justify-center"],references:[],sourceFile:"layout.css",sourceLine:63},{name:"full",description:"Fill the available width and height.",tokens:["h-full","w-full"],references:[],sourceFile:"layout.css",sourceLine:68}],list:[{name:"list",description:"Vertical list with default gap.",tokens:["flex","flex-col","gap-1"],references:[],sourceFile:"list.css",sourceLine:10},{name:"list-item",description:"Single list item.",tokens:["flex","items-center","gap-2","rounded-md","px-3","py-2","text-sm","text-foreground"],references:[],sourceFile:"list.css",sourceLine:15},{name:"list-bordered",description:"List with dividing borders between items.",tokens:["divide-y","divide-border","rounded-md","border","border-border"],references:[],sourceFile:"list.css",sourceLine:20},{name:"dl",description:"Definition list container.",tokens:["grid","grid-cols-1","gap-2","sm:grid-cols-3","sm:gap-4"],references:[],sourceFile:"list.css",sourceLine:25},{name:"dt",description:"Definition term.",tokens:["text-sm","font-medium","text-muted-foreground"],references:[],sourceFile:"list.css",sourceLine:30},{name:"dd",description:"Definition description.",tokens:["text-sm","text-foreground","sm:col-span-2"],references:[],sourceFile:"list.css",sourceLine:35}],media:[{name:"avatar",description:"User/profile avatar.",tokens:["inline-flex","h-10","w-10","items-center","justify-center","overflow-hidden","rounded-full","bg-muted","text-sm","font-medium","text-muted-foreground"],references:[],sourceFile:"media.css",sourceLine:10},{name:"avatar-sm",description:"Small avatar.",tokens:["@avatar","h-6","w-6","text-xs"],references:["avatar"],sourceFile:"media.css",sourceLine:15},{name:"avatar-lg",description:"Large avatar.",tokens:["@avatar","h-14","w-14","text-base"],references:["avatar"],sourceFile:"media.css",sourceLine:20},{name:"thumb",description:"Small image thumbnail.",tokens:["h-16","w-16","rounded-md","object-cover"],references:[],sourceFile:"media.css",sourceLine:25},{name:"aspect-square",description:"1:1 aspect-ratio wrapper.",tokens:["aspect-square","w-full","overflow-hidden","rounded-md"],references:[],sourceFile:"media.css",sourceLine:30},{name:"aspect-video",description:"16:9 aspect-ratio wrapper.",tokens:["aspect-video","w-full","overflow-hidden","rounded-md"],references:[],sourceFile:"media.css",sourceLine:35}],navigation:[{name:"nav",description:"Top-level nav container.",tokens:["flex","items-center","gap-1"],references:[],sourceFile:"navigation.css",sourceLine:11},{name:"nav-link",description:"Inactive nav link with hover/focus states.",tokens:["inline-flex","items-center","gap-2","rounded-md","px-3","py-1.5","text-sm","font-medium","text-muted-foreground","transition-colors","hover:bg-muted","hover:text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"navigation.css",sourceLine:16},{name:"nav-link-active",description:"Active nav link.",tokens:["inline-flex","items-center","gap-2","rounded-md","bg-muted","px-3","py-1.5","text-sm","font-medium","text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"navigation.css",sourceLine:21},{name:"breadcrumb",description:"Breadcrumb trail container.",tokens:["flex","items-center","gap-1.5","text-sm","text-muted-foreground"],references:[],sourceFile:"navigation.css",sourceLine:26},{name:"tab",description:"Inactive tab control.",tokens:["inline-flex","items-center","gap-2","border-b-2","border-transparent","px-3","py-2","text-sm","font-medium","text-muted-foreground","transition-colors","hover:border-border","hover:text-foreground","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"navigation.css",sourceLine:31},{name:"tab-active",description:"Active tab control.",tokens:["inline-flex","items-center","gap-2","border-b-2","border-primary","px-3","py-2","text-sm","font-medium","text-primary","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"navigation.css",sourceLine:36}],progress:[{name:"progress-track",description:"Progress bar track (background).",tokens:["h-2","w-full","overflow-hidden","rounded-full","bg-muted"],references:[],sourceFile:"progress.css",sourceLine:10},{name:"progress-bar",description:"Progress bar fill.",tokens:["h-full","rounded-full","bg-primary","transition-all"],references:[],sourceFile:"progress.css",sourceLine:15},{name:"spinner",description:"Indeterminate loading spinner.",tokens:["inline-block","h-4","w-4","animate-spin","rounded-full","border-2","border-border","border-t-primary"],references:[],sourceFile:"progress.css",sourceLine:20}],skeleton:[{name:"skeleton",description:"Default rectangular skeleton placeholder.",tokens:["animate-pulse","rounded-md","bg-muted"],references:[],sourceFile:"skeleton.css",sourceLine:10},{name:"skeleton-text",description:"Single-line text skeleton.",tokens:["h-4","w-full","animate-pulse","rounded","bg-muted"],references:[],sourceFile:"skeleton.css",sourceLine:15},{name:"skeleton-circle",description:"Circular skeleton (avatar/icon).",tokens:["h-10","w-10","animate-pulse","rounded-full","bg-muted"],references:[],sourceFile:"skeleton.css",sourceLine:20}],surface:[{name:"surface",description:"Default page/section surface.",tokens:["bg-background","text-foreground"],references:[],sourceFile:"surface.css",sourceLine:13},{name:"surface-muted",description:"Muted surface \u2014 secondary background.",tokens:["bg-muted","text-foreground"],references:[],sourceFile:"surface.css",sourceLine:18},{name:"surface-accent",description:"Accent surface \u2014 soft brand background.",tokens:["bg-accent","text-accent-foreground"],references:[],sourceFile:"surface.css",sourceLine:23},{name:"wrapper",description:"Centered content wrapper with a max width.",tokens:["mx-auto","w-full","max-w-6xl","px-4","sm:px-6","lg:px-8"],references:[],sourceFile:"surface.css",sourceLine:28},{name:"wrapper-tight",description:"Narrow content wrapper for prose.",tokens:["mx-auto","w-full","max-w-3xl","px-4","sm:px-6"],references:[],sourceFile:"surface.css",sourceLine:33},{name:"divider-h",description:"Horizontal divider line.",tokens:["shrink-0","h-px","w-full","bg-border"],references:[],sourceFile:"surface.css",sourceLine:38},{name:"divider-v",description:"Vertical divider line.",tokens:["shrink-0","h-full","w-px","bg-border"],references:[],sourceFile:"surface.css",sourceLine:43}],table:[{name:"table-container",description:"Scroll container for a wide table \u2014 keeps overflow horizontal.",tokens:["w-full","overflow-x-auto","rounded-md","border","border-border"],references:[],sourceFile:"table.css",sourceLine:10},{name:"table",description:"Data table base.",tokens:["w-full","border-collapse","text-left","text-sm","text-foreground"],references:[],sourceFile:"table.css",sourceLine:15},{name:"th",description:"Table header cell.",tokens:["border-b","border-border","px-3","py-2","text-xs","font-semibold","uppercase","tracking-wide","text-muted-foreground"],references:[],sourceFile:"table.css",sourceLine:20},{name:"td",description:"Table body cell.",tokens:["border-b","border-border","px-3","py-2"],references:[],sourceFile:"table.css",sourceLine:25},{name:"tr-hover",description:"Row hover state.",tokens:["transition-colors","hover:bg-muted"],references:[],sourceFile:"table.css",sourceLine:30},{name:"table-zebra",description:"Table with zebra striping on alternating rows.",tokens:["w-full","border-collapse","text-left","text-sm","text-foreground","[&_tbody_tr:nth-child(odd)]:bg-muted"],references:[],sourceFile:"table.css",sourceLine:35}],text:[{name:"heading-xl",description:"Top-level page heading.",tokens:["text-4xl","font-bold","tracking-tight","text-foreground"],references:[],sourceFile:"text.css",sourceLine:12},{name:"heading-lg",description:"Large section heading.",tokens:["text-2xl","font-semibold","tracking-tight","text-foreground"],references:[],sourceFile:"text.css",sourceLine:17},{name:"heading-md",description:"Medium heading.",tokens:["text-xl","font-semibold","text-foreground"],references:[],sourceFile:"text.css",sourceLine:22},{name:"heading-sm",description:"Small heading.",tokens:["text-base","font-semibold","text-foreground"],references:[],sourceFile:"text.css",sourceLine:27},{name:"body",description:"Default body text.",tokens:["text-sm","leading-6","text-foreground"],references:[],sourceFile:"text.css",sourceLine:32},{name:"lead",description:"Lead paragraph \u2014 larger body copy for hero/intro sections.",tokens:["text-lg","leading-relaxed","text-muted-foreground"],references:[],sourceFile:"text.css",sourceLine:37},{name:"muted",description:"Muted secondary text.",tokens:["text-sm","text-muted-foreground"],references:[],sourceFile:"text.css",sourceLine:42},{name:"label",description:"Form label text.",tokens:["text-sm","font-medium","text-foreground"],references:[],sourceFile:"text.css",sourceLine:47},{name:"caption",description:"Caption \u2014 small supporting text.",tokens:["text-xs","text-muted-foreground"],references:[],sourceFile:"text.css",sourceLine:52},{name:"link",description:"Inline link with hover/focus states.",tokens:["text-primary","underline-offset-2","hover:underline","focus-visible:outline-2","focus-visible:outline-offset-2","focus-visible:outline-ring"],references:[],sourceFile:"text.css",sourceLine:57}],tooltip:[{name:"tooltip",description:"Floating tooltip bubble.",tokens:["pointer-events-none","z-50","rounded-md","bg-foreground","px-2","py-1","text-xs","font-medium","text-background","shadow-md"],references:[],sourceFile:"tooltip.css",sourceLine:9}]}};function a(e=c){return{registry:e,expandClassList:i,expandDOM:d,run(o){if(typeof document>"u")return;let r=o??document.documentElement;d(r,e)}}}function f(e){let o=e??(typeof window<"u"?window:void 0),r=a();return o&&(o.shortwind=r),r}function l(){if(typeof document>"u")return;let e=f();document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>e.run(),{once:!0}):e.run()}l();})();
@@ -0,0 +1,5 @@
1
+ # badge
2
+
3
+ ## 0.0.1
4
+
5
+ Initial release.
@@ -0,0 +1,44 @@
1
+ /* shortwind: badge@0.0.1 sha:8548b9a7305a0a59 */
2
+
3
+ /* @guide
4
+ @badge is the neutral default; tone variants @badge-success/warning/danger/
5
+ info carry their own color; @badge-outline is unfilled. One tone per badge.
6
+ @badge-base is a color-less shell for building custom tones — not for direct
7
+ use.
8
+ */
9
+
10
+ /* Badge shell — shape, sizing, focus ring. No bg/text/border color so
11
+ variants can supply their own tone without conflicts. */
12
+ @recipe badge-base {
13
+ inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
14
+ }
15
+
16
+ /* Default neutral badge. */
17
+ @recipe badge {
18
+ inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground
19
+ }
20
+
21
+ /* Success tone badge. */
22
+ @recipe badge-success {
23
+ inline-flex items-center gap-1 rounded-full bg-green-100 px-2 py-0.5 text-xs font-medium text-green-800 dark:bg-green-900 dark:text-green-200
24
+ }
25
+
26
+ /* Warning tone badge. */
27
+ @recipe badge-warning {
28
+ inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-800 dark:bg-amber-900 dark:text-amber-200
29
+ }
30
+
31
+ /* Danger tone badge. */
32
+ @recipe badge-danger {
33
+ inline-flex items-center gap-1 rounded-full bg-destructive/15 px-2 py-0.5 text-xs font-medium text-destructive
34
+ }
35
+
36
+ /* Info tone badge. */
37
+ @recipe badge-info {
38
+ inline-flex items-center gap-1 rounded-full bg-primary/15 px-2 py-0.5 text-xs font-medium text-primary
39
+ }
40
+
41
+ /* Outline badge — no fill. */
42
+ @recipe badge-outline {
43
+ inline-flex items-center gap-1 rounded-full border border-border px-2 py-0.5 text-xs font-medium text-foreground
44
+ }
@@ -0,0 +1,44 @@
1
+ /* shortwind: badge@0.0.1 sha:8548b9a7305a0a59 */
2
+
3
+ /* @guide
4
+ @badge is the neutral default; tone variants @badge-success/warning/danger/
5
+ info carry their own color; @badge-outline is unfilled. One tone per badge.
6
+ @badge-base is a color-less shell for building custom tones — not for direct
7
+ use.
8
+ */
9
+
10
+ /* Badge shell — shape, sizing, focus ring. No bg/text/border color so
11
+ variants can supply their own tone without conflicts. */
12
+ @recipe badge-base {
13
+ inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
14
+ }
15
+
16
+ /* Default neutral badge. */
17
+ @recipe badge {
18
+ inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground
19
+ }
20
+
21
+ /* Success tone badge. */
22
+ @recipe badge-success {
23
+ inline-flex items-center gap-1 rounded-full bg-green-100 px-2 py-0.5 text-xs font-medium text-green-800 dark:bg-green-900 dark:text-green-200
24
+ }
25
+
26
+ /* Warning tone badge. */
27
+ @recipe badge-warning {
28
+ inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-800 dark:bg-amber-900 dark:text-amber-200
29
+ }
30
+
31
+ /* Danger tone badge. */
32
+ @recipe badge-danger {
33
+ inline-flex items-center gap-1 rounded-full bg-destructive/15 px-2 py-0.5 text-xs font-medium text-destructive
34
+ }
35
+
36
+ /* Info tone badge. */
37
+ @recipe badge-info {
38
+ inline-flex items-center gap-1 rounded-full bg-primary/15 px-2 py-0.5 text-xs font-medium text-primary
39
+ }
40
+
41
+ /* Outline badge — no fill. */
42
+ @recipe badge-outline {
43
+ inline-flex items-center gap-1 rounded-full border border-border px-2 py-0.5 text-xs font-medium text-foreground
44
+ }
@@ -0,0 +1,5 @@
1
+ # button
2
+
3
+ ## 0.0.1
4
+
5
+ Initial release.
@@ -0,0 +1,74 @@
1
+ /* shortwind: button@0.0.1 sha:777fa510c4ab4aeb */
2
+
3
+ /* @guide
4
+ Name order is @btn-<intent>[-<size>]: intent first (primary/secondary/ghost/
5
+ danger/outline), size second (sm/lg; omit for default). One intent per
6
+ button — never combine @btn-primary with @btn-danger. @btn-ghost is text-only,
7
+ @btn-outline is bordered with no fill, @btn-icon is a square icon button.
8
+ @btn-base is the shared shell; don't use it on its own.
9
+ */
10
+
11
+ /* Shared button base — sizing, focus ring, disabled state. */
12
+ @recipe btn-base {
13
+ inline-flex items-center justify-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:cursor-not-allowed disabled:opacity-50
14
+ }
15
+
16
+ /* Primary call-to-action button. */
17
+ @recipe btn-primary {
18
+ @btn-base bg-primary text-primary-foreground hover:bg-primary/90
19
+ }
20
+
21
+ /* Small primary button. */
22
+ @recipe btn-primary-sm {
23
+ @btn-primary px-3 py-1.5 text-xs
24
+ }
25
+
26
+ /* Large primary button. */
27
+ @recipe btn-primary-lg {
28
+ @btn-primary px-6 py-3 text-base
29
+ }
30
+
31
+ /* Secondary button — bordered surface tone. */
32
+ @recipe btn-secondary {
33
+ @btn-base border border-border bg-secondary text-secondary-foreground hover:bg-secondary/80
34
+ }
35
+
36
+ /* Small secondary button. */
37
+ @recipe btn-secondary-sm {
38
+ @btn-secondary px-3 py-1.5 text-xs
39
+ }
40
+
41
+ /* Large secondary button. */
42
+ @recipe btn-secondary-lg {
43
+ @btn-secondary px-6 py-3 text-base
44
+ }
45
+
46
+ /* Ghost button — text only, no background. */
47
+ @recipe btn-ghost {
48
+ @btn-base text-foreground hover:bg-muted
49
+ }
50
+
51
+ /* Small ghost button. */
52
+ @recipe btn-ghost-sm {
53
+ @btn-ghost px-3 py-1.5 text-xs
54
+ }
55
+
56
+ /* Large ghost button. */
57
+ @recipe btn-ghost-lg {
58
+ @btn-ghost px-6 py-3 text-base
59
+ }
60
+
61
+ /* Destructive button. */
62
+ @recipe btn-danger {
63
+ @btn-base bg-destructive text-destructive-foreground hover:bg-destructive/90
64
+ }
65
+
66
+ /* Outline button — bordered without fill. */
67
+ @recipe btn-outline {
68
+ @btn-base border border-primary text-primary hover:bg-primary/10
69
+ }
70
+
71
+ /* Square icon-only button. */
72
+ @recipe btn-icon {
73
+ inline-flex h-9 w-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-muted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:cursor-not-allowed disabled:opacity-50
74
+ }
@@ -0,0 +1,74 @@
1
+ /* shortwind: button@0.0.1 sha:777fa510c4ab4aeb */
2
+
3
+ /* @guide
4
+ Name order is @btn-<intent>[-<size>]: intent first (primary/secondary/ghost/
5
+ danger/outline), size second (sm/lg; omit for default). One intent per
6
+ button — never combine @btn-primary with @btn-danger. @btn-ghost is text-only,
7
+ @btn-outline is bordered with no fill, @btn-icon is a square icon button.
8
+ @btn-base is the shared shell; don't use it on its own.
9
+ */
10
+
11
+ /* Shared button base — sizing, focus ring, disabled state. */
12
+ @recipe btn-base {
13
+ inline-flex items-center justify-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:cursor-not-allowed disabled:opacity-50
14
+ }
15
+
16
+ /* Primary call-to-action button. */
17
+ @recipe btn-primary {
18
+ @btn-base bg-primary text-primary-foreground hover:bg-primary/90
19
+ }
20
+
21
+ /* Small primary button. */
22
+ @recipe btn-primary-sm {
23
+ @btn-primary px-3 py-1.5 text-xs
24
+ }
25
+
26
+ /* Large primary button. */
27
+ @recipe btn-primary-lg {
28
+ @btn-primary px-6 py-3 text-base
29
+ }
30
+
31
+ /* Secondary button — bordered surface tone. */
32
+ @recipe btn-secondary {
33
+ @btn-base border border-border bg-secondary text-secondary-foreground hover:bg-secondary/80
34
+ }
35
+
36
+ /* Small secondary button. */
37
+ @recipe btn-secondary-sm {
38
+ @btn-secondary px-3 py-1.5 text-xs
39
+ }
40
+
41
+ /* Large secondary button. */
42
+ @recipe btn-secondary-lg {
43
+ @btn-secondary px-6 py-3 text-base
44
+ }
45
+
46
+ /* Ghost button — text only, no background. */
47
+ @recipe btn-ghost {
48
+ @btn-base text-foreground hover:bg-muted
49
+ }
50
+
51
+ /* Small ghost button. */
52
+ @recipe btn-ghost-sm {
53
+ @btn-ghost px-3 py-1.5 text-xs
54
+ }
55
+
56
+ /* Large ghost button. */
57
+ @recipe btn-ghost-lg {
58
+ @btn-ghost px-6 py-3 text-base
59
+ }
60
+
61
+ /* Destructive button. */
62
+ @recipe btn-danger {
63
+ @btn-base bg-destructive text-destructive-foreground hover:bg-destructive/90
64
+ }
65
+
66
+ /* Outline button — bordered without fill. */
67
+ @recipe btn-outline {
68
+ @btn-base border border-primary text-primary hover:bg-primary/10
69
+ }
70
+
71
+ /* Square icon-only button. */
72
+ @recipe btn-icon {
73
+ inline-flex h-9 w-9 items-center justify-center rounded-md text-foreground transition-colors hover:bg-muted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:cursor-not-allowed disabled:opacity-50
74
+ }
@@ -0,0 +1,5 @@
1
+ # card
2
+
3
+ ## 0.0.1
4
+
5
+ Initial release.
@@ -0,0 +1,43 @@
1
+ /* shortwind: card@0.0.1 sha:4813cef10cd21824 */
2
+
3
+ /* @guide
4
+ Pick exactly one container: @card (default), @card-elevated (raised shadow),
5
+ @card-flat (no border), or @card-interactive (clickable hover/focus) — don't
6
+ stack two container variants on one element. Lay out the inside with
7
+ @card-header / @card-body / @card-footer.
8
+ */
9
+
10
+ /* Default content card with border, padding, and surface color. */
11
+ @recipe card {
12
+ rounded-lg border border-border bg-card text-card-foreground p-4
13
+ }
14
+
15
+ /* Card with raised shadow for emphasis. */
16
+ @recipe card-elevated {
17
+ @card shadow-md
18
+ }
19
+
20
+ /* Card without border, on a muted surface. */
21
+ @recipe card-flat {
22
+ rounded-lg bg-muted text-foreground p-4
23
+ }
24
+
25
+ /* Clickable card with hover and focus-visible states. */
26
+ @recipe card-interactive {
27
+ @card cursor-pointer transition-shadow hover:shadow-md focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring
28
+ }
29
+
30
+ /* Card header region with bottom divider. */
31
+ @recipe card-header {
32
+ mb-3 border-b border-border pb-3
33
+ }
34
+
35
+ /* Card body region. */
36
+ @recipe card-body {
37
+ py-1
38
+ }
39
+
40
+ /* Card footer with top divider and right-aligned actions. */
41
+ @recipe card-footer {
42
+ mt-3 flex items-center justify-end gap-2 border-t border-border pt-3
43
+ }