@koobiq/components 20.3.2 → 20.3.4
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.
- package/core/styles/common/_select.scss +4 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +3 -2
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +5 -1
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +38 -12
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +5 -4
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +4 -1
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +21 -7
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +2 -2
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +29 -28
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +29 -4
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +2 -2
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/navbar/index.d.ts +15 -1
- package/navbar/navbar-brand.scss +12 -5
- package/notification-center/notification-item.scss +4 -1
- package/package.json +3 -3
- package/schematics/ng-add/index.js +1 -1
- package/select/index.d.ts +7 -0
- package/toast/index.d.ts +10 -19
- package/tooltip/index.d.ts +13 -1
package/navbar/navbar-brand.scss
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
border-radius: var(--kbq-navbar-item-size-content-border-radius);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
&:not(.kbq-disabled) .kbq-navbar-title {
|
|
26
26
|
cursor: pointer;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -112,14 +112,21 @@ a.kbq-navbar-brand {
|
|
|
112
112
|
.kbq-navbar-brand {
|
|
113
113
|
@include navbar-theme.kbq-navbar-item(default);
|
|
114
114
|
|
|
115
|
+
// Explicit, or the text of an `<a>` without `href` falls back to the I-beam.
|
|
116
|
+
&.kbq-disabled {
|
|
117
|
+
cursor: default;
|
|
118
|
+
}
|
|
119
|
+
|
|
115
120
|
&.kbq-navbar-brand_link {
|
|
116
|
-
|
|
121
|
+
&:not(.kbq-disabled) {
|
|
122
|
+
cursor: pointer;
|
|
123
|
+
}
|
|
117
124
|
|
|
118
125
|
&:hover:not(.kbq-disabled) {
|
|
119
126
|
@include navbar-theme.kbq-navbar-item(states-hover);
|
|
120
127
|
}
|
|
121
128
|
|
|
122
|
-
&.cdk-focused.cdk-keyboard-focused {
|
|
129
|
+
&.cdk-focused.cdk-keyboard-focused:not(.kbq-disabled) {
|
|
123
130
|
outline: none;
|
|
124
131
|
|
|
125
132
|
&:after {
|
|
@@ -133,13 +140,13 @@ a.kbq-navbar-brand {
|
|
|
133
140
|
@include navbar-theme.kbq-navbar-item(states-selected);
|
|
134
141
|
}
|
|
135
142
|
|
|
136
|
-
&.kbq-vertical:hover {
|
|
143
|
+
&.kbq-vertical:hover:not(.kbq-disabled) {
|
|
137
144
|
.kbq-navbar-logo {
|
|
138
145
|
transform: scale(1.06);
|
|
139
146
|
}
|
|
140
147
|
}
|
|
141
148
|
|
|
142
|
-
&.kbq-horizontal:hover {
|
|
149
|
+
&.kbq-horizontal:hover:not(.kbq-disabled) {
|
|
143
150
|
.kbq-navbar-logo {
|
|
144
151
|
z-index: 1;
|
|
145
152
|
}
|
|
@@ -93,8 +93,11 @@
|
|
|
93
93
|
margin-right: var(--kbq-size-3xs);
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
// The dot keeps its width once read, or the title gains that width and rewraps under the pointer.
|
|
97
|
+
// Placed before the time, so the time keeps the position it had before the dot was hidden.
|
|
96
98
|
&.kbq-notification-item-time_read .kbq-notification-item-time__state {
|
|
97
|
-
|
|
99
|
+
visibility: hidden;
|
|
100
|
+
order: -1;
|
|
98
101
|
}
|
|
99
102
|
}
|
|
100
103
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@koobiq/components",
|
|
3
|
-
"version": "20.3.
|
|
3
|
+
"version": "20.3.4",
|
|
4
4
|
"description": "koobiq",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"@angular/cdk": ">=20.0.0",
|
|
26
26
|
"@angular/core": ">=20.0.0",
|
|
27
27
|
"@angular/forms": ">=20.0.0",
|
|
28
|
-
"@koobiq/angular-moment-adapter": "20.3.
|
|
29
|
-
"@koobiq/angular-luxon-adapter": "20.3.
|
|
28
|
+
"@koobiq/angular-moment-adapter": "20.3.4",
|
|
29
|
+
"@koobiq/angular-luxon-adapter": "20.3.4",
|
|
30
30
|
"@koobiq/date-formatter": "^3.2.3",
|
|
31
31
|
"@koobiq/icons": "^11.1.3",
|
|
32
32
|
"@koobiq/design-tokens": "^3.14.0"
|
|
@@ -27,7 +27,7 @@ function ngAdd(options) {
|
|
|
27
27
|
}
|
|
28
28
|
// Installing dependencies
|
|
29
29
|
utils_packageConfig.addPackageToPackageJson(tree, '@angular/cdk', "^20.2.14");
|
|
30
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^20.3.
|
|
30
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^20.3.4");
|
|
31
31
|
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.5.1");
|
|
32
32
|
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.5.1");
|
|
33
33
|
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^12.2.0");
|
package/select/index.d.ts
CHANGED
|
@@ -552,6 +552,12 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
|
|
|
552
552
|
get firstSelected(): KbqOptionBase | null;
|
|
553
553
|
/** Whether the first selected option is filtered (not visible in the list). */
|
|
554
554
|
get firstFiltered(): boolean;
|
|
555
|
+
/**
|
|
556
|
+
* Whether the legacy `KbqValidateDirective` marks this control. The class it writes never changes
|
|
557
|
+
* after the host is created, so it is probed once instead of on every change detection pass.
|
|
558
|
+
*/
|
|
559
|
+
private hasLegacyValidateDirective;
|
|
560
|
+
private readonly invalidState;
|
|
555
561
|
/** @docs-private */
|
|
556
562
|
get colorForState(): KbqComponentColors;
|
|
557
563
|
/** Whether multiple choice is enabled. True if multiple or multiline mode is active. */
|
|
@@ -584,6 +590,7 @@ declare class KbqSelect extends KbqAbstractSelect implements AfterContentInit, O
|
|
|
584
590
|
ngOnDestroy(): void;
|
|
585
591
|
/** Updates the error state based on the error state matcher. */
|
|
586
592
|
updateErrorState(): void;
|
|
593
|
+
private syncInvalidState;
|
|
587
594
|
/**
|
|
588
595
|
* Formats the hidden items text with the number of hidden items.
|
|
589
596
|
* @param hiddenItemsText Template string with {{ number }} placeholder.
|
package/toast/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, TemplateRef, Provider, OnDestroy, ElementRef, ComponentRef, EmbeddedViewRef, ViewContainerRef, ViewRef, Injector } from '@angular/core';
|
|
3
3
|
import { CdkScrollable } from '@angular/cdk/overlay';
|
|
4
4
|
import * as rxjs from 'rxjs';
|
|
5
|
-
import { BehaviorSubject
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
6
6
|
import { AnimationEvent } from '@angular/animations';
|
|
7
7
|
import * as i1 from '@koobiq/components/core';
|
|
8
8
|
import { KbqReadStateDirective, ThemePalette } from '@koobiq/components/core';
|
|
@@ -144,33 +144,24 @@ declare class KbqToastContainerComponent extends CdkScrollable {
|
|
|
144
144
|
private changeDetectorRef;
|
|
145
145
|
readonly service: KbqToastService<any>;
|
|
146
146
|
readonly viewContainer: i0.Signal<ViewContainerRef>;
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
* rest for as long as its height animates — and an overlay opened from inside a toast is anchored to
|
|
150
|
-
* a trigger that is moving. CDK only re-measures the origin on a scroll or a viewport resize, so the
|
|
151
|
-
* stack has to say when it moved.
|
|
152
|
-
*
|
|
153
|
-
* The container's own box tracks the reflow exactly: continuously while a leaving toast animates its
|
|
154
|
-
* height away, and once for a removal that is not animated at all, such as a template toast.
|
|
155
|
-
*/
|
|
156
|
-
private readonly reflowed;
|
|
157
|
-
/**
|
|
158
|
-
* `ScrollDispatcher` subscribes to this method when the container registers itself, so merging the
|
|
159
|
-
* reflow signal in re-broadcasts it to every overlay that repositions on scroll — which is what
|
|
160
|
-
* `kbq-select` and the dropdown trigger do by default.
|
|
161
|
-
*/
|
|
162
|
-
elementScrolled(): Observable<Event>;
|
|
147
|
+
private readonly overlayKeyboardDispatcher;
|
|
148
|
+
constructor();
|
|
163
149
|
createToast<C>(data: KbqToastData, componentType: any, onTop: boolean): ComponentRef<C>;
|
|
164
150
|
createTemplate<C>(data: KbqToastData, template: TemplateRef<any>, onTop: boolean): EmbeddedViewRef<C>;
|
|
165
151
|
remove(viewRef: ViewRef): void;
|
|
166
152
|
getInjector(data: KbqToastData): Injector;
|
|
153
|
+
/**
|
|
154
|
+
* Re-applies the position of every overlay anchored to an element; one whose origin has not moved stays where it
|
|
155
|
+
* is. CDK keeps no public registry of attached overlays, but its keyboard dispatcher tracks each of them.
|
|
156
|
+
*/
|
|
157
|
+
private repositionConnectedOverlays;
|
|
167
158
|
/**
|
|
168
159
|
* Fakes a scroll on the container so that overlays anchored inside a toast are repositioned by their
|
|
169
160
|
* `RepositionScrollStrategy` when the stack shifts.
|
|
170
161
|
*
|
|
171
|
-
* @deprecated The container
|
|
162
|
+
* @deprecated The container repositions the overlays anchored inside it on its own, so nothing calls this.
|
|
172
163
|
* It is kept only for callers that already hold a container reference — the instance created by
|
|
173
|
-
* `KbqToastService` is not exposed.
|
|
164
|
+
* `KbqToastService` is not exposed. The fake scroll also closes every close-on-scroll overlay of the app.
|
|
174
165
|
*/
|
|
175
166
|
dispatchScrollEvent: () => void;
|
|
176
167
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqToastContainerComponent, never>;
|
package/tooltip/index.d.ts
CHANGED
|
@@ -235,9 +235,16 @@ declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> imp
|
|
|
235
235
|
* Set when that pop-up opens and released only once the pointer or the focus genuinely leaves the host,
|
|
236
236
|
* never on the pop-up closing. Both matter: a pop-up restores focus to its trigger when it closes (see
|
|
237
237
|
* `KbqPopoverComponent.onEscape`), and removing its backdrop replays `mouseenter` on the trigger without
|
|
238
|
-
* the pointer having moved — either would otherwise pop the tooltip up out of nowhere.
|
|
238
|
+
* the pointer having moved — either would otherwise pop the tooltip up out of nowhere. A pointer that left
|
|
239
|
+
* the host while the pop-up was open (see `pointerLeftWhileMuted`) releases it by coming back once the
|
|
240
|
+
* pop-up is closed.
|
|
239
241
|
*/
|
|
240
242
|
private mutedBySiblingPopup;
|
|
243
|
+
/**
|
|
244
|
+
* Whether the pointer left the host while muted. A backdrop inserted under the resting pointer fires
|
|
245
|
+
* `mouseleave` as well, but with the pointer still within the host — that one does not count.
|
|
246
|
+
*/
|
|
247
|
+
private pointerLeftWhileMuted;
|
|
241
248
|
/**
|
|
242
249
|
* Sets up an effect that mirrors a `forDisabledComponent`'s disabled signal: when that component is disabled it
|
|
243
250
|
* makes the host focusable (so the tooltip can still be triggered) and enables the tooltip, otherwise disables it.
|
|
@@ -273,6 +280,11 @@ declare class KbqTooltipTrigger extends KbqPopUpTrigger<KbqTooltipComponent> imp
|
|
|
273
280
|
* not be mistaken for the user leaving.
|
|
274
281
|
*/
|
|
275
282
|
hide(delay?: number): void;
|
|
283
|
+
/**
|
|
284
|
+
* Records whether the pointer left the host while muted, see `pointerLeftWhileMuted`.
|
|
285
|
+
* @docs-private
|
|
286
|
+
*/
|
|
287
|
+
protected trackPointerLeave(event: MouseEvent): void;
|
|
276
288
|
/**
|
|
277
289
|
* Hides the tooltip because something else took its place — another tooltip became visible, or a pop-up
|
|
278
290
|
* anchored to the same element opened.
|