@koobiq/components 18.19.0 → 18.21.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 (148) hide show
  1. package/breadcrumbs/breadcrumbs-tokens.scss +1 -0
  2. package/breadcrumbs/breadcrumbs.d.ts +13 -2
  3. package/breadcrumbs/breadcrumbs.scss +72 -18
  4. package/button/button-tokens.scss +1 -1
  5. package/button/button.scss +2 -15
  6. package/checkbox/checkbox-tokens.scss +2 -0
  7. package/checkbox/checkbox.scss +4 -4
  8. package/core/formatters/date/formatter.d.ts +3 -2
  9. package/core/locales/locale-service.d.ts +5 -1
  10. package/core/option/option-tokens.scss +5 -1
  11. package/core/option/option.scss +6 -4
  12. package/core/styles/common/_list.scss +2 -9
  13. package/core/styles/common/_select.scss +6 -0
  14. package/core/styles/common/_tokens.scss +1 -1
  15. package/core/styles/theming/scrollbar-tokens.scss +10 -4
  16. package/dl/dl.component.d.ts +1 -0
  17. package/dropdown/dropdown.scss +20 -5
  18. package/esm2022/breadcrumbs/breadcrumbs.mjs +18 -7
  19. package/esm2022/button/button.component.mjs +2 -2
  20. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  21. package/esm2022/checkbox/checkbox.mjs +2 -2
  22. package/esm2022/core/formatters/date/formatter.mjs +13 -4
  23. package/esm2022/core/locales/en-US.mjs +29 -29
  24. package/esm2022/core/locales/es-LA.mjs +29 -29
  25. package/esm2022/core/locales/fa-IR.mjs +29 -29
  26. package/esm2022/core/locales/locale-service.mjs +38 -3
  27. package/esm2022/core/locales/pt-BR.mjs +29 -29
  28. package/esm2022/core/locales/tk-TM.mjs +29 -29
  29. package/esm2022/core/locales/zh-CN.mjs +29 -29
  30. package/esm2022/core/option/option.mjs +2 -2
  31. package/esm2022/core/pop-up/pop-up-trigger.mjs +2 -2
  32. package/esm2022/core/version.mjs +2 -2
  33. package/esm2022/dl/dl.component.mjs +6 -4
  34. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  35. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  36. package/esm2022/filter-bar/filter-bar.mjs +3 -3
  37. package/esm2022/filter-bar/filters.mjs +3 -3
  38. package/esm2022/filter-bar/pipes/pipe-date.mjs +37 -22
  39. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +38 -23
  40. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +3 -3
  41. package/esm2022/filter-bar/pipes/pipe-select.mjs +3 -3
  42. package/esm2022/filter-bar/pipes/pipe-text.mjs +4 -4
  43. package/esm2022/form-field/form-field.mjs +2 -2
  44. package/esm2022/form-field/validate.directive.mjs +19 -9
  45. package/esm2022/input/input-number.mjs +2 -2
  46. package/esm2022/list/list-selection.component.mjs +15 -12
  47. package/esm2022/list/list.component.mjs +2 -2
  48. package/esm2022/navbar/navbar-item.component.mjs +6 -9
  49. package/esm2022/navbar/navbar.component.mjs +2 -2
  50. package/esm2022/navbar/vertical-navbar.component.mjs +18 -16
  51. package/esm2022/overflow-items/overflow-items.mjs +24 -3
  52. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  53. package/esm2022/popover/popover.component.mjs +3 -3
  54. package/esm2022/progress-spinner/progress-spinner.component.mjs +2 -2
  55. package/esm2022/radio/radio.component.mjs +2 -2
  56. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  57. package/esm2022/select/select.component.mjs +3 -3
  58. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  59. package/esm2022/sidepanel/sidepanel-directives.mjs +16 -5
  60. package/esm2022/tags/tag.component.mjs +2 -2
  61. package/esm2022/textarea/textarea.component.mjs +35 -9
  62. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  63. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  64. package/esm2022/top-bar/top-bar.mjs +2 -2
  65. package/esm2022/tree/tree-option.component.mjs +2 -2
  66. package/esm2022/tree/tree-selection.component.mjs +7 -2
  67. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  68. package/fesm2022/koobiq-components-breadcrumbs.mjs +18 -7
  69. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  71. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-button.mjs +2 -2
  73. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  75. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-core.mjs +1014 -972
  77. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-dl.mjs +5 -3
  79. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-dropdown.mjs +4 -4
  81. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-filter-bar.mjs +84 -54
  83. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-form-field.mjs +17 -8
  85. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-input.mjs +1 -1
  87. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-list.mjs +16 -13
  89. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-navbar.mjs +24 -25
  91. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-overflow-items.mjs +24 -3
  93. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-popover.mjs +4 -4
  95. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
  97. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-radio.mjs +2 -2
  99. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  101. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-select.mjs +2 -2
  103. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-sidepanel.mjs +17 -6
  105. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-tags.mjs +2 -2
  107. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-textarea.mjs +34 -8
  109. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  111. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  113. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-tree-select.mjs +2 -2
  115. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-tree.mjs +8 -3
  117. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  118. package/filter-bar/filter-bar.scss +1 -0
  119. package/filter-bar/pipes/pipe-date.d.ts +3 -1
  120. package/filter-bar/pipes/pipe-date.scss +7 -0
  121. package/filter-bar/pipes/pipe-datetime.d.ts +3 -1
  122. package/form-field/_form-field-theme.scss +7 -3
  123. package/form-field/validate.directive.d.ts +4 -2
  124. package/link/_link-theme.scss +6 -16
  125. package/list/list.scss +2 -3
  126. package/navbar/navbar-item.component.d.ts +1 -2
  127. package/navbar/vertical-navbar.component.d.ts +4 -1
  128. package/overflow-items/overflow-items.d.ts +17 -1
  129. package/package.json +6 -6
  130. package/prebuilt-themes/dark-theme.css +1 -1
  131. package/prebuilt-themes/light-theme.css +1 -1
  132. package/prebuilt-themes/theme.css +1 -1
  133. package/progress-spinner/progress-spinner.scss +10 -4
  134. package/radio/radio-tokens.scss +7 -3
  135. package/radio/radio.scss +19 -15
  136. package/schematics/ng-add/index.js +4 -4
  137. package/scrollbar/scrollbar-tokens.scss +10 -4
  138. package/select/_select-theme.scss +4 -1
  139. package/sidepanel/sidepanel-directives.d.ts +6 -1
  140. package/sidepanel/sidepanel.scss +9 -3
  141. package/tags/tag.scss +3 -0
  142. package/textarea/textarea.component.d.ts +16 -3
  143. package/textarea/textarea.scss +4 -0
  144. package/timezone/timezone-option-tokens.scss +3 -2
  145. package/top-bar/top-bar-tokens.scss +2 -2
  146. package/top-bar/top-bar.scss +1 -1
  147. package/tree/tree-option.scss +2 -1
  148. package/tree-select/_tree-select-theme.scss +4 -1
@@ -5,5 +5,6 @@
5
5
  --kbq-breadcrumb-expand-icon-color: var(--kbq-icon-contrast-fade);
6
6
  --kbq-breadcrumb-item-border-radius: var(--kbq-size-xs);
7
7
  --kbq-breadcrumb-item-icon-color: var(--kbq-icon-contrast-fade);
8
+ --kbq-breadcrumb-item-negative-margin: calc(-1 * var(--kbq-size-xs));
8
9
  --kbq-breadcrumbs-gap: 0;
9
10
  }
@@ -12,11 +12,15 @@ export type KbqBreadcrumbsConfiguration = {
12
12
  */
13
13
  max: number | null;
14
14
  size: KbqDefaultSizes;
15
+ /**
16
+ * Determines if a negative margin should be applied to the first breadcrumb item.
17
+ */
18
+ firstItemNegativeMargin: boolean;
15
19
  };
16
20
  /** Breadcrumbs options global configuration provider. */
17
21
  export declare const KBQ_BREADCRUMBS_CONFIGURATION: InjectionToken<KbqBreadcrumbsConfiguration>;
18
22
  /** Utility provider for `KBQ_BREADCRUMBS_CONFIGURATION`. */
19
- export declare const provideKbqBreadcrumbsConfiguration: (configuration: KbqBreadcrumbsConfiguration) => Provider;
23
+ export declare const kbqBreadcrumbsConfigurationProvider: (configuration: Partial<KbqBreadcrumbsConfiguration>) => Provider;
20
24
  export declare class KbqBreadcrumbsSeparator {
21
25
  readonly templateRef: TemplateRef<any>;
22
26
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbsSeparator, never>;
@@ -77,6 +81,12 @@ export declare class KbqBreadcrumbItem {
77
81
  }
78
82
  export declare class KbqBreadcrumbs implements AfterContentInit {
79
83
  protected readonly configuration: KbqBreadcrumbsConfiguration;
84
+ /**
85
+ * Determines if a negative margin should be applied to the first breadcrumb item.
86
+ *
87
+ * @see KbqBreadcrumbsConfiguration
88
+ */
89
+ firstItemNegativeMargin: boolean;
80
90
  /**
81
91
  * Size of the breadcrumbs. Affects font size.
82
92
  * Default value is taken from the global configuration.
@@ -112,6 +122,7 @@ export declare class KbqBreadcrumbs implements AfterContentInit {
112
122
  protected get visibleBreadcrumbItems(): KbqBreadcrumbItem[];
113
123
  ngAfterContentInit(): void;
114
124
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbs, never>;
115
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqBreadcrumbs, "kbq-breadcrumbs,[kbq-breadcrumbs]", never, { "size": { "alias": "size"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, ["separator", "items"], never, true, [{ directive: typeof i1.RdxRovingFocusGroupDirective; inputs: {}; outputs: {}; }]>;
125
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqBreadcrumbs, "kbq-breadcrumbs,[kbq-breadcrumbs]", never, { "firstItemNegativeMargin": { "alias": "firstItemNegativeMargin"; "required": false; }; "size": { "alias": "size"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, ["separator", "items"], never, true, [{ directive: typeof i1.RdxRovingFocusGroupDirective; inputs: {}; outputs: {}; }]>;
126
+ static ngAcceptInputType_firstItemNegativeMargin: unknown;
116
127
  static ngAcceptInputType_disabled: unknown;
117
128
  }
@@ -1,17 +1,75 @@
1
1
  @use '../core/styles/common/tokens';
2
2
  @use '../core/styles/common/vendor-prefixes';
3
3
 
4
- .kbq-breadcrumbs {
4
+ @mixin _kbq-breadcrumbs-geometry {
5
5
  display: flex;
6
6
  align-items: center;
7
7
  gap: var(--kbq-breadcrumbs-gap);
8
8
 
9
+ .kbq-breadcrumb-item__container {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ }
13
+
14
+ &.kbq-breadcrumbs_first-item-negative-margin {
15
+ .kbq-breadcrumb-item__container {
16
+ &:first-of-type {
17
+ margin-left: var(--kbq-breadcrumb-item-negative-margin);
18
+ }
19
+ }
20
+ }
21
+
22
+ &.kbq-breadcrumbs_compact {
23
+ .kbq-breadcrumb-item {
24
+ &.kbq-button,
25
+ &.kbq-button-icon {
26
+ --kbq-breadcrumb-item-height: var(--kbq-size-xxl);
27
+ }
28
+ }
29
+
30
+ .kbq-breadcrumb__expand {
31
+ &.kbq-button-icon {
32
+ --kbq-breadcrumb-item-expand-horizontal-padding: var(--kbq-size-xxs);
33
+ }
34
+ }
35
+ }
36
+
37
+ &.kbq-breadcrumbs_normal {
38
+ .kbq-breadcrumb-item {
39
+ &.kbq-button,
40
+ &.kbq-button-icon {
41
+ --kbq-button-size-horizontal-padding: var(--kbq-breadcrumb-item-horizontal-padding);
42
+ }
43
+ }
44
+ }
45
+
46
+ &.kbq-breadcrumbs_big {
47
+ .kbq-button,
48
+ .kbq-button-icon {
49
+ --kbq-button-size-height: var(--kbq-breadcrumb-item-height);
50
+ }
51
+ }
52
+
9
53
  .kbq-breadcrumb-item {
10
54
  &.kbq-button,
11
55
  &.kbq-button-icon {
12
56
  --kbq-button-size-height: var(--kbq-breadcrumb-item-height);
13
57
  --kbq-button-size-horizontal-padding: var(--kbq-breadcrumb-item-horizontal-padding);
14
58
  --kbq-button-size-border-radius: var(--kbq-breadcrumb-item-border-radius);
59
+ }
60
+ }
61
+
62
+ .kbq-breadcrumb__expand {
63
+ &.kbq-button-icon {
64
+ --kbq-button-icon-size-horizontal-padding: var(--kbq-breadcrumb-item-expand-horizontal-padding);
65
+ }
66
+ }
67
+ }
68
+
69
+ @mixin _kbq-breadcrumbs-theme {
70
+ .kbq-breadcrumb-item {
71
+ &.kbq-button,
72
+ &.kbq-button-icon {
15
73
  --kbq-button-transparent-contrast-fade-on-foreground: var(--kbq-foreground-contrast-secondary);
16
74
  --kbq-button-transparent-contrast-fade-on-right-icon: var(--kbq-breadcrumb-item-icon-color);
17
75
  --kbq-button-transparent-contrast-fade-on-left-icon: var(--kbq-breadcrumb-item-icon-color);
@@ -65,7 +123,6 @@
65
123
 
66
124
  .kbq-breadcrumb__expand {
67
125
  &.kbq-button-icon {
68
- --kbq-button-icon-size-horizontal-padding: var(--kbq-breadcrumb-item-expand-horizontal-padding);
69
126
  --kbq-button-transparent-contrast-fade-on-left-icon: var(--kbq-breadcrumb-expand-icon-color);
70
127
 
71
128
  .kbq-icon {
@@ -101,35 +158,22 @@
101
158
 
102
159
  color: var(--kbq-foreground-contrast);
103
160
  }
161
+ }
104
162
 
105
- // typography
106
- .kbq-breadcrumb__separator {
107
- @include vendor-prefixes.user-select(none);
108
- @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-big);
109
- }
110
-
163
+ @mixin _kbq-breadcrumbs-typography {
111
164
  &.kbq-breadcrumbs_compact {
112
165
  .kbq-breadcrumb-item {
113
166
  &.kbq-button,
114
167
  &.kbq-button-icon {
115
- --kbq-breadcrumb-item-height: var(--kbq-size-xxl);
116
168
  @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
117
169
  }
118
170
  }
119
-
120
- .kbq-breadcrumb__expand {
121
- &.kbq-button-icon {
122
- --kbq-breadcrumb-item-expand-horizontal-padding: var(--kbq-size-xxs);
123
- }
124
- }
125
171
  }
126
172
 
127
173
  &.kbq-breadcrumbs_normal {
128
174
  .kbq-breadcrumb-item {
129
175
  &.kbq-button,
130
176
  &.kbq-button-icon {
131
- --kbq-button-size-horizontal-padding: var(--kbq-breadcrumb-item-horizontal-padding);
132
-
133
177
  @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-big);
134
178
  }
135
179
  }
@@ -138,10 +182,20 @@
138
182
  &.kbq-breadcrumbs_big {
139
183
  .kbq-button,
140
184
  .kbq-button-icon {
141
- --kbq-button-size-height: var(--kbq-breadcrumb-item-height);
142
185
  @include tokens.kbq-typography-level-to-styles-css-variables(typography, subheading);
143
186
  }
144
187
  }
188
+
189
+ .kbq-breadcrumb__separator {
190
+ @include vendor-prefixes.user-select(none);
191
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-big);
192
+ }
193
+ }
194
+
195
+ .kbq-breadcrumbs {
196
+ @include _kbq-breadcrumbs-geometry();
197
+ @include _kbq-breadcrumbs-theme();
198
+ @include _kbq-breadcrumbs-typography();
145
199
  }
146
200
 
147
201
  .kbq-breadcrumb-item__link-behavior {
@@ -4,7 +4,7 @@
4
4
  --kbq-button-size-border-width: var(--kbq-size-border-width);
5
5
  --kbq-button-size-border-radius: var(--kbq-size-border-radius);
6
6
  --kbq-button-size-horizontal-padding: var(--kbq-size-m);
7
- --kbq-button-size-content-padding: var(--kbq-size-s);
7
+ --kbq-button-size-content-padding: var(--kbq-size-xs);
8
8
  --kbq-button-icon-size-horizontal-padding: var(--kbq-size-s);
9
9
  --kbq-button-icon-size-vertical-padding: var(--kbq-size-s);
10
10
  --kbq-button-icon-size-content-padding: var(--kbq-size-xxs);
@@ -1,5 +1,6 @@
1
- @use 'button-base' as *;
1
+ @use '../core/styles/common/animation';
2
2
 
3
+ @use 'button-base' as *;
3
4
  @use '../core/styles/common/tokens' as *;
4
5
 
5
6
  @use './button-theme' as *;
@@ -10,20 +11,6 @@
10
11
  // base padding - border-width
11
12
  padding-left: kbq-difference-series-css-variables([button-size-horizontal-padding, button-size-border-width]);
12
13
  padding-right: kbq-difference-series-css-variables([button-size-horizontal-padding, button-size-border-width]);
13
-
14
- &.kbq-button-icon_left {
15
- padding-left: kbq-difference-series-css-variables(
16
- [button-icon-size-horizontal-padding,
17
- button-size-border-width]
18
- );
19
- }
20
-
21
- &.kbq-button-icon_right {
22
- padding-right: kbq-difference-series-css-variables(
23
- [button-icon-size-horizontal-padding,
24
- button-size-border-width]
25
- );
26
- }
27
14
  }
28
15
 
29
16
  .kbq-light-button {
@@ -5,12 +5,14 @@
5
5
  --kbq-checkbox-size-normal-horizontal-content-padding: var(--kbq-size-s);
6
6
  --kbq-checkbox-size-normal-vertical-content-padding: var(--kbq-size-3xs);
7
7
  --kbq-checkbox-size-normal-top: var(--kbq-size-3xs);
8
+ --kbq-checkbox-size-normal-margin-bottom: var(--kbq-size-s);
8
9
  --kbq-checkbox-size-big-width: var(--kbq-size-l);
9
10
  --kbq-checkbox-size-big-border-width: var(--kbq-size-border-width);
10
11
  --kbq-checkbox-size-big-border-radius: var(--kbq-size-xxs);
11
12
  --kbq-checkbox-size-big-horizontal-content-padding: var(--kbq-size-s);
12
13
  --kbq-checkbox-size-big-vertical-content-padding: var(--kbq-size-3xs);
13
14
  --kbq-checkbox-size-big-top: var(--kbq-size-xxs);
15
+ --kbq-checkbox-size-big-margin-bottom: var(--kbq-size-m);
14
16
  /* THEME TOKENS */
15
17
  --kbq-checkbox-theme-default-border: var(--kbq-line-contrast-fade);
16
18
  --kbq-checkbox-theme-default-color: var(--kbq-icon-white);
@@ -1,8 +1,4 @@
1
- @use '../core/styles/common/visually-hidden';
2
- @use '../core/styles/common/layout';
3
-
4
1
  @use '../core/styles/common/tokens' as *;
5
-
6
2
  @use './checkbox-theme' as *;
7
3
 
8
4
  .kbq-checkbox-checkmark,
@@ -68,6 +64,8 @@
68
64
  cursor: pointer;
69
65
  -webkit-tap-highlight-color: transparent;
70
66
 
67
+ margin-bottom: var(--kbq-checkbox-size-normal-margin-bottom);
68
+
71
69
  &.kbq-checked {
72
70
  .kbq-checkbox-checkmark {
73
71
  display: block;
@@ -102,6 +100,8 @@
102
100
  }
103
101
 
104
102
  .kbq-checkbox.kbq-checkbox_big {
103
+ margin-bottom: var(--kbq-checkbox-size-big-margin-bottom);
104
+
105
105
  & .kbq-checkbox__layout {
106
106
  padding-left: kbq-sum-series-css-variables(
107
107
  [ checkbox-size-normal-width,
@@ -3,7 +3,8 @@ import { DateFormatter as BaseDateFormatter } from '@koobiq/date-formatter';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class DateFormatter<D> extends BaseDateFormatter<D> {
5
5
  readonly adapter: DateAdapter<D>;
6
- constructor(adapter: DateAdapter<D>, locale: string);
7
- static ɵfac: i0.ɵɵFactoryDeclaration<DateFormatter<any>, never>;
6
+ protected localeService?: any;
7
+ constructor(adapter: DateAdapter<D>, locale: string, localeService?: any);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<DateFormatter<any>, [null, null, { optional: true; }]>;
8
9
  static ɵprov: i0.ɵɵInjectableDeclaration<DateFormatter<any>>;
9
10
  }
@@ -906,6 +906,10 @@ export declare class KbqLocaleService {
906
906
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqLocaleService, [{ optional: true; }, { optional: true; }]>;
907
907
  static ɵprov: i0.ɵɵInjectableDeclaration<KbqLocaleService>;
908
908
  }
909
+ export declare function numberByParts(value: string, fractionSeparator: string, groupSeparator: string): {
910
+ integer: string;
911
+ fraction: string;
912
+ };
909
913
  /**
910
914
  * Function that returns a string representation of a number without localized separators
911
915
  */
@@ -916,4 +920,4 @@ export declare function normalizeNumber(value: string | null | undefined, custom
916
920
  /**
917
921
  * Function that parse string and return a number. The string can be in any locale.
918
922
  */
919
- export declare function checkAndNormalizeLocalizedNumber(num: string | null | undefined): number | null;
923
+ export declare function checkAndNormalizeLocalizedNumber(num: string | null | undefined, locale?: string): number | null;
@@ -1,10 +1,14 @@
1
1
  @use '../../list/list-tokens';
2
2
 
3
- .kbq-option {
3
+ %kbq-option-geometry-tokens {
4
4
  --kbq-option-size-horizontal-padding: var(--kbq-size-m);
5
5
  --kbq-option-size-height: var(--kbq-size-3xl);
6
6
  --kbq-option-size-border-width: 2px;
7
7
  --kbq-option-border-radius: var(--kbq-size-xs);
8
+ }
9
+
10
+ .kbq-option {
11
+ @extend %kbq-option-geometry-tokens;
8
12
  /* LIST THEME TOKENS */
9
13
  @include list-tokens.list-theme-tokens;
10
14
  }
@@ -1,9 +1,11 @@
1
- @use '../styles/common';
2
-
1
+ @use '../styles/common/list';
2
+ @use '../styles/common/vendor-prefixes';
3
3
  @use './option-theme' as *;
4
4
 
5
5
  .kbq-option {
6
- @include common.kbq-list-item-base();
6
+ @include list.kbq-list-item-base();
7
+ @include vendor-prefixes.user-select(none);
8
+
7
9
  border-radius: var(--kbq-option-border-radius);
8
10
 
9
11
  &:not(.kbq-disabled) {
@@ -12,7 +14,7 @@
12
14
  }
13
15
 
14
16
  .kbq-option-text {
15
- @include common.kbq-list-text();
17
+ @include list.kbq-list-text();
16
18
  }
17
19
 
18
20
  @include kbq-option-theme();
@@ -1,5 +1,6 @@
1
1
  @use '../tokens';
2
2
  @use './tokens' as *;
3
+ @use './vendor-prefixes';
3
4
 
4
5
  // This mixin will ensure that lines that overflow the container will hide the overflow and
5
6
  // truncate neatly with an ellipsis.
@@ -36,14 +37,6 @@
36
37
  }
37
38
  }
38
39
 
39
- @mixin kbq-no-select() {
40
- -webkit-touch-callout: none; /* iOS Safari */
41
- -webkit-user-select: none; /* Safari */
42
- -moz-user-select: none; /* Firefox */
43
- -ms-user-select: none; /* Internet Explorer/Edge */
44
- user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
45
- }
46
-
47
40
  @mixin kbq-list-text() {
48
41
  @include kbq-line-wrapper-base();
49
42
  display: inline-block;
@@ -121,5 +114,5 @@
121
114
  }
122
115
 
123
116
  .kbq-no-select {
124
- @include kbq-no-select;
117
+ @include vendor-prefixes.user-select(none);
125
118
  }
@@ -11,6 +11,8 @@
11
11
  outline: none;
12
12
 
13
13
  .kbq-select__matcher {
14
+ @include vendor-prefixes.user-select(none);
15
+
14
16
  display: flex;
15
17
  align-items: center;
16
18
 
@@ -145,6 +147,8 @@
145
147
  }
146
148
 
147
149
  .kbq-select__no-options-message {
150
+ @include vendor-prefixes.user-select(none);
151
+
148
152
  display: flex;
149
153
  flex-direction: row;
150
154
  align-items: center;
@@ -180,6 +184,8 @@
180
184
  }
181
185
 
182
186
  %kbq-select-footer {
187
+ @include vendor-prefixes.user-select(none);
188
+
183
189
  display: flex;
184
190
  align-items: center;
185
191
  box-sizing: border-box;
@@ -78,7 +78,7 @@ $tokens: meta.module-variables(tokens) !default;
78
78
  @if (meta.type-of($border) == number or meta.type-of($border) == calculation) {
79
79
  @return calc((var(--kbq-#{$outer}) - var(--kbq-#{$inner}) - $border * 2) / 2);
80
80
  } @else {
81
- @return calc((var(--kbq-#{$outer}) - var(--kbq-#{$inner}) - var(--kbq-#{$border} * 2)) / 2);
81
+ @return calc((var(--kbq-#{$outer}) - var(--kbq-#{$inner}) - var(--kbq-#{$border}) * 2) / 2);
82
82
  }
83
83
  } @else {
84
84
  @return calc((var(--kbq-#{$outer}) - var(--kbq-#{$inner})) / 2);
@@ -1,4 +1,4 @@
1
- .kbq-scrollbar {
1
+ :where(.kbq-scrollbar) {
2
2
  --kbq-scrollbar-size-track-dimension: var(--kbq-size-l);
3
3
  --kbq-scrollbar-size-track-padding-vertical: var(--kbq-size-3xs);
4
4
  --kbq-scrollbar-size-track-padding-horizontal: var(--kbq-size-3xs);
@@ -6,9 +6,9 @@
6
6
  --kbq-scrollbar-size-thumb-min-size: var(--kbq-size-xl);
7
7
  --kbq-scrollbar-size-thumb-border-radius: var(--kbq-size-s);
8
8
  /* THEME TOKENS */
9
- --kbq-scrollbar-thumb-default-background: var(--kbq-icon-contrast-fade);
10
- --kbq-scrollbar-thumb-hover-background: var(--kbq-states-icon-contrast-fade-hover);
11
- --kbq-scrollbar-thumb-active-background: var(--kbq-states-icon-contrast-fade-active);
9
+ --kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a32);
10
+ --kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a48);
11
+ --kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-20-a55);
12
12
  --kbq-scrollbar-thumb-disabled-background: var(--kbq-states-icon-disabled);
13
13
  --kbq-scrollbar-track-default-border: transparent;
14
14
  --kbq-scrollbar-track-default-background: transparent;
@@ -17,3 +17,9 @@
17
17
  --kbq-scrollbar-track-active-border: transparent;
18
18
  --kbq-scrollbar-track-active-background: transparent;
19
19
  }
20
+
21
+ :where(.kbq-dark .kbq-scrollbar) {
22
+ --kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a48);
23
+ --kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a60);
24
+ --kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-50-a80);
25
+ }
@@ -9,6 +9,7 @@ export declare class KbqDlComponent implements AfterContentInit, OnDestroy {
9
9
  private readonly resizeDebounceInterval;
10
10
  private resizeSubscription;
11
11
  private readonly elementRef;
12
+ private readonly changeDetectorRef;
12
13
  ngAfterContentInit(): void;
13
14
  ngOnDestroy(): void;
14
15
  private readonly updateState;
@@ -1,12 +1,27 @@
1
1
  @use './dropdown-theme' as *;
2
2
 
3
- .kbq-dropdown-trigger.kbq-button-icon_right.kbq-button-icon_left {
4
- & .kbq-icon_left {
5
- margin-right: 2px;
3
+ .kbq-dropdown-trigger {
4
+ &.kbq-button {
5
+ padding-left: calc(10px - var(--kbq-size-border-width));
6
+ padding-right: calc(10px - var(--kbq-size-border-width));
7
+
8
+ & .kbq-icon_left {
9
+ margin-right: var(--kbq-size-xs);
10
+ }
11
+
12
+ & .kbq-icon_right {
13
+ margin-left: var(--kbq-size-3xs);
14
+ }
6
15
  }
7
16
 
8
- & .kbq-icon_right {
9
- margin-left: 2px;
17
+ &.kbq-button-icon.kbq-button-icon_right.kbq-button-icon_left {
18
+ & .kbq-icon_left {
19
+ margin-right: 0;
20
+ }
21
+
22
+ & .kbq-icon_right {
23
+ margin-left: 0;
24
+ }
10
25
  }
11
26
  }
12
27