@koobiq/components 19.6.0 → 19.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/accordion/accordion-content.directive.d.ts +1 -0
  2. package/autocomplete/autocomplete-trigger.directive.d.ts +2 -1
  3. package/autocomplete/autocomplete.component.d.ts +7 -1
  4. package/breadcrumbs/breadcrumbs.scss +0 -4
  5. package/code-block/_code-block-theme.scss +1 -10
  6. package/code-block/code-block-highlight.d.ts +62 -7
  7. package/code-block/code-block-tokens.scss +5 -10
  8. package/code-block/code-block.d.ts +10 -1
  9. package/code-block/code-block.scss +8 -7
  10. package/core/forms/forms-tokens.scss +1 -1
  11. package/core/option/option.d.ts +10 -1
  12. package/core/styles/common/_groups-mixins.scss +2 -2
  13. package/core/styles/common/_groups.scss +6 -6
  14. package/core/validation/validation.d.ts +1 -1
  15. package/dropdown/dropdown-item.scss +9 -6
  16. package/dropdown/dropdown-tokens.scss +1 -1
  17. package/dropdown/dropdown-trigger.directive.d.ts +8 -1
  18. package/dropdown/dropdown.component.d.ts +6 -6
  19. package/dropdown/dropdown.scss +1 -1
  20. package/dropdown/dropdown.types.d.ts +19 -7
  21. package/fesm2022/koobiq-components-accordion.mjs +32 -29
  22. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  23. package/fesm2022/koobiq-components-actions-panel.mjs +10 -10
  24. package/fesm2022/koobiq-components-alert.mjs +16 -16
  25. package/fesm2022/koobiq-components-app-switcher.mjs +25 -25
  26. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  27. package/fesm2022/koobiq-components-autocomplete.mjs +35 -23
  28. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  29. package/fesm2022/koobiq-components-badge.mjs +13 -13
  30. package/fesm2022/koobiq-components-breadcrumbs.mjs +26 -26
  31. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  32. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  33. package/fesm2022/koobiq-components-button.mjs +19 -19
  34. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  35. package/fesm2022/koobiq-components-checkbox.mjs +10 -10
  36. package/fesm2022/koobiq-components-clamped-text.mjs +13 -13
  37. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  38. package/fesm2022/koobiq-components-code-block.mjs +126 -51
  39. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  40. package/fesm2022/koobiq-components-content-panel.mjs +28 -28
  41. package/fesm2022/koobiq-components-core.mjs +249 -232
  42. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-datepicker.mjs +37 -42
  44. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-divider.mjs +7 -7
  46. package/fesm2022/koobiq-components-dl.mjs +13 -13
  47. package/fesm2022/koobiq-components-dropdown.mjs +69 -38
  48. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  50. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  51. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  52. package/fesm2022/koobiq-components-file-upload.mjs +39 -39
  53. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-filter-bar.mjs +85 -85
  55. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  56. package/fesm2022/koobiq-components-form-field.mjs +83 -81
  57. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-icon.mjs +343 -21
  59. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-inline-edit.mjs +19 -17
  61. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  62. package/fesm2022/koobiq-components-input.mjs +22 -22
  63. package/fesm2022/koobiq-components-link.mjs +7 -7
  64. package/fesm2022/koobiq-components-list.mjs +19 -19
  65. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  66. package/fesm2022/koobiq-components-markdown.mjs +10 -10
  67. package/fesm2022/koobiq-components-modal.mjs +34 -32
  68. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-navbar-ic.mjs +40 -40
  70. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-navbar.mjs +82 -56
  72. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-notification-center.mjs +16 -16
  74. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-overflow-items.mjs +16 -16
  76. package/fesm2022/koobiq-components-popover.mjs +18 -18
  77. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  79. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  80. package/fesm2022/koobiq-components-radio.mjs +10 -10
  81. package/fesm2022/koobiq-components-resizer.mjs +10 -10
  82. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  83. package/fesm2022/koobiq-components-scrollbar.mjs +12 -12
  84. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-search-expandable.mjs +7 -7
  86. package/fesm2022/koobiq-components-select.mjs +155 -68
  87. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  89. package/fesm2022/koobiq-components-sidepanel.mjs +28 -28
  90. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-skeleton.mjs +10 -10
  92. package/fesm2022/koobiq-components-split-button.mjs +7 -7
  93. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  94. package/fesm2022/koobiq-components-table.mjs +10 -10
  95. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  96. package/fesm2022/koobiq-components-tags.mjs +87 -65
  97. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-textarea.mjs +7 -7
  99. package/fesm2022/koobiq-components-time-range.mjs +22 -22
  100. package/fesm2022/koobiq-components-timepicker.mjs +11 -26
  101. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-timezone.mjs +62 -41
  103. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-title.mjs +7 -7
  105. package/fesm2022/koobiq-components-toast.mjs +58 -39
  106. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-toggle.mjs +7 -7
  108. package/fesm2022/koobiq-components-tooltip.mjs +17 -17
  109. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-top-bar.mjs +17 -25
  111. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-tree-select.mjs +16 -10
  113. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-tree.mjs +75 -40
  115. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-username.mjs +28 -28
  117. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  118. package/file-upload/multiple-file-upload.component.scss +6 -0
  119. package/file-upload/single-file-upload.component.scss +6 -0
  120. package/form-field/_form-field-theme.scss +19 -6
  121. package/form-field/fieldset-tokens.scss +1 -0
  122. package/form-field/fieldset.scss +1 -0
  123. package/form-field/form-field-tokens.scss +2 -0
  124. package/form-field/form-field.scss +19 -0
  125. package/form-field/password-toggle.scss +1 -1
  126. package/icon/icon-button.scss +5 -0
  127. package/icon/icon-item.scss +5 -0
  128. package/icon/icon-registry-providers.d.ts +34 -0
  129. package/icon/icon-registry.d.ts +50 -0
  130. package/icon/icon.component.d.ts +16 -3
  131. package/icon/icon.scss +7 -0
  132. package/icon/public-api.d.ts +2 -0
  133. package/inline-edit/inline-edit.d.ts +3 -1
  134. package/inline-edit/inline-edit.scss +1 -11
  135. package/link/_link-theme.scss +9 -2
  136. package/navbar/_navbar-theme.scss +0 -4
  137. package/navbar/navbar-brand.component.d.ts +3 -1
  138. package/navbar/navbar-item.component.d.ts +1 -0
  139. package/navbar/navbar.component.d.ts +1 -0
  140. package/package.json +4 -4
  141. package/popover/popover.scss +3 -3
  142. package/prebuilt-themes/dark-theme.css +1 -1
  143. package/prebuilt-themes/light-theme.css +1 -1
  144. package/prebuilt-themes/theme.css +1 -1
  145. package/schematics/ng-add/index.js +4 -4
  146. package/scrollbar/scrollbar-tokens.scss +1 -1
  147. package/select/select-option.directive.d.ts +9 -10
  148. package/select/select-tokens.scss +2 -2
  149. package/select/select.component.d.ts +51 -3
  150. package/tags/tag-list.component.d.ts +15 -11
  151. package/tags/tag.component.d.ts +5 -2
  152. package/timepicker/timepicker.directive.d.ts +1 -0
  153. package/timezone/timezone-option-tokens.scss +0 -10
  154. package/timezone/timezone-option.directive.d.ts +12 -9
  155. package/toast/toast.service.d.ts +5 -3
  156. package/tooltip/_tooltip-theme.scss +5 -1
  157. package/top-bar/top-bar.d.ts +0 -7
  158. package/top-bar/top-bar.scss +3 -9
  159. package/tree/tree-selection.component.d.ts +7 -0
