@koobiq/components 18.12.1 → 18.14.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 (170) hide show
  1. package/accordion/accordion.component.d.ts +5 -5
  2. package/alert/alert-tokens.scss +4 -4
  3. package/breadcrumbs/breadcrumbs-tokens.scss +9 -0
  4. package/breadcrumbs/breadcrumbs.d.ts +117 -0
  5. package/breadcrumbs/breadcrumbs.module.d.ts +7 -0
  6. package/breadcrumbs/breadcrumbs.scss +149 -0
  7. package/breadcrumbs/index.d.ts +1 -0
  8. package/breadcrumbs/public-api.d.ts +2 -0
  9. package/button/button.component.d.ts +3 -2
  10. package/button-toggle/button-toggle.component.d.ts +3 -2
  11. package/checkbox/checkbox-tokens.scss +2 -2
  12. package/core/common-behaviors/index.d.ts +1 -0
  13. package/core/common-behaviors/size.d.ts +4 -0
  14. package/core/locales/formatters.d.ts +36 -0
  15. package/core/locales/index.d.ts +1 -0
  16. package/core/locales/locale-service.d.ts +79 -0
  17. package/core/locales/tk-TM.d.ts +45 -0
  18. package/core/option/_optgroup-theme.scss +5 -4
  19. package/core/option/optgroup.d.ts +1 -0
  20. package/core/option/optgroup.scss +4 -1
  21. package/core/option/option-tokens.scss +1 -0
  22. package/core/option/option.scss +1 -0
  23. package/core/pop-up/constants.d.ts +11 -0
  24. package/core/pop-up/pop-up-trigger.d.ts +6 -0
  25. package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +2 -2
  26. package/core/styles/common/_list.scss +0 -1
  27. package/core/styles/theming/_theming.scss +1 -3
  28. package/dropdown/_dropdown-theme.scss +2 -0
  29. package/dropdown/dropdown-item.scss +2 -0
  30. package/dropdown/dropdown-tokens.scss +1 -0
  31. package/dropdown/dropdown.scss +0 -2
  32. package/ellipsis-center/ellipsis-center.directive.d.ts +2 -1
  33. package/esm2022/accordion/accordion.component.mjs +11 -10
  34. package/esm2022/alert/alert.component.mjs +2 -2
  35. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -6
  36. package/esm2022/breadcrumbs/breadcrumbs.mjs +218 -0
  37. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +31 -0
  38. package/esm2022/breadcrumbs/index.mjs +2 -0
  39. package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +5 -0
  40. package/esm2022/breadcrumbs/public-api.mjs +3 -0
  41. package/esm2022/button/button.component.mjs +3 -1
  42. package/esm2022/button-toggle/button-toggle.component.mjs +4 -2
  43. package/esm2022/checkbox/checkbox.mjs +2 -2
  44. package/esm2022/core/common-behaviors/index.mjs +1 -1
  45. package/esm2022/core/common-behaviors/size.mjs +2 -0
  46. package/esm2022/core/locales/formatters.mjs +37 -1
  47. package/esm2022/core/locales/index.mjs +2 -1
  48. package/esm2022/core/locales/locale-service.mjs +7 -4
  49. package/esm2022/core/locales/tk-TM.mjs +44 -0
  50. package/esm2022/core/option/action.mjs +3 -4
  51. package/esm2022/core/option/optgroup.mjs +4 -3
  52. package/esm2022/core/option/option.mjs +2 -2
  53. package/esm2022/core/pop-up/constants.mjs +13 -1
  54. package/esm2022/core/pop-up/pop-up-trigger.mjs +50 -3
  55. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +2 -2
  56. package/esm2022/core/version.mjs +2 -2
  57. package/esm2022/datepicker/datepicker.component.mjs +6 -4
  58. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  59. package/esm2022/dropdown/dropdown-trigger.directive.mjs +3 -1
  60. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  61. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +6 -3
  62. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  63. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  64. package/esm2022/form-field/form-field.mjs +5 -5
  65. package/esm2022/icon/icon-button.component.mjs +3 -1
  66. package/esm2022/link/link.component.mjs +4 -2
  67. package/esm2022/list/list-selection.component.mjs +2 -2
  68. package/esm2022/list/list.component.mjs +2 -2
  69. package/esm2022/navbar/navbar-item.component.mjs +4 -2
  70. package/esm2022/navbar/navbar.component.mjs +6 -4
  71. package/esm2022/overflow-items/index.mjs +3 -0
  72. package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +5 -0
  73. package/esm2022/overflow-items/module.mjs +25 -0
  74. package/esm2022/overflow-items/overflow-items.mjs +269 -0
  75. package/esm2022/popover/popover.component.mjs +4 -2
  76. package/esm2022/progress-spinner/progress-spinner.component.mjs +1 -1
  77. package/esm2022/radio/radio.component.mjs +2 -2
  78. package/esm2022/select/select-option.directive.mjs +17 -19
  79. package/esm2022/select/select.component.mjs +3 -3
  80. package/esm2022/tabs/tab-nav-bar.mjs +16 -16
  81. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  82. package/esm2022/timezone/timezone-option.directive.mjs +15 -12
  83. package/esm2022/title/title.directive.mjs +9 -18
  84. package/esm2022/toggle/toggle.component.mjs +14 -12
  85. package/esm2022/tooltip/tooltip.component.mjs +30 -27
  86. package/esm2022/tree/toggle.mjs +2 -2
  87. package/esm2022/tree/tree-option.component.mjs +2 -2
  88. package/esm2022/tree/tree-selection.component.mjs +2 -2
  89. package/esm2022/tree/tree.mjs +2 -2
  90. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  91. package/fesm2022/koobiq-components-accordion.mjs +9 -7
  92. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-alert.mjs +2 -2
  94. package/fesm2022/koobiq-components-autocomplete.mjs +3 -5
  95. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-breadcrumbs.mjs +253 -0
  97. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -0
  98. package/fesm2022/koobiq-components-button-toggle.mjs +3 -1
  99. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-button.mjs +2 -0
  101. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  103. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-core.mjs +155 -14
  105. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-datepicker.mjs +5 -3
  107. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-dropdown.mjs +6 -5
  109. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-ellipsis-center.mjs +5 -2
  111. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  113. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-form-field.mjs +4 -4
  115. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-icon.mjs +2 -0
  117. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-link.mjs +3 -1
  119. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-list.mjs +4 -4
  121. package/fesm2022/koobiq-components-navbar.mjs +8 -4
  122. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-overflow-items.mjs +298 -0
  124. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -0
  125. package/fesm2022/koobiq-components-popover.mjs +3 -1
  126. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-radio.mjs +2 -2
  129. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-select.mjs +18 -20
  131. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-tabs.mjs +15 -15
  133. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-timezone.mjs +16 -13
  135. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-title.mjs +8 -17
  137. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-toggle.mjs +13 -11
  139. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-tooltip.mjs +30 -27
  141. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-tree-select.mjs +4 -4
  143. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-tree.mjs +8 -8
  145. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  146. package/file-upload/file-upload-tokens.scss +2 -2
  147. package/form-field/form-field-tokens.scss +5 -1
  148. package/icon/icon-button.component.d.ts +3 -2
  149. package/link/link.component.d.ts +3 -2
  150. package/list/list.scss +2 -0
  151. package/navbar/navbar-item.component.d.ts +2 -1
  152. package/navbar/navbar.component.d.ts +2 -1
  153. package/overflow-items/index.d.ts +2 -0
  154. package/overflow-items/module.d.ts +7 -0
  155. package/overflow-items/overflow-items.d.ts +132 -0
  156. package/overflow-items/overflow-items.scss +20 -0
  157. package/package.json +18 -6
  158. package/popover/popover.component.d.ts +1 -0
  159. package/radio/radio-tokens.scss +1 -1
  160. package/schematics/ng-add/index.js +6 -6
  161. package/select/select-option.directive.d.ts +3 -1
  162. package/tabs/tab-nav-bar.d.ts +0 -1
  163. package/timezone/timezone-option.directive.d.ts +1 -0
  164. package/title/title.directive.d.ts +2 -2
  165. package/toggle/toggle-tokens.scss +1 -1
  166. package/toggle/toggle.component.d.ts +6 -5
  167. package/tooltip/tooltip.component.d.ts +3 -3
  168. package/tree/tree-option.scss +1 -1
  169. package/tree/tree-tokens.scss +1 -0
  170. package/tree-select/tree-select-tokens.scss +4 -0
@@ -1,5 +1,5 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { ElementRef, OnDestroy } from '@angular/core';
2
+ import { AfterViewInit, ElementRef, OnDestroy } from '@angular/core';
3
3
  import { RdxAccordionType } from '@radix-ng/primitives/accordion';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@radix-ng/primitives/accordion";
@@ -9,11 +9,11 @@ export declare enum KbqAccordionVariant {
9
9
  hug = "hug",
10
10
  hugSpaceBetween = "hugSpaceBetween"
11
11
  }
12
- export declare class KbqAccordion implements OnDestroy {
13
- private focusMonitor;
14
- private elementRef;
12
+ export declare class KbqAccordion implements OnDestroy, AfterViewInit {
13
+ protected readonly focusMonitor: FocusMonitor;
14
+ protected readonly elementRef: ElementRef<any>;
15
15
  variant: KbqAccordionVariant | string;
16
- constructor(focusMonitor: FocusMonitor, elementRef: ElementRef<HTMLElement>);
16
+ ngAfterViewInit(): void;
17
17
  ngOnDestroy(): void;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAccordion, never>;
19
19
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqAccordion, "kbq-accordion, [kbq-accordion]", never, { "variant": { "alias": "variant"; "required": false; }; }, {}, never, ["*"], false, [{ directive: typeof i1.RdxAccordionRootDirective; inputs: { "type": "type"; "collapsible": "collapsible"; "disabled": "disabled"; "defaultValue": "defaultValue"; "value": "value"; }; outputs: { "onValueChange": "onValueChange"; }; }]>;
@@ -58,16 +58,16 @@
58
58
  --kbq-alert-colored-contrast-container-background: var(--kbq-background-contrast-fade);
59
59
  --kbq-alert-colored-contrast-container-title: var(--kbq-foreground-contrast);
60
60
  --kbq-alert-colored-contrast-container-text: var(--kbq-foreground-contrast);
61
- --kbq-alert-colored-error-container-background: var(--kbq-background-error-fade);
61
+ --kbq-alert-colored-error-container-background: var(--kbq-background-error-less);
62
62
  --kbq-alert-colored-error-container-title: var(--kbq-foreground-contrast);
63
63
  --kbq-alert-colored-error-container-text: var(--kbq-foreground-contrast);
64
- --kbq-alert-colored-warning-container-background: var(--kbq-background-warning-fade);
64
+ --kbq-alert-colored-warning-container-background: var(--kbq-background-warning-less);
65
65
  --kbq-alert-colored-warning-container-title: var(--kbq-foreground-contrast);
66
66
  --kbq-alert-colored-warning-container-text: var(--kbq-foreground-contrast);
67
- --kbq-alert-colored-success-container-background: var(--kbq-background-success-fade);
67
+ --kbq-alert-colored-success-container-background: var(--kbq-background-success-less);
68
68
  --kbq-alert-colored-success-container-title: var(--kbq-foreground-contrast);
69
69
  --kbq-alert-colored-success-container-text: var(--kbq-foreground-contrast);
70
- --kbq-alert-colored-theme-container-background: var(--kbq-background-theme-fade);
70
+ --kbq-alert-colored-theme-container-background: var(--kbq-background-theme-less);
71
71
  --kbq-alert-colored-theme-container-title: var(--kbq-foreground-contrast);
72
72
  --kbq-alert-colored-theme-container-text: var(--kbq-foreground-contrast);
73
73
  }
@@ -0,0 +1,9 @@
1
+ :where(.kbq-breadcrumbs) {
2
+ --kbq-breadcrumb-item-horizontal-padding: var(--kbq-size-xs);
3
+ --kbq-breadcrumb-item-height: var(--kbq-size-3xl);
4
+ --kbq-breadcrumb-item-expand-horizontal-padding: var(--kbq-size-s);
5
+ --kbq-breadcrumb-expand-icon-color: var(--kbq-icon-contrast-fade);
6
+ --kbq-breadcrumb-item-border-radius: var(--kbq-size-xs);
7
+ --kbq-breadcrumb-item-icon-color: var(--kbq-icon-contrast-fade);
8
+ --kbq-breadcrumbs-gap: 0;
9
+ }
@@ -0,0 +1,117 @@
1
+ import { AfterContentInit, InjectionToken, OnInit, Provider, QueryList, TemplateRef } from '@angular/core';
2
+ import { RouterLink } from '@angular/router';
3
+ import { KbqButtonStyles } from '@koobiq/components/button';
4
+ import { KbqComponentColors, KbqDefaultSizes, PopUpPlacements } from '@koobiq/components/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@radix-ng/primitives/roving-focus";
7
+ export type KbqBreadcrumbsConfiguration = {
8
+ /**
9
+ * Specifies the maximum number of breadcrumb items to display.
10
+ * - If a number is provided, only that many items will be shown.
11
+ * - If `null`, no limit is applied, and all breadcrumb items are displayed.
12
+ */
13
+ max: number | null;
14
+ size: KbqDefaultSizes;
15
+ };
16
+ /** Breadcrumbs options global configuration provider. */
17
+ export declare const KBQ_BREADCRUMBS_CONFIGURATION: InjectionToken<KbqBreadcrumbsConfiguration>;
18
+ /** Utility provider for `KBQ_BREADCRUMBS_CONFIGURATION`. */
19
+ export declare const provideKbqBreadcrumbsConfiguration: (configuration: KbqBreadcrumbsConfiguration) => Provider;
20
+ export declare class KbqBreadcrumbsSeparator {
21
+ readonly templateRef: TemplateRef<any>;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbsSeparator, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqBreadcrumbsSeparator, "ng-template[kbqBreadcrumbsSeparator]", never, {}, {}, never, never, true, never>;
24
+ }
25
+ /**
26
+ * Directive to style and configure buttons used as breadcrumb items.
27
+ * - Inherits focus management behavior from `RdxRovingFocusItemDirective`.
28
+ * - Optionally injects `KbqButton` to customize its style for breadcrumb usage.
29
+ */
30
+ export declare class KbqBreadcrumbButton implements OnInit {
31
+ private readonly button;
32
+ ngOnInit(): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbButton, never>;
34
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqBreadcrumbButton, "[kbq-button][kbqBreadcrumb]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxRovingFocusItemDirective; inputs: {}; outputs: {}; }]>;
35
+ }
36
+ /**
37
+ * Directive provides a way to define a custom template for breadcrumb rendering, leveraging TemplateRef
38
+ *
39
+ */
40
+ export declare class KbqBreadcrumbView {
41
+ readonly templateRef: TemplateRef<any>;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbView, never>;
43
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqBreadcrumbView, "[kbqBreadcrumbView]", never, {}, {}, never, never, true, never>;
44
+ }
45
+ /**
46
+ * Component represents an individual breadcrumb item with optional support for router navigation and styling.
47
+ */
48
+ export declare class KbqBreadcrumbItem {
49
+ /**
50
+ * The text displayed for the breadcrumb item.
51
+ * This text will be shown if breadcrumb item is hidden in dropdown.
52
+ */
53
+ text: string;
54
+ /**
55
+ * Indicates whether the breadcrumb item is disabled.
56
+ */
57
+ disabled: boolean;
58
+ /**
59
+ * Indicates whether the breadcrumb item is the current/active item.
60
+ * Defaults to `false`.
61
+ */
62
+ current: boolean;
63
+ /**
64
+ * A reference to a custom template provided for the breadcrumb item content.
65
+ * The template can be used to override the default appearance of the breadcrumb.
66
+ */
67
+ customTemplateRef: TemplateRef<any>;
68
+ /**
69
+ * An optional `RouterLink` instance for navigating to a specific route.
70
+ * Injected from the host element, if available and projecting to the hidden breadcrumb item in dropdown.
71
+ */
72
+ readonly routerLink: RouterLink | null;
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbItem, never>;
74
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqBreadcrumbItem, "kbq-breadcrumb-item", never, { "text": { "alias": "text"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "current": { "alias": "current"; "required": false; }; }, {}, ["customTemplateRef"], ["*"], true, never>;
75
+ static ngAcceptInputType_disabled: unknown;
76
+ static ngAcceptInputType_current: unknown;
77
+ }
78
+ export declare class KbqBreadcrumbs implements AfterContentInit {
79
+ protected readonly configuration: KbqBreadcrumbsConfiguration;
80
+ /**
81
+ * Size of the breadcrumbs. Affects font size.
82
+ * Default value is taken from the global configuration.
83
+ */
84
+ size: KbqDefaultSizes;
85
+ /**
86
+ * Maximum number of visible breadcrumb items.
87
+ * Remaining items are collapsed into a dropdown if the total exceeds this value.
88
+ * Default value is taken from the global configuration.
89
+ */
90
+ max: number | null;
91
+ /**
92
+ * Indicates whether the breadcrumbs are disabled.
93
+ * When disabled, user interactions are blocked.
94
+ */
95
+ disabled: boolean;
96
+ protected readonly separator?: TemplateRef<any>;
97
+ protected readonly items: QueryList<KbqBreadcrumbItem>;
98
+ /**
99
+ * Ensures at least minimum number of breadcrumb items are shown.
100
+ *
101
+ * This prevents the appearance of unnecessary expand button that would hide only a single breadcrumb.
102
+ */
103
+ readonly minVisibleItems = 2;
104
+ private readonly destroyRef;
105
+ private readonly cdr;
106
+ protected readonly KbqComponentColors: typeof KbqComponentColors;
107
+ protected readonly KbqButtonStyles: typeof KbqButtonStyles;
108
+ protected readonly PopUpPlacements: typeof PopUpPlacements;
109
+ /** @docs-private */
110
+ protected get hiddenBreadcrumbItems(): KbqBreadcrumbItem[];
111
+ /** @docs-private */
112
+ protected get visibleBreadcrumbItems(): KbqBreadcrumbItem[];
113
+ ngAfterContentInit(): void;
114
+ 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: {}; }]>;
116
+ static ngAcceptInputType_disabled: unknown;
117
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./breadcrumbs";
3
+ export declare class KbqBreadcrumbsModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbsModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqBreadcrumbsModule, never, [typeof i1.KbqBreadcrumbs, typeof i1.KbqBreadcrumbItem, typeof i1.KbqBreadcrumbView, typeof i1.KbqBreadcrumbsSeparator, typeof i1.KbqBreadcrumbButton], [typeof i1.KbqBreadcrumbs, typeof i1.KbqBreadcrumbItem, typeof i1.KbqBreadcrumbView, typeof i1.KbqBreadcrumbsSeparator, typeof i1.KbqBreadcrumbButton]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<KbqBreadcrumbsModule>;
7
+ }
@@ -0,0 +1,149 @@
1
+ @use '../core/styles/common/tokens';
2
+ @use '../core/styles/common/vendor-prefixes';
3
+
4
+ .kbq-breadcrumbs {
5
+ display: flex;
6
+ align-items: center;
7
+ gap: var(--kbq-breadcrumbs-gap);
8
+
9
+ .kbq-breadcrumb-item {
10
+ &.kbq-button,
11
+ &.kbq-button-icon {
12
+ --kbq-button-size-height: var(--kbq-breadcrumb-item-height);
13
+ --kbq-button-size-horizontal-padding: var(--kbq-breadcrumb-item-horizontal-padding);
14
+ --kbq-button-size-border-radius: var(--kbq-breadcrumb-item-border-radius);
15
+ --kbq-button-transparent-contrast-fade-on-foreground: var(--kbq-foreground-contrast-secondary);
16
+ --kbq-button-transparent-contrast-fade-on-right-icon: var(--kbq-breadcrumb-item-icon-color);
17
+ --kbq-button-transparent-contrast-fade-on-left-icon: var(--kbq-breadcrumb-item-icon-color);
18
+
19
+ &[aria-current='page'] {
20
+ --kbq-button-transparent-contrast-fade-on-states-disabled-foreground: var(--kbq-foreground-contrast);
21
+
22
+ &.kbq-disabled {
23
+ --kbq-button-transparent-contrast-fade-on-states-disabled-left-icon: var(
24
+ --kbq-breadcrumb-item-icon-color
25
+ );
26
+ --kbq-button-transparent-contrast-fade-on-states-disabled-right-icon: var(
27
+ --kbq-breadcrumb-item-icon-color
28
+ );
29
+ }
30
+ }
31
+ }
32
+
33
+ &.kbq-dropdown-trigger {
34
+ &.kbq-button,
35
+ &.kbq-button-icon {
36
+ &:not(.kbq-disabled) {
37
+ &:hover,
38
+ &.kbq-hover,
39
+ &.cdk-keyboard-focused {
40
+ .kbq-icon {
41
+ --kbq-button-transparent-contrast-fade-on-left-icon: var(
42
+ --kbq-states-icon-contrast-fade-hover
43
+ );
44
+ --kbq-button-transparent-contrast-fade-on-right-icon: var(
45
+ --kbq-states-icon-contrast-fade-hover
46
+ );
47
+ }
48
+ }
49
+
50
+ &:active,
51
+ &.kbq-active {
52
+ .kbq-icon {
53
+ --kbq-button-transparent-contrast-fade-on-left-icon: var(
54
+ --kbq-states-icon-contrast-fade-active
55
+ );
56
+ --kbq-button-transparent-contrast-fade-on-right-icon: var(
57
+ --kbq-states-icon-contrast-fade-active
58
+ );
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }
65
+
66
+ .kbq-breadcrumb__expand {
67
+ &.kbq-button-icon {
68
+ --kbq-button-icon-size-horizontal-padding: var(--kbq-breadcrumb-item-expand-horizontal-padding);
69
+ --kbq-button-transparent-contrast-fade-on-left-icon: var(--kbq-breadcrumb-expand-icon-color);
70
+
71
+ .kbq-icon {
72
+ --kbq-breadcrumb-expand-icon-color: var(--kbq-icon-contrast-fade);
73
+ }
74
+
75
+ &:not(.kbq-disabled) {
76
+ &:hover,
77
+ &.kbq-hover,
78
+ &.cdk-keyboard-focused {
79
+ .kbq-icon {
80
+ --kbq-breadcrumb-expand-icon-color: var(--kbq-states-icon-contrast-fade-hover);
81
+ }
82
+ }
83
+
84
+ &:active,
85
+ &.kbq-active {
86
+ .kbq-icon {
87
+ --kbq-breadcrumb-expand-icon-color: var(--kbq-states-icon-contrast-fade-active);
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+
94
+ .kbq-breadcrumb_current {
95
+ .kbq-button,
96
+ .kbq-button-icon {
97
+ &.kbq-button_transparent.kbq-contrast {
98
+ --kbq-button-transparent-contrast-fade-on-foreground: var(--kbq-foreground-contrast);
99
+ }
100
+ }
101
+
102
+ color: var(--kbq-foreground-contrast);
103
+ }
104
+
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
+
111
+ &.kbq-breadcrumbs_compact {
112
+ .kbq-breadcrumb-item {
113
+ &.kbq-button,
114
+ &.kbq-button-icon {
115
+ --kbq-breadcrumb-item-height: var(--kbq-size-xxl);
116
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
117
+ }
118
+ }
119
+
120
+ .kbq-breadcrumb__expand {
121
+ &.kbq-button-icon {
122
+ --kbq-breadcrumb-item-expand-horizontal-padding: var(--kbq-size-xxs);
123
+ }
124
+ }
125
+ }
126
+
127
+ &.kbq-breadcrumbs_normal {
128
+ .kbq-breadcrumb-item {
129
+ &.kbq-button,
130
+ &.kbq-button-icon {
131
+ --kbq-button-size-horizontal-padding: var(--kbq-breadcrumb-item-horizontal-padding);
132
+
133
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, text-big);
134
+ }
135
+ }
136
+ }
137
+
138
+ &.kbq-breadcrumbs_big {
139
+ .kbq-button,
140
+ .kbq-button-icon {
141
+ --kbq-button-size-height: var(--kbq-breadcrumb-item-height);
142
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, subheading);
143
+ }
144
+ }
145
+ }
146
+
147
+ .kbq-breadcrumb-item__link-behavior {
148
+ text-decoration: none;
149
+ }
@@ -0,0 +1 @@
1
+ export * from './public-api';
@@ -0,0 +1,2 @@
1
+ export * from './breadcrumbs';
2
+ export * from './breadcrumbs.module';
@@ -1,5 +1,5 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { AfterContentInit, ChangeDetectorRef, ElementRef, OnDestroy, QueryList, Renderer2 } from '@angular/core';
2
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, QueryList, Renderer2 } from '@angular/core';
3
3
  import { CanColor, CanColorCtor, CanDisable, HasTabIndexCtor, KbqTitleTextRef } from '@koobiq/components/core';
4
4
  import { KbqIcon } from '@koobiq/components/icon';
5
5
  import * as i0 from "@angular/core";
@@ -32,7 +32,7 @@ export declare class KbqButtonBase {
32
32
  }
33
33
  /** @docs-private */
34
34
  export declare const KbqButtonMixinBase: HasTabIndexCtor & CanColorCtor & typeof KbqButtonBase;
35
- export declare class KbqButton extends KbqButtonMixinBase implements OnDestroy, CanDisable, CanColor, KbqTitleTextRef {
35
+ export declare class KbqButton extends KbqButtonMixinBase implements OnDestroy, AfterViewInit, CanDisable, CanColor, KbqTitleTextRef {
36
36
  private focusMonitor;
37
37
  private styler;
38
38
  hasFocus: boolean;
@@ -44,6 +44,7 @@ export declare class KbqButton extends KbqButtonMixinBase implements OnDestroy,
44
44
  set disabled(value: any);
45
45
  private _disabled;
46
46
  constructor(elementRef: ElementRef, focusMonitor: FocusMonitor, styler: KbqButtonCssStyler);
47
+ ngAfterViewInit(): void;
47
48
  ngOnDestroy(): void;
48
49
  onFocus($event: any): void;
49
50
  onBlur(): void;
@@ -1,5 +1,5 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
2
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import { KbqButton } from '@koobiq/components/button';
5
5
  import { KbqIcon } from '@koobiq/components/icon';
@@ -103,7 +103,7 @@ export declare class KbqButtonToggleGroup implements ControlValueAccessor, OnIni
103
103
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqButtonToggleGroup, "kbq-button-toggle-group", ["kbqButtonToggleGroup"], { "vertical": { "alias": "vertical"; "required": false; }; "value": { "alias": "value"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; "change": "change"; }, ["buttonToggles"], never, false, never>;
104
104
  }
105
105
  /** Single button inside of a toggle group. */
106
- export declare class KbqButtonToggle implements OnInit, AfterContentInit, OnDestroy {
106
+ export declare class KbqButtonToggle implements OnInit, AfterContentInit, AfterViewInit, OnDestroy {
107
107
  buttonToggleGroup: KbqButtonToggleGroup;
108
108
  private changeDetectorRef;
109
109
  private focusMonitor;
@@ -129,6 +129,7 @@ export declare class KbqButtonToggle implements OnInit, AfterContentInit, OnDest
129
129
  constructor(buttonToggleGroup: KbqButtonToggleGroup, changeDetectorRef: ChangeDetectorRef, focusMonitor: FocusMonitor, element: ElementRef);
130
130
  ngOnInit(): void;
131
131
  ngAfterContentInit(): void;
132
+ ngAfterViewInit(): void;
132
133
  ngOnDestroy(): void;
133
134
  /** Focuses the button. */
134
135
  focus(): void;
@@ -37,7 +37,7 @@
37
37
  --kbq-checkbox-error-default-border: var(--kbq-line-error);
38
38
  --kbq-checkbox-error-default-color: var(--kbq-icon-white);
39
39
  --kbq-checkbox-error-default-text: var(--kbq-foreground-contrast);
40
- --kbq-checkbox-error-default-background: var(--kbq-states-background-error-less);
40
+ --kbq-checkbox-error-default-background: var(--kbq-background-error-less);
41
41
  --kbq-checkbox-error-default-caption: var(--kbq-foreground-contrast-secondary);
42
42
  --kbq-checkbox-error-states-hover-border: var(--kbq-line-error);
43
43
  --kbq-checkbox-error-states-hover-background: var(--kbq-states-background-error-fade-hover);
@@ -46,7 +46,7 @@
46
46
  --kbq-checkbox-error-states-checked-hover-border: transparent;
47
47
  --kbq-checkbox-error-states-checked-hover-background: var(--kbq-states-background-error-hover);
48
48
  --kbq-checkbox-error-states-focused-border: var(--kbq-line-error);
49
- --kbq-checkbox-error-states-focused-background: var(--kbq-states-background-error-less);
49
+ --kbq-checkbox-error-states-focused-background: var(--kbq-background-error-less);
50
50
  --kbq-checkbox-error-states-focused-outline: 1px solid var(--kbq-states-line-focus-error);
51
51
  --kbq-checkbox-error-states-checked-focused-border: var(--kbq-states-line-focus-error);
52
52
  --kbq-checkbox-error-states-checked-focused-background: var(--kbq-background-error);
@@ -3,5 +3,6 @@ export { CanColor, CanColorCtor, KbqComponentColors, mixinColor, ThemePalette }
3
3
  export { KBQ_SANITY_CHECKS, KbqCommonModule } from './common-module';
4
4
  export { CanDisable, CanDisableCtor, mixinDisabled } from './disabled';
5
5
  export { CanUpdateErrorState, CanUpdateErrorStateCtor, mixinErrorState } from './error-state';
6
+ export { KbqDefaultSizes } from './size';
6
7
  export { HasTabIndex, HasTabIndexCtor, mixinTabIndex } from './tabindex';
7
8
  export declare const KBQ_PARENT_ANIMATION_COMPONENT: InjectionToken<any>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Defines the available size options for Koobiq components.
3
+ */
4
+ export type KbqDefaultSizes = 'compact' | 'normal' | 'big';
@@ -215,3 +215,39 @@ export declare const zhCNFormattersData: {
215
215
  };
216
216
  };
217
217
  };
218
+ export declare const tkTMFormattersData: {
219
+ formatters: {
220
+ number: {
221
+ rounding: {
222
+ separator: string;
223
+ groupSeparator: string;
224
+ thousand: string;
225
+ million: string;
226
+ billion: string;
227
+ trillion: string;
228
+ };
229
+ };
230
+ };
231
+ input: {
232
+ number: {
233
+ groupSeparator: string[];
234
+ fractionSeparator: string;
235
+ };
236
+ };
237
+ sizeUnits: {
238
+ defaultUnitSystem: string;
239
+ defaultPrecision: number;
240
+ unitSystems: {
241
+ SI: {
242
+ abbreviations: string[];
243
+ base: number;
244
+ power: number;
245
+ };
246
+ IEC: {
247
+ abbreviations: string[];
248
+ base: number;
249
+ power: number;
250
+ };
251
+ };
252
+ };
253
+ };
@@ -3,6 +3,7 @@ export * from './es-LA';
3
3
  export * from './fa-IR';
4
4
  export * from './pt-BR';
5
5
  export * from './ru-RU';
6
+ export * from './tk-TM';
6
7
  export * from './zh-CN';
7
8
  export * from './formatters';
8
9
  export * from './locale-service';
@@ -479,6 +479,85 @@ export declare function KBQ_DEFAULT_LOCALE_DATA_FACTORY(): {
479
479
  searchPlaceholder: string;
480
480
  };
481
481
  };
482
+ 'tk-TM': {
483
+ formatters: {
484
+ number: {
485
+ rounding: {
486
+ separator: string;
487
+ groupSeparator: string;
488
+ thousand: string;
489
+ million: string;
490
+ billion: string;
491
+ trillion: string;
492
+ };
493
+ };
494
+ };
495
+ input: {
496
+ number: {
497
+ groupSeparator: string[];
498
+ fractionSeparator: string;
499
+ };
500
+ };
501
+ sizeUnits: {
502
+ defaultUnitSystem: string;
503
+ defaultPrecision: number;
504
+ unitSystems: {
505
+ SI: {
506
+ abbreviations: string[];
507
+ base: number;
508
+ power: number;
509
+ };
510
+ IEC: {
511
+ abbreviations: string[];
512
+ base: number;
513
+ power: number;
514
+ };
515
+ };
516
+ };
517
+ select: {
518
+ hiddenItemsText: string;
519
+ };
520
+ datepicker: {
521
+ placeholder: string;
522
+ dateInput: string;
523
+ };
524
+ timepicker: {
525
+ placeholder: {
526
+ full: string;
527
+ short: string;
528
+ };
529
+ };
530
+ fileUpload: {
531
+ single: {
532
+ captionText: string;
533
+ browseLink: string;
534
+ };
535
+ multiple: {
536
+ captionText: string;
537
+ captionTextWhenSelected: string;
538
+ captionTextForCompactSize: string;
539
+ browseLink: string;
540
+ title: string;
541
+ gridHeaders: {
542
+ file: string;
543
+ size: string;
544
+ };
545
+ };
546
+ };
547
+ codeBlock: {
548
+ softWrapOnTooltip: string;
549
+ softWrapOffTooltip: string;
550
+ downloadTooltip: string;
551
+ copiedTooltip: string;
552
+ copyTooltip: string;
553
+ viewAllText: string;
554
+ viewLessText: string;
555
+ openExternalSystemTooltip: string;
556
+ };
557
+ timezone: {
558
+ searchPlaceholder: string;
559
+ };
560
+ };
482
561
  };
483
562
  export declare const KBQ_LOCALE_DATA: InjectionToken<any>;
484
563
  export declare const KBQ_LOCALE_SERVICE: InjectionToken<KbqLocaleService>;
@@ -0,0 +1,45 @@
1
+ export declare const tkTMLocaleData: {
2
+ select: {
3
+ hiddenItemsText: string;
4
+ };
5
+ datepicker: {
6
+ placeholder: string;
7
+ dateInput: string;
8
+ };
9
+ timepicker: {
10
+ placeholder: {
11
+ full: string;
12
+ short: string;
13
+ };
14
+ };
15
+ fileUpload: {
16
+ single: {
17
+ captionText: string;
18
+ browseLink: string;
19
+ };
20
+ multiple: {
21
+ captionText: string;
22
+ captionTextWhenSelected: string;
23
+ captionTextForCompactSize: string;
24
+ browseLink: string;
25
+ title: string;
26
+ gridHeaders: {
27
+ file: string;
28
+ size: string;
29
+ };
30
+ };
31
+ };
32
+ codeBlock: {
33
+ softWrapOnTooltip: string;
34
+ softWrapOffTooltip: string;
35
+ downloadTooltip: string;
36
+ copiedTooltip: string;
37
+ copyTooltip: string;
38
+ viewAllText: string;
39
+ viewLessText: string;
40
+ openExternalSystemTooltip: string;
41
+ };
42
+ timezone: {
43
+ searchPlaceholder: string;
44
+ };
45
+ };
@@ -1,17 +1,18 @@
1
- @use '../styles/common/tokens' as *;
1
+ @use '../styles/common/tokens';
2
2
 
3
3
  @mixin kbq-optgroup-theme() {
4
4
  .kbq-optgroup-label {
5
- color: var(--kbq-foreground-contrast);
5
+ --kbq-optgroup-label-color: var(--kbq-foreground-contrast-secondary);
6
+ color: var(--kbq-optgroup-label-color);
6
7
  }
7
8
 
8
9
  .kbq-disabled .kbq-optgroup-label {
9
- color: var(--kbq-states-foreground-disabled);
10
+ --kbq-optgroup-label-color: var(--kbq-states-foreground-disabled);
10
11
  }
11
12
  }
12
13
 
13
14
  @mixin kbq-optgroup-typography() {
14
15
  .kbq-optgroup-label {
15
- @include kbq-typography-level-to-styles-css-variables(typography, subheading);
16
+ @include tokens.kbq-typography-level-to-styles-css-variables(typography, caps-compact-strong);
16
17
  }
17
18
  }
@@ -6,6 +6,7 @@ export declare class KbqOptgroupBase {
6
6
  export declare const KbqOptgroupMixinBase: CanDisableCtor & typeof KbqOptgroupBase;
7
7
  /**
8
8
  * Component that is used to group instances of `kbq-option`.
9
+ * When options aren't provided as `ng-content`, used as a Group Header with styling.
9
10
  */
10
11
  export declare class KbqOptgroup extends KbqOptgroupMixinBase implements CanDisable {
11
12
  label: string;
@@ -4,7 +4,10 @@
4
4
  @use './optgroup-theme' as *;
5
5
 
6
6
  .kbq-optgroup-label {
7
- padding-left: var(--kbq-size-m);
7
+ display: flex;
8
+ align-items: center;
9
+ box-sizing: border-box;
10
+ padding: var(--kbq-size-s) var(--kbq-size-l) var(--kbq-size-s) var(--kbq-size-m);
8
11
 
9
12
  @include vendor-prefixes.user-select(none);
10
13
  cursor: default;
@@ -4,6 +4,7 @@
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
+ --kbq-option-border-radius: var(--kbq-size-xs);
7
8
  /* LIST THEME TOKENS */
8
9
  @include list-tokens.list-theme-tokens;
9
10
  }
@@ -4,6 +4,7 @@
4
4
 
5
5
  .kbq-option {
6
6
  @include common.kbq-list-item-base();
7
+ border-radius: var(--kbq-option-border-radius);
7
8
 
8
9
  &:not(.kbq-disabled) {
9
10
  cursor: pointer;