@koobiq/components 17.0.3 → 17.2.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 (95) hide show
  1. package/badge/badge.component.scss +2 -2
  2. package/button/button.scss +2 -6
  3. package/button-toggle/button-toggle.scss +8 -6
  4. package/checkbox/checkbox.scss +9 -18
  5. package/code-block/code-block.scss +1 -4
  6. package/core/pop-up/index.d.ts +1 -0
  7. package/core/pop-up/pop-up-styles.d.ts +2 -0
  8. package/core/pop-up/pop-up.d.ts +5 -0
  9. package/core/styles/_koobiq-theme.scss +0 -2
  10. package/core/styles/common/_groups.scss +2 -2
  11. package/core/styles/common/_select.scss +23 -60
  12. package/core/styles/common/_tokens.scss +52 -0
  13. package/core/styles/theming/_components-theming.scss +10 -24
  14. package/core/styles/theming/_scrollbar-theme.scss +8 -19
  15. package/datepicker/_datepicker-theme.scss +1 -0
  16. package/datepicker/calendar-header.component.d.ts +10 -6
  17. package/datepicker/calendar.scss +2 -3
  18. package/datepicker/datepicker-input.directive.d.ts +10 -0
  19. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  20. package/esm2022/code-block/actionbar.component.mjs +1 -1
  21. package/esm2022/core/pop-up/index.mjs +2 -1
  22. package/esm2022/core/pop-up/pop-up-styles.mjs +26 -0
  23. package/esm2022/core/pop-up/pop-up.mjs +1 -1
  24. package/esm2022/core/version.mjs +2 -2
  25. package/esm2022/datepicker/calendar-header.component.mjs +32 -9
  26. package/esm2022/datepicker/datepicker-input.directive.mjs +101 -21
  27. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  28. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  29. package/esm2022/navbar/vertical-navbar.component.mjs +8 -4
  30. package/esm2022/popover/popover.component.mjs +4 -1
  31. package/esm2022/radio/radio.component.mjs +2 -2
  32. package/esm2022/tabs/tab-group.component.mjs +1 -1
  33. package/esm2022/toast/toast.component.mjs +7 -6
  34. package/esm2022/toast/toast.module.mjs +5 -1
  35. package/esm2022/toggle/toggle.component.mjs +3 -3
  36. package/esm2022/tooltip/tooltip.component.mjs +42 -10
  37. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  38. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-code-block.mjs +1 -1
  40. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-core.mjs +28 -3
  42. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-datepicker.mjs +131 -28
  44. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  46. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-navbar.mjs +7 -3
  48. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-popover.mjs +3 -0
  50. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-radio.mjs +2 -2
  52. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-tabs.mjs +1 -1
  54. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-toast.mjs +8 -3
  56. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  58. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-tooltip.mjs +41 -9
  60. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  61. package/file-upload/multiple-file-upload.component.scss +16 -33
  62. package/file-upload/single-file-upload.component.scss +8 -6
  63. package/form-field/form-field.scss +8 -14
  64. package/input/input.scss +4 -11
  65. package/navbar/vertical-navbar.component.d.ts +2 -1
  66. package/navbar/vertical-navbar.scss +9 -4
  67. package/package.json +12 -18
  68. package/prebuilt-themes/dark-theme.css +1 -1
  69. package/prebuilt-themes/light-theme.css +1 -1
  70. package/radio/radio.scss +9 -24
  71. package/schematics/ng-add/index.js +4 -4
  72. package/tabs/_tabs-common.scss +6 -14
  73. package/tags/tag-list.scss +2 -15
  74. package/toast/toast.component.scss +12 -1
  75. package/toast/toast.module.d.ts +5 -4
  76. package/toggle/_toggle-theme.scss +5 -2
  77. package/toggle/toggle.scss +2 -16
  78. package/tooltip/_tooltip-theme.scss +12 -0
  79. package/tooltip/tooltip.component.d.ts +12 -3
  80. package/tooltip/tooltip.scss +6 -1
  81. package/tree/tree-option.scss +9 -20
  82. package/card/_card-theme.scss +0 -62
  83. package/card/card.component.d.ts +0 -28
  84. package/card/card.component.scss +0 -37
  85. package/card/card.module.d.ts +0 -10
  86. package/card/index.d.ts +0 -1
  87. package/card/public-api.d.ts +0 -2
  88. package/esm2022/card/card.component.mjs +0 -79
  89. package/esm2022/card/card.module.mjs +0 -28
  90. package/esm2022/card/index.mjs +0 -2
  91. package/esm2022/card/koobiq-components-card.mjs +0 -5
  92. package/esm2022/card/public-api.mjs +0 -3
  93. package/fesm2022/koobiq-components-card.mjs +0 -110
  94. package/fesm2022/koobiq-components-card.mjs.map +0 -1
  95. /package/{card → toggle}/README.md +0 -0
@@ -8,7 +8,7 @@
8
8
  flex-direction: row;
9
9
  justify-content: flex-start;
10
10
  align-items: center;
11
- height: var(--kbq-badge-size-normal-height, map.get($tokens, badge-size-normal-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: var(--kbq-badge-size-compact-height, map.get($tokens, badge-size-compact-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);
@@ -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: calc(
16
- var(--kbq-button-size-horizontal-padding, map.get($tokens, button-size-horizontal-padding)) + 4px
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: calc(var(--kbq-button-toggle-size-item-padding-vertical, $padding-vertical) - $outline-width)
43
- calc(var(--kbq-button-toggle-size-item-padding-horizontal, $padding-horizontal) - $outline-width);
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%;
@@ -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: calc(
51
- var(--kbq-checkbox-size-normal-width, map.get($tokens, checkbox-size-normal-width)) +
52
- var(
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: calc(
114
- var(--kbq-checkbox-size-normal-width, map.get($tokens, checkbox-size-normal-width)) +
115
- var(
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: calc(
158
- var(--kbq-checkbox-size-normal-width, map.get($tokens, checkbox-size-normal-width)) +
159
- var(
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,10 +28,7 @@ $border-width: kbq-css-variable(code-block-size-container-border-width);
28
28
  $buttons-margin: calc(32 * 4) + 24px;
29
29
 
30
30
  padding: calc(kbq-css-variable(code-block-size-header-padding-vertical) - $border-width)
31
- calc(
32
- var(--kbq-code-block-size-header-padding-right, map.get($tokens, code-block-size-header-padding-right)) +
33
- $buttons-margin
34
- )
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
 
@@ -1,3 +1,4 @@
1
1
  export * from './constants';
2
2
  export * from './pop-up';
3
+ export * from './pop-up-styles';
3
4
  export * from './pop-up-trigger';
@@ -0,0 +1,2 @@
1
+ import { ElementRef } from '@angular/core';
2
+ export declare const applyPopupMargins: (element: ElementRef, name: string, value: string) => void;
@@ -7,8 +7,13 @@ export declare abstract class KbqPopUp implements OnDestroy {
7
7
  private changeDetectorRef;
8
8
  header: string | TemplateRef<any>;
9
9
  content: string | TemplateRef<any>;
10
+ context: {
11
+ $implicit: any;
12
+ } | null;
10
13
  classMap: {};
11
14
  warning: boolean;
15
+ arrow: boolean;
16
+ offset: number | null;
12
17
  visibility: PopUpVisibility;
13
18
  visibleChange: EventEmitter<boolean>;
14
19
  protected prefix: string;
@@ -11,7 +11,6 @@
11
11
  @use '../../badge/badge-theme' as *;
12
12
  @use '../../button/button-theme' as *;
13
13
  @use '../../button-toggle/button-toggle-theme' as *;
14
- @use '../../card/card-theme' as *;
15
14
  @use '../../checkbox/checkbox-theme' as *;
16
15
  @use '../../code-block/code-block-theme' as *;
17
16
  @use '../../datepicker/datepicker-theme' as *;
@@ -65,7 +64,6 @@
65
64
  @include kbq-badge-theme($theme);
66
65
  @include kbq-button-theme($theme);
67
66
  @include kbq-button-toggle-theme($theme);
68
- @include kbq-card-theme($theme);
69
67
  @include kbq-checkbox-theme($theme);
70
68
  @include kbq-code-block-theme($theme);
71
69
  @include kbq-datepicker-theme($theme);
@@ -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 * var(--kbq-button-size-border-width, #{map.get($tokens, button-size-border-width)}));
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 * var(--kbq-button-size-border-width, #{map.get($tokens, button-size-border-width)}));
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: calc(
47
- var(--kbq-form-field-size-height, $height) - (var(--kbq-form-field-size-border-width, $border-width) * 2)
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
- $padding-vertical: map.get($tokens, select-size-single-padding-vertical);
55
-
56
- padding: calc(
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
- calc(
75
- var(--kbq-select-size-single-padding-left, map.get($tokens, select-size-single-padding-left)) - var(
76
- --kbq-form-field-size-border-width,
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
- $padding-vertical: map.get($tokens, select-size-multiple-padding-vertical);
86
-
87
- padding: calc(
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
- calc(
94
- var(--kbq-select-size-multiple-padding-right, map.get($tokens, select-size-multiple-padding-right)) - var(
95
- --kbq-form-field-size-border-width,
96
- $border-width
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
- calc(
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: calc(
122
- var(--kbq-form-field-size-height, $height) -
123
- (var(--kbq-select-size-multiple-padding-vertical, $padding-vertical) * 2)
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: calc(
127
- var(--kbq-form-field-size-height, $height) -
128
- (var(--kbq-select-size-multiple-padding-vertical, $padding-vertical) * 2)
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
+ }
@@ -340,29 +340,6 @@
340
340
  )
341
341
  );
342
342
 
343
- $card: (
344
- error: (
345
- vertical-line: map.get($tokens, 'card-#{$scheme}-error-vertical-line'),
346
- background: map.get($tokens, 'card-#{$scheme}-error-background'),
347
- shadow: map.get($tokens, 'card-#{$scheme}-error-shadow')
348
- ),
349
- warning: (
350
- vertical-line: map.get($tokens, 'card-#{$scheme}-warning-vertical-line'),
351
- background: map.get($tokens, 'card-#{$scheme}-warning-background'),
352
- shadow: map.get($tokens, 'card-#{$scheme}-warning-shadow')
353
- ),
354
- success: (
355
- vertical-line: map.get($tokens, 'card-#{$scheme}-success-vertical-line'),
356
- background: map.get($tokens, 'card-#{$scheme}-success-background'),
357
- shadow: map.get($tokens, 'card-#{$scheme}-success-shadow')
358
- ),
359
- info: (
360
- vertical-line: map.get($tokens, 'card-#{$scheme}-info-vertical-line'),
361
- background: map.get($tokens, 'card-#{$scheme}-info-background'),
362
- shadow: map.get($tokens, 'card-#{$scheme}-info-shadow')
363
- )
364
- );
365
-
366
343
  $checkbox: (
367
344
  theme: (
368
345
  default: (
@@ -1759,6 +1736,16 @@
1759
1736
  background: map.get($tokens, 'tooltip-#{$scheme}-contrast-fade-off-background'),
1760
1737
  text: map.get($tokens, 'tooltip-#{$scheme}-contrast-fade-off-text'),
1761
1738
  shadow: map.get($tokens, 'tooltip-#{$scheme}-contrast-fade-off-shadow')
1739
+ ),
1740
+ warning-fade-off: (
1741
+ background: map.get($tokens, 'tooltip-#{$scheme}-warning-fade-off-background'),
1742
+ text: map.get($tokens, 'tooltip-#{$scheme}-warning-fade-off-text'),
1743
+ shadow: map.get($tokens, 'tooltip-#{$scheme}-warning-fade-off-shadow')
1744
+ ),
1745
+ error-fade-off: (
1746
+ background: map.get($tokens, 'tooltip-#{$scheme}-error-fade-off-background'),
1747
+ text: map.get($tokens, 'tooltip-#{$scheme}-error-fade-off-text'),
1748
+ shadow: map.get($tokens, 'tooltip-#{$scheme}-error-fade-off-shadow')
1762
1749
  )
1763
1750
  );
1764
1751
 
@@ -1827,7 +1814,6 @@
1827
1814
  badge: $badge,
1828
1815
  button: $button,
1829
1816
  button-toggle: $button-toggle,
1830
- card: $card,
1831
1817
  checkbox: $checkbox,
1832
1818
  code-block: $code-block,
1833
1819
  datepicker: $datepicker,
@@ -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: var(--kbq-scrollbar-size-track-dimension, map.get($tokens, scrollbar-size-track-dimension));
21
+ width: kbq-css-variable(scrollbar-size-track-dimension);
30
22
  }
31
23
 
32
24
  &:horizontal {
33
- height: var(--kbq-scrollbar-size-track-dimension, map.get($tokens, scrollbar-size-track-dimension));
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: var(--kbq-scrollbar-size-thumb-width, map.get($tokens, scrollbar-size-thumb-width));
31
+ width: kbq-css-variable(scrollbar-size-thumb-width);
40
32
  border-style: solid;
41
- border-width: $border-width;
33
+ border-width: kbq-css-half-difference(scrollbar-size-track-dimension, scrollbar-size-thumb-width);
42
34
 
43
- border-radius: var(
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: var(--kbq-scrollbar-size-thumb-min-size, map.get($tokens, scrollbar-size-thumb-min-size));
39
+ min-height: kbq-css-variable(scrollbar-size-thumb-min-size);
51
40
  }
52
41
 
53
42
  &:horizontal {
54
- min-width: var(--kbq-scrollbar-size-thumb-min-size, map.get($tokens, scrollbar-size-thumb-min-size));
43
+ min-width: kbq-css-variable(scrollbar-size-thumb-min-size);
55
44
  }
56
45
  }
57
46
 
@@ -66,6 +66,7 @@
66
66
  }
67
67
 
68
68
  &.kbq-disabled {
69
+ color: kbq-css-variable(states-foreground-disabled, map.get($theme, states, foreground, disabled));
69
70
  background: kbq-css-variable(
70
71
  datepicker-cell-disabled-background,
71
72
  map.get($datepicker, cell, disabled, background)
@@ -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 updateYearsArray;
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
  }
@@ -34,7 +34,6 @@ $tokens: meta.module-variables(tokens) !default;
34
34
  box-sizing: border-box;
35
35
  height: kbq-css-variable(datepicker-size-grid-content-gap-vertical);
36
36
 
37
- $horizontal-padding: map.get($tokens, datepicker-size-grid-padding-horizontal);
38
37
  // We use an absolutely positioned pseudo-element as the divider line for the table header so we
39
38
  // can extend it all the way to the edge of the calendar.
40
39
  &::after {
@@ -42,8 +41,8 @@ $tokens: meta.module-variables(tokens) !default;
42
41
 
43
42
  position: absolute;
44
43
  top: 0;
45
- left: calc(-1 * var(--kbq-datepicker-size-grid-padding-horizontal, #{$horizontal-padding}));
46
- right: calc(-1 * var(--kbq-datepicker-size-grid-padding-horizontal, #{$horizontal-padding}));
44
+ left: calc(-1 * #{kbq-css-variable(datepicker-size-grid-padding-horizontal)});
45
+ right: calc(-1 * #{kbq-css-variable(datepicker-size-grid-padding-horizontal)});
47
46
 
48
47
  height: kbq-css-variable(datepicker-size-grid-divider-height);
49
48
  }
@@ -143,6 +143,16 @@ export declare class KbqDatepickerInput<D> implements KbqFormFieldControl<D>, Co
143
143
  private getDefaultValue;
144
144
  private getTimeStringFromDate;
145
145
  private getDateEditMetrics;
146
+ private isMaxMonth;
147
+ private isMinMonth;
148
+ private isMaxYear;
149
+ private isMinYear;
150
+ private getMaxDate;
151
+ private getMinDate;
152
+ private getMaxMonth;
153
+ private getMinMonth;
154
+ private getMaxYear;
155
+ private getMinYear;
146
156
  private incrementDate;
147
157
  private getLastDayFor;
148
158
  private decrementDate;
@@ -339,7 +339,7 @@ export class KbqButtonToggle {
339
339
  <ng-content />
340
340
  </div>
341
341
  </button>
342
- `, isInline: true, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:var(--kbq-button-toggle-size-container-content-gap-horizontal, 4px);border-radius:var(--kbq-button-toggle-size-container-border-radius, 8px);padding:var(--kbq-button-toggle-size-container-padding-vertical, 4px) var(--kbq-button-toggle-size-container-padding-horizontal, 4px)}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;align-items:center;height:var(--kbq-button-toggle-size-item-height, 24px);border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px);padding:calc(var(--kbq-button-toggle-size-item-padding-vertical, 2px) - 2px) calc(var(--kbq-button-toggle-size-item-padding-horizontal, 8px) - 2px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{display:inline-flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;align-items:center;width:100%;gap:var(--kbq-button-toggle-size-item-content-gap-horizontal, 4px)}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{max-width:100%;height:var(--kbq-button-toggle-size-item-height, 24px)}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}\n"], dependencies: [{ kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i3.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
342
+ `, isInline: true, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:var(--kbq-button-toggle-size-container-content-gap-horizontal, 4px);border-radius:var(--kbq-button-toggle-size-container-border-radius, 8px);padding:var(--kbq-button-toggle-size-container-padding-vertical, 4px) var(--kbq-button-toggle-size-container-padding-horizontal, 4px)}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;align-items:center;height:var(--kbq-button-toggle-size-item-height, 24px);border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px);padding:calc(var(--kbq-button-toggle-size-item-padding-vertical, 2px) - var(--kbq-button-toggle-size-item-focus-outline-width, 2px)) calc(var(--kbq-button-toggle-size-item-padding-horizontal, 8px) - var(--kbq-button-toggle-size-item-focus-outline-width, 2px))}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{display:inline-flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;align-items:center;width:100%;gap:var(--kbq-button-toggle-size-item-content-gap-horizontal, 4px)}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{max-width:100%;height:var(--kbq-button-toggle-size-item-height, 24px)}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}\n"], dependencies: [{ kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i3.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
343
343
  }
344
344
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqButtonToggle, decorators: [{
345
345
  type: Component,
@@ -364,7 +364,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
364
364
  `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
365
365
  class: 'kbq-button-toggle',
366
366
  '[class]': '"kbq-button-toggle" + iconType'
367
- }, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:var(--kbq-button-toggle-size-container-content-gap-horizontal, 4px);border-radius:var(--kbq-button-toggle-size-container-border-radius, 8px);padding:var(--kbq-button-toggle-size-container-padding-vertical, 4px) var(--kbq-button-toggle-size-container-padding-horizontal, 4px)}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;align-items:center;height:var(--kbq-button-toggle-size-item-height, 24px);border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px);padding:calc(var(--kbq-button-toggle-size-item-padding-vertical, 2px) - 2px) calc(var(--kbq-button-toggle-size-item-padding-horizontal, 8px) - 2px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{display:inline-flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;align-items:center;width:100%;gap:var(--kbq-button-toggle-size-item-content-gap-horizontal, 4px)}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{max-width:100%;height:var(--kbq-button-toggle-size-item-height, 24px)}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}\n"] }]
367
+ }, styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 1px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:var(--kbq-button-toggle-size-container-content-gap-horizontal, 4px);border-radius:var(--kbq-button-toggle-size-container-border-radius, 8px);padding:var(--kbq-button-toggle-size-container-padding-vertical, 4px) var(--kbq-button-toggle-size-container-padding-horizontal, 4px)}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;align-items:center;height:var(--kbq-button-toggle-size-item-height, 24px);border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px);padding:calc(var(--kbq-button-toggle-size-item-padding-vertical, 2px) - var(--kbq-button-toggle-size-item-focus-outline-width, 2px)) calc(var(--kbq-button-toggle-size-item-padding-horizontal, 8px) - var(--kbq-button-toggle-size-item-focus-outline-width, 2px))}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{display:inline-flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;align-items:center;width:100%;gap:var(--kbq-button-toggle-size-item-content-gap-horizontal, 4px)}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{max-width:100%;height:var(--kbq-button-toggle-size-item-height, 24px)}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-radius:var(--kbq-button-toggle-size-item-border-radius, 4px)}\n"] }]
368
368
  }], ctorParameters: () => [{ type: KbqButtonToggleGroup, decorators: [{
369
369
  type: Optional
370
370
  }] }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i0.ElementRef }], propDecorators: { icons: [{