@@ -1,20 +1,33 @@
1
- import { AfterContentInit, ChangeDetectorRef, ElementRef } from '@angular/core';
1
+ import { AfterContentInit, ChangeDetectorRef, DestroyRef, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { KbqColorDirective } from '@koobiq/components/core';
3
+ import { ReplaySubject } from 'rxjs';
4
+ import { KbqIconRegistry } from './icon-registry';
3
5
  import * as i0 from "@angular/core";
4
- export declare class KbqIcon extends KbqColorDirective implements AfterContentInit {
6
+ export declare class KbqIcon extends KbqColorDirective implements AfterContentInit, OnChanges {
5
7
  readonly elementRef: ElementRef<HTMLElement>;
6
8
  protected readonly formField: import("@koobiq/components/core").KbqFormFieldRef | null;
7
9
  protected readonly changeDetectorRef: ChangeDetectorRef;
10
+ protected readonly registry: KbqIconRegistry | null;
11
+ protected readonly destroyRef: DestroyRef;
8
12
  small: boolean;
9
13
  autoColor: boolean;
10
14
  hasError: boolean;
11
- /** Name of an icon within a @koobiq/icons. */
15
+ /** Name of an icon within a @koobiq/icons. Accepts "namespace:name" syntax. */
12
16
  iconName: string;
13
17
  protected name: string;
18
+ /**
19
+ * True when icon is being rendered as inline SVG.
20
+ * @docs-private
21
+ */
22
+ protected svgIcon: boolean;
23
+ /** @docs-private */
24
+ protected readonly svgIconName: ReplaySubject<string | undefined>;
14
25
  getHostElement(): HTMLElement;
15
26
  updateMaxHeight(): void;
27
+ ngOnChanges(changes: SimpleChanges): void;
16
28
  ngAfterContentInit(): void;
17
29
  private updateState;
30
+ private parseIconSize;
18
31
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqIcon, never>;
19
32
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqIcon, "[kbq-icon]", never, { "small": { "alias": "small"; "required": false; }; "autoColor": { "alias": "autoColor"; "required": false; }; "iconName": { "alias": "kbq-icon"; "required": false; }; }, {}, never, ["*"], true, never>;
20
33
  }
package/icon/icon.scss CHANGED
@@ -1,5 +1,12 @@
1
1
  @use './icon-theme' as *;
2
2
 
3
+ .kbq-icon {
4
+ > svg {
5
+ fill: currentColor;
6
+ vertical-align: middle;
7
+ }
8
+ }
9
+
3
10
  .kbq-icon-rotate_90 {
4
11
  transform: rotate(90deg);
5
12
  }
@@ -1,4 +1,6 @@
1
1
  export * from './icon-button.component';
2
2
  export * from './icon-item.component';
3
+ export * from './icon-registry';
4
+ export * from './icon-registry-providers';
3
5
  export * from './icon.component';
4
6
  export * from './icon.module';
@@ -62,6 +62,8 @@ export declare class KbqInlineEdit {
62
62
  readonly editModeWidth: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
63
63
  /** User-defined tooltip placement */
64
64
  readonly tooltipPlacement: import("@angular/core").InputSignal<PopUpPlacements | undefined>;
65
+ /** Classes to be passed to the inline edit panel. */
66
+ readonly overlayPanelClass: import("@angular/core").InputSignal<string | string[]>;
65
67
  /** Handler function to retrieve the current value */
66
68
  readonly getValueHandler: import("@angular/core").InputSignal<(() => unknown) | undefined>;
67
69
  /** Handler function to update the value */
@@ -155,5 +157,5 @@ export declare class KbqInlineEdit {
155
157
  private getInputNativeElement;
156
158
  private markAllAsTouched;
157
159
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqInlineEdit, never>;
158
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqInlineEdit, "kbq-inline-edit", ["kbqInlineEdit"], { "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; "showTooltipOnError": { "alias": "showTooltipOnError"; "required": false; "isSignal": true; }; "validationTooltip": { "alias": "validationTooltip"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "editModeWidth": { "alias": "editModeWidth"; "required": false; "isSignal": true; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; "isSignal": true; }; "getValueHandler": { "alias": "getValueHandler"; "required": false; "isSignal": true; }; "setValueHandler": { "alias": "setValueHandler"; "required": false; "isSignal": true; }; "canSaveOnEnter": { "alias": "canSaveOnEnter"; "required": false; "isSignal": true; }; "interactiveSelectors": { "alias": "interactiveSelectors"; "required": false; "isSignal": true; }; }, { "saved": "saved"; "canceled": "canceled"; "modeChange": "modeChange"; }, ["menu", "label", "formFieldRefList"], ["kbq-label", "[kbqInlineEditViewMode]", "[kbqInlineEditMenu]", "[kbqInlineEditEditMode]"], true, [{ directive: typeof i1.CdkMonitorFocus; inputs: {}; outputs: {}; }]>;
160
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqInlineEdit, "kbq-inline-edit", ["kbqInlineEdit"], { "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; "showTooltipOnError": { "alias": "showTooltipOnError"; "required": false; "isSignal": true; }; "validationTooltip": { "alias": "validationTooltip"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "editModeWidth": { "alias": "editModeWidth"; "required": false; "isSignal": true; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; "isSignal": true; }; "overlayPanelClass": { "alias": "overlayPanelClass"; "required": false; "isSignal": true; }; "getValueHandler": { "alias": "getValueHandler"; "required": false; "isSignal": true; }; "setValueHandler": { "alias": "setValueHandler"; "required": false; "isSignal": true; }; "canSaveOnEnter": { "alias": "canSaveOnEnter"; "required": false; "isSignal": true; }; "interactiveSelectors": { "alias": "interactiveSelectors"; "required": false; "isSignal": true; }; }, { "saved": "saved"; "canceled": "canceled"; "modeChange": "modeChange"; }, ["menu", "label", "formFieldRefList"], ["kbq-label", "[kbqInlineEditViewMode]", "[kbqInlineEditMenu]", "[kbqInlineEditEditMode]"], true, [{ directive: typeof i1.CdkMonitorFocus; inputs: {}; outputs: {}; }]>;
159
161
  }
@@ -78,11 +78,6 @@
78
78
  .kbq-label {
79
79
  color: var(--kbq-inline-edit-label-color);
80
80
  }
81
-
82
- .kbq-inline-edit__focus_container {
83
- display: flex;
84
- flex-direction: column;
85
- }
86
81
  }
87
82
 
88
83
  @mixin _inline-edit-typography {
@@ -123,13 +118,8 @@
123
118
  }
124
119
 
125
120
  &.kbq-inline-edit_view {
126
- .kbq-inline-edit__view-container {
127
- display: flex;
128
- text-overflow: ellipsis;
129
- }
130
-
121
+ .kbq-inline-edit__view-container,
131
122
  .kbq-inline-edit__view-content {
132
- display: inline-block;
133
123
  text-overflow: ellipsis;
134
124
  }
135
125
  }
@@ -29,8 +29,15 @@
29
29
  box-decoration-break: clone;
30
30
  }
31
31
 
32
- &.kbq-text-with-icon .kbq-icon {
33
- vertical-align: baseline;
32
+ &.kbq-text-with-icon {
33
+ .kbq-icon {
34
+ vertical-align: baseline;
35
+
36
+ &:has(> svg) {
37
+ vertical-align: middle;
38
+ line-height: 0;
39
+ }
40
+ }
34
41
  }
35
42
 
36
43
  &.kbq-text-with-icon .kbq-link__text {
@@ -15,10 +15,6 @@
15
15
  & > .kbq-icon.kbq-empty {
16
16
  color: var(--kbq-navbar-item-#{$state-name}-content-icon-left) !important;
17
17
  }
18
-
19
- .kbq-navbar-item__arrow-icon {
20
- color: var(--kbq-navbar-item-#{$state-name}-content-icon-right) !important;
21
- }
22
18
  }
23
19
 
24
20
  button {
@@ -16,7 +16,9 @@ export declare class KbqNavbarBrand extends KbqTooltipTrigger implements AfterCo
16
16
  /** alternative display of the brand name in two lines */
17
17
  longTitle: boolean;
18
18
  /** text that will be displayed in the tooltip. By default, the text is taken from kbq-navbar-title. */
19
- collapsedText: string;
19
+ get collapsedText(): string;
20
+ set collapsedText(value: string);
21
+ private _collapsedText;
20
22
  get isLink(): boolean;
21
23
  /** @docs-private */
22
24
  get croppedText(): string;
@@ -122,6 +122,7 @@ export declare class KbqNavbarItem extends KbqTooltipTrigger implements AfterCon
122
122
  get hasCroppedText(): boolean;
123
123
  constructor(rectangleElement: KbqNavbarRectangleElement, navbarFocusableItem: KbqNavbarFocusableItem, changeDetectorRef: ChangeDetectorRef, dropdownTrigger: KbqDropdownTrigger, bento: KbqNavbarBento);
124
124
  ngAfterContentInit(): void;
125
+ updateDropdown(): void;
125
126
  updateTooltip(): void;
126
127
  getTitleWidth(): number;
127
128
  onKeyDown($event: KeyboardEvent): void;
@@ -14,6 +14,7 @@ export declare class KbqFocusableComponent implements AfterContentInit, AfterVie
14
14
  get tabIndex(): any;
15
15
  set tabIndex(value: any);
16
16
  private _tabIndex;
17
+ private lastFocusOrigin;
17
18
  get optionFocusChanges(): Observable<KbqNavbarFocusableItemEvent>;
18
19
  get optionBlurChanges(): Observable<KbqNavbarFocusableItemEvent>;
19
20
  private readonly destroyRef;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koobiq/components",
3
- "version": "19.6.0",
3
+ "version": "19.8.0",
4
4
  "description": "koobiq",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,9 +25,9 @@
25
25
  "@angular/cdk": "^19.0.0",
26
26
  "@angular/core": "^19.0.0",
27
27
  "@angular/forms": "^19.0.0",
28
- "@koobiq/cdk": "19.6.0",
29
- "@koobiq/angular-moment-adapter": "19.6.0",
30
- "@koobiq/angular-luxon-adapter": "19.6.0",
28
+ "@koobiq/cdk": "19.8.0",
29
+ "@koobiq/angular-moment-adapter": "19.8.0",
30
+ "@koobiq/angular-luxon-adapter": "19.8.0",
31
31
  "@koobiq/date-formatter": "^3.2.3",
32
32
  "@koobiq/icons": "^11.1.3",
33
33
  "@koobiq/design-tokens": "3.14.0"
@@ -23,7 +23,7 @@ $arrow-padding: 24px;
23
23
  z-index: 1;
24
24
 
25
25
  &.kbq-popover_small {
26
- max-width: var(--kbq-popover-size-container-width-small);
26
+ width: var(--kbq-popover-size-container-width-small);
27
27
 
28
28
  & .kbq-popover__content_default-paddings.kbq-popover__content {
29
29
  padding: var(--kbq-size-l);
@@ -31,11 +31,11 @@ $arrow-padding: 24px;
31
31
  }
32
32
 
33
33
  &.kbq-popover_medium {
34
- max-width: var(--kbq-popover-size-container-width-medium);
34
+ width: var(--kbq-popover-size-container-width-medium);
35
35
  }
36
36
 
37
37
  &.kbq-popover_large {
38
- max-width: var(--kbq-popover-size-container-width-large);
38
+ width: var(--kbq-popover-size-container-width-large);
39
39
  }
40
40
 
41
41
  @include pop-up.popup-margins(kbq-popover, 8px);