@koobiq/components 20.0.0 → 20.1.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 (192) hide show
  1. package/accordion/accordion-trigger.component.scss +0 -18
  2. package/accordion/accordion.component.scss +9 -2
  3. package/actions-panel/index.d.ts +1 -0
  4. package/alert/_alert-theme.scss +0 -4
  5. package/alert/alert-tokens.scss +4 -4
  6. package/app-switcher/app-switcher-dropdown-app.scss +2 -0
  7. package/breadcrumbs/breadcrumbs.scss +4 -0
  8. package/breadcrumbs/index.d.ts +2 -1
  9. package/button/button-group.scss +42 -2
  10. package/button-toggle/button-toggle.scss +23 -0
  11. package/button-toggle/index.d.ts +3 -1
  12. package/checkbox/checkbox.scss +5 -4
  13. package/clamped-text/index.d.ts +1 -0
  14. package/core/index.d.ts +402 -13
  15. package/core/styles/common/_animation.scss +4 -0
  16. package/core/styles/theming/_components-theming.scss +1 -1
  17. package/core/styles/theming/_scrollbar-theme.scss +4 -0
  18. package/datepicker/_datepicker-theme.scss +1 -1
  19. package/datepicker/datepicker-toggle.scss +3 -3
  20. package/dl/index.d.ts +1 -0
  21. package/dropdown/dropdown.scss +2 -2
  22. package/fesm2022/koobiq-components-accordion.mjs +4 -4
  23. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  24. package/fesm2022/koobiq-components-actions-panel.mjs +14 -5
  25. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  26. package/fesm2022/koobiq-components-alert.mjs +2 -2
  27. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  28. package/fesm2022/koobiq-components-app-switcher.mjs +6 -6
  29. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  30. package/fesm2022/koobiq-components-breadcrumbs.mjs +6 -4
  31. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  32. package/fesm2022/koobiq-components-button-toggle.mjs +9 -6
  33. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  34. package/fesm2022/koobiq-components-button.mjs +4 -4
  35. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  36. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  37. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  38. package/fesm2022/koobiq-components-clamped-text.mjs +4 -0
  39. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  40. package/fesm2022/koobiq-components-code-block.mjs +4 -0
  41. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  42. package/fesm2022/koobiq-components-core.mjs +449 -112
  43. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  44. package/fesm2022/koobiq-components-datepicker.mjs +5 -5
  45. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  46. package/fesm2022/koobiq-components-dl.mjs +3 -2
  47. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  48. package/fesm2022/koobiq-components-dropdown.mjs +8 -13
  49. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  50. package/fesm2022/koobiq-components-file-upload.mjs +33 -22
  51. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  52. package/fesm2022/koobiq-components-filter-bar.mjs +974 -758
  53. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-flag.mjs +66 -0
  55. package/fesm2022/koobiq-components-flag.mjs.map +1 -0
  56. package/fesm2022/koobiq-components-form-field.mjs +2 -2
  57. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-icon.mjs +2 -2
  59. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-inline-edit.mjs +27 -6
  61. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  62. package/fesm2022/koobiq-components-list.mjs +39 -20
  63. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  64. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  65. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  66. package/fesm2022/koobiq-components-modal.mjs +9 -5
  67. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-navbar.mjs +10 -9
  69. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-notification-center.mjs +178 -19
  71. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-overflow-items.mjs +12 -4
  73. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-popover.mjs +4 -4
  75. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-progress-bar.mjs +2 -2
  77. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
  79. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-radio.mjs +3 -7
  81. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-select.mjs +38 -16
  83. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-sidebar.mjs +4 -0
  85. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-sidepanel.mjs +3 -3
  87. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-skeleton.mjs +2 -2
  89. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-split-button.mjs +2 -2
  91. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-splitter.mjs +6 -2
  93. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-table.mjs +8 -6
  95. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-tabs.mjs +19 -7
  97. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-tags.mjs +7 -0
  99. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-textarea.mjs +7 -14
  101. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-time-range.mjs +4 -4
  103. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-timezone.mjs +6 -0
  105. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-title.mjs +132 -14
  107. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-toast.mjs +1 -1
  109. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  111. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-tooltip.mjs +50 -2
  113. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-tree-select.mjs +44 -11
  115. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-tree.mjs +67 -41
  117. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-username.mjs +16 -3
  119. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  120. package/file-upload/file-upload-tokens.scss +1 -0
  121. package/file-upload/index.d.ts +10 -7
  122. package/filter-bar/_filter-bar-theme.scss +86 -0
  123. package/filter-bar/filter-bar-tokens.scss +6 -0
  124. package/filter-bar/filter-bar.scss +10 -4
  125. package/filter-bar/filter-refresher.scss +1 -1
  126. package/filter-bar/filters.scss +23 -19
  127. package/filter-bar/index.d.ts +707 -338
  128. package/filter-bar/pipes/base-pipe.scss +14 -35
  129. package/filter-bar/pipes/pipe-date.scss +20 -14
  130. package/filter-bar/pipes/pipe-multi-tree-select.scss +5 -3
  131. package/filter-bar/pipes/pipe-multiselect.scss +5 -3
  132. package/filter-bar/pipes/pipe-readonly.scss +4 -13
  133. package/filter-bar/pipes/pipe-select.scss +3 -1
  134. package/filter-bar/pipes/pipe-tree-select.scss +3 -1
  135. package/flag/flag.scss +53 -0
  136. package/flag/index.d.ts +44 -0
  137. package/icon/icon-item-tokens.scss +1 -1
  138. package/inline-edit/index.d.ts +5 -0
  139. package/inline-edit/inline-edit.scss +7 -7
  140. package/link/link-tokens.scss +2 -2
  141. package/list/index.d.ts +11 -2
  142. package/loader-overlay/loader-overlay-tokens.scss +1 -1
  143. package/modal/_modal-animation.scss +6 -6
  144. package/modal/_modal-theme.scss +5 -0
  145. package/modal/index.d.ts +3 -1
  146. package/modal/modal.scss +15 -0
  147. package/navbar/index.d.ts +1 -0
  148. package/navbar/navbar-item.scss +9 -0
  149. package/notification-center/_notification-center-theme.scss +2 -1
  150. package/notification-center/index.d.ts +88 -3
  151. package/notification-center/notification-center.scss +42 -4
  152. package/notification-center/notification-item.scss +3 -2
  153. package/overflow-items/index.d.ts +1 -0
  154. package/package.json +7 -3
  155. package/prebuilt-themes/dark-theme.css +1 -1
  156. package/prebuilt-themes/light-theme.css +1 -1
  157. package/prebuilt-themes/theme.css +1 -1
  158. package/progress-bar/progress-bar.scss +4 -0
  159. package/progress-spinner/progress-spinner.scss +5 -1
  160. package/radio/index.d.ts +1 -5
  161. package/radio/radio.scss +18 -4
  162. package/schematics/collection.json +5 -0
  163. package/schematics/migrations/filter-bar-signals/README.md +66 -0
  164. package/schematics/migrations/filter-bar-signals/data.js +72 -0
  165. package/schematics/migrations/filter-bar-signals/index.js +316 -0
  166. package/schematics/migrations/filter-bar-signals/schema.json +20 -0
  167. package/schematics/migrations.json +5 -0
  168. package/schematics/ng-add/index.js +1 -1
  169. package/select/index.d.ts +10 -2
  170. package/sidebar/index.d.ts +1 -0
  171. package/skeleton/skeleton.scss +4 -0
  172. package/split-button/_split-button-theme.scss +2 -2
  173. package/splitter/_splitter-theme.scss +2 -2
  174. package/splitter/index.d.ts +1 -0
  175. package/table/_table-theme.scss +4 -0
  176. package/table/index.d.ts +3 -2
  177. package/tabs/index.d.ts +2 -0
  178. package/tabs/tab-header.scss +1 -0
  179. package/tabs/tabs-tokens.scss +1 -1
  180. package/textarea/index.d.ts +0 -1
  181. package/time-range/time-range.scss +0 -8
  182. package/timepicker/timepicker.scss +2 -2
  183. package/timezone/index.d.ts +1 -0
  184. package/title/index.d.ts +92 -2
  185. package/tooltip/index.d.ts +51 -3
  186. package/tree/_tree-theme.scss +2 -7
  187. package/tree/index.d.ts +19 -4
  188. package/tree/toggle.scss +5 -0
  189. package/tree/tree-option.scss +0 -4
  190. package/tree-select/_tree-select-theme.scss +1 -1
  191. package/tree-select/index.d.ts +9 -2
  192. package/username/index.d.ts +20 -2
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { QueryList, inject, ElementRef, Directive, isDevMode, Input, ChangeDetectorRef, InjectionToken, LOCALE_ID, Type, Injectable, Renderer2, DestroyRef, afterNextRender, NgModule, Pipe, contentChildren, booleanAttribute, ViewEncapsulation, ChangeDetectionStrategy, Component, input, EventEmitter, Output, ViewChild, numberAttribute, signal, TemplateRef, NgZone, ViewContainerRef, RendererFactory2, Version } from '@angular/core';
2
+ import { QueryList, inject, ElementRef, Directive, isDevMode, Input, ChangeDetectorRef, InjectionToken, LOCALE_ID, Type, Injectable, Renderer2, DestroyRef, afterNextRender, NgModule, Pipe, contentChildren, booleanAttribute, ViewEncapsulation, ChangeDetectionStrategy, Component, input, EventEmitter, Output, ViewChild, numberAttribute, signal, ApplicationRef, TemplateRef, NgZone, ViewContainerRef, RendererFactory2, Version } from '@angular/core';
3
3
  import { Subject, Subscription, merge, fromEvent, map as map$1, BehaviorSubject, interval, pairwise } from 'rxjs';
4
4
  import { tap, debounceTime, filter, map, distinctUntilChanged, delay } from 'rxjs/operators';
5
5
  import { _getEventTarget, Platform } from '@angular/cdk/platform';
@@ -11,10 +11,11 @@ import { DOCUMENT } from '@angular/common';
11
11
  import { DateFormatter as DateFormatter$1 } from '@koobiq/date-formatter';
12
12
  import { FocusMonitor } from '@angular/cdk/a11y';
13
13
  import { SharedResizeObserver } from '@angular/cdk/observers/private';
14
- import { Overlay, ScrollDispatcher, CdkScrollable } from '@angular/cdk/overlay';
14
+ import { Overlay, OverlayContainer, ScrollDispatcher, CdkScrollable } from '@angular/cdk/overlay';
15
15
  import { TooltipSizeArrowSize } from '@koobiq/design-tokens';
16
16
  import { Directionality } from '@angular/cdk/bidi';
17
17
  import { ComponentPortal } from '@angular/cdk/portal';
18
+ import { ViewportRuler } from '@angular/cdk/scrolling';
18
19
  import { AsyncScheduler } from 'rxjs/internal/scheduler/AsyncScheduler';
19
20
 
20
21
  const MAC_ENTER = 3;
@@ -1267,10 +1268,16 @@ const enUSLocaleData = {
1267
1268
  error: 'The search with such name already exists',
1268
1269
  errorHint: 'Could not save the filter. Try again or contact the administrator.',
1269
1270
  saveButton: 'Save',
1270
- cancelButton: 'Cancel'
1271
+ cancelButton: 'Cancel',
1272
+ actionsTooltip: 'Filter actions'
1271
1273
  },
1272
1274
  add: {
1273
- tooltip: 'Add filter'
1275
+ tooltip: 'Add filter',
1276
+ addedAnnouncement: '{{ name }} filter added'
1277
+ },
1278
+ refresher: {
1279
+ refresh: 'Refresh',
1280
+ settings: 'Refresh settings'
1274
1281
  },
1275
1282
  pipe: {
1276
1283
  clearButtonTooltip: 'Clear',
@@ -1324,10 +1331,13 @@ const enUSLocaleData = {
1324
1331
  to: 'to',
1325
1332
  apply: 'Apply',
1326
1333
  cancel: 'Cancel',
1327
- rangeLabel: 'for period',
1334
+ rangeLabel: 'Period',
1328
1335
  allTime: 'for all time',
1329
1336
  currentQuarter: 'for the current quarter',
1330
- currentYear: 'for the current year'
1337
+ currentYear: 'for the current year',
1338
+ allTimeOption: 'All time',
1339
+ currentQuarterOption: 'Current quarter',
1340
+ currentYearOption: 'Current year'
1331
1341
  },
1332
1342
  durationTemplate: {
1333
1343
  title: {
@@ -1369,31 +1379,31 @@ const enUSLocaleData = {
1369
1379
  LAST_PART_SEPARATOR: '',
1370
1380
  YEARS: `{years, plural,
1371
1381
  one {# year}
1372
- other {last # years}
1382
+ other {Last # years}
1373
1383
  }`,
1374
1384
  MONTHS: `{months, plural,
1375
- one {last month}
1376
- other {last # months}
1385
+ one {Last month}
1386
+ other {Last # months}
1377
1387
  }`,
1378
1388
  WEEKS: `{weeks, plural,
1379
- one {last week}
1380
- other {last # weeks}
1389
+ one {Last week}
1390
+ other {Last # weeks}
1381
1391
  }`,
1382
1392
  DAYS: `{days, plural,
1383
- one {last day}
1384
- other {last # days}
1393
+ one {Last day}
1394
+ other {Last # days}
1385
1395
  }`,
1386
1396
  HOURS: `{hours, plural,
1387
- one {last hour}
1388
- other {last # hours}
1397
+ one {Last hour}
1398
+ other {Last # hours}
1389
1399
  }`,
1390
1400
  MINUTES: `{minutes, plural,
1391
- one {last minute}
1392
- other {last # minutes}
1401
+ one {Last minute}
1402
+ other {Last # minutes}
1393
1403
  }`,
1394
1404
  SECONDS: `{seconds, plural,
1395
- one {last second}
1396
- other {last # seconds}
1405
+ one {Last second}
1406
+ other {Last # seconds}
1397
1407
  }`,
1398
1408
  YEARS_FRACTION: `{years} years`,
1399
1409
  MONTHS_FRACTION: `{months} months`
@@ -1407,7 +1417,8 @@ const enUSLocaleData = {
1407
1417
  showPopUpNotifications: 'Show pop-up notifications',
1408
1418
  noNotifications: 'No notifications',
1409
1419
  failedToLoadNotifications: 'Failed to load notifications',
1410
- repeat: 'Repeat'
1420
+ repeat: 'Repeat',
1421
+ loadingMore: 'Loading more notifications'
1411
1422
  }
1412
1423
  };
1413
1424
 
@@ -1482,10 +1493,16 @@ const esLALocaleData = {
1482
1493
  error: 'Ya existe una búsqueda con ese nombre',
1483
1494
  errorHint: 'No se pudo guardar el filtro. Intente de nuevo o comuníquese con el administrador.',
1484
1495
  saveButton: 'Guardar',
1485
- cancelButton: 'Cancelar'
1496
+ cancelButton: 'Cancelar',
1497
+ actionsTooltip: 'Acciones de filtro'
1486
1498
  },
1487
1499
  add: {
1488
- tooltip: 'Agregar filtro'
1500
+ tooltip: 'Agregar filtro',
1501
+ addedAnnouncement: 'Filtro {{ name }} agregado'
1502
+ },
1503
+ refresher: {
1504
+ refresh: 'Actualizar',
1505
+ settings: 'Configuración de actualización'
1489
1506
  },
1490
1507
  pipe: {
1491
1508
  clearButtonTooltip: 'Borrar',
@@ -1539,10 +1556,13 @@ const esLALocaleData = {
1539
1556
  to: 'a',
1540
1557
  apply: 'Aplicar',
1541
1558
  cancel: 'Cancelar',
1542
- rangeLabel: 'para el período',
1559
+ rangeLabel: 'Período',
1543
1560
  allTime: 'por todo el tiempo',
1544
1561
  currentQuarter: 'por el trimestre actual',
1545
- currentYear: 'por el año actual'
1562
+ currentYear: 'por el año actual',
1563
+ allTimeOption: 'Todo el tiempo',
1564
+ currentQuarterOption: 'Trimestre actual',
1565
+ currentYearOption: 'Año actual'
1546
1566
  },
1547
1567
  durationTemplate: {
1548
1568
  title: {
@@ -1584,31 +1604,31 @@ const esLALocaleData = {
1584
1604
  LAST_PART_SEPARATOR: '',
1585
1605
  YEARS: `{years, plural,
1586
1606
  one {# año}
1587
- other {últimos # años}
1607
+ other {Últimos # años}
1588
1608
  }`,
1589
1609
  MONTHS: `{months, plural,
1590
- one {último mes}
1591
- other {últimos # meses}
1610
+ one {Último mes}
1611
+ other {Últimos # meses}
1592
1612
  }`,
1593
1613
  WEEKS: `{weeks, plural,
1594
- one {última semana}
1595
- other {últimas # semanas}
1614
+ one {Última semana}
1615
+ other {Últimas # semanas}
1596
1616
  }`,
1597
1617
  DAYS: `{days, plural,
1598
- one {último día}
1599
- other {últimos # días}
1618
+ one {Último día}
1619
+ other {Últimos # días}
1600
1620
  }`,
1601
1621
  HOURS: `{hours, plural,
1602
- one {última hora}
1603
- other {últimas # horas}
1622
+ one {Última hora}
1623
+ other {Últimas # horas}
1604
1624
  }`,
1605
1625
  MINUTES: `{minutes, plural,
1606
- one {último minuto}
1607
- other {últimos # minutos}
1626
+ one {Último minuto}
1627
+ other {Últimos # minutos}
1608
1628
  }`,
1609
1629
  SECONDS: `{seconds, plural,
1610
- one {último segundo}
1611
- other {últimos # segundos}
1630
+ one {Último segundo}
1631
+ other {Últimos # segundos}
1612
1632
  }`,
1613
1633
  YEARS_FRACTION: `{years} años`,
1614
1634
  MONTHS_FRACTION: `{months} meses`
@@ -1622,7 +1642,8 @@ const esLALocaleData = {
1622
1642
  showPopUpNotifications: 'Mostrar notificaciones emergentes',
1623
1643
  noNotifications: 'Sin notificaciones',
1624
1644
  failedToLoadNotifications: 'Error al cargar las notificaciones',
1625
- repeat: 'Repetir'
1645
+ repeat: 'Repetir',
1646
+ loadingMore: 'Cargando más notificaciones'
1626
1647
  }
1627
1648
  };
1628
1649
 
@@ -1697,10 +1718,16 @@ const ptBRLocaleData = {
1697
1718
  error: 'A busca com esse nome já existe',
1698
1719
  errorHint: 'O filtro não pôde ser salvo. Tente de novo ou entre em contato com o administrador.',
1699
1720
  saveButton: 'Salvar',
1700
- cancelButton: 'Cancelar'
1721
+ cancelButton: 'Cancelar',
1722
+ actionsTooltip: 'Ações do filtro'
1701
1723
  },
1702
1724
  add: {
1703
- tooltip: 'Adicionar filtros'
1725
+ tooltip: 'Adicionar filtros',
1726
+ addedAnnouncement: 'Filtro {{ name }} adicionado'
1727
+ },
1728
+ refresher: {
1729
+ refresh: 'Atualizar',
1730
+ settings: 'Configurações de atualização'
1704
1731
  },
1705
1732
  pipe: {
1706
1733
  clearButtonTooltip: 'Apagar',
@@ -1754,10 +1781,13 @@ const ptBRLocaleData = {
1754
1781
  to: 'até',
1755
1782
  apply: 'Aplicar',
1756
1783
  cancel: 'Cancelar',
1757
- rangeLabel: 'para o período',
1784
+ rangeLabel: 'Período',
1758
1785
  allTime: 'por todo o tempo',
1759
1786
  currentQuarter: 'pelo trimestre atual',
1760
- currentYear: 'pelo ano atual'
1787
+ currentYear: 'pelo ano atual',
1788
+ allTimeOption: 'Todo o tempo',
1789
+ currentQuarterOption: 'Trimestre atual',
1790
+ currentYearOption: 'Ano atual'
1761
1791
  },
1762
1792
  durationTemplate: {
1763
1793
  title: {
@@ -1799,31 +1829,31 @@ const ptBRLocaleData = {
1799
1829
  LAST_PART_SEPARATOR: '',
1800
1830
  YEARS: `{years, plural,
1801
1831
  one {# ano}
1802
- other {últimos # anos}
1832
+ other {Últimos # anos}
1803
1833
  }`,
1804
1834
  MONTHS: `{months, plural,
1805
- one {último mês}
1806
- other {últimos # meses}
1835
+ one {Último mês}
1836
+ other {Últimos # meses}
1807
1837
  }`,
1808
1838
  WEEKS: `{weeks, plural,
1809
- one {última semana}
1810
- other {últimas # semanas}
1839
+ one {Última semana}
1840
+ other {Últimas # semanas}
1811
1841
  }`,
1812
1842
  DAYS: `{days, plural,
1813
- one {último dia}
1814
- other {últimos # dias}
1843
+ one {Último dia}
1844
+ other {Últimos # dias}
1815
1845
  }`,
1816
1846
  HOURS: `{hours, plural,
1817
- one {última hora}
1818
- other {últimas # horas}
1847
+ one {Última hora}
1848
+ other {Últimas # horas}
1819
1849
  }`,
1820
1850
  MINUTES: `{minutes, plural,
1821
- one {último minuto}
1822
- other {últimos # minutos}
1851
+ one {Último minuto}
1852
+ other {Últimos # minutos}
1823
1853
  }`,
1824
1854
  SECONDS: `{seconds, plural,
1825
- one {último segundo}
1826
- other {últimos # segundos}
1855
+ one {Último segundo}
1856
+ other {Últimos # segundos}
1827
1857
  }`,
1828
1858
  YEARS_FRACTION: `{years} anos`,
1829
1859
  MONTHS_FRACTION: `{months} meses`
@@ -1837,7 +1867,8 @@ const ptBRLocaleData = {
1837
1867
  showPopUpNotifications: 'Mostrar notificações pop-up',
1838
1868
  noNotifications: 'Sem notificações',
1839
1869
  failedToLoadNotifications: 'Falha ao carregar notificações',
1840
- repeat: 'Repetir'
1870
+ repeat: 'Repetir',
1871
+ loadingMore: 'Carregando mais notificações'
1841
1872
  }
1842
1873
  };
1843
1874
 
@@ -1913,10 +1944,16 @@ const ruRULocaleData = {
1913
1944
  error: 'Поиск с таким названием уже существует',
1914
1945
  errorHint: 'Не удалось сохранить фильтр. Попробуйте снова или сообщите администратору.',
1915
1946
  saveButton: 'Сохранить',
1916
- cancelButton: 'Отмена'
1947
+ cancelButton: 'Отмена',
1948
+ actionsTooltip: 'Действия с фильтром'
1917
1949
  },
1918
1950
  add: {
1919
- tooltip: 'Добавить фильтр'
1951
+ tooltip: 'Добавить фильтр',
1952
+ addedAnnouncement: 'Фильтр {{ name }} добавлен'
1953
+ },
1954
+ refresher: {
1955
+ refresh: 'Обновить',
1956
+ settings: 'Настройки обновления'
1920
1957
  },
1921
1958
  pipe: {
1922
1959
  clearButtonTooltip: 'Очистить',
@@ -1970,10 +2007,13 @@ const ruRULocaleData = {
1970
2007
  to: 'по',
1971
2008
  apply: 'Применить',
1972
2009
  cancel: 'Отмена',
1973
- rangeLabel: 'за период',
2010
+ rangeLabel: 'Период',
1974
2011
  allTime: 'за все время',
1975
2012
  currentQuarter: 'за текущий квартал',
1976
- currentYear: 'за текущий год'
2013
+ currentYear: 'за текущий год',
2014
+ allTimeOption: 'Все время',
2015
+ currentQuarterOption: 'Текущий квартал',
2016
+ currentYearOption: 'Текущий год'
1977
2017
  },
1978
2018
  durationTemplate: {
1979
2019
  title: {
@@ -1981,7 +2021,7 @@ const ruRULocaleData = {
1981
2021
  LAST_PART_SEPARATOR: 'и',
1982
2022
  YEARS: `{years, plural,
1983
2023
  one {# год}
1984
- few {последние # лет}
2024
+ few {последние # года}
1985
2025
  other {последние # лет}
1986
2026
  }`,
1987
2027
  MONTHS: `{months, plural,
@@ -2021,39 +2061,39 @@ const ruRULocaleData = {
2021
2061
  SEPARATOR: ' ',
2022
2062
  LAST_PART_SEPARATOR: 'и',
2023
2063
  YEARS: `{years, plural,
2024
- one {последний год}
2025
- few {последние # лет}
2026
- other {последние # лет}
2064
+ one {Последний год}
2065
+ few {Последние # года}
2066
+ other {Последние # лет}
2027
2067
  }`,
2028
2068
  MONTHS: `{months, plural,
2029
- one {последний месяц}
2030
- few {последние # месяца}
2031
- other {последние # месяцев}
2069
+ one {Последний месяц}
2070
+ few {Последние # месяца}
2071
+ other {Последние # месяцев}
2032
2072
  }`,
2033
2073
  WEEKS: `{weeks, plural,
2034
- one {последняя неделя}
2035
- few {последние # недели}
2036
- other {последние # недель}
2074
+ one {Последняя неделя}
2075
+ few {Последние # недели}
2076
+ other {Последние # недель}
2037
2077
  }`,
2038
2078
  DAYS: `{days, plural,
2039
- one {последний день}
2040
- few {последние # дня}
2041
- other {последние # дней}
2079
+ one {Последний день}
2080
+ few {Последние # дня}
2081
+ other {Последние # дней}
2042
2082
  }`,
2043
2083
  HOURS: `{hours, plural,
2044
- one {последний час}
2045
- few {последние # часа}
2046
- other {последние # часов}
2084
+ one {Последний час}
2085
+ few {Последние # часа}
2086
+ other {Последние # часов}
2047
2087
  }`,
2048
2088
  MINUTES: `{minutes, plural,
2049
- one {последняя минута}
2050
- few {последние # минуты}
2051
- other {последние # минут}
2089
+ one {Последняя минута}
2090
+ few {Последние # минуты}
2091
+ other {Последние # минут}
2052
2092
  }`,
2053
2093
  SECONDS: `{seconds, plural,
2054
- one {последняя секунда}
2055
- few {последние # секунды}
2056
- other {последние # секунд}
2094
+ one {Последняя секунда}
2095
+ few {Последние # секунды}
2096
+ other {Последние # секунд}
2057
2097
  }`,
2058
2098
  YEARS_FRACTION: `{years} лет`,
2059
2099
  MONTHS_FRACTION: `{months} месяцев`
@@ -2067,7 +2107,8 @@ const ruRULocaleData = {
2067
2107
  showPopUpNotifications: 'Показывать всплывающие уведомления',
2068
2108
  noNotifications: 'Нет уведомлений',
2069
2109
  failedToLoadNotifications: 'Не удалось загрузить уведомления',
2070
- repeat: 'Повторить'
2110
+ repeat: 'Повторить',
2111
+ loadingMore: 'Загрузка уведомлений'
2071
2112
  }
2072
2113
  };
2073
2114
 
@@ -2143,10 +2184,16 @@ const tkTMLocaleData = {
2143
2184
  error: 'Şeýle atly gözleg eýýäm bar',
2144
2185
  errorHint: 'Filtri ýazdyryp bolmady. Täzeden synanyň ýa-da administratora ýüz tutuň.',
2145
2186
  saveButton: 'Ýazdyr',
2146
- cancelButton: 'Ýatyr'
2187
+ cancelButton: 'Ýatyr',
2188
+ actionsTooltip: 'Filtr amallary'
2147
2189
  },
2148
2190
  add: {
2149
- tooltip: 'Filtr goş'
2191
+ tooltip: 'Filtr goş',
2192
+ addedAnnouncement: '{{ name }} filtri goşuldy'
2193
+ },
2194
+ refresher: {
2195
+ refresh: 'Täzele',
2196
+ settings: 'Täzeleme sazlamalary'
2150
2197
  },
2151
2198
  pipe: {
2152
2199
  clearButtonTooltip: 'Arassala',
@@ -2200,10 +2247,13 @@ const tkTMLocaleData = {
2200
2247
  to: 'şuňa',
2201
2248
  apply: 'Ulanmak',
2202
2249
  cancel: 'Ýatyrmak',
2203
- rangeLabel: 'şu döwürde',
2250
+ rangeLabel: 'Döwür',
2204
2251
  allTime: 'hemme döwür üçin',
2205
2252
  currentQuarter: 'şu çärýek üçin',
2206
- currentYear: 'şu ýyl üçin'
2253
+ currentYear: 'şu ýyl üçin',
2254
+ allTimeOption: 'Hemme döwür',
2255
+ currentQuarterOption: 'Şu çärýek',
2256
+ currentYearOption: 'Şu ýyl'
2207
2257
  },
2208
2258
  durationTemplate: {
2209
2259
  title: {
@@ -2248,27 +2298,27 @@ const tkTMLocaleData = {
2248
2298
  other {# ýyl}
2249
2299
  }`,
2250
2300
  MONTHS: `{months, plural,
2251
- one {}
2301
+ one {}
2252
2302
  other {# aý}
2253
2303
  }`,
2254
2304
  WEEKS: `{weeks, plural,
2255
- one {hepde}
2305
+ one {Hepde}
2256
2306
  other {# hepde}
2257
2307
  }`,
2258
2308
  DAYS: `{days, plural,
2259
- one {gün}
2309
+ one {Gün}
2260
2310
  other {# gün}
2261
2311
  }`,
2262
2312
  HOURS: `{hours, plural,
2263
- one {sagat}
2313
+ one {Sagat}
2264
2314
  other {# sagat}
2265
2315
  }`,
2266
2316
  MINUTES: `{minutes, plural,
2267
- one {minut}
2317
+ one {Minut}
2268
2318
  other {# minut}
2269
2319
  }`,
2270
2320
  SECONDS: `{seconds, plural,
2271
- one {sekunt}
2321
+ one {Sekunt}
2272
2322
  other {# sekunt}
2273
2323
  }`,
2274
2324
  YEARS_FRACTION: `{years} ýyl`,
@@ -2283,7 +2333,8 @@ const tkTMLocaleData = {
2283
2333
  showPopUpNotifications: 'Açylýan bildirişleri görkeziň',
2284
2334
  noNotifications: 'Duýduryş ýok',
2285
2335
  failedToLoadNotifications: 'Duýduryşlary ýükläp bilmedi',
2286
- repeat: 'Gaýtalama'
2336
+ repeat: 'Gaýtalama',
2337
+ loadingMore: 'Duýduryşlar ýüklenýär'
2287
2338
  }
2288
2339
  };
2289
2340
 
@@ -4592,6 +4643,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
4592
4643
  }]
4593
4644
  }] });
4594
4645
 
4646
+ /**
4647
+ * Canonical "select all / deselect all" toggle shared by the multi-select components (`Ctrl`/`Cmd` + `A`).
4648
+ *
4649
+ * Considers only selectable items and selects them all. When `allowDeselect` is `true` and every selectable
4650
+ * item is already selected, deselects them all instead; otherwise a repeated call is a no-op. No-op when
4651
+ * there are no selectable items.
4652
+ *
4653
+ * @returns the items whose selected state actually flipped, in input order.
4654
+ */
4655
+ function toggleSelectAll(adapter, options) {
4656
+ const selectable = adapter.items.filter((item) => adapter.isSelectable(item));
4657
+ if (selectable.length === 0) {
4658
+ return [];
4659
+ }
4660
+ const shouldSelect = !options?.allowDeselect || selectable.some((item) => !adapter.isSelected(item));
4661
+ const changed = selectable.filter((item) => adapter.isSelected(item) !== shouldSelect);
4662
+ selectable.forEach((item) => adapter.setSelected(item, shouldSelect));
4663
+ return changed;
4664
+ }
4665
+ /** Event emitted by the `onSelectAll` outputs when the select-all toggle runs. */
4666
+ class KbqSelectAllEvent {
4667
+ constructor(
4668
+ /** Component that emitted the event. */
4669
+ source,
4670
+ /** The selectable options affected by the toggle. */
4671
+ options,
4672
+ /** `true` when all options were selected, `false` when all were deselected. */
4673
+ selected) {
4674
+ this.source = source;
4675
+ this.options = options;
4676
+ this.selected = selected;
4677
+ }
4678
+ }
4679
+ /**
4680
+ * Whether `Ctrl`/`Cmd` + `A` should select the text of a search `<input>` rather than toggle options.
4681
+ *
4682
+ * Returns `true` only when the input has text that is not already fully selected (nothing selected,
4683
+ * a partial selection, or just a caret). Returns `false` for an empty input (so select-all falls
4684
+ * straight through to the options) and when the whole value is already selected (a second press
4685
+ * then acts on the options).
4686
+ */
4687
+ function shouldSelectSearchText(input) {
4688
+ if (!input) {
4689
+ return false;
4690
+ }
4691
+ const length = input.value.length;
4692
+ if (length === 0) {
4693
+ return false;
4694
+ }
4695
+ return !(input.selectionStart === 0 && input.selectionEnd === length);
4696
+ }
4697
+
4595
4698
  const KBQ_TITLE_TEXT_REF = new InjectionToken('KbqTitleTextRef');
4596
4699
 
4597
4700
  /**
@@ -4747,11 +4850,7 @@ class KbqOption extends KbqOptionBase {
4747
4850
  }
4748
4851
  /** @docs-private */
4749
4852
  getHeight() {
4750
- const element = this.elementRef.nativeElement;
4751
- // For SSR compatibility
4752
- if (typeof element.getClientRects !== 'function')
4753
- return 0;
4754
- return element.getClientRects()[0]?.height ?? 0;
4853
+ return this.elementRef.nativeElement.getClientRects()[0]?.height ?? 0;
4755
4854
  }
4756
4855
  select(emitEvent = true) {
4757
4856
  if (!this._selected) {
@@ -5335,6 +5434,143 @@ function objectValues(object) {
5335
5434
  return object === null ? [] : baseValues(object, Object.keys(object));
5336
5435
  }
5337
5436
 
5437
+ /**
5438
+ * Element used by {@link KbqShadowDomOverlayContainer} to locate the shadow root that should host overlays.
5439
+ *
5440
+ * When not provided, the container falls back to the application root component element.
5441
+ */
5442
+ const KBQ_SHADOW_DOM_OVERLAY_HOST = new InjectionToken('KBQ_SHADOW_DOM_OVERLAY_HOST');
5443
+ /** Marks the structural overlay stylesheet that {@link KbqShadowDomOverlayContainer} clones into a shadow root. */
5444
+ const overlayStructuralStylesAttribute = 'data-kbq-overlay-structural-styles';
5445
+ /**
5446
+ * `OverlayContainer` that places the `.cdk-overlay-container` inside a shadow root instead of `document.body`.
5447
+ *
5448
+ * The default CDK `OverlayContainer` always appends its container to `document.body`. When the application is
5449
+ * rendered inside a shadow root (e.g. a Module Federation micro-frontend), overlays — toasts, modals, dropdowns,
5450
+ * tooltips, etc. — escape the shadow tree into the light DOM. There they lose access to the styles and theme tokens
5451
+ * scoped to the shadow root (Koobiq theme tokens are defined on the `.kbq-light` / `.kbq-dark` ancestor), which
5452
+ * results in unstyled overlays.
5453
+ *
5454
+ * This container resolves the target shadow root from {@link KBQ_SHADOW_DOM_OVERLAY_HOST} (or the root component when
5455
+ * the token is absent) and relocates the overlay container into it. After relocating, it also clones CDK's own
5456
+ * structural overlay stylesheet (`position`/`z-index`/backdrop, `.cdk-overlay-container:empty`) into the shadow root,
5457
+ * since those `document.head` styles do not cross the shadow boundary. If no shadow root is found — the common case
5458
+ * for an app rendered directly in the light DOM — the container is left on `document.body`, so it is safe to provide
5459
+ * unconditionally.
5460
+ *
5461
+ * Only **open** shadow roots can be resolved: a closed shadow root exposes neither `Element.shadowRoot` nor a
5462
+ * `ShadowRoot` from `getRootNode()`, so pass an element that already lives inside the closed tree if you must use one.
5463
+ *
5464
+ * Note: this fixes the overlay container *placement* and delivers the CDK structural overlay styles. The host
5465
+ * application is still responsible for delivering the **Koobiq component/theme styles** (the `.kbq-light` / `.kbq-dark`
5466
+ * tokens and component CSS) into the shadow root, since global `document.head` stylesheets do not cascade across a
5467
+ * shadow boundary.
5468
+ *
5469
+ * @see kbqShadowDomOverlayProvider
5470
+ */
5471
+ class KbqShadowDomOverlayContainer extends OverlayContainer {
5472
+ constructor() {
5473
+ super(...arguments);
5474
+ this.host = inject(KBQ_SHADOW_DOM_OVERLAY_HOST, { optional: true });
5475
+ this.applicationRef = inject(ApplicationRef);
5476
+ }
5477
+ /** @internal CDK lifecycle hook — overridden to relocate the container into a shadow root. */
5478
+ _createContainer() {
5479
+ // Let CDK create the container (and run its test-environment cleanup). It is appended to `document.body`.
5480
+ super._createContainer();
5481
+ const shadowRoot = this.resolveShadowRoot();
5482
+ if (shadowRoot) {
5483
+ // Relocate the container into the shadow root and deliver the structural overlay styles alongside it.
5484
+ shadowRoot.appendChild(this._containerElement);
5485
+ this.deliverStructuralStyles(shadowRoot);
5486
+ }
5487
+ else if (this.host != null) {
5488
+ // An explicit host was provided but did not resolve to an open shadow root (wrong element, a closed
5489
+ // shadow root, or an element not yet inside a shadow tree). The container stays on `document.body`, so
5490
+ // overlays would render unstyled — warn instead of failing silently.
5491
+ // eslint-disable-next-line no-console
5492
+ console.warn('[KbqShadowDomOverlayContainer] The provided host did not resolve to an open shadow root; the ' +
5493
+ 'overlay container stays on document.body. Ensure the host element (or an element inside its ' +
5494
+ 'shadow tree) uses an open shadow root.');
5495
+ }
5496
+ }
5497
+ /**
5498
+ * Clones CDK's structural overlay stylesheet into the shadow root.
5499
+ *
5500
+ * CDK ships the overlay's structural CSS as a `ViewEncapsulation.None` component, so Angular injects it as a
5501
+ * `<style>` in `document.head` synchronously — `OverlayContainer.getContainerElement()` loads it before
5502
+ * `_createContainer()` runs. Those rules do not cross the shadow boundary, so a relocated container would
5503
+ * otherwise be unpositioned. Cloning the already-injected stylesheet keeps it version-matched to the installed
5504
+ * `@angular/cdk` and is idempotent.
5505
+ */
5506
+ deliverStructuralStyles(shadowRoot) {
5507
+ if (shadowRoot.querySelector(`style[${overlayStructuralStylesAttribute}]`)) {
5508
+ return;
5509
+ }
5510
+ const sourceStyle = Array.from(this._document.head.querySelectorAll('style')).find((style) => style.textContent?.includes('.cdk-overlay-pane'));
5511
+ if (sourceStyle) {
5512
+ const clone = sourceStyle.cloneNode(true);
5513
+ clone.setAttribute(overlayStructuralStylesAttribute, '');
5514
+ shadowRoot.appendChild(clone);
5515
+ }
5516
+ }
5517
+ resolveShadowRoot() {
5518
+ const element = this.resolveHostElement();
5519
+ if (!element) {
5520
+ return null;
5521
+ }
5522
+ // The host can be the shadow host itself (the common case — the MFE root element)...
5523
+ const ownShadowRoot = element.shadowRoot;
5524
+ if (ownShadowRoot) {
5525
+ return ownShadowRoot;
5526
+ }
5527
+ // ...or an element that already lives inside the shadow tree.
5528
+ const rootNode = element.getRootNode();
5529
+ return typeof ShadowRoot !== 'undefined' && rootNode instanceof ShadowRoot ? rootNode : null;
5530
+ }
5531
+ resolveHostElement() {
5532
+ if (this.host) {
5533
+ const resolved = typeof this.host === 'function' ? this.host() : this.host;
5534
+ if (resolved instanceof ElementRef) {
5535
+ return resolved.nativeElement;
5536
+ }
5537
+ return resolved ?? null;
5538
+ }
5539
+ // No explicit host provided — fall back to the application root component element.
5540
+ return this.applicationRef.components[0]?.location.nativeElement ?? null;
5541
+ }
5542
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqShadowDomOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
5543
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqShadowDomOverlayContainer }); }
5544
+ }
5545
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: KbqShadowDomOverlayContainer, decorators: [{
5546
+ type: Injectable
5547
+ }] });
5548
+ /**
5549
+ * Providers that route all CDK overlays into a shadow root via {@link KbqShadowDomOverlayContainer}.
5550
+ *
5551
+ * Add it to the bootstrap providers of an application rendered inside a shadow root:
5552
+ *
5553
+ * ```ts
5554
+ * bootstrapApplication(AppComponent, {
5555
+ * providers: kbqShadowDomOverlayProvider(() => document.querySelector('my-mfe-root')!)
5556
+ * });
5557
+ * ```
5558
+ *
5559
+ * The provider replaces the global `OverlayContainer` token, so it cannot be combined with another custom
5560
+ * `OverlayContainer` (e.g. CDK's `FullscreenOverlayContainer`) — the last provider wins. Apps that need both must
5561
+ * subclass `KbqShadowDomOverlayContainer`.
5562
+ *
5563
+ * @param host element (or getter / `ElementRef`) inside the target shadow tree. When omitted, the application root
5564
+ * component element is used to resolve the shadow root.
5565
+ */
5566
+ const kbqShadowDomOverlayProvider = (host) => {
5567
+ const providers = [{ provide: OverlayContainer, useClass: KbqShadowDomOverlayContainer }];
5568
+ if (host !== undefined) {
5569
+ providers.push({ provide: KBQ_SHADOW_DOM_OVERLAY_HOST, useValue: host });
5570
+ }
5571
+ return providers;
5572
+ };
5573
+
5338
5574
  /**
5339
5575
  * InjectionToken for providing component with popup. Used in select and tree-select for tooltip.
5340
5576
  */
@@ -5601,42 +5837,91 @@ const getOffset = ({ originX, overlayX, originY, overlayY }, { width, height })
5601
5837
  }
5602
5838
  return offset;
5603
5839
  };
5840
+ /**
5841
+ * Abstract base directive for hover/focus/click-triggered pop-ups (e.g. tooltip and popover). It manages the
5842
+ * CDK overlay lifecycle, binds the trigger event listeners, resolves placement via a flexible connected position
5843
+ * strategy, and controls show/hide timing. Concrete subclasses supply the pop-up component type, its content,
5844
+ * and the overlay configuration.
5845
+ */
5604
5846
  class KbqPopUpTrigger {
5605
5847
  constructor() {
5606
- /** Stream that emits when the popupTrigger is hovered. */
5848
+ /** Stream that emits when the popupTrigger is hovered.
5849
+ * @docs-private */
5607
5850
  this.hovered = new BehaviorSubject(false);
5851
+ /** RxJS scheduler that drives the hide timeout; `undefined` falls back to the default async scheduler.
5852
+ * @docs-private */
5608
5853
  this.scheduler = inject(AsyncScheduler, { optional: true }) || undefined;
5854
+ /** CDK Overlay service used to create and position the pop-up overlay.
5855
+ * @docs-private */
5609
5856
  this.overlay = inject(Overlay);
5857
+ /** Reference to the host element the pop-up is anchored to.
5858
+ * @docs-private */
5610
5859
  this.elementRef = inject(ElementRef);
5860
+ /** Angular zone, used to run the hide timer outside Angular and re-enter when hiding.
5861
+ * @docs-private */
5611
5862
  this.ngZone = inject(NgZone);
5863
+ /** CDK ScrollDispatcher, used to track ancestor scroll containers so the pop-up repositions on scroll.
5864
+ * @docs-private */
5612
5865
  this.scrollDispatcher = inject(ScrollDispatcher);
5866
+ /** CDK ViewportRuler, used to re-apply the stick-to-window position on window resize.
5867
+ * @docs-private */
5868
+ this.viewportRuler = inject(ViewportRuler);
5869
+ /** View container the pop-up component portal is attached to.
5870
+ * @docs-private */
5613
5871
  this.hostView = inject(ViewContainerRef);
5872
+ /** Text direction (LTR/RTL) applied to the overlay when a `Directionality` is available.
5873
+ * @docs-private */
5614
5874
  this.direction = inject(Directionality, { optional: true });
5875
+ /** Destroy reference used to auto-unsubscribe streams when the directive is destroyed.
5876
+ * @docs-private */
5615
5877
  this.destroyRef = inject(DestroyRef);
5878
+ /** Nearest `CdkScrollable` ancestor, if any.
5879
+ * @docs-private */
5616
5880
  this.scrollable = inject(CdkScrollable, { optional: true });
5881
+ /** Change detector used to refresh the trigger when its open state changes. */
5617
5882
  this.popUpChangeDetectorRef = inject(ChangeDetectorRef);
5883
+ /** Backing field for `isOpen`. */
5618
5884
  this._isOpen = false;
5885
+ /** Delay in milliseconds before the pop-up is shown.
5886
+ * @docs-private */
5619
5887
  this.enterDelay = 0;
5888
+ /** Delay in milliseconds before the pop-up is hidden.
5889
+ * @docs-private */
5620
5890
  this.leaveDelay = 0;
5891
+ /** Current resolved placement of the pop-up.
5892
+ * @docs-private */
5621
5893
  this.placement = PopUpPlacements.Top;
5894
+ /** Ordered list of fallback placements to try before the default priority.
5895
+ * @docs-private */
5622
5896
  this.placementPriority = null;
5897
+ /** Whether the pop-up is currently visible.
5898
+ * @docs-private */
5623
5899
  this.visible = false;
5900
+ /** Map of event name to the handler currently bound on the host element.
5901
+ * @docs-private */
5624
5902
  this.listeners = new Map();
5903
+ /** Map of placement name to its CDK connected position pair.
5904
+ * @docs-private */
5625
5905
  this.availablePositions = POSITION_MAP;
5626
- /** Hide pop-up with timeout. Need if you want to show pop-up after leaving trigger */
5906
+ /** Hide pop-up with timeout. Need if you want to show pop-up after leaving trigger
5907
+ * @docs-private */
5627
5908
  this.hideWithTimeout = false;
5628
- /** prevents closure by any event */
5909
+ /** prevents closure by any event
5910
+ * @docs-private */
5629
5911
  this.preventClose = false;
5912
+ /** Detaches the overlay (if attached) and clears the current pop-up instance.
5913
+ * @docs-private */
5630
5914
  this.detach = () => {
5631
5915
  if (this.overlayRef?.hasAttached()) {
5632
5916
  this.overlayRef.detach();
5633
5917
  }
5634
5918
  this.instance = null;
5635
5919
  };
5920
+ /** Maps the CDK connection position back to a placement name, emits `placementChange`, and updates classes.
5921
+ * @docs-private */
5636
5922
  this.onPositionChange = ($event) => {
5637
- if (!this.instance) {
5923
+ if (!this.instance)
5638
5924
  return;
5639
- }
5640
5925
  let newPlacement = this.placement;
5641
5926
  const { originX, originY, overlayX, overlayY } = $event.connectionPair;
5642
5927
  Object.keys(this.availablePositions).some((key) => {
@@ -5653,13 +5938,16 @@ class KbqPopUpTrigger {
5653
5938
  this.updateClassMap(newPlacement);
5654
5939
  this.instance.detectChanges();
5655
5940
  };
5941
+ /** Binds a single event listener to the pop-up's native element. */
5656
5942
  this.addEventListener = (listener, event) => {
5657
5943
  this.getNativeElement().addEventListener(event, listener);
5658
5944
  };
5945
+ /** Unbinds a single event listener from the pop-up's native element. */
5659
5946
  this.removeEventListener = (listener, event) => {
5660
5947
  this.getNativeElement().removeEventListener(event, listener);
5661
5948
  };
5662
5949
  }
5950
+ /** Whether the pop-up overlay is currently open. */
5663
5951
  get isOpen() {
5664
5952
  return this._isOpen;
5665
5953
  }
@@ -5667,14 +5955,18 @@ class KbqPopUpTrigger {
5667
5955
  this._isOpen = value;
5668
5956
  this.popUpChangeDetectorRef.markForCheck();
5669
5957
  }
5958
+ /** Binds the DOM event listeners for the configured triggers. */
5670
5959
  ngOnInit() {
5671
5960
  this.initListeners();
5672
5961
  }
5962
+ /** Disposes the overlay and removes all bound event listeners. */
5673
5963
  ngOnDestroy() {
5674
5964
  this.overlayRef?.dispose();
5675
5965
  this.listeners.forEach(this.removeEventListener);
5676
5966
  this.listeners.clear();
5677
5967
  }
5968
+ /** Sets the placement (falling back to `Top` on an unknown value) and refreshes the classes and position.
5969
+ * @docs-private */
5678
5970
  updatePlacement(value) {
5679
5971
  if (POSITION_TO_CSS_MAP[value]) {
5680
5972
  this.placement = value;
@@ -5689,6 +5981,8 @@ class KbqPopUpTrigger {
5689
5981
  this.updatePosition();
5690
5982
  }
5691
5983
  }
5984
+ /** Sets the ordered list of fallback placements, or clears it when the value is empty.
5985
+ * @docs-private */
5692
5986
  updatePlacementPriority(value) {
5693
5987
  if (value && value.length > 0) {
5694
5988
  this.placementPriority = value;
@@ -5697,6 +5991,8 @@ class KbqPopUpTrigger {
5697
5991
  this.placementPriority = null;
5698
5992
  }
5699
5993
  }
5994
+ /** Coerces and applies an external visibility value by showing or hiding the pop-up when it changes.
5995
+ * @docs-private */
5700
5996
  updateVisible(externalValue) {
5701
5997
  const value = coerceBooleanProperty(externalValue);
5702
5998
  if (this.visible !== value) {
@@ -5709,14 +6005,20 @@ class KbqPopUpTrigger {
5709
6005
  }
5710
6006
  }
5711
6007
  }
6008
+ /** Closes the pop-up when `Escape` is pressed while it is open. Bound to the host `keydown` event.
6009
+ * @docs-private */
5712
6010
  keydownHandler(event) {
5713
6011
  if (this.isOpen && event.keyCode === ESCAPE) {
5714
6012
  this.hide();
5715
6013
  }
5716
6014
  }
6015
+ /** Hides the pop-up. Bound to the host `touchend` event.
6016
+ * @docs-private */
5717
6017
  touchendHandler() {
5718
6018
  this.hide();
5719
6019
  }
6020
+ /** Creates the overlay (if needed) and shows the pop-up after `delay` ms, wiring its visibility stream.
6021
+ * @docs-private */
5720
6022
  show(delay = this.enterDelay) {
5721
6023
  if (this.disabled || this.instance) {
5722
6024
  return;
@@ -5739,6 +6041,14 @@ class KbqPopUpTrigger {
5739
6041
  });
5740
6042
  this.updatePosition();
5741
6043
  this.instance.show(delay);
6044
+ // The position strategy re-applies the overlay position on window resize (its ViewportRuler
6045
+ // subscription is created inside OverlayRef.attach(), i.e. before this one), wiping the manual
6046
+ // styles written by setStickPosition. Re-apply them after the strategy has run.
6047
+ // No-op when stickToWindow is not set.
6048
+ this.viewportRuler
6049
+ .change()
6050
+ .pipe(takeUntilDestroyed(this.instance.destroyRef))
6051
+ .subscribe(() => this.instance?.setStickPosition());
5742
6052
  if (this.hideWithTimeout && this.trigger.includes(PopUpTriggers.Hover)) {
5743
6053
  this.ngZone.runOutsideAngular(() => {
5744
6054
  interval(this.leaveDelay, this.scheduler)
@@ -5747,6 +6057,8 @@ class KbqPopUpTrigger {
5747
6057
  });
5748
6058
  }
5749
6059
  }
6060
+ /** Hides the pop-up after `delay` ms, honoring `preventClose` and the hover state on mouseleave.
6061
+ * @docs-private */
5750
6062
  hide(delay = this.leaveDelay) {
5751
6063
  if (this.preventClose)
5752
6064
  return;
@@ -5755,7 +6067,8 @@ class KbqPopUpTrigger {
5755
6067
  this.ngZone.run(() => this.instance?.hide(delay));
5756
6068
  }
5757
6069
  }
5758
- /** Create the overlay config and position strategy */
6070
+ /** Create the overlay config and position strategy
6071
+ * @docs-private */
5759
6072
  createOverlay() {
5760
6073
  if (this.overlayRef) {
5761
6074
  return this.overlayRef;
@@ -5780,9 +6093,13 @@ class KbqPopUpTrigger {
5780
6093
  this.overlayRef.detachments().pipe(takeUntilDestroyed(this.destroyRef)).subscribe(this.detach);
5781
6094
  return this.overlayRef;
5782
6095
  }
6096
+ /** Resets the overlay position origin back to the host element.
6097
+ * @docs-private */
5783
6098
  resetOrigin() {
5784
6099
  this.strategy.setOrigin(this.getNativeElement());
5785
6100
  }
6101
+ /** Rebinds the host DOM listeners (click/hover/focus/keydown) according to the configured triggers.
6102
+ * @docs-private */
5786
6103
  initListeners() {
5787
6104
  this.clearListeners();
5788
6105
  if (this.trigger.includes(PopUpTriggers.Click)) {
@@ -5807,13 +6124,16 @@ class KbqPopUpTrigger {
5807
6124
  }
5808
6125
  this.listeners.forEach(this.addEventListener);
5809
6126
  }
6127
+ /** Returns the `mouseleave` handler — a delayed hide when `hideWithTimeout` is set, otherwise an immediate hide.
6128
+ * @docs-private */
5810
6129
  getMouseLeaveListener() {
5811
6130
  if (this.hideWithTimeout) {
5812
6131
  return () => setTimeout(() => this.hide(), this.leaveDelay);
5813
6132
  }
5814
6133
  return this.hide;
5815
6134
  }
5816
- /** Updates the position of the current popover. */
6135
+ /** Updates the position of the current popover.
6136
+ * @docs-private */
5817
6137
  updatePosition(reapplyPosition = false) {
5818
6138
  this.overlayRef = this.createOverlay();
5819
6139
  this.subscribeOnClosingActions();
@@ -5824,21 +6144,24 @@ class KbqPopUpTrigger {
5824
6144
  setTimeout(() => position.reapplyLastPosition());
5825
6145
  }
5826
6146
  }
6147
+ /** Moves browser focus to the pop-up's native element.
6148
+ * @docs-private */
5827
6149
  focus() {
5828
6150
  this.getNativeElement().focus();
5829
6151
  }
5830
- /** @docs-private */
6152
+ /** Returns the element the pop-up is bound to: the external element when set, otherwise the host element.
6153
+ * @docs-private */
5831
6154
  getNativeElement() {
5832
6155
  return this.externalNativeElement || this.elementRef.nativeElement;
5833
6156
  }
5834
- /** @docs-private */
6157
+ /** Sets an external element to anchor and measure the pop-up against instead of the host element.
6158
+ * @docs-private */
5835
6159
  setExternalNativeElement(value) {
5836
6160
  this.externalNativeElement = value;
5837
6161
  }
5838
6162
  /**
5839
6163
  * Returns a list of positions that are aligned with the element's dimensions and offsets.
5840
- * @protected
5841
- */
6164
+ * @docs-private */
5842
6165
  getAdjustedPositions() {
5843
6166
  const res = [];
5844
6167
  for (const pos of this.getPrioritizedPositions()) {
@@ -5852,6 +6175,8 @@ class KbqPopUpTrigger {
5852
6175
  }
5853
6176
  return res;
5854
6177
  }
6178
+ /** Maps a priority placement value (or array of values) to the matching connected position pairs.
6179
+ * @docs-private */
5855
6180
  getPriorityPlacementStrategy(value) {
5856
6181
  const result = [];
5857
6182
  const possiblePositions = Object.keys(this.availablePositions);
@@ -5867,16 +6192,21 @@ class KbqPopUpTrigger {
5867
6192
  }
5868
6193
  return result;
5869
6194
  }
6195
+ /** Returns the positions to try: the custom `placementPriority` when set, otherwise the default strategy.
6196
+ * @docs-private */
5870
6197
  getPrioritizedPositions() {
5871
6198
  if (this.placementPriority) {
5872
6199
  return this.getPriorityPlacementStrategy(this.placementPriority);
5873
6200
  }
5874
6201
  return POSITION_PRIORITY_STRATEGY[this.placement];
5875
6202
  }
6203
+ /** Removes all bound host event listeners and clears the listener map.
6204
+ * @docs-private */
5876
6205
  clearListeners() {
5877
6206
  this.listeners.forEach(this.removeEventListener);
5878
6207
  this.listeners.clear();
5879
6208
  }
6209
+ /** Wraps a trigger handler so it records the active trigger name and mouse event before running. */
5880
6210
  createListener(name, listener) {
5881
6211
  return [
5882
6212
  name,
@@ -5887,11 +6217,13 @@ class KbqPopUpTrigger {
5887
6217
  }
5888
6218
  ];
5889
6219
  }
6220
+ /** Remembers the last mouse event on `mouseenter`, used for cursor-relative positioning. */
5890
6221
  saveMouseEvent(event) {
5891
6222
  if (this.triggerName === 'mouseenter') {
5892
6223
  this.mouseEvent = event;
5893
6224
  }
5894
6225
  }
6226
+ /** (Re)subscribes to the closing-action streams and hides the pop-up, ignoring prevented click events. */
5895
6227
  subscribeOnClosingActions() {
5896
6228
  this.closingActionsSubscription?.unsubscribe();
5897
6229
  this.closingActionsSubscription = this.closingActions()
@@ -6166,6 +6498,7 @@ class KbqMeasureScrollbarService {
6166
6498
  }
6167
6499
  constructor() {
6168
6500
  this.document = inject(DOCUMENT);
6501
+ this.platform = inject(Platform);
6169
6502
  this.scrollbarMeasure = {
6170
6503
  position: 'absolute',
6171
6504
  top: '-9999px',
@@ -6176,6 +6509,10 @@ class KbqMeasureScrollbarService {
6176
6509
  this.initScrollBarWidth();
6177
6510
  }
6178
6511
  initScrollBarWidth() {
6512
+ if (!this.platform.isBrowser) {
6513
+ this._scrollBarWidth = 0;
6514
+ return;
6515
+ }
6179
6516
  const scrollDiv = this.document.createElement('div');
6180
6517
  for (const scrollProp in this.scrollbarMeasure) {
6181
6518
  if (this.scrollbarMeasure.hasOwnProperty(scrollProp)) {
@@ -6407,11 +6744,11 @@ const validationTooltipShowDelay = 10;
6407
6744
  */
6408
6745
  const validationTooltipHideDelay = 3000;
6409
6746
 
6410
- const VERSION = new Version('20.0.0+sha-17501d3');
6747
+ const VERSION = new Version('20.1.0+sha-ba927bf');
6411
6748
 
6412
6749
  /**
6413
6750
  * Generated bundle index. Do not edit.
6414
6751
  */
6415
6752
 
6416
- export { A, ALT, APOSTROPHE, ARROW_BOTTOM_MARGIN_AND_HALF_HEIGHT, AT_SIGN, AbsoluteDateFormatterImpurePipe, AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterImpurePipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterImpurePipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterImpurePipe, AbsoluteShortDateTimeFormatterPipe, ActiveDescendantKeyManager, B, BACKSLASH, BACKSPACE, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, BaseFormatterPipe, BaseLocaleAwareFormatterPipe, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, DateAdapter, DateFormatter, E, EIGHT, END, ENTER, EQUALS, ESCAPE, EXTENDED_OVERLAY_POSITIONS, EmptyFocusTrapStrategy, ErrorStateMatcher, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, FileValidators, FocusKeyManager, G, H, HOME, I, INSERT, J, K, 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_DEFAULT_PRECISION_SEPARATOR, KBQ_FORM_FIELD_REF, KBQ_INVALID_VALUE_ERROR, 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_OVERFLOW_SHADOW_SOURCE, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_PARENT_POPUP, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD, KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG, KBQ_TITLE_TEXT_REF, KBQ_WINDOW, KbqAbsoluteLongDatePipe, KbqAbsoluteLongDateTimePipe, KbqAbsoluteShortDatePipe, KbqAbsoluteShortDateTimePipe, KbqAbstractSelect, KbqActionContainer, KbqAnimationCurves, KbqAnimationDurations, KbqColorDirective, KbqComponentColors, KbqDataSizePipe, KbqDecimalPipe, KbqDefaultThemes, KbqErrorStateTracker, KbqFieldSizingContent, KbqForm, KbqFormElement, KbqFormattersModule, KbqFormsModule, KbqHighlightBackgroundPipe, KbqHighlightModule, KbqHighlightPipe, KbqHover, KbqLine, KbqLineSetter, KbqLocaleService, KbqLocaleServiceModule, KbqMeasureScrollbarService, KbqMeasurementSystem, KbqNormalizeWhitespace, KbqOptgroup, KbqOption, KbqOptionActionComponent, KbqOptionBase, KbqOptionModule, KbqOptionSelectionChange, KbqOverflowShadowBottom, KbqOverflowShadowContainer, KbqOverflowShadowTop, KbqPopUp, KbqPopUpTrigger, KbqPseudoCheckbox, KbqPseudoCheckboxModule, KbqRangeLongDatePipe, KbqRangeLongDateTimePipe, KbqRangeMiddleDateTimePipe, KbqRangeShortDatePipe, KbqRangeShortDateTimePipe, KbqReadStateDirective, KbqRectangleItem, KbqRelativeLongDatePipe, KbqRelativeLongDateTimePipe, KbqRelativeShortDatePipe, KbqRelativeShortDateTimePipe, KbqRoundDecimalPipe, KbqSelectFooter, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqTableNumberPipe, KbqThemeSelector, KbqVirtualOption, L, LAST_MEDIA, LEFT_ARROW, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, ListKeyManager, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, MockNgZone, MultipleMode, N, NINE, NUMBER_FORMAT_REGEXP, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PRINT_SCREEN, PasswordValidators, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, Q, QUESTION_MARK, R, RIGHT_ARROW, 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, S, SCROLL_LOCK, SELECT_PANEL_VIEWPORT_PADDING, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, ShowOnControlDirtyErrorStateMatcher, ShowOnFormSubmitErrorStateMatcher, ShowRequiredOnSubmitErrorStateMatcher, T, TAB, THREE, TILDE, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, TWO, ThemePalette, ThemeService, U, UP_ARROW, V, VERSION, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, applyPopupMargins, checkAndNormalizeLocalizedNumber, countGroupLabelsBeforeOption, createFakeEvent, createKeyboardEvent, createMouseEvent, createTouchEvent, defaultOffsetY, dispatchEvent, dispatchFakeEvent, dispatchKeyboardEvent, dispatchMouseEvent, dispatchTouchEvent, enUSFormattersData, enUSLocaleData, esLAFormattersData, esLALocaleData, escapeRegExp, fadeAnimation, formatNumberWithLocale, getFormattedSizeParts, getHumanizedBytes, getKbqSelectDynamicMultipleError, getKbqSelectNonArrayValueError, getKbqSelectNonFunctionValueError, getNodesWithoutComments, getOptionScrollPosition, hasModifierKey, isBoolean, isControl, isCopy, isDigit, isElement, isFunctionKey, isHorizontalMovement, isHtmlElement, isHtmlElementOrNull, isInput, isLeftBracket, isLetterKey, isMac, isNull, isNumberKey, isNumpadKey, isRightBracket, isSelectAll, isUndefined, isVerticalMovement, isWithin, kbqErrorStateMatcherProvider, kbqFilesizeFormatterConfigurationProvider, kbqHighlightBackgroundMark, kbqHighlightMark, kbqInjectNativeElement, kbqLocaleServiceLangAttrNameProvider, kbqSelectAnimations, kbqSelectScrollStrategyProviderFactory, leftIconClassName, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, normalizeNumber, numberByParts, patchElementFocus, ptBRFormattersData, ptBRLocaleData, rightIconClassName, ruRUFormattersData, ruRULocaleData, selectEvents, tkTMFormattersData, tkTMLocaleData, typeInElement, validationTooltipHideDelay, validationTooltipShowDelay, wrappedErrorMessage };
6753
+ export { A, ALT, APOSTROPHE, ARROW_BOTTOM_MARGIN_AND_HALF_HEIGHT, AT_SIGN, AbsoluteDateFormatterImpurePipe, AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterImpurePipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterImpurePipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterImpurePipe, AbsoluteShortDateTimeFormatterPipe, ActiveDescendantKeyManager, B, BACKSLASH, BACKSPACE, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, BaseFormatterPipe, BaseLocaleAwareFormatterPipe, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, DateAdapter, DateFormatter, E, EIGHT, END, ENTER, EQUALS, ESCAPE, EXTENDED_OVERLAY_POSITIONS, EmptyFocusTrapStrategy, ErrorStateMatcher, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, FileValidators, FocusKeyManager, G, H, HOME, I, INSERT, J, K, 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_DEFAULT_PRECISION_SEPARATOR, KBQ_FORM_FIELD_REF, KBQ_INVALID_VALUE_ERROR, 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_OVERFLOW_SHADOW_SOURCE, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_PARENT_POPUP, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_SELECT_SEARCH_MIN_OPTIONS_THRESHOLD, KBQ_SHADOW_DOM_OVERLAY_HOST, KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG, KBQ_TITLE_TEXT_REF, KBQ_WINDOW, KbqAbsoluteLongDatePipe, KbqAbsoluteLongDateTimePipe, KbqAbsoluteShortDatePipe, KbqAbsoluteShortDateTimePipe, KbqAbstractSelect, KbqActionContainer, KbqAnimationCurves, KbqAnimationDurations, KbqColorDirective, KbqComponentColors, KbqDataSizePipe, KbqDecimalPipe, KbqDefaultThemes, KbqErrorStateTracker, KbqFieldSizingContent, KbqForm, KbqFormElement, KbqFormattersModule, KbqFormsModule, KbqHighlightBackgroundPipe, KbqHighlightModule, KbqHighlightPipe, KbqHover, KbqLine, KbqLineSetter, KbqLocaleService, KbqLocaleServiceModule, KbqMeasureScrollbarService, KbqMeasurementSystem, KbqNormalizeWhitespace, KbqOptgroup, KbqOption, KbqOptionActionComponent, KbqOptionBase, KbqOptionModule, KbqOptionSelectionChange, KbqOverflowShadowBottom, KbqOverflowShadowContainer, KbqOverflowShadowTop, KbqPopUp, KbqPopUpTrigger, KbqPseudoCheckbox, KbqPseudoCheckboxModule, KbqRangeLongDatePipe, KbqRangeLongDateTimePipe, KbqRangeMiddleDateTimePipe, KbqRangeShortDatePipe, KbqRangeShortDateTimePipe, KbqReadStateDirective, KbqRectangleItem, KbqRelativeLongDatePipe, KbqRelativeLongDateTimePipe, KbqRelativeShortDatePipe, KbqRelativeShortDateTimePipe, KbqRoundDecimalPipe, KbqSelectAllEvent, KbqSelectFooter, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqShadowDomOverlayContainer, KbqTableNumberPipe, KbqThemeSelector, KbqVirtualOption, L, LAST_MEDIA, LEFT_ARROW, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, ListKeyManager, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, MockNgZone, MultipleMode, N, NINE, NUMBER_FORMAT_REGEXP, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PRINT_SCREEN, PasswordValidators, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, Q, QUESTION_MARK, R, RIGHT_ARROW, 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, S, SCROLL_LOCK, SELECT_PANEL_VIEWPORT_PADDING, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, ShowOnControlDirtyErrorStateMatcher, ShowOnFormSubmitErrorStateMatcher, ShowRequiredOnSubmitErrorStateMatcher, T, TAB, THREE, TILDE, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, TWO, ThemePalette, ThemeService, U, UP_ARROW, V, VERSION, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, applyPopupMargins, checkAndNormalizeLocalizedNumber, countGroupLabelsBeforeOption, createFakeEvent, createKeyboardEvent, createMouseEvent, createTouchEvent, defaultOffsetY, dispatchEvent, dispatchFakeEvent, dispatchKeyboardEvent, dispatchMouseEvent, dispatchTouchEvent, enUSFormattersData, enUSLocaleData, esLAFormattersData, esLALocaleData, escapeRegExp, fadeAnimation, formatNumberWithLocale, getFormattedSizeParts, getHumanizedBytes, getKbqSelectDynamicMultipleError, getKbqSelectNonArrayValueError, getKbqSelectNonFunctionValueError, getNodesWithoutComments, getOptionScrollPosition, hasModifierKey, isBoolean, isControl, isCopy, isDigit, isElement, isFunctionKey, isHorizontalMovement, isHtmlElement, isHtmlElementOrNull, isInput, isLeftBracket, isLetterKey, isMac, isNull, isNumberKey, isNumpadKey, isRightBracket, isSelectAll, isUndefined, isVerticalMovement, isWithin, kbqErrorStateMatcherProvider, kbqFilesizeFormatterConfigurationProvider, kbqHighlightBackgroundMark, kbqHighlightMark, kbqInjectNativeElement, kbqLocaleServiceLangAttrNameProvider, kbqSelectAnimations, kbqSelectScrollStrategyProviderFactory, kbqShadowDomOverlayProvider, leftIconClassName, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, normalizeNumber, numberByParts, patchElementFocus, ptBRFormattersData, ptBRLocaleData, rightIconClassName, ruRUFormattersData, ruRULocaleData, selectEvents, shouldSelectSearchText, tkTMFormattersData, tkTMLocaleData, toggleSelectAll, typeInElement, validationTooltipHideDelay, validationTooltipShowDelay, wrappedErrorMessage };
6417
6754
  //# sourceMappingURL=koobiq-components-core.mjs.map