Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
1292669
chore: implemented dynamic translation
NikGurev Dec 18, 2025
6d1ec25
chore: fixed localization & implemented folder label
NikGurev Dec 19, 2025
dedb556
chore: fixed locale type
NikGurev Dec 19, 2025
1ba69f2
chore: fixed types
NikGurev Dec 19, 2025
aa580fe
chore: golden files
NikGurev Dec 19, 2025
6495b42
chore: moved back icon-button & updated snaphots
NikGurev Dec 19, 2025
ecb2f10
chore: fixed text styles
NikGurev Dec 19, 2025
e9f8b77
chore: added dynamic text calculation
NikGurev Dec 19, 2025
40c733d
chore: fixed locales
NikGurev Dec 19, 2025
cda6e39
chore: golden files
NikGurev Dec 19, 2025
90dbbac
chore(file-upload): fixed tests
NikGurev Dec 23, 2025
e8325a1
chore(file-upload): removed redundant
NikGurev Dec 23, 2025
3edf643
chore(file-upload): added only folder type
NikGurev Dec 23, 2025
67ded66
chore(file-upload): updated snapshot
NikGurev Dec 23, 2025
2058647
chore(file-upload): updated golden file
NikGurev Dec 23, 2025
c99e3c7
chore(file-upload): updated golden file
NikGurev Dec 23, 2025
d164e3f
chore: updated e2e
NikGurev Dec 26, 2025
16bbd3b
chore: updated tests & refactoring
NikGurev Jan 12, 2026
d5be88a
chore: updated e2e size
NikGurev Jan 13, 2026
e74e591
test: updated e2e snapshots
NikGurev Jan 13, 2026
7573916
refactor: run ci
NikGurev Jan 13, 2026
6dd7d37
chore: after review
NikGurev Jan 14, 2026
991bda7
chore: properties naming & small refactoring
NikGurev Jan 14, 2026
00ce948
chore: removed dynamic translation from single-file-upload
NikGurev Jan 14, 2026
261cf19
chore: fixed tests & refactor
NikGurev Jan 15, 2026
b4b56c1
chore: fixed golden file
NikGurev Jan 15, 2026
b9b91fc
test: updated e2e snapshots
NikGurev Jan 15, 2026
ff3d7e6
chore: removed dynamic translation from multiple-file-upload
NikGurev Jan 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions packages/components-dev/file-upload/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,12 @@ import {
} from '@angular/forms';
import { KbqButtonModule } from '@koobiq/components/button';
import { KbqCheckboxModule } from '@koobiq/components/checkbox';
import { FileValidators, KbqLocaleServiceModule, ShowOnFormSubmitErrorStateMatcher } from '@koobiq/components/core';
import {
FileValidators,
KbqLocaleServiceModule,
KbqMultipleFileUploadLocaleConfig,
ShowOnFormSubmitErrorStateMatcher
} from '@koobiq/components/core';
import {
KBQ_FILE_UPLOAD_CONFIGURATION,
KBQ_MULTIPLE_FILE_UPLOAD_DEFAULT_CONFIGURATION,
Expand Down Expand Up @@ -80,16 +85,20 @@ const maxFileSize = (control: AbstractControl): ValidationErrors | null => {
{
provide: KBQ_FILE_UPLOAD_CONFIGURATION,
useValue: {
captionText: 'Перетащите сюда или ',
captionTextWhenSelected: 'Перетащите еще или ',
captionTextForCompactSize: 'Перетащите файлы или ',
browseLink: 'выберите',
captionText: 'Перетащите сюда или {{ browseLink }}',
captionTextOnlyFolder: 'Перетащите сюда или {{ browseLinkFolder }}',
captionTextWithFolder: 'Перетащите сюда или {{ browseLink }} или {{ browseLinkFolderMixed }}',
captionTextWhenSelected: 'Перетащите еще или {{ browseLink }}',
captionTextForCompactSize: 'Перетащите сюда или {{ browseLink }}',
browseLink: 'выберите файлы',
browseLinkFolder: 'выберите папку',
browseLinkFolderMixed: 'папку',
title: 'Загрузите фотографии',
gridHeaders: {
file: 'Файл',
size: 'Размер'
}
}
} satisfies KbqMultipleFileUploadLocaleConfig
}
]
})
Expand All @@ -99,6 +108,8 @@ export class DevCustomTextDirective {}
selector: 'dev-examples',
imports: [FileUploadExamplesModule],
template: `
<file-upload-allowed-example />
<hr />
<file-upload-cva-overview-example />
<hr />
<file-upload-indeterminate-loading-overview-example />
Expand Down
17 changes: 13 additions & 4 deletions packages/components/core/locales/en-US.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {
KbqActionsPanelLocaleConfiguration,
KbqClampedTextLocaleConfig,
KbqCodeBlockLocaleConfiguration,
KbqFileUploadLocaleConfig,
KbqTimeRangeLocaleConfig
} from './types';

Expand All @@ -20,20 +21,28 @@ export const enUSLocaleData = {
fileUpload: {
single: {
captionText: 'Drag file here or {{ browseLink }}',
browseLink: 'choose'
captionTextOnlyFolder: 'Drag here or {{ browseLinkFolder }}',
captionTextWithFolder: 'Drag here or {{ browseLink }} or {{ browseLinkFolderMixed }}',
browseLink: 'choose file',
browseLinkFolder: 'choose folder',
browseLinkFolderMixed: 'folder'
},
multiple: {
captionText: 'Drag here or {{ browseLink }}',
captionTextWhenSelected: 'Drag more files or {{ browseLink }}',
captionTextOnlyFolder: 'Drag here or {{ browseLinkFolder }}',
captionTextWithFolder: 'Drag here or {{ browseLink }} or {{ browseLinkFolderMixed }}',
captionTextWhenSelected: 'Drag more or {{ browseLink }}',
captionTextForCompactSize: 'Drag files or {{ browseLink }}',
browseLink: 'choose',
browseLink: 'choose files',
browseLinkFolder: 'choose folder',
browseLinkFolderMixed: 'folder',
title: 'Upload files',
gridHeaders: {
file: 'File',
size: 'Size'
}
}
},
} satisfies KbqFileUploadLocaleConfig,
codeBlock: {
softWrapOnTooltip: 'Enable word wrap',
softWrapOffTooltip: 'Disable word wrap',
Expand Down
13 changes: 11 additions & 2 deletions packages/components/core/locales/es-LA.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {
KbqActionsPanelLocaleConfiguration,
KbqClampedTextLocaleConfig,
KbqCodeBlockLocaleConfiguration,
KbqFileUploadLocaleConfig,
KbqTimeRangeLocaleConfig
} from './types';

Expand All @@ -19,20 +20,28 @@ export const esLALocaleData = {
fileUpload: {
single: {
captionText: 'Arrastre el archivo aquí o {{ browseLink }}',
browseLink: 'elija'
captionTextOnlyFolder: 'Arrastre el archivo aquí o {{ browseLinkFolder }}',
captionTextWithFolder: 'Arrastre el archivo aquí o {{ browseLink }} o {{ browseLinkFolderMixed }}',
browseLink: 'elija',
browseLinkFolder: 'carpeta',
browseLinkFolderMixed: 'carpeta'
},
multiple: {
captionText: 'Arrastre aquí o {{ browseLink }}',
captionTextOnlyFolder: 'Arrastre aquí o {{ browseLinkFolder }}',
captionTextWithFolder: 'Arrastre aquí o {{ browseLink }} o {{ browseLinkFolderMixed }}',
captionTextWhenSelected: 'Arrastre más archivos aquí o {{ browseLink }}',
captionTextForCompactSize: 'Arrastre archivos o {{ browseLink }}',
browseLink: 'elija',
browseLinkFolder: 'carpeta',
browseLinkFolderMixed: 'carpeta',
title: 'Cargue los archivos',
gridHeaders: {
file: 'Archivo',
size: 'Tamaño'
}
}
},
} satisfies KbqFileUploadLocaleConfig,
codeBlock: {
softWrapOnTooltip: 'Activar el ajuste de texto',
softWrapOffTooltip: 'Desactivar el ajuste de texto',
Expand Down
13 changes: 11 additions & 2 deletions packages/components/core/locales/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {
KbqActionsPanelLocaleConfiguration,
KbqClampedTextLocaleConfig,
KbqCodeBlockLocaleConfiguration,
KbqFileUploadLocaleConfig,
KbqTimeRangeLocaleConfig
} from './types';

Expand All @@ -19,20 +20,28 @@ export const ptBRLocaleData = {
fileUpload: {
single: {
captionText: 'Arrastar o arquivo aqui ou {{ browseLink }}',
browseLink: 'escolher'
captionTextOnlyFolder: 'Arrastar o arquivo aqui ou {{ browseLinkFolder }}',
captionTextWithFolder: 'Arrastar o arquivo aqui ou {{ browseLink }} ou {{ browseLinkFolderMixed }}',
browseLink: 'escolher',
browseLinkFolder: 'pasta',
browseLinkFolderMixed: 'pasta'
},
multiple: {
captionText: 'Arrastar aqui ou {{ browseLink }}',
captionTextOnlyFolder: 'Arrastar aqui ou {{ browseLinkFolder }}',
captionTextWithFolder: 'Arrastar aqui ou {{ browseLink }} ou {{ browseLinkFolderMixed }}',
captionTextWhenSelected: 'Arrastar mais arquivos aqui ou {{ browseLink }}',
captionTextForCompactSize: 'Arrastar arquivos ou {{ browseLink }}',
browseLink: 'escolher',
browseLinkFolder: 'pasta',
browseLinkFolderMixed: 'pasta',
title: 'Carregar arquivos',
gridHeaders: {
file: 'Arquivo',
size: 'Tamanho'
}
}
},
} satisfies KbqFileUploadLocaleConfig,
codeBlock: {
softWrapOnTooltip: 'Ativar quebra de linha',
softWrapOffTooltip: 'Desativar quebra de linha',
Expand Down
19 changes: 14 additions & 5 deletions packages/components/core/locales/ru-RU.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {
KbqActionsPanelLocaleConfiguration,
KbqClampedTextLocaleConfig,
KbqCodeBlockLocaleConfiguration,
KbqFileUploadLocaleConfig,
KbqTimeRangeLocaleConfig
} from './types';

Expand All @@ -19,21 +20,29 @@ export const ruRULocaleData = {
},
fileUpload: {
single: {
captionText: 'Перетащите файл или {{ browseLink }}',
browseLink: 'выберите'
captionText: 'Перетащите сюда или {{ browseLink }}',
captionTextOnlyFolder: 'Перетащите сюда или {{ browseLinkFolder }}',
captionTextWithFolder: 'Перетащите сюда или {{ browseLink }} или {{ browseLinkFolderMixed }}',
browseLink: 'выберите файл',
browseLinkFolder: 'выберите папку',
browseLinkFolderMixed: 'папку'
},
multiple: {
captionText: 'Перетащите сюда или {{ browseLink }}',
captionTextOnlyFolder: 'Перетащите сюда или {{ browseLinkFolder }}',
captionTextWithFolder: 'Перетащите сюда или {{ browseLink }} или {{ browseLinkFolderMixed }}',
captionTextWhenSelected: 'Перетащите еще или {{ browseLink }}',
captionTextForCompactSize: 'Перетащите файлы или {{ browseLink }}',
browseLink: 'выберите',
captionTextForCompactSize: 'Перетащите сюда или {{ browseLink }}',
browseLink: 'выберите файлы',
browseLinkFolder: 'выберите папку',
browseLinkFolderMixed: 'папку',
title: 'Загрузите файлы',
gridHeaders: {
file: 'Файл',
size: 'Размер'
}
}
},
} satisfies KbqFileUploadLocaleConfig,
codeBlock: {
softWrapOnTooltip: 'Включить перенос по словам',
softWrapOffTooltip: 'Выключить перенос по словам',
Expand Down
15 changes: 12 additions & 3 deletions packages/components/core/locales/tk-TM.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {
KbqActionsPanelLocaleConfiguration,
KbqClampedTextLocaleConfig,
KbqCodeBlockLocaleConfiguration,
KbqFileUploadLocaleConfig,
KbqTimeRangeLocaleConfig
} from './types';

Expand All @@ -19,21 +20,29 @@ export const tkTMLocaleData = {
},
fileUpload: {
single: {
captionText: 'Faýly geçiriň ýa-da {{ browseLink }} ',
browseLink: 'saýlaň'
captionText: 'Faýly geçiriň ýa-da {{ browseLink }}',
captionTextOnlyFolder: 'Faýly geçiriň ýa-da {{ browseLinkFolder }}',
captionTextWithFolder: 'Faýly geçiriň ýa-da {{ browseLink }} ýa-da {{ browseLinkFolderMixed }}',
browseLink: 'saýlaň',
browseLinkFolder: 'bukja',
browseLinkFolderMixed: 'bukja'
},
multiple: {
captionText: 'Şu ýere geçiriň ýa-da {{ browseLink }}',
captionTextOnlyFolder: 'Şu ýere geçiriň ýa-da {{ browseLinkFolder }}',
captionTextWithFolder: 'Şu ýere geçiriň ýa-da {{ browseLink }} ýa-da {{ browseLinkFolderMixed }}',
captionTextWhenSelected: 'Ýene geçiriň ýa-da {{ browseLink }}',
captionTextForCompactSize: 'Faýllary geçiriň ýa-da {{ browseLink }}',
browseLink: 'saýlaň',
browseLinkFolder: 'bukja',
browseLinkFolderMixed: 'bukja',
title: 'Faýl ýükläň',
gridHeaders: {
file: 'Faýl',
size: 'Ölçegi'
}
}
},
} satisfies KbqFileUploadLocaleConfig,
codeBlock: {
softWrapOnTooltip: 'Sözler boýunça geçirmäni işjeňleşdirmek',
softWrapOffTooltip: 'Sözler boýunça geçirmäni öçürmek',
Expand Down
24 changes: 24 additions & 0 deletions packages/components/core/locales/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,27 @@ export type KbqTimeRangeLocaleConfig = {
option: FormatterDurationTemplate;
};
};

export interface KbqBaseFileUploadLocaleConfig {
captionText: string;
captionTextOnlyFolder: string;
captionTextWithFolder: string;
browseLink: string;
browseLinkFolder: string;
browseLinkFolderMixed?: string;
}

export interface KbqMultipleFileUploadLocaleConfig extends KbqBaseFileUploadLocaleConfig {
captionTextWhenSelected: string;
captionTextForCompactSize: string;
title: string;
gridHeaders: {
file: string;
size: string;
};
}

export type KbqFileUploadLocaleConfig = {
single: KbqBaseFileUploadLocaleConfig;
multiple: KbqMultipleFileUploadLocaleConfig;
};
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@

exports[`KbqMultipleFileUploadComponent with localeConfig input property should use default properties if they not provided with localeConfig 1`] = `
{
"browseLink": "выберите",
"browseLink": "выберите файлы",
"browseLinkFolder": "выберите папку",
"browseLinkFolderMixed": "папку",
"captionText": "TEST {{ browseLink }}",
"captionTextForCompactSize": "Перетащите файлы или {{ browseLink }}",
"captionTextForCompactSize": "Перетащите сюда или {{ browseLink }}",
"captionTextOnlyFolder": "Перетащите сюда или {{ browseLinkFolder }}",
"captionTextWhenSelected": "Перетащите еще или {{ browseLink }}",
"captionTextWithFolder": "Перетащите сюда или {{ browseLink }} или {{ browseLinkFolderMixed }}",
"gridHeaders": {
"file": "Файл",
"size": "Размер",
Expand All @@ -16,7 +20,11 @@ exports[`KbqMultipleFileUploadComponent with localeConfig input property should

exports[`KbqSingleFileUploadComponent with localeConfig input property should use default properties if they not provided with localeConfig 1`] = `
{
"browseLink": "выберите",
"browseLink": "выберите файл",
"browseLinkFolder": "выберите папку",
"browseLinkFolderMixed": "папку",
"captionText": "TEST {{ browseLink }}",
"captionTextOnlyFolder": "Перетащите сюда или {{ browseLinkFolder }}",
"captionTextWithFolder": "Перетащите сюда или {{ browseLink }} или {{ browseLinkFolderMixed }}",
}
`;
7 changes: 7 additions & 0 deletions packages/components/file-upload/e2e.playwright-spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ test.describe('KbqFileUploadModule', () => {

test('KbqSingleFileUploadComponent states', async ({ page }) => {
await page.goto('/E2eFileUploadStateAndStyle');
await page.setViewportSize({ width: 1400, height: 320 });

const locator = getComponent(page);

const screenshotTarget = getSingleFileUploadTable(locator);
Expand All @@ -19,7 +21,9 @@ test.describe('KbqFileUploadModule', () => {

test(`KbqSingleFileUploadComponent states (dark theme)`, async ({ page }) => {
await page.goto('/E2eFileUploadStateAndStyle');
await page.setViewportSize({ width: 1400, height: 320 });
await e2eEnableDarkTheme(page);
await page.setViewportSize({ width: 1400, height: 320 });

const locator = getComponent(page);

Expand All @@ -32,6 +36,8 @@ test.describe('KbqFileUploadModule', () => {
await page.goto('/E2eFileUploadStateAndStyle');
const locator = getComponent(page);

await page.setViewportSize({ width: 1400, height: 900 });

const screenshotTarget = getMultipleFileUploadTable(locator);

await expect(screenshotTarget).toHaveScreenshot();
Expand All @@ -40,6 +46,7 @@ test.describe('KbqFileUploadModule', () => {
test(`KbqMultipleFileUploadComponent states (dark theme)`, async ({ page }) => {
await page.goto('/E2eFileUploadStateAndStyle');
await e2eEnableDarkTheme(page);
await page.setViewportSize({ width: 1400, height: 900 });

const locator = getComponent(page);

Expand Down
Loading