@koobiq/components 18.13.0 → 18.15.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.
- package/LICENSE +1 -1
- package/accordion/accordion.component.d.ts +5 -5
- package/button/button.component.d.ts +3 -2
- package/button-toggle/_button-toggle-theme.scss +0 -4
- package/button-toggle/button-toggle-tokens.scss +1 -4
- package/button-toggle/button-toggle.component.d.ts +3 -2
- package/button-toggle/button-toggle.scss +11 -0
- package/core/locales/formatters.d.ts +36 -0
- package/core/locales/index.d.ts +1 -0
- package/core/locales/locale-service.d.ts +79 -0
- package/core/locales/tk-TM.d.ts +45 -0
- package/core/pop-up/constants.d.ts +6 -0
- package/core/pop-up/pop-up-trigger.d.ts +6 -0
- package/core/select/common.d.ts +17 -0
- package/core/select/constants.d.ts +0 -18
- package/esm2022/accordion/accordion.component.mjs +11 -10
- package/esm2022/button/button.component.mjs +3 -1
- package/esm2022/button-toggle/button-toggle.component.mjs +6 -4
- package/esm2022/core/locales/formatters.mjs +37 -1
- package/esm2022/core/locales/index.mjs +2 -1
- package/esm2022/core/locales/locale-service.mjs +7 -4
- package/esm2022/core/locales/tk-TM.mjs +44 -0
- package/esm2022/core/option/action.mjs +3 -4
- package/esm2022/core/pop-up/constants.mjs +8 -1
- package/esm2022/core/pop-up/pop-up-trigger.mjs +50 -3
- package/esm2022/core/select/common.mjs +63 -1
- package/esm2022/core/select/constants.mjs +1 -19
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +5 -5
- package/esm2022/icon/icon-button.component.mjs +3 -1
- package/esm2022/link/link.component.mjs +4 -2
- package/esm2022/navbar/navbar-item.component.mjs +4 -2
- package/esm2022/navbar/navbar.component.mjs +6 -4
- package/esm2022/overflow-items/index.mjs +3 -0
- package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +5 -0
- package/esm2022/overflow-items/module.mjs +25 -0
- package/esm2022/overflow-items/overflow-items.mjs +269 -0
- package/esm2022/popover/popover.component.mjs +4 -2
- package/esm2022/select/select-option.directive.mjs +17 -19
- package/esm2022/select/select.component.mjs +4 -78
- package/esm2022/tabs/tab-header.component.mjs +2 -2
- package/esm2022/tabs/tab-nav-bar.mjs +18 -18
- package/esm2022/timezone/timezone-option.directive.mjs +15 -12
- package/esm2022/title/title.directive.mjs +9 -18
- package/esm2022/toggle/toggle.component.mjs +12 -10
- package/esm2022/tooltip/tooltip.component.mjs +30 -27
- package/esm2022/tree-select/tree-select.component.mjs +21 -56
- package/fesm2022/koobiq-components-accordion.mjs +9 -7
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +5 -3
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +2 -0
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +219 -41
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +4 -4
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +2 -0
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +3 -1
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +8 -4
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +298 -0
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -0
- package/fesm2022/koobiq-components-popover.mjs +3 -1
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +19 -95
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +19 -19
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +14 -11
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +8 -17
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +11 -9
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +30 -27
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +19 -54
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/form-field/_form-field-theme.scss +2 -2
- package/icon/icon-button.component.d.ts +3 -2
- package/link/_link-theme.scss +6 -4
- package/link/link.component.d.ts +3 -2
- package/navbar/navbar-item.component.d.ts +2 -1
- package/navbar/navbar.component.d.ts +2 -1
- package/overflow-items/index.d.ts +2 -0
- package/overflow-items/module.d.ts +7 -0
- package/overflow-items/overflow-items.d.ts +132 -0
- package/overflow-items/overflow-items.scss +20 -0
- package/package.json +10 -4
- package/popover/popover.component.d.ts +1 -0
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/schematics/ng-add/index.js +4 -4
- package/select/select-option.directive.d.ts +3 -1
- package/select/select.component.d.ts +2 -15
- package/tabs/_tabs-common.scss +14 -0
- package/tabs/tab-header.scss +0 -14
- package/tabs/tab-nav-bar.d.ts +0 -1
- package/timezone/timezone-option.directive.d.ts +1 -0
- package/title/title.directive.d.ts +2 -2
- package/toggle/toggle.component.d.ts +6 -5
- package/tooltip/tooltip.component.d.ts +3 -3
- package/tree-select/tree-select.component.d.ts +5 -16
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Template context for the `KbqOverflowItemsResult` directive.
|
|
5
|
+
*
|
|
6
|
+
* @see `KbqOverflowItemsResult`
|
|
7
|
+
*/
|
|
8
|
+
export type KbqOverflowItemsResultContext = {
|
|
9
|
+
/**
|
|
10
|
+
* Set of hidden item ID's.
|
|
11
|
+
*
|
|
12
|
+
* Example:
|
|
13
|
+
*
|
|
14
|
+
* ```html
|
|
15
|
+
* <ng-template kbqOverflowItemsResult let-hiddenItemIDs>
|
|
16
|
+
* {{ hiddenItemIDs.size }}
|
|
17
|
+
* </ng-template>
|
|
18
|
+
* ````
|
|
19
|
+
*/
|
|
20
|
+
$implicit: ReadonlySet<unknown>;
|
|
21
|
+
/**
|
|
22
|
+
* Set of hidden item ID's.
|
|
23
|
+
*
|
|
24
|
+
* Example:
|
|
25
|
+
*
|
|
26
|
+
* ```html
|
|
27
|
+
* <ng-template kbqOverflowItemsResult let-hiddenItemIDs="hiddenItemIDs">
|
|
28
|
+
* @if (hiddenItemIDs.has(SOME_ID)) {...}
|
|
29
|
+
* </ng-template>
|
|
30
|
+
* ````
|
|
31
|
+
*/
|
|
32
|
+
hiddenItemIDs: ReadonlySet<unknown>;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Directive for providing `KbqOverflowItemsResultContext` to the `KbqOverflowItems` component.
|
|
36
|
+
*
|
|
37
|
+
* @see `KbqOverflowItemsResultContext`
|
|
38
|
+
*/
|
|
39
|
+
export declare class KbqOverflowItemsResult {
|
|
40
|
+
/**
|
|
41
|
+
* TemplateRef for the overflow result.
|
|
42
|
+
*
|
|
43
|
+
* @docs-private
|
|
44
|
+
*/
|
|
45
|
+
readonly templateRef: TemplateRef<KbqOverflowItemsResultContext>;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqOverflowItemsResult, never>;
|
|
47
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqOverflowItemsResult, "ng-template[kbqOverflowItemsResult]", never, {}, {}, never, never, true, never>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Structure directive for providing items to the `KbqOverflowItems`.
|
|
51
|
+
*/
|
|
52
|
+
export declare class KbqOverflowItem {
|
|
53
|
+
/**
|
|
54
|
+
* Identifier for the item.
|
|
55
|
+
*/
|
|
56
|
+
readonly id: import("@angular/core").InputSignal<unknown>;
|
|
57
|
+
/**
|
|
58
|
+
* Whether the item is hidden.
|
|
59
|
+
*
|
|
60
|
+
* @docs-private
|
|
61
|
+
*/
|
|
62
|
+
readonly hidden: import("@angular/core").WritableSignal<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* TemplateRef for the item.
|
|
65
|
+
*
|
|
66
|
+
* @docs-private
|
|
67
|
+
*/
|
|
68
|
+
readonly templateRef: TemplateRef<any>;
|
|
69
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqOverflowItem, never>;
|
|
70
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqOverflowItem, "[kbqOverflowItem]", never, { "id": { "alias": "kbqOverflowItem"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Component for automatically hiding elements with dynamic adaptation to the container width.
|
|
74
|
+
*/
|
|
75
|
+
export declare class KbqOverflowItems {
|
|
76
|
+
private readonly itemElementRefs;
|
|
77
|
+
/**
|
|
78
|
+
* `KbqOverflowItem` directive references.
|
|
79
|
+
*
|
|
80
|
+
* @docs-private
|
|
81
|
+
*/
|
|
82
|
+
protected readonly items: import("@angular/core").Signal<readonly KbqOverflowItem[]>;
|
|
83
|
+
/**
|
|
84
|
+
* `KbqOverflowItemsResult` directive reference.
|
|
85
|
+
*
|
|
86
|
+
* @docs-private
|
|
87
|
+
*/
|
|
88
|
+
protected readonly result: import("@angular/core").Signal<KbqOverflowItemsResult | undefined>;
|
|
89
|
+
private readonly resultElementRef;
|
|
90
|
+
/**
|
|
91
|
+
* Template context for the `KbqOverflowItemsResult` directive.
|
|
92
|
+
*
|
|
93
|
+
* @docs-private
|
|
94
|
+
*/
|
|
95
|
+
protected readonly resultTemplateContext: import("@angular/core").Signal<KbqOverflowItemsResultContext>;
|
|
96
|
+
/**
|
|
97
|
+
* Whether the overflow result is hidden.
|
|
98
|
+
*
|
|
99
|
+
* @docs-private
|
|
100
|
+
*/
|
|
101
|
+
protected readonly resultHidden: import("@angular/core").Signal<boolean>;
|
|
102
|
+
/**
|
|
103
|
+
* Whether the overflow order should be reversed.
|
|
104
|
+
* Also changes the position of the `resultTemplateRef`.
|
|
105
|
+
*
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
readonly reverseOverflowOrder: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
109
|
+
private readonly elementRef;
|
|
110
|
+
private readonly resizeObserver;
|
|
111
|
+
private readonly contentObserver;
|
|
112
|
+
constructor();
|
|
113
|
+
/**
|
|
114
|
+
* Updates the visibility of items based on the container width.
|
|
115
|
+
*
|
|
116
|
+
* This method calculates whether items should be hidden or shown by comparing the scroll width of the container
|
|
117
|
+
* with its visible width. It determines which items are visible and which are hidden, and applies the hiding logic
|
|
118
|
+
* based on the `reverseOverflowOrder` flag.
|
|
119
|
+
*
|
|
120
|
+
* The function operates recursively to adjust the visibility of items until the overflow condition is resolved.
|
|
121
|
+
*
|
|
122
|
+
* - If the container is overflown, it hides the last visible item from the end (or start if `reverseOverflowOrder`)
|
|
123
|
+
* and checks if further adjustments are needed.
|
|
124
|
+
* - If the container is not overflown, it reveals the first hidden item from the start
|
|
125
|
+
* (or end if `reverseOverflowOrder`), ensuring it fits within the visible area.
|
|
126
|
+
*/
|
|
127
|
+
private updateItemsVisibility;
|
|
128
|
+
/** @TODO Should use `Array.prototype.findLast` after migrating to ES2023 */
|
|
129
|
+
private findLast;
|
|
130
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqOverflowItems, never>;
|
|
131
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KbqOverflowItems, "kbq-overflow-items", never, { "reverseOverflowOrder": { "alias": "reverseOverflowOrder"; "required": false; "isSignal": true; }; }, {}, ["items", "result"], never, true, never>;
|
|
132
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-grow: 1;
|
|
5
|
+
overflow: hidden;
|
|
6
|
+
flex-wrap: nowrap;
|
|
7
|
+
white-space: nowrap;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.kbq-overflow-items__item,
|
|
11
|
+
.kbq-overflow-items__result {
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
|
|
15
|
+
&.kbq-overflow-items__item_hidden,
|
|
16
|
+
&.kbq-overflow-items__result_hidden {
|
|
17
|
+
visibility: hidden;
|
|
18
|
+
position: absolute;
|
|
19
|
+
}
|
|
20
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@koobiq/components",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.15.0",
|
|
4
4
|
"description": "koobiq",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"@angular/cdk": "^18.0.0",
|
|
25
25
|
"@angular/core": "^18.0.0",
|
|
26
26
|
"@angular/forms": "^18.0.0",
|
|
27
|
-
"@koobiq/cdk": "18.
|
|
28
|
-
"@koobiq/angular-moment-adapter": "18.
|
|
29
|
-
"@koobiq/angular-luxon-adapter": "18.
|
|
27
|
+
"@koobiq/cdk": "18.15.0",
|
|
28
|
+
"@koobiq/angular-moment-adapter": "18.15.0",
|
|
29
|
+
"@koobiq/angular-luxon-adapter": "18.15.0",
|
|
30
30
|
"@koobiq/date-formatter": "^3.1.4",
|
|
31
31
|
"@koobiq/icons": "^9.2.0",
|
|
32
32
|
"@koobiq/tokens-builder": "3.10.0",
|
|
@@ -220,6 +220,12 @@
|
|
|
220
220
|
"esm": "./esm2022/navbar/koobiq-components-navbar.mjs",
|
|
221
221
|
"default": "./fesm2022/koobiq-components-navbar.mjs"
|
|
222
222
|
},
|
|
223
|
+
"./overflow-items": {
|
|
224
|
+
"types": "./overflow-items/index.d.ts",
|
|
225
|
+
"esm2022": "./esm2022/overflow-items/koobiq-components-overflow-items.mjs",
|
|
226
|
+
"esm": "./esm2022/overflow-items/koobiq-components-overflow-items.mjs",
|
|
227
|
+
"default": "./fesm2022/koobiq-components-overflow-items.mjs"
|
|
228
|
+
},
|
|
223
229
|
"./popover": {
|
|
224
230
|
"types": "./popover/index.d.ts",
|
|
225
231
|
"esm2022": "./esm2022/popover/koobiq-components-popover.mjs",
|
|
@@ -75,6 +75,7 @@ export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverCompone
|
|
|
75
75
|
private _closeOnScroll;
|
|
76
76
|
get hasClickTrigger(): boolean;
|
|
77
77
|
backdropClass: string;
|
|
78
|
+
arrow: boolean;
|
|
78
79
|
placementChange: EventEmitter<any>;
|
|
79
80
|
visibleChange: EventEmitter<boolean>;
|
|
80
81
|
protected originSelector: string;
|