@koobiq/components 18.24.0 → 18.26.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-theme.scss +8 -0
  2. package/badge/badge-tokens.scss +13 -0
  3. package/badge/badge.component.d.ts +2 -1
  4. package/checkbox/checkbox-tokens.scss +0 -2
  5. package/checkbox/checkbox.scss +17 -11
  6. package/core/common-behaviors/color.d.ts +4 -1
  7. package/core/pop-up/pop-up-trigger.d.ts +2 -1
  8. package/core/styles/common/_select.scss +1 -2
  9. package/core/styles/theming/_scrollbar-theme.scss +8 -10
  10. package/dropdown/_dropdown-theme.scss +6 -6
  11. package/dropdown/dropdown.scss +4 -3
  12. package/esm2022/badge/badge.component.mjs +4 -3
  13. package/esm2022/checkbox/checkbox.mjs +2 -2
  14. package/esm2022/core/common-behaviors/color.mjs +7 -2
  15. package/esm2022/core/pop-up/pop-up-trigger.mjs +3 -2
  16. package/esm2022/core/version.mjs +2 -2
  17. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  18. package/esm2022/file-upload/file-drop.mjs +5 -1
  19. package/esm2022/file-upload/file-upload.mjs +12 -2
  20. package/esm2022/file-upload/multiple-file-upload.component.mjs +28 -21
  21. package/esm2022/file-upload/single-file-upload.component.mjs +25 -19
  22. package/esm2022/form-field/form-field.mjs +2 -2
  23. package/esm2022/icon/icon-button.component.mjs +2 -2
  24. package/esm2022/list/list-selection.component.mjs +2 -2
  25. package/esm2022/list/list.component.mjs +2 -2
  26. package/esm2022/modal/modal.component.mjs +2 -2
  27. package/esm2022/modal/modal.service.mjs +8 -4
  28. package/esm2022/popover/popover.component.mjs +20 -1
  29. package/esm2022/select/select.component.mjs +3 -3
  30. package/esm2022/sidepanel/sidepanel-container.component.mjs +2 -2
  31. package/esm2022/tags/tag-list.component.mjs +14 -8
  32. package/esm2022/tags/tag.component.mjs +2 -1
  33. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  34. package/esm2022/toggle/toggle.component.mjs +3 -3
  35. package/esm2022/top-bar/top-bar.mjs +14 -6
  36. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  37. package/fesm2022/koobiq-components-badge.mjs +3 -2
  38. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  40. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-core.mjs +9 -3
  42. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  44. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-file-upload.mjs +66 -39
  46. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-form-field.mjs +2 -2
  48. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-icon.mjs +2 -2
  50. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-list.mjs +4 -4
  52. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-modal.mjs +9 -5
  54. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-popover.mjs +19 -0
  56. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-select.mjs +2 -2
  58. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
  60. package/fesm2022/koobiq-components-tags.mjs +14 -7
  61. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  62. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  63. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  64. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  65. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  66. package/fesm2022/koobiq-components-top-bar.mjs +13 -5
  67. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-tree-select.mjs +2 -2
  69. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  70. package/file-upload/_file-upload-theme.scss +8 -8
  71. package/file-upload/file-drop.d.ts +5 -0
  72. package/file-upload/file-upload.d.ts +11 -1
  73. package/file-upload/file-upload.scss +3 -3
  74. package/file-upload/multiple-file-upload.component.d.ts +24 -4
  75. package/file-upload/single-file-upload.component.d.ts +16 -2
  76. package/icon/icon-button.scss +4 -0
  77. package/list/_list-theme.scss +9 -19
  78. package/list/list.scss +20 -6
  79. package/modal/modal-tokens.scss +1 -1
  80. package/modal/modal.scss +6 -3
  81. package/package.json +4 -4
  82. package/popover/popover.component.d.ts +5 -3
  83. package/prebuilt-themes/dark-theme.css +1 -1
  84. package/prebuilt-themes/light-theme.css +1 -1
  85. package/prebuilt-themes/theme.css +1 -1
  86. package/schematics/ng-add/index.js +2 -2
  87. package/sidepanel/sidepanel-tokens.scss +4 -4
  88. package/tags/tag-list.scss +6 -1
  89. package/textarea/textarea-tokens.scss +1 -1
  90. package/toggle/_toggle-theme.scss +24 -20
  91. package/toggle/toggle-tokens.scss +0 -1
  92. package/toggle/toggle.scss +7 -8
  93. package/top-bar/top-bar-tokens.scss +4 -3
  94. package/top-bar/top-bar.d.ts +7 -0
  95. package/top-bar/top-bar.scss +27 -3
@@ -1,6 +1,6 @@
1
- @use '../core/styles/common/tokens' as *;
1
+ @use '../core/styles/common/tokens';
2
2
 
3
- @mixin kbq-toggle-state($type, $state-name) {
3
+ @mixin _kbq-toggle-state($type, $state-name) {
4
4
  $base: toggle-#{$type}-#{$state-name};
5
5
 
6
6
  .kbq-toggle-bar {
@@ -13,25 +13,25 @@
13
13
  }
14
14
  }
15
15
 
16
- @mixin kbq-toggle-color($type) {
17
- @include kbq-toggle-state($type, default);
16
+ @mixin _kbq-toggle-color($type) {
17
+ @include _kbq-toggle-state($type, default);
18
18
 
19
19
  &:hover {
20
- @include kbq-toggle-state($type, states-hover);
20
+ @include _kbq-toggle-state($type, states-hover);
21
21
  }
22
22
 
23
23
  &.kbq-active,
24
24
  &.kbq-indeterminate {
25
- @include kbq-toggle-state($type, states-checked);
25
+ @include _kbq-toggle-state($type, states-checked);
26
26
  }
27
27
 
28
28
  &.kbq-active:hover,
29
29
  &.kbq-indeterminate:hover {
30
- @include kbq-toggle-state($type, states-checked-hover);
30
+ @include _kbq-toggle-state($type, states-checked-hover);
31
31
  }
32
32
 
33
33
  &.cdk-keyboard-focused {
34
- @include kbq-toggle-state($type, states-focused);
34
+ @include _kbq-toggle-state($type, states-focused);
35
35
 
36
36
  & .kbq-toggle-bar {
37
37
  border-color: var(--kbq-toggle-#{$type}-states-focused-focus-outline);
@@ -41,7 +41,7 @@
41
41
 
42
42
  &.kbq-active.cdk-keyboard-focused,
43
43
  &.kbq-indeterminate.cdk-keyboard-focused {
44
- @include kbq-toggle-state($type, states-checked-focused);
44
+ @include _kbq-toggle-state($type, states-checked-focused);
45
45
 
46
46
  & .kbq-toggle-bar {
47
47
  border-color: var(--kbq-toggle-#{$type}-states-checked-focused-focus-outline);
@@ -51,16 +51,16 @@
51
51
 
52
52
  &.kbq-disabled,
53
53
  &.kbq-active.kbq-disabled {
54
- @include kbq-toggle-state($type, states-disabled);
54
+ @include _kbq-toggle-state($type, states-disabled);
55
55
  }
56
56
  }
57
57
 
58
58
  @mixin kbq-toggle-theme() {
59
59
  .kbq-toggle {
60
- @include kbq-toggle-color(theme);
60
+ @include _kbq-toggle-color(theme);
61
61
 
62
62
  &.kbq-error {
63
- @include kbq-toggle-color(error);
63
+ @include _kbq-toggle-color(error);
64
64
  }
65
65
 
66
66
  &.kbq-disabled {
@@ -72,31 +72,35 @@
72
72
  background: var(--kbq-icon-white);
73
73
  }
74
74
  }
75
+
76
+ .kbq-hint .kbq-hint__text {
77
+ color: var(--kbq-foreground-contrast-secondary);
78
+ }
75
79
  }
76
80
  }
77
81
 
78
82
  @mixin kbq-toggle-typography() {
79
83
  .kbq-toggle:not(.kbq-toggle_big) {
80
- @include kbq-typography-level-to-styles-css-variables(typography, text-normal);
84
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
81
85
 
82
- & .kbq-hint {
83
- @include kbq-typography-level-to-styles-css-variables(typography, text-compact);
86
+ & .kbq-hint .kbq-hint__text {
87
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-compact);
84
88
  }
85
89
 
86
90
  & .kbq-toggle-bar-container {
87
- @include kbq-css-font-variable(typography, text-compact, line-height, '');
91
+ @include tokens.kbq-css-font-variable(typography, text-compact, line-height, '');
88
92
  }
89
93
  }
90
94
 
91
95
  .kbq-toggle.kbq-toggle_big {
92
- @include kbq-typography-level-to-styles-css-variables(typography, text-big);
96
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-big);
93
97
 
94
- & .kbq-hint {
95
- @include kbq-typography-level-to-styles-css-variables(typography, text-normal);
98
+ & .kbq-hint .kbq-hint__text {
99
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
96
100
  }
97
101
 
98
102
  & .kbq-toggle-bar-container {
99
- @include kbq-css-font-variable(typography, text-big, line-height, '');
103
+ @include tokens.kbq-css-font-variable(typography, text-big, line-height, '');
100
104
  }
101
105
  }
102
106
  }
@@ -2,7 +2,6 @@
2
2
  --kbq-toggle-size-normal-height: var(--kbq-size-l);
3
3
  --kbq-toggle-size-normal-width: 28px;
4
4
  --kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);
5
- --kbq-toggle-size-normal-vertical-content-padding: var(--kbq-size-s);
6
5
  --kbq-toggle-size-big-height: var(--kbq-size-l);
7
6
  --kbq-toggle-size-big-width: 28px;
8
7
  --kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);
@@ -1,6 +1,5 @@
1
- @use '../core/styles/common/tokens' as *;
2
-
3
- @use './toggle-theme' as *;
1
+ @use '../core/styles/common/tokens';
2
+ @use './toggle-theme' as theme;
4
3
 
5
4
  $toggle-thumb-offset: 8px;
6
5
 
@@ -30,7 +29,7 @@ $toggle-thumb-offset: 8px;
30
29
  }
31
30
 
32
31
  .kbq-toggle-bar-container:has(+ .kbq-toggle__content) {
33
- padding-top: kbq-css-half-difference(typography-text-normal-line-height, toggle-size-normal-height);
32
+ padding-top: tokens.kbq-css-half-difference(typography-text-normal-line-height, toggle-size-normal-height);
34
33
  }
35
34
  }
36
35
 
@@ -70,7 +69,7 @@ $toggle-thumb-offset: 8px;
70
69
  }
71
70
 
72
71
  .kbq-hint {
73
- margin-top: var(--kbq-toggle-size-normal-vertical-content-padding);
72
+ margin-top: var(--kbq-size-3xs);
74
73
  }
75
74
 
76
75
  &.kbq-indeterminate {
@@ -123,7 +122,7 @@ $toggle-thumb-offset: 8px;
123
122
 
124
123
  .kbq-toggle-layout {
125
124
  .kbq-toggle-bar-container:has(+ .kbq-toggle__content) {
126
- padding-top: kbq-css-half-difference(toggle-font-big-label-line-height, toggle-size-big-height);
125
+ padding-top: tokens.kbq-css-half-difference(toggle-font-big-label-line-height, toggle-size-big-height);
127
126
  }
128
127
  }
129
128
  }
@@ -132,5 +131,5 @@ $toggle-thumb-offset: 8px;
132
131
  cursor: pointer;
133
132
  }
134
133
 
135
- @include kbq-toggle-theme();
136
- @include kbq-toggle-typography();
134
+ @include theme.kbq-toggle-theme();
135
+ @include theme.kbq-toggle-typography();
@@ -1,12 +1,13 @@
1
- .kbq-top-bar {
1
+ :where(.kbq-top-bar) {
2
2
  --kbq-top-bar-position: sticky;
3
3
  --kbq-top-bar-background: var(--kbq-background-bg);
4
4
  --kbq-top-bar-spacer-min-width: 80px;
5
5
  --kbq-top-bar-padding-vertical: var(--kbq-size-xl);
6
6
  --kbq-top-bar-padding-horizontal: var(--kbq-size-xxl);
7
7
  --kbq-top-bar-border-radius: 0;
8
- --kbq-top-bar-left-gap: 0;
9
- --kbq-top-bar-right-gap: var(--kbq-size-s);
8
+ --kbq-top-bar-container-start-gap: 0;
9
+ --kbq-top-bar-container-start-basis: 0;
10
+ --kbq-top-bar-container-end-gap: var(--kbq-size-s);
10
11
  --kbq-top-bar-shadow-bottom: var(--kbq-shadow-overflow-normal-bottom);
11
12
  --kbq-top-bar-shadow-transition: ease-out 300ms;
12
13
  }
@@ -1,3 +1,4 @@
1
+ import { KbqOverflowItems } from '@koobiq/components/overflow-items';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class KbqTopBarSpacer {
3
4
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTopBarSpacer, never>;
@@ -11,6 +12,12 @@ export declare class KbqTopBarContainer {
11
12
  * Conditionally applies a CSS class based on the value
12
13
  */
13
14
  placement: import("@angular/core").InputSignal<"start" | "end">;
15
+ /**
16
+ * Track if container has `KbqOverflowItems` directive assigned.
17
+ * Used to replace `gap` with `margin` so `KbqOverflowItems` will calculate correct width on resize.
18
+ * @docs-private
19
+ */
20
+ protected readonly overflowItems: KbqOverflowItems | null;
14
21
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTopBarContainer, never>;
15
22
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTopBarContainer, "[kbqTopBarContainer]", never, { "placement": { "alias": "placement"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
16
23
  }
@@ -14,17 +14,41 @@
14
14
 
15
15
  .kbq-top-bar-spacer {
16
16
  height: 100%;
17
- flex: 1 0 var(--kbq-top-bar-spacer-min-width);
17
+ flex: 0 0 var(--kbq-top-bar-spacer-min-width);
18
18
  }
19
19
 
20
20
  .kbq-top-bar-container__start {
21
21
  display: flex;
22
- gap: var(--kbq-top-bar-left-gap);
22
+ gap: var(--kbq-top-bar-container-start-gap);
23
+ flex: 1 0 var(--kbq-top-bar-container-start-basis);
24
+ justify-content: flex-start;
25
+ min-width: 0;
23
26
  }
24
27
 
25
28
  .kbq-top-bar-container__end {
26
29
  display: flex;
27
- gap: var(--kbq-top-bar-right-gap);
30
+ gap: var(--kbq-top-bar-container-end-gap);
31
+ justify-content: end;
32
+ }
33
+
34
+ .kbq-top-bar-container__with-overflow-items {
35
+ gap: unset;
36
+ padding: 1px;
37
+
38
+ > .kbq-overflow-item {
39
+ &:not(:last-of-type) {
40
+ margin-right: var(--kbq-top-bar-container-end-gap);
41
+ }
42
+
43
+ // apply margin if the last item needs to be alwaysVisible
44
+ &:last-of-type:is([aria-hidden='false']) + .kbq-overflow-items-result {
45
+ margin-left: var(--kbq-top-bar-container-end-gap);
46
+ }
47
+ }
48
+
49
+ .kbq-overflow-items-result:first-child {
50
+ margin-right: var(--kbq-top-bar-container-end-gap);
51
+ }
28
52
  }
29
53
 
30
54
  &.kbq-top-bar_with-shadow {