@koobiq/components 18.20.0 → 18.21.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.
Files changed (103) hide show
  1. package/breadcrumbs/breadcrumbs-tokens.scss +1 -0
  2. package/breadcrumbs/breadcrumbs.d.ts +13 -2
  3. package/breadcrumbs/breadcrumbs.scss +72 -18
  4. package/button/button-tokens.scss +1 -1
  5. package/button/button.scss +2 -15
  6. package/checkbox/checkbox-tokens.scss +2 -0
  7. package/checkbox/checkbox.scss +4 -4
  8. package/core/formatters/date/formatter.d.ts +3 -2
  9. package/core/locales/locale-service.d.ts +5 -1
  10. package/core/styles/theming/scrollbar-tokens.scss +10 -4
  11. package/dropdown/dropdown.scss +20 -5
  12. package/esm2022/breadcrumbs/breadcrumbs.mjs +18 -7
  13. package/esm2022/button/button.component.mjs +2 -2
  14. package/esm2022/checkbox/checkbox.mjs +2 -2
  15. package/esm2022/core/formatters/date/formatter.mjs +13 -4
  16. package/esm2022/core/locales/en-US.mjs +29 -29
  17. package/esm2022/core/locales/es-LA.mjs +29 -29
  18. package/esm2022/core/locales/fa-IR.mjs +29 -29
  19. package/esm2022/core/locales/locale-service.mjs +38 -3
  20. package/esm2022/core/locales/pt-BR.mjs +29 -29
  21. package/esm2022/core/locales/tk-TM.mjs +29 -29
  22. package/esm2022/core/locales/zh-CN.mjs +29 -29
  23. package/esm2022/core/pop-up/pop-up-trigger.mjs +2 -2
  24. package/esm2022/core/version.mjs +2 -2
  25. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  26. package/esm2022/filter-bar/filter-bar.mjs +3 -3
  27. package/esm2022/filter-bar/pipes/pipe-date.mjs +37 -22
  28. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +38 -23
  29. package/esm2022/filter-bar/pipes/pipe-text.mjs +4 -4
  30. package/esm2022/form-field/form-field.mjs +2 -2
  31. package/esm2022/form-field/validate.directive.mjs +19 -9
  32. package/esm2022/input/input-number.mjs +2 -2
  33. package/esm2022/navbar/navbar-item.component.mjs +6 -9
  34. package/esm2022/overflow-items/overflow-items.mjs +24 -3
  35. package/esm2022/progress-spinner/progress-spinner.component.mjs +2 -2
  36. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  37. package/esm2022/select/select.component.mjs +3 -3
  38. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  39. package/esm2022/sidepanel/sidepanel-directives.mjs +16 -5
  40. package/esm2022/textarea/textarea.component.mjs +35 -9
  41. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  42. package/esm2022/top-bar/top-bar.mjs +2 -2
  43. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  44. package/fesm2022/koobiq-components-breadcrumbs.mjs +18 -7
  45. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  46. package/fesm2022/koobiq-components-button.mjs +2 -2
  47. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  48. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  49. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  50. package/fesm2022/koobiq-components-core.mjs +1012 -970
  51. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  52. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  53. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-filter-bar.mjs +78 -48
  55. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  56. package/fesm2022/koobiq-components-form-field.mjs +17 -8
  57. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-input.mjs +1 -1
  59. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-navbar.mjs +5 -8
  61. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  62. package/fesm2022/koobiq-components-overflow-items.mjs +24 -3
  63. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  64. package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
  65. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  66. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  67. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-select.mjs +2 -2
  69. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-sidepanel.mjs +17 -6
  71. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-textarea.mjs +34 -8
  73. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  75. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  77. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-tree-select.mjs +2 -2
  79. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  80. package/filter-bar/filter-bar.scss +1 -0
  81. package/filter-bar/pipes/pipe-date.d.ts +3 -1
  82. package/filter-bar/pipes/pipe-date.scss +7 -0
  83. package/filter-bar/pipes/pipe-datetime.d.ts +3 -1
  84. package/form-field/_form-field-theme.scss +7 -3
  85. package/form-field/validate.directive.d.ts +4 -2
  86. package/link/_link-theme.scss +6 -16
  87. package/navbar/navbar-item.component.d.ts +1 -2
  88. package/overflow-items/overflow-items.d.ts +17 -1
  89. package/package.json +5 -5
  90. package/prebuilt-themes/dark-theme.css +1 -1
  91. package/prebuilt-themes/light-theme.css +1 -1
  92. package/prebuilt-themes/theme.css +1 -1
  93. package/progress-spinner/progress-spinner.scss +10 -4
  94. package/schematics/ng-add/index.js +3 -3
  95. package/scrollbar/scrollbar-tokens.scss +10 -4
  96. package/select/_select-theme.scss +4 -1
  97. package/sidepanel/sidepanel-directives.d.ts +6 -1
  98. package/sidepanel/sidepanel.scss +9 -3
  99. package/textarea/textarea.component.d.ts +16 -3
  100. package/textarea/textarea.scss +4 -0
  101. package/top-bar/top-bar-tokens.scss +2 -2
  102. package/top-bar/top-bar.scss +1 -1
  103. package/tree-select/_tree-select-theme.scss +4 -1
@@ -6,10 +6,10 @@ import { DOCUMENT, CommonModule } from '@angular/common';
6
6
  import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
7
7
  import * as i1 from '@koobiq/date-adapter';
8
8
  import { DateAdapter as DateAdapter$1 } from '@koobiq/date-adapter';
9
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
9
10
  import { DateFormatter as DateFormatter$1 } from '@koobiq/date-formatter';
10
11
  import { BehaviorSubject, Subject, Subscription, pairwise } from 'rxjs';
11
12
  import * as i1$1 from '@angular/cdk/a11y';
12
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
13
13
  import { SPACE, ENTER, TAB, ESCAPE, HOME, END } from '@koobiq/cdk/keycodes';
14
14
  import { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';
15
15
  import { TooltipSizeArrowSize } from '@koobiq/design-tokens';
@@ -363,659 +363,268 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
363
363
  */
364
364
  const KBQ_FORM_FIELD_REF = new InjectionToken('KbqFormFieldRef');
365
365
 
366
- class DateFormatter extends DateFormatter$1 {
367
- constructor(adapter, locale) {
368
- super(adapter, locale);
369
- this.adapter = adapter;
366
+ const enUSLocaleData = {
367
+ select: { hiddenItemsText: '{{ number }} more' },
368
+ datepicker: {
369
+ placeholder: 'yyyy-mm-dd',
370
+ dateInput: 'yyyy-MM-dd'
371
+ },
372
+ timepicker: {
373
+ placeholder: {
374
+ full: 'hh:mm:ss',
375
+ short: 'hh:mm'
376
+ }
377
+ },
378
+ fileUpload: {
379
+ single: {
380
+ captionText: 'Drag file here or {{ browseLink }}',
381
+ browseLink: 'choose'
382
+ },
383
+ multiple: {
384
+ captionText: 'Drag here or {{ browseLink }}',
385
+ captionTextWhenSelected: 'Drag more files or {{ browseLink }}',
386
+ captionTextForCompactSize: 'Drag files or {{ browseLink }}',
387
+ browseLink: 'choose',
388
+ title: 'Upload files',
389
+ gridHeaders: {
390
+ file: 'File',
391
+ size: 'Size'
392
+ }
393
+ }
394
+ },
395
+ codeBlock: {
396
+ softWrapOnTooltip: 'Enable word wrap',
397
+ softWrapOffTooltip: 'Disable word wrap',
398
+ downloadTooltip: 'Download',
399
+ copiedTooltip: '✓ Copied',
400
+ copyTooltip: 'Copy',
401
+ viewAllText: 'Show all',
402
+ viewLessText: 'Show less',
403
+ openExternalSystemTooltip: 'Open in the external system'
404
+ },
405
+ timezone: {
406
+ searchPlaceholder: 'City or time zone'
407
+ },
408
+ actionsPanel: {
409
+ closeTooltip: 'Deselect'
410
+ },
411
+ filterBar: {
412
+ reset: {
413
+ buttonName: 'Reset'
414
+ },
415
+ search: {
416
+ tooltip: 'Search',
417
+ placeholder: 'Search'
418
+ },
419
+ filters: {
420
+ defaultName: 'Filters',
421
+ saveNewFilterTooltip: 'Save the new filter',
422
+ searchPlaceholder: 'Search',
423
+ searchEmptyResult: 'Nothing found',
424
+ saveAsNewFilter: 'Save as new filter',
425
+ saveChanges: 'Save changes',
426
+ saveAsNew: 'Save as new',
427
+ change: 'Edit',
428
+ resetChanges: 'Reset',
429
+ remove: 'Delete',
430
+ name: 'Name',
431
+ error: 'The search with such name already exists',
432
+ errorHint: 'Could not save the filter. Try again or contact the administrator.',
433
+ saveButton: 'Save',
434
+ cancelButton: 'Cancel'
435
+ },
436
+ add: {
437
+ tooltip: 'Add filter'
438
+ },
439
+ pipe: {
440
+ clearButtonTooltip: 'Clear',
441
+ removeButtonTooltip: 'Delete',
442
+ applyButton: 'Apply',
443
+ emptySearchResult: 'Nothing found'
444
+ },
445
+ datePipe: {
446
+ customPeriod: 'Custom period',
447
+ customPeriodFrom: 'from',
448
+ customPeriodTo: 'to',
449
+ customPeriodErrorHint: 'The period cannot start later than it ends',
450
+ backToPeriodSelection: 'Back to selecting the period'
451
+ }
370
452
  }
371
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DateFormatter, deps: [{ token: i1.DateAdapter }, { token: KBQ_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
372
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DateFormatter }); }
373
- }
374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DateFormatter, decorators: [{
375
- type: Injectable
376
- }], ctorParameters: () => [{ type: i1.DateAdapter }, { type: undefined, decorators: [{
377
- type: Inject,
378
- args: [KBQ_DATE_LOCALE]
379
- }] }] });
453
+ };
380
454
 
381
- class BaseFormatterPipe {
382
- constructor() {
383
- this.adapter = inject((DateAdapter));
384
- this.formatter = inject((DateFormatter));
385
- }
386
- }
387
- class AbsoluteDateFormatterPipe extends BaseFormatterPipe {
388
- transform(value, currYear) {
389
- const date = this.adapter.deserialize(value);
390
- return date ? this.formatter.absoluteLongDate(date, currYear) : '';
391
- }
392
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
393
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, isStandalone: true, name: "absoluteLongDate" }); }
394
- }
395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, decorators: [{
396
- type: Pipe,
397
- args: [{
398
- standalone: true,
399
- name: 'absoluteLongDate'
400
- }]
401
- }] });
402
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
403
- class AbsoluteDateFormatterImpurePipe extends AbsoluteDateFormatterPipe {
404
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
405
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateImpurePipe", pure: false }); }
406
- }
407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, decorators: [{
408
- type: Pipe,
409
- args: [{
410
- standalone: true,
411
- name: 'absoluteLongDateImpurePipe',
412
- pure: false
413
- }]
414
- }] });
415
- class AbsoluteDateTimeFormatterPipe extends BaseFormatterPipe {
416
- transform(value, options) {
417
- const date = this.adapter.deserialize(value);
418
- return date ? this.formatter.absoluteLongDateTime(date, options) : '';
455
+ const esLALocaleData = {
456
+ select: { hiddenItemsText: '{{ number }} más' },
457
+ datepicker: {
458
+ placeholder: 'dd/mm/aaaa'
459
+ },
460
+ timepicker: {
461
+ placeholder: {
462
+ full: 'hh:mm:ss',
463
+ short: 'hh:mm'
464
+ }
465
+ },
466
+ fileUpload: {
467
+ single: {
468
+ captionText: 'Arrastre el archivo aquí o {{ browseLink }}',
469
+ browseLink: 'elija'
470
+ },
471
+ multiple: {
472
+ captionText: 'Arrastre aquí o {{ browseLink }}',
473
+ captionTextWhenSelected: 'Arrastre más archivos aquí o {{ browseLink }}',
474
+ captionTextForCompactSize: 'Arrastre archivos o {{ browseLink }}',
475
+ browseLink: 'elija',
476
+ title: 'Cargue los archivos',
477
+ gridHeaders: {
478
+ file: 'Archivo',
479
+ size: 'Tamaño'
480
+ }
481
+ }
482
+ },
483
+ codeBlock: {
484
+ softWrapOnTooltip: 'Activar el ajuste de texto',
485
+ softWrapOffTooltip: 'Desactivar el ajuste de texto',
486
+ downloadTooltip: 'Descargar',
487
+ copiedTooltip: '✓ Copiado',
488
+ copyTooltip: 'Copiar',
489
+ viewAllText: 'Mostrar todo',
490
+ viewLessText: 'Mostrar menos',
491
+ openExternalSystemTooltip: 'Abrir en el sistema externo'
492
+ },
493
+ timezone: {
494
+ searchPlaceholder: 'Ciudad o zona horaria'
495
+ },
496
+ actionsPanel: {
497
+ closeTooltip: 'Desmarque'
498
+ },
499
+ filterBar: {
500
+ reset: {
501
+ buttonName: 'Reiniciar'
502
+ },
503
+ search: {
504
+ tooltip: 'Búsqueda',
505
+ placeholder: 'Búsqueda'
506
+ },
507
+ filters: {
508
+ defaultName: 'Filtros',
509
+ saveNewFilterTooltip: 'Guardar el nuevo filtro',
510
+ searchPlaceholder: 'Búsqueda',
511
+ searchEmptyResult: 'No se encontró nada',
512
+ saveAsNewFilter: 'Guardar como nuevo filtro',
513
+ saveChanges: 'Guardar los cambios',
514
+ saveAsNew: 'Guardar como nuevo',
515
+ change: 'Editar',
516
+ resetChanges: 'Reiniciar',
517
+ remove: 'Eliminar',
518
+ name: 'Nombre',
519
+ error: 'La búsqueda con ese nombre ya existe',
520
+ errorHint: 'No se pudo guardar el filtro. Intente de nuevo o póngase en contacto con el administrador.',
521
+ saveButton: 'Guardar',
522
+ cancelButton: 'Cancelar'
523
+ },
524
+ add: {
525
+ tooltip: 'Agregar filtro'
526
+ },
527
+ pipe: {
528
+ clearButtonTooltip: 'Borrar',
529
+ removeButtonTooltip: 'Eliminar',
530
+ applyButton: 'Aplicar',
531
+ emptySearchResult: 'No se encontró nada'
532
+ },
533
+ datePipe: {
534
+ customPeriod: 'Período personalizado',
535
+ customPeriodFrom: 'desde',
536
+ customPeriodTo: 'hasta',
537
+ customPeriodErrorHint: 'El período no puede empezar más tarde de lo que termina',
538
+ backToPeriodSelection: 'Volver a la selección del período'
539
+ }
419
540
  }
420
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
421
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, isStandalone: true, name: "absoluteLongDateTime" }); }
422
- }
423
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, decorators: [{
424
- type: Pipe,
425
- args: [{
426
- standalone: true,
427
- name: 'absoluteLongDateTime'
428
- }]
429
- }] });
430
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
431
- class AbsoluteDateTimeFormatterImpurePipe extends AbsoluteDateTimeFormatterPipe {
432
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
433
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateTimeImpurePipe", pure: false }); }
434
- }
435
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, decorators: [{
436
- type: Pipe,
437
- args: [{
438
- standalone: true,
439
- name: 'absoluteLongDateTimeImpurePipe',
440
- pure: false
441
- }]
442
- }] });
443
- class AbsoluteDateShortFormatterPipe extends BaseFormatterPipe {
444
- transform(value, currYear) {
445
- const date = this.adapter.deserialize(value);
446
- return date ? this.formatter.absoluteShortDate(date, currYear) : '';
447
- }
448
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
449
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, isStandalone: true, name: "absoluteShortDate" }); }
450
- }
451
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, decorators: [{
452
- type: Pipe,
453
- args: [{
454
- standalone: true,
455
- name: 'absoluteShortDate'
456
- }]
457
- }] });
458
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
459
- class AbsoluteDateShortFormatterImpurePipe extends AbsoluteDateShortFormatterPipe {
460
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
461
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateImpurePipe", pure: false }); }
462
- }
463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, decorators: [{
464
- type: Pipe,
465
- args: [{
466
- standalone: true,
467
- name: 'absoluteShortDateImpurePipe',
468
- pure: false
469
- }]
470
- }] });
471
- class AbsoluteShortDateTimeFormatterPipe extends BaseFormatterPipe {
472
- transform(value, options) {
473
- const date = this.adapter.deserialize(value);
474
- return date ? this.formatter.absoluteShortDateTime(date, options) : '';
475
- }
476
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
477
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, isStandalone: true, name: "absoluteShortDateTime" }); }
478
- }
479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, decorators: [{
480
- type: Pipe,
481
- args: [{
482
- standalone: true,
483
- name: 'absoluteShortDateTime'
484
- }]
485
- }] });
486
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
487
- class AbsoluteShortDateTimeFormatterImpurePipe extends AbsoluteShortDateTimeFormatterPipe {
488
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
489
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateTimeImpurePipe", pure: false }); }
490
- }
491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, decorators: [{
492
- type: Pipe,
493
- args: [{
494
- standalone: true,
495
- name: 'absoluteShortDateTimeImpurePipe',
496
- pure: false
497
- }]
498
- }] });
499
- class RelativeDateFormatterPipe extends BaseFormatterPipe {
500
- transform(value) {
501
- const date = this.adapter.deserialize(value);
502
- return date ? this.formatter.relativeLongDate(date) : '';
503
- }
504
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
505
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, isStandalone: true, name: "relativeLongDate" }); }
506
- }
507
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, decorators: [{
508
- type: Pipe,
509
- args: [{
510
- standalone: true,
511
- name: 'relativeLongDate'
512
- }]
513
- }] });
514
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
515
- class RelativeDateFormatterImpurePipe extends RelativeDateFormatterPipe {
516
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
517
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterImpurePipe, isStandalone: true, name: "relativeLongDateImpurePipe", pure: false }); }
518
- }
519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterImpurePipe, decorators: [{
520
- type: Pipe,
521
- args: [{
522
- standalone: true,
523
- name: 'relativeLongDateImpurePipe',
524
- pure: false
525
- }]
526
- }] });
527
- class RelativeDateTimeFormatterPipe extends BaseFormatterPipe {
528
- transform(value, options) {
529
- const date = this.adapter.deserialize(value);
530
- return date ? this.formatter.relativeLongDateTime(date, options) : '';
531
- }
532
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
533
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, isStandalone: true, name: "relativeLongDateTime" }); }
534
- }
535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, decorators: [{
536
- type: Pipe,
537
- args: [{
538
- standalone: true,
539
- name: 'relativeLongDateTime'
540
- }]
541
- }] });
542
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
543
- class RelativeDateTimeFormatterImpurePipe extends RelativeDateTimeFormatterPipe {
544
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
545
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeLongDateTimeImpurePipe", pure: false }); }
546
- }
547
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, decorators: [{
548
- type: Pipe,
549
- args: [{
550
- standalone: true,
551
- name: 'relativeLongDateTimeImpurePipe',
552
- pure: false
553
- }]
554
- }] });
555
- class RelativeShortDateFormatterPipe extends BaseFormatterPipe {
556
- transform(value) {
557
- const date = this.adapter.deserialize(value);
558
- return date ? this.formatter.relativeShortDate(date) : '';
559
- }
560
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
561
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, isStandalone: true, name: "relativeShortDate" }); }
562
- }
563
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, decorators: [{
564
- type: Pipe,
565
- args: [{
566
- standalone: true,
567
- name: 'relativeShortDate'
568
- }]
569
- }] });
570
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
571
- class RelativeShortDateFormatterImpurePipe extends RelativeShortDateFormatterPipe {
572
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
573
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, isStandalone: true, name: "relativeShortDateImpurePipe", pure: false }); }
574
- }
575
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, decorators: [{
576
- type: Pipe,
577
- args: [{
578
- standalone: true,
579
- name: 'relativeShortDateImpurePipe',
580
- pure: false
581
- }]
582
- }] });
583
- class RelativeShortDateTimeFormatterPipe extends BaseFormatterPipe {
584
- transform(value, options) {
585
- const date = this.adapter.deserialize(value);
586
- return date ? this.formatter.relativeShortDateTime(date, options) : '';
587
- }
588
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
589
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, isStandalone: true, name: "relativeShortDateTime" }); }
590
- }
591
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, decorators: [{
592
- type: Pipe,
593
- args: [{
594
- standalone: true,
595
- name: 'relativeShortDateTime'
596
- }]
597
- }] });
598
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
599
- class RelativeShortDateTimeFormatterImpurePipe extends RelativeShortDateTimeFormatterPipe {
600
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
601
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeShortDateTimeImpurePipe", pure: false }); }
602
- }
603
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, decorators: [{
604
- type: Pipe,
605
- args: [{
606
- standalone: true,
607
- name: 'relativeShortDateTimeImpurePipe',
608
- pure: false
609
- }]
610
- }] });
611
- class RangeDateFormatterPipe extends BaseFormatterPipe {
612
- transform([value1, value2]) {
613
- const date1 = this.adapter.deserialize(value1);
614
- const date2 = this.adapter.deserialize(value2);
615
- return this.formatter.rangeLongDate(date1, date2);
616
- }
617
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
618
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, isStandalone: true, name: "rangeLongDate" }); }
619
- }
620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, decorators: [{
621
- type: Pipe,
622
- args: [{
623
- standalone: true,
624
- name: 'rangeLongDate'
625
- }]
626
- }] });
627
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
628
- class RangeDateFormatterImpurePipe extends RangeDateFormatterPipe {
629
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
630
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterImpurePipe, isStandalone: true, name: "rangeLongDateImpurePipe", pure: false }); }
631
- }
632
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterImpurePipe, decorators: [{
633
- type: Pipe,
634
- args: [{
635
- standalone: true,
636
- name: 'rangeLongDateImpurePipe',
637
- pure: false
638
- }]
639
- }] });
640
- class RangeShortDateFormatterPipe extends BaseFormatterPipe {
641
- transform([value1, value2]) {
642
- const date1 = this.adapter.deserialize(value1);
643
- const date2 = this.adapter.deserialize(value2);
644
- return this.formatter.rangeShortDate(date1, date2);
645
- }
646
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
647
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, isStandalone: true, name: "rangeShortDate" }); }
648
- }
649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, decorators: [{
650
- type: Pipe,
651
- args: [{
652
- standalone: true,
653
- name: 'rangeShortDate'
654
- }]
655
- }] });
656
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
657
- class RangeShortDateFormatterImpurePipe extends RangeShortDateFormatterPipe {
658
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
659
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterImpurePipe, isStandalone: true, name: "rangeShortDateImpurePipe", pure: false }); }
660
- }
661
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterImpurePipe, decorators: [{
662
- type: Pipe,
663
- args: [{
664
- standalone: true,
665
- name: 'rangeShortDateImpurePipe',
666
- pure: false
667
- }]
668
- }] });
669
- class RangeDateTimeFormatterPipe extends BaseFormatterPipe {
670
- transform([value1, value2], options) {
671
- const date1 = this.adapter.deserialize(value1);
672
- const date2 = this.adapter.deserialize(value2);
673
- return this.formatter.rangeLongDateTime(date1, date2, options);
674
- }
675
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
676
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, isStandalone: true, name: "rangeLongDateTime" }); }
677
- }
678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, decorators: [{
679
- type: Pipe,
680
- args: [{
681
- standalone: true,
682
- name: 'rangeLongDateTime'
683
- }]
684
- }] });
685
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
686
- class RangeDateTimeFormatterImpurePipe extends RangeDateTimeFormatterPipe {
687
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
688
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeLongDateTimeImpurePipe", pure: false }); }
689
- }
690
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, decorators: [{
691
- type: Pipe,
692
- args: [{
693
- standalone: true,
694
- name: 'rangeLongDateTimeImpurePipe',
695
- pure: false
696
- }]
697
- }] });
698
- class RangeMiddleDateTimeFormatterPipe extends BaseFormatterPipe {
699
- transform([value1, value2], options) {
700
- const date1 = this.adapter.deserialize(value1);
701
- const date2 = this.adapter.deserialize(value2);
702
- return this.formatter.rangeMiddleDateTime(date1, date2, options);
703
- }
704
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
705
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, isStandalone: true, name: "rangeMiddleDateTime" }); }
706
- }
707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, decorators: [{
708
- type: Pipe,
709
- args: [{
710
- standalone: true,
711
- name: 'rangeMiddleDateTime'
712
- }]
713
- }] });
714
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
715
- class RangeMiddleDateTimeFormatterImpurePipe extends RangeMiddleDateTimeFormatterPipe {
716
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
717
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeMiddleDateTimeImpurePipe", pure: false }); }
718
- }
719
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, decorators: [{
720
- type: Pipe,
721
- args: [{
722
- standalone: true,
723
- name: 'rangeMiddleDateTimeImpurePipe',
724
- pure: false
725
- }]
726
- }] });
727
- class RangeShortDateTimeFormatterPipe extends BaseFormatterPipe {
728
- transform([value1, value2], options) {
729
- const date1 = this.adapter.deserialize(value1);
730
- const date2 = this.adapter.deserialize(value2);
731
- return this.formatter.rangeShortDateTime(date1, date2, options);
732
- }
733
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
734
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, isStandalone: true, name: "rangeShortDateTime" }); }
735
- }
736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, decorators: [{
737
- type: Pipe,
738
- args: [{
739
- standalone: true,
740
- name: 'rangeShortDateTime'
741
- }]
742
- }] });
743
- // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
744
- class RangeShortDateTimeFormatterImpurePipe extends RangeShortDateTimeFormatterPipe {
745
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
746
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeShortDateTimeImpurePipe", pure: false }); }
747
- }
748
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, decorators: [{
749
- type: Pipe,
750
- args: [{
751
- standalone: true,
752
- name: 'rangeShortDateTimeImpurePipe',
753
- pure: false
754
- }]
755
- }] });
756
-
757
- const enUSLocaleData = {
758
- select: { hiddenItemsText: '{{ number }} more' },
759
- datepicker: {
760
- placeholder: 'yyyy-mm-dd',
761
- dateInput: 'yyyy-MM-dd'
762
- },
763
- timepicker: {
764
- placeholder: {
765
- full: 'hh:mm:ss',
766
- short: 'hh:mm'
767
- }
768
- },
769
- fileUpload: {
770
- single: {
771
- captionText: 'Drag file here or {{ browseLink }}',
772
- browseLink: 'choose'
773
- },
774
- multiple: {
775
- captionText: 'Drag here or {{ browseLink }}',
776
- captionTextWhenSelected: 'Drag more files or {{ browseLink }}',
777
- captionTextForCompactSize: 'Drag files or {{ browseLink }}',
778
- browseLink: 'choose',
779
- title: 'Upload files',
780
- gridHeaders: {
781
- file: 'File',
782
- size: 'Size'
783
- }
784
- }
785
- },
786
- codeBlock: {
787
- softWrapOnTooltip: 'Enable word wrap',
788
- softWrapOffTooltip: 'Disable word wrap',
789
- downloadTooltip: 'Download',
790
- copiedTooltip: '✓ Copied',
791
- copyTooltip: 'Copy',
792
- viewAllText: 'Show all',
793
- viewLessText: 'Show less',
794
- openExternalSystemTooltip: 'Open in the external system'
795
- },
796
- timezone: {
797
- searchPlaceholder: 'City or time zone'
798
- },
799
- actionsPanel: {
800
- closeTooltip: 'Deselect'
801
- },
802
- filterBar: {
803
- reset: {
804
- buttonName: 'Сбросить'
805
- },
806
- search: {
807
- tooltip: 'Поиск',
808
- placeholder: 'Поиск'
809
- },
810
- filters: {
811
- defaultName: 'Фильтры',
812
- saveNewFilterTooltip: 'Сохранить новый фильтр',
813
- searchPlaceholder: 'Поиск',
814
- searchEmptyResult: 'Ничего не найдено',
815
- saveAsNewFilter: 'Сохранить как новый фильтр',
816
- saveChanges: 'Сохранить изменения',
817
- saveAsNew: 'Сохранить как новый',
818
- change: 'Изменить',
819
- resetChanges: 'Сбросить изменения',
820
- remove: 'Удалить',
821
- name: 'Название',
822
- error: 'Поиск с таким названием уже существует',
823
- errorHint: 'Не удалось сохранить фильтр. Попробуйте снова или сообщите администратору.',
824
- saveButton: 'Сохранить',
825
- cancelButton: 'Отмена'
826
- },
827
- add: {
828
- tooltip: 'Добавить фильтр'
829
- },
830
- pipe: {
831
- clearButtonTooltip: 'Очистить',
832
- removeButtonTooltip: 'Удалить',
833
- applyButton: 'Применить',
834
- emptySearchResult: 'Ничего не найдено'
835
- },
836
- datePipe: {
837
- customPeriod: 'Произвольный период',
838
- customPeriodFrom: 'с',
839
- customPeriodTo: 'по',
840
- customPeriodErrorHint: 'Начало периода не может быть позже окончания',
841
- backToPeriodSelection: 'Назад к выбору периода'
842
- }
843
- }
844
- };
845
-
846
- const esLALocaleData = {
847
- select: { hiddenItemsText: '{{ number }} más' },
848
- datepicker: {
849
- placeholder: 'dd/mm/aaaa'
850
- },
851
- timepicker: {
852
- placeholder: {
853
- full: 'hh:mm:ss',
854
- short: 'hh:mm'
855
- }
856
- },
857
- fileUpload: {
858
- single: {
859
- captionText: 'Arrastre el archivo aquí o {{ browseLink }}',
860
- browseLink: 'elija'
861
- },
862
- multiple: {
863
- captionText: 'Arrastre aquí o {{ browseLink }}',
864
- captionTextWhenSelected: 'Arrastre más archivos aquí o {{ browseLink }}',
865
- captionTextForCompactSize: 'Arrastre archivos o {{ browseLink }}',
866
- browseLink: 'elija',
867
- title: 'Cargue los archivos',
868
- gridHeaders: {
869
- file: 'Archivo',
870
- size: 'Tamaño'
871
- }
872
- }
873
- },
874
- codeBlock: {
875
- softWrapOnTooltip: 'Activar el ajuste de texto',
876
- softWrapOffTooltip: 'Desactivar el ajuste de texto',
877
- downloadTooltip: 'Descargar',
878
- copiedTooltip: '✓ Copiado',
879
- copyTooltip: 'Copiar',
880
- viewAllText: 'Mostrar todo',
881
- viewLessText: 'Mostrar menos',
882
- openExternalSystemTooltip: 'Abrir en el sistema externo'
883
- },
884
- timezone: {
885
- searchPlaceholder: 'Ciudad o zona horaria'
886
- },
887
- actionsPanel: {
888
- closeTooltip: 'Desmarque'
889
- },
890
- filterBar: {
891
- reset: {
892
- buttonName: 'Сбросить'
893
- },
894
- search: {
895
- tooltip: 'Поиск',
896
- placeholder: 'Поиск'
897
- },
898
- filters: {
899
- defaultName: 'Фильтры',
900
- saveNewFilterTooltip: 'Сохранить новый фильтр',
901
- searchPlaceholder: 'Поиск',
902
- searchEmptyResult: 'Ничего не найдено',
903
- saveAsNewFilter: 'Сохранить как новый фильтр',
904
- saveChanges: 'Сохранить изменения',
905
- saveAsNew: 'Сохранить как новый',
906
- change: 'Изменить',
907
- resetChanges: 'Сбросить изменения',
908
- remove: 'Удалить',
909
- name: 'Название',
910
- error: 'Поиск с таким названием уже существует',
911
- errorHint: 'Не удалось сохранить фильтр. Попробуйте снова или сообщите администратору.',
912
- saveButton: 'Сохранить',
913
- cancelButton: 'Отмена'
914
- },
915
- add: {
916
- tooltip: 'Добавить фильтр'
917
- },
918
- pipe: {
919
- clearButtonTooltip: 'Очистить',
920
- removeButtonTooltip: 'Удалить',
921
- applyButton: 'Применить',
922
- emptySearchResult: 'Ничего не найдено'
923
- },
924
- datePipe: {
925
- customPeriod: 'Произвольный период',
926
- customPeriodFrom: 'с',
927
- customPeriodTo: 'по',
928
- customPeriodErrorHint: 'Начало периода не может быть позже окончания',
929
- backToPeriodSelection: 'Назад к выбору периода'
930
- }
931
- }
932
- };
933
-
934
- const faIRLocaleData = {
935
- select: { hiddenItemsText: '{{ number }} بیشتر' },
936
- datepicker: {
937
- placeholder: 'روز/ ماه/سال'
938
- },
939
- timepicker: {
940
- placeholder: {
941
- full: 'ثانیه:دقیقه:ساعت',
942
- short: 'دقیقه:ساعت'
943
- }
944
- },
945
- fileUpload: {
946
- single: {
947
- captionText: 'فایل را به اینجا بکشید یا {{ browseLink }}',
948
- browseLink: 'انتخاب کنید'
949
- },
950
- multiple: {
951
- captionText: 'به اینجا بکشید یا {{ browseLink }}',
952
- captionTextWhenSelected: 'فایل های بیشتری را بکشید یا {{ browseLink }}',
953
- captionTextForCompactSize: 'فایل ها را بکشید یا {{ browseLink }}',
954
- browseLink: 'انتخاب کنید',
955
- title: 'فایل ها را آپلود کنید',
956
- gridHeaders: {
957
- file: 'فایل',
958
- size: 'اندازه'
959
- }
960
- }
961
- },
962
- codeBlock: {
963
- softWrapOnTooltip: 'فعال‌سازی سطربندی',
964
- softWrapOffTooltip: 'غیرفعال‌سازی سطربندی',
965
- downloadTooltip: 'دانلود',
966
- copiedTooltip: '✓ کپی شد',
967
- copyTooltip: 'کپی',
968
- viewAllText: 'نمایش همه',
969
- viewLessText: 'نمایش کمتر',
970
- openExternalSystemTooltip: 'باز کردن در سیستم خارجی'
971
- },
972
- timezone: {
973
- searchPlaceholder: ' شهر یا منطقه زمانی '
974
- },
975
- actionsPanel: {
976
- closeTooltip: 'إلغاء التحديد'
977
- },
978
- filterBar: {
979
- reset: {
980
- buttonName: 'Сбросить'
981
- },
982
- search: {
983
- tooltip: 'Поиск',
984
- placeholder: 'Поиск'
985
- },
986
- filters: {
987
- defaultName: 'Фильтры',
988
- saveNewFilterTooltip: 'Сохранить новый фильтр',
989
- searchPlaceholder: 'Поиск',
990
- searchEmptyResult: 'Ничего не найдено',
991
- saveAsNewFilter: 'Сохранить как новый фильтр',
992
- saveChanges: 'Сохранить изменения',
993
- saveAsNew: 'Сохранить как новый',
994
- change: 'Изменить',
995
- resetChanges: 'Сбросить изменения',
996
- remove: 'Удалить',
997
- name: 'Название',
998
- error: 'Поиск с таким названием уже существует',
999
- errorHint: 'Не удалось сохранить фильтр. Попробуйте снова или сообщите администратору.',
1000
- saveButton: 'Сохранить',
1001
- cancelButton: 'Отмена'
1002
- },
1003
- add: {
1004
- tooltip: 'Добавить фильтр'
1005
- },
1006
- pipe: {
1007
- clearButtonTooltip: 'Очистить',
1008
- removeButtonTooltip: 'Удалить',
1009
- applyButton: 'Применить',
1010
- emptySearchResult: 'Ничего не найдено'
1011
- },
1012
- datePipe: {
1013
- customPeriod: 'Произвольный период',
1014
- customPeriodFrom: 'с',
1015
- customPeriodTo: 'по',
1016
- customPeriodErrorHint: 'Начало периода не может быть позже окончания',
1017
- backToPeriodSelection: 'Назад к выбору периода'
1018
- }
541
+ };
542
+
543
+ const faIRLocaleData = {
544
+ select: { hiddenItemsText: '{{ number }} بیشتر' },
545
+ datepicker: {
546
+ placeholder: 'روز/ ماه/سال'
547
+ },
548
+ timepicker: {
549
+ placeholder: {
550
+ full: 'ثانیه:دقیقه:ساعت',
551
+ short: 'دقیقه:ساعت'
552
+ }
553
+ },
554
+ fileUpload: {
555
+ single: {
556
+ captionText: 'فایل را به اینجا بکشید یا {{ browseLink }}',
557
+ browseLink: 'انتخاب کنید'
558
+ },
559
+ multiple: {
560
+ captionText: 'به اینجا بکشید یا {{ browseLink }}',
561
+ captionTextWhenSelected: 'فایل های بیشتری را بکشید یا {{ browseLink }}',
562
+ captionTextForCompactSize: 'فایل ها را بکشید یا {{ browseLink }}',
563
+ browseLink: 'انتخاب کنید',
564
+ title: 'فایل ها را آپلود کنید',
565
+ gridHeaders: {
566
+ file: 'فایل',
567
+ size: 'اندازه'
568
+ }
569
+ }
570
+ },
571
+ codeBlock: {
572
+ softWrapOnTooltip: 'فعال‌سازی سطربندی',
573
+ softWrapOffTooltip: 'غیرفعال‌سازی سطربندی',
574
+ downloadTooltip: 'دانلود',
575
+ copiedTooltip: '✓ کپی شد',
576
+ copyTooltip: 'کپی',
577
+ viewAllText: 'نمایش همه',
578
+ viewLessText: 'نمایش کمتر',
579
+ openExternalSystemTooltip: 'باز کردن در سیستم خارجی'
580
+ },
581
+ timezone: {
582
+ searchPlaceholder: ' شهر یا منطقه زمانی '
583
+ },
584
+ actionsPanel: {
585
+ closeTooltip: 'إلغاء التحديد'
586
+ },
587
+ filterBar: {
588
+ reset: {
589
+ buttonName: 'بازنشانی'
590
+ },
591
+ search: {
592
+ tooltip: 'جستجو',
593
+ placeholder: 'جستجو'
594
+ },
595
+ filters: {
596
+ defaultName: 'فیلترها',
597
+ saveNewFilterTooltip: 'ذخیره فیلتر جدید',
598
+ searchPlaceholder: 'جستجو',
599
+ searchEmptyResult: 'چیزی پیدا نشد',
600
+ saveAsNewFilter: 'ذخیره به‌عنوان فیلتر جدید',
601
+ saveChanges: 'ذخیره تغییرات',
602
+ saveAsNew: 'ذخیره به‌عنوان مورد جدید',
603
+ change: 'ویرایش',
604
+ resetChanges: 'بازنشانی',
605
+ remove: 'حذف',
606
+ name: 'نام',
607
+ error: 'جستجویی با این نام از قبل وجود دارد',
608
+ errorHint: 'فیلتر ذخیره نشد. دوباره امتحان کنید یا با سرپرست تماس بگیرید.',
609
+ saveButton: 'ذخیره',
610
+ cancelButton: 'لغو'
611
+ },
612
+ add: {
613
+ tooltip: 'افزودن فیلتر'
614
+ },
615
+ pipe: {
616
+ clearButtonTooltip: 'پاک کردن',
617
+ removeButtonTooltip: 'حذف',
618
+ applyButton: 'اعمال',
619
+ emptySearchResult: 'چیزی پیدا نشد'
620
+ },
621
+ datePipe: {
622
+ customPeriod: 'دوره سفارشی',
623
+ customPeriodFrom: 'از',
624
+ customPeriodTo: 'تا',
625
+ customPeriodErrorHint: 'دوره نمی‌تواند بعد از پایان آن شروع شود',
626
+ backToPeriodSelection: 'بازگشت به انتخاب دوره'
627
+ }
1019
628
  }
1020
629
  };
1021
630
 
@@ -1065,44 +674,44 @@ const ptBRLocaleData = {
1065
674
  },
1066
675
  filterBar: {
1067
676
  reset: {
1068
- buttonName: 'Сбросить'
677
+ buttonName: 'Redefinir'
1069
678
  },
1070
679
  search: {
1071
- tooltip: 'Поиск',
1072
- placeholder: 'Поиск'
680
+ tooltip: 'Pesquisar',
681
+ placeholder: 'Pesquisar'
1073
682
  },
1074
683
  filters: {
1075
- defaultName: 'Фильтры',
1076
- saveNewFilterTooltip: 'Сохранить новый фильтр',
1077
- searchPlaceholder: 'Поиск',
1078
- searchEmptyResult: 'Ничего не найдено',
1079
- saveAsNewFilter: 'Сохранить как новый фильтр',
1080
- saveChanges: 'Сохранить изменения',
1081
- saveAsNew: 'Сохранить как новый',
1082
- change: 'Изменить',
1083
- resetChanges: 'Сбросить изменения',
1084
- remove: 'Удалить',
1085
- name: 'Название',
1086
- error: 'Поиск с таким названием уже существует',
1087
- errorHint: 'Не удалось сохранить фильтр. Попробуйте снова или сообщите администратору.',
1088
- saveButton: 'Сохранить',
1089
- cancelButton: 'Отмена'
684
+ defaultName: 'Filtros',
685
+ saveNewFilterTooltip: 'Salvar o novo filtro',
686
+ searchPlaceholder: 'Pesquisar',
687
+ searchEmptyResult: 'Nada encontrado',
688
+ saveAsNewFilter: 'Salvar como novo filtro',
689
+ saveChanges: 'Salvar alterações',
690
+ saveAsNew: 'Salvar como novo',
691
+ change: 'Editar',
692
+ resetChanges: 'Redefinir',
693
+ remove: 'Excluir',
694
+ name: 'Nome',
695
+ error: ' existe uma pesquisa com este nome',
696
+ errorHint: 'Não foi possível salvar o filtro. Tente novamente ou entre em contato com o administrador.',
697
+ saveButton: 'Salvar',
698
+ cancelButton: 'Cancelar'
1090
699
  },
1091
700
  add: {
1092
- tooltip: 'Добавить фильтр'
701
+ tooltip: 'Adicionar filtro'
1093
702
  },
1094
703
  pipe: {
1095
- clearButtonTooltip: 'Очистить',
1096
- removeButtonTooltip: 'Удалить',
1097
- applyButton: 'Применить',
1098
- emptySearchResult: 'Ничего не найдено'
704
+ clearButtonTooltip: 'Apagar',
705
+ removeButtonTooltip: 'Excluir',
706
+ applyButton: 'Aplicar',
707
+ emptySearchResult: 'Nada encontrado'
1099
708
  },
1100
709
  datePipe: {
1101
- customPeriod: 'Произвольный период',
1102
- customPeriodFrom: 'с',
1103
- customPeriodTo: 'по',
1104
- customPeriodErrorHint: 'Начало периода не может быть позже окончания',
1105
- backToPeriodSelection: 'Назад к выбору периода'
710
+ customPeriod: 'Período personalizado',
711
+ customPeriodFrom: 'de',
712
+ customPeriodTo: 'até',
713
+ customPeriodErrorHint: 'O início do período não pode ser posterior ao término do período',
714
+ backToPeriodSelection: 'Retornar à seleção do período'
1106
715
  }
1107
716
  }
1108
717
  };
@@ -1243,44 +852,44 @@ const tkTMLocaleData = {
1243
852
  },
1244
853
  filterBar: {
1245
854
  reset: {
1246
- buttonName: 'Сбросить'
855
+ buttonName: 'Täzeden sazlamak'
1247
856
  },
1248
857
  search: {
1249
- tooltip: 'Поиск',
1250
- placeholder: 'Поиск'
858
+ tooltip: 'Gözleg',
859
+ placeholder: 'Gözleg'
1251
860
  },
1252
861
  filters: {
1253
- defaultName: 'Фильтры',
1254
- saveNewFilterTooltip: 'Сохранить новый фильтр',
1255
- searchPlaceholder: 'Поиск',
1256
- searchEmptyResult: 'Ничего не найдено',
1257
- saveAsNewFilter: 'Сохранить как новый фильтр',
1258
- saveChanges: 'Сохранить изменения',
1259
- saveAsNew: 'Сохранить как новый',
1260
- change: 'Изменить',
1261
- resetChanges: 'Сбросить изменения',
1262
- remove: 'Удалить',
1263
- name: 'Название',
1264
- error: 'Поиск с таким названием уже существует',
1265
- errorHint: 'Не удалось сохранить фильтр. Попробуйте снова или сообщите администратору.',
1266
- saveButton: 'Сохранить',
1267
- cancelButton: 'Отмена'
862
+ defaultName: 'Filtrler',
863
+ saveNewFilterTooltip: 'Täze filtri ýatda saklamak',
864
+ searchPlaceholder: 'Gözleg',
865
+ searchEmptyResult: 'Hiç zat tapylmady',
866
+ saveAsNewFilter: 'Täze filtr hökmünde ýatda saklamak',
867
+ saveChanges: 'Üýtgetmeleri ýatda saklamak',
868
+ saveAsNew: 'Täze hökmünde ýatda saklamak',
869
+ change: 'Üýtgetmek',
870
+ resetChanges: 'Üýtgetmeleri täzeden sazlamak',
871
+ remove: 'Pozmak',
872
+ name: 'Ady',
873
+ error: 'Beýle atly gözleg eýýäm bar',
874
+ errorHint: 'Filtri ýatda sakladyp bolmady. Täzeden synanyşyň ýa-da administratora habar beriň.',
875
+ saveButton: 'Ýatda saklamak',
876
+ cancelButton: 'Ýatyrmak'
1268
877
  },
1269
878
  add: {
1270
- tooltip: 'Добавить фильтр'
879
+ tooltip: 'Filtr goşmak'
1271
880
  },
1272
881
  pipe: {
1273
- clearButtonTooltip: 'Очистить',
1274
- removeButtonTooltip: 'Удалить',
1275
- applyButton: 'Применить',
1276
- emptySearchResult: 'Ничего не найдено'
882
+ clearButtonTooltip: 'Arassalamak',
883
+ removeButtonTooltip: 'Pozmak',
884
+ applyButton: 'Ulanmak',
885
+ emptySearchResult: 'Hiç zat tapylmady'
1277
886
  },
1278
887
  datePipe: {
1279
- customPeriod: 'Произвольный период',
1280
- customPeriodFrom: 'с',
1281
- customPeriodTo: 'по',
1282
- customPeriodErrorHint: 'Начало периода не может быть позже окончания',
1283
- backToPeriodSelection: 'Назад к выбору периода'
888
+ customPeriod: 'Erkin döwür',
889
+ customPeriodFrom: 'şundan',
890
+ customPeriodTo: 'şuňa',
891
+ customPeriodErrorHint: 'Döwrüň başlangyjy gutarýan wagtyndan soň bolup bilmeýär',
892
+ backToPeriodSelection: 'Döwür saýlamaga dolanmak'
1284
893
  }
1285
894
  }
1286
895
  };
@@ -1331,44 +940,44 @@ const zhCNLocaleData = {
1331
940
  },
1332
941
  filterBar: {
1333
942
  reset: {
1334
- buttonName: 'Сбросить'
943
+ buttonName: '重置'
1335
944
  },
1336
945
  search: {
1337
- tooltip: 'Поиск',
1338
- placeholder: 'Поиск'
946
+ tooltip: '搜索',
947
+ placeholder: '搜索'
1339
948
  },
1340
949
  filters: {
1341
- defaultName: 'Фильтры',
1342
- saveNewFilterTooltip: 'Сохранить новый фильтр',
1343
- searchPlaceholder: 'Поиск',
1344
- searchEmptyResult: 'Ничего не найдено',
1345
- saveAsNewFilter: 'Сохранить как новый фильтр',
1346
- saveChanges: 'Сохранить изменения',
1347
- saveAsNew: 'Сохранить как новый',
1348
- change: 'Изменить',
1349
- resetChanges: 'Сбросить изменения',
1350
- remove: 'Удалить',
1351
- name: 'Название',
1352
- error: 'Поиск с таким названием уже существует',
1353
- errorHint: 'Не удалось сохранить фильтр. Попробуйте снова или сообщите администратору.',
1354
- saveButton: 'Сохранить',
1355
- cancelButton: 'Отмена'
950
+ defaultName: '筛选器',
951
+ saveNewFilterTooltip: '保存新筛选器',
952
+ searchPlaceholder: '搜索',
953
+ searchEmptyResult: '未找到任何内容',
954
+ saveAsNewFilter: '另存为新筛选器',
955
+ saveChanges: '保存更改',
956
+ saveAsNew: '另存为新的',
957
+ change: '编辑',
958
+ resetChanges: '重置',
959
+ remove: '删除',
960
+ name: '名称',
961
+ error: '已经使用此名称进行过搜索',
962
+ errorHint: '无法保存筛选器。请重试或联系管理员。',
963
+ saveButton: '保存',
964
+ cancelButton: '取消'
1356
965
  },
1357
966
  add: {
1358
- tooltip: 'Добавить фильтр'
967
+ tooltip: '添加筛选器'
1359
968
  },
1360
969
  pipe: {
1361
- clearButtonTooltip: 'Очистить',
1362
- removeButtonTooltip: 'Удалить',
1363
- applyButton: 'Применить',
1364
- emptySearchResult: 'Ничего не найдено'
970
+ clearButtonTooltip: '清除',
971
+ removeButtonTooltip: '删除',
972
+ applyButton: '应用',
973
+ emptySearchResult: '未找到任何内容'
1365
974
  },
1366
975
  datePipe: {
1367
- customPeriod: 'Произвольный период',
1368
- customPeriodFrom: 'с',
1369
- customPeriodTo: 'по',
1370
- customPeriodErrorHint: 'Начало периода не может быть позже окончания',
1371
- backToPeriodSelection: 'Назад к выбору периода'
976
+ customPeriod: '自定义时段',
977
+ customPeriodFrom: '',
978
+ customPeriodTo: '',
979
+ customPeriodErrorHint: '时段开始时间不能晚于结束时间',
980
+ backToPeriodSelection: '返回以选择一个时段'
1372
981
  }
1373
982
  }
1374
983
  };
@@ -1498,7 +1107,116 @@ const ptBRFormattersData = {
1498
1107
  },
1499
1108
  input: {
1500
1109
  number: {
1501
- groupSeparator: ['.'],
1110
+ groupSeparator: ['.'],
1111
+ fractionSeparator: ','
1112
+ }
1113
+ },
1114
+ sizeUnits: {
1115
+ defaultUnitSystem: 'SI',
1116
+ defaultPrecision: 2,
1117
+ unitSystems: {
1118
+ SI: {
1119
+ abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
1120
+ base: 10,
1121
+ power: 3
1122
+ },
1123
+ IEC: {
1124
+ abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
1125
+ base: 2,
1126
+ power: 10
1127
+ }
1128
+ }
1129
+ }
1130
+ };
1131
+ const ruRUFormattersData = {
1132
+ formatters: {
1133
+ number: {
1134
+ rounding: {
1135
+ separator: ' ',
1136
+ groupSeparator: ',',
1137
+ thousand: 'К',
1138
+ million: 'М',
1139
+ billion: 'М',
1140
+ trillion: 'Т'
1141
+ }
1142
+ }
1143
+ },
1144
+ input: {
1145
+ number: {
1146
+ // nbsp is generated automatically and used by default in spec
1147
+ groupSeparator: [' ', ' '],
1148
+ fractionSeparator: ',',
1149
+ startFormattingFrom: 4
1150
+ }
1151
+ },
1152
+ sizeUnits: {
1153
+ defaultUnitSystem: 'SI',
1154
+ defaultPrecision: 2,
1155
+ unitSystems: {
1156
+ SI: {
1157
+ abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
1158
+ base: 10,
1159
+ power: 3
1160
+ },
1161
+ IEC: {
1162
+ abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
1163
+ base: 2,
1164
+ power: 10
1165
+ }
1166
+ }
1167
+ }
1168
+ };
1169
+ const zhCNFormattersData = {
1170
+ formatters: {
1171
+ number: {
1172
+ rounding: {
1173
+ separator: ' ',
1174
+ groupSeparator: '.',
1175
+ tenThousand: '万',
1176
+ oneHundredMillions: '亿',
1177
+ trillion: '兆'
1178
+ }
1179
+ }
1180
+ },
1181
+ input: {
1182
+ number: {
1183
+ groupSeparator: [','],
1184
+ fractionSeparator: '.'
1185
+ }
1186
+ },
1187
+ sizeUnits: {
1188
+ defaultUnitSystem: 'SI',
1189
+ defaultPrecision: 2,
1190
+ unitSystems: {
1191
+ SI: {
1192
+ abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
1193
+ base: 10,
1194
+ power: 3
1195
+ },
1196
+ IEC: {
1197
+ abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
1198
+ base: 2,
1199
+ power: 10
1200
+ }
1201
+ }
1202
+ }
1203
+ };
1204
+ const tkTMFormattersData = {
1205
+ formatters: {
1206
+ number: {
1207
+ rounding: {
1208
+ separator: ' ',
1209
+ groupSeparator: '',
1210
+ thousand: 'M',
1211
+ million: 'Mn',
1212
+ billion: 'Mr',
1213
+ trillion: 'Tn'
1214
+ }
1215
+ }
1216
+ },
1217
+ input: {
1218
+ number: {
1219
+ groupSeparator: [' '],
1502
1220
  fractionSeparator: ','
1503
1221
  }
1504
1222
  },
@@ -1507,260 +1225,584 @@ const ptBRFormattersData = {
1507
1225
  defaultPrecision: 2,
1508
1226
  unitSystems: {
1509
1227
  SI: {
1510
- abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
1228
+ abbreviations: ['B', 'KB', 'MB', 'GB', 'TB'],
1511
1229
  base: 10,
1512
1230
  power: 3
1513
1231
  },
1514
1232
  IEC: {
1515
- abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
1233
+ abbreviations: ['B', 'KiB', 'MiB', 'GiB', 'TiB'],
1516
1234
  base: 2,
1517
1235
  power: 10
1518
1236
  }
1519
1237
  }
1520
1238
  }
1521
- };
1522
- const ruRUFormattersData = {
1523
- formatters: {
1524
- number: {
1525
- rounding: {
1526
- separator: ' ',
1527
- groupSeparator: ',',
1528
- thousand: 'К',
1529
- million: 'М',
1530
- billion: 'М',
1531
- trillion: 'Т'
1532
- }
1533
- }
1534
- },
1535
- input: {
1536
- number: {
1537
- // nbsp is generated automatically and used by default in spec
1538
- groupSeparator: [' ', ' '],
1539
- fractionSeparator: ',',
1540
- startFormattingFrom: 4
1541
- }
1542
- },
1543
- sizeUnits: {
1544
- defaultUnitSystem: 'SI',
1545
- defaultPrecision: 2,
1546
- unitSystems: {
1547
- SI: {
1548
- abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
1549
- base: 10,
1550
- power: 3
1551
- },
1552
- IEC: {
1553
- abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
1554
- base: 2,
1555
- power: 10
1556
- }
1557
- }
1239
+ };
1240
+
1241
+ const KBQ_LOCALE_ID = new InjectionToken('KbqLocaleId');
1242
+ const KBQ_DEFAULT_LOCALE_ID = 'ru-RU';
1243
+ function KBQ_DEFAULT_LOCALE_DATA_FACTORY() {
1244
+ return {
1245
+ items: [
1246
+ { id: 'en-US', name: 'English' },
1247
+ { id: 'zh-CN', name: '简体中文' },
1248
+ { id: 'es-LA', name: 'Español' },
1249
+ { id: 'pt-BR', name: 'Português' },
1250
+ { id: 'ru-RU', name: 'Русский' },
1251
+ { id: 'fa-IR', name: 'فارسی' },
1252
+ { id: 'tk-TM', name: 'Türkmen' }
1253
+ ],
1254
+ 'en-US': { ...enUSLocaleData, ...enUSFormattersData },
1255
+ 'zh-CN': { ...zhCNLocaleData, ...zhCNFormattersData },
1256
+ 'es-LA': { ...esLALocaleData, ...esLAFormattersData },
1257
+ 'pt-BR': { ...ptBRLocaleData, ...ptBRFormattersData },
1258
+ 'ru-RU': { ...ruRULocaleData, ...ruRUFormattersData },
1259
+ 'fa-IR': { ...faIRLocaleData, ...faIRFormattersData },
1260
+ 'tk-TM': { ...tkTMLocaleData, ...tkTMFormattersData }
1261
+ };
1262
+ }
1263
+ const KBQ_LOCALE_DATA = new InjectionToken('KBQ_LOCALE_DATA', {
1264
+ providedIn: 'root',
1265
+ factory: KBQ_DEFAULT_LOCALE_DATA_FACTORY
1266
+ });
1267
+ const KBQ_LOCALE_SERVICE = new InjectionToken('KBQ_LOCALE_SERVICE');
1268
+ /**
1269
+ * Attribute name to be used to set the locale in the html element.
1270
+ *
1271
+ * @default 'lang'
1272
+ *
1273
+ * @docs-private
1274
+ */
1275
+ const KBQ_LOCALE_SERVICE_LANG_ATTR_NAME = new InjectionToken('KBQ_LOCALE_SERVICE_LANG_ATTR_NAME', {
1276
+ factory: () => 'lang'
1277
+ });
1278
+ /**
1279
+ * Utility provider to configure the attribute name to be used to set the locale in the html element.
1280
+ *
1281
+ * @see KBQ_LOCALE_SERVICE_LANG_ATTR_NAME
1282
+ *
1283
+ * @docs-private
1284
+ */
1285
+ const kbqLocaleServiceLangAttrNameProvider = (attrName) => ({
1286
+ provide: KBQ_LOCALE_SERVICE_LANG_ATTR_NAME,
1287
+ useValue: attrName
1288
+ });
1289
+ class KbqLocaleService {
1290
+ constructor(id, localeData) {
1291
+ this.locales = {};
1292
+ this.document = inject(DOCUMENT);
1293
+ this.langAttrName = inject(KBQ_LOCALE_SERVICE_LANG_ATTR_NAME);
1294
+ this.locales = localeData;
1295
+ this.id = id || KBQ_DEFAULT_LOCALE_ID;
1296
+ this.current = this.locales[this.id];
1297
+ this.changes = new BehaviorSubject(this.id);
1298
+ }
1299
+ setLocale(id) {
1300
+ this.id = id;
1301
+ this.current = this.locales[this.id];
1302
+ this.document.documentElement.setAttribute(this.langAttrName, this.id);
1303
+ this.changes.next(this.id);
1304
+ }
1305
+ addLocale(id, localeData) {
1306
+ this.id = id;
1307
+ this.changes.next(this.id);
1308
+ this.locales[this.id] = localeData;
1309
+ }
1310
+ getParams(componentName) {
1311
+ return this.current[componentName];
1312
+ }
1313
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleService, deps: [{ token: KBQ_LOCALE_ID, optional: true }, { token: KBQ_LOCALE_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1314
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleService, providedIn: 'root' }); }
1315
+ }
1316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleService, decorators: [{
1317
+ type: Injectable,
1318
+ args: [{ providedIn: 'root' }]
1319
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1320
+ type: Optional
1321
+ }, {
1322
+ type: Inject,
1323
+ args: [KBQ_LOCALE_ID]
1324
+ }] }, { type: undefined, decorators: [{
1325
+ type: Optional
1326
+ }, {
1327
+ type: Inject,
1328
+ args: [KBQ_LOCALE_DATA]
1329
+ }] }] });
1330
+ // todo code below need refactor or delete in DS-3603
1331
+ function numberByParts(value, fractionSeparator, groupSeparator) {
1332
+ const result = { integer: '', fraction: '' };
1333
+ const numberByParts = value.split(fractionSeparator);
1334
+ if (numberByParts.length > 1) {
1335
+ result.fraction = numberByParts.pop() || '';
1336
+ result.integer = numberByParts
1337
+ .join()
1338
+ .replace(groupSeparator, '')
1339
+ .replace(fractionSeparator, '')
1340
+ .replace(/\D/g, '');
1341
+ }
1342
+ else {
1343
+ result.integer = numberByParts.join().replace(groupSeparator[0], '').replace(/\D/g, '');
1344
+ }
1345
+ return result;
1346
+ }
1347
+ /**
1348
+ * Function that returns a string representation of a number without localized separators
1349
+ */
1350
+ function normalizeNumber(value, customConfig) {
1351
+ if (value === null || value === undefined)
1352
+ return '';
1353
+ const { groupSeparator, fractionSeparator } = customConfig;
1354
+ const groupSeparatorRegexp = new RegExp(`[${groupSeparator.join('')}]`, 'g');
1355
+ const fractionSeparatorRegexp = new RegExp(`\\${fractionSeparator}`, 'g');
1356
+ return value.toString().replace(groupSeparatorRegexp, '').replace(fractionSeparatorRegexp, '.');
1357
+ }
1358
+ /**
1359
+ * Function that parse string and return a number. The string can be in any locale.
1360
+ */
1361
+ function checkAndNormalizeLocalizedNumber(num, locale) {
1362
+ if (num === null || num === undefined)
1363
+ return null;
1364
+ const locales = KBQ_DEFAULT_LOCALE_DATA_FACTORY();
1365
+ if (locale && locales[locale]) {
1366
+ const config = locales[locale].input.number;
1367
+ let normalized;
1368
+ if (!/\d/g.test(num))
1369
+ return +num;
1370
+ const { groupSeparator, fractionSeparator } = config;
1371
+ const { integer, fraction } = numberByParts(num, fractionSeparator, groupSeparator.join(''));
1372
+ const fractionSeparatorRegexp = new RegExp(`\\${fractionSeparator}`, 'g');
1373
+ if (fraction) {
1374
+ normalized = +[integer, fraction].join('.');
1375
+ }
1376
+ else {
1377
+ normalized = +integer.replace(fractionSeparatorRegexp, '.');
1378
+ }
1379
+ if (!Number.isNaN(normalized)) {
1380
+ return normalized;
1381
+ }
1382
+ }
1383
+ /* if some locale input config satisfies pasted number, try to normalise with selected locale config */
1384
+ let numberOutput = null;
1385
+ for (const config of locales.items.map(({ id }) => locales[id].input.number)) {
1386
+ const normalized = +normalizeNumber(num, config);
1387
+ if (!Number.isNaN(normalized)) {
1388
+ numberOutput = normalized;
1389
+ break;
1390
+ }
1391
+ }
1392
+ return numberOutput;
1393
+ }
1394
+
1395
+ class KbqLocaleServiceModule {
1396
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1397
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleServiceModule }); }
1398
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleServiceModule, providers: [
1399
+ { provide: KBQ_LOCALE_SERVICE, useClass: KbqLocaleService }
1400
+ ] }); }
1401
+ }
1402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleServiceModule, decorators: [{
1403
+ type: NgModule,
1404
+ args: [{
1405
+ providers: [
1406
+ { provide: KBQ_LOCALE_SERVICE, useClass: KbqLocaleService }
1407
+ ]
1408
+ }]
1409
+ }] });
1410
+
1411
+ class DateFormatter extends DateFormatter$1 {
1412
+ constructor(adapter, locale, localeService) {
1413
+ super(adapter, locale);
1414
+ this.adapter = adapter;
1415
+ this.localeService = localeService;
1416
+ this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe((locale) => this.setLocale(locale));
1417
+ }
1418
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DateFormatter, deps: [{ token: i1.DateAdapter }, { token: KBQ_DATE_LOCALE }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1419
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DateFormatter }); }
1420
+ }
1421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DateFormatter, decorators: [{
1422
+ type: Injectable
1423
+ }], ctorParameters: () => [{ type: i1.DateAdapter }, { type: undefined, decorators: [{
1424
+ type: Inject,
1425
+ args: [KBQ_DATE_LOCALE]
1426
+ }] }, { type: undefined, decorators: [{
1427
+ type: Optional
1428
+ }, {
1429
+ type: Inject,
1430
+ args: [KBQ_LOCALE_SERVICE]
1431
+ }] }] });
1432
+
1433
+ class BaseFormatterPipe {
1434
+ constructor() {
1435
+ this.adapter = inject((DateAdapter));
1436
+ this.formatter = inject((DateFormatter));
1437
+ }
1438
+ }
1439
+ class AbsoluteDateFormatterPipe extends BaseFormatterPipe {
1440
+ transform(value, currYear) {
1441
+ const date = this.adapter.deserialize(value);
1442
+ return date ? this.formatter.absoluteLongDate(date, currYear) : '';
1443
+ }
1444
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1445
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, isStandalone: true, name: "absoluteLongDate" }); }
1446
+ }
1447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterPipe, decorators: [{
1448
+ type: Pipe,
1449
+ args: [{
1450
+ standalone: true,
1451
+ name: 'absoluteLongDate'
1452
+ }]
1453
+ }] });
1454
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1455
+ class AbsoluteDateFormatterImpurePipe extends AbsoluteDateFormatterPipe {
1456
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1457
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateImpurePipe", pure: false }); }
1458
+ }
1459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, decorators: [{
1460
+ type: Pipe,
1461
+ args: [{
1462
+ standalone: true,
1463
+ name: 'absoluteLongDateImpurePipe',
1464
+ pure: false
1465
+ }]
1466
+ }] });
1467
+ class AbsoluteDateTimeFormatterPipe extends BaseFormatterPipe {
1468
+ transform(value, options) {
1469
+ const date = this.adapter.deserialize(value);
1470
+ return date ? this.formatter.absoluteLongDateTime(date, options) : '';
1471
+ }
1472
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1473
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, isStandalone: true, name: "absoluteLongDateTime" }); }
1474
+ }
1475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, decorators: [{
1476
+ type: Pipe,
1477
+ args: [{
1478
+ standalone: true,
1479
+ name: 'absoluteLongDateTime'
1480
+ }]
1481
+ }] });
1482
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1483
+ class AbsoluteDateTimeFormatterImpurePipe extends AbsoluteDateTimeFormatterPipe {
1484
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1485
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateTimeImpurePipe", pure: false }); }
1486
+ }
1487
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, decorators: [{
1488
+ type: Pipe,
1489
+ args: [{
1490
+ standalone: true,
1491
+ name: 'absoluteLongDateTimeImpurePipe',
1492
+ pure: false
1493
+ }]
1494
+ }] });
1495
+ class AbsoluteDateShortFormatterPipe extends BaseFormatterPipe {
1496
+ transform(value, currYear) {
1497
+ const date = this.adapter.deserialize(value);
1498
+ return date ? this.formatter.absoluteShortDate(date, currYear) : '';
1499
+ }
1500
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1501
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, isStandalone: true, name: "absoluteShortDate" }); }
1502
+ }
1503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterPipe, decorators: [{
1504
+ type: Pipe,
1505
+ args: [{
1506
+ standalone: true,
1507
+ name: 'absoluteShortDate'
1508
+ }]
1509
+ }] });
1510
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1511
+ class AbsoluteDateShortFormatterImpurePipe extends AbsoluteDateShortFormatterPipe {
1512
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1513
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateImpurePipe", pure: false }); }
1514
+ }
1515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, decorators: [{
1516
+ type: Pipe,
1517
+ args: [{
1518
+ standalone: true,
1519
+ name: 'absoluteShortDateImpurePipe',
1520
+ pure: false
1521
+ }]
1522
+ }] });
1523
+ class AbsoluteShortDateTimeFormatterPipe extends BaseFormatterPipe {
1524
+ transform(value, options) {
1525
+ const date = this.adapter.deserialize(value);
1526
+ return date ? this.formatter.absoluteShortDateTime(date, options) : '';
1527
+ }
1528
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1529
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, isStandalone: true, name: "absoluteShortDateTime" }); }
1530
+ }
1531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, decorators: [{
1532
+ type: Pipe,
1533
+ args: [{
1534
+ standalone: true,
1535
+ name: 'absoluteShortDateTime'
1536
+ }]
1537
+ }] });
1538
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1539
+ class AbsoluteShortDateTimeFormatterImpurePipe extends AbsoluteShortDateTimeFormatterPipe {
1540
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1541
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateTimeImpurePipe", pure: false }); }
1542
+ }
1543
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, decorators: [{
1544
+ type: Pipe,
1545
+ args: [{
1546
+ standalone: true,
1547
+ name: 'absoluteShortDateTimeImpurePipe',
1548
+ pure: false
1549
+ }]
1550
+ }] });
1551
+ class RelativeDateFormatterPipe extends BaseFormatterPipe {
1552
+ transform(value) {
1553
+ const date = this.adapter.deserialize(value);
1554
+ return date ? this.formatter.relativeLongDate(date) : '';
1558
1555
  }
1559
- };
1560
- const zhCNFormattersData = {
1561
- formatters: {
1562
- number: {
1563
- rounding: {
1564
- separator: ' ',
1565
- groupSeparator: '.',
1566
- tenThousand: '',
1567
- oneHundredMillions: '亿',
1568
- trillion: '兆'
1569
- }
1570
- }
1571
- },
1572
- input: {
1573
- number: {
1574
- groupSeparator: [','],
1575
- fractionSeparator: '.'
1576
- }
1577
- },
1578
- sizeUnits: {
1579
- defaultUnitSystem: 'SI',
1580
- defaultPrecision: 2,
1581
- unitSystems: {
1582
- SI: {
1583
- abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
1584
- base: 10,
1585
- power: 3
1586
- },
1587
- IEC: {
1588
- abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
1589
- base: 2,
1590
- power: 10
1591
- }
1592
- }
1556
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1557
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, isStandalone: true, name: "relativeLongDate" }); }
1558
+ }
1559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterPipe, decorators: [{
1560
+ type: Pipe,
1561
+ args: [{
1562
+ standalone: true,
1563
+ name: 'relativeLongDate'
1564
+ }]
1565
+ }] });
1566
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1567
+ class RelativeDateFormatterImpurePipe extends RelativeDateFormatterPipe {
1568
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1569
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterImpurePipe, isStandalone: true, name: "relativeLongDateImpurePipe", pure: false }); }
1570
+ }
1571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateFormatterImpurePipe, decorators: [{
1572
+ type: Pipe,
1573
+ args: [{
1574
+ standalone: true,
1575
+ name: 'relativeLongDateImpurePipe',
1576
+ pure: false
1577
+ }]
1578
+ }] });
1579
+ class RelativeDateTimeFormatterPipe extends BaseFormatterPipe {
1580
+ transform(value, options) {
1581
+ const date = this.adapter.deserialize(value);
1582
+ return date ? this.formatter.relativeLongDateTime(date, options) : '';
1593
1583
  }
1594
- };
1595
- const tkTMFormattersData = {
1596
- formatters: {
1597
- number: {
1598
- rounding: {
1599
- separator: ' ',
1600
- groupSeparator: '',
1601
- thousand: 'M',
1602
- million: 'Mn',
1603
- billion: 'Mr',
1604
- trillion: 'Tn'
1605
- }
1606
- }
1607
- },
1608
- input: {
1609
- number: {
1610
- groupSeparator: [' '],
1611
- fractionSeparator: ','
1612
- }
1613
- },
1614
- sizeUnits: {
1615
- defaultUnitSystem: 'SI',
1616
- defaultPrecision: 2,
1617
- unitSystems: {
1618
- SI: {
1619
- abbreviations: ['B', 'KB', 'MB', 'GB', 'TB'],
1620
- base: 10,
1621
- power: 3
1622
- },
1623
- IEC: {
1624
- abbreviations: ['B', 'KiB', 'MiB', 'GiB', 'TiB'],
1625
- base: 2,
1626
- power: 10
1627
- }
1628
- }
1584
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1585
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, isStandalone: true, name: "relativeLongDateTime" }); }
1586
+ }
1587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterPipe, decorators: [{
1588
+ type: Pipe,
1589
+ args: [{
1590
+ standalone: true,
1591
+ name: 'relativeLongDateTime'
1592
+ }]
1593
+ }] });
1594
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1595
+ class RelativeDateTimeFormatterImpurePipe extends RelativeDateTimeFormatterPipe {
1596
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1597
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeLongDateTimeImpurePipe", pure: false }); }
1598
+ }
1599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, decorators: [{
1600
+ type: Pipe,
1601
+ args: [{
1602
+ standalone: true,
1603
+ name: 'relativeLongDateTimeImpurePipe',
1604
+ pure: false
1605
+ }]
1606
+ }] });
1607
+ class RelativeShortDateFormatterPipe extends BaseFormatterPipe {
1608
+ transform(value) {
1609
+ const date = this.adapter.deserialize(value);
1610
+ return date ? this.formatter.relativeShortDate(date) : '';
1629
1611
  }
1630
- };
1631
-
1632
- const KBQ_LOCALE_ID = new InjectionToken('KbqLocaleId');
1633
- const KBQ_DEFAULT_LOCALE_ID = 'ru-RU';
1634
- function KBQ_DEFAULT_LOCALE_DATA_FACTORY() {
1635
- return {
1636
- items: [
1637
- { id: 'en-US', name: 'English' },
1638
- { id: 'zh-CN', name: '简体中文' },
1639
- { id: 'es-LA', name: 'Español' },
1640
- { id: 'pt-BR', name: 'Português' },
1641
- { id: 'ru-RU', name: 'Русский' },
1642
- { id: 'fa-IR', name: 'فارسی' },
1643
- { id: 'tk-TM', name: 'Türkmen' }
1644
- ],
1645
- 'en-US': { ...enUSLocaleData, ...enUSFormattersData },
1646
- 'zh-CN': { ...zhCNLocaleData, ...zhCNFormattersData },
1647
- 'es-LA': { ...esLALocaleData, ...esLAFormattersData },
1648
- 'pt-BR': { ...ptBRLocaleData, ...ptBRFormattersData },
1649
- 'ru-RU': { ...ruRULocaleData, ...ruRUFormattersData },
1650
- 'fa-IR': { ...faIRLocaleData, ...faIRFormattersData },
1651
- 'tk-TM': { ...tkTMLocaleData, ...tkTMFormattersData }
1652
- };
1612
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1613
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, isStandalone: true, name: "relativeShortDate" }); }
1614
+ }
1615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterPipe, decorators: [{
1616
+ type: Pipe,
1617
+ args: [{
1618
+ standalone: true,
1619
+ name: 'relativeShortDate'
1620
+ }]
1621
+ }] });
1622
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1623
+ class RelativeShortDateFormatterImpurePipe extends RelativeShortDateFormatterPipe {
1624
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1625
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, isStandalone: true, name: "relativeShortDateImpurePipe", pure: false }); }
1626
+ }
1627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, decorators: [{
1628
+ type: Pipe,
1629
+ args: [{
1630
+ standalone: true,
1631
+ name: 'relativeShortDateImpurePipe',
1632
+ pure: false
1633
+ }]
1634
+ }] });
1635
+ class RelativeShortDateTimeFormatterPipe extends BaseFormatterPipe {
1636
+ transform(value, options) {
1637
+ const date = this.adapter.deserialize(value);
1638
+ return date ? this.formatter.relativeShortDateTime(date, options) : '';
1639
+ }
1640
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1641
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, isStandalone: true, name: "relativeShortDateTime" }); }
1653
1642
  }
1654
- const KBQ_LOCALE_DATA = new InjectionToken('KBQ_LOCALE_DATA', {
1655
- providedIn: 'root',
1656
- factory: KBQ_DEFAULT_LOCALE_DATA_FACTORY
1657
- });
1658
- const KBQ_LOCALE_SERVICE = new InjectionToken('KBQ_LOCALE_SERVICE');
1659
- /**
1660
- * Attribute name to be used to set the locale in the html element.
1661
- *
1662
- * @default 'lang'
1663
- *
1664
- * @docs-private
1665
- */
1666
- const KBQ_LOCALE_SERVICE_LANG_ATTR_NAME = new InjectionToken('KBQ_LOCALE_SERVICE_LANG_ATTR_NAME', {
1667
- factory: () => 'lang'
1668
- });
1669
- /**
1670
- * Utility provider to configure the attribute name to be used to set the locale in the html element.
1671
- *
1672
- * @see KBQ_LOCALE_SERVICE_LANG_ATTR_NAME
1673
- *
1674
- * @docs-private
1675
- */
1676
- const kbqLocaleServiceLangAttrNameProvider = (attrName) => ({
1677
- provide: KBQ_LOCALE_SERVICE_LANG_ATTR_NAME,
1678
- useValue: attrName
1679
- });
1680
- class KbqLocaleService {
1681
- constructor(id, localeData) {
1682
- this.locales = {};
1683
- this.document = inject(DOCUMENT);
1684
- this.langAttrName = inject(KBQ_LOCALE_SERVICE_LANG_ATTR_NAME);
1685
- this.locales = localeData;
1686
- this.id = id || KBQ_DEFAULT_LOCALE_ID;
1687
- this.current = this.locales[this.id];
1688
- this.changes = new BehaviorSubject(this.id);
1643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, decorators: [{
1644
+ type: Pipe,
1645
+ args: [{
1646
+ standalone: true,
1647
+ name: 'relativeShortDateTime'
1648
+ }]
1649
+ }] });
1650
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1651
+ class RelativeShortDateTimeFormatterImpurePipe extends RelativeShortDateTimeFormatterPipe {
1652
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1653
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeShortDateTimeImpurePipe", pure: false }); }
1654
+ }
1655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, decorators: [{
1656
+ type: Pipe,
1657
+ args: [{
1658
+ standalone: true,
1659
+ name: 'relativeShortDateTimeImpurePipe',
1660
+ pure: false
1661
+ }]
1662
+ }] });
1663
+ class RangeDateFormatterPipe extends BaseFormatterPipe {
1664
+ transform([value1, value2]) {
1665
+ const date1 = this.adapter.deserialize(value1);
1666
+ const date2 = this.adapter.deserialize(value2);
1667
+ return this.formatter.rangeLongDate(date1, date2);
1689
1668
  }
1690
- setLocale(id) {
1691
- this.id = id;
1692
- this.current = this.locales[this.id];
1693
- this.document.documentElement.setAttribute(this.langAttrName, this.id);
1694
- this.changes.next(this.id);
1669
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1670
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, isStandalone: true, name: "rangeLongDate" }); }
1671
+ }
1672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterPipe, decorators: [{
1673
+ type: Pipe,
1674
+ args: [{
1675
+ standalone: true,
1676
+ name: 'rangeLongDate'
1677
+ }]
1678
+ }] });
1679
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1680
+ class RangeDateFormatterImpurePipe extends RangeDateFormatterPipe {
1681
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1682
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterImpurePipe, isStandalone: true, name: "rangeLongDateImpurePipe", pure: false }); }
1683
+ }
1684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateFormatterImpurePipe, decorators: [{
1685
+ type: Pipe,
1686
+ args: [{
1687
+ standalone: true,
1688
+ name: 'rangeLongDateImpurePipe',
1689
+ pure: false
1690
+ }]
1691
+ }] });
1692
+ class RangeShortDateFormatterPipe extends BaseFormatterPipe {
1693
+ transform([value1, value2]) {
1694
+ const date1 = this.adapter.deserialize(value1);
1695
+ const date2 = this.adapter.deserialize(value2);
1696
+ return this.formatter.rangeShortDate(date1, date2);
1695
1697
  }
1696
- addLocale(id, localeData) {
1697
- this.id = id;
1698
- this.changes.next(this.id);
1699
- this.locales[this.id] = localeData;
1698
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1699
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, isStandalone: true, name: "rangeShortDate" }); }
1700
+ }
1701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterPipe, decorators: [{
1702
+ type: Pipe,
1703
+ args: [{
1704
+ standalone: true,
1705
+ name: 'rangeShortDate'
1706
+ }]
1707
+ }] });
1708
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1709
+ class RangeShortDateFormatterImpurePipe extends RangeShortDateFormatterPipe {
1710
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1711
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterImpurePipe, isStandalone: true, name: "rangeShortDateImpurePipe", pure: false }); }
1712
+ }
1713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateFormatterImpurePipe, decorators: [{
1714
+ type: Pipe,
1715
+ args: [{
1716
+ standalone: true,
1717
+ name: 'rangeShortDateImpurePipe',
1718
+ pure: false
1719
+ }]
1720
+ }] });
1721
+ class RangeDateTimeFormatterPipe extends BaseFormatterPipe {
1722
+ transform([value1, value2], options) {
1723
+ const date1 = this.adapter.deserialize(value1);
1724
+ const date2 = this.adapter.deserialize(value2);
1725
+ return this.formatter.rangeLongDateTime(date1, date2, options);
1700
1726
  }
1701
- getParams(componentName) {
1702
- return this.current[componentName];
1727
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1728
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, isStandalone: true, name: "rangeLongDateTime" }); }
1729
+ }
1730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterPipe, decorators: [{
1731
+ type: Pipe,
1732
+ args: [{
1733
+ standalone: true,
1734
+ name: 'rangeLongDateTime'
1735
+ }]
1736
+ }] });
1737
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1738
+ class RangeDateTimeFormatterImpurePipe extends RangeDateTimeFormatterPipe {
1739
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1740
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeLongDateTimeImpurePipe", pure: false }); }
1741
+ }
1742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, decorators: [{
1743
+ type: Pipe,
1744
+ args: [{
1745
+ standalone: true,
1746
+ name: 'rangeLongDateTimeImpurePipe',
1747
+ pure: false
1748
+ }]
1749
+ }] });
1750
+ class RangeMiddleDateTimeFormatterPipe extends BaseFormatterPipe {
1751
+ transform([value1, value2], options) {
1752
+ const date1 = this.adapter.deserialize(value1);
1753
+ const date2 = this.adapter.deserialize(value2);
1754
+ return this.formatter.rangeMiddleDateTime(date1, date2, options);
1703
1755
  }
1704
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleService, deps: [{ token: KBQ_LOCALE_ID, optional: true }, { token: KBQ_LOCALE_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1705
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleService, providedIn: 'root' }); }
1756
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1757
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, isStandalone: true, name: "rangeMiddleDateTime" }); }
1706
1758
  }
1707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleService, decorators: [{
1708
- type: Injectable,
1709
- args: [{ providedIn: 'root' }]
1710
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1711
- type: Optional
1712
- }, {
1713
- type: Inject,
1714
- args: [KBQ_LOCALE_ID]
1715
- }] }, { type: undefined, decorators: [{
1716
- type: Optional
1717
- }, {
1718
- type: Inject,
1719
- args: [KBQ_LOCALE_DATA]
1720
- }] }] });
1721
- /**
1722
- * Function that returns a string representation of a number without localized separators
1723
- */
1724
- function normalizeNumber(value, customConfig) {
1725
- if (value === null || value === undefined)
1726
- return '';
1727
- const { groupSeparator, fractionSeparator } = customConfig;
1728
- const groupSeparatorRegexp = new RegExp(`[${groupSeparator.join('')}]`, 'g');
1729
- const fractionSeparatorRegexp = new RegExp(`\\${fractionSeparator}`, 'g');
1730
- return value.toString().replace(groupSeparatorRegexp, '').replace(fractionSeparatorRegexp, '.');
1759
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, decorators: [{
1760
+ type: Pipe,
1761
+ args: [{
1762
+ standalone: true,
1763
+ name: 'rangeMiddleDateTime'
1764
+ }]
1765
+ }] });
1766
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1767
+ class RangeMiddleDateTimeFormatterImpurePipe extends RangeMiddleDateTimeFormatterPipe {
1768
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1769
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeMiddleDateTimeImpurePipe", pure: false }); }
1731
1770
  }
1732
- /**
1733
- * Function that parse string and return a number. The string can be in any locale.
1734
- */
1735
- function checkAndNormalizeLocalizedNumber(num) {
1736
- if (num === null || num === undefined)
1737
- return null;
1738
- /* if some locale input config satisfies pasted number, try to normalise with selected locale config */
1739
- let numberOutput = null;
1740
- const locales = KBQ_DEFAULT_LOCALE_DATA_FACTORY();
1741
- for (const config of locales.items.map(({ id }) => locales[id].input.number)) {
1742
- const normalized = +normalizeNumber(num, config);
1743
- if (!Number.isNaN(normalized)) {
1744
- numberOutput = normalized;
1745
- break;
1746
- }
1771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, decorators: [{
1772
+ type: Pipe,
1773
+ args: [{
1774
+ standalone: true,
1775
+ name: 'rangeMiddleDateTimeImpurePipe',
1776
+ pure: false
1777
+ }]
1778
+ }] });
1779
+ class RangeShortDateTimeFormatterPipe extends BaseFormatterPipe {
1780
+ transform([value1, value2], options) {
1781
+ const date1 = this.adapter.deserialize(value1);
1782
+ const date2 = this.adapter.deserialize(value2);
1783
+ return this.formatter.rangeShortDateTime(date1, date2, options);
1747
1784
  }
1748
- return numberOutput;
1785
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1786
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, isStandalone: true, name: "rangeShortDateTime" }); }
1749
1787
  }
1750
-
1751
- class KbqLocaleServiceModule {
1752
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1753
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleServiceModule }); }
1754
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleServiceModule, providers: [
1755
- { provide: KBQ_LOCALE_SERVICE, useClass: KbqLocaleService }
1756
- ] }); }
1788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterPipe, decorators: [{
1789
+ type: Pipe,
1790
+ args: [{
1791
+ standalone: true,
1792
+ name: 'rangeShortDateTime'
1793
+ }]
1794
+ }] });
1795
+ // eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
1796
+ class RangeShortDateTimeFormatterImpurePipe extends RangeShortDateTimeFormatterPipe {
1797
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
1798
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeShortDateTimeImpurePipe", pure: false }); }
1757
1799
  }
1758
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqLocaleServiceModule, decorators: [{
1759
- type: NgModule,
1800
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, decorators: [{
1801
+ type: Pipe,
1760
1802
  args: [{
1761
- providers: [
1762
- { provide: KBQ_LOCALE_SERVICE, useClass: KbqLocaleService }
1763
- ]
1803
+ standalone: true,
1804
+ name: 'rangeShortDateTimeImpurePipe',
1805
+ pure: false
1764
1806
  }]
1765
1807
  }] });
1766
1808
 
@@ -3740,7 +3782,7 @@ class KbqPopUpTrigger {
3740
3782
  if (this.trigger.includes(PopUpTriggers.Keydown)) {
3741
3783
  this.listeners.set('keydown', (event) => {
3742
3784
  if (event instanceof KeyboardEvent && [ENTER, SPACE].includes(event.keyCode)) {
3743
- this.show();
3785
+ setTimeout(() => this.show());
3744
3786
  }
3745
3787
  });
3746
3788
  }
@@ -4285,11 +4327,11 @@ const KBQ_VALIDATION = new InjectionToken('KbqUseValidation', {
4285
4327
  factory: () => ({ useValidation: true })
4286
4328
  });
4287
4329
 
4288
- const VERSION = new Version('18.20.0+sha-92a8fc2');
4330
+ const VERSION = new Version('18.21.0+sha-90403de');
4289
4331
 
4290
4332
  /**
4291
4333
  * Generated bundle index. Do not edit.
4292
4334
  */
4293
4335
 
4294
- export { ARROW_BOTTOM_MARGIN_AND_HALF_HEIGHT, AbsoluteDateFormatterImpurePipe, AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterImpurePipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterImpurePipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterImpurePipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, BaseFormatterPipe, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, EmptyFocusTrapStrategy, ErrorStateMatcher, FileValidators, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_DATE_FORMATS, KBQ_DATE_LOCALE, KBQ_DATE_LOCALE_FACTORY, KBQ_DEFAULT_LOCALE_DATA_FACTORY, KBQ_DEFAULT_LOCALE_ID, KBQ_FORM_FIELD_REF, KBQ_LOCALE_DATA, KBQ_LOCALE_ID, KBQ_LOCALE_SERVICE, KBQ_LOCALE_SERVICE_LANG_ATTR_NAME, KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS, KBQ_NUMBER_FORMATTER_OPTIONS, KBQ_OPTION_ACTION_PARENT, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_PARENT_POPUP, KBQ_SANITY_CHECKS, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG, KBQ_TITLE_TEXT_REF, KBQ_VALIDATION, KbqAbstractSelect, KbqAnimationCurves, KbqAnimationDurations, KbqCommonModule, KbqComponentColors, KbqDataSizePipe, KbqDecimalPipe, KbqDefaultThemes, KbqForm, KbqFormElement, KbqFormattersModule, KbqFormsModule, KbqHighlightModule, KbqHighlightPipe, KbqLine, KbqLineModule, KbqLineSetter, KbqLocaleService, KbqLocaleServiceModule, KbqMeasureScrollbarService, KbqOptgroup, KbqOptgroupBase, KbqOptgroupMixinBase, KbqOption, KbqOptionActionBase, KbqOptionActionComponent, KbqOptionActionMixinBase, KbqOptionBase, KbqOptionModule, KbqOptionSelectionChange, KbqPopUp, KbqPopUpTrigger, KbqPseudoCheckbox, KbqPseudoCheckboxBase, KbqPseudoCheckboxMixinBase, KbqPseudoCheckboxModule, KbqRoundDecimalPipe, KbqSelectFooter, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqTableNumberPipe, KbqThemeSelector, KbqVirtualOption, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, MeasurementSystem, MultipleMode, NUMBER_FORMAT_REGEXP, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PasswordValidators, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterImpurePipe, RangeDateFormatterPipe, RangeDateTimeFormatterImpurePipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterImpurePipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterImpurePipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterImpurePipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterImpurePipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterImpurePipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterImpurePipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterImpurePipe, RelativeShortDateTimeFormatterPipe, SELECT_PANEL_VIEWPORT_PADDING, ShowOnControlDirtyErrorStateMatcher, ShowOnFormSubmitErrorStateMatcher, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, ThemePalette, ThemeService, VERSION, applyPopupMargins, checkAndNormalizeLocalizedNumber, countGroupLabelsBeforeOption, defaultOffsetY, enUSFormattersData, enUSLocaleData, esLAFormattersData, esLALocaleData, escapeRegExp, faIRFormattersData, faIRLocaleData, fadeAnimation, formatDataSize, getHumanizedBytes, getKbqSelectDynamicMultipleError, getKbqSelectNonArrayValueError, getKbqSelectNonFunctionValueError, getOptionScrollPosition, isBoolean, isWithin, kbqErrorStateMatcherProvider, kbqLocaleServiceLangAttrNameProvider, kbqSelectAnimations, kbqSelectScrollStrategyProviderFactory, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, normalizeNumber, ptBRFormattersData, ptBRLocaleData, ruRUFormattersData, ruRULocaleData, selectEvents, tkTMFormattersData, tkTMLocaleData, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay, zhCNFormattersData, zhCNLocaleData };
4336
+ export { ARROW_BOTTOM_MARGIN_AND_HALF_HEIGHT, AbsoluteDateFormatterImpurePipe, AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterImpurePipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterImpurePipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterImpurePipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, BaseFormatterPipe, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, EmptyFocusTrapStrategy, ErrorStateMatcher, FileValidators, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_DATE_FORMATS, KBQ_DATE_LOCALE, KBQ_DATE_LOCALE_FACTORY, KBQ_DEFAULT_LOCALE_DATA_FACTORY, KBQ_DEFAULT_LOCALE_ID, KBQ_FORM_FIELD_REF, KBQ_LOCALE_DATA, KBQ_LOCALE_ID, KBQ_LOCALE_SERVICE, KBQ_LOCALE_SERVICE_LANG_ATTR_NAME, KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS, KBQ_NUMBER_FORMATTER_OPTIONS, KBQ_OPTION_ACTION_PARENT, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_PARENT_POPUP, KBQ_SANITY_CHECKS, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG, KBQ_TITLE_TEXT_REF, KBQ_VALIDATION, KbqAbstractSelect, KbqAnimationCurves, KbqAnimationDurations, KbqCommonModule, KbqComponentColors, KbqDataSizePipe, KbqDecimalPipe, KbqDefaultThemes, KbqForm, KbqFormElement, KbqFormattersModule, KbqFormsModule, KbqHighlightModule, KbqHighlightPipe, KbqLine, KbqLineModule, KbqLineSetter, KbqLocaleService, KbqLocaleServiceModule, KbqMeasureScrollbarService, KbqOptgroup, KbqOptgroupBase, KbqOptgroupMixinBase, KbqOption, KbqOptionActionBase, KbqOptionActionComponent, KbqOptionActionMixinBase, KbqOptionBase, KbqOptionModule, KbqOptionSelectionChange, KbqPopUp, KbqPopUpTrigger, KbqPseudoCheckbox, KbqPseudoCheckboxBase, KbqPseudoCheckboxMixinBase, KbqPseudoCheckboxModule, KbqRoundDecimalPipe, KbqSelectFooter, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqTableNumberPipe, KbqThemeSelector, KbqVirtualOption, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, MeasurementSystem, MultipleMode, NUMBER_FORMAT_REGEXP, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PasswordValidators, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterImpurePipe, RangeDateFormatterPipe, RangeDateTimeFormatterImpurePipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterImpurePipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterImpurePipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterImpurePipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterImpurePipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterImpurePipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterImpurePipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterImpurePipe, RelativeShortDateTimeFormatterPipe, SELECT_PANEL_VIEWPORT_PADDING, ShowOnControlDirtyErrorStateMatcher, ShowOnFormSubmitErrorStateMatcher, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, ThemePalette, ThemeService, VERSION, applyPopupMargins, checkAndNormalizeLocalizedNumber, countGroupLabelsBeforeOption, defaultOffsetY, enUSFormattersData, enUSLocaleData, esLAFormattersData, esLALocaleData, escapeRegExp, faIRFormattersData, faIRLocaleData, fadeAnimation, formatDataSize, getHumanizedBytes, getKbqSelectDynamicMultipleError, getKbqSelectNonArrayValueError, getKbqSelectNonFunctionValueError, getOptionScrollPosition, isBoolean, isWithin, kbqErrorStateMatcherProvider, kbqLocaleServiceLangAttrNameProvider, kbqSelectAnimations, kbqSelectScrollStrategyProviderFactory, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, normalizeNumber, numberByParts, ptBRFormattersData, ptBRLocaleData, ruRUFormattersData, ruRULocaleData, selectEvents, tkTMFormattersData, tkTMLocaleData, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay, zhCNFormattersData, zhCNLocaleData };
4295
4337
  //# sourceMappingURL=koobiq-components-core.mjs.map