@ieeesa-npm/presentation 0.13.2 → 0.13.5

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 (26) hide show
  1. package/esm2022/lib/assets/constants.json +8 -0
  2. package/esm2022/lib/components/color-picker/color-picker.component.mjs +157 -0
  3. package/esm2022/lib/components/data-table/data-table.component.mjs +3 -3
  4. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +15 -3
  5. package/esm2022/lib/components/search/search.component.mjs +1 -1
  6. package/esm2022/lib/components/select/select.component.mjs +11 -4
  7. package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +10 -2
  8. package/esm2022/lib/models/color-format.model.mjs +13 -0
  9. package/esm2022/lib/models/field-config.model.mjs +1 -1
  10. package/esm2022/lib/models/form-control-types.model.mjs +2 -1
  11. package/esm2022/lib/models/select-opened-state.model.mjs +2 -0
  12. package/esm2022/public-api.mjs +4 -1
  13. package/fesm2022/ieeesa-npm-presentation.mjs +204 -10
  14. package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
  15. package/lib/components/chips/chips.component.d.ts +8 -0
  16. package/lib/components/color-picker/color-picker.component.d.ts +64 -0
  17. package/lib/components/dynamic-form/dynamic-form.component.d.ts +10 -1
  18. package/lib/components/select/select.component.d.ts +3 -1
  19. package/lib/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +3 -1
  20. package/lib/models/color-format.model.d.ts +9 -0
  21. package/lib/models/field-config.model.d.ts +12 -0
  22. package/lib/models/form-control-types.model.d.ts +2 -1
  23. package/lib/models/select-opened-state.model.d.ts +4 -0
  24. package/package.json +3 -2
  25. package/public-api.d.ts +3 -0
  26. package/src/lib/assets/constants.json +8 -0
@@ -183,6 +183,14 @@ export declare class ChipsComponent implements OnInit, OnDestroy {
183
183
  timePicker: {
184
184
  defaultTimeFormat: number;
185
185
  };
186
+ colorPicker: {
187
+ selectLabel: string;
188
+ cancelLabel: string;
189
+ defaultColor: string;
190
+ ariaLabel: string;
191
+ ariaDescription: string;
192
+ ariaDescribedById: string;
193
+ };
186
194
  };
187
195
  chipsType: typeof ChipsType;
188
196
  orientations: typeof ChipOrientation;
@@ -0,0 +1,64 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { NgxColorsTriggerDirective } from 'ngx-colors';
3
+ import { FormGroup } from '@angular/forms';
4
+ import { ColorFormat, ColorsAnimation } from '../../models/color-format.model';
5
+ import { FieldConfig } from '../../models/field-config.model';
6
+ import { FormUtilityService } from '../../services/form-utility.service';
7
+ import * as i0 from "@angular/core";
8
+ export declare class ColorPickerComponent implements OnInit {
9
+ private formUtilityService;
10
+ colorPickerDirective: NgxColorsTriggerDirective;
11
+ colorPickerTexts: any;
12
+ group: FormGroup;
13
+ config: FieldConfig;
14
+ colorPickerChange: EventEmitter<string>;
15
+ colorPickerSliderChange: EventEmitter<string>;
16
+ defaultColor: string;
17
+ canShowPalette: boolean;
18
+ palette: string[];
19
+ overlayClassName: string;
20
+ colorFormat: ColorFormat;
21
+ colorAnimation: ColorsAnimation;
22
+ formControlName: string;
23
+ paletteSelectLabel: any;
24
+ paletteCancelLabel: any;
25
+ colorPickerLabel: string;
26
+ isColorCodeLabelNeeded: boolean;
27
+ isArrowIconNeeded: boolean;
28
+ canHideTextInput: boolean;
29
+ canHideColorPicker: boolean;
30
+ constructor(formUtilityService: FormUtilityService);
31
+ ngOnInit(): void;
32
+ /**
33
+ * Sets the color to form group control.
34
+ * @memberof ColorPickerComponent
35
+ * @param {string} color
36
+ * @returns {void}
37
+ */
38
+ inputChange(color: string): void;
39
+ /**
40
+ * Sets canShowPalette to true when the palette is opened.
41
+ * @memberof ColorPickerComponent
42
+ * @returns {void}
43
+ */
44
+ onOpenPalette(): void;
45
+ /**
46
+ * Sets canShowPalette to false when the palette is closed.
47
+ * @memberof ColorPickerComponent
48
+ * @returns {void}
49
+ */
50
+ onClosePalette(): void;
51
+ /**
52
+ * Gets triggered when the the alpha, hue or Lightness sliders are changed
53
+ * @param {string} color
54
+ */
55
+ onSliderChange(color: string): void;
56
+ /**
57
+ * Toggles the palette panel.
58
+ * @memberof ColorPickerComponent
59
+ * @returns {void}
60
+ */
61
+ togglePalette(): void;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColorPickerComponent, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColorPickerComponent, "ieeesa-color-picker", never, { "defaultColor": { "alias": "defaultColor"; "required": false; }; "palette": { "alias": "palette"; "required": false; }; "overlayClassName": { "alias": "overlayClassName"; "required": false; }; "colorFormat": { "alias": "colorFormat"; "required": false; }; "colorAnimation": { "alias": "colorAnimation"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "paletteSelectLabel": { "alias": "paletteSelectLabel"; "required": false; }; "paletteCancelLabel": { "alias": "paletteCancelLabel"; "required": false; }; "colorPickerLabel": { "alias": "colorPickerLabel"; "required": false; }; "isColorCodeLabelNeeded": { "alias": "isColorCodeLabelNeeded"; "required": false; }; "isArrowIconNeeded": { "alias": "isArrowIconNeeded"; "required": false; }; "canHideTextInput": { "alias": "canHideTextInput"; "required": false; }; "canHideColorPicker": { "alias": "canHideColorPicker"; "required": false; }; }, { "colorPickerChange": "colorPickerChange"; "colorPickerSliderChange": "colorPickerSliderChange"; }, never, never, true, never>;
64
+ }
@@ -10,6 +10,7 @@ import { SelectedDate } from '../../models/selected-date.model';
10
10
  import { SelectedTime } from '../../models/selected-time.model';
11
11
  import { LinkEventEmitType } from '../../models/event-emit-type.model';
12
12
  import { SlideToggleOption } from '../../models/slide-toggle-options.model';
13
+ import { SelectOpenedState } from '../../models/select-opened-state.model';
13
14
  import * as i0 from "@angular/core";
14
15
  /**
15
16
  * Creates a reactive form dynamically based on the passed form field configuration and handles the form events.
@@ -77,6 +78,7 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
77
78
  formTimeSelected: EventEmitter<SelectedTime>;
78
79
  supportTextLinkClick: EventEmitter<LinkEventEmitType>;
79
80
  formSlideToggleChange: EventEmitter<SlideToggleOption>;
81
+ dropdownOpenedChange: EventEmitter<SelectOpenedState>;
80
82
  form: FormGroup;
81
83
  formGroupArray: FormGroup[];
82
84
  formControlArray: any[];
@@ -245,6 +247,13 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
245
247
  * @memberof DynamicFormComponent
246
248
  */
247
249
  onSupportTextLinkClick(event: LinkEventEmitType): void;
250
+ /**
251
+ * Listens select form field dropdownOpenedChange event and emits dropdownOpenedChange event.
252
+ * @memberof DynamicFormComponent
253
+ * @param {SelectOpenedState} event
254
+ * @memberof DynamicFormComponent
255
+ */
256
+ onDropdownOpenedChange(event: SelectOpenedState): void;
248
257
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormComponent, never>;
249
- static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFormComponent, "ieeesa-dynamic-form", ["dynamicForm"], { "formGroups": { "alias": "formGroups"; "required": false; }; "submitResponse": { "alias": "submitResponse"; "required": false; }; "searchResponse": { "alias": "searchResponse"; "required": false; }; "colWidth": { "alias": "colWidth"; "required": false; }; "isLegendVisible": { "alias": "isLegendVisible"; "required": false; }; "rightButtonLabel": { "alias": "rightButtonLabel"; "required": false; }; "leftButtonLabel": { "alias": "leftButtonLabel"; "required": false; }; "isSubmitButtonDisabled": { "alias": "isSubmitButtonDisabled"; "required": false; }; "isLeftButtonDisabled": { "alias": "isLeftButtonDisabled"; "required": false; }; "isLeftButtonNeeded": { "alias": "isLeftButtonNeeded"; "required": false; }; "actionButtonAlign": { "alias": "actionButtonAlign"; "required": false; }; }, { "formSubmit": "formSubmit"; "formChange": "formChange"; "formInput": "formInput"; "formLeftButtonClicked": "formLeftButtonClicked"; "formSearchApply": "formSearchApply"; "formGroupsReference": "formGroupsReference"; "dropdownChange": "dropdownChange"; "formCheckboxSelection": "formCheckboxSelection"; "formDateSelected": "formDateSelected"; "formSelectSearch": "formSelectSearch"; "formControlChange": "formControlChange"; "formAutoCompleteSearch": "formAutoCompleteSearch"; "formAutoCompleteClearSearchValue": "formAutoCompleteClearSearchValue"; "autoCompleteOptionSelected": "autoCompleteOptionSelected"; "formAfterContentInit": "formAfterContentInit"; "formSelectedDateRange": "formSelectedDateRange"; "addFormGroup": "addFormGroup"; "formTimeSelected": "formTimeSelected"; "supportTextLinkClick": "supportTextLinkClick"; "formSlideToggleChange": "formSlideToggleChange"; }, never, never, true, never>;
258
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFormComponent, "ieeesa-dynamic-form", ["dynamicForm"], { "formGroups": { "alias": "formGroups"; "required": false; }; "submitResponse": { "alias": "submitResponse"; "required": false; }; "searchResponse": { "alias": "searchResponse"; "required": false; }; "colWidth": { "alias": "colWidth"; "required": false; }; "isLegendVisible": { "alias": "isLegendVisible"; "required": false; }; "rightButtonLabel": { "alias": "rightButtonLabel"; "required": false; }; "leftButtonLabel": { "alias": "leftButtonLabel"; "required": false; }; "isSubmitButtonDisabled": { "alias": "isSubmitButtonDisabled"; "required": false; }; "isLeftButtonDisabled": { "alias": "isLeftButtonDisabled"; "required": false; }; "isLeftButtonNeeded": { "alias": "isLeftButtonNeeded"; "required": false; }; "actionButtonAlign": { "alias": "actionButtonAlign"; "required": false; }; }, { "formSubmit": "formSubmit"; "formChange": "formChange"; "formInput": "formInput"; "formLeftButtonClicked": "formLeftButtonClicked"; "formSearchApply": "formSearchApply"; "formGroupsReference": "formGroupsReference"; "dropdownChange": "dropdownChange"; "formCheckboxSelection": "formCheckboxSelection"; "formDateSelected": "formDateSelected"; "formSelectSearch": "formSelectSearch"; "formControlChange": "formControlChange"; "formAutoCompleteSearch": "formAutoCompleteSearch"; "formAutoCompleteClearSearchValue": "formAutoCompleteClearSearchValue"; "autoCompleteOptionSelected": "autoCompleteOptionSelected"; "formAfterContentInit": "formAfterContentInit"; "formSelectedDateRange": "formSelectedDateRange"; "addFormGroup": "addFormGroup"; "formTimeSelected": "formTimeSelected"; "supportTextLinkClick": "supportTextLinkClick"; "formSlideToggleChange": "formSlideToggleChange"; "dropdownOpenedChange": "dropdownOpenedChange"; }, never, never, true, never>;
250
259
  }
@@ -5,6 +5,7 @@ import { FieldConfig } from '../../models/field-config.model';
5
5
  import { SearchType } from '../../models/search.model';
6
6
  import { SearchComponent } from '../../components/search/search.component';
7
7
  import { FormUtilityService } from '../../services/form-utility.service';
8
+ import { SelectOpenedState } from '../../models/select-opened-state.model';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * Component implementation supports select type of form filed and select type is configurable to support single selection or multi-selection with multilevel or single level.
@@ -55,6 +56,7 @@ export declare class SelectComponent implements OnInit, AfterViewInit {
55
56
  placeholderText: any;
56
57
  optionSelected: EventEmitter<SelectOption>;
57
58
  optionSearched: EventEmitter<string>;
59
+ dropdownOpenedChange: EventEmitter<SelectOpenedState>;
58
60
  constructor(formUtilityService: FormUtilityService);
59
61
  /**
60
62
  * Initializes components instance properties from config if its defined otherwise creates form group and config.
@@ -113,5 +115,5 @@ export declare class SelectComponent implements OnInit, AfterViewInit {
113
115
  */
114
116
  arraySorting(list: SelectOption[]): SelectOption[];
115
117
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
116
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "ieeesa-select", never, { "isSortNeeded": { "alias": "isSortNeeded"; "required": false; }; "dropdownOptions": { "alias": "dropdownOptions"; "required": false; }; "selectedOptions": { "alias": "selectedOptions"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "isMultiLevel": { "alias": "isMultiLevel"; "required": false; }; "isLabelAlignedLeft": { "alias": "isLabelAlignedLeft"; "required": false; }; "selectLabel": { "alias": "selectLabel"; "required": false; }; "isMultiSelect": { "alias": "isMultiSelect"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "isSearch": { "alias": "isSearch"; "required": false; }; "placeholderText": { "alias": "placeholderText"; "required": false; }; }, { "optionSelected": "optionSelected"; "optionSearched": "optionSearched"; }, never, never, true, never>;
118
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "ieeesa-select", never, { "isSortNeeded": { "alias": "isSortNeeded"; "required": false; }; "dropdownOptions": { "alias": "dropdownOptions"; "required": false; }; "selectedOptions": { "alias": "selectedOptions"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "isMultiLevel": { "alias": "isMultiLevel"; "required": false; }; "isLabelAlignedLeft": { "alias": "isLabelAlignedLeft"; "required": false; }; "selectLabel": { "alias": "selectLabel"; "required": false; }; "isMultiSelect": { "alias": "isMultiSelect"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "isSearch": { "alias": "isSearch"; "required": false; }; "placeholderText": { "alias": "placeholderText"; "required": false; }; }, { "optionSelected": "optionSelected"; "optionSearched": "optionSearched"; "dropdownOpenedChange": "dropdownOpenedChange"; }, never, never, true, never>;
117
119
  }
@@ -8,6 +8,7 @@ import { SelectedDate } from '../../models/selected-date.model';
8
8
  import { SelectedTime } from '../../models/selected-time.model';
9
9
  import { LinkEventEmitType } from '../../models/event-emit-type.model';
10
10
  import { SlideToggleOption } from '../../models/slide-toggle-options.model';
11
+ import { SelectOpenedState } from '../../models/select-opened-state.model';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * Provides the implementation of DynamicFormFieldDirective which hosts and creates the form fields components dynamically.
@@ -68,6 +69,7 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
68
69
  addFormGroup: EventEmitter<Event>;
69
70
  supportTextLinkClick: EventEmitter<LinkEventEmitType>;
70
71
  formSlideToggleChange: EventEmitter<SlideToggleOption>;
72
+ dropdownOpenedChange: EventEmitter<SelectOpenedState>;
71
73
  component: ComponentRef<any>;
72
74
  constructor(container: ViewContainerRef);
73
75
  /**
@@ -86,5 +88,5 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
86
88
  */
87
89
  ngOnDestroy(): void;
88
90
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormFieldDirective, never>;
89
- static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicFormFieldDirective, "[ieeesaDynamicFormField]", never, { "config": { "alias": "config"; "required": false; }; "group": { "alias": "group"; "required": false; }; "submitResponse": { "alias": "submitResponse"; "required": false; }; "searchResponse": { "alias": "searchResponse"; "required": false; }; }, { "formSearchApply": "formSearchApply"; "formDropdownSelected": "formDropdownSelected"; "formDateSelected": "formDateSelected"; "formTimeSelected": "formTimeSelected"; "formSelectedDateRange": "formSelectedDateRange"; "formSelectSearch": "formSelectSearch"; "formAutoCompleteSearch": "formAutoCompleteSearch"; "autoCompleteClearSearchValue": "autoCompleteClearSearchValue"; "autoCompleteOptionSelected": "autoCompleteOptionSelected"; "formCheckboxSelection": "formCheckboxSelection"; "formInputValue": "formInputValue"; "addFormGroup": "addFormGroup"; "supportTextLinkClick": "supportTextLinkClick"; "formSlideToggleChange": "formSlideToggleChange"; }, never, never, true, never>;
91
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicFormFieldDirective, "[ieeesaDynamicFormField]", never, { "config": { "alias": "config"; "required": false; }; "group": { "alias": "group"; "required": false; }; "submitResponse": { "alias": "submitResponse"; "required": false; }; "searchResponse": { "alias": "searchResponse"; "required": false; }; }, { "formSearchApply": "formSearchApply"; "formDropdownSelected": "formDropdownSelected"; "formDateSelected": "formDateSelected"; "formTimeSelected": "formTimeSelected"; "formSelectedDateRange": "formSelectedDateRange"; "formSelectSearch": "formSelectSearch"; "formAutoCompleteSearch": "formAutoCompleteSearch"; "autoCompleteClearSearchValue": "autoCompleteClearSearchValue"; "autoCompleteOptionSelected": "autoCompleteOptionSelected"; "formCheckboxSelection": "formCheckboxSelection"; "formInputValue": "formInputValue"; "addFormGroup": "addFormGroup"; "supportTextLinkClick": "supportTextLinkClick"; "formSlideToggleChange": "formSlideToggleChange"; "dropdownOpenedChange": "dropdownOpenedChange"; }, never, never, true, never>;
90
92
  }
@@ -0,0 +1,9 @@
1
+ export declare enum ColorFormat {
2
+ hex = "hex",
3
+ rgba = "rgba",
4
+ hsla = "hsla"
5
+ }
6
+ export declare enum ColorsAnimation {
7
+ popup = "popup",
8
+ slidein = "slide-in"
9
+ }
@@ -7,6 +7,7 @@ import { SelectOption } from '../models/select-option.model';
7
7
  import { AutoCompleteOption } from '../models/autocomplete-option.model';
8
8
  import { LinkType } from './link-type.model';
9
9
  import { SlideToggleOption } from './slide-toggle-options.model';
10
+ import { ColorFormat, ColorsAnimation } from './color-format.model';
10
11
  export interface FieldConfig {
11
12
  isSortNeeded?: boolean;
12
13
  disabled?: boolean;
@@ -60,4 +61,15 @@ export interface FieldConfig {
60
61
  linkType?: LinkType;
61
62
  slideToggleOption?: SlideToggleOption;
62
63
  invalidDateRangeErrorMessage?: string;
64
+ palette?: string[];
65
+ defaultColor?: string;
66
+ colorFormat?: ColorFormat;
67
+ overlayClassName?: string;
68
+ colorAnimation?: ColorsAnimation;
69
+ paletteSelectLabel?: string;
70
+ paletteCancelLabel?: string;
71
+ isColorCodeLabelNeeded?: boolean;
72
+ isArrowIconNeeded?: boolean;
73
+ canHideColorPicker?: boolean;
74
+ canHideTextInput?: boolean;
63
75
  }
@@ -9,5 +9,6 @@ export declare enum FormControlType {
9
9
  AUTO_COMPLETE = "AUTO_COMPLETE",
10
10
  ADD_FORM_GROUP = "ADD_FORM_GROUP",
11
11
  TIME_PICKER = "TIME_PICKER",
12
- SLIDE_TOGGLE = "SLIDE_TOGGLE"
12
+ SLIDE_TOGGLE = "SLIDE_TOGGLE",
13
+ COLOR_PICKER = "COLOR_PICKER"
13
14
  }
@@ -0,0 +1,4 @@
1
+ export interface SelectOpenedState {
2
+ controlName: string;
3
+ opened: boolean;
4
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ieeesa-npm/presentation",
3
- "version": "0.13.2",
3
+ "version": "0.13.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.1.0",
6
6
  "@angular/core": "^16.1.0",
@@ -18,7 +18,8 @@
18
18
  "moment": "^2.29.4",
19
19
  "rxjs": "~7.8.0",
20
20
  "zone.js": "~0.13.0",
21
- "ngx-material-timepicker": "^13.1.1"
21
+ "ngx-material-timepicker": "^13.1.1",
22
+ "ngx-colors": "^3.5.3"
22
23
  },
23
24
  "dependencies": {
24
25
  "tslib": "^2.3.0"
package/public-api.d.ts CHANGED
@@ -31,6 +31,7 @@ export * from './lib/components/time-picker/time-picker.component';
31
31
  export * from './lib/components/tabs/tabs.component';
32
32
  export * from './lib/components/slide-toggle/slide-toggle.component';
33
33
  export * from './lib/components/card/card.component';
34
+ export * from './lib/components/color-picker/color-picker.component';
34
35
  export * from './lib/directives/dynamic-form-field/dynamic-form-field.directive';
35
36
  export * from './lib/directives/focus-invalid-form-field/focus-invalid-form-field.directive';
36
37
  export * from './lib/directives/set-background/set-background.directive';
@@ -57,6 +58,7 @@ export * from './lib/models/menu.model';
57
58
  export * from './lib/models/navigation-menu.model';
58
59
  export * from './lib/models/radio-option.model';
59
60
  export * from './lib/models/search.model';
61
+ export * from './lib/models/select-opened-state.model';
60
62
  export * from './lib/models/select-option.model';
61
63
  export * from './lib/models/selected-date.model';
62
64
  export * from './lib/models/selected-time.model';
@@ -74,6 +76,7 @@ export * from './lib/models/slide-toggle-options.model';
74
76
  export * from './lib/models/button-type.model';
75
77
  export * from './lib/models/card-button.model';
76
78
  export * from './lib/models/card-info.model';
79
+ export * from './lib/models/color-format.model';
77
80
  export * from './lib/services/datepicker.service';
78
81
  export * from './lib/services/form-utility.service';
79
82
  export * from './lib/presentation.module';
@@ -244,5 +244,13 @@
244
244
  "defaultWelcomeBgColor": "#C0DCED",
245
245
  "timePicker": {
246
246
  "defaultTimeFormat": 12
247
+ },
248
+ "colorPicker": {
249
+ "selectLabel": "Select",
250
+ "cancelLabel": "Cancel",
251
+ "defaultColor": "#F4F3F3",
252
+ "ariaLabel": "Color Picker",
253
+ "ariaDescription": "Choose background color.",
254
+ "ariaDescribedById": "ariaColorPicker"
247
255
  }
248
256
  }