@koobiq/components 17.0.2 → 17.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.component.scss +2 -2
- package/button/button.scss +2 -6
- package/button-toggle/button-toggle.scss +8 -6
- package/checkbox/checkbox.scss +9 -18
- package/code-block/_code-block-theme.scss +7 -16
- package/code-block/actionbar.component.d.ts +1 -2
- package/code-block/actionbar.component.scss +24 -13
- package/code-block/code-block.component.d.ts +16 -4
- package/code-block/code-block.scss +14 -10
- package/core/styles/common/_groups.scss +2 -2
- package/core/styles/common/_select.scss +23 -60
- package/core/styles/common/_tokens.scss +52 -0
- package/core/styles/theming/_scrollbar-theme.scss +8 -19
- package/datepicker/_datepicker-theme.scss +1 -0
- package/datepicker/calendar-header.component.d.ts +10 -6
- package/datepicker/calendar.scss +2 -3
- package/datepicker/datepicker-input.directive.d.ts +10 -0
- package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
- package/esm2022/code-block/actionbar.component.mjs +4 -7
- package/esm2022/code-block/code-block.component.mjs +69 -20
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +32 -9
- package/esm2022/datepicker/datepicker-input.directive.mjs +101 -21
- package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
- package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
- package/esm2022/navbar/vertical-navbar.component.mjs +8 -4
- package/esm2022/radio/radio.component.mjs +2 -2
- package/esm2022/toast/toast.component.mjs +7 -6
- package/esm2022/toast/toast.module.mjs +5 -1
- package/esm2022/toggle/toggle.component.mjs +3 -3
- package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +71 -25
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +1 -1
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +131 -28
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +4 -4
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +7 -3
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +2 -2
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +8 -3
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/file-upload/multiple-file-upload.component.scss +16 -33
- package/file-upload/single-file-upload.component.scss +8 -6
- package/form-field/form-field.scss +8 -14
- package/input/input.scss +4 -11
- package/navbar/vertical-navbar.component.d.ts +2 -1
- package/navbar/vertical-navbar.scss +9 -4
- package/package.json +4 -4
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/radio/radio.scss +9 -24
- package/schematics/ng-add/index.js +2 -2
- package/tabs/_tabs-common.scss +6 -14
- package/tags/tag-list.scss +2 -15
- package/toast/toast.module.d.ts +5 -4
- package/toggle/_toggle-theme.scss +5 -2
- package/toggle/toggle.scss +2 -16
- package/tooltip/tooltip.scss +1 -1
- package/tree/tree-option.scss +9 -20
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
flex-direction: row;
|
|
9
9
|
justify-content: flex-start;
|
|
10
10
|
align-items: center;
|
|
11
|
-
height:
|
|
11
|
+
height: kbq-css-variable(badge-size-normal-height);
|
|
12
12
|
text-align: center;
|
|
13
13
|
white-space: nowrap;
|
|
14
14
|
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
&.kbq-badge_compact {
|
|
40
|
-
height:
|
|
40
|
+
height: kbq-css-variable(badge-size-compact-height);
|
|
41
41
|
|
|
42
42
|
padding-right: kbq-css-variable(badge-size-compact-horizontal-padding);
|
|
43
43
|
padding-left: kbq-css-variable(badge-size-compact-horizontal-padding);
|
package/button/button.scss
CHANGED
|
@@ -12,12 +12,8 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
12
12
|
@extend %kbq-button-base;
|
|
13
13
|
|
|
14
14
|
// base padding + compensation (4px) - border-width (2px)
|
|
15
|
-
padding-left:
|
|
16
|
-
|
|
17
|
-
);
|
|
18
|
-
padding-right: calc(
|
|
19
|
-
var(--kbq-button-size-horizontal-padding, map.get($tokens, button-size-horizontal-padding)) + 4px
|
|
20
|
-
);
|
|
15
|
+
padding-left: kbq-sum-series-css-variables([button-size-horizontal-padding, 4px]);
|
|
16
|
+
padding-right: kbq-sum-series-css-variables([button-size-horizontal-padding, 4px]);
|
|
21
17
|
|
|
22
18
|
&.kbq-button-icon_left {
|
|
23
19
|
padding-left: kbq-css-variable(button-size-horizontal-padding);
|
|
@@ -29,18 +29,20 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
29
29
|
|
|
30
30
|
height: kbq-css-variable(button-toggle-size-item-height);
|
|
31
31
|
|
|
32
|
-
$padding-vertical: map.get($tokens, button-toggle-size-item-padding-vertical);
|
|
33
|
-
$padding-horizontal: map.get($tokens, button-toggle-size-item-padding-horizontal);
|
|
34
|
-
$outline-width: map.get($tokens, button-toggle-size-item-focus-outline-width);
|
|
35
|
-
|
|
36
32
|
border-radius: kbq-css-variable(button-toggle-size-item-border-radius);
|
|
37
33
|
|
|
38
34
|
> .kbq-button,
|
|
39
35
|
> .kbq-button-icon {
|
|
40
36
|
border-radius: kbq-css-variable(button-toggle-size-item-border-radius);
|
|
41
37
|
|
|
42
|
-
padding:
|
|
43
|
-
|
|
38
|
+
padding: kbq-difference-series-css-variables(
|
|
39
|
+
[ button-toggle-size-item-padding-vertical,
|
|
40
|
+
button-toggle-size-item-focus-outline-width]
|
|
41
|
+
)
|
|
42
|
+
kbq-difference-series-css-variables(
|
|
43
|
+
[ button-toggle-size-item-padding-horizontal,
|
|
44
|
+
button-toggle-size-item-focus-outline-width]
|
|
45
|
+
);
|
|
44
46
|
|
|
45
47
|
& .kbq-button-wrapper {
|
|
46
48
|
width: 100%;
|
package/checkbox/checkbox.scss
CHANGED
|
@@ -47,12 +47,9 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
47
47
|
|
|
48
48
|
padding-bottom: kbq-css-variable(checkbox-size-normal-paddding-bottom);
|
|
49
49
|
|
|
50
|
-
padding-left:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
--kbq-checkbox-size-normal-horizontal-content-padding,
|
|
54
|
-
map.get($tokens, checkbox-size-normal-horizontal-content-padding)
|
|
55
|
-
)
|
|
50
|
+
padding-left: kbq-sum-series-css-variables(
|
|
51
|
+
[checkbox-size-normal-width,
|
|
52
|
+
checkbox-size-normal-horizontal-content-padding]
|
|
56
53
|
);
|
|
57
54
|
|
|
58
55
|
vertical-align: top;
|
|
@@ -110,12 +107,9 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
110
107
|
|
|
111
108
|
.kbq-checkbox.kbq-checkbox_big {
|
|
112
109
|
& .kbq-checkbox__layout {
|
|
113
|
-
padding-left:
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
--kbq-checkbox-size-normal-horizontal-content-padding,
|
|
117
|
-
map.get($tokens, checkbox-size-normal-horizontal-content-padding)
|
|
118
|
-
)
|
|
110
|
+
padding-left: kbq-sum-series-css-variables(
|
|
111
|
+
[ checkbox-size-normal-width,
|
|
112
|
+
checkbox-size-normal-horizontal-content-padding]
|
|
119
113
|
);
|
|
120
114
|
}
|
|
121
115
|
|
|
@@ -154,12 +148,9 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
154
148
|
.kbq-checkbox_label-before {
|
|
155
149
|
.kbq-checkbox__layout {
|
|
156
150
|
padding-left: 0;
|
|
157
|
-
padding-right:
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
--kbq-checkbox-size-normal-horizontal-content-padding,
|
|
161
|
-
map.get($tokens, checkbox-size-normal-horizontal-content-padding)
|
|
162
|
-
)
|
|
151
|
+
padding-right: kbq-sum-series-css-variables(
|
|
152
|
+
[ checkbox-size-normal-width,
|
|
153
|
+
checkbox-size-normal-horizontal-content-padding]
|
|
163
154
|
);
|
|
164
155
|
}
|
|
165
156
|
|
|
@@ -28,6 +28,12 @@
|
|
|
28
28
|
|
|
29
29
|
& .kbq-code-block-actionbar {
|
|
30
30
|
background: kbq-css-variable(#{$base}-actionbar-background, map.get($style, actionbar, background));
|
|
31
|
+
|
|
32
|
+
&.kbq-actionbar-block_floating {
|
|
33
|
+
.kbq-actionbar-block__button-stack {
|
|
34
|
+
background: kbq-css-variable(#{$base}-actionbar-background, map.get($style, actionbar, background));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
&.kbq-code-block_header-with-shadow {
|
|
@@ -38,8 +44,6 @@
|
|
|
38
44
|
|
|
39
45
|
&.kbq-code-block_no-header {
|
|
40
46
|
& .kbq-code-block__fade-gradient {
|
|
41
|
-
display: block;
|
|
42
|
-
|
|
43
47
|
background: kbq-css-variable(#{$base}-actionbar-fade-gradient, map.get($style, actionbar, fade-gradient));
|
|
44
48
|
}
|
|
45
49
|
}
|
|
@@ -361,7 +365,7 @@
|
|
|
361
365
|
.kbq-tab-group.kbq-focused {
|
|
362
366
|
// paint focus border from the top since because of border constraints
|
|
363
367
|
.kbq-tab-header {
|
|
364
|
-
box-shadow: 0
|
|
368
|
+
box-shadow: 0 2px 0 -1px kbq-css-variable(states-focused-color, map.get($theme, states, focused-color));
|
|
365
369
|
}
|
|
366
370
|
|
|
367
371
|
.kbq-tab-body__wrapper {
|
|
@@ -371,19 +375,6 @@
|
|
|
371
375
|
}
|
|
372
376
|
}
|
|
373
377
|
}
|
|
374
|
-
|
|
375
|
-
.kbq-code-block-actionbar {
|
|
376
|
-
.kbq-code-block-actionbar_less-contrast {
|
|
377
|
-
background-color: kbq-css-variable(
|
|
378
|
-
code-block-actionbar-bg-less-contrast,
|
|
379
|
-
map.get($code-block, actionbar, bg-less-contrast)
|
|
380
|
-
);
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
&.kbq-actionbar-block_floating {
|
|
384
|
-
background-color: kbq-css-variable(code-block-actionbar-bg, map.get($code-block, actionbar, bg));
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
378
|
}
|
|
388
379
|
|
|
389
380
|
@mixin kbq-code-block-typography($config) {
|
|
@@ -6,7 +6,6 @@ export declare class KbqActionBarComponent implements AfterViewInit {
|
|
|
6
6
|
copyTooltip: KbqTooltipTrigger;
|
|
7
7
|
config: KbqCodeBlockConfiguration;
|
|
8
8
|
codeFiles: KbqCodeFile[];
|
|
9
|
-
lessContrast: boolean;
|
|
10
9
|
selectedTabIndex: number;
|
|
11
10
|
multiLine: boolean;
|
|
12
11
|
softWrap: boolean;
|
|
@@ -19,5 +18,5 @@ export declare class KbqActionBarComponent implements AfterViewInit {
|
|
|
19
18
|
ngAfterViewInit(): void;
|
|
20
19
|
onCopy(): void;
|
|
21
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqActionBarComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KbqActionBarComponent, "kbq-actionbar-block", never, { "config": { "alias": "config"; "required": false; }; "codeFiles": { "alias": "codeFiles"; "required": false; }; "
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KbqActionBarComponent, "kbq-actionbar-block", never, { "config": { "alias": "config"; "required": false; }; "codeFiles": { "alias": "codeFiles"; "required": false; }; "selectedTabIndex": { "alias": "selectedTabIndex"; "required": false; }; "multiLine": { "alias": "multiLine"; "required": false; }; "softWrap": { "alias": "softWrap"; "required": false; }; "canLoad": { "alias": "canLoad"; "required": false; }; }, { "toggleSoftWrap": "toggleSoftWrap"; "downloadCode": "downloadCode"; "copyCode": "copyCode"; "openExternalSystem": "openExternalSystem"; }, never, never, false, never>;
|
|
23
22
|
}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
@use '../core/styles/common/tokens' as *;
|
|
5
5
|
|
|
6
6
|
$tokens: meta.module-variables(tokens) !default;
|
|
7
|
+
$actionbar-indents: kbq-css-variable(code-block-size-actionbar-padding-vertical)
|
|
8
|
+
kbq-css-variable(code-block-size-actionbar-padding-horizontal);
|
|
7
9
|
|
|
8
10
|
.kbq-code-block-actionbar {
|
|
9
11
|
display: flex;
|
|
@@ -12,25 +14,34 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
12
14
|
|
|
13
15
|
position: absolute;
|
|
14
16
|
|
|
15
|
-
top
|
|
17
|
+
// position to top to the height of tab-header
|
|
18
|
+
top: -48px;
|
|
16
19
|
right: 0;
|
|
17
20
|
|
|
18
|
-
margin:
|
|
19
|
-
kbq-css-variable(code-block-size-actionbar-padding-horizontal);
|
|
21
|
+
margin: $actionbar-indents;
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
.kbq-actionbar-block__button-stack {
|
|
24
|
+
gap: kbq-css-variable(code-block-size-actionbar-content-gap-horizontal);
|
|
25
|
+
}
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
.kbq-code-block__fade-gradient {
|
|
24
28
|
display: none;
|
|
25
29
|
|
|
26
30
|
width: kbq-css-variable(code-block-size-actionbar-fade-gradient-width);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&.kbq-actionbar-block_floating {
|
|
34
|
+
top: 0;
|
|
35
|
+
margin: unset;
|
|
36
|
+
background: transparent !important;
|
|
37
|
+
|
|
38
|
+
.kbq-code-block__fade-gradient {
|
|
39
|
+
display: block;
|
|
40
|
+
align-self: stretch;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.kbq-actionbar-block__button-stack {
|
|
44
|
+
padding: $actionbar-indents;
|
|
45
|
+
}
|
|
35
46
|
}
|
|
36
47
|
}
|
|
@@ -45,11 +45,13 @@ export declare class KbqCodeBlockComponent implements AfterViewInit, OnDestroy {
|
|
|
45
45
|
config: KbqCodeBlockConfiguration;
|
|
46
46
|
tabGroup: KbqTabGroup;
|
|
47
47
|
lineNumbers: boolean;
|
|
48
|
-
codeFiles: KbqCodeFile[];
|
|
49
48
|
filled: boolean;
|
|
50
49
|
maxHeight: number;
|
|
51
50
|
softWrap: boolean;
|
|
52
51
|
canLoad: boolean;
|
|
52
|
+
get codeFiles(): KbqCodeFile[];
|
|
53
|
+
set codeFiles(files: KbqCodeFile[]);
|
|
54
|
+
private _codeFiles;
|
|
53
55
|
get noHeader(): any;
|
|
54
56
|
get singleFile(): boolean;
|
|
55
57
|
selectedTabIndex: number;
|
|
@@ -57,12 +59,17 @@ export declare class KbqCodeBlockComponent implements AfterViewInit, OnDestroy {
|
|
|
57
59
|
viewAll: boolean;
|
|
58
60
|
multiLine: boolean;
|
|
59
61
|
isTopOverflow: boolean;
|
|
60
|
-
|
|
62
|
+
hasKeyboardFocus: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* @docs-private
|
|
65
|
+
*/
|
|
66
|
+
actionbarHidden?: boolean;
|
|
61
67
|
readonly resizeStream: Subject<Event>;
|
|
62
68
|
readonly currentCodeBlock: Subject<HTMLElement>;
|
|
63
69
|
private readonly resizeDebounceInterval;
|
|
64
70
|
private resizeSubscription;
|
|
65
71
|
private codeBlockSubscription;
|
|
72
|
+
private hoverSubscription;
|
|
66
73
|
constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, clipboard: Clipboard, renderer: Renderer2, focusMonitor: FocusMonitor, config: KbqCodeBlockConfiguration);
|
|
67
74
|
ngAfterViewInit(): void;
|
|
68
75
|
ngOnDestroy(): void;
|
|
@@ -78,9 +85,14 @@ export declare class KbqCodeBlockComponent implements AfterViewInit, OnDestroy {
|
|
|
78
85
|
checkOverflow(currentCodeContentElement: HTMLElement): void;
|
|
79
86
|
onShowMoreClick(currentCodeContentElement: HTMLPreElement): void;
|
|
80
87
|
canShowFocus(currentCodeContent: HTMLPreElement): boolean;
|
|
88
|
+
onEnter(currentCodeBlock: HTMLPreElement): void;
|
|
89
|
+
/** @docs-private */
|
|
90
|
+
showActionBarIfNecessary(): void;
|
|
91
|
+
/** @docs-private */
|
|
92
|
+
hideActionBarIfNoHeader(event?: FocusEvent | null): void;
|
|
81
93
|
private updateMultiline;
|
|
82
94
|
private getFullFileName;
|
|
83
|
-
|
|
95
|
+
private subscribeToHover;
|
|
84
96
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqCodeBlockComponent, [null, null, null, null, null, { optional: true; }]>;
|
|
85
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KbqCodeBlockComponent, "kbq-code-block", ["kbqCodeBlock"], { "lineNumbers": { "alias": "lineNumbers"; "required": false; }; "
|
|
97
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KbqCodeBlockComponent, "kbq-code-block", ["kbqCodeBlock"], { "lineNumbers": { "alias": "lineNumbers"; "required": false; }; "filled": { "alias": "filled"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "softWrap": { "alias": "softWrap"; "required": false; }; "canLoad": { "alias": "canLoad"; "required": false; }; "codeFiles": { "alias": "codeFiles"; "required": false; }; }, {}, never, never, false, never>;
|
|
86
98
|
}
|
|
@@ -27,11 +27,8 @@ $border-width: kbq-css-variable(code-block-size-container-border-width);
|
|
|
27
27
|
// 4 buttons + margin
|
|
28
28
|
$buttons-margin: calc(32 * 4) + 24px;
|
|
29
29
|
|
|
30
|
-
padding: kbq-css-variable(code-block-size-header-padding-vertical)
|
|
31
|
-
|
|
32
|
-
var(--kbq-code-block-size-header-padding-right, map.get($tokens, code-block-size-header-padding-right)) +
|
|
33
|
-
$buttons-margin
|
|
34
|
-
)
|
|
30
|
+
padding: calc(kbq-css-variable(code-block-size-header-padding-vertical) - $border-width)
|
|
31
|
+
kbq-sum-series-css-variables([code-block-size-header-padding-right, $buttons-margin])
|
|
35
32
|
kbq-css-variable(code-block-size-header-padding-vertical)
|
|
36
33
|
kbq-css-variable(code-block-size-header-padding-left);
|
|
37
34
|
|
|
@@ -47,6 +44,14 @@ $border-width: kbq-css-variable(code-block-size-container-border-width);
|
|
|
47
44
|
overflow-x: scroll;
|
|
48
45
|
}
|
|
49
46
|
}
|
|
47
|
+
|
|
48
|
+
&:has(.kbq-code-block__show-more_collapsed) {
|
|
49
|
+
.kbq-code-block__code {
|
|
50
|
+
& > code {
|
|
51
|
+
overflow-x: hidden;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
50
55
|
}
|
|
51
56
|
|
|
52
57
|
.kbq-code-block__code {
|
|
@@ -87,6 +92,8 @@ $border-width: kbq-css-variable(code-block-size-container-border-width);
|
|
|
87
92
|
&:not(.kbq-code-block_no-header) {
|
|
88
93
|
.kbq-tab-body__wrapper {
|
|
89
94
|
border-top-width: 0;
|
|
95
|
+
// actionbar can be visible when positioned in the header
|
|
96
|
+
overflow: visible;
|
|
90
97
|
}
|
|
91
98
|
}
|
|
92
99
|
|
|
@@ -126,8 +133,6 @@ $border-width: kbq-css-variable(code-block-size-container-border-width);
|
|
|
126
133
|
|
|
127
134
|
.kbq-tab-body__wrapper {
|
|
128
135
|
flex-direction: column;
|
|
129
|
-
position: unset;
|
|
130
|
-
|
|
131
136
|
border-width: $border-width;
|
|
132
137
|
border-style: solid;
|
|
133
138
|
border-radius: 0 0 $border-radius $border-radius;
|
|
@@ -171,12 +176,11 @@ $border-width: kbq-css-variable(code-block-size-container-border-width);
|
|
|
171
176
|
.kbq-code-block__show-more {
|
|
172
177
|
display: flex;
|
|
173
178
|
justify-content: center;
|
|
174
|
-
overflow: hidden;
|
|
175
179
|
|
|
176
|
-
width:
|
|
180
|
+
width: 100%;
|
|
177
181
|
|
|
178
182
|
position: absolute;
|
|
179
|
-
bottom:
|
|
183
|
+
bottom: 0;
|
|
180
184
|
border-radius: $border-radius;
|
|
181
185
|
|
|
182
186
|
&.kbq-code-block__show-more_collapsed {
|
|
@@ -45,7 +45,7 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
.kbq-group-item + .kbq-group-item {
|
|
48
|
-
margin-left: calc(-1 *
|
|
48
|
+
margin-left: calc(-1 * #{kbq-css-variable(button-size-border-width)});
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
& > .kbq-group-item:first-child:not(:last-child) {
|
|
@@ -108,6 +108,6 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
.kbq-group-item + .kbq-group-item {
|
|
111
|
-
margin-top: calc(-1 *
|
|
111
|
+
margin-top: calc(-1 * #{kbq-css-variable(button-size-border-width)});
|
|
112
112
|
}
|
|
113
113
|
}
|
|
@@ -33,9 +33,6 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
$border-width: map.get($tokens, form-field-size-border-width);
|
|
37
|
-
$height: map.get($tokens, form-field-size-height);
|
|
38
|
-
|
|
39
36
|
.kbq-select__trigger {
|
|
40
37
|
display: flex;
|
|
41
38
|
box-sizing: border-box;
|
|
@@ -43,71 +40,37 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
43
40
|
|
|
44
41
|
cursor: pointer;
|
|
45
42
|
|
|
46
|
-
height:
|
|
47
|
-
|
|
43
|
+
height: kbq-difference-series-css-variables(
|
|
44
|
+
[form-field-size-height,
|
|
45
|
+
calc(kbq-css-variable(form-field-size-border-width) * 2)]
|
|
48
46
|
);
|
|
49
47
|
}
|
|
50
48
|
|
|
51
49
|
.kbq-select__trigger.kbq-select__trigger_single,
|
|
52
50
|
.kbq-select__trigger.kbq-select__trigger_multiple.kbq-select__trigger_empty {
|
|
53
51
|
& .kbq-select__matcher {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var(--kbq-select-size-single-padding-vertical, $padding-vertical) - var(
|
|
58
|
-
--kbq-form-field-size-border-width,
|
|
59
|
-
$border-width
|
|
60
|
-
)
|
|
61
|
-
)
|
|
62
|
-
calc(
|
|
63
|
-
var(--kbq-select-size-single-padding-right, map.get($tokens, select-size-single-padding-right)) - var(
|
|
64
|
-
--kbq-form-field-size-border-width,
|
|
65
|
-
$border-width
|
|
66
|
-
)
|
|
67
|
-
)
|
|
68
|
-
calc(
|
|
69
|
-
var(--kbq-select-size-single-padding-vertical, $padding-vertical) - var(
|
|
70
|
-
--kbq-form-field-size-border-width,
|
|
71
|
-
$border-width
|
|
72
|
-
)
|
|
52
|
+
padding: kbq-difference-series-css-variables(
|
|
53
|
+
[select-size-single-padding-vertical,
|
|
54
|
+
form-field-size-border-width]
|
|
73
55
|
)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
$border-width
|
|
78
|
-
)
|
|
79
|
-
);
|
|
56
|
+
kbq-difference-series-css-variables([select-size-single-padding-right, form-field-size-border-width])
|
|
57
|
+
kbq-difference-series-css-variables([select-size-single-padding-vertical, form-field-size-border-width])
|
|
58
|
+
kbq-difference-series-css-variables([select-size-single-padding-left, form-field-size-border-width]);
|
|
80
59
|
}
|
|
81
60
|
}
|
|
82
61
|
|
|
83
62
|
.kbq-select__trigger.kbq-select__trigger_multiple:not(.kbq-select__trigger_empty) {
|
|
84
63
|
& .kbq-select__matcher {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
var(--kbq-select-size-multiple-padding-vertical, $padding-vertical) - var(
|
|
89
|
-
--kbq-form-field-size-border-width,
|
|
90
|
-
$border-width
|
|
91
|
-
)
|
|
64
|
+
padding: kbq-difference-series-css-variables(
|
|
65
|
+
[select-size-multiple-padding-vertical,
|
|
66
|
+
form-field-size-border-width]
|
|
92
67
|
)
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
)
|
|
68
|
+
kbq-difference-series-css-variables([select-size-multiple-padding-right, form-field-size-border-width])
|
|
69
|
+
kbq-difference-series-css-variables(
|
|
70
|
+
[select-size-multiple-padding-vertical,
|
|
71
|
+
form-field-size-border-width]
|
|
98
72
|
)
|
|
99
|
-
|
|
100
|
-
var(--kbq-select-size-multiple-padding-vertical, $padding-vertical) - var(
|
|
101
|
-
--kbq-form-field-size-border-width,
|
|
102
|
-
$border-width
|
|
103
|
-
)
|
|
104
|
-
)
|
|
105
|
-
calc(
|
|
106
|
-
var(--kbq-select-size-multiple-padding-left, map.get($tokens, select-size-multiple-padding-left)) - var(
|
|
107
|
-
--kbq-form-field-size-border-width,
|
|
108
|
-
$border-width
|
|
109
|
-
)
|
|
110
|
-
);
|
|
73
|
+
kbq-difference-series-css-variables([select-size-multiple-padding-left, form-field-size-border-width]);
|
|
111
74
|
|
|
112
75
|
.kbq-select__match-container {
|
|
113
76
|
display: flex;
|
|
@@ -118,14 +81,14 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
118
81
|
flex-wrap: wrap;
|
|
119
82
|
overflow: hidden;
|
|
120
83
|
|
|
121
|
-
height:
|
|
122
|
-
|
|
123
|
-
|
|
84
|
+
height: kbq-difference-series-css-variables(
|
|
85
|
+
[form-field-size-height,
|
|
86
|
+
calc(kbq-css-variable(select-size-multiple-padding-vertical) * 2)]
|
|
124
87
|
);
|
|
125
88
|
|
|
126
|
-
max-height:
|
|
127
|
-
|
|
128
|
-
|
|
89
|
+
max-height: kbq-difference-series-css-variables(
|
|
90
|
+
[form-field-size-height,
|
|
91
|
+
calc(kbq-css-variable(select-size-multiple-padding-vertical) * 2)]
|
|
129
92
|
);
|
|
130
93
|
|
|
131
94
|
gap: kbq-css-variable(select-size-multiple-content-gap);
|
|
@@ -45,3 +45,55 @@ $tokens: meta.module-variables(tokens) !default;
|
|
|
45
45
|
@include kbq-css-font-variable($component, $property, font-feature-settings, '');
|
|
46
46
|
@include kbq-css-font-variable($component, $property, letter-spacing, '');
|
|
47
47
|
}
|
|
48
|
+
|
|
49
|
+
@function kbq-sum-series-css-variables($variables) {
|
|
50
|
+
$sum: 0;
|
|
51
|
+
@each $variable in $variables {
|
|
52
|
+
@if ($sum == 0) {
|
|
53
|
+
@if (meta.type-of($variable) == number or meta.type-of($variable) == calculation) {
|
|
54
|
+
$sum: $variable;
|
|
55
|
+
} @else {
|
|
56
|
+
$sum: kbq-css-variable($variable);
|
|
57
|
+
}
|
|
58
|
+
} @else {
|
|
59
|
+
@if (meta.type-of($variable) == number or meta.type-of($variable) == calculation) {
|
|
60
|
+
$sum: calc($sum + $variable);
|
|
61
|
+
} @else {
|
|
62
|
+
$sum: calc($sum + kbq-css-variable($variable));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
@return $sum;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@function kbq-difference-series-css-variables($variables) {
|
|
70
|
+
$difference: 0;
|
|
71
|
+
@each $variable in $variables {
|
|
72
|
+
@if ($difference == 0) {
|
|
73
|
+
@if (meta.type-of($variable) == number or meta.type-of($variable) == calculation) {
|
|
74
|
+
$difference: $variable;
|
|
75
|
+
} @else {
|
|
76
|
+
$difference: kbq-css-variable($variable);
|
|
77
|
+
}
|
|
78
|
+
} @else {
|
|
79
|
+
@if (meta.type-of($variable) == number or meta.type-of($variable) == calculation) {
|
|
80
|
+
$difference: calc($difference - $variable);
|
|
81
|
+
} @else {
|
|
82
|
+
$difference: calc($difference - kbq-css-variable($variable));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
@return $difference;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@function kbq-css-half-difference($outer, $inner, $border: null) {
|
|
90
|
+
@if $border {
|
|
91
|
+
@if (meta.type-of($border) == number or meta.type-of($border) == calculation) {
|
|
92
|
+
@return calc((kbq-css-variable($outer) - kbq-css-variable($inner) - $border * 2) / 2);
|
|
93
|
+
} @else {
|
|
94
|
+
@return calc((kbq-css-variable($outer) - kbq-css-variable($inner) - kbq-css-variable($border * 2)) / 2);
|
|
95
|
+
}
|
|
96
|
+
} @else {
|
|
97
|
+
@return calc((kbq-css-variable($outer) - kbq-css-variable($inner)) / 2);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -3,18 +3,10 @@
|
|
|
3
3
|
@use 'sass:meta';
|
|
4
4
|
@use 'sass:map';
|
|
5
5
|
|
|
6
|
+
@use '../common/tokens' as *;
|
|
6
7
|
@use '../functions/string' as *;
|
|
7
8
|
|
|
8
9
|
@mixin kbq-scrollbar($tokens) {
|
|
9
|
-
$border-width: calc(
|
|
10
|
-
(
|
|
11
|
-
var(--kbq-scrollbar-size-track-dimension, map.get($tokens, scrollbar-size-track-dimension)) - var(
|
|
12
|
-
--kbq-scrollbar-size-thumb-width,
|
|
13
|
-
map.get($tokens, scrollbar-size-thumb-width)
|
|
14
|
-
)
|
|
15
|
-
) / 2
|
|
16
|
-
);
|
|
17
|
-
|
|
18
10
|
//firefox
|
|
19
11
|
@supports not selector(::-webkit-scrollbar) {
|
|
20
12
|
scrollbar-width: thin;
|
|
@@ -26,32 +18,29 @@
|
|
|
26
18
|
cursor: default;
|
|
27
19
|
|
|
28
20
|
&:vertical {
|
|
29
|
-
width:
|
|
21
|
+
width: kbq-css-variable(scrollbar-size-track-dimension);
|
|
30
22
|
}
|
|
31
23
|
|
|
32
24
|
&:horizontal {
|
|
33
|
-
height:
|
|
25
|
+
height: kbq-css-variable(scrollbar-size-track-dimension);
|
|
34
26
|
}
|
|
35
27
|
}
|
|
36
28
|
|
|
37
29
|
&::-webkit-scrollbar-thumb,
|
|
38
30
|
::-webkit-scrollbar-thumb {
|
|
39
|
-
width:
|
|
31
|
+
width: kbq-css-variable(scrollbar-size-thumb-width);
|
|
40
32
|
border-style: solid;
|
|
41
|
-
border-width:
|
|
33
|
+
border-width: kbq-css-half-difference(scrollbar-size-track-dimension, scrollbar-size-thumb-width);
|
|
42
34
|
|
|
43
|
-
border-radius:
|
|
44
|
-
--kbq-scrollbar-size-thumb-inset-border-radius,
|
|
45
|
-
map.get($tokens, scrollbar-size-thumb-border-radius)
|
|
46
|
-
);
|
|
35
|
+
border-radius: kbq-css-variable(scrollbar-size-thumb-border-radius);
|
|
47
36
|
|
|
48
37
|
// these props are used to set the user-friendly thumb for long content.
|
|
49
38
|
&:vertical {
|
|
50
|
-
min-height:
|
|
39
|
+
min-height: kbq-css-variable(scrollbar-size-thumb-min-size);
|
|
51
40
|
}
|
|
52
41
|
|
|
53
42
|
&:horizontal {
|
|
54
|
-
min-width:
|
|
43
|
+
min-width: kbq-css-variable(scrollbar-size-thumb-min-size);
|
|
55
44
|
}
|
|
56
45
|
}
|
|
57
46
|
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { AfterContentInit, EventEmitter } from '@angular/core';
|
|
2
2
|
import { DateAdapter } from '@koobiq/components/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
export type MonthName = {
|
|
5
|
+
name: string;
|
|
6
|
+
nameShort: string;
|
|
7
|
+
value: number;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
};
|
|
4
10
|
/** Default header for KbqCalendar */
|
|
5
11
|
export declare class KbqCalendarHeader<D> implements AfterContentInit {
|
|
6
12
|
private readonly adapter;
|
|
7
|
-
monthNames:
|
|
8
|
-
name: string;
|
|
9
|
-
nameShort: string;
|
|
10
|
-
value: number;
|
|
11
|
-
}[];
|
|
13
|
+
monthNames: MonthName[];
|
|
12
14
|
selectedMonth: number;
|
|
13
15
|
years: {
|
|
14
16
|
name: number;
|
|
@@ -46,7 +48,9 @@ export declare class KbqCalendarHeader<D> implements AfterContentInit {
|
|
|
46
48
|
selectNextMonth(): void;
|
|
47
49
|
private compareDate;
|
|
48
50
|
private updateSelectedValues;
|
|
49
|
-
private
|
|
51
|
+
private updateSelectionOptions;
|
|
52
|
+
private updateYearsOptions;
|
|
53
|
+
private updateMonthOptions;
|
|
50
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqCalendarHeader<any>, never>;
|
|
51
55
|
static ɵcmp: i0.ɵɵComponentDeclaration<KbqCalendarHeader<any>, "kbq-calendar-header", ["kbqCalendarHeader"], { "activeDate": { "alias": "activeDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; }, { "activeDateChange": "activeDateChange"; "monthSelected": "monthSelected"; "yearSelected": "yearSelected"; }, never, never, false, never>;
|
|
52
56
|
}
|