@koobiq/components 21.0.1 → 21.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.
- package/badge/_badge-theme.scss +31 -0
- package/breadcrumbs/breadcrumbs.scss +5 -1
- package/checkbox/_checkbox-theme.scss +0 -17
- package/checkbox/checkbox-tokens.scss +0 -4
- package/code-block/_code-block-theme.scss +7 -6
- package/code-block/code-block-tokens.scss +8 -4
- package/code-block/code-block.scss +54 -32
- package/content-panel/content-panel-header.scss +2 -3
- package/content-panel/content-panel.scss +3 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +0 -2
- package/fesm2022/koobiq-components-accordion.mjs +4 -4
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +10 -2
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +2 -2
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -2
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +18 -8
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +78 -10
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +63 -379
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +4 -4
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +300 -37
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +151 -60
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +3 -3
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +3 -3
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +17 -8
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +115 -36
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +3 -3
- package/fesm2022/koobiq-components-flag.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +90 -27
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +2 -2
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +19 -2
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +76 -17
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +1 -1
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +3 -3
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +86 -25
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +4 -4
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +116 -38
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +86 -7
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +41 -19
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +29 -17
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +49 -12
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +198 -186
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +49 -25
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +30 -11
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +1 -1
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +28 -11
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +2 -2
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +71 -16
- package/fesm2022/koobiq-components-timepicker.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 +2 -2
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +25 -9
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +90 -17
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +27 -7
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +4 -4
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +71 -27
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +0 -12
- package/file-upload/file-upload-tokens.scss +0 -1
- package/file-upload/file-upload.scss +0 -1
- package/filter-bar/_filter-bar-theme.scss +7 -8
- package/filter-bar/filter-bar.scss +0 -1
- package/filter-bar/pipes/base-pipe.scss +36 -2
- package/filter-bar/pipes/pipe-multi-tree-select.scss +27 -0
- package/form-field/_fieldset-theme.scss +2 -7
- package/form-field/_form-field-theme.scss +9 -22
- package/form-field/_hint-theme.scss +20 -0
- package/form-field/fieldset-tokens.scss +0 -1
- package/form-field/fieldset.scss +0 -3
- package/form-field/form-field-tokens.scss +1 -1
- package/form-field/form-field.scss +9 -0
- package/form-field/hint-tokens.scss +3 -0
- package/modal/modal.scss +2 -0
- package/navbar/_navbar-item_vertical.scss +48 -2
- package/navbar/_navbar-theme.scss +11 -3
- package/navbar/navbar-item.scss +17 -0
- package/navbar/navbar-tokens.scss +3 -0
- package/package.json +4 -4
- package/popover/popover.scss +1 -1
- package/radio/_radio-theme.scss +0 -30
- package/radio/radio-tokens.scss +0 -2
- package/schematics/migrations/deprecated-icons/README.md +21 -5
- package/schematics/migrations/deprecated-icons/index.cjs +8 -22
- package/schematics/migrations/deprecated-icons/schema.json +1 -1
- package/schematics/migrations/icons-replacement/README.md +16 -2
- package/schematics/migrations/icons-replacement/index.cjs +18 -16
- package/schematics/migrations/icons-replacement/schema.json +12 -3
- package/schematics/migrations/new-icons-pack/README.md +37 -25
- package/schematics/migrations/new-icons-pack/index.cjs +22 -32
- package/schematics/migrations/new-icons-pack/replacement.json +2 -14
- package/schematics/migrations/new-icons-pack/schema.json +3 -3
- package/schematics/ng-add/index.cjs +4 -4
- package/schematics/utils/custom-data.cjs +64 -0
- package/schematics/utils/icon-migration.cjs +9 -3
- package/schematics/utils/messages.cjs +4 -0
- package/schematics/utils/package-config.cjs +19 -0
- package/select/select.scss +7 -0
- package/tabs/_tabs-common.scss +23 -0
- package/textarea/textarea-tokens.scss +4 -1
- package/toast/toast.component.scss +1 -0
- package/toggle/_toggle-theme.scss +0 -17
- package/tooltip/tooltip.scss +1 -1
- package/top-bar/top-bar-tokens.scss +1 -0
- package/top-bar/top-bar.scss +10 -0
- package/types/koobiq-components-accordion.d.ts +25 -0
- package/types/koobiq-components-button-toggle.d.ts +6 -0
- package/types/koobiq-components-checkbox.d.ts +30 -0
- package/types/koobiq-components-clamped-text.d.ts +16 -3
- package/types/koobiq-components-code-block.d.ts +17 -3
- package/types/koobiq-components-core.d.ts +226 -13
- package/types/koobiq-components-datepicker.d.ts +28 -1
- package/types/koobiq-components-divider.d.ts +28 -10
- package/types/koobiq-components-dropdown.d.ts +19 -0
- package/types/koobiq-components-filter-bar.d.ts +77 -4
- package/types/koobiq-components-flag.d.ts +18 -0
- package/types/koobiq-components-form-field.d.ts +87 -6
- package/types/koobiq-components-icon.d.ts +15 -0
- package/types/koobiq-components-inline-edit.d.ts +8 -1
- package/types/koobiq-components-input.d.ts +22 -3
- package/types/koobiq-components-list.d.ts +6 -0
- package/types/koobiq-components-modal.d.ts +7 -0
- package/types/koobiq-components-navbar.d.ts +71 -7
- package/types/koobiq-components-notification-center.d.ts +13 -0
- package/types/koobiq-components-overflow-items.d.ts +26 -2
- package/types/koobiq-components-popover.d.ts +38 -3
- package/types/koobiq-components-radio.d.ts +30 -0
- package/types/koobiq-components-search-expandable.d.ts +10 -0
- package/types/koobiq-components-select.d.ts +36 -4
- package/types/koobiq-components-sidepanel.d.ts +52 -1
- package/types/koobiq-components-splitter.d.ts +13 -4
- package/types/koobiq-components-tabs.d.ts +4 -0
- package/types/koobiq-components-tags.d.ts +6 -0
- package/types/koobiq-components-textarea.d.ts +9 -2
- package/types/koobiq-components-timepicker.d.ts +15 -0
- package/types/koobiq-components-toggle.d.ts +30 -0
- package/types/koobiq-components-tooltip.d.ts +55 -10
- package/types/koobiq-components-top-bar.d.ts +11 -3
- package/types/koobiq-components-tree-select.d.ts +12 -0
- package/types/koobiq-components-tree.d.ts +37 -2
|
@@ -57,6 +57,24 @@ async function setupOptions(project, tree) {
|
|
|
57
57
|
return projectWorkspace;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
async function resolveTargetDir(project, tree) {
|
|
61
|
+
if (!project) {
|
|
62
|
+
return tree.root;
|
|
63
|
+
}
|
|
64
|
+
const projectRoot = await utility.readWorkspace(tree).then((workspace) => workspace.projects.get(project)?.root, () => undefined);
|
|
65
|
+
if (projectRoot !== undefined) {
|
|
66
|
+
return tree.getDir(projectRoot || '/');
|
|
67
|
+
}
|
|
68
|
+
const folder = project
|
|
69
|
+
.replace(/\\/g, '/')
|
|
70
|
+
.replace(/^(\.\/)+/, '')
|
|
71
|
+
.replace(/\/+$/, '');
|
|
72
|
+
const dir = tree.getDir(folder || '/');
|
|
73
|
+
if (dir.subfiles.length || dir.subdirs.length) {
|
|
74
|
+
return dir;
|
|
75
|
+
}
|
|
76
|
+
throw new schematics.SchematicsException(utils_messages.noProjectOrDirectory(project));
|
|
77
|
+
}
|
|
60
78
|
async function getParsingInfo(project, tree) {
|
|
61
79
|
const tsPaths = new Set();
|
|
62
80
|
const templatePaths = new Set();
|
|
@@ -77,4 +95,5 @@ async function getParsingInfo(project, tree) {
|
|
|
77
95
|
exports.addPackageToPackageJson = addPackageToPackageJson;
|
|
78
96
|
exports.getPackageVersionFromPackageJson = getPackageVersionFromPackageJson;
|
|
79
97
|
exports.getParsingInfo = getParsingInfo;
|
|
98
|
+
exports.resolveTargetDir = resolveTargetDir;
|
|
80
99
|
exports.setupOptions = setupOptions;
|
package/select/select.scss
CHANGED
package/tabs/_tabs-common.scss
CHANGED
|
@@ -262,6 +262,29 @@
|
|
|
262
262
|
transparent calc(100% - var(--mask-size))
|
|
263
263
|
);
|
|
264
264
|
}
|
|
265
|
+
|
|
266
|
+
.kbq-tab-group_vertical & {
|
|
267
|
+
--mask-size: var(--kbq-size-3xl);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.kbq-tab-group_vertical &.kbq-tab-header__scroll-container_overflow-before {
|
|
271
|
+
mask-image: linear-gradient(to bottom, transparent, #000 var(--mask-size));
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.kbq-tab-group_vertical &.kbq-tab-header__scroll-container_overflow-after {
|
|
275
|
+
mask-image: linear-gradient(to bottom, #000 calc(100% - var(--mask-size)), transparent);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.kbq-tab-group_vertical
|
|
279
|
+
&.kbq-tab-header__scroll-container_overflow-before.kbq-tab-header__scroll-container_overflow-after {
|
|
280
|
+
mask-image: linear-gradient(
|
|
281
|
+
to bottom,
|
|
282
|
+
transparent,
|
|
283
|
+
#000 var(--mask-size),
|
|
284
|
+
#000 calc(100% - var(--mask-size)),
|
|
285
|
+
transparent
|
|
286
|
+
);
|
|
287
|
+
}
|
|
265
288
|
}
|
|
266
289
|
|
|
267
290
|
.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
:where(.kbq-textarea) {
|
|
2
|
-
--kbq-textarea-size-min-
|
|
2
|
+
--kbq-textarea-size-min-rows: 3;
|
|
3
|
+
--kbq-textarea-size-min-height: calc(
|
|
4
|
+
var(--kbq-textarea-size-min-rows) * 1lh + 2 * var(--kbq-textarea-size-padding-vertical)
|
|
5
|
+
);
|
|
3
6
|
--kbq-textarea-size-max-height: 96px;
|
|
4
7
|
--kbq-textarea-size-padding-vertical: 5px;
|
|
5
8
|
--kbq-textarea-size-padding-horizontal: 11px;
|
|
@@ -73,10 +73,6 @@
|
|
|
73
73
|
|
|
74
74
|
&.kbq-disabled {
|
|
75
75
|
color: var(--kbq-states-foreground-disabled);
|
|
76
|
-
|
|
77
|
-
.kbq-hint .kbq-hint__text {
|
|
78
|
-
color: inherit;
|
|
79
|
-
}
|
|
80
76
|
}
|
|
81
77
|
|
|
82
78
|
.kbq-toggle-bar {
|
|
@@ -84,28 +80,15 @@
|
|
|
84
80
|
background: var(--kbq-icon-white);
|
|
85
81
|
}
|
|
86
82
|
}
|
|
87
|
-
|
|
88
|
-
// A projected `kbq-error` is a hint too, and keeps its own color. `:where` leaves the specificity as it was.
|
|
89
|
-
.kbq-hint:where(:not(.kbq-error)) .kbq-hint__text {
|
|
90
|
-
color: var(--kbq-foreground-contrast-secondary);
|
|
91
|
-
}
|
|
92
83
|
}
|
|
93
84
|
}
|
|
94
85
|
|
|
95
86
|
@mixin kbq-toggle-typography() {
|
|
96
87
|
.kbq-toggle:not(.kbq-toggle_big) {
|
|
97
88
|
@include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
|
|
98
|
-
|
|
99
|
-
& .kbq-hint .kbq-hint__text {
|
|
100
|
-
@include tokens.kbq-typography-level-to-styles-css-variables(typography, text-compact);
|
|
101
|
-
}
|
|
102
89
|
}
|
|
103
90
|
|
|
104
91
|
.kbq-toggle.kbq-toggle_big {
|
|
105
92
|
@include tokens.kbq-typography-level-to-styles-css-variables(typography, text-big);
|
|
106
|
-
|
|
107
|
-
& .kbq-hint .kbq-hint__text {
|
|
108
|
-
@include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
|
|
109
|
-
}
|
|
110
93
|
}
|
|
111
94
|
}
|
package/tooltip/tooltip.scss
CHANGED
|
@@ -109,7 +109,7 @@ $navbar-trigger-margin: $trigger-margin + 1px;
|
|
|
109
109
|
width: var(--kbq-tooltip-size-arrow-size);
|
|
110
110
|
height: var(--kbq-tooltip-size-arrow-size);
|
|
111
111
|
|
|
112
|
-
transform: rotate(45deg);
|
|
112
|
+
transform: translate(var(--kbq-tooltip-arrow-shift-x, 0px), var(--kbq-tooltip-arrow-shift-y, 0px)) rotate(45deg);
|
|
113
113
|
|
|
114
114
|
z-index: -1;
|
|
115
115
|
}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
--kbq-top-bar-padding-vertical: var(--kbq-size-m);
|
|
15
15
|
--kbq-top-bar-padding-horizontal: var(--kbq-size-xxl);
|
|
16
16
|
--kbq-top-bar-border-radius: 0;
|
|
17
|
+
--kbq-top-bar-title-height: var(--kbq-size-3xl);
|
|
17
18
|
--kbq-top-bar-container-start-gap: 0;
|
|
18
19
|
--kbq-top-bar-container-start-min-width: 0;
|
|
19
20
|
--kbq-top-bar-container-end-gap: var(--kbq-size-s);
|
package/top-bar/top-bar.scss
CHANGED
|
@@ -47,6 +47,16 @@
|
|
|
47
47
|
flex: 0 0 var(--kbq-top-bar-spacer-min-width);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
.kbq-top-bar-title {
|
|
51
|
+
@include tokens.kbq-typography-level-to-styles-css-variables(typography, subheading);
|
|
52
|
+
|
|
53
|
+
// The line box of a `size="big"` breadcrumb item: the same height, and the same baseline, so a
|
|
54
|
+
// page that swaps the trail for a title moves nothing. A minimum, not a fixed height: a title
|
|
55
|
+
// long enough to wrap has to grow the bar rather than paint over its edge.
|
|
56
|
+
min-block-size: var(--kbq-top-bar-title-height);
|
|
57
|
+
line-height: var(--kbq-top-bar-title-height);
|
|
58
|
+
}
|
|
59
|
+
|
|
50
60
|
.kbq-top-bar-container {
|
|
51
61
|
// Must match the host set of the ruleset immediately below: the negative margin compensates the
|
|
52
62
|
// padding that mixin adds, so a container the mixin skips must not get the compensation either.
|
|
@@ -6,6 +6,7 @@ import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
|
|
|
6
6
|
import { Subject } from 'rxjs';
|
|
7
7
|
import * as i1$1 from '@koobiq/components/icon';
|
|
8
8
|
import { KbqIcon } from '@koobiq/components/icon';
|
|
9
|
+
import * as _koobiq_components_accordion from '@koobiq/components/accordion';
|
|
9
10
|
import * as i1 from '@koobiq/components/core';
|
|
10
11
|
|
|
11
12
|
declare class KbqAccordionTriggerDirective {
|
|
@@ -15,6 +16,18 @@ declare class KbqAccordionTriggerDirective {
|
|
|
15
16
|
protected readonly accordion: KbqAccordion;
|
|
16
17
|
/** @docs-private */
|
|
17
18
|
protected readonly item: KbqAccordionItem;
|
|
19
|
+
/**
|
|
20
|
+
* Value of `aria-expanded`.
|
|
21
|
+
*
|
|
22
|
+
* @docs-private
|
|
23
|
+
*/
|
|
24
|
+
protected readonly expanded: _angular_core.Signal<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Value of `data-state`.
|
|
27
|
+
*
|
|
28
|
+
* @docs-private
|
|
29
|
+
*/
|
|
30
|
+
protected readonly dataState: _angular_core.Signal<_koobiq_components_accordion.KbqAccordionItemState>;
|
|
18
31
|
/** @docs-private */
|
|
19
32
|
get triggerId(): string;
|
|
20
33
|
/** @docs-private */
|
|
@@ -344,6 +357,12 @@ declare class KbqAccordionContentDirective implements OnInit, DoCheck, AfterView
|
|
|
344
357
|
protected readonly nativeElement: HTMLElement;
|
|
345
358
|
/** @docs-private */
|
|
346
359
|
protected readonly item: KbqAccordionItem;
|
|
360
|
+
/**
|
|
361
|
+
* Value of `data-state`.
|
|
362
|
+
*
|
|
363
|
+
* @docs-private
|
|
364
|
+
*/
|
|
365
|
+
protected readonly dataState: _angular_core.Signal<_koobiq_components_accordion.KbqAccordionItemState>;
|
|
347
366
|
/** @docs-private */
|
|
348
367
|
get contentId(): string;
|
|
349
368
|
/** @docs-private */
|
|
@@ -397,6 +416,12 @@ declare class KbqAccordionHeader {
|
|
|
397
416
|
protected readonly item: KbqAccordionItem;
|
|
398
417
|
/** @docs-private */
|
|
399
418
|
protected readonly accordion: KbqAccordion;
|
|
419
|
+
/**
|
|
420
|
+
* Value of `data-state`.
|
|
421
|
+
*
|
|
422
|
+
* @docs-private
|
|
423
|
+
*/
|
|
424
|
+
protected readonly dataState: _angular_core.Signal<_koobiq_components_accordion.KbqAccordionItemState>;
|
|
400
425
|
/**
|
|
401
426
|
* Names the heading after the trigger alone.
|
|
402
427
|
*
|
|
@@ -180,6 +180,12 @@ declare class KbqButtonToggleGroup implements OnChanges, ControlValueAccessor, O
|
|
|
180
180
|
syncButtonToggle(toggle: KbqButtonToggle, select: boolean, isUserInput?: boolean): void;
|
|
181
181
|
/** Body of `syncButtonToggle()`. */
|
|
182
182
|
private applyToggleSelection;
|
|
183
|
+
/**
|
|
184
|
+
* Reports the new value of a selected toggle, which changes the value of the group, as an interaction would.
|
|
185
|
+
*
|
|
186
|
+
* @docs-private
|
|
187
|
+
*/
|
|
188
|
+
followToggleValue(toggle: KbqButtonToggle, previous: KbqButtonToggle['value']): void;
|
|
183
189
|
/** Checks whether a button toggle is selected. */
|
|
184
190
|
isSelected(toggle: KbqButtonToggle): boolean;
|
|
185
191
|
/** Determines whether a button toggle should be checked on init, from the value waiting for it. */
|
|
@@ -59,8 +59,38 @@ declare class KbqCheckbox extends KbqColorDirective implements OnChanges, DoChec
|
|
|
59
59
|
protected readonly inputId: _angular_core.Signal<string>;
|
|
60
60
|
/** Error text projected into the checkbox. */
|
|
61
61
|
private readonly error;
|
|
62
|
+
/**
|
|
63
|
+
* Whether the projected `kbq-error` is shown. Without one, nothing is rendered under the label.
|
|
64
|
+
*
|
|
65
|
+
* @docs-private
|
|
66
|
+
*/
|
|
67
|
+
protected readonly showError: _angular_core.Signal<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Id of the element wrapping the projected `kbq-error`.
|
|
70
|
+
*
|
|
71
|
+
* @docs-private
|
|
72
|
+
*/
|
|
73
|
+
protected readonly errorId: _angular_core.Signal<string>;
|
|
74
|
+
/**
|
|
75
|
+
* Id of the label text, which alone names the native input.
|
|
76
|
+
*
|
|
77
|
+
* @docs-private
|
|
78
|
+
*/
|
|
79
|
+
protected readonly labelId: _angular_core.Signal<string>;
|
|
62
80
|
/** Hints projected into the checkbox. */
|
|
63
81
|
private readonly hints;
|
|
82
|
+
/**
|
|
83
|
+
* Value of `aria-describedby` of the native input: the error, while it is shown, and the hints.
|
|
84
|
+
*
|
|
85
|
+
* @docs-private
|
|
86
|
+
*/
|
|
87
|
+
protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
|
|
88
|
+
/**
|
|
89
|
+
* Value of `aria-invalid` of the native input: set whenever the checkbox is painted as invalid.
|
|
90
|
+
*
|
|
91
|
+
* @docs-private
|
|
92
|
+
*/
|
|
93
|
+
protected readonly ariaInvalid: _angular_core.Signal<"true" | null>;
|
|
64
94
|
/** Whether the checkbox is required. */
|
|
65
95
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
66
96
|
/** @docs-private */
|
|
@@ -58,6 +58,7 @@ declare function kbqInjectClampedTextLocaleConfiguration(): Signal<KbqClampedTex
|
|
|
58
58
|
*/
|
|
59
59
|
declare class KbqClampedList<T> implements KbqClamped {
|
|
60
60
|
private readonly nativeElement;
|
|
61
|
+
private readonly animateCollapse;
|
|
61
62
|
/** Collapsed state: `true` = collapsed, `false` = expanded, `undefined` = expanded. */
|
|
62
63
|
readonly isCollapsed: _angular_core.ModelSignal<boolean>;
|
|
63
64
|
/** The list of items to display. */
|
|
@@ -70,6 +71,12 @@ declare class KbqClampedList<T> implements KbqClamped {
|
|
|
70
71
|
* Minimum number of hidden items required to show the toggle trigger. Defaults to `6`.
|
|
71
72
|
*/
|
|
72
73
|
readonly hiddenThreshold: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
74
|
+
/**
|
|
75
|
+
* Duration of the expand and collapse animation in milliseconds.
|
|
76
|
+
* Only state changes made through the disclosure toggle animate: programmatic writes of
|
|
77
|
+
* `isCollapsed` and changes of `items` switch instantly. Defaults to `100`.
|
|
78
|
+
*/
|
|
79
|
+
readonly duration: _angular_core.InputSignalWithTransform<number, string | number | null | undefined>;
|
|
73
80
|
/** Id the trigger points its `aria-controls` at. Keeps an id the host already carries. */
|
|
74
81
|
readonly contentId: string;
|
|
75
82
|
/** Number of items hidden when the list is collapsed. */
|
|
@@ -85,7 +92,7 @@ declare class KbqClampedList<T> implements KbqClamped {
|
|
|
85
92
|
/** Toggles the collapsed state of the list. Stops event propagation. */
|
|
86
93
|
toggle(event: Event): void;
|
|
87
94
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqClampedList<any>, never>;
|
|
88
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqClampedList<any>, "[kbqClampedList]", ["kbqClampedList"], { "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "collapsedVisibleCount": { "alias": "collapsedVisibleCount"; "required": false; "isSignal": true; }; "hiddenThreshold": { "alias": "hiddenThreshold"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; }, never, never, true, [{ directive: typeof _koobiq_components_core.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
|
|
95
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqClampedList<any>, "[kbqClampedList]", ["kbqClampedList"], { "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "collapsedVisibleCount": { "alias": "collapsedVisibleCount"; "required": false; "isSignal": true; }; "hiddenThreshold": { "alias": "hiddenThreshold"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; }, never, never, true, [{ directive: typeof _koobiq_components_core.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
|
|
89
96
|
}
|
|
90
97
|
/**
|
|
91
98
|
* Disclosure control for the clamped container it is projected into — `[kbqClampedList]` or
|
|
@@ -133,6 +140,12 @@ declare class KbqClampedText implements KbqClamped, AfterViewInit {
|
|
|
133
140
|
* Whether collapsing scrolls the component back into view. Defaults to `true`.
|
|
134
141
|
*/
|
|
135
142
|
readonly scrollOnCollapse: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
143
|
+
/**
|
|
144
|
+
* Duration of the expand and collapse animation in milliseconds.
|
|
145
|
+
* Only state changes made through the disclosure toggle animate: programmatic writes of
|
|
146
|
+
* `isCollapsed` and re-measurements switch instantly. Defaults to `100`.
|
|
147
|
+
*/
|
|
148
|
+
readonly duration: _angular_core.InputSignalWithTransform<number, string | number | null | undefined>;
|
|
136
149
|
/** Id of the clamped region, published by the toggle as its `aria-controls`. */
|
|
137
150
|
readonly contentId: string;
|
|
138
151
|
/** @docs-private */
|
|
@@ -154,10 +167,10 @@ declare class KbqClampedText implements KbqClamped, AfterViewInit {
|
|
|
154
167
|
*/
|
|
155
168
|
protected readonly collapsedState: Signal<boolean>;
|
|
156
169
|
private readonly destroyRef;
|
|
157
|
-
private readonly injector;
|
|
158
170
|
private readonly elementRef;
|
|
159
171
|
private readonly resizeObserver;
|
|
160
172
|
private readonly platform;
|
|
173
|
+
private readonly animateCollapse;
|
|
161
174
|
/**
|
|
162
175
|
* Clamped text locale configuration.
|
|
163
176
|
*
|
|
@@ -170,7 +183,7 @@ declare class KbqClampedText implements KbqClamped, AfterViewInit {
|
|
|
170
183
|
private updateToggleVisibilityState;
|
|
171
184
|
private getRowsCount;
|
|
172
185
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqClampedText, never>;
|
|
173
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqClampedText, "kbq-clamped-text", ["kbqClampedText"], { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "scrollOnCollapse": { "alias": "scrollOnCollapse"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; }, never, ["*"], true, [{ directive: typeof _koobiq_components_core.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
|
|
186
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqClampedText, "kbq-clamped-text", ["kbqClampedText"], { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "scrollOnCollapse": { "alias": "scrollOnCollapse"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; }, never, ["*"], true, [{ directive: typeof _koobiq_components_core.KbqLocaleOverridesDirective; inputs: { "kbqLocaleOverrides": "localeOverrides"; }; outputs: {}; }]>;
|
|
174
187
|
}
|
|
175
188
|
|
|
176
189
|
/** Re-exports both clamped containers and their shared trigger for `NgModule`-based consumers. */
|
|
@@ -54,13 +54,17 @@ declare const KBQ_CODE_BLOCK_FALLBACK_FILE_NAME: InjectionToken<string>;
|
|
|
54
54
|
declare const kbqCodeBlockFallbackFileNameProvider: (fileName: string) => Provider;
|
|
55
55
|
/** Default options for `kbq-code-block`. */
|
|
56
56
|
type KbqCodeBlockDefaultOptions = Partial<{
|
|
57
|
-
/** Whether the actionbar should remain visible when tabs are hidden. */
|
|
57
|
+
/** Whether the actionbar should remain visible when tabs are hidden. Defaults to `false`. */
|
|
58
58
|
alwaysShowActionbar: boolean;
|
|
59
|
+
/** Whether to display line numbers. Defaults to `false`. */
|
|
60
|
+
lineNumbers: boolean;
|
|
59
61
|
}>;
|
|
60
62
|
/** Injection token used to configure the default options for all `kbq-code-block` components. */
|
|
61
63
|
declare const KBQ_CODE_BLOCK_DEFAULT_OPTIONS: InjectionToken<Partial<{
|
|
62
|
-
/** Whether the actionbar should remain visible when tabs are hidden. */
|
|
64
|
+
/** Whether the actionbar should remain visible when tabs are hidden. Defaults to `false`. */
|
|
63
65
|
alwaysShowActionbar: boolean;
|
|
66
|
+
/** Whether to display line numbers. Defaults to `false`. */
|
|
67
|
+
lineNumbers: boolean;
|
|
64
68
|
}>>;
|
|
65
69
|
/** Utility provider for `KBQ_CODE_BLOCK_DEFAULT_OPTIONS`. */
|
|
66
70
|
declare const kbqCodeBlockDefaultOptionsProvider: (options: KbqCodeBlockDefaultOptions) => Provider;
|
|
@@ -90,7 +94,7 @@ declare class KbqCodeBlock implements AfterViewInit {
|
|
|
90
94
|
protected readonly contentExceedsMaxHeight: _angular_core.WritableSignal<boolean | undefined>;
|
|
91
95
|
/** @docs-private */
|
|
92
96
|
protected readonly tabLinkTemplate: _angular_core.Signal<TemplateRef<KbqTabLinkTemplateContext> | undefined>;
|
|
93
|
-
/** Whether to display line numbers. */
|
|
97
|
+
/** Whether to display line numbers. Defaults to `lineNumbers` of `KBQ_CODE_BLOCK_DEFAULT_OPTIONS`, or `false`. */
|
|
94
98
|
readonly lineNumbers: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
95
99
|
/** Whether the code block should be filled. */
|
|
96
100
|
readonly filled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -432,7 +436,17 @@ declare class KbqCodeBlockHighlight {
|
|
|
432
436
|
readonly startFrom: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
433
437
|
/** Whether to display line numbers for single line code block. */
|
|
434
438
|
readonly singleLine: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
439
|
+
/** Number of lines of the file, a line break at its end not counted, as it starts no line. */
|
|
440
|
+
protected readonly lineCount: _angular_core.Signal<number>;
|
|
441
|
+
/** Width of the line numbers column, in digits of its largest number. */
|
|
442
|
+
protected readonly lineNumberDigits: _angular_core.Signal<number>;
|
|
435
443
|
private highlight;
|
|
444
|
+
/**
|
|
445
|
+
* Wraps every line of the highlighted markup in an element of its own, for the line numbers to count. The spans a
|
|
446
|
+
* line break crosses are closed at the end of its line and opened again on the next one. The line break stays
|
|
447
|
+
* inside its line, so that an empty line keeps its height and the text of the code is the text of the file.
|
|
448
|
+
*/
|
|
449
|
+
private splitIntoLines;
|
|
436
450
|
/** The fallback language, or plain text, which the loader registers on every instance, if it is unknown too. */
|
|
437
451
|
private fallbackLanguage;
|
|
438
452
|
private warn;
|