@brumaombra/ui-vintage 0.9.6 → 0.9.8

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/AGENTS.md +3 -1
  2. package/COMPONENTS.md +132 -15
  3. package/package.json +4 -2
  4. package/src/components/action-bar/ActionBar.vue +38 -0
  5. package/src/components/action-bar/index.ts +2 -0
  6. package/src/components/blog/BlogContentRenderer.vue +3 -14
  7. package/src/components/blog/BlogFAQSection.vue +1 -1
  8. package/src/components/blog/BlogIndexPage.vue +1 -1
  9. package/src/components/blog/BlogInfoSection.vue +4 -4
  10. package/src/components/blog/BlogPostHeader.vue +4 -5
  11. package/src/components/blog/BlogPostPage.vue +6 -2
  12. package/src/components/blog/BlogSectionTitle.vue +7 -21
  13. package/src/components/blog/BlogSummary.vue +31 -0
  14. package/src/components/blog/BlogTagsSection.vue +1 -1
  15. package/src/components/blog/CategoryCard.vue +1 -1
  16. package/src/components/blog/PostCard.vue +1 -1
  17. package/src/components/blog/blogPageUtils.ts +1 -0
  18. package/src/components/blog/index.ts +1 -0
  19. package/src/components/chip/Chip.vue +1 -1
  20. package/src/components/dashboard-shell/DashboardShell.vue +3 -3
  21. package/src/components/data-list/DataListText.vue +7 -4
  22. package/src/components/language-flag/flags/ChineseFlag.vue +1 -1
  23. package/src/components/language-flag/flags/EnglishFlag.vue +1 -1
  24. package/src/components/language-flag/flags/FrenchFlag.vue +1 -1
  25. package/src/components/language-flag/flags/GermanFlag.vue +1 -1
  26. package/src/components/language-flag/flags/ItalianFlag.vue +1 -1
  27. package/src/components/language-flag/flags/JapaneseFlag.vue +1 -1
  28. package/src/components/language-flag/flags/PortugueseFlag.vue +1 -1
  29. package/src/components/language-flag/flags/RussianFlag.vue +1 -1
  30. package/src/components/language-flag/flags/SpanishFlag.vue +1 -1
  31. package/src/components/language-selector/LanguageSelector.vue +2 -2
  32. package/src/components/section-title/SectionTitle.vue +47 -0
  33. package/src/components/section-title/index.ts +2 -0
  34. package/src/components/single-value-card/SingleValueCard.vue +1 -1
  35. package/src/components/ui/alert-dialog/AlertDialogAction.vue +6 -6
  36. package/src/components/ui/avatar/Avatar.vue +4 -2
  37. package/src/components/ui/avatar/AvatarFallback.vue +25 -5
  38. package/src/components/ui/badge/Badge.vue +21 -4
  39. package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +1 -1
  40. package/src/components/ui/breadcrumb/BreadcrumbLink.vue +1 -1
  41. package/src/components/ui/button/Button.vue +18 -2
  42. package/src/components/ui/button/index.ts +4 -0
  43. package/src/components/ui/card/Card.vue +25 -1
  44. package/src/components/ui/card/CardMedia.vue +15 -0
  45. package/src/components/ui/card/CardTitle.vue +8 -3
  46. package/src/components/ui/card/index.ts +1 -0
  47. package/src/components/ui/checkbox/Checkbox.vue +1 -1
  48. package/src/components/ui/combobox/ComboboxSelect.vue +2 -2
  49. package/src/components/ui/combobox/ComboboxTrigger.vue +1 -1
  50. package/src/components/ui/data-table/DataTable.vue +1 -1
  51. package/src/components/ui/dialog/DialogContent.vue +7 -3
  52. package/src/components/ui/dialog/DialogScrollContent.vue +7 -3
  53. package/src/components/ui/dialog/index.ts +11 -1
  54. package/src/components/ui/file-dropzone/FileDropzone.vue +1 -1
  55. package/src/components/ui/input/Input.vue +42 -9
  56. package/src/components/ui/kbd/Kbd.vue +8 -4
  57. package/src/components/ui/number-field/NumberField.vue +2 -2
  58. package/src/components/ui/progress/Progress.vue +17 -5
  59. package/src/components/ui/select/SelectItem.vue +1 -1
  60. package/src/components/ui/select/SelectItemContent.vue +5 -3
  61. package/src/components/ui/skeleton/Skeleton.vue +7 -3
  62. package/src/components/ui/switch/Switch.vue +1 -1
  63. package/src/components/ui/table/TableHeader.vue +1 -1
  64. package/src/components/ui/table/TableRow.vue +11 -4
  65. package/src/components/ui/tabs/Tabs.vue +1 -1
  66. package/src/components/ui/tabs/TabsContent.vue +8 -5
  67. package/src/components/ui/tabs/TabsTrigger.vue +1 -1
  68. package/src/components/ui/tags-input/TagsInputItemDelete.vue +1 -1
  69. package/src/components/ui/textarea/Textarea.vue +1 -1
  70. package/src/components/ui/toggle-group/ToggleGroup.vue +2 -2
  71. package/src/components/ui/toggle-group/ToggleGroupItem.vue +3 -1
  72. package/src/components/ui/toggle-group/index.ts +2 -2
  73. package/src/i18n/de.json +1 -0
  74. package/src/i18n/en.json +1 -0
  75. package/src/i18n/es.json +1 -0
  76. package/src/i18n/fr.json +1 -0
  77. package/src/i18n/it.json +1 -0
  78. package/src/i18n/ja.json +1 -0
  79. package/src/i18n/pt.json +1 -0
  80. package/src/i18n/ru.json +1 -0
  81. package/src/i18n/zh.json +1 -0
  82. package/src/lib/color-tokens.ts +6 -6
  83. package/src/styles.css +11 -6
package/src/i18n/it.json CHANGED
@@ -79,6 +79,7 @@
79
79
  "readMore": "Leggi di piu",
80
80
  "goToPost": "Vai all'articolo",
81
81
  "new": "Novità",
82
+ "inShort": "In breve",
82
83
  "tableOfContents": "Indice dei contenuti",
83
84
  "tableOfContentsDescription": "Vai a una sezione dell'articolo",
84
85
  "tableOfContentsSections": "{count} sezione | {count} sezioni",
package/src/i18n/ja.json CHANGED
@@ -79,6 +79,7 @@
79
79
  "readMore": "続きを読む",
80
80
  "goToPost": "記事を開く",
81
81
  "new": "新着",
82
+ "inShort": "要点",
82
83
  "tableOfContents": "目次",
83
84
  "tableOfContentsDescription": "この記事のセクションに移動",
84
85
  "tableOfContentsSections": "{count} セクション",
package/src/i18n/pt.json CHANGED
@@ -79,6 +79,7 @@
79
79
  "readMore": "Ler mais",
80
80
  "goToPost": "Ir para o artigo",
81
81
  "new": "Novo",
82
+ "inShort": "Em resumo",
82
83
  "tableOfContents": "Indice",
83
84
  "tableOfContentsDescription": "Ir para uma secao deste artigo",
84
85
  "tableOfContentsSections": "{count} secao | {count} secoes",
package/src/i18n/ru.json CHANGED
@@ -79,6 +79,7 @@
79
79
  "readMore": "Читать далее",
80
80
  "goToPost": "Перейти к статье",
81
81
  "new": "Новое",
82
+ "inShort": "Коротко",
82
83
  "tableOfContents": "Содержание",
83
84
  "tableOfContentsDescription": "Перейти к разделу статьи",
84
85
  "tableOfContentsSections": "Разделов: {count}",
package/src/i18n/zh.json CHANGED
@@ -79,6 +79,7 @@
79
79
  "readMore": "阅读更多",
80
80
  "goToPost": "前往文章",
81
81
  "new": "最新",
82
+ "inShort": "简而言之",
82
83
  "tableOfContents": "目录",
83
84
  "tableOfContentsDescription": "跳转到本文的一个部分",
84
85
  "tableOfContentsSections": "{count} 个章节",
@@ -37,12 +37,12 @@ export const buttonVariantClasses: Record<ButtonVariantName, string> = {
37
37
  ghost: "text-muted-foreground hover:bg-accent hover:text-foreground",
38
38
  link: "text-primary underline-offset-4 decoration-2 hover:underline enabled:active:scale-100",
39
39
 
40
- // Tone-based button variants
41
- gray: getInteractiveSurfaceToneClasses("gray"),
42
- green: getInteractiveSurfaceToneClasses("green"),
43
- red: getInteractiveSurfaceToneClasses("red"),
44
- blue: getInteractiveSurfaceToneClasses("blue"),
45
- yellow: getInteractiveSurfaceToneClasses("yellow")
40
+ // Tone-based button variants (the secondary shadow, so they read as buttons next to it, and a stronger tint in dark mode)
41
+ gray: `${getInteractiveSurfaceToneClasses("gray")} shadow-elevated-sm`,
42
+ green: `${getInteractiveSurfaceToneClasses("green")} shadow-elevated-sm dark:bg-green-900/25 dark:hover:bg-green-900/40`,
43
+ red: `${getInteractiveSurfaceToneClasses("red")} shadow-elevated-sm dark:bg-red-900/25 dark:hover:bg-red-900/40`,
44
+ blue: `${getInteractiveSurfaceToneClasses("blue")} shadow-elevated-sm dark:bg-blue-900/25 dark:hover:bg-blue-900/40`,
45
+ yellow: `${getInteractiveSurfaceToneClasses("yellow")} shadow-elevated-sm dark:bg-yellow-900/25 dark:hover:bg-yellow-900/40`
46
46
  }
47
47
 
48
48
  // Get the appropriate classes for a given button variant
package/src/styles.css CHANGED
@@ -57,9 +57,11 @@ html {
57
57
  --uv-shadow-xl: 0 4px 8px rgb(16 24 40 / 0.04), 0 24px 64px -12px rgb(16 24 40 / 0.28);
58
58
  --uv-shadow-glow: 0 0 0 1px color-mix(in oklab, var(--primary) 40%, transparent), 0 8px 24px -6px color-mix(in oklab, var(--primary) 45%, transparent);
59
59
 
60
+ /* The one corner radius of every component (cards, buttons, fields, badges...): change it here to restyle them all */
61
+ --uv-radius: 0.25rem;
62
+
60
63
  /*********************** Shadcn UI variables ***********************/
61
64
 
62
- --radius: 0.625rem;
63
65
  --background: var(--bg-main-light);
64
66
  --foreground: var(--text-primary-light);
65
67
  --card: var(--bg-card-light);
@@ -77,7 +79,8 @@ html {
77
79
  --accent: var(--bg-selected-light);
78
80
  --accent-foreground: var(--text-primary-light);
79
81
  --destructive: oklch(0.577 0.245 27.325);
80
- --success: oklch(0.627 0.17 149.2);
82
+ /* 5.8:1 on white and 5:1 on its own tint, so small success text meets WCAG AA (green-600 is only 3.3:1) */
83
+ --success: oklch(0.49 0.15 150.07);
81
84
  --warning: oklch(0.705 0.17 62.5);
82
85
  --info: oklch(0.588 0.19 256.8);
83
86
  --border: var(--border-light);
@@ -100,10 +103,12 @@ html {
100
103
  }
101
104
 
102
105
  @theme inline {
103
- --radius-sm: calc(var(--radius) - 4px);
104
- --radius-md: calc(var(--radius) - 2px);
105
- --radius-lg: var(--radius);
106
- --radius-xl: calc(var(--radius) + 4px);
106
+ /* Every radius step resolves to the shared corner radius, so rounded, rounded-sm... rounded-xl all match (rounded-full stays a circle) */
107
+ --radius: var(--uv-radius);
108
+ --radius-sm: var(--uv-radius);
109
+ --radius-md: var(--uv-radius);
110
+ --radius-lg: var(--uv-radius);
111
+ --radius-xl: var(--uv-radius);
107
112
  --color-background: var(--background);
108
113
  --color-foreground: var(--foreground);
109
114
  --color-card: var(--card);