@impartner/design-components 2.0.1 → 2.1.1

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 (155) hide show
  1. package/README.md +2 -1
  2. package/esm2022/lib/badge/badge.component.mjs +17 -1
  3. package/esm2022/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.mjs +105 -0
  4. package/esm2022/lib/datetime-picker/components/datepicker-nav/index.mjs +2 -0
  5. package/esm2022/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.mjs +30 -0
  6. package/esm2022/lib/datetime-picker/components/datepicker-template-host/index.mjs +2 -0
  7. package/esm2022/lib/datetime-picker/components/datetime-picker/datetime-picker.component.mjs +370 -0
  8. package/esm2022/lib/datetime-picker/components/datetime-picker/index.mjs +2 -0
  9. package/esm2022/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.mjs +367 -0
  10. package/esm2022/lib/datetime-picker/components/datetime-picker-input/index.mjs +2 -0
  11. package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.mjs +68 -0
  12. package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/index.mjs +2 -0
  13. package/esm2022/lib/datetime-picker/components/index.mjs +6 -0
  14. package/esm2022/lib/datetime-picker/constants/datetime-picker-defaults.mjs +12 -0
  15. package/esm2022/lib/datetime-picker/constants/index.mjs +2 -0
  16. package/esm2022/lib/datetime-picker/datetime-picker.module.mjs +22 -0
  17. package/esm2022/lib/datetime-picker/index.mjs +4 -0
  18. package/esm2022/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.mjs +40 -0
  19. package/esm2022/lib/datetime-picker/services/datetime-formatter/index.mjs +2 -0
  20. package/esm2022/lib/datetime-picker/services/index.mjs +2 -0
  21. package/esm2022/lib/datetime-picker/types/datetime-picker-value.interface.mjs +2 -0
  22. package/esm2022/lib/datetime-picker/types/index.mjs +2 -0
  23. package/esm2022/lib/design-components.module.mjs +20 -7
  24. package/esm2022/lib/form-field/component/directives/corner-hint.directive.mjs +15 -0
  25. package/esm2022/lib/form-field/component/directives/error.directive.mjs +27 -0
  26. package/esm2022/lib/form-field/component/directives/form-root.directive.mjs +93 -0
  27. package/esm2022/lib/form-field/component/directives/hint.directive.mjs +25 -0
  28. package/esm2022/lib/form-field/component/directives/index.mjs +25 -0
  29. package/esm2022/lib/form-field/component/directives/label.directive.mjs +15 -0
  30. package/esm2022/lib/form-field/component/directives/prefix.directive.mjs +25 -0
  31. package/esm2022/lib/form-field/component/directives/suffix.directive.mjs +25 -0
  32. package/esm2022/lib/form-field/component/form-field.component.mjs +131 -0
  33. package/esm2022/lib/form-field/component/form-field.module.mjs +24 -0
  34. package/esm2022/lib/form-field/component/index.mjs +4 -0
  35. package/esm2022/lib/form-field/controls/checkbox/checkbox.component.mjs +14 -6
  36. package/esm2022/lib/form-field/controls/checkbox/checkbox.module.mjs +4 -7
  37. package/esm2022/lib/form-field/controls/index.mjs +2 -1
  38. package/esm2022/lib/form-field/controls/input/input.directive.mjs +4 -3
  39. package/esm2022/lib/form-field/controls/radio/radio-button/radio-button.component.mjs +6 -4
  40. package/esm2022/lib/form-field/controls/radio/radio-group/radio-group.directive.mjs +4 -3
  41. package/esm2022/lib/form-field/controls/radio/radio.module.mjs +4 -7
  42. package/esm2022/lib/form-field/controls/select/index.mjs +6 -3
  43. package/esm2022/lib/form-field/controls/select/interfaces/index.mjs +2 -0
  44. package/esm2022/lib/form-field/controls/select/interfaces/select-option.interface.mjs +2 -0
  45. package/esm2022/lib/form-field/controls/select/option/index.mjs +2 -2
  46. package/esm2022/lib/form-field/controls/select/option/select-option.component.mjs +33 -128
  47. package/esm2022/lib/form-field/controls/select/option-display/index.mjs +2 -0
  48. package/esm2022/lib/form-field/controls/select/option-display/select-option-display.component.mjs +162 -0
  49. package/esm2022/lib/form-field/controls/select/option-group/index.mjs +2 -0
  50. package/esm2022/lib/form-field/controls/select/option-group/select-option-group.component.mjs +35 -0
  51. package/esm2022/lib/form-field/controls/select/option-parent.mjs +2 -1
  52. package/esm2022/lib/form-field/controls/select/select.component.mjs +348 -148
  53. package/esm2022/lib/form-field/controls/select/select.module.mjs +20 -13
  54. package/esm2022/lib/form-field/controls/select/value-tags-display/index.mjs +2 -0
  55. package/esm2022/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.mjs +91 -0
  56. package/esm2022/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.mjs +3 -3
  57. package/esm2022/lib/form-field/controls/shared/toggle/toggle.component.mjs +19 -3
  58. package/esm2022/lib/form-field/controls/shared/toggle/toggle.module.mjs +4 -6
  59. package/esm2022/lib/form-field/controls/tag-select/index.mjs +2 -0
  60. package/esm2022/lib/form-field/controls/tag-select/tag-select.component.mjs +146 -0
  61. package/esm2022/lib/form-field/impdc-forms.mjs +2 -3
  62. package/esm2022/lib/form-field/impdc-forms.module.mjs +32 -47
  63. package/esm2022/lib/form-field/shared/error-state.mixin.mjs +1 -1
  64. package/esm2022/lib/icon/icon.component.mjs +12 -5
  65. package/esm2022/lib/index.mjs +3 -1
  66. package/esm2022/lib/pagination/pagination.component.mjs +6 -6
  67. package/esm2022/lib/select-icon/select-icon.component.mjs +6 -6
  68. package/esm2022/lib/select-icon/select-icon.module.mjs +5 -1
  69. package/esm2022/lib/table/containers/table.component.mjs +3 -3
  70. package/esm2022/lib/tag/index.mjs +2 -0
  71. package/esm2022/lib/tag/tag.component.mjs +104 -0
  72. package/esm2022/lib/text-highlight/text-highlight.component.mjs +52 -37
  73. package/esm2022/lib/text-highlight/text-highlight.module.mjs +4 -6
  74. package/fesm2022/impartner-design-components.mjs +5620 -3983
  75. package/fesm2022/impartner-design-components.mjs.map +1 -1
  76. package/lib/badge/badge.component.d.ts +15 -1
  77. package/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.d.ts +31 -0
  78. package/lib/datetime-picker/components/datepicker-nav/index.d.ts +1 -0
  79. package/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.d.ts +14 -0
  80. package/lib/datetime-picker/components/datepicker-template-host/index.d.ts +1 -0
  81. package/lib/datetime-picker/components/datetime-picker/datetime-picker.component.d.ts +157 -0
  82. package/lib/datetime-picker/components/datetime-picker/index.d.ts +1 -0
  83. package/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.d.ts +160 -0
  84. package/lib/datetime-picker/components/datetime-picker-input/index.d.ts +1 -0
  85. package/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.d.ts +24 -0
  86. package/lib/datetime-picker/components/datetime-picker-input-footer/index.d.ts +1 -0
  87. package/lib/datetime-picker/components/index.d.ts +5 -0
  88. package/lib/datetime-picker/constants/datetime-picker-defaults.d.ts +4 -0
  89. package/lib/datetime-picker/constants/index.d.ts +1 -0
  90. package/lib/datetime-picker/datetime-picker.module.d.ts +8 -0
  91. package/lib/datetime-picker/index.d.ts +4 -0
  92. package/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.d.ts +20 -0
  93. package/lib/datetime-picker/services/datetime-formatter/index.d.ts +1 -0
  94. package/lib/datetime-picker/services/index.d.ts +1 -0
  95. package/lib/datetime-picker/types/datetime-picker-value.interface.d.ts +5 -0
  96. package/lib/datetime-picker/types/index.d.ts +1 -0
  97. package/lib/design-components.module.d.ts +14 -12
  98. package/lib/form-field/{directives → component/directives}/corner-hint.directive.d.ts +1 -1
  99. package/lib/form-field/{directives → component/directives}/error.directive.d.ts +1 -1
  100. package/lib/form-field/{directives → component/directives}/form-root.directive.d.ts +2 -2
  101. package/lib/form-field/{directives → component/directives}/hint.directive.d.ts +1 -1
  102. package/lib/form-field/component/directives/index.d.ts +15 -0
  103. package/lib/form-field/{directives → component/directives}/label.directive.d.ts +1 -1
  104. package/lib/form-field/{directives → component/directives}/prefix.directive.d.ts +1 -1
  105. package/lib/form-field/{directives → component/directives}/suffix.directive.d.ts +1 -1
  106. package/lib/form-field/{form-field.component.d.ts → component/form-field.component.d.ts} +3 -5
  107. package/lib/form-field/component/form-field.module.d.ts +14 -0
  108. package/lib/form-field/component/index.d.ts +3 -0
  109. package/lib/form-field/controls/checkbox/checkbox.component.d.ts +6 -2
  110. package/lib/form-field/controls/checkbox/checkbox.module.d.ts +1 -3
  111. package/lib/form-field/controls/index.d.ts +1 -0
  112. package/lib/form-field/controls/input/input.directive.d.ts +2 -2
  113. package/lib/form-field/controls/radio/radio-button/radio-button.component.d.ts +1 -1
  114. package/lib/form-field/controls/radio/radio-group/radio-group.directive.d.ts +2 -2
  115. package/lib/form-field/controls/radio/radio.module.d.ts +1 -3
  116. package/lib/form-field/controls/select/index.d.ts +6 -2
  117. package/lib/form-field/controls/select/interfaces/index.d.ts +1 -0
  118. package/lib/form-field/controls/select/interfaces/select-option.interface.d.ts +6 -0
  119. package/lib/form-field/controls/select/option/index.d.ts +1 -1
  120. package/lib/form-field/controls/select/option/select-option.component.d.ts +10 -49
  121. package/lib/form-field/controls/select/option-display/index.d.ts +1 -0
  122. package/lib/form-field/controls/select/option-display/select-option-display.component.d.ts +64 -0
  123. package/lib/form-field/controls/select/option-group/index.d.ts +1 -0
  124. package/lib/form-field/controls/select/option-group/select-option-group.component.d.ts +11 -0
  125. package/lib/form-field/controls/select/option-parent.d.ts +12 -1
  126. package/lib/form-field/controls/select/select.component.d.ts +113 -51
  127. package/lib/form-field/controls/select/select.module.d.ts +5 -6
  128. package/lib/form-field/controls/select/value-tags-display/index.d.ts +1 -0
  129. package/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.d.ts +46 -0
  130. package/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.d.ts +1 -1
  131. package/lib/form-field/controls/shared/toggle/toggle.component.d.ts +4 -1
  132. package/lib/form-field/controls/shared/toggle/toggle.module.d.ts +1 -2
  133. package/lib/form-field/controls/tag-select/index.d.ts +1 -0
  134. package/lib/form-field/controls/tag-select/tag-select.component.d.ts +43 -0
  135. package/lib/form-field/impdc-forms.d.ts +1 -2
  136. package/lib/form-field/impdc-forms.module.d.ts +8 -14
  137. package/lib/form-field/shared/error-state.mixin.d.ts +4 -4
  138. package/lib/icon/icon.component.d.ts +5 -3
  139. package/lib/index.d.ts +2 -0
  140. package/lib/select-icon/select-icon.module.d.ts +4 -3
  141. package/lib/tag/index.d.ts +1 -0
  142. package/lib/tag/tag.component.d.ts +54 -0
  143. package/lib/text-highlight/text-highlight.component.d.ts +12 -6
  144. package/lib/text-highlight/text-highlight.module.d.ts +1 -2
  145. package/package.json +2 -2
  146. package/esm2022/lib/form-field/directives/corner-hint.directive.mjs +0 -14
  147. package/esm2022/lib/form-field/directives/error.directive.mjs +0 -26
  148. package/esm2022/lib/form-field/directives/form-root.directive.mjs +0 -91
  149. package/esm2022/lib/form-field/directives/hint.directive.mjs +0 -24
  150. package/esm2022/lib/form-field/directives/index.mjs +0 -8
  151. package/esm2022/lib/form-field/directives/label.directive.mjs +0 -14
  152. package/esm2022/lib/form-field/directives/prefix.directive.mjs +0 -24
  153. package/esm2022/lib/form-field/directives/suffix.directive.mjs +0 -24
  154. package/esm2022/lib/form-field/form-field.component.mjs +0 -132
  155. package/lib/form-field/directives/index.d.ts +0 -7
@@ -1,22 +1,26 @@
1
- import { AfterContentInit, AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
2
- import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
3
- import { NgbDropdown, NgbDropdownMenu } from '@ng-bootstrap/ng-bootstrap';
4
- import { BooleanInput } from '../../../../utilities';
1
+ import { AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor, FormControl, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
3
+ import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';
5
4
  import { Observable, Subject } from 'rxjs';
5
+ import { ComponentTheme } from '../../../../types';
6
6
  import { ErrorStateMatcher } from '../../services';
7
- import { ImpdcFormRoot } from '../../directives';
7
+ import { ImpdcFormRoot } from '../../component';
8
8
  import { CanDisable, HasTabIndex, ICanUpdateErrorState, IHasErrorState, ImpdcFormFieldControl } from '../../shared';
9
- import { SelectOptionSelectionChangeEvent, SelectOptionComponent } from './option/select-option.component';
9
+ import { ISelectOptionParentComponent, ISelectValueBadgesParentComponent } from './option-parent';
10
+ import { SelectOptionSelectionChangeEvent, SelectOptionDisplayComponent } from './option-display';
10
11
  import { SelectModel } from './select-model';
12
+ import { SelectOptionComponent } from './option';
13
+ import { ISelectOption } from './interfaces';
11
14
  import * as i0 from "@angular/core";
12
- export declare class SelectChangeEvent {
15
+ export declare const ON_OPEN_AUTO_SCROLL_TIMEOUT_MS = 50;
16
+ export declare class SelectChangeEvent<TComponent> {
13
17
  /** The specific SelectComponent that changed. */
14
- readonly source: SelectComponent;
18
+ readonly source: TComponent;
15
19
  /** The selected value(s) */
16
20
  readonly value: any;
17
21
  constructor(
18
22
  /** The specific SelectComponent that changed. */
19
- source: SelectComponent,
23
+ source: TComponent,
20
24
  /** The selected value(s) */
21
25
  value: any);
22
26
  }
@@ -39,38 +43,53 @@ export declare function getImpdcSelectNonFunctionValueError(): Error;
39
43
  * @ignore
40
44
  */
41
45
  export declare function getImpdcSelectDynamicMultipleError(): Error;
42
- declare const _SelectComponentBase: import("../../shared").Constructor<HasTabIndex> & import("../../shared").AbstractConstructor<HasTabIndex> & import("../../shared").Constructor<CanDisable> & import("../../shared").AbstractConstructor<CanDisable> & import("../../shared").Constructor<ICanUpdateErrorState> & import("../../shared").AbstractConstructor<ICanUpdateErrorState> & {
43
- new (_defaultErrorStateMatcher: ErrorStateMatcher, _formRoot: ImpdcFormRoot, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, ngControl: NgControl | null): {
46
+ interface IRenderedSelectOption extends ISelectOption {
47
+ readonly selected?: boolean;
48
+ readonly showGroupLabel?: boolean;
49
+ }
50
+ declare const __SelectComponentBase: import("../../shared").Constructor<HasTabIndex> & import("../../shared").AbstractConstructor<HasTabIndex> & import("../../shared").Constructor<CanDisable> & import("../../shared").AbstractConstructor<CanDisable> & import("../../shared").Constructor<ICanUpdateErrorState> & import("../../shared").AbstractConstructor<ICanUpdateErrorState> & {
51
+ new (_defaultErrorStateMatcher: ErrorStateMatcher, _formRoot: ImpdcFormRoot | null, _parentForm: NgForm | null, _parentFormGroup: FormGroupDirective | null, ngControl: NgControl | null): {
44
52
  readonly stateChanges: Subject<void>;
45
53
  _defaultErrorStateMatcher: ErrorStateMatcher;
46
- _formRoot: ImpdcFormRoot;
47
- _parentForm: NgForm;
48
- _parentFormGroup: FormGroupDirective;
54
+ _formRoot: ImpdcFormRoot | null;
55
+ _parentForm: NgForm | null;
56
+ _parentFormGroup: FormGroupDirective | null;
49
57
  ngControl: NgControl | null;
50
58
  };
51
59
  };
52
- /**
53
- * The `SelectComponent` (`<impdc-select`) is a select-style dropdown input where an item (or multiple items) can be picked
54
- * from a list of available options. This component can be used within a `FormFieldComponent` (`<impdc-form-field`).
55
- * To use, import `SelectModule` or another module that imports and exports that module from `@impartner/design-components`.
56
- */
57
- export declare class SelectComponent extends _SelectComponentBase implements OnInit, AfterContentInit, AfterViewInit, OnChanges, DoCheck, OnDestroy, ControlValueAccessor, HasTabIndex, ImpdcFormFieldControl<any>, CanDisable, ICanUpdateErrorState, IHasErrorState {
58
- private readonly _changeDetector;
59
- protected readonly _ngZone: NgZone;
60
- /** @ignore */
61
- options: QueryList<SelectOptionComponent>;
62
- protected _ngbDropdown: NgbDropdown;
63
- protected _ngbDropdownMenu: NgbDropdownMenu;
64
- protected _toggleButtonRef: ElementRef<HTMLButtonElement>;
65
- /** @ignore */
66
- readonly optionSelectionChanges: Observable<SelectOptionSelectionChangeEvent>;
67
- protected readonly _uid: string;
68
- protected _selectionModel: SelectModel<SelectOptionComponent>;
60
+ export declare abstract class _SelectComponentBase extends __SelectComponentBase implements ISelectOptionParentComponent, OnInit, AfterViewInit, OnChanges, DoCheck, OnDestroy, ControlValueAccessor, HasTabIndex, ImpdcFormFieldControl<any>, CanDisable, ICanUpdateErrorState, IHasErrorState {
61
+ protected staticOptions: QueryList<SelectOptionComponent>;
62
+ protected options: QueryList<SelectOptionDisplayComponent>;
63
+ protected ngbDropdown: NgbDropdown;
64
+ protected toggleButtonRef?: ElementRef<HTMLElement>;
65
+ protected searchInputRef?: ElementRef<HTMLInputElement>;
69
66
  private readonly _ngDestroy;
67
+ private readonly _searchSubject;
70
68
  private _previousControl?;
71
69
  private _compareWith;
72
70
  private _cvaOnChange;
73
71
  private _cvaOnTouched;
72
+ protected readonly uid: string;
73
+ protected readonly changeDetector: ChangeDetectorRef;
74
+ protected readonly ngZone: NgZone;
75
+ protected readonly searchControl: FormControl<string | null>;
76
+ protected readonly BadgeTheme: typeof ComponentTheme;
77
+ protected readonly filteredOptions$: Observable<IRenderedSelectOption[]>;
78
+ protected selectionModel: SelectModel<ISelectOption>;
79
+ protected activeIndex: number;
80
+ /** @ignore */
81
+ readonly optionSelectionChanges: Observable<SelectOptionSelectionChangeEvent>;
82
+ /**
83
+ * Set whether or not an input field will appear for searching and
84
+ * filtering visible options.
85
+ *
86
+ * - `'none'`: No search control will be displayed, and all select options are provided via projected `<impdc-select-option>` elements.
87
+ * - `'static'`: A search control will be displayed, select options are provided via projected `<impdc-select-option>` elements, and
88
+ * filtering is performed against the `[label]` attribute value.
89
+ * @default 'none'
90
+ */
91
+ get search(): 'none' | 'static';
92
+ set search(value: 'none' | 'static');
74
93
  /**
75
94
  * The placeholder text that will be displayed when no selection has been made.
76
95
  *
@@ -78,50 +97,58 @@ export declare class SelectComponent extends _SelectComponentBase implements OnI
78
97
  */
79
98
  get placeholder(): string;
80
99
  set placeholder(value: string);
81
- private _placeholder;
100
+ protected _placeholder: string;
82
101
  /**
83
102
  * Used to set requiredness of control in a template-based manner;
84
103
  * not necessary when using the Angular reactive forms API and `required` validator.
85
104
  */
86
105
  get required(): boolean;
87
- set required(value: BooleanInput);
106
+ set required(value: boolean);
88
107
  private _required;
89
108
  /**
90
- * Sets whether the control is a single-select or multiple-select. Cannot be changed after component initialization.
109
+ * Whether the control is a single-select or multiple-select. Cannot be changed after component initialization.
91
110
  */
92
111
  get multiple(): boolean;
93
- set multiple(value: BooleanInput);
94
112
  protected _multiple: boolean;
95
113
  /**
96
114
  * Function used to compare option values with selected values. The first arg is a
97
- * value from an option, and the second arg is a value from the selection.
115
+ * `value` from an option, and the second arg is a `value` from the selection or another option.
98
116
  *
99
117
  * @returns Boolean indicating if the values are equivalent.
100
118
  */
101
119
  get compareWith(): (a: any, b: any) => boolean;
102
120
  set compareWith(fn: (a: any, b: any) => boolean);
121
+ /**
122
+ * Document element that the select dropdown will be attached to in the DOM - either the
123
+ * document's `<body>` tag, or as a child of the component tag.
124
+ *
125
+ * The default value (`'body'`) is generally the correct choice, and should only be
126
+ * overridden when absolutely certain that the result behavior is what's desired.
127
+ */
128
+ dropdownContainer: 'body' | null;
103
129
  errorStateMatcher: ErrorStateMatcher;
104
130
  /** Events fire when selection has been changed by the user. */
105
- readonly selectionChange: EventEmitter<SelectChangeEvent>;
131
+ readonly selectionChange: EventEmitter<SelectChangeEvent<this>>;
106
132
  /**
107
133
  * Events fire when raw value of select changes. Mainly exists to handle
108
134
  * two-way binding of `value` input property.
109
135
  * @ignore
110
136
  */
111
137
  readonly valueChange: EventEmitter<any>;
138
+ /**
139
+ * Events fire when the text value of the option search input control has changed.
140
+ */
141
+ readonly searchTextChanges: Observable<string | null>;
142
+ constructor(uid: string, tabIndex?: string);
112
143
  get dropdownOpen(): boolean;
113
- constructor(_changeDetector: ChangeDetectorRef, _ngZone: NgZone, tabIndex: string, _defaultErrorStateMatcher: ErrorStateMatcher, _formRoot: ImpdcFormRoot, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, ngControl: NgControl);
114
144
  get empty(): boolean;
115
- get displayedValue(): string;
116
- get selected(): SelectOptionComponent | SelectOptionComponent[];
145
+ get selected(): ISelectOption | ISelectOption[];
117
146
  /** @ignore */
118
147
  focus(options?: FocusOptions): void;
119
- protected _handleOpenChange(isOpen: boolean): void;
148
+ protected handleOpenChange(isOpen: boolean): void;
120
149
  /** @ignore */
121
150
  ngOnInit(): void;
122
151
  /** @ignore */
123
- ngAfterContentInit(): void;
124
- /** @ignore */
125
152
  ngAfterViewInit(): void;
126
153
  /** @ignore */
127
154
  ngDoCheck(): void;
@@ -129,8 +156,8 @@ export declare class SelectComponent extends _SelectComponentBase implements OnI
129
156
  ngOnChanges(changes: SimpleChanges): void;
130
157
  /** @ignore */
131
158
  ngOnDestroy(): void;
132
- readonly controlType: string;
133
- readonly supportsAffixes: boolean;
159
+ abstract readonly controlType: string;
160
+ abstract readonly supportsAffixes: boolean;
134
161
  get value(): any;
135
162
  set value(value: any);
136
163
  protected _value: any;
@@ -147,11 +174,16 @@ export declare class SelectComponent extends _SelectComponentBase implements OnI
147
174
  registerOnTouched(fn: () => {}): void;
148
175
  /** @ignore */
149
176
  setDisabledState(isDisabled: boolean): void;
150
- protected _onFocus(): void;
177
+ protected onFocus(): void;
151
178
  /**
152
179
  * Calls the CVA touched callback only if the dropdown is closed.
153
180
  */
154
- protected _onBlur(): void;
181
+ protected onBlur(): void;
182
+ protected clearSelection(): void;
183
+ protected handleSearchSubmit(evt: Event): void;
184
+ protected handleSearchUpDown(evt: Event, direction: 'up' | 'down'): void;
185
+ protected markActive(index: number): void;
186
+ protected selectedIsSingle(selected: ISelectOption | ISelectOption[]): selected is ISelectOption;
155
187
  private _initializeSelection;
156
188
  private _setSelectionByValue;
157
189
  private _selectOptionByValue;
@@ -162,9 +194,39 @@ export declare class SelectComponent extends _SelectComponentBase implements OnI
162
194
  private _resetOptions;
163
195
  private _onSelect;
164
196
  private _sortValues;
165
- private _propagateChanges;
166
- private _buildChangeEvent;
167
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, [null, null, { attribute: "tabindex"; }, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; self: true; }]>;
168
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "impdc-select", ["impdcSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["options"], ["*"], false, never>;
197
+ protected _propagateChanges(fallbackValue?: any): void;
198
+ protected _buildChangeEvent(value: any): SelectChangeEvent<this>;
199
+ /** @ignore */
200
+ protected _deselectOption(option: ISelectOption, markTouched?: boolean): void;
201
+ private _scrollToSelectedOption;
202
+ static ɵfac: i0.ɵɵFactoryDeclaration<_SelectComponentBase, never>;
203
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_SelectComponentBase, never, never, { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "searchTextChanges": "searchTextChanges"; }, ["staticOptions"], never, false, never>;
204
+ }
205
+ /**
206
+ * The `SelectComponent` (`<impdc-select`) is a select-style dropdown input where an item (or multiple items) can be picked
207
+ * from a list of *unique* available options. This component can be used within a `FormFieldComponent` (`<impdc-form-field`).
208
+ * To use, add `SelectModule` to the `imports` array of the relevant `NgModule` or standalone component.
209
+ */
210
+ export declare class SelectComponent extends _SelectComponentBase implements ISelectValueBadgesParentComponent {
211
+ readonly controlType: string;
212
+ readonly supportsAffixes: boolean;
213
+ constructor(tabIndex?: string);
214
+ /**
215
+ * Allow the user to click a button inside of the select control and clear their selection(s);
216
+ *
217
+ * @default true
218
+ */
219
+ allowClear: boolean;
220
+ get multiple(): boolean;
221
+ set multiple(value: boolean);
222
+ multipleDisplay: 'inside' | 'outside';
223
+ /** @ignore */
224
+ deselectOption(option: ISelectOption): void;
225
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, [{ attribute: "tabindex"; }]>;
226
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "impdc-select", ["impdcSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "search": { "alias": "search"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "dropdownContainer": { "alias": "dropdownContainer"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "multipleDisplay": { "alias": "multipleDisplay"; "required": false; }; }, { "selectionChange": "selectionChange"; "valueChange": "valueChange"; "searchTextChanges": "searchTextChanges"; }, never, never, true, never>;
227
+ static ngAcceptInputType_tabIndex: unknown;
228
+ static ngAcceptInputType_required: unknown;
229
+ static ngAcceptInputType_allowClear: unknown;
230
+ static ngAcceptInputType_multiple: unknown;
169
231
  }
170
232
  export {};
@@ -1,11 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./option/select-option.component";
3
- import * as i2 from "./select.component";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@ng-bootstrap/ng-bootstrap";
6
- import * as i5 from "../../../icon/icon.module";
2
+ import * as i1 from "./option-group/select-option-group.component";
3
+ import * as i2 from "./option/select-option.component";
4
+ import * as i3 from "./value-tags-display/select-value-tags-display.component";
5
+ import * as i4 from "./select.component";
7
6
  export declare class SelectModule {
8
7
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, [typeof i1.SelectOptionComponent, typeof i2.SelectComponent], [typeof i3.CommonModule, typeof i4.NgbDropdownModule, typeof i5.IconModule], [typeof i4.NgbDropdownModule, typeof i5.IconModule, typeof i1.SelectOptionComponent, typeof i2.SelectComponent]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SelectModule, never, [typeof i1.SelectOptionGroupComponent, typeof i2.SelectOptionComponent, typeof i3.SelectValueTagsDisplayComponent, typeof i4.SelectComponent], [typeof i1.SelectOptionGroupComponent, typeof i2.SelectOptionComponent, typeof i3.SelectValueTagsDisplayComponent, typeof i4.SelectComponent]>;
10
9
  static ɵinj: i0.ɵɵInjectorDeclaration<SelectModule>;
11
10
  }
@@ -0,0 +1 @@
1
+ export * from './select-value-tags-display.component';
@@ -0,0 +1,46 @@
1
+ import { OnChanges, OnDestroy, OnInit } from '@angular/core';
2
+ import { ISelectValueBadgesParentComponent } from '../option-parent';
3
+ import { ComponentTheme } from '../../../../../types';
4
+ import { ISelectOption } from '../interfaces';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SelectValueTagsDisplayComponent implements OnInit, OnChanges, OnDestroy {
7
+ private readonly _changeDetector;
8
+ private readonly _parentSelect;
9
+ private readonly _destroy$;
10
+ protected readonly BadgeTheme: typeof ComponentTheme;
11
+ protected truncate: boolean;
12
+ rounded: boolean;
13
+ get select(): ISelectValueBadgesParentComponent | null;
14
+ set select(value: ISelectValueBadgesParentComponent | null);
15
+ private _select;
16
+ protected get resolvedSelect(): ISelectValueBadgesParentComponent | null;
17
+ /**
18
+ * Render the control is a readonly state.
19
+ *
20
+ * Semantically distinct from `disabled`, `readonly` controls will still have their values bound in
21
+ * Angular forms and `FormGroup`s, whereas a disabled control's value would be omitted.
22
+ */
23
+ readonly: boolean;
24
+ /**
25
+ * The maximum number of values that will be displayed inline before truncation occurs.
26
+ */
27
+ truncateThreshold: number | undefined;
28
+ /**
29
+ * Text to be shown when displayed values are truncated, allowing the user to view all selected values.
30
+ */
31
+ showMoreLabel: string;
32
+ /**
33
+ * Text to be shown when displayed values have been expanded beyond the truncation threshold, allowing
34
+ * the user collapse the view again.
35
+ */
36
+ showLessLabel: string;
37
+ ngOnInit(): void;
38
+ ngOnChanges(): void;
39
+ ngOnDestroy(): void;
40
+ protected toggleTruncate(): void;
41
+ protected observeStateChanges(select: ISelectValueBadgesParentComponent): void;
42
+ protected selectedIsMultiple(selected: ISelectOption | ISelectOption[]): selected is ISelectOption[];
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectValueTagsDisplayComponent, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectValueTagsDisplayComponent, "impdc-select-value-tags-display", never, { "rounded": { "alias": "rounded"; "required": false; }; "select": { "alias": "select"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "truncateThreshold": { "alias": "truncateThreshold"; "required": false; }; "showMoreLabel": { "alias": "showMoreLabel"; "required": false; }; "showLessLabel": { "alias": "showLessLabel"; "required": false; }; }, {}, never, ["*"], true, never>;
45
+ static ngAcceptInputType_rounded: unknown;
46
+ }
@@ -2,5 +2,5 @@ import * as i0 from "@angular/core";
2
2
  export declare class ToggleInputComponent {
3
3
  classFormCheck: boolean;
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<ToggleInputComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<ToggleInputComponent, "input[impdc-toggle-input]", never, {}, {}, never, never, false, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToggleInputComponent, "input[impdc-toggle-input]", never, {}, {}, never, never, true, never>;
6
6
  }
@@ -8,6 +8,7 @@ export declare class ToggleComponent implements AfterViewChecked {
8
8
  description: string;
9
9
  inline: boolean;
10
10
  switchIcons: boolean;
11
+ layout: 'check-start' | 'check-end';
11
12
  branded: boolean;
12
13
  private classDefaults;
13
14
  private get classHasDescription();
@@ -15,6 +16,8 @@ export declare class ToggleComponent implements AfterViewChecked {
15
16
  private get classFormCheckInline();
16
17
  private get classFormSwitchIcons();
17
18
  private get classBranded();
19
+ private get classFlexRowReverse();
20
+ private get classJustifyContentEnd();
18
21
  inputRef?: ElementRef<HTMLInputElement>;
19
22
  get id(): string;
20
23
  get isCheckbox(): boolean;
@@ -22,5 +25,5 @@ export declare class ToggleComponent implements AfterViewChecked {
22
25
  constructor(changeDetectorRef: ChangeDetectorRef);
23
26
  ngAfterViewChecked(): void;
24
27
  static ɵfac: i0.ɵɵFactoryDeclaration<ToggleComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<ToggleComponent, "impdc-toggle", never, { "isSwitch": { "alias": "isSwitch"; "required": false; }; "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "switchIcons": { "alias": "switchIcons"; "required": false; }; }, {}, ["inputRef"], ["[impdc-toggle-input]"], false, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToggleComponent, "impdc-toggle", never, { "isSwitch": { "alias": "isSwitch"; "required": false; }; "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "switchIcons": { "alias": "switchIcons"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; }, {}, ["inputRef"], ["[impdc-toggle-input]"], true, never>;
26
29
  }
@@ -1,10 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./toggle.component";
3
3
  import * as i2 from "./components/toggle-input/toggle-input.component";
4
- import * as i3 from "@angular/common";
5
4
  export declare class ToggleModule {
6
5
  constructor();
7
6
  static ɵfac: i0.ɵɵFactoryDeclaration<ToggleModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<ToggleModule, [typeof i1.ToggleComponent, typeof i2.ToggleInputComponent], [typeof i3.CommonModule], [typeof i1.ToggleComponent, typeof i2.ToggleInputComponent]>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ToggleModule, never, [typeof i1.ToggleComponent, typeof i2.ToggleInputComponent], [typeof i1.ToggleComponent, typeof i2.ToggleInputComponent]>;
9
8
  static ɵinj: i0.ɵɵInjectorDeclaration<ToggleModule>;
10
9
  }
@@ -0,0 +1 @@
1
+ export * from './tag-select.component';
@@ -0,0 +1,43 @@
1
+ import { _SelectComponentBase } from '../select/select.component';
2
+ import { ISelectOption, ISelectValueBadgesParentComponent } from '../select';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * The `TagSelectComponent` (`<impdc-tag-select>`) is a form control where multiple "tag"-like values can
6
+ * be picked from a list of *unique* available options. This component can be used within a `FormFieldComponent`
7
+ * (`<impdc-form-field>`) component or on its own. To use, add `TagSelectComponent` to the `imports` array of
8
+ * the relevant `NgModule` or standalone component.
9
+ */
10
+ export declare class TagSelectComponent extends _SelectComponentBase implements ISelectValueBadgesParentComponent {
11
+ readonly controlType: string;
12
+ readonly supportsAffixes: boolean;
13
+ /**
14
+ * Render the control is a readonly state.
15
+ *
16
+ * Semantically distinct from `disabled`, `readonly` controls will still have their values bound in
17
+ * Angular forms and `FormGroup`s, whereas a disabled control's value would be omitted.
18
+ */
19
+ readonly: boolean;
20
+ /**
21
+ * The maximum number of values that will be displayed inline before truncation occurs.
22
+ */
23
+ truncateThreshold: number;
24
+ /**
25
+ * Text to be shown when displayed values are truncated, allowing the user to view all selected values.
26
+ */
27
+ showMoreLabel: string;
28
+ /**
29
+ * Text to be shown when displayed values have been expanded beyond the truncation threshold, allowing
30
+ * the user collapse the view again.
31
+ */
32
+ showLessLabel: string;
33
+ constructor(tabIndex?: string);
34
+ /** @ignore */
35
+ deselectOption(option: ISelectOption): void;
36
+ protected toggleDropdown(evt: Event): void;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<TagSelectComponent, [{ attribute: "tabindex"; }]>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<TagSelectComponent, "impdc-tag-select", ["impdcTagSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "search": { "alias": "search"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "dropdownContainer": { "alias": "dropdownContainer"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "truncateThreshold": { "alias": "truncateThreshold"; "required": false; }; "showMoreLabel": { "alias": "showMoreLabel"; "required": false; }; "showLessLabel": { "alias": "showLessLabel"; "required": false; }; }, { "selectionChange": "selectionChange"; "valueChange": "valueChange"; "searchTextChanges": "searchTextChanges"; }, never, never, true, never>;
39
+ static ngAcceptInputType_tabIndex: unknown;
40
+ static ngAcceptInputType_required: unknown;
41
+ static ngAcceptInputType_readonly: unknown;
42
+ static ngAcceptInputType_truncateThreshold: unknown;
43
+ }
@@ -1,7 +1,6 @@
1
+ export * from './component';
1
2
  export * from './controls';
2
- export * from './directives';
3
3
  export * from './services';
4
4
  export * from './shared';
5
5
  export * from './form-field-errors';
6
- export { IMPDC_FORM_FIELD, FormFieldComponent } from './form-field.component';
7
6
  export { ImpdcFormsModule } from './impdc-forms.module';
@@ -1,19 +1,13 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./form-field.component";
3
- import * as i2 from "./controls/input/input.directive";
4
- import * as i3 from "./directives/corner-hint.directive";
5
- import * as i4 from "./directives/error.directive";
6
- import * as i5 from "./directives/hint.directive";
7
- import * as i6 from "./directives/label.directive";
8
- import * as i7 from "./directives/prefix.directive";
9
- import * as i8 from "./directives/form-root.directive";
10
- import * as i9 from "./directives/suffix.directive";
11
- import * as i10 from "@angular/common";
12
- import * as i11 from "./controls/checkbox/checkbox.module";
13
- import * as i12 from "./controls/radio/radio.module";
14
- import * as i13 from "./controls/select/select.module";
2
+ import * as i1 from "@angular/common";
3
+ import * as i2 from "./component/form-field.module";
4
+ import * as i3 from "./controls/checkbox/checkbox.module";
5
+ import * as i4 from "./controls/radio/radio.module";
6
+ import * as i5 from "./controls/select/select.module";
7
+ import * as i6 from "./controls/tag-select/tag-select.component";
8
+ import * as i7 from "./controls/input/input.directive";
15
9
  export declare class ImpdcFormsModule {
16
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ImpdcFormsModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<ImpdcFormsModule, [typeof i1.FormFieldComponent, typeof i2.InputDirective, typeof i3.CornerHintDirective, typeof i4.ErrorDirective, typeof i5.HintDirective, typeof i6.LabelDirective, typeof i7.PrefixDirective, typeof i8.RootFormGroupDirective, typeof i8.RootNgFormDirective, typeof i9.SuffixDirective], [typeof i10.CommonModule, typeof i11.CheckboxModule, typeof i12.RadioModule, typeof i13.SelectModule], [typeof i11.CheckboxModule, typeof i12.RadioModule, typeof i13.SelectModule, typeof i1.FormFieldComponent, typeof i2.InputDirective, typeof i3.CornerHintDirective, typeof i4.ErrorDirective, typeof i5.HintDirective, typeof i6.LabelDirective, typeof i7.PrefixDirective, typeof i8.RootFormGroupDirective, typeof i8.RootNgFormDirective, typeof i9.SuffixDirective]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ImpdcFormsModule, never, [typeof i1.CommonModule, typeof i2.FormFieldModule, typeof i3.CheckboxModule, typeof i4.RadioModule, typeof i5.SelectModule, typeof i6.TagSelectComponent, typeof i7.InputDirective], [typeof i2.FormFieldModule, typeof i3.CheckboxModule, typeof i4.RadioModule, typeof i5.SelectModule, typeof i6.TagSelectComponent, typeof i7.InputDirective]>;
18
12
  static ɵinj: i0.ɵɵInjectorDeclaration<ImpdcFormsModule>;
19
13
  }
@@ -1,6 +1,6 @@
1
1
  import { FormGroupDirective, NgControl, NgForm } from '@angular/forms';
2
2
  import { Subject } from 'rxjs';
3
- import { ImpdcFormRoot } from '../directives';
3
+ import { ImpdcFormRoot } from '../component';
4
4
  import { ErrorStateMatcher } from '../services';
5
5
  import { AbstractConstructor, Constructor } from './constructors.type';
6
6
  /**
@@ -16,9 +16,9 @@ type CanUpdateErrorStateCtor = Constructor<ICanUpdateErrorState> & AbstractConst
16
16
  * @docs-private
17
17
  */
18
18
  export interface IHasErrorState {
19
- _formRoot: ImpdcFormRoot;
20
- _parentFormGroup: FormGroupDirective;
21
- _parentForm: NgForm;
19
+ _formRoot: ImpdcFormRoot | null;
20
+ _parentFormGroup: FormGroupDirective | null;
21
+ _parentForm: NgForm | null;
22
22
  _defaultErrorStateMatcher: ErrorStateMatcher;
23
23
  ngControl: NgControl | null;
24
24
  stateChanges: Subject<void>;
@@ -1,14 +1,15 @@
1
- import { AfterContentChecked, ChangeDetectorRef, ElementRef } from '@angular/core';
1
+ import { AfterContentChecked, ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
2
2
  import { FontAwesomeIcon, FontAwesomeIconTheme } from '../../constants';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * The `IconComponent` (`<impdc-icon` or `<any impdc-icon`) is an icon wrapper utilizing Font Awesome 5.
6
6
  * To use, import `IconModule` or another module that imports and exports that module from `@impartner/design-components`.
7
7
  */
8
- export declare class IconComponent implements AfterContentChecked {
8
+ export declare class IconComponent implements OnInit, AfterContentChecked {
9
9
  private _changeDetectorRef;
10
+ private static readonly _licensed$;
11
+ private readonly _licensedChanges$;
10
12
  private _loading;
11
- private _licensed;
12
13
  /**
13
14
  * The Font Awesome 5 icon name. See {@link https://fontawesome.com/v5/search}. Local
14
15
  * development may not represent the complete list of available icons.
@@ -28,6 +29,7 @@ export declare class IconComponent implements AfterContentChecked {
28
29
  constructor(_changeDetectorRef: ChangeDetectorRef);
29
30
  get typeClass(): string;
30
31
  get computedSize(): string;
32
+ ngOnInit(): void;
31
33
  ngAfterContentChecked(): void;
32
34
  static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
33
35
  static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "impdc-icon, [impdc-icon]", never, { "name": { "alias": "name"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
package/lib/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from './icon';
4
4
  export * from './branding';
5
5
  export * from './breadcrumb';
6
6
  export * from './badge';
7
+ export * from './tag';
7
8
  export * from './progress-bar';
8
9
  export * from './button';
9
10
  export * from './button-group';
@@ -23,4 +24,5 @@ export * from './scrollable';
23
24
  export * from './size-detection';
24
25
  export * from './select-icon';
25
26
  export * from './data-card';
27
+ export * from './datetime-picker';
26
28
  export { DesignComponentsModule };
@@ -2,10 +2,11 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./select-icon.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "../form-field/impdc-forms.module";
5
- import * as i4 from "@ng-bootstrap/ng-bootstrap";
6
- import * as i5 from "@angular/forms";
5
+ import * as i4 from "../icon/icon.module";
6
+ import * as i5 from "@ng-bootstrap/ng-bootstrap";
7
+ import * as i6 from "@angular/forms";
7
8
  export declare class SelectIconModule {
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectIconModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<SelectIconModule, [typeof i1.SelectIconComponent], [typeof i2.CommonModule, typeof i3.ImpdcFormsModule, typeof i4.NgbTypeaheadModule, typeof i4.NgbDropdownModule, typeof i5.ReactiveFormsModule], [typeof i1.SelectIconComponent]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SelectIconModule, [typeof i1.SelectIconComponent], [typeof i2.CommonModule, typeof i3.ImpdcFormsModule, typeof i4.IconModule, typeof i5.NgbTypeaheadModule, typeof i5.NgbDropdownModule, typeof i6.ReactiveFormsModule], [typeof i1.SelectIconComponent]>;
10
11
  static ɵinj: i0.ɵɵInjectorDeclaration<SelectIconModule>;
11
12
  }
@@ -0,0 +1 @@
1
+ export * from './tag.component';
@@ -0,0 +1,54 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { FontAwesomeIcon, FontAwesomeIconTheme } from '../../constants';
3
+ import { CanDisable, HasTabIndex } from '../form-field/shared';
4
+ import * as i0 from "@angular/core";
5
+ export type TagTheme = 'default' | 'outline' | 'inverse';
6
+ declare const _TagComponentBase: import("../form-field/shared").Constructor<HasTabIndex> & import("../form-field/shared").AbstractConstructor<HasTabIndex> & import("../form-field/shared").Constructor<CanDisable> & import("../form-field/shared").AbstractConstructor<CanDisable> & {
7
+ new (): {};
8
+ };
9
+ /**
10
+ * Tags are interactive elements that can be added to UI objects to label, categorize, organize, and filter.
11
+ * They can be added and removed by users. Tags are used in multi-select inputs.
12
+ *
13
+ * Don’t use Tags to communicate the status of an object or the result of an action (like Enabled, Deleted,
14
+ * Submitted, Error...) — use badges instead.
15
+ */
16
+ export declare class TagComponent extends _TagComponentBase implements CanDisable, HasTabIndex {
17
+ /**
18
+ * Color theme to be used when rendering the tag.
19
+ */
20
+ theme: TagTheme;
21
+ /**
22
+ * Whether to use fully rounded borders for tag, granting a "pill"-like appearance.
23
+ */
24
+ rounded: boolean;
25
+ /**
26
+ * Where to include an interactable button inside of the tag, whose interactions can be listened
27
+ * for via the `(buttonClick)` event output.
28
+ */
29
+ withButton: boolean;
30
+ /**
31
+ * The FontAwesome icon to be displayed inside of the button when `withButton` is set to `true`. Value may be
32
+ * just a icon name, or optionally an icon name and specific FontAwesome theme/face.
33
+ */
34
+ buttonIcon: FontAwesomeIcon | {
35
+ name: FontAwesomeIcon;
36
+ theme: FontAwesomeIconTheme;
37
+ };
38
+ /**
39
+ * Event output for button events triggered when `withButton` is set to `true`.
40
+ */
41
+ readonly buttonClick: EventEmitter<Event>;
42
+ get themeClass(): string | null;
43
+ constructor(tabIndex?: string);
44
+ protected get buttonIconName(): FontAwesomeIcon;
45
+ protected get buttonIconTheme(): FontAwesomeIconTheme;
46
+ protected handleButtonClick(evt: Event): void;
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<TagComponent, [{ attribute: "tabindex"; }]>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<TagComponent, "impdc-tag", ["impdcTag"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "withButton": { "alias": "withButton"; "required": false; }; "buttonIcon": { "alias": "buttonIcon"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, ["*"], true, never>;
49
+ static ngAcceptInputType_disabled: unknown;
50
+ static ngAcceptInputType_tabIndex: unknown;
51
+ static ngAcceptInputType_rounded: unknown;
52
+ static ngAcceptInputType_withButton: unknown;
53
+ }
54
+ export {};