@koobiq/components 17.2.0 → 17.4.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 (113) hide show
  1. package/alert/_alert-theme.scss +3 -3
  2. package/alert/alert.component.scss +6 -6
  3. package/autocomplete/_autocomplete-theme.scss +2 -2
  4. package/badge/_badge-theme.scss +6 -5
  5. package/button/_button-theme.scss +4 -4
  6. package/button-toggle/_button-toggle-theme.scss +4 -1
  7. package/checkbox/_checkbox-theme.scss +35 -17
  8. package/code-block/_code-block-theme.scss +218 -214
  9. package/core/forms/_forms.scss +2 -2
  10. package/core/option/_option-action-theme.scss +1 -1
  11. package/core/option/_option-theme.scss +7 -4
  12. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +5 -5
  13. package/core/styles/_koobiq-theme.scss +2 -2
  14. package/core/styles/theming/_components-theming.scss +17 -19
  15. package/core/styles/theming/_scrollbar-theme.scss +6 -5
  16. package/core/styles/theming/_theming.scss +1 -0
  17. package/core/styles/typography/_typography.scss +70 -68
  18. package/datepicker/_datepicker-theme.scss +14 -11
  19. package/datepicker/calendar-header.component.d.ts +1 -0
  20. package/datepicker/datepicker-content.scss +8 -3
  21. package/datepicker/datepicker-toggle.scss +1 -0
  22. package/dl/_dl-theme.scss +2 -2
  23. package/dropdown/_dropdown-theme.scss +4 -4
  24. package/empty-state/_empty-state-theme.scss +2 -2
  25. package/esm2022/core/common-behaviors/common-module.mjs +2 -2
  26. package/esm2022/core/version.mjs +2 -2
  27. package/esm2022/datepicker/calendar-header.component.mjs +7 -3
  28. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  29. package/esm2022/form-field/form-field.mjs +2 -2
  30. package/esm2022/form-field/stepper.mjs +2 -2
  31. package/esm2022/icon/icon-button.component.mjs +2 -2
  32. package/esm2022/list/list-selection.component.mjs +2 -2
  33. package/esm2022/list/list.component.mjs +2 -2
  34. package/esm2022/markdown/markdown.component.mjs +2 -2
  35. package/esm2022/modal/modal-ref.class.mjs +1 -1
  36. package/esm2022/modal/modal.service.mjs +4 -6
  37. package/esm2022/modal/modal.type.mjs +1 -1
  38. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  39. package/esm2022/popover/popover.component.mjs +72 -15
  40. package/esm2022/popover/popover.module.mjs +6 -4
  41. package/esm2022/select/select.component.mjs +2 -2
  42. package/esm2022/tabs/tab-body.component.mjs +3 -3
  43. package/esm2022/tabs/tab.component.mjs +3 -4
  44. package/esm2022/toast/toast.component.mjs +3 -3
  45. package/fesm2022/koobiq-components-core.mjs +2 -2
  46. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-datepicker.mjs +8 -4
  48. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-form-field.mjs +4 -4
  50. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-icon.mjs +2 -2
  52. package/fesm2022/koobiq-components-list.mjs +4 -4
  53. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  55. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  56. package/fesm2022/koobiq-components-modal.mjs +3 -5
  57. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-popover.mjs +82 -25
  59. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-select.mjs +1 -1
  61. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  62. package/fesm2022/koobiq-components-tabs.mjs +4 -5
  63. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  64. package/fesm2022/koobiq-components-toast.mjs +2 -2
  65. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  66. package/file-upload/_file-upload-theme.scss +31 -27
  67. package/form-field/_form-field-theme.scss +6 -6
  68. package/form-field/form-field.scss +2 -2
  69. package/form-field/stepper.scss +5 -1
  70. package/icon/_icon-button-theme.scss +45 -26
  71. package/icon/_icon-item-theme.scss +1 -1
  72. package/icon/icon-button.scss +4 -4
  73. package/input/_input-theme.scss +1 -1
  74. package/link/_link-theme.scss +12 -6
  75. package/list/_list-theme.scss +8 -5
  76. package/list/list.scss +1 -0
  77. package/loader-overlay/_loader-overlay-theme.scss +10 -6
  78. package/markdown/_markdown-theme.scss +1 -1
  79. package/markdown/markdown.scss +5 -6
  80. package/modal/_modal-theme.scss +6 -5
  81. package/modal/modal-ref.class.d.ts +2 -2
  82. package/modal/modal.service.d.ts +9 -9
  83. package/modal/modal.type.d.ts +6 -6
  84. package/navbar/_navbar-theme.scss +9 -9
  85. package/package.json +18 -14
  86. package/popover/_popover-theme.scss +9 -4
  87. package/popover/popover.component.d.ts +22 -8
  88. package/popover/popover.module.d.ts +3 -1
  89. package/popover/popover.scss +32 -0
  90. package/prebuilt-themes/dark-theme.css +1 -1
  91. package/prebuilt-themes/light-theme.css +1 -1
  92. package/progress-bar/_progress-bar-theme.scss +2 -2
  93. package/progress-spinner/_progress-spinner-theme.scss +3 -3
  94. package/radio/_radio-theme.scss +15 -19
  95. package/schematics/ng-add/index.js +4 -4
  96. package/scrollbar/_scrollbar-component-theme.scss +27 -12
  97. package/select/_select-theme.scss +2 -2
  98. package/sidepanel/_sidepanel-theme.scss +4 -4
  99. package/splitter/_splitter-theme.scss +1 -2
  100. package/splitter/splitter.scss +3 -3
  101. package/table/_table-theme.scss +2 -2
  102. package/tabs/_tabs-theme.scss +4 -3
  103. package/tags/_tag-theme.scss +7 -5
  104. package/timepicker/timepicker.scss +1 -0
  105. package/timezone/_timezone-option-theme.scss +3 -3
  106. package/toast/_toast-theme.scss +1 -1
  107. package/toast/toast.component.scss +1 -1
  108. package/toggle/_toggle-theme.scss +1 -1
  109. package/tooltip/_tooltip-theme.scss +1 -0
  110. package/tree/_tree-theme.scss +5 -5
  111. package/tree/toggle.scss +1 -1
  112. package/tree-select/_tree-select-theme.scss +2 -2
  113. package/toggle/README.md +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koobiq/components",
3
- "version": "17.2.0",
3
+ "version": "17.4.0",
4
4
  "description": "koobiq",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,8 +8,12 @@
8
8
  },
9
9
  "keywords": [
10
10
  "angular",
11
- "koobiq",
12
- "components"
11
+ "component",
12
+ "service",
13
+ "directive",
14
+ "development",
15
+ "kit",
16
+ "koobiq"
13
17
  ],
14
18
  "license": "MIT",
15
19
  "bugs": {
@@ -19,13 +23,13 @@
19
23
  "peerDependencies": {
20
24
  "@angular/cdk": "^17.0.0",
21
25
  "@angular/forms": "^17.0.0",
22
- "@koobiq/cdk": "17.2.0",
23
- "@koobiq/angular-moment-adapter": "17.2.0",
24
- "@koobiq/angular-luxon-adapter": "17.2.0",
26
+ "@koobiq/cdk": "17.4.0",
27
+ "@koobiq/angular-moment-adapter": "17.4.0",
28
+ "@koobiq/angular-luxon-adapter": "17.4.0",
25
29
  "@koobiq/date-formatter": "^3.1.2",
26
30
  "@koobiq/icons": "^7.1.0",
27
- "@koobiq/tokens-builder": "3.3.1",
28
- "@koobiq/design-tokens": "3.3.1",
31
+ "@koobiq/tokens-builder": "3.4.0",
32
+ "@koobiq/design-tokens": "3.4.0",
29
33
  "marked": "^9.0.0",
30
34
  "overlayscrollbars": "^2.2.0",
31
35
  "ngx-highlightjs": "^10.0.0"
@@ -76,12 +80,6 @@
76
80
  "esm": "./esm2022/badge/koobiq-components-badge.mjs",
77
81
  "default": "./fesm2022/koobiq-components-badge.mjs"
78
82
  },
79
- "./checkbox": {
80
- "types": "./checkbox/index.d.ts",
81
- "esm2022": "./esm2022/checkbox/koobiq-components-checkbox.mjs",
82
- "esm": "./esm2022/checkbox/koobiq-components-checkbox.mjs",
83
- "default": "./fesm2022/koobiq-components-checkbox.mjs"
84
- },
85
83
  "./button": {
86
84
  "types": "./button/index.d.ts",
87
85
  "esm2022": "./esm2022/button/koobiq-components-button.mjs",
@@ -94,6 +92,12 @@
94
92
  "esm": "./esm2022/button-toggle/koobiq-components-button-toggle.mjs",
95
93
  "default": "./fesm2022/koobiq-components-button-toggle.mjs"
96
94
  },
95
+ "./checkbox": {
96
+ "types": "./checkbox/index.d.ts",
97
+ "esm2022": "./esm2022/checkbox/koobiq-components-checkbox.mjs",
98
+ "esm": "./esm2022/checkbox/koobiq-components-checkbox.mjs",
99
+ "default": "./fesm2022/koobiq-components-checkbox.mjs"
100
+ },
97
101
  "./code-block": {
98
102
  "types": "./code-block/index.d.ts",
99
103
  "esm2022": "./esm2022/code-block/koobiq-components-code-block.mjs",
@@ -6,9 +6,10 @@
6
6
 
7
7
  @mixin kbq-popover-theme($theme) {
8
8
  $popover: map.get(map.get($theme, components), popover);
9
+ $background: map.get($theme, background);
9
10
 
10
11
  .kbq-popover {
11
- box-shadow: kbq-css-variable(popover-ontainer-box-shadow, map.get($popover, container, box-shadow));
12
+ box-shadow: kbq-css-variable(popover-container-box-shadow, map.get($popover, container, box-shadow));
12
13
  }
13
14
 
14
15
  .kbq-popover__container {
@@ -16,16 +17,20 @@
16
17
  }
17
18
 
18
19
  .kbq-popover__arrow {
19
- box-shadow: kbq-css-variable(popover-ontainer-box-shadow, map.get($popover, container, box-shadow));
20
+ box-shadow: kbq-css-variable(popover-container-box-shadow, map.get($popover, container, box-shadow));
20
21
  background: kbq-css-variable(popover-container-background, map.get($popover, container, background));
21
22
  }
22
23
 
24
+ .kbq-popover__close {
25
+ background-color: map.get($background, overlay-inverse);
26
+ }
27
+
23
28
  .kbq-popover__header {
24
- color: kbq-css-variable(popover-header-text, map.get($popover, header, text));
29
+ color: kbq-css-variable(popover-header-text-color, map.get($popover, header, text));
25
30
  }
26
31
 
27
32
  .kbq-popover__content {
28
- color: kbq-css-variable(popover-content-text, map.get($popover, content, text));
33
+ color: kbq-css-variable(popover-content-text-color, map.get($popover, content, text));
29
34
  }
30
35
  }
31
36
 
@@ -1,16 +1,26 @@
1
1
  import { Directionality } from '@angular/cdk/bidi';
2
- import { Overlay, OverlayConfig, ScrollDispatcher, ScrollStrategy } from '@angular/cdk/overlay';
3
- import { ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, NgZone, TemplateRef, Type, ViewContainerRef } from '@angular/core';
4
- import { KbqPopUp, KbqPopUpTrigger, PopUpPlacements, PopUpSizes } from '@koobiq/components/core';
2
+ import { CdkScrollable, Overlay, OverlayConfig, ScrollDispatcher, ScrollStrategy } from '@angular/cdk/overlay';
3
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, NgZone, TemplateRef, Type, ViewContainerRef } from '@angular/core';
4
+ import { KbqComponentColors, KbqPopUp, KbqPopUpTrigger, PopUpPlacements, PopUpSizes } from '@koobiq/components/core';
5
5
  import * as i0 from "@angular/core";
6
- export declare class KbqPopoverComponent extends KbqPopUp {
6
+ export declare class KbqPopoverComponent extends KbqPopUp implements AfterViewInit {
7
7
  prefix: string;
8
8
  header: string | TemplateRef<any>;
9
9
  footer: string | TemplateRef<any>;
10
10
  isTrapFocus: boolean;
11
+ hasCloseButton: boolean;
12
+ popoverContent: ElementRef<HTMLDivElement>;
13
+ private debounceTime;
14
+ private readonly destroyRef;
15
+ isContentTopOverflow: boolean;
16
+ isContentBottomOverflow: boolean;
11
17
  constructor(changeDetectorRef: ChangeDetectorRef);
18
+ ngAfterViewInit(): void;
19
+ onContentChange(): void;
20
+ checkContentOverflow(contentElement: HTMLElement): void;
12
21
  updateClassMap(placement: string, customClass: string, size: PopUpSizes): void;
13
22
  updateTrapFocus(isTrapFocus: boolean): void;
23
+ protected readonly componentColors: typeof KbqComponentColors;
14
24
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqPopoverComponent, never>;
15
25
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqPopoverComponent, "kbq-popover-component", never, {}, {}, never, never, false, never>;
16
26
  }
@@ -25,7 +35,7 @@ export declare const KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER: {
25
35
  };
26
36
  /** Creates an error to be thrown if the user supplied an invalid popover position. */
27
37
  export declare function getKbqPopoverInvalidPositionError(position: string): Error;
28
- export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> {
38
+ export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> implements AfterContentInit {
29
39
  get popoverVisible(): boolean;
30
40
  set popoverVisible(value: boolean);
31
41
  get popoverPlacement(): PopUpPlacements;
@@ -53,12 +63,15 @@ export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverCompone
53
63
  private _size;
54
64
  get customClass(): string;
55
65
  set customClass(value: string);
66
+ get hasCloseButton(): boolean;
67
+ set hasCloseButton(value: boolean);
68
+ private _hasCloseButton;
56
69
  /**
57
70
  * Controls the behavior of closing the component on scroll.
58
71
  * The default value is `false`.
59
72
  * Use CloseScrollStrategy as alternative
60
73
  */
61
- get closeOnScroll(): boolean;
74
+ get closeOnScroll(): boolean | null;
62
75
  set closeOnScroll(value: boolean);
63
76
  private _closeOnScroll;
64
77
  get hasClickTrigger(): boolean;
@@ -68,13 +81,14 @@ export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverCompone
68
81
  protected originSelector: string;
69
82
  protected get overlayConfig(): OverlayConfig;
70
83
  constructor(overlay: Overlay, elementRef: ElementRef, ngZone: NgZone, scrollDispatcher: ScrollDispatcher, hostView: ViewContainerRef, scrollStrategy: any, direction: Directionality);
84
+ ngAfterContentInit(): void;
71
85
  updateData(): void;
72
86
  /** Updates the position of the current popover. */
73
87
  updatePosition(reapplyPosition?: boolean): void;
74
88
  getOverlayHandleComponentType(): Type<KbqPopoverComponent>;
75
89
  updateClassMap(newPlacement?: string): void;
76
90
  closingActionsForClick(): import("rxjs").Observable<MouseEvent>[];
77
- closingActions(): import("rxjs").Observable<void | MouseEvent | import("@angular/cdk/scrolling").CdkScrollable>;
91
+ closingActions(): import("rxjs").Observable<void | MouseEvent | CdkScrollable>;
78
92
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqPopoverTrigger, [null, null, null, null, null, null, { optional: true; }]>;
79
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqPopoverTrigger, "[kbqPopover]", ["kbqPopover"], { "popoverVisible": { "alias": "kbqPopoverVisible"; "required": false; }; "popoverPlacement": { "alias": "kbqPopoverPlacement"; "required": false; }; "popoverPlacementPriority": { "alias": "kbqPopoverPlacementPriority"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "header": { "alias": "kbqPopoverHeader"; "required": false; }; "content": { "alias": "kbqPopoverContent"; "required": false; }; "footer": { "alias": "kbqPopoverFooter"; "required": false; }; "disabled": { "alias": "kbqPopoverDisabled"; "required": false; }; "trigger": { "alias": "kbqTrigger"; "required": false; }; "size": { "alias": "kbqPopoverSize"; "required": false; }; "customClass": { "alias": "kbqPopoverClass"; "required": false; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; }, { "placementChange": "kbqPopoverPlacementChange"; "visibleChange": "kbqPopoverVisibleChange"; }, never, never, false, never>;
93
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqPopoverTrigger, "[kbqPopover]", ["kbqPopover"], { "popoverVisible": { "alias": "kbqPopoverVisible"; "required": false; }; "popoverPlacement": { "alias": "kbqPopoverPlacement"; "required": false; }; "popoverPlacementPriority": { "alias": "kbqPopoverPlacementPriority"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "header": { "alias": "kbqPopoverHeader"; "required": false; }; "content": { "alias": "kbqPopoverContent"; "required": false; }; "footer": { "alias": "kbqPopoverFooter"; "required": false; }; "disabled": { "alias": "kbqPopoverDisabled"; "required": false; }; "trigger": { "alias": "kbqTrigger"; "required": false; }; "size": { "alias": "kbqPopoverSize"; "required": false; }; "customClass": { "alias": "kbqPopoverClass"; "required": false; }; "hasCloseButton": { "alias": "hasCloseButton"; "required": false; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; }, { "placementChange": "kbqPopoverPlacementChange"; "visibleChange": "kbqPopoverVisibleChange"; }, never, never, false, never>;
80
94
  }
@@ -5,8 +5,10 @@ import * as i3 from "@angular/common";
5
5
  import * as i4 from "@angular/cdk/overlay";
6
6
  import * as i5 from "@koobiq/components/button";
7
7
  import * as i6 from "@angular/cdk/a11y";
8
+ import * as i7 from "@koobiq/components/icon";
9
+ import * as i8 from "@angular/cdk/observers";
8
10
  export declare class KbqPopoverModule {
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqPopoverModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqPopoverModule, [typeof i1.KbqPopoverComponent, typeof i1.KbqPopoverTrigger, typeof i2.KbqPopoverConfirmComponent, typeof i2.KbqPopoverConfirmTrigger], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.KbqButtonModule, typeof i6.A11yModule], [typeof i1.KbqPopoverComponent, typeof i1.KbqPopoverTrigger, typeof i2.KbqPopoverConfirmComponent, typeof i2.KbqPopoverConfirmTrigger]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqPopoverModule, [typeof i1.KbqPopoverComponent, typeof i1.KbqPopoverTrigger, typeof i2.KbqPopoverConfirmComponent, typeof i2.KbqPopoverConfirmTrigger], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.KbqButtonModule, typeof i6.A11yModule, typeof i7.KbqIconModule, typeof i8.CdkObserveContent], [typeof i1.KbqPopoverComponent, typeof i1.KbqPopoverTrigger, typeof i2.KbqPopoverConfirmComponent, typeof i2.KbqPopoverConfirmTrigger]>;
11
13
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqPopoverModule>;
12
14
  }
@@ -69,6 +69,18 @@ $trigger-margin: 9px;
69
69
  }
70
70
  }
71
71
 
72
+ .kbq-popover__content .kbq-popover__close-container {
73
+ display: flex;
74
+ justify-content: flex-end;
75
+ height: 0;
76
+
77
+ .kbq-popover__close {
78
+ top: auto;
79
+ right: auto;
80
+ transform: translateY(-50%) translateX(50%);
81
+ }
82
+ }
83
+
72
84
  .kbq-popover__header {
73
85
  display: flex;
74
86
  align-items: center;
@@ -83,11 +95,23 @@ $trigger-margin: 9px;
83
95
  }
84
96
  }
85
97
 
98
+ .kbq-popover__header_top-overflow {
99
+ box-shadow: 0 9px 8px -12px rgba(138, 143, 168, 1);
100
+ }
101
+
102
+ .kbq-popover__header_with-close-button {
103
+ padding-right: kbq-css-variable(size-4xl);
104
+ }
105
+
86
106
  .kbq-popover__footer {
87
107
  padding: kbq-css-variable(popover-size-footer-padding-vertical)
88
108
  kbq-css-variable(popover-size-footer-padding-horizontal);
89
109
  }
90
110
 
111
+ .kbq-popover__footer_bottom-overflow {
112
+ box-shadow: 0 -9px 8px -12px rgba(138, 143, 168, 1);
113
+ }
114
+
91
115
  .kbq-popover__arrow {
92
116
  position: absolute;
93
117
 
@@ -103,3 +127,11 @@ $arrow-offset: calc(($arrow-size - 1px) / -2);
103
127
  $arrow-padding: calc(18px - $trigger-margin);
104
128
 
105
129
  @include pop-up.popup-arrow-positions(kbq-popover, $arrow-offset, $arrow-padding);
130
+
131
+ .kbq-popover__close {
132
+ position: absolute;
133
+ z-index: 2;
134
+ top: kbq-css-variable(size-s);
135
+ right: kbq-css-variable(size-s);
136
+ border-radius: kbq-css-variable(button-size-border-radius);
137
+ }