ngx-vector-components 6.17.1 → 6.18.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.
@@ -10,7 +10,8 @@ export type InputFileButtonConfig = {
10
10
  leftIcon?: string;
11
11
  rightIcon?: string;
12
12
  };
13
- export type InputFileAcceptExtension = 'PDF' | 'DOC' | 'DOCX' | 'XLS' | 'XLSX' | 'PPT' | 'PPTX' | 'TXT' | 'CSV' | 'RTF' | 'JPG' | 'JPEG' | 'PNG' | 'GIF' | 'BMP' | 'WEBP' | 'SVG' | 'MP4' | 'MP3' | 'WAV' | 'ZIP' | 'RAR' | 'JSON' | 'XML';
13
+ export declare const INPUT_FILE_ACCEPT_EXTENSIONS: readonly ["PDF", "DOC", "DOCX", "XLS", "XLSX", "PPT", "PPTX", "TXT", "CSV", "RTF", "JPG", "JPEG", "PNG", "GIF", "BMP", "WEBP", "SVG", "ZIP", "RAR", "JSON", "XML"];
14
+ export type InputFileAcceptExtension = (typeof INPUT_FILE_ACCEPT_EXTENSIONS)[number];
14
15
  export type UploadSingleFormValue = {
15
16
  originalFileName: string;
16
17
  friendlyFileName: string;
@@ -48,7 +49,11 @@ export declare class InputFileComponent {
48
49
  uploadFormat: 'formData' | 'base64';
49
50
  /** Criação de formulário: Single → `UploadSingleFormGroup` (use `createUploadSingleForm()`) · Multiple → `UploadMultipleFormArray` (use `createUploadMultipleForm()`). Se omitido, usa form interno. */
50
51
  control?: UploadSingleFormGroup | UploadMultipleFormArray;
51
- /** Extensões aceitas, ex: `['PDF', 'JPG']` (vira `accept=".pdf,.jpg"`). Array vazio = aceita qualquer tipo. */
52
+ /**
53
+ * Extensões aceitas, ex: `['PDF', 'JPG']` (vira `accept=".pdf,.jpg"`). Arquivos com outra extensão
54
+ * são bloqueados na seleção, com toast de aviso. Array vazio = aceita qualquer extensão
55
+ * de {@link INPUT_FILE_ACCEPT_EXTENSIONS}.
56
+ */
52
57
  acceptExtensions: InputFileAcceptExtension[];
53
58
  /** Tamanho máximo por arquivo em **MB** (ex: `5` = 5MB). `null` = sem limite. Convertido internamente pra bytes. */
54
59
  maxFileSize: number | null;
@@ -113,6 +118,11 @@ export declare class InputFileComponent {
113
118
  /** Bytes → MB. Usa 2 casas abaixo de 0.1MB para arquivos pequenos não virarem `0.0MB`. */
114
119
  private formatFileSizeMb;
115
120
  get acceptString(): string;
121
+ /**
122
+ * Extensões efetivamente aceitas: as configuradas em `acceptExtensions` ou, quando nada
123
+ * foi configurado, todas as que o componente suporta.
124
+ */
125
+ get allowedExtensions(): readonly InputFileAcceptExtension[];
116
126
  get maxFileSizeBytes(): number;
117
127
  /** Passado para o p-fileUpload — 1 em modo single, o input em modo multiple. */
118
128
  get effectiveFileLimit(): number;
@@ -137,6 +147,10 @@ export declare class InputFileComponent {
137
147
  get previewUrl(): string;
138
148
  get safePreviewUrl(): SafeResourceUrl;
139
149
  private triggerAttach;
150
+ private rejectDisallowedExtensions;
151
+ private notifyDisallowedExtensions;
152
+ private fileNameList;
153
+ private normalizedExtension;
140
154
  /** Descarta os arquivos que excedem `maxFileSize` e notifica o usuário. */
141
155
  private rejectOversizedFiles;
142
156
  private notifyOversizedFiles;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-vector-components",
3
- "version": "6.17.1",
3
+ "version": "6.18.0",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^19.2.0",
6
6
  "@angular/cdk": "^19.2.0",