@brumaombra/ui-vintage 0.7.13 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COMPONENTS.md +3602 -0
- package/README.md +49 -9
- package/package.json +29 -8
- package/skills/ui-vintage/SKILL.md +42 -0
- package/src/components/blog/BlogFAQSection.vue +2 -2
- package/src/components/blog/BlogHeaderSection.vue +2 -2
- package/src/components/blog/BlogInfoSection.vue +3 -3
- package/src/components/blog/BlogProgressBar.vue +7 -6
- package/src/components/blog/BlogSectionTitle.vue +1 -1
- package/src/components/blog/BlogTagsSection.vue +22 -0
- package/src/components/blog/CategoryCard.vue +1 -1
- package/src/components/blog/HeaderCarousel.vue +6 -6
- package/src/components/blog/PostCard.vue +2 -2
- package/src/components/blog/SocialShareSidebar.vue +1 -1
- package/src/components/blog/TableOfContents.vue +6 -6
- package/src/components/blog/index.ts +1 -0
- package/src/components/busy-indicator/busy-indicator-state.ts +3 -2
- package/src/components/chip/Chip.vue +9 -5
- package/src/components/confirm-dialog/ConfirmDialog.vue +17 -6
- package/src/components/confirm-dialog/confirm-dialog-state.ts +4 -3
- package/src/components/content/BlogList.vue +3 -3
- package/src/components/content/BlogTable.vue +7 -7
- package/src/components/content/CodeBlock.vue +4 -4
- package/src/components/content/Flow.vue +3 -3
- package/src/components/content/ProseHr.vue +2 -2
- package/src/components/content/Terminal.vue +4 -4
- package/src/components/dashboard-shell/DashboardShell.vue +3 -3
- package/src/components/empty-state-card/EmptyStateCard.vue +4 -4
- package/src/components/error-page/ErrorPage.vue +16 -14
- package/src/components/info-card/InfoCard.vue +1 -1
- package/src/components/landing/landing-navbar/LandingNavbar.vue +2 -1
- package/src/components/load-more-button/LoadMoreButton.vue +2 -2
- package/src/components/loading-state-card/LoadingStateCard.vue +4 -4
- package/src/components/message-dialog/MessageDialog.vue +4 -4
- package/src/components/message-toast/MessageToast.vue +222 -50
- package/src/components/message-toast/index.ts +2 -2
- package/src/components/message-toast/message-toast-state.ts +107 -81
- package/src/components/page-header/PageHeader.vue +1 -1
- package/src/components/progress-component/ProgressComponent.vue +4 -4
- package/src/components/single-value-card/SingleValueCard.vue +47 -11
- package/src/components/theme-selector/ThemeSelector.vue +20 -36
- package/src/components/theme-selector/index.ts +3 -1
- package/src/components/theme-selector/theme-transition.ts +86 -0
- package/src/components/ui/accordion/Accordion.vue +41 -26
- package/src/components/ui/alert-dialog/AlertDialogContent.vue +2 -2
- package/src/components/ui/alert-dialog/AlertDialogFooter.vue +1 -1
- package/src/components/ui/animated-number/AnimatedNumber.vue +88 -0
- package/src/components/ui/animated-number/index.ts +1 -0
- package/src/components/ui/avatar/Avatar.vue +66 -0
- package/src/components/ui/avatar/AvatarFallback.vue +31 -0
- package/src/components/ui/avatar/AvatarGroup.vue +75 -0
- package/src/components/ui/avatar/AvatarImage.vue +23 -0
- package/src/components/ui/avatar/index.ts +47 -0
- package/src/components/ui/badge/Badge.vue +13 -2
- package/src/components/ui/breadcrumb/Breadcrumb.vue +4 -1
- package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +7 -1
- package/src/components/ui/busy/Busy.vue +45 -20
- package/src/components/ui/button/Button.vue +20 -3
- package/src/components/ui/button/index.ts +12 -2
- package/src/components/ui/card/Card.vue +21 -8
- package/src/components/ui/card/CardText.vue +1 -1
- package/src/components/ui/checkbox/Checkbox.vue +48 -0
- package/src/components/ui/checkbox/index.ts +1 -0
- package/src/components/ui/collapsible/Collapsible.vue +22 -0
- package/src/components/ui/collapsible/CollapsibleContent.vue +22 -0
- package/src/components/ui/collapsible/CollapsibleTrigger.vue +19 -0
- package/src/components/ui/collapsible/index.ts +3 -0
- package/src/components/ui/combobox/Combobox.vue +24 -0
- package/src/components/ui/combobox/ComboboxAnchor.vue +39 -0
- package/src/components/ui/combobox/ComboboxEmpty.vue +21 -0
- package/src/components/ui/combobox/ComboboxGroup.vue +26 -0
- package/src/components/ui/combobox/ComboboxInput.vue +28 -0
- package/src/components/ui/combobox/ComboboxItem.vue +39 -0
- package/src/components/ui/combobox/ComboboxList.vue +43 -0
- package/src/components/ui/combobox/ComboboxSelect.vue +162 -0
- package/src/components/ui/combobox/ComboboxSeparator.vue +16 -0
- package/src/components/ui/combobox/ComboboxTrigger.vue +28 -0
- package/src/components/ui/combobox/index.ts +11 -0
- package/src/components/ui/combobox/types.ts +16 -0
- package/src/components/ui/command/CommandDialog.vue +18 -16
- package/src/components/ui/command/CommandGroup.vue +1 -1
- package/src/components/ui/command/CommandInput.vue +2 -2
- package/src/components/ui/command/CommandItem.vue +7 -5
- package/src/components/ui/data-table/DataTable.vue +230 -0
- package/src/components/ui/data-table/index.ts +20 -0
- package/src/components/ui/date-picker/DatePicker.vue +11 -15
- package/src/components/ui/date-time-picker/DateTimePicker.vue +2 -7
- package/src/components/ui/dialog/DialogContent.vue +9 -4
- package/src/components/ui/dialog/DialogOverlay.vue +1 -1
- package/src/components/ui/dialog/DialogScrollContent.vue +10 -5
- package/src/components/ui/dropdown-menu/DropdownMenu.vue +18 -0
- package/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +34 -0
- package/src/components/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
- package/src/components/ui/dropdown-menu/DropdownMenuGroup.vue +13 -0
- package/src/components/ui/dropdown-menu/DropdownMenuItem.vue +34 -0
- package/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +26 -0
- package/src/components/ui/dropdown-menu/DropdownMenuPortal.vue +13 -0
- package/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +18 -0
- package/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +32 -0
- package/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +16 -0
- package/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +15 -0
- package/src/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
- package/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +39 -0
- package/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +36 -0
- package/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +15 -0
- package/src/components/ui/dropdown-menu/classes.ts +24 -0
- package/src/components/ui/dropdown-menu/index.ts +15 -0
- package/src/components/ui/field/FieldDescription.vue +1 -1
- package/src/components/ui/field/FieldError.vue +4 -1
- package/src/components/ui/file-dropzone/FileDropzone.vue +250 -0
- package/src/components/ui/file-dropzone/index.ts +35 -0
- package/src/components/ui/hover-card/HoverCard.vue +21 -0
- package/src/components/ui/hover-card/HoverCardContent.vue +33 -0
- package/src/components/ui/hover-card/HoverCardTrigger.vue +13 -0
- package/src/components/ui/hover-card/index.ts +3 -0
- package/src/components/ui/input/Input.vue +5 -5
- package/src/components/ui/kbd/Kbd.vue +21 -0
- package/src/components/ui/kbd/KbdGroup.vue +72 -0
- package/src/components/ui/kbd/index.ts +2 -0
- package/src/components/ui/number-field/NumberField.vue +130 -0
- package/src/components/ui/number-field/index.ts +1 -0
- package/src/components/ui/pagination/Pagination.vue +27 -0
- package/src/components/ui/pagination/PaginationContent.vue +20 -0
- package/src/components/ui/pagination/PaginationEllipsis.vue +31 -0
- package/src/components/ui/pagination/PaginationFirst.vue +32 -0
- package/src/components/ui/pagination/PaginationItem.vue +41 -0
- package/src/components/ui/pagination/PaginationLast.vue +32 -0
- package/src/components/ui/pagination/PaginationNext.vue +32 -0
- package/src/components/ui/pagination/PaginationPrevious.vue +32 -0
- package/src/components/ui/pagination/SimplePagination.vue +49 -0
- package/src/components/ui/pagination/index.ts +9 -0
- package/src/components/ui/pin-input/PinInput.vue +48 -0
- package/src/components/ui/pin-input/PinInputInput.vue +49 -0
- package/src/components/ui/pin-input/context.ts +8 -0
- package/src/components/ui/pin-input/index.ts +2 -0
- package/src/components/ui/popover/PopoverContent.vue +1 -1
- package/src/components/ui/progress/Progress.vue +22 -7
- package/src/components/ui/radio-group/RadioGroup.vue +27 -0
- package/src/components/ui/radio-group/RadioGroupCard.vue +56 -0
- package/src/components/ui/radio-group/RadioGroupItem.vue +40 -0
- package/src/components/ui/radio-group/index.ts +3 -0
- package/src/components/ui/select/SelectContent.vue +1 -1
- package/src/components/ui/select/SelectItem.vue +2 -2
- package/src/components/ui/select/SelectItemContent.vue +1 -1
- package/src/components/ui/select/SelectTrigger.vue +6 -6
- package/src/components/ui/select/SelectValueContent.vue +1 -1
- package/src/components/ui/sheet/SheetContent.vue +5 -5
- package/src/components/ui/sheet/SheetOverlay.vue +1 -1
- package/src/components/ui/sidebar/Sidebar.vue +7 -5
- package/src/components/ui/sidebar/SidebarRail.vue +3 -1
- package/src/components/ui/sidebar/SidebarTrigger.vue +3 -1
- package/src/components/ui/skeleton/Skeleton.vue +4 -4
- package/src/components/ui/slider/Slider.vue +8 -6
- package/src/components/ui/spinner/Spinner.vue +47 -0
- package/src/components/ui/spinner/index.ts +1 -0
- package/src/components/ui/stepper/SimpleStepper.vue +56 -0
- package/src/components/ui/stepper/Stepper.vue +30 -0
- package/src/components/ui/stepper/StepperDescription.vue +20 -0
- package/src/components/ui/stepper/StepperIndicator.vue +41 -0
- package/src/components/ui/stepper/StepperItem.vue +21 -0
- package/src/components/ui/stepper/StepperSeparator.vue +34 -0
- package/src/components/ui/stepper/StepperTitle.vue +20 -0
- package/src/components/ui/stepper/StepperTrigger.vue +20 -0
- package/src/components/ui/stepper/index.ts +17 -0
- package/src/components/ui/switch/Switch.vue +8 -6
- package/src/components/ui/tabs/TabsContent.vue +1 -1
- package/src/components/ui/tabs/TabsList.vue +13 -5
- package/src/components/ui/tabs/TabsTrigger.vue +5 -3
- package/src/components/ui/tags-input/TagsInput.vue +49 -0
- package/src/components/ui/tags-input/TagsInputInput.vue +23 -0
- package/src/components/ui/tags-input/TagsInputItem.vue +35 -0
- package/src/components/ui/tags-input/TagsInputItemDelete.vue +31 -0
- package/src/components/ui/tags-input/TagsInputItemText.vue +21 -0
- package/src/components/ui/tags-input/index.ts +5 -0
- package/src/components/ui/textarea/Textarea.vue +4 -5
- package/src/components/ui/toggle-group/Toggle.vue +33 -0
- package/src/components/ui/toggle-group/ToggleGroup.vue +93 -0
- package/src/components/ui/toggle-group/ToggleGroupItem.vue +34 -0
- package/src/components/ui/toggle-group/index.ts +69 -0
- package/src/components/ui/tooltip/TooltipContent.vue +1 -1
- package/src/i18n/de.json +76 -0
- package/src/i18n/en.json +76 -0
- package/src/i18n/es.json +76 -0
- package/src/i18n/fr.json +76 -0
- package/src/i18n/it.json +76 -0
- package/src/i18n/ja.json +76 -0
- package/src/i18n/pt.json +76 -0
- package/src/i18n/ru.json +76 -0
- package/src/i18n/zh.json +76 -0
- package/src/lib/color-tokens.ts +14 -14
- package/src/styles.css +289 -5
package/src/i18n/ja.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"uiVintage": {
|
|
3
3
|
"common": {
|
|
4
|
+
"breadcrumb": "パンくずリスト",
|
|
5
|
+
"more": "もっと見る",
|
|
4
6
|
"empty": {
|
|
5
7
|
"title": "まだ何もありません",
|
|
6
8
|
"description": "現在表示できるコンテンツはありません。"
|
|
@@ -11,6 +13,7 @@
|
|
|
11
13
|
}
|
|
12
14
|
},
|
|
13
15
|
"buttons": {
|
|
16
|
+
"remove": "取り除く",
|
|
14
17
|
"all": "すべて",
|
|
15
18
|
"close": "閉じる",
|
|
16
19
|
"cancel": "キャンセル",
|
|
@@ -37,6 +40,18 @@
|
|
|
37
40
|
"title": "言語を選択",
|
|
38
41
|
"ariaLabel": "言語セレクター"
|
|
39
42
|
},
|
|
43
|
+
"sidebar": {
|
|
44
|
+
"title": "サイドバー",
|
|
45
|
+
"description": "モバイルサイドバーを表示します。",
|
|
46
|
+
"toggle": "サイドバーを切り替え"
|
|
47
|
+
},
|
|
48
|
+
"commandDialog": {
|
|
49
|
+
"title": "コマンドパレット",
|
|
50
|
+
"description": "実行するコマンドを検索..."
|
|
51
|
+
},
|
|
52
|
+
"datePicker": {
|
|
53
|
+
"placeholder": "日付を選択"
|
|
54
|
+
},
|
|
40
55
|
"terminal": {
|
|
41
56
|
"title": "ターミナル",
|
|
42
57
|
"copy": "コマンドをコピー",
|
|
@@ -53,6 +68,7 @@
|
|
|
53
68
|
"allRightsReserved": "無断転載を禁じます。"
|
|
54
69
|
},
|
|
55
70
|
"blog": {
|
|
71
|
+
"readingProgress": "読書の進捗",
|
|
56
72
|
"readMore": "続きを読む",
|
|
57
73
|
"goToPost": "記事を開く",
|
|
58
74
|
"tableOfContents": "目次",
|
|
@@ -82,11 +98,71 @@
|
|
|
82
98
|
"select": {
|
|
83
99
|
"defaultPlaceholder": "オプションを選択してください"
|
|
84
100
|
},
|
|
101
|
+
"errorPage": {
|
|
102
|
+
"notFound": {
|
|
103
|
+
"title": "ページが見つかりません",
|
|
104
|
+
"message": "指定されたページが見つからないか、移動された可能性があります。"
|
|
105
|
+
},
|
|
106
|
+
"unexpected": {
|
|
107
|
+
"title": "問題が発生しました",
|
|
108
|
+
"message": "予期しないエラーが発生しました。もう一度お試しいただくか、安全なページに戻ってください。"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
85
111
|
"messageDialog": {
|
|
112
|
+
"confirm": "確認",
|
|
86
113
|
"error": "エラー",
|
|
87
114
|
"success": "成功",
|
|
88
115
|
"info": "情報",
|
|
89
116
|
"warning": "警告"
|
|
117
|
+
},
|
|
118
|
+
"toast": {
|
|
119
|
+
"region": "通知"
|
|
120
|
+
},
|
|
121
|
+
"dataTable": {
|
|
122
|
+
"selectAll": "すべての行を選択",
|
|
123
|
+
"selectRow": "行を選択"
|
|
124
|
+
},
|
|
125
|
+
"numberField": {
|
|
126
|
+
"decrement": "減らす",
|
|
127
|
+
"increment": "増やす"
|
|
128
|
+
},
|
|
129
|
+
"tagsInput": {
|
|
130
|
+
"placeholder": "タグを追加…"
|
|
131
|
+
},
|
|
132
|
+
"combobox": {
|
|
133
|
+
"placeholder": "オプションを選択",
|
|
134
|
+
"searchPlaceholder": "検索...",
|
|
135
|
+
"empty": "結果が見つかりません。"
|
|
136
|
+
},
|
|
137
|
+
"avatar": {
|
|
138
|
+
"status": {
|
|
139
|
+
"online": "オンライン",
|
|
140
|
+
"offline": "オフライン",
|
|
141
|
+
"busy": "取り込み中",
|
|
142
|
+
"away": "離席中"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"pagination": {
|
|
146
|
+
"label": "ページネーション",
|
|
147
|
+
"page": "{page} ページ",
|
|
148
|
+
"first": "最初のページ",
|
|
149
|
+
"previous": "前のページ",
|
|
150
|
+
"next": "次のページ",
|
|
151
|
+
"last": "最後のページ",
|
|
152
|
+
"more": "その他のページ"
|
|
153
|
+
},
|
|
154
|
+
"stepper": {
|
|
155
|
+
"label": "進捗"
|
|
156
|
+
},
|
|
157
|
+
"fileDropzone": {
|
|
158
|
+
"title": "ここにファイルをドラッグ&ドロップ",
|
|
159
|
+
"description": "またはクリックしてデバイスから選択",
|
|
160
|
+
"dropActive": "ドロップしてアップロード",
|
|
161
|
+
"browse": "ファイルを選択",
|
|
162
|
+
"remove": "{name} を削除",
|
|
163
|
+
"maxSize": "1ファイルあたり最大 {size}",
|
|
164
|
+
"maxFiles": "最大 {count} ファイル",
|
|
165
|
+
"files": "選択したファイル"
|
|
90
166
|
}
|
|
91
167
|
}
|
|
92
168
|
}
|
package/src/i18n/pt.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"uiVintage": {
|
|
3
3
|
"common": {
|
|
4
|
+
"breadcrumb": "Navegação estrutural",
|
|
5
|
+
"more": "Mais",
|
|
4
6
|
"empty": {
|
|
5
7
|
"title": "Ainda nao ha nada aqui",
|
|
6
8
|
"description": "Nao ha conteudo para mostrar neste momento."
|
|
@@ -11,6 +13,7 @@
|
|
|
11
13
|
}
|
|
12
14
|
},
|
|
13
15
|
"buttons": {
|
|
16
|
+
"remove": "Remover",
|
|
14
17
|
"all": "Todos",
|
|
15
18
|
"close": "Fechar",
|
|
16
19
|
"cancel": "Cancelar",
|
|
@@ -37,6 +40,18 @@
|
|
|
37
40
|
"title": "Escolher idioma",
|
|
38
41
|
"ariaLabel": "Seletor de idioma"
|
|
39
42
|
},
|
|
43
|
+
"sidebar": {
|
|
44
|
+
"title": "Barra lateral",
|
|
45
|
+
"description": "Exibe a barra lateral em dispositivos móveis.",
|
|
46
|
+
"toggle": "Alternar barra lateral"
|
|
47
|
+
},
|
|
48
|
+
"commandDialog": {
|
|
49
|
+
"title": "Paleta de comandos",
|
|
50
|
+
"description": "Pesquise um comando para executar..."
|
|
51
|
+
},
|
|
52
|
+
"datePicker": {
|
|
53
|
+
"placeholder": "Selecione uma data"
|
|
54
|
+
},
|
|
40
55
|
"terminal": {
|
|
41
56
|
"title": "Terminal",
|
|
42
57
|
"copy": "Copiar comandos",
|
|
@@ -53,6 +68,7 @@
|
|
|
53
68
|
"allRightsReserved": "Todos os direitos reservados."
|
|
54
69
|
},
|
|
55
70
|
"blog": {
|
|
71
|
+
"readingProgress": "Progresso da leitura",
|
|
56
72
|
"readMore": "Ler mais",
|
|
57
73
|
"goToPost": "Ir para o artigo",
|
|
58
74
|
"tableOfContents": "Indice",
|
|
@@ -82,11 +98,71 @@
|
|
|
82
98
|
"select": {
|
|
83
99
|
"defaultPlaceholder": "Selecione uma opcao"
|
|
84
100
|
},
|
|
101
|
+
"errorPage": {
|
|
102
|
+
"notFound": {
|
|
103
|
+
"title": "Página não encontrada",
|
|
104
|
+
"message": "A página solicitada não foi encontrada ou pode ter sido movida."
|
|
105
|
+
},
|
|
106
|
+
"unexpected": {
|
|
107
|
+
"title": "Algo deu errado",
|
|
108
|
+
"message": "Um erro inesperado interrompeu o fluxo atual. Tente novamente ou volte para uma página segura."
|
|
109
|
+
}
|
|
110
|
+
},
|
|
85
111
|
"messageDialog": {
|
|
112
|
+
"confirm": "Confirmar",
|
|
86
113
|
"error": "Erro",
|
|
87
114
|
"success": "Sucesso",
|
|
88
115
|
"info": "Informacao",
|
|
89
116
|
"warning": "Aviso"
|
|
117
|
+
},
|
|
118
|
+
"toast": {
|
|
119
|
+
"region": "Notificações"
|
|
120
|
+
},
|
|
121
|
+
"dataTable": {
|
|
122
|
+
"selectAll": "Selecionar todas as linhas",
|
|
123
|
+
"selectRow": "Selecionar linha"
|
|
124
|
+
},
|
|
125
|
+
"numberField": {
|
|
126
|
+
"decrement": "Diminuir",
|
|
127
|
+
"increment": "Aumentar"
|
|
128
|
+
},
|
|
129
|
+
"tagsInput": {
|
|
130
|
+
"placeholder": "Adicionar uma tag…"
|
|
131
|
+
},
|
|
132
|
+
"combobox": {
|
|
133
|
+
"placeholder": "Selecione uma opção",
|
|
134
|
+
"searchPlaceholder": "Pesquisar...",
|
|
135
|
+
"empty": "Nenhum resultado encontrado."
|
|
136
|
+
},
|
|
137
|
+
"avatar": {
|
|
138
|
+
"status": {
|
|
139
|
+
"online": "Online",
|
|
140
|
+
"offline": "Offline",
|
|
141
|
+
"busy": "Ocupado",
|
|
142
|
+
"away": "Ausente"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"pagination": {
|
|
146
|
+
"label": "Paginação",
|
|
147
|
+
"page": "Página {page}",
|
|
148
|
+
"first": "Primeira página",
|
|
149
|
+
"previous": "Página anterior",
|
|
150
|
+
"next": "Próxima página",
|
|
151
|
+
"last": "Última página",
|
|
152
|
+
"more": "Mais páginas"
|
|
153
|
+
},
|
|
154
|
+
"stepper": {
|
|
155
|
+
"label": "Progresso"
|
|
156
|
+
},
|
|
157
|
+
"fileDropzone": {
|
|
158
|
+
"title": "Arraste e solte arquivos aqui",
|
|
159
|
+
"description": "ou clique para procurar no seu dispositivo",
|
|
160
|
+
"dropActive": "Solte para enviar",
|
|
161
|
+
"browse": "Procurar arquivos",
|
|
162
|
+
"remove": "Remover {name}",
|
|
163
|
+
"maxSize": "Máx. {size} por arquivo",
|
|
164
|
+
"maxFiles": "Até {count} arquivos",
|
|
165
|
+
"files": "Arquivos selecionados"
|
|
90
166
|
}
|
|
91
167
|
}
|
|
92
168
|
}
|
package/src/i18n/ru.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"uiVintage": {
|
|
3
3
|
"common": {
|
|
4
|
+
"breadcrumb": "Навигация по хлебным крошкам",
|
|
5
|
+
"more": "Ещё",
|
|
4
6
|
"empty": {
|
|
5
7
|
"title": "Здесь пока ничего нет",
|
|
6
8
|
"description": "Сейчас нет контента для отображения."
|
|
@@ -11,6 +13,7 @@
|
|
|
11
13
|
}
|
|
12
14
|
},
|
|
13
15
|
"buttons": {
|
|
16
|
+
"remove": "Убрать",
|
|
14
17
|
"all": "Все",
|
|
15
18
|
"close": "Закрыть",
|
|
16
19
|
"cancel": "Отмена",
|
|
@@ -37,6 +40,18 @@
|
|
|
37
40
|
"title": "Выберите язык",
|
|
38
41
|
"ariaLabel": "Выбор языка"
|
|
39
42
|
},
|
|
43
|
+
"sidebar": {
|
|
44
|
+
"title": "Боковая панель",
|
|
45
|
+
"description": "Отображает мобильную боковую панель.",
|
|
46
|
+
"toggle": "Переключить боковую панель"
|
|
47
|
+
},
|
|
48
|
+
"commandDialog": {
|
|
49
|
+
"title": "Палитра команд",
|
|
50
|
+
"description": "Найти команду для выполнения..."
|
|
51
|
+
},
|
|
52
|
+
"datePicker": {
|
|
53
|
+
"placeholder": "Выберите дату"
|
|
54
|
+
},
|
|
40
55
|
"terminal": {
|
|
41
56
|
"title": "Терминал",
|
|
42
57
|
"copy": "Копировать команды",
|
|
@@ -53,6 +68,7 @@
|
|
|
53
68
|
"allRightsReserved": "Все права защищены."
|
|
54
69
|
},
|
|
55
70
|
"blog": {
|
|
71
|
+
"readingProgress": "Прогресс чтения",
|
|
56
72
|
"readMore": "Читать далее",
|
|
57
73
|
"goToPost": "Перейти к статье",
|
|
58
74
|
"tableOfContents": "Содержание",
|
|
@@ -82,11 +98,71 @@
|
|
|
82
98
|
"select": {
|
|
83
99
|
"defaultPlaceholder": "Выберите вариант"
|
|
84
100
|
},
|
|
101
|
+
"errorPage": {
|
|
102
|
+
"notFound": {
|
|
103
|
+
"title": "Страница не найдена",
|
|
104
|
+
"message": "Запрошенная страница не найдена или могла быть перемещена."
|
|
105
|
+
},
|
|
106
|
+
"unexpected": {
|
|
107
|
+
"title": "Что-то пошло не так",
|
|
108
|
+
"message": "Неожиданная ошибка прервала текущий процесс. Попробуйте еще раз или вернитесь на безопасную страницу."
|
|
109
|
+
}
|
|
110
|
+
},
|
|
85
111
|
"messageDialog": {
|
|
112
|
+
"confirm": "Подтвердить",
|
|
86
113
|
"error": "Ошибка",
|
|
87
114
|
"success": "Успех",
|
|
88
115
|
"info": "Информация",
|
|
89
116
|
"warning": "Предупреждение"
|
|
117
|
+
},
|
|
118
|
+
"toast": {
|
|
119
|
+
"region": "Уведомления"
|
|
120
|
+
},
|
|
121
|
+
"dataTable": {
|
|
122
|
+
"selectAll": "Выбрать все строки",
|
|
123
|
+
"selectRow": "Выбрать строку"
|
|
124
|
+
},
|
|
125
|
+
"numberField": {
|
|
126
|
+
"decrement": "Уменьшить",
|
|
127
|
+
"increment": "Увеличить"
|
|
128
|
+
},
|
|
129
|
+
"tagsInput": {
|
|
130
|
+
"placeholder": "Добавить тег…"
|
|
131
|
+
},
|
|
132
|
+
"combobox": {
|
|
133
|
+
"placeholder": "Выберите вариант",
|
|
134
|
+
"searchPlaceholder": "Поиск...",
|
|
135
|
+
"empty": "Ничего не найдено."
|
|
136
|
+
},
|
|
137
|
+
"avatar": {
|
|
138
|
+
"status": {
|
|
139
|
+
"online": "В сети",
|
|
140
|
+
"offline": "Не в сети",
|
|
141
|
+
"busy": "Занят",
|
|
142
|
+
"away": "Отошёл"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"pagination": {
|
|
146
|
+
"label": "Пагинация",
|
|
147
|
+
"page": "Страница {page}",
|
|
148
|
+
"first": "Первая страница",
|
|
149
|
+
"previous": "Предыдущая страница",
|
|
150
|
+
"next": "Следующая страница",
|
|
151
|
+
"last": "Последняя страница",
|
|
152
|
+
"more": "Другие страницы"
|
|
153
|
+
},
|
|
154
|
+
"stepper": {
|
|
155
|
+
"label": "Прогресс"
|
|
156
|
+
},
|
|
157
|
+
"fileDropzone": {
|
|
158
|
+
"title": "Перетащите файлы сюда",
|
|
159
|
+
"description": "или нажмите, чтобы выбрать на устройстве",
|
|
160
|
+
"dropActive": "Отпустите для загрузки",
|
|
161
|
+
"browse": "Выбрать файлы",
|
|
162
|
+
"remove": "Удалить {name}",
|
|
163
|
+
"maxSize": "Макс. {size} на файл",
|
|
164
|
+
"maxFiles": "До {count} файлов",
|
|
165
|
+
"files": "Выбранные файлы"
|
|
90
166
|
}
|
|
91
167
|
}
|
|
92
168
|
}
|
package/src/i18n/zh.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"uiVintage": {
|
|
3
3
|
"common": {
|
|
4
|
+
"breadcrumb": "面包屑导航",
|
|
5
|
+
"more": "更多",
|
|
4
6
|
"empty": {
|
|
5
7
|
"title": "这里还没有内容",
|
|
6
8
|
"description": "当前没有可显示的内容。"
|
|
@@ -11,6 +13,7 @@
|
|
|
11
13
|
}
|
|
12
14
|
},
|
|
13
15
|
"buttons": {
|
|
16
|
+
"remove": "移除",
|
|
14
17
|
"all": "全部",
|
|
15
18
|
"close": "关闭",
|
|
16
19
|
"cancel": "取消",
|
|
@@ -37,6 +40,18 @@
|
|
|
37
40
|
"title": "选择语言",
|
|
38
41
|
"ariaLabel": "语言选择器"
|
|
39
42
|
},
|
|
43
|
+
"sidebar": {
|
|
44
|
+
"title": "侧边栏",
|
|
45
|
+
"description": "显示移动侧边栏。",
|
|
46
|
+
"toggle": "切换侧边栏"
|
|
47
|
+
},
|
|
48
|
+
"commandDialog": {
|
|
49
|
+
"title": "命令面板",
|
|
50
|
+
"description": "搜索要运行的命令..."
|
|
51
|
+
},
|
|
52
|
+
"datePicker": {
|
|
53
|
+
"placeholder": "选择日期"
|
|
54
|
+
},
|
|
40
55
|
"terminal": {
|
|
41
56
|
"title": "终端",
|
|
42
57
|
"copy": "复制命令",
|
|
@@ -53,6 +68,7 @@
|
|
|
53
68
|
"allRightsReserved": "版权所有。"
|
|
54
69
|
},
|
|
55
70
|
"blog": {
|
|
71
|
+
"readingProgress": "阅读进度",
|
|
56
72
|
"readMore": "阅读更多",
|
|
57
73
|
"goToPost": "前往文章",
|
|
58
74
|
"tableOfContents": "目录",
|
|
@@ -82,11 +98,71 @@
|
|
|
82
98
|
"select": {
|
|
83
99
|
"defaultPlaceholder": "请选择一个选项"
|
|
84
100
|
},
|
|
101
|
+
"errorPage": {
|
|
102
|
+
"notFound": {
|
|
103
|
+
"title": "找不到页面",
|
|
104
|
+
"message": "找不到您请求的页面,或者该页面可能已被移动。"
|
|
105
|
+
},
|
|
106
|
+
"unexpected": {
|
|
107
|
+
"title": "出了点问题",
|
|
108
|
+
"message": "发生意外错误,当前操作已中断。请重试或返回安全页面。"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
85
111
|
"messageDialog": {
|
|
112
|
+
"confirm": "确认",
|
|
86
113
|
"error": "错误",
|
|
87
114
|
"success": "成功",
|
|
88
115
|
"info": "信息",
|
|
89
116
|
"warning": "警告"
|
|
117
|
+
},
|
|
118
|
+
"toast": {
|
|
119
|
+
"region": "通知"
|
|
120
|
+
},
|
|
121
|
+
"dataTable": {
|
|
122
|
+
"selectAll": "全选所有行",
|
|
123
|
+
"selectRow": "选择行"
|
|
124
|
+
},
|
|
125
|
+
"numberField": {
|
|
126
|
+
"decrement": "减少",
|
|
127
|
+
"increment": "增加"
|
|
128
|
+
},
|
|
129
|
+
"tagsInput": {
|
|
130
|
+
"placeholder": "添加标签…"
|
|
131
|
+
},
|
|
132
|
+
"combobox": {
|
|
133
|
+
"placeholder": "请选择一个选项",
|
|
134
|
+
"searchPlaceholder": "搜索...",
|
|
135
|
+
"empty": "未找到结果。"
|
|
136
|
+
},
|
|
137
|
+
"avatar": {
|
|
138
|
+
"status": {
|
|
139
|
+
"online": "在线",
|
|
140
|
+
"offline": "离线",
|
|
141
|
+
"busy": "忙碌",
|
|
142
|
+
"away": "离开"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"pagination": {
|
|
146
|
+
"label": "分页",
|
|
147
|
+
"page": "第 {page} 页",
|
|
148
|
+
"first": "第一页",
|
|
149
|
+
"previous": "上一页",
|
|
150
|
+
"next": "下一页",
|
|
151
|
+
"last": "最后一页",
|
|
152
|
+
"more": "更多页面"
|
|
153
|
+
},
|
|
154
|
+
"stepper": {
|
|
155
|
+
"label": "进度"
|
|
156
|
+
},
|
|
157
|
+
"fileDropzone": {
|
|
158
|
+
"title": "将文件拖放到此处",
|
|
159
|
+
"description": "或点击浏览您的设备",
|
|
160
|
+
"dropActive": "松开即可上传",
|
|
161
|
+
"browse": "浏览文件",
|
|
162
|
+
"remove": "移除 {name}",
|
|
163
|
+
"maxSize": "每个文件最大 {size}",
|
|
164
|
+
"maxFiles": "最多 {count} 个文件",
|
|
165
|
+
"files": "已选文件"
|
|
90
166
|
}
|
|
91
167
|
}
|
|
92
168
|
}
|
package/src/lib/color-tokens.ts
CHANGED
|
@@ -3,11 +3,11 @@ export type ButtonVariantName = "primary" | "secondary" | "ghost" | "link" | Ton
|
|
|
3
3
|
|
|
4
4
|
// Return the list of classes for a given tone color
|
|
5
5
|
const surfaceToneClasses: Record<ToneColor, string> = {
|
|
6
|
-
gray: "border border-
|
|
7
|
-
green: "border border-green-200 bg-green-50 text-green-700 dark
|
|
8
|
-
red: "border border-red-200 bg-red-50 text-red-700 dark
|
|
9
|
-
blue: "border border-blue-200 bg-blue-50 text-blue-700 dark
|
|
10
|
-
yellow: "border border-yellow-200 bg-yellow-50 text-yellow-700 dark
|
|
6
|
+
gray: "border border-border bg-surface text-foreground",
|
|
7
|
+
green: "border border-green-200 bg-green-50 text-green-700 dark:border-green-800/50 dark:bg-green-900/10 dark:text-green-400",
|
|
8
|
+
red: "border border-red-200 bg-red-50 text-red-700 dark:border-red-800/50 dark:bg-red-900/10 dark:text-red-400",
|
|
9
|
+
blue: "border border-blue-200 bg-blue-50 text-blue-700 dark:border-blue-800/50 dark:bg-blue-900/10 dark:text-blue-400",
|
|
10
|
+
yellow: "border border-yellow-200 bg-yellow-50 text-yellow-700 dark:border-yellow-800/50 dark:bg-yellow-900/10 dark:text-yellow-400"
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
// Get the appropriate classes for a given tone color
|
|
@@ -17,11 +17,11 @@ export const getSurfaceToneClasses = (color: ToneColor) => {
|
|
|
17
17
|
|
|
18
18
|
// Return the list of classes for interactive surfaces
|
|
19
19
|
const interactiveSurfaceToneClasses: Record<ToneColor, string> = {
|
|
20
|
-
gray: `${surfaceToneClasses.gray} hover:
|
|
21
|
-
green: `${surfaceToneClasses.green} hover:bg-green-100 dark:hover
|
|
22
|
-
red: `${surfaceToneClasses.red} hover:bg-red-100 dark:hover
|
|
23
|
-
blue: `${surfaceToneClasses.blue} hover:bg-blue-100 dark:hover
|
|
24
|
-
yellow: `${surfaceToneClasses.yellow} hover:bg-yellow-100 dark:hover
|
|
20
|
+
gray: `${surfaceToneClasses.gray} hover:border-border-strong hover:bg-accent`,
|
|
21
|
+
green: `${surfaceToneClasses.green} hover:border-green-300 hover:bg-green-100 dark:hover:border-green-700/60 dark:hover:bg-green-900/20`,
|
|
22
|
+
red: `${surfaceToneClasses.red} hover:border-red-300 hover:bg-red-100 dark:hover:border-red-700/60 dark:hover:bg-red-900/20`,
|
|
23
|
+
blue: `${surfaceToneClasses.blue} hover:border-blue-300 hover:bg-blue-100 dark:hover:border-blue-700/60 dark:hover:bg-blue-900/20`,
|
|
24
|
+
yellow: `${surfaceToneClasses.yellow} hover:border-yellow-300 hover:bg-yellow-100 dark:hover:border-yellow-700/60 dark:hover:bg-yellow-900/20`
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
// Get the appropriate classes for interactive surfaces based on tone color
|
|
@@ -32,10 +32,10 @@ export const getInteractiveSurfaceToneClasses = (color: ToneColor) => {
|
|
|
32
32
|
// Return the list of classes for button variants
|
|
33
33
|
export const buttonVariantClasses: Record<ButtonVariantName, string> = {
|
|
34
34
|
// Custom button variants
|
|
35
|
-
primary: "bg-
|
|
36
|
-
secondary: "border border-
|
|
37
|
-
ghost: "text-
|
|
38
|
-
link: "text-primary underline-offset-4 hover:underline",
|
|
35
|
+
primary: "bg-primary text-primary-foreground shadow-[inset_0_1px_0_rgb(255_255_255/0.28),0_1px_2px_rgb(0_0_0/0.08)] hover:bg-primary-hover hover:shadow-glow",
|
|
36
|
+
secondary: "border border-border bg-secondary text-foreground shadow-elevated-sm hover:border-border-strong hover:bg-accent",
|
|
37
|
+
ghost: "text-muted-foreground hover:bg-accent hover:text-foreground",
|
|
38
|
+
link: "text-primary underline-offset-4 decoration-2 hover:underline enabled:active:scale-100",
|
|
39
39
|
|
|
40
40
|
// Tone-based button variants
|
|
41
41
|
gray: getInteractiveSurfaceToneClasses("gray"),
|