@kirbydesign/designsystem 4.0.1 → 4.0.2

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 (57) hide show
  1. package/bundles/kirbydesign-designsystem-testing-base.umd.js +44 -15
  2. package/bundles/kirbydesign-designsystem-testing-base.umd.js.map +1 -1
  3. package/bundles/kirbydesign-designsystem-testing-base.umd.min.js +1 -1
  4. package/bundles/kirbydesign-designsystem-testing-base.umd.min.js.map +1 -1
  5. package/bundles/kirbydesign-designsystem.umd.js +274 -63
  6. package/bundles/kirbydesign-designsystem.umd.js.map +1 -1
  7. package/bundles/kirbydesign-designsystem.umd.min.js +1 -1
  8. package/bundles/kirbydesign-designsystem.umd.min.js.map +1 -1
  9. package/esm2015/kirbydesign-designsystem.js +18 -16
  10. package/esm2015/kirbydesign-designsystem.metadata.json +1 -1
  11. package/esm2015/lib/components/card/card.component.js +1 -1
  12. package/esm2015/lib/components/card/card.component.metadata.json +1 -1
  13. package/esm2015/lib/components/dropdown/dropdown.component.js +53 -59
  14. package/esm2015/lib/components/dropdown/dropdown.component.metadata.json +1 -1
  15. package/esm2015/lib/components/dropdown/dropdown.types.js +12 -0
  16. package/esm2015/lib/components/dropdown/dropdown.types.metadata.json +1 -0
  17. package/esm2015/lib/components/dropdown/keyboard-handler.service.js +43 -0
  18. package/esm2015/lib/components/dropdown/keyboard-handler.service.metadata.json +1 -0
  19. package/esm2015/lib/components/index.js +3 -2
  20. package/esm2015/lib/components/index.metadata.json +1 -1
  21. package/esm2015/lib/components/item/item.component.js +1 -1
  22. package/esm2015/lib/components/item/item.component.metadata.json +1 -1
  23. package/esm2015/lib/components/popover/popover.component.js +156 -0
  24. package/esm2015/lib/components/popover/popover.component.metadata.json +1 -0
  25. package/esm2015/lib/helpers/design-token-helper.js +4 -1
  26. package/esm2015/lib/helpers/design-token-helper.metadata.json +1 -1
  27. package/esm2015/lib/helpers/design-token-helper.styles.js +2 -1
  28. package/esm2015/lib/helpers/design-token-helper.styles.metadata.json +1 -1
  29. package/esm2015/lib/kirby.module.js +3 -1
  30. package/esm2015/lib/kirby.module.metadata.json +1 -1
  31. package/esm2015/testing-base/kirbydesign-designsystem-testing-base.js +17 -16
  32. package/esm2015/testing-base/kirbydesign-designsystem-testing-base.metadata.json +1 -1
  33. package/esm2015/testing-base/lib/components/mock.dropdown.component.js +2 -1
  34. package/esm2015/testing-base/lib/components/mock.dropdown.component.metadata.json +1 -1
  35. package/esm2015/testing-base/lib/components/mock.popover.component.js +27 -0
  36. package/esm2015/testing-base/lib/components/mock.popover.component.metadata.json +1 -0
  37. package/esm2015/testing-base/lib/mock-components.js +3 -1
  38. package/esm2015/testing-base/lib/mock-components.metadata.json +1 -1
  39. package/fesm2015/kirbydesign-designsystem-testing-base.js +29 -2
  40. package/fesm2015/kirbydesign-designsystem-testing-base.js.map +1 -1
  41. package/fesm2015/kirbydesign-designsystem.js +251 -49
  42. package/fesm2015/kirbydesign-designsystem.js.map +1 -1
  43. package/kirbydesign-designsystem.d.ts +17 -15
  44. package/kirbydesign-designsystem.metadata.json +1 -1
  45. package/lib/components/dropdown/dropdown.component.d.ts +13 -14
  46. package/lib/components/dropdown/dropdown.types.d.ts +9 -0
  47. package/lib/components/dropdown/keyboard-handler.service.d.ts +3 -0
  48. package/lib/components/index.d.ts +2 -1
  49. package/lib/components/popover/popover.component.d.ts +34 -0
  50. package/lib/helpers/design-token-helper.d.ts +1 -0
  51. package/lib/helpers/design-token-helper.styles.d.ts +1 -0
  52. package/package.json +1 -1
  53. package/scss/base/_variables.scss +1 -0
  54. package/testing-base/kirbydesign-designsystem-testing-base.d.ts +16 -15
  55. package/testing-base/kirbydesign-designsystem-testing-base.metadata.json +1 -1
  56. package/testing-base/lib/components/mock.dropdown.component.d.ts +1 -0
  57. package/testing-base/lib/components/mock.popover.component.d.ts +7 -0
@@ -1,18 +1,12 @@
1
1
  import { AfterContentChecked, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList, Renderer2, TemplateRef } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
- export declare enum OpenState {
4
- closed = 0,
5
- opening = 1,
6
- open = 2
7
- }
8
- export declare enum HorizontalDirection {
9
- right = "right",
10
- left = "left"
11
- }
3
+ import { HorizontalDirection, PopoverComponent } from '../popover/popover.component';
4
+ import { KeyboardHandlerService } from './keyboard-handler.service';
12
5
  export declare class DropdownComponent implements AfterContentChecked, AfterViewInit, OnDestroy, ControlValueAccessor {
13
6
  private renderer;
14
7
  private elementRef;
15
8
  private changeDetectorRef;
9
+ private keyboardHandlerService;
16
10
  static readonly OPEN_DELAY_IN_MS = 100;
17
11
  private state;
18
12
  private hasConfiguredSlottedItems;
@@ -36,6 +30,7 @@ export declare class DropdownComponent implements AfterContentChecked, AfterView
36
30
  hasError: boolean;
37
31
  size: 'sm' | 'md';
38
32
  tabindex: number;
33
+ usePopover: boolean;
39
34
  get _tabindex(): number;
40
35
  get _noBlurOnScroll(): boolean;
41
36
  /**
@@ -54,16 +49,19 @@ export declare class DropdownComponent implements AfterContentChecked, AfterView
54
49
  itemTemplate: TemplateRef<any>;
55
50
  slottedItems: QueryList<ElementRef<HTMLElement>>;
56
51
  cardElement: ElementRef<HTMLElement>;
52
+ popover?: PopoverComponent;
53
+ buttonElement: ElementRef<HTMLElement>;
57
54
  kirbyItemsDefault: QueryList<ElementRef<HTMLElement>>;
58
55
  kirbyItemsSlotted: QueryList<ElementRef<HTMLElement>>;
59
56
  private itemClickUnlisten;
60
57
  private intersectionObserverRef;
61
58
  private showDropdownTimeoutId;
62
- constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>, changeDetectorRef: ChangeDetectorRef);
63
- onToggle(event: Event): void;
59
+ constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>, changeDetectorRef: ChangeDetectorRef, keyboardHandlerService: KeyboardHandlerService);
60
+ onToggle(event: MouseEvent): void;
64
61
  toggle(): void;
65
62
  onButtonMouseEvent(event: Event): void;
66
63
  ngAfterContentChecked(): void;
64
+ private setPopoverCardStyle;
67
65
  ngAfterViewInit(): void;
68
66
  private initializeAlignment;
69
67
  private setHorizontalDirection;
@@ -111,10 +109,11 @@ export declare class DropdownComponent implements AfterContentChecked, AfterView
111
109
  _onTab(event: KeyboardEvent): void;
112
110
  _onMouseDown(event: MouseEvent): void;
113
111
  _onFocus(): void;
114
- _onBlur(): void;
112
+ _onPopoverWillHide(): void;
113
+ _onBlur(event?: FocusEvent): void;
115
114
  _onSpace(event: KeyboardEvent): void;
116
115
  _onEnter(event: KeyboardEvent): void;
117
- _onArrowKeys(event: KeyboardEvent): void;
118
- _onHomeEndKeys(event: KeyboardEvent): void;
116
+ _onArrowKeys(event: KeyboardEvent): boolean;
117
+ _onHomeEndKeys(event: KeyboardEvent): boolean;
119
118
  ngOnDestroy(): void;
120
119
  }
@@ -0,0 +1,9 @@
1
+ export declare enum OpenState {
2
+ closed = 0,
3
+ opening = 1,
4
+ open = 2
5
+ }
6
+ export declare enum VerticalDirection {
7
+ up = 0,
8
+ down = 1
9
+ }
@@ -0,0 +1,3 @@
1
+ export declare class KeyboardHandlerService {
2
+ handle(event: KeyboardEvent, items: any[] | string[], selectedIndex: number): number;
3
+ }
@@ -10,7 +10,7 @@ export * from './calendar';
10
10
  export { CheckboxComponent } from './checkbox/checkbox.component';
11
11
  export { ChipComponent } from './chip/chip.component';
12
12
  export { DividerComponent } from './divider/divider.component';
13
- export { DropdownComponent, HorizontalDirection } from './dropdown/dropdown.component';
13
+ export { DropdownComponent } from './dropdown/dropdown.component';
14
14
  export { EmptyStateComponent } from './empty-state/empty-state.component';
15
15
  export * from './form-field';
16
16
  export { FabSheetComponent } from './fab-sheet/fab-sheet.component';
@@ -23,6 +23,7 @@ export * from './list';
23
23
  export * from './reorder-list';
24
24
  export * from './modal';
25
25
  export * from './page';
26
+ export { HorizontalDirection, PopoverComponent } from './popover/popover.component';
26
27
  export * from './router-outlet';
27
28
  export * from './shared';
28
29
  export { SegmentedControlComponent, SegmentedControlMode } from './segmented-control/segmented-control.component';
@@ -0,0 +1,34 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core';
2
+ export declare enum HorizontalDirection {
3
+ right = "right",
4
+ left = "left"
5
+ }
6
+ export declare class PopoverComponent implements AfterViewInit, OnDestroy {
7
+ private elementRef;
8
+ private renderer;
9
+ private readonly preventScrollEventListenerOptions;
10
+ private readonly POPOVER_BODY_PADDING;
11
+ private isShowing;
12
+ private isFirstToLockScroll;
13
+ private zIndex;
14
+ private document;
15
+ wrapperElement: ElementRef<HTMLDivElement>;
16
+ popout: HorizontalDirection;
17
+ target: HTMLElement | ElementRef<HTMLElement>;
18
+ willHide: EventEmitter<void>;
19
+ private get targetElement();
20
+ _backdropClick(): void;
21
+ _onWindowResize(): void;
22
+ constructor(elementRef: ElementRef<HTMLElement>, renderer: Renderer2);
23
+ ngAfterViewInit(): void;
24
+ ngOnDestroy(): void;
25
+ private placePopoverAboveClosestModal;
26
+ private preventEvent;
27
+ private preventScroll;
28
+ private releaseScroll;
29
+ show(): void;
30
+ hide(): void;
31
+ private positionWrapper;
32
+ private positionHorizontally;
33
+ private positionVertically;
34
+ }
@@ -29,6 +29,7 @@ export declare class DesignTokenHelper {
29
29
  static fatFingerSize(): string;
30
30
  static getElevation(z: keyof typeof styles.elevations): string;
31
31
  static itemHeight(key: keyof typeof styles.itemHeights): string;
32
+ static zLayer(key: keyof typeof styles.zLayers): string;
32
33
  }
33
34
  export declare type ThemeColorExtended = ThemeColor | 'black' | 'semi-light' | 'semi-dark' | 'background-color';
34
35
  export declare type ThemeColorVariant = 'tint' | 'shade' | 'contrast';
@@ -48,6 +48,7 @@ export declare const styles: {
48
48
  default: string;
49
49
  segmentBadge: string;
50
50
  dropdown: string;
51
+ popover: string;
51
52
  modalOverlay: string;
52
53
  modal: string;
53
54
  loadingOverlay: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kirbydesign/designsystem",
3
- "version": "4.0.1",
3
+ "version": "4.0.2",
4
4
  "dependencies": {
5
5
  "chart.js": "3.3.2",
6
6
  "chartjs-plugin-annotation": "1.0.2",
@@ -71,6 +71,7 @@ $z-layers: (
71
71
  default: 1,
72
72
  segmentBadge: 2,
73
73
  dropdown: 800,
74
+ popover: 850,
74
75
  modal-overlay: 900,
75
76
  modal: 901,
76
77
  loading-overlay: 1001,
@@ -37,20 +37,21 @@ export { MockLoadingOverlayComponent as ɵbg } from './lib/components/mock.loadi
37
37
  export { MockModalFooterComponent as ɵbi } from './lib/components/mock.modal-footer.component';
38
38
  export { MockPageFooterComponent as ɵbj } from './lib/components/mock.page-footer.component';
39
39
  export { MockPageActionsComponent as ɵbr, MockPageActionsDirective as ɵbm, MockPageComponent as ɵbs, MockPageContentComponent as ɵbq, MockPageContentDirective as ɵbn, MockPageProgressComponent as ɵbo, MockPageTitleComponent as ɵbp, MockPageTitleDirective as ɵbk, MockPageToolbarTitleDirective as ɵbl } from './lib/components/mock.page.component';
40
- export { MockProgressCircleComponent as ɵbt } from './lib/components/mock.progress-circle.component';
41
- export { MockRadioGroupComponent as ɵbu } from './lib/components/mock.radio-group.component';
42
- export { MockRadioComponent as ɵbv } from './lib/components/mock.radio.component';
43
- export { MockRangeComponent as ɵbw } from './lib/components/mock.range.component';
44
- export { MockReorderListComponent as ɵbx } from './lib/components/mock.reorder-list.component';
45
- export { MockRouterOutletComponent as ɵby } from './lib/components/mock.router-outlet.component';
46
- export { MockSegmentedControlComponent as ɵbz } from './lib/components/mock.segmented-control.component';
47
- export { MockSlideButtonComponent as ɵca } from './lib/components/mock.slide-button.component';
48
- export { MockSpinnerComponent as ɵcb } from './lib/components/mock.spinner.component';
49
- export { MockTabButtonComponent as ɵcc } from './lib/components/mock.tab-button.component';
50
- export { MockTabsComponent as ɵcd } from './lib/components/mock.tabs.component';
40
+ export { MockPopoverComponent as ɵbt } from './lib/components/mock.popover.component';
41
+ export { MockProgressCircleComponent as ɵbu } from './lib/components/mock.progress-circle.component';
42
+ export { MockRadioGroupComponent as ɵbv } from './lib/components/mock.radio-group.component';
43
+ export { MockRadioComponent as ɵbw } from './lib/components/mock.radio.component';
44
+ export { MockRangeComponent as ɵbx } from './lib/components/mock.range.component';
45
+ export { MockReorderListComponent as ɵby } from './lib/components/mock.reorder-list.component';
46
+ export { MockRouterOutletComponent as ɵbz } from './lib/components/mock.router-outlet.component';
47
+ export { MockSegmentedControlComponent as ɵca } from './lib/components/mock.segmented-control.component';
48
+ export { MockSlideButtonComponent as ɵcb } from './lib/components/mock.slide-button.component';
49
+ export { MockSpinnerComponent as ɵcc } from './lib/components/mock.spinner.component';
50
+ export { MockTabButtonComponent as ɵcd } from './lib/components/mock.tab-button.component';
51
+ export { MockTabsComponent as ɵce } from './lib/components/mock.tabs.component';
51
52
  export { MockTextareaComponent as ɵx } from './lib/components/mock.textarea.component';
52
- export { MockToggleButtonComponent as ɵcf } from './lib/components/mock.toggle-button.component';
53
- export { MockToggleComponent as ɵce } from './lib/components/mock.toggle.component';
54
- export { MockThemeColorDirective as ɵch } from './lib/directives/mock.theme-color.directive';
53
+ export { MockToggleButtonComponent as ɵcg } from './lib/components/mock.toggle-button.component';
54
+ export { MockToggleComponent as ɵcf } from './lib/components/mock.toggle.component';
55
+ export { MockThemeColorDirective as ɵci } from './lib/directives/mock.theme-color.directive';
55
56
  export { MOCK_COMPONENTS as ɵa } from './lib/mock-components';
56
- export { MOCK_DIRECTIVES as ɵcg } from './lib/mock-directives';
57
+ export { MOCK_DIRECTIVES as ɵch } from './lib/mock-directives';