@klippa/ngx-enhancy-forms 14.0.1 → 16.0.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 (71) hide show
  1. package/{esm2020 → esm2022}/lib/elements/button/button.component.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/elements/checkbox/checkbox.component.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/elements/date-picker/date-picker.component.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/elements/date-time-picker/date-time-picker.component.mjs +13 -13
  5. package/{esm2020 → esm2022}/lib/elements/email/email-input.component.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/elements/file-input/file-input.component.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/elements/hour-minute-input/hour-minute-input.component.mjs +4 -4
  8. package/{esm2020 → esm2022}/lib/elements/loading-indicator/loading-indicator.component.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/elements/number-input/number-input.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/elements/password-field/password-field.component.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/elements/radio/radio.component.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/elements/select/select-footer/select-footer.component.mjs +4 -4
  13. package/esm2022/lib/elements/select/select.component.mjs +138 -0
  14. package/{esm2020 → esm2022}/lib/elements/sortable-grouped-items/sortable-grouped-items.component.mjs +4 -4
  15. package/esm2022/lib/elements/sortable-items/sortable-items.component.mjs +86 -0
  16. package/{esm2020 → esm2022}/lib/elements/text-input/text-input.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/elements/toggle/toggle.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/elements/value-accessor-base/multiple-value-accessor-base.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/elements/value-accessor-base/value-accessor-base.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/form/form-caption/form-caption.component.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/form/form-element/form-element.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/form/form-error/form-error.component.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/form/form-submit-button/form-submit-button.component.mjs +7 -7
  24. package/{esm2020 → esm2022}/lib/form/form.component.mjs +7 -7
  25. package/esm2022/lib/material.module.mjs +22 -0
  26. package/{esm2020 → esm2022}/lib/ngx-enhancy-forms.module.mjs +67 -67
  27. package/{esm2020 → esm2022}/lib/util/arrays.mjs +2 -2
  28. package/{fesm2020 → fesm2022}/klippa-ngx-enhancy-forms.mjs +186 -171
  29. package/fesm2022/klippa-ngx-enhancy-forms.mjs.map +1 -0
  30. package/lib/elements/button/button.component.d.ts +1 -1
  31. package/lib/elements/checkbox/checkbox.component.d.ts +1 -1
  32. package/lib/elements/date-picker/date-picker.component.d.ts +1 -1
  33. package/lib/elements/date-time-picker/date-time-picker.component.d.ts +1 -1
  34. package/lib/elements/email/email-input.component.d.ts +1 -1
  35. package/lib/elements/file-input/file-input.component.d.ts +1 -1
  36. package/lib/elements/hour-minute-input/hour-minute-input.component.d.ts +1 -1
  37. package/lib/elements/loading-indicator/loading-indicator.component.d.ts +1 -1
  38. package/lib/elements/number-input/number-input.component.d.ts +1 -1
  39. package/lib/elements/password-field/password-field.component.d.ts +1 -1
  40. package/lib/elements/radio/radio.component.d.ts +3 -3
  41. package/lib/elements/select/select-footer/select-footer.component.d.ts +1 -1
  42. package/lib/elements/select/select.component.d.ts +4 -4
  43. package/lib/elements/sortable-grouped-items/sortable-grouped-items.component.d.ts +1 -1
  44. package/lib/elements/sortable-items/sortable-items.component.d.ts +1 -1
  45. package/lib/elements/text-input/text-input.component.d.ts +1 -1
  46. package/lib/elements/toggle/toggle.component.d.ts +1 -1
  47. package/lib/elements/value-accessor-base/multiple-value-accessor-base.component.d.ts +1 -1
  48. package/lib/elements/value-accessor-base/value-accessor-base.component.d.ts +1 -1
  49. package/lib/form/form-caption/form-caption.component.d.ts +1 -1
  50. package/lib/form/form-element/form-element.component.d.ts +1 -1
  51. package/lib/form/form-error/form-error.component.d.ts +1 -1
  52. package/lib/form/form-submit-button/form-submit-button.component.d.ts +1 -1
  53. package/lib/form/form.component.d.ts +2 -2
  54. package/lib/material.module.d.ts +4 -4
  55. package/lib/ngx-enhancy-forms.module.d.ts +1 -1
  56. package/lib/types.d.ts +3 -3
  57. package/package.json +8 -14
  58. package/esm2020/lib/elements/select/select.component.mjs +0 -138
  59. package/esm2020/lib/elements/sortable-items/sortable-items.component.mjs +0 -70
  60. package/esm2020/lib/material.module.mjs +0 -22
  61. package/fesm2015/klippa-ngx-enhancy-forms.mjs +0 -2052
  62. package/fesm2015/klippa-ngx-enhancy-forms.mjs.map +0 -1
  63. package/fesm2020/klippa-ngx-enhancy-forms.mjs.map +0 -1
  64. package/src/lib/form/README.md +0 -1
  65. /package/{esm2020 → esm2022}/klippa-ngx-enhancy-forms.mjs +0 -0
  66. /package/{esm2020 → esm2022}/lib/types.mjs +0 -0
  67. /package/{esm2020 → esm2022}/lib/util/objects.mjs +0 -0
  68. /package/{esm2020 → esm2022}/lib/util/values.mjs +0 -0
  69. /package/{esm2020 → esm2022}/lib/validators/dateValidator.mjs +0 -0
  70. /package/{esm2020 → esm2022}/lib/validators/timeValidator.mjs +0 -0
  71. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -3,8 +3,8 @@ import { ControlContainer } from '@angular/forms';
3
3
  import { ValueAccessorBase } from '../value-accessor-base/value-accessor-base.component';
4
4
  import { FormElementComponent } from '../../form/form-element/form-element.component';
5
5
  import * as i0 from "@angular/core";
6
- export declare type AppSelectOptions = Array<AppSelectOption>;
7
- export declare type AppSelectOption = {
6
+ export type AppSelectOptions = Array<AppSelectOption>;
7
+ export type AppSelectOption = {
8
8
  id: any;
9
9
  name: string;
10
10
  description?: string;
@@ -14,7 +14,7 @@ export declare type AppSelectOption = {
14
14
  export declare const SELECT_TRANSLATIONS: InjectionToken<any>;
15
15
  export declare class KlpSelectOptionTemplateDirective {
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<KlpSelectOptionTemplateDirective, never>;
17
- static ɵdir: i0.ɵɵDirectiveDeclaration<KlpSelectOptionTemplateDirective, "[klpSelectOptionTpl]", never, {}, {}, never, never, false>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KlpSelectOptionTemplateDirective, "[klpSelectOptionTpl]", never, {}, {}, never, never, false, never>;
18
18
  }
19
19
  export declare class SelectComponent extends ValueAccessorBase<string | string[]> implements OnChanges {
20
20
  protected parent: FormElementComponent;
@@ -52,5 +52,5 @@ export declare class SelectComponent extends ValueAccessorBase<string | string[]
52
52
  onOpen(): void;
53
53
  focus: () => void;
54
54
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, [{ optional: true; host: true; }, { optional: true; host: true; }, { optional: true; }, null]>;
55
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "klp-form-select", never, { "placeholder": "placeholder"; "orientation": "orientation"; "options": "options"; "multiple": "multiple"; "multipleDisplayedAsAmount": "multipleDisplayedAsAmount"; "clearable": "clearable"; "truncateOptions": "truncateOptions"; "dropdownPosition": "dropdownPosition"; "customSearchFn": "customSearchFn"; "footerElement": "footerElement"; }, { "onSearch": "onSearch"; "onEndReached": "onEndReached"; "onOpened": "onOpened"; "onBlur": "onBlur"; "onClear": "onClear"; }, ["customOptionTpl"], never, false>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "klp-form-select", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "options": { "alias": "options"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "multipleDisplayedAsAmount": { "alias": "multipleDisplayedAsAmount"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "truncateOptions": { "alias": "truncateOptions"; "required": false; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; }; "customSearchFn": { "alias": "customSearchFn"; "required": false; }; "footerElement": { "alias": "footerElement"; "required": false; }; }, { "onSearch": "onSearch"; "onEndReached": "onEndReached"; "onOpened": "onOpened"; "onBlur": "onBlur"; "onClear": "onClear"; }, ["customOptionTpl"], never, false, never>;
56
56
  }
@@ -6,5 +6,5 @@ export declare class SortableGroupedItemsComponent<T> extends ValueAccessorBase<
6
6
  writeValue(value: Array<Array<T>>): void;
7
7
  onItemsRearranged(value: Array<T | string>): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<SortableGroupedItemsComponent<any>, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<SortableGroupedItemsComponent<any>, "klp-form-sortable-grouped-items", never, {}, {}, never, never, false>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<SortableGroupedItemsComponent<any>, "klp-form-sortable-grouped-items", never, {}, {}, never, never, false, never>;
10
10
  }
@@ -15,5 +15,5 @@ export declare class SortableItemsComponent extends ValueAccessorBase<Array<any>
15
15
  private scrollPage;
16
16
  private stopScrolling;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<SortableItemsComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<SortableItemsComponent, "klp-form-sortable-items", never, { "sortableItemSize": "sortableItemSize"; "useCustomScroll": "useCustomScroll"; }, {}, ["template"], never, false>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<SortableItemsComponent, "klp-form-sortable-items", never, { "sortableItemSize": { "alias": "sortableItemSize"; "required": false; }; "useCustomScroll": { "alias": "useCustomScroll"; "required": false; }; }, {}, ["template"], never, false, never>;
19
19
  }
@@ -8,5 +8,5 @@ export declare class TextInputComponent extends ValueAccessorBase<string> {
8
8
  icon: 'search';
9
9
  onBlur: EventEmitter<void>;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TextInputComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<TextInputComponent, "klp-form-text-input", never, { "placeholder": "placeholder"; "type": "type"; "clearable": "clearable"; "icon": "icon"; }, { "onBlur": "onBlur"; }, never, never, false>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextInputComponent, "klp-form-text-input", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "type": { "alias": "type"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, { "onBlur": "onBlur"; }, never, never, false, never>;
12
12
  }
@@ -2,5 +2,5 @@ import { ValueAccessorBase } from '../value-accessor-base/value-accessor-base.co
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class ToggleComponent extends ValueAccessorBase<boolean> {
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<ToggleComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<ToggleComponent, "klp-form-toggle", never, {}, {}, never, never, false>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToggleComponent, "klp-form-toggle", never, {}, {}, never, never, false, never>;
6
6
  }
@@ -10,5 +10,5 @@ export declare class MultipleValueAccessorBase<T> extends ValueAccessorBase<Arra
10
10
  writeValue(value: Array<T> | T): void;
11
11
  setInnerValueAndNotify(value: T | Array<T>): void;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<MultipleValueAccessorBase<any>, [{ optional: true; host: true; }, { optional: true; host: true; }]>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<MultipleValueAccessorBase<any>, "ng-component", never, { "multiple": "multiple"; }, {}, never, never, false>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<MultipleValueAccessorBase<any>, "ng-component", never, { "multiple": { "alias": "multiple"; "required": false; }; }, {}, never, never, false, never>;
14
14
  }
@@ -39,5 +39,5 @@ export declare class ValueAccessorBase<T> implements ControlValueAccessor, OnIni
39
39
  hasValidator(validatorName: string): boolean;
40
40
  focus: () => void;
41
41
  static ɵfac: i0.ɵɵFactoryDeclaration<ValueAccessorBase<any>, [{ optional: true; host: true; }, { optional: true; host: true; }]>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<ValueAccessorBase<any>, "ng-component", never, { "disabled": "disabled"; "innerValueChangeInterceptor": "innerValueChangeInterceptor"; "formControlName": "formControlName"; "formControl": "formControl"; }, { "onTouch": "onTouch"; }, never, never, false>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValueAccessorBase<any>, "ng-component", never, { "disabled": { "alias": "disabled"; "required": false; }; "innerValueChangeInterceptor": { "alias": "innerValueChangeInterceptor"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; }, { "onTouch": "onTouch"; }, never, never, false, never>;
43
43
  }
@@ -7,5 +7,5 @@ export declare class FormCaptionComponent implements OnInit {
7
7
  constructor(parent: FormElementComponent);
8
8
  ngOnInit(): void;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<FormCaptionComponent, [{ optional: true; host: true; }]>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<FormCaptionComponent, "klp-form-caption", never, {}, {}, never, ["*"], false>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormCaptionComponent, "klp-form-caption", never, {}, {}, never, ["*"], false, never>;
11
11
  }
@@ -43,5 +43,5 @@ export declare class FormElementComponent {
43
43
  getErrorMessage(key: keyof FormErrorMessages): string;
44
44
  getErrorLocation(): 'belowCaption' | 'rightOfCaption';
45
45
  static ɵfac: i0.ɵɵFactoryDeclaration<FormElementComponent, [{ optional: true; host: true; }, { optional: true; }]>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<FormElementComponent, "klp-form-element", never, { "caption": "caption"; "direction": "direction"; "captionSpacing": "captionSpacing"; "spaceDistribution": "spaceDistribution"; "swapInputAndCaption": "swapInputAndCaption"; }, {}, never, ["*"], false>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormElementComponent, "klp-form-element", never, { "caption": { "alias": "caption"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "captionSpacing": { "alias": "captionSpacing"; "required": false; }; "spaceDistribution": { "alias": "spaceDistribution"; "required": false; }; "swapInputAndCaption": { "alias": "swapInputAndCaption"; "required": false; }; }, {}, never, ["*"], false, never>;
47
47
  }
@@ -10,5 +10,5 @@ export declare class FormErrorComponent implements OnInit {
10
10
  constructor(parent: FormElementComponent);
11
11
  ngOnInit(): void;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<FormErrorComponent, [{ optional: true; host: true; }]>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<FormErrorComponent, "klp-form-error", never, { "error": "error"; }, {}, never, ["*"], false>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormErrorComponent, "klp-form-error", never, { "error": { "alias": "error"; "required": false; }; }, {}, never, ["*"], false, never>;
14
14
  }
@@ -12,5 +12,5 @@ export declare class FormSubmitButtonComponent {
12
12
  constructor(parentForm: FormComponent);
13
13
  submitForm(): Promise<void>;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<FormSubmitButtonComponent, [{ optional: true; host: true; }]>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<FormSubmitButtonComponent, "klp-form-submit-button", never, { "isLoading": "isLoading"; "fullWidth": "fullWidth"; "variant": "variant"; "before": "before"; "after": "after"; "submitCallback": "submitCallback"; }, {}, never, ["*"], false>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormSubmitButtonComponent, "klp-form-submit-button", never, { "isLoading": { "alias": "isLoading"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "before": { "alias": "before"; "required": false; }; "after": { "alias": "after"; "required": false; }; "submitCallback": { "alias": "submitCallback"; "required": false; }; }, {}, never, ["*"], false, never>;
16
16
  }
@@ -7,7 +7,7 @@ export declare class SubFormDirective {
7
7
  injectInto: UntypedFormArray | UntypedFormGroup;
8
8
  at: number | string;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SubFormDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<SubFormDirective, "klp-sub-form", never, { "injectInto": "injectInto"; "at": "at"; }, {}, never, never, false>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SubFormDirective, "klp-sub-form", never, { "injectInto": { "alias": "injectInto"; "required": false; }; "at": { "alias": "at"; "required": false; }; }, {}, never, never, false, never>;
11
11
  }
12
12
  export declare class FormComponent implements OnInit, OnDestroy, OnChanges {
13
13
  private parent;
@@ -35,5 +35,5 @@ export declare class FormComponent implements OnInit, OnDestroy, OnChanges {
35
35
  private getRenderedFieldValuesFormArray;
36
36
  private setDisabledStatesForAllControls;
37
37
  static ɵfac: i0.ɵɵFactoryDeclaration<FormComponent, [{ optional: true; skipSelf: true; }, { optional: true; }]>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "klp-form", never, { "readOnly": "readOnly"; "showErrorMessages": "showErrorMessages"; "errorMessageLocation": "errorMessageLocation"; "formGroup": "formGroup"; "patchValueInterceptor": "patchValueInterceptor"; }, {}, never, ["*"], false>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "klp-form", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "showErrorMessages": { "alias": "showErrorMessages"; "required": false; }; "errorMessageLocation": { "alias": "errorMessageLocation"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "patchValueInterceptor": { "alias": "patchValueInterceptor"; "required": false; }; }, {}, never, ["*"], false, never>;
39
39
  }
@@ -1,11 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "@angular/material/datepicker";
3
- import * as i2 from "@angular/material/form-field";
3
+ import * as i2 from "@angular/material/legacy-form-field";
4
4
  import * as i3 from "@angular/material/core";
5
- import * as i4 from "@angular/material/input";
6
- import * as i5 from "@angular/material/button";
5
+ import * as i4 from "@angular/material/legacy-input";
6
+ import * as i5 from "@angular/material/legacy-button";
7
7
  export declare class MaterialModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<MaterialModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<MaterialModule, never, [typeof i1.MatDatepickerModule, typeof i2.MatFormFieldModule, typeof i3.MatNativeDateModule, typeof i4.MatInputModule, typeof i5.MatButtonModule], [typeof i1.MatDatepickerModule, typeof i2.MatFormFieldModule, typeof i3.MatNativeDateModule, typeof i4.MatInputModule, typeof i5.MatButtonModule]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MaterialModule, never, [typeof i1.MatDatepickerModule, typeof i2.MatLegacyFormFieldModule, typeof i3.MatNativeDateModule, typeof i4.MatLegacyInputModule, typeof i5.MatLegacyButtonModule], [typeof i1.MatDatepickerModule, typeof i2.MatLegacyFormFieldModule, typeof i3.MatNativeDateModule, typeof i4.MatLegacyInputModule, typeof i5.MatLegacyButtonModule]>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<MaterialModule>;
11
11
  }
@@ -26,7 +26,7 @@ import * as i24 from "./elements/radio/radio.component";
26
26
  import * as i25 from "@angular/common";
27
27
  import * as i26 from "@angular/forms";
28
28
  import * as i27 from "@ng-select/ng-select";
29
- import * as i28 from "ngx-sortablejs";
29
+ import * as i28 from "@dustfoundation/ngx-sortablejs";
30
30
  import * as i29 from "./material.module";
31
31
  export declare class NgxEnhancyFormsModule {
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxEnhancyFormsModule, never>;
package/lib/types.d.ts CHANGED
@@ -10,6 +10,6 @@ export interface FormErrorMessages {
10
10
  matchPassword: string;
11
11
  date: string;
12
12
  }
13
- export declare type CustomErrorMessages = Record<keyof FormErrorMessages, () => string>;
14
- export declare type KlpDateFormats = (format: string) => MatDateFormats;
15
- export declare type ErrorTypes = keyof FormErrorMessages | 'message';
13
+ export type CustomErrorMessages = Record<keyof FormErrorMessages, () => string>;
14
+ export type KlpDateFormats = (format: string) => MatDateFormats;
15
+ export type ErrorTypes = keyof FormErrorMessages | 'message';
package/package.json CHANGED
@@ -1,27 +1,23 @@
1
1
  {
2
2
  "name": "@klippa/ngx-enhancy-forms",
3
- "version": "14.0.1",
3
+ "version": "16.0.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
7
  "peerDependencies": {
8
- "@angular/common": ">=10",
9
- "@angular/core": ">=10",
8
+ "@angular/common": ">=16",
9
+ "@angular/core": ">=16",
10
10
  "@ng-select/ng-select": ">=9",
11
11
  "ngx-mat-datefns-date-adapter": ">=10",
12
12
  "date-fns": ">=2.29",
13
13
  "lodash-es": ">=4.17",
14
- "ngx-sortablejs": ">=11.1",
14
+ "@dustfoundation/ngx-sortablejs": ">=15.0.0",
15
15
  "sortablejs": ">=1.15"
16
16
  },
17
17
  "dependencies": {
18
18
  "tslib": "^2.0.0"
19
19
  },
20
- "module": "fesm2015/klippa-ngx-enhancy-forms.mjs",
21
- "es2020": "fesm2020/klippa-ngx-enhancy-forms.mjs",
22
- "esm2020": "esm2020/klippa-ngx-enhancy-forms.mjs",
23
- "fesm2020": "fesm2020/klippa-ngx-enhancy-forms.mjs",
24
- "fesm2015": "fesm2015/klippa-ngx-enhancy-forms.mjs",
20
+ "module": "fesm2022/klippa-ngx-enhancy-forms.mjs",
25
21
  "typings": "index.d.ts",
26
22
  "exports": {
27
23
  "./package.json": {
@@ -29,11 +25,9 @@
29
25
  },
30
26
  ".": {
31
27
  "types": "./index.d.ts",
32
- "esm2020": "./esm2020/klippa-ngx-enhancy-forms.mjs",
33
- "es2020": "./fesm2020/klippa-ngx-enhancy-forms.mjs",
34
- "es2015": "./fesm2015/klippa-ngx-enhancy-forms.mjs",
35
- "node": "./fesm2015/klippa-ngx-enhancy-forms.mjs",
36
- "default": "./fesm2020/klippa-ngx-enhancy-forms.mjs"
28
+ "esm2022": "./esm2022/klippa-ngx-enhancy-forms.mjs",
29
+ "esm": "./esm2022/klippa-ngx-enhancy-forms.mjs",
30
+ "default": "./fesm2022/klippa-ngx-enhancy-forms.mjs"
37
31
  }
38
32
  },
39
33
  "sideEffects": false
@@ -1,138 +0,0 @@
1
- import { Component, ContentChild, Directive, EventEmitter, Host, Inject, InjectionToken, Input, Optional, Output, TemplateRef, ViewChild } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { ValueAccessorBase } from '../value-accessor-base/value-accessor-base.component';
4
- import { isValueSet, stringIsSetAndFilled } from '../../util/values';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../form/form-element/form-element.component";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@ng-select/ng-select";
10
- export const SELECT_TRANSLATIONS = new InjectionToken('klp.form.select.translations');
11
- export class KlpSelectOptionTemplateDirective {
12
- }
13
- KlpSelectOptionTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: KlpSelectOptionTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
- KlpSelectOptionTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: KlpSelectOptionTemplateDirective, selector: "[klpSelectOptionTpl]", ngImport: i0 });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: KlpSelectOptionTemplateDirective, decorators: [{
16
- type: Directive,
17
- args: [{ selector: '[klpSelectOptionTpl]' }]
18
- }] });
19
- export class SelectComponent extends ValueAccessorBase {
20
- constructor(parent, controlContainer, translations, elRef) {
21
- super(parent, controlContainer);
22
- this.parent = parent;
23
- this.controlContainer = controlContainer;
24
- this.translations = translations;
25
- this.elRef = elRef;
26
- this.orientation = 'horizontal';
27
- this.multiple = false;
28
- this.multipleDisplayedAsAmount = false;
29
- this.clearable = true;
30
- this.truncateOptions = true;
31
- this.onSearch = new EventEmitter();
32
- this.onEndReached = new EventEmitter();
33
- this.onOpened = new EventEmitter();
34
- this.onBlur = new EventEmitter();
35
- this.onClear = new EventEmitter();
36
- this.lastItemIndexReached = -1;
37
- this.focus = () => {
38
- this.ngSelect.focus();
39
- };
40
- }
41
- ngOnChanges(changes) {
42
- if (isValueSet(changes.options)) {
43
- this.lastItemIndexReached = -1;
44
- }
45
- }
46
- getDefaultTranslation(key) {
47
- switch (key) {
48
- case 'placeholder':
49
- return () => 'Pick an option';
50
- case 'amountSelected':
51
- return (amount) => `${amount} selected`;
52
- }
53
- }
54
- getTranslation(key, params = null) {
55
- if (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {
56
- return this.placeholder;
57
- }
58
- return this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);
59
- }
60
- onScroll(lastItemIndex) {
61
- const visibleItems = this.ngSelect?.itemsList?.filteredItems?.length ?? 0;
62
- if (this.lastItemIndexReached < lastItemIndex && lastItemIndex === visibleItems) {
63
- this.onEndReached.emit();
64
- }
65
- this.lastItemIndexReached = Math.max(lastItemIndex, this.lastItemIndexReached);
66
- }
67
- searchQueryChanged(searchQuery) {
68
- this.onSearch.emit(searchQuery);
69
- }
70
- onOpen() {
71
- // waiting for the thing to render until we fire the event
72
- setTimeout(() => {
73
- this.onOpened.emit();
74
- if (this.truncateOptions === false) {
75
- const widths = Array.from(this.elRef.nativeElement.querySelectorAll('.ng-option div')).map((e) => e.scrollWidth);
76
- const maxWidth = Math.max(...widths);
77
- const dropdownPanel = this.elRef.nativeElement.querySelector('ng-dropdown-panel');
78
- dropdownPanel.style.width = `${maxWidth + 40}px`;
79
- }
80
- });
81
- }
82
- }
83
- SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SelectComponent, deps: [{ token: i1.FormElementComponent, host: true, optional: true }, { token: i2.ControlContainer, host: true, optional: true }, { token: SELECT_TRANSLATIONS, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
84
- SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: SelectComponent, selector: "klp-form-select", inputs: { placeholder: "placeholder", orientation: "orientation", options: "options", multiple: "multiple", multipleDisplayedAsAmount: "multipleDisplayedAsAmount", clearable: "clearable", truncateOptions: "truncateOptions", dropdownPosition: "dropdownPosition", customSearchFn: "customSearchFn", footerElement: "footerElement" }, outputs: { onSearch: "onSearch", onEndReached: "onEndReached", onOpened: "onOpened", onBlur: "onBlur", onClear: "onClear" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }], queries: [{ propertyName: "customOptionTpl", first: true, predicate: KlpSelectOptionTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: ["ngSelect"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-select\n\t#ngSelect\n\t[placeholder]=\"getTranslation('placeholder')\"\n\tbindLabel=\"name\"\n\tbindValue=\"id\"\n\t[items]=\"options\"\n\t[clearable]=\"clearable\"\n\t[(ngModel)]=\"innerValue\"\n\t[ngClass]=\"{showErrors: isInErrorState(), verticalOrientation: orientation === 'vertical'}\"\n\t(change)=\"setInnerValueAndNotify(innerValue)\"\n\t[multiple]=\"multiple\"\n\t[disabled]=\"disabled\"\n\t(blur)=\"touch(); onBlur.emit()\"\n\t(clear)=\"onClear.emit()\"\n\t(search)=\"searchQueryChanged($event.term)\"\n\t[dropdownPosition]=\"dropdownPosition\"\n\t[searchFn]=\"customSearchFn\"\n\t[selectOnTab]=\"true\"\n\t[virtualScroll]=\"true\"\n\t(scroll)=\"onScroll($event.end)\"\n\t(open)=\"onOpen()\"\n>\n\t<ng-template let-item=\"item\" ng-option-tmp>\n\t\t<ng-container *ngIf=\"customOptionTpl\" [ngTemplateOutlet]=\"customOptionTpl\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\n\t\t<div [attr.data-cy]=\"item.id\" *ngIf=\"!customOptionTpl\">\n\t\t\t{{ item.name }}\n\t\t\t<div *ngIf=\"item.description\" class=\"dropdown-item-description\">\n\t\t\t\t{{ item.description }}\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n\t<ng-container *ngIf=\"multiple && multipleDisplayedAsAmount && innerValue?.length > 1\">\n\t\t<ng-template ng-multi-label-tmp>\n\t\t\t<div class=\"ng-value\">\n\t\t\t\t<span class=\"ng-value-label\">{{getTranslation('amountSelected', innerValue?.length)}}</span>\n\t\t\t</div>\n\t\t</ng-template>\n\t</ng-container>\n\t<ng-template ng-footer-tmp *ngIf=\"footerElement\">\n\t\t<ng-container [ngTemplateOutlet]=\"footerElement\"></ng-container>\n\t</ng-template>\n</ng-select>\n", styles: [":host{display:block}ng-select.showErrors::ng-deep .ng-select-container{border-color:#ff8000}:host ::ng-deep ng-select.ng-select .ng-select-container{color:#888da8}:host ::ng-deep .ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#3ed778}:host ::ng-deep .ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}:host ::ng-deep .ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}:host ::ng-deep .ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #666}:host ::ng-deep .ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}:host ::ng-deep .ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}:host ::ng-deep .ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}:host ::ng-deep .ng-select .ng-has-value .ng-placeholder{display:none}:host ::ng-deep .ng-placeholder,:host ::ng-deep .ng-value{width:0px;flex-grow:1;overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .ng-select .ng-select-container{display:flex;flex-direction:row;border:1px solid #ccc;min-height:42px;align-items:center;background-clip:padding-box;background-color:#fff;border:1px solid #e6ecf5;border-radius:2px;box-shadow:none;box-sizing:border-box;color:#888da8;font-size:1rem;font-size:14px;line-height:1.5;margin:0;outline:none;overflow:visible;padding:.375rem .75rem;transition-delay:0s;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in;width:100%}:host ::ng-deep .ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}:host ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px;overflow:hidden}:host ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#aaa}:host ::ng-deep .ng-select.ng-select-single .ng-select-container{height:42px}:host ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{left:0;padding-left:10px;padding-right:50px;top:5px}:host ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e3e3e3}:host ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-right:5px;margin-top:3px;margin-bottom:3px;background-color:#e7faee;border-radius:2px;border:1px solid #93e8b3;display:flex;overflow:hidden}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9;border:1px solid #e3e3e3}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{display:inline-block;padding:0 5px;overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:0 5px}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#93e8b3}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #93e8b3}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #c2e0ff}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding-bottom:3px;padding-left:3px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:3px;padding-left:3px;position:static}:host ::ng-deep .ng-select .ng-clear-wrapper{color:#999}:host ::ng-deep .ng-select .ng-clear-wrapper .ng-clear:hover{color:#dc3545}:host ::ng-deep .ng-select .ng-spinner-zone{padding-right:5px;padding-top:5px}:host ::ng-deep .ng-select .ng-arrow-wrapper{padding-right:5px;width:25px}:host ::ng-deep .ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}:host ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}:host ::ng-deep .ng-dropdown-panel{background-color:#fff;border:1px solid #3ed778;box-shadow:0 1px #0000000f}:host ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}:host ::ng-deep .ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}:host ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}:host ::ng-deep .ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items{margin-bottom:1px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:default;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#ebf5ff}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background-color:#f5faff;font-weight:600}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{color:#333;background-color:#e7faee}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label{font-weight:600}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#e7faee;color:#333}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding-left:0}:host ::ng-deep ng-select.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:9px;color:#888da8}:host ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input>input{color:#888da8}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{color:#888da8}:host ::ng-deep .ng-select.ng-select-auto-grow{max-width:inherit}:host ::ng-deep .ng-select.ng-select-auto-grow .ng-dropdown-panel{width:auto}.verticalOrientation{transform:translateY(100%) rotate(-90deg);transform-origin:top left}.verticalOrientation ::ng-deep ng-dropdown-panel.ng-select-bottom{transform:rotate(90deg) translate(100%);transform-origin:top right;border-top-color:#3ed778;border-bottom-right-radius:2px;border-bottom-left-radius:0;border-top-right-radius:2px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i4.NgFooterTemplateDirective, selector: "[ng-footer-tmp]" }] });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SelectComponent, decorators: [{
86
- type: Component,
87
- args: [{ selector: 'klp-form-select', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }], template: "<ng-select\n\t#ngSelect\n\t[placeholder]=\"getTranslation('placeholder')\"\n\tbindLabel=\"name\"\n\tbindValue=\"id\"\n\t[items]=\"options\"\n\t[clearable]=\"clearable\"\n\t[(ngModel)]=\"innerValue\"\n\t[ngClass]=\"{showErrors: isInErrorState(), verticalOrientation: orientation === 'vertical'}\"\n\t(change)=\"setInnerValueAndNotify(innerValue)\"\n\t[multiple]=\"multiple\"\n\t[disabled]=\"disabled\"\n\t(blur)=\"touch(); onBlur.emit()\"\n\t(clear)=\"onClear.emit()\"\n\t(search)=\"searchQueryChanged($event.term)\"\n\t[dropdownPosition]=\"dropdownPosition\"\n\t[searchFn]=\"customSearchFn\"\n\t[selectOnTab]=\"true\"\n\t[virtualScroll]=\"true\"\n\t(scroll)=\"onScroll($event.end)\"\n\t(open)=\"onOpen()\"\n>\n\t<ng-template let-item=\"item\" ng-option-tmp>\n\t\t<ng-container *ngIf=\"customOptionTpl\" [ngTemplateOutlet]=\"customOptionTpl\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\n\t\t<div [attr.data-cy]=\"item.id\" *ngIf=\"!customOptionTpl\">\n\t\t\t{{ item.name }}\n\t\t\t<div *ngIf=\"item.description\" class=\"dropdown-item-description\">\n\t\t\t\t{{ item.description }}\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n\t<ng-container *ngIf=\"multiple && multipleDisplayedAsAmount && innerValue?.length > 1\">\n\t\t<ng-template ng-multi-label-tmp>\n\t\t\t<div class=\"ng-value\">\n\t\t\t\t<span class=\"ng-value-label\">{{getTranslation('amountSelected', innerValue?.length)}}</span>\n\t\t\t</div>\n\t\t</ng-template>\n\t</ng-container>\n\t<ng-template ng-footer-tmp *ngIf=\"footerElement\">\n\t\t<ng-container [ngTemplateOutlet]=\"footerElement\"></ng-container>\n\t</ng-template>\n</ng-select>\n", styles: [":host{display:block}ng-select.showErrors::ng-deep .ng-select-container{border-color:#ff8000}:host ::ng-deep ng-select.ng-select .ng-select-container{color:#888da8}:host ::ng-deep .ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#3ed778}:host ::ng-deep .ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}:host ::ng-deep .ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}:host ::ng-deep .ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #666}:host ::ng-deep .ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}:host ::ng-deep .ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}:host ::ng-deep .ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}:host ::ng-deep .ng-select .ng-has-value .ng-placeholder{display:none}:host ::ng-deep .ng-placeholder,:host ::ng-deep .ng-value{width:0px;flex-grow:1;overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .ng-select .ng-select-container{display:flex;flex-direction:row;border:1px solid #ccc;min-height:42px;align-items:center;background-clip:padding-box;background-color:#fff;border:1px solid #e6ecf5;border-radius:2px;box-shadow:none;box-sizing:border-box;color:#888da8;font-size:1rem;font-size:14px;line-height:1.5;margin:0;outline:none;overflow:visible;padding:.375rem .75rem;transition-delay:0s;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in;width:100%}:host ::ng-deep .ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}:host ::ng-deep .ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px;overflow:hidden}:host ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#aaa}:host ::ng-deep .ng-select.ng-select-single .ng-select-container{height:42px}:host ::ng-deep .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{left:0;padding-left:10px;padding-right:50px;top:5px}:host ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e3e3e3}:host ::ng-deep .ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-right:5px;margin-top:3px;margin-bottom:3px;background-color:#e7faee;border-radius:2px;border:1px solid #93e8b3;display:flex;overflow:hidden}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9;border:1px solid #e3e3e3}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{display:inline-block;padding:0 5px;overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:0 5px}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#93e8b3}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #93e8b3}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #c2e0ff}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding-bottom:3px;padding-left:3px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:3px;padding-left:3px;position:static}:host ::ng-deep .ng-select .ng-clear-wrapper{color:#999}:host ::ng-deep .ng-select .ng-clear-wrapper .ng-clear:hover{color:#dc3545}:host ::ng-deep .ng-select .ng-spinner-zone{padding-right:5px;padding-top:5px}:host ::ng-deep .ng-select .ng-arrow-wrapper{padding-right:5px;width:25px}:host ::ng-deep .ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}:host ::ng-deep .ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}:host ::ng-deep .ng-dropdown-panel{background-color:#fff;border:1px solid #3ed778;box-shadow:0 1px #0000000f}:host ::ng-deep .ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}:host ::ng-deep .ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}:host ::ng-deep .ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}:host ::ng-deep .ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items{margin-bottom:1px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;cursor:default;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#ebf5ff}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected{background-color:#f5faff;font-weight:600}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{color:#333;background-color:#e7faee}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label{font-weight:600}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#e7faee;color:#333}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-right:5px;font-size:80%;font-weight:400}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding-left:0}:host ::ng-deep ng-select.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:9px;color:#888da8}:host ::ng-deep .ng-select .ng-select-container .ng-value-container .ng-input>input{color:#888da8}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{color:#888da8}:host ::ng-deep .ng-select.ng-select-auto-grow{max-width:inherit}:host ::ng-deep .ng-select.ng-select-auto-grow .ng-dropdown-panel{width:auto}.verticalOrientation{transform:translateY(100%) rotate(-90deg);transform-origin:top left}.verticalOrientation ::ng-deep ng-dropdown-panel.ng-select-bottom{transform:rotate(90deg) translate(100%);transform-origin:top right;border-top-color:#3ed778;border-bottom-right-radius:2px;border-bottom-left-radius:0;border-top-right-radius:2px}\n"] }]
88
- }], ctorParameters: function () { return [{ type: i1.FormElementComponent, decorators: [{
89
- type: Optional
90
- }, {
91
- type: Host
92
- }] }, { type: i2.ControlContainer, decorators: [{
93
- type: Optional
94
- }, {
95
- type: Host
96
- }] }, { type: undefined, decorators: [{
97
- type: Inject,
98
- args: [SELECT_TRANSLATIONS]
99
- }, {
100
- type: Optional
101
- }] }, { type: i0.ElementRef }]; }, propDecorators: { placeholder: [{
102
- type: Input
103
- }], orientation: [{
104
- type: Input
105
- }], options: [{
106
- type: Input
107
- }], multiple: [{
108
- type: Input
109
- }], multipleDisplayedAsAmount: [{
110
- type: Input
111
- }], clearable: [{
112
- type: Input
113
- }], truncateOptions: [{
114
- type: Input
115
- }], dropdownPosition: [{
116
- type: Input
117
- }], customSearchFn: [{
118
- type: Input
119
- }], footerElement: [{
120
- type: Input
121
- }], onSearch: [{
122
- type: Output
123
- }], onEndReached: [{
124
- type: Output
125
- }], onOpened: [{
126
- type: Output
127
- }], onBlur: [{
128
- type: Output
129
- }], onClear: [{
130
- type: Output
131
- }], ngSelect: [{
132
- type: ViewChild,
133
- args: ['ngSelect']
134
- }], customOptionTpl: [{
135
- type: ContentChild,
136
- args: [KlpSelectOptionTemplateDirective, { read: TemplateRef }]
137
- }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsaXBwYS9uZ3gtZW5oYW5jeS1mb3Jtcy9zcmMvbGliL2VsZW1lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBRVQsWUFBWSxFQUNaLElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBRXZGLE9BQU8sRUFBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBV25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFNLDhCQUE4QixDQUFDLENBQUM7QUFHM0YsTUFBTSxPQUFPLGdDQUFnQzs7NkhBQWhDLGdDQUFnQztpSEFBaEMsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBRDVDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7O0FBUy9DLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFvQztJQXFCeEUsWUFDK0IsTUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2YsWUFBaUIsRUFDMUQsS0FBaUI7UUFFekIsS0FBSyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FB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QkFBeEIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLFFBQVE7c0JBQXhCLE1BQU07Z0JBQ1UsTUFBTTtzQkFBdEIsTUFBTTtnQkFDVSxPQUFPO3NCQUF2QixNQUFNO2dCQUNnQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ2tELGVBQWU7c0JBQXJGLFlBQVk7dUJBQUMsZ0NBQWdDLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRDb250ZW50Q2hpbGQsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0LFxuXHRJbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbnB1dCxcblx0T25DaGFuZ2VzLFxuXHRPcHRpb25hbCxcblx0T3V0cHV0LFxuXHRTaW1wbGVDaGFuZ2VzLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNjZXNzb3ItYmFzZS92YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1FbGVtZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0tZWxlbWVudC9mb3JtLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7aXNWYWx1ZVNldCwgc3RyaW5nSXNTZXRBbmRGaWxsZWR9IGZyb20gJy4uLy4uL3V0aWwvdmFsdWVzJztcblxuZXhwb3J0IHR5cGUgQXBwU2VsZWN0T3B0aW9ucyA9IEFycmF5PEFwcFNlbGVjdE9wdGlvbj47XG5leHBvcnQgdHlwZSBBcHBTZWxlY3RPcHRpb24gPSB7XG5cdGlkOiBhbnk7XG5cdG5hbWU6IHN0cmluZztcblx0ZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cdGFjdGl2ZT86IGJvb2xlYW47XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfVFJBTlNMQVRJT05TID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ2tscC5mb3JtLnNlbGVjdC50cmFuc2xhdGlvbnMnKTtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2tscFNlbGVjdE9wdGlvblRwbF0nIH0pXG5leHBvcnQgY2xhc3MgS2xwU2VsZWN0T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAna2xwLWZvcm0tc2VsZWN0Jyxcblx0dGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuXHRwcm92aWRlcnM6IFt7cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBTZWxlY3RDb21wb25lbnQsIG11bHRpOiB0cnVlfV0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBleHRlbmRzIFZhbHVlQWNjZXNzb3JCYXNlPHN0cmluZyB8IHN0cmluZ1tdPiBpbXBsZW1lbnRzIE9uQ2hhbmdlc3tcblx0QElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblx0QElucHV0KCkgb3JpZW50YXRpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XG5cdEBJbnB1dCgpIG9wdGlvbnM6IEFwcFNlbGVjdE9wdGlvbnM7XG5cdEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XG5cdEBJbnB1dCgpIG11bHRpcGxlRGlzcGxheWVkQXNBbW91bnQgPSBmYWxzZTtcblx0QElucHV0KCkgY2xlYXJhYmxlID0gdHJ1ZTtcblx0QElucHV0KCkgdHJ1bmNhdGVPcHRpb25zID0gdHJ1ZTtcblx0QElucHV0KCkgcHVibGljIGRyb3Bkb3duUG9zaXRpb246IHN0cmluZztcblx0QElucHV0KCkgcHVibGljIGN1c3RvbVNlYXJjaEZuOiAodGVybTogc3RyaW5nLCBpdGVtOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgZGVzY3JpcHRpb246IHN0cmluZyB9KSA9PiBib29sZWFuO1xuXHRASW5wdXQoKSBwdWJsaWMgZm9vdGVyRWxlbWVudDogVGVtcGxhdGVSZWY8YW55Pjtcblx0QE91dHB1dCgpIHB1YmxpYyBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXHRAT3V0cHV0KCkgcHVibGljIG9uRW5kUmVhY2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QE91dHB1dCgpIHB1YmxpYyBvbk9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QE91dHB1dCgpIHB1YmxpYyBvbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cdEBPdXRwdXQoKSBwdWJsaWMgb25DbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QFZpZXdDaGlsZCgnbmdTZWxlY3QnKSBuZ1NlbGVjdDtcblx0QENvbnRlbnRDaGlsZChLbHBTZWxlY3RPcHRpb25UZW1wbGF0ZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBjdXN0b21PcHRpb25UcGw6IFRlbXBsYXRlUmVmPGFueT47XG5cblx0cHJpdmF0ZSBsYXN0SXRlbUluZGV4UmVhY2hlZCA9IC0xO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdEBPcHRpb25hbCgpIEBIb3N0KCkgcHJvdGVjdGVkIHBhcmVudDogRm9ybUVsZW1lbnRDb21wb25lbnQsXG5cdFx0QE9wdGlvbmFsKCkgQEhvc3QoKSBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcblx0XHRASW5qZWN0KFNFTEVDVF9UUkFOU0xBVElPTlMpIEBPcHRpb25hbCgpIHByaXZhdGUgdHJhbnNsYXRpb25zOiBhbnksXG5cdFx0cHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcblx0KSB7XG5cdFx0c3VwZXIocGFyZW50LCBjb250cm9sQ29udGFpbmVyKTtcblx0fVxuXG5cblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGlmIChpc1ZhbHVlU2V0KGNoYW5nZXMub3B0aW9ucykpIHtcblx0XHRcdHRoaXMubGFzdEl0ZW1JbmRleFJlYWNoZWQgPSAtMTtcblx0XHR9XG5cdH1cblxuXHRnZXREZWZhdWx0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcpOiAoeDogYW55KSA9PiBzdHJpbmcge1xuXHRcdHN3aXRjaCAoa2V5KSB7XG5cdFx0XHRjYXNlICdwbGFjZWhvbGRlcic6XG5cdFx0XHRcdHJldHVybiAoKSA9PiAnUGljayBhbiBvcHRpb24nO1xuXHRcdFx0Y2FzZSAnYW1vdW50U2VsZWN0ZWQnOlxuXHRcdFx0XHRyZXR1cm4gKGFtb3VudCkgPT4gYCR7YW1vdW50fSBzZWxlY3RlZGA7XG5cdFx0fVxuXHR9XG5cblx0Z2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIHBhcmFtczogYW55ID0gbnVsbCk6IHN0cmluZyB7XG5cdFx0aWYgKGtleSA9PT0gJ3BsYWNlaG9sZGVyJyAmJiBzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLnBsYWNlaG9sZGVyKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnRyYW5zbGF0aW9ucz8uW2tleV0/LihwYXJhbXMpID8/IHRoaXMuZ2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleSkocGFyYW1zKTtcblx0fVxuXG5cdG9uU2Nyb2xsKGxhc3RJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuXHRcdGNvbnN0IHZpc2libGVJdGVtcyA9IHRoaXMubmdTZWxlY3Q/Lml0ZW1zTGlzdD8uZmlsdGVyZWRJdGVtcz8ubGVuZ3RoID8/IDA7XG5cdFx0aWYgKHRoaXMubGFzdEl0ZW1JbmRleFJlYWNoZWQgPCBsYXN0SXRlbUluZGV4ICYmIGxhc3RJdGVtSW5kZXggPT09IHZpc2libGVJdGVtcykge1xuXHRcdFx0dGhpcy5vbkVuZFJlYWNoZWQuZW1pdCgpO1xuXHRcdH1cblx0XHR0aGlzLmxhc3RJdGVtSW5kZXhSZWFjaGVkID0gTWF0aC5tYXgobGFzdEl0ZW1JbmRleCwgdGhpcy5sYXN0SXRlbUluZGV4UmVhY2hlZCk7XG5cdH1cblxuXHRzZWFyY2hRdWVyeUNoYW5nZWQoc2VhcmNoUXVlcnk6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMub25TZWFyY2guZW1pdChzZWFyY2hRdWVyeSk7XG5cdH1cblxuXHRvbk9wZW4oKTogdm9pZCB7XG5cdFx0Ly8gd2FpdGluZyBmb3IgdGhlIHRoaW5nIHRvIHJlbmRlciB1bnRpbCB3ZSBmaXJlIHRoZSBldmVudFxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0dGhpcy5vbk9wZW5lZC5lbWl0KCk7XG5cdFx0XHRpZiAodGhpcy50cnVuY2F0ZU9wdGlvbnMgPT09IGZhbHNlKSB7XG5cdFx0XHRcdGNvbnN0IHdpZHRoczogQXJyYXk8bnVtYmVyPiA9IEFycmF5LmZyb20odGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5uZy1vcHRpb24gZGl2JykpLm1hcChcblx0XHRcdFx0XHQoZTogYW55KSA9PiBlLnNjcm9sbFdpZHRoLFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRjb25zdCBtYXhXaWR0aCA9IE1hdGgubWF4KC4uLndpZHRocyk7XG5cdFx0XHRcdGNvbnN0IGRyb3Bkb3duUGFuZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignbmctZHJvcGRvd24tcGFuZWwnKTtcblx0XHRcdFx0ZHJvcGRvd25QYW5lbC5zdHlsZS53aWR0aCA9IGAke21heFdpZHRoICsgNDB9cHhgO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIGZvY3VzID0gKCk6IHZvaWQgPT4ge1xuXHRcdHRoaXMubmdTZWxlY3QuZm9jdXMoKTtcblx0fVxufVxuIiwiPG5nLXNlbGVjdFxuXHQjbmdTZWxlY3Rcblx0W3BsYWNlaG9sZGVyXT1cImdldFRyYW5zbGF0aW9uKCdwbGFjZWhvbGRlcicpXCJcblx0YmluZExhYmVsPVwibmFtZVwiXG5cdGJpbmRWYWx1ZT1cImlkXCJcblx0W2l0ZW1zXT1cIm9wdGlvbnNcIlxuXHRbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG5cdFsobmdNb2RlbCldPVwiaW5uZXJWYWx1ZVwiXG5cdFtuZ0NsYXNzXT1cIntzaG93RXJyb3JzOiBpc0luRXJyb3JTdGF0ZSgpLCB2ZXJ0aWNhbE9yaWVudGF0aW9uOiBvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ31cIlxuXHQoY2hhbmdlKT1cInNldElubmVyVmFsdWVBbmROb3RpZnkoaW5uZXJWYWx1ZSlcIlxuXHRbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuXHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuXHQoYmx1cik9XCJ0b3VjaCgpOyBvbkJsdXIuZW1pdCgpXCJcblx0KGNsZWFyKT1cIm9uQ2xlYXIuZW1pdCgpXCJcblx0KHNlYXJjaCk9XCJzZWFyY2hRdWVyeUNoYW5nZWQoJGV2ZW50LnRlcm0pXCJcblx0W2Ryb3Bkb3duUG9zaXRpb25dPVwiZHJvcGRvd25Qb3NpdGlvblwiXG5cdFtzZWFyY2hGbl09XCJjdXN0b21TZWFyY2hGblwiXG5cdFtzZWxlY3RPblRhYl09XCJ0cnVlXCJcblx0W3ZpcnR1YWxTY3JvbGxdPVwidHJ1ZVwiXG5cdChzY3JvbGwpPVwib25TY3JvbGwoJGV2ZW50LmVuZClcIlxuXHQob3Blbik9XCJvbk9wZW4oKVwiXG4+XG5cdDxuZy10ZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiBuZy1vcHRpb24tdG1wPlxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21PcHRpb25UcGxcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21PcHRpb25UcGxcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG5cdFx0PGRpdiBbYXR0ci5kYXRhLWN5XT1cIml0ZW0uaWRcIiAqbmdJZj1cIiFjdXN0b21PcHRpb25UcGxcIj5cblx0XHRcdHt7IGl0ZW0ubmFtZSB9fVxuXHRcdFx0PGRpdiAqbmdJZj1cIml0ZW0uZGVzY3JpcHRpb25cIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW0tZGVzY3JpcHRpb25cIj5cblx0XHRcdFx0e3sgaXRlbS5kZXNjcmlwdGlvbiB9fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvbmctdGVtcGxhdGU+XG5cdDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aXBsZSAmJiBtdWx0aXBsZURpc3BsYXllZEFzQW1vdW50ICYmIGlubmVyVmFsdWU/Lmxlbmd0aCA+IDFcIj5cblx0XHQ8bmctdGVtcGxhdGUgbmctbXVsdGktbGFiZWwtdG1wPlxuXHRcdFx0PGRpdiBjbGFzcz1cIm5nLXZhbHVlXCI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibmctdmFsdWUtbGFiZWxcIj57e2dldFRyYW5zbGF0aW9uKCdhbW91bnRTZWxlY3RlZCcsIGlubmVyVmFsdWU/Lmxlbmd0aCl9fTwvc3Bhbj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdDwvbmctY29udGFpbmVyPlxuXHQ8bmctdGVtcGxhdGUgbmctZm9vdGVyLXRtcCAqbmdJZj1cImZvb3RlckVsZW1lbnRcIj5cblx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlckVsZW1lbnRcIj48L25nLWNvbnRhaW5lcj5cblx0PC9uZy10ZW1wbGF0ZT5cbjwvbmctc2VsZWN0PlxuIl19
@@ -1,70 +0,0 @@
1
- import { Component, ContentChild, Input, TemplateRef } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { isValueSet } from '../../util/values';
4
- import { ValueAccessorBase } from '../value-accessor-base/value-accessor-base.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "ngx-sortablejs";
8
- export class SortableItemsComponent extends ValueAccessorBase {
9
- constructor() {
10
- super(...arguments);
11
- this.sortableItemSize = 'lg';
12
- this.useCustomScroll = false;
13
- this.scrollInterval = null;
14
- this.itemsOrderChanged = () => {
15
- this.setInnerValueAndNotify(this.innerValue);
16
- };
17
- this.onItemDrag = (data) => {
18
- // if the item you're dragging is reaching the top, start scrolling.
19
- if (data.relatedRect.top < 100) {
20
- this.scrollPage(100);
21
- }
22
- else {
23
- this.stopScrolling();
24
- }
25
- };
26
- this.onEnd = () => {
27
- this.stopScrolling();
28
- };
29
- }
30
- ngOnInit() {
31
- super.ngOnInit();
32
- if (this.useCustomScroll) {
33
- this.sortablejsOptions = { onUpdate: this.itemsOrderChanged, onMove: this.onItemDrag, onEnd: this.onEnd };
34
- }
35
- else {
36
- this.sortablejsOptions = { onUpdate: this.itemsOrderChanged };
37
- }
38
- }
39
- scrollPage(scrollAmount) {
40
- if (!isValueSet(this.scrollInterval)) {
41
- this.scrollInterval = setInterval(() => {
42
- window.scroll({
43
- top: document.scrollingElement.scrollTop - scrollAmount,
44
- behavior: 'smooth',
45
- });
46
- if (document.scrollingElement.scrollTop <= 100) {
47
- this.stopScrolling();
48
- }
49
- }, 100);
50
- }
51
- }
52
- stopScrolling() {
53
- clearInterval(this.scrollInterval);
54
- this.scrollInterval = null;
55
- }
56
- }
57
- SortableItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SortableItemsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
58
- SortableItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: SortableItemsComponent, selector: "klp-form-sortable-items", inputs: { sortableItemSize: "sortableItemSize", useCustomScroll: "useCustomScroll" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SortableItemsComponent, multi: true }], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #listItem>\n\t<li *ngFor=\"let item of innerValue; index as index\"\n\t\t\tclass=\"sortableItem\"\n\t\t\t[ngClass]=\"{\n\t\t\tlargeSortableItem: sortableItemSize === 'lg',\n\t\t \tsmallSortableItem: sortableItemSize === 'sm'\n\t\t }\"\n\t>\n\t\t<ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item: item, index:index }\"></ng-container>\n\t</li>\n</ng-template>\n\n<ol *ngIf='!disabled'\n\t\t[sortablejs]=\"innerValue\"\n\t\t[sortablejsOptions]=\"sortablejsOptions\"\n\t\tclass=\"itemsContainer\"\n>\n\t<ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n</ol>\n\n<ol *ngIf='disabled' class=\"itemsContainer disabled-mouse-cursor\">\n\t<ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n</ol>\n", styles: [":host{display:block}.itemsContainer{border:1px solid #e6ecf5;border-radius:5px;padding:0;margin-bottom:0}.sortableItem{list-style:none;border-top:1px solid #e6ecf5;cursor:grab}.sortableItem:hover{background:#f8f9fa}.sortableItem:first-child{border-top:none}.largeSortableItem{padding:15px}.smallSortableItem{padding:0 10px}.disabled-mouse-cursor li{cursor:no-drop}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.SortablejsDirective, selector: "[sortablejs]", inputs: ["sortablejs", "sortablejsContainer", "sortablejsOptions", "sortablejsCloneFunction"], outputs: ["sortablejsInit"] }] });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SortableItemsComponent, decorators: [{
60
- type: Component,
61
- args: [{ selector: 'klp-form-sortable-items', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SortableItemsComponent, multi: true }], template: "<ng-template #listItem>\n\t<li *ngFor=\"let item of innerValue; index as index\"\n\t\t\tclass=\"sortableItem\"\n\t\t\t[ngClass]=\"{\n\t\t\tlargeSortableItem: sortableItemSize === 'lg',\n\t\t \tsmallSortableItem: sortableItemSize === 'sm'\n\t\t }\"\n\t>\n\t\t<ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item: item, index:index }\"></ng-container>\n\t</li>\n</ng-template>\n\n<ol *ngIf='!disabled'\n\t\t[sortablejs]=\"innerValue\"\n\t\t[sortablejsOptions]=\"sortablejsOptions\"\n\t\tclass=\"itemsContainer\"\n>\n\t<ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n</ol>\n\n<ol *ngIf='disabled' class=\"itemsContainer disabled-mouse-cursor\">\n\t<ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n</ol>\n", styles: [":host{display:block}.itemsContainer{border:1px solid #e6ecf5;border-radius:5px;padding:0;margin-bottom:0}.sortableItem{list-style:none;border-top:1px solid #e6ecf5;cursor:grab}.sortableItem:hover{background:#f8f9fa}.sortableItem:first-child{border-top:none}.largeSortableItem{padding:15px}.smallSortableItem{padding:0 10px}.disabled-mouse-cursor li{cursor:no-drop}\n"] }]
62
- }], propDecorators: { template: [{
63
- type: ContentChild,
64
- args: [TemplateRef]
65
- }], sortableItemSize: [{
66
- type: Input
67
- }], useCustomScroll: [{
68
- type: Input
69
- }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGFibGUtaXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvc29ydGFibGUtaXRlbXMvc29ydGFibGUtaXRlbXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvc29ydGFibGUtaXRlbXMvc29ydGFibGUtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0RBQXNELENBQUM7Ozs7QUFRdkYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUE2QjtJQU56RTs7UUFRVSxxQkFBZ0IsR0FBZ0IsSUFBSSxDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBR3pCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBVzlCLHNCQUFpQixHQUFHLEdBQUcsRUFBRTtZQUN4QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQztRQUVGLGVBQVUsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLG9FQUFvRTtZQUNwRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNyQjtpQkFBTTtnQkFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDckI7UUFDRixDQUFDLENBQUM7UUFFRixVQUFLLEdBQUcsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQztLQW9CRjtJQTVDQSxRQUFRO1FBQ1AsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUM7U0FDeEc7YUFBTTtZQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUMsQ0FBQztTQUM1RDtJQUNGLENBQUM7SUFtQk8sVUFBVSxDQUFDLFlBQW9CO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQztvQkFDYixHQUFHLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxZQUFZO29CQUN2RCxRQUFRLEVBQUUsUUFBUTtpQkFDbEIsQ0FBQyxDQUFDO2dCQUNILElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsSUFBSSxHQUFHLEVBQUU7b0JBQy9DLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztpQkFDckI7WUFDRixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDUjtJQUNGLENBQUM7SUFFTyxhQUFhO1FBQ3BCLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQzs7bUhBbkRXLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHdJQUZ2QixDQUFDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUMsZ0VBRzdFLFdBQVcsdUVDYjFCLHN2QkF1QkE7MkZEWGEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNDLHlCQUF5QixhQUd4QixDQUFDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDOzhCQUdoRSxRQUFRO3NCQUFsQyxZQUFZO3VCQUFDLFdBQVc7Z0JBQ2hCLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPcHRpb25zfSBmcm9tICdzb3J0YWJsZWpzJztcbmltcG9ydCB7aXNWYWx1ZVNldH0gZnJvbSAnLi4vLi4vdXRpbC92YWx1ZXMnO1xuaW1wb3J0IHtWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNjZXNzb3ItYmFzZS92YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2tscC1mb3JtLXNvcnRhYmxlLWl0ZW1zJyxcblx0dGVtcGxhdGVVcmw6ICcuL3NvcnRhYmxlLWl0ZW1zLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vc29ydGFibGUtaXRlbXMuY29tcG9uZW50LnNjc3MnXSxcblx0cHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogU29ydGFibGVJdGVtc0NvbXBvbmVudCwgbXVsdGk6IHRydWV9XSxcbn0pXG5leHBvcnQgY2xhc3MgU29ydGFibGVJdGVtc0NvbXBvbmVudCBleHRlbmRzIFZhbHVlQWNjZXNzb3JCYXNlPEFycmF5PGFueT4+IGltcGxlbWVudHMgT25Jbml0IHtcblx0QENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgdGVtcGxhdGU7XG5cdEBJbnB1dCgpIHNvcnRhYmxlSXRlbVNpemU6ICdzbScgfCAnbGcnID0gJ2xnJztcblx0QElucHV0KCkgdXNlQ3VzdG9tU2Nyb2xsID0gZmFsc2U7XG5cblx0cHVibGljIHNvcnRhYmxlanNPcHRpb25zOiBPcHRpb25zO1xuXHRwcml2YXRlIHNjcm9sbEludGVydmFsID0gbnVsbDtcblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHRzdXBlci5uZ09uSW5pdCgpO1xuXHRcdGlmICh0aGlzLnVzZUN1c3RvbVNjcm9sbCkge1xuXHRcdFx0dGhpcy5zb3J0YWJsZWpzT3B0aW9ucyA9IHtvblVwZGF0ZTogdGhpcy5pdGVtc09yZGVyQ2hhbmdlZCwgb25Nb3ZlOiB0aGlzLm9uSXRlbURyYWcsIG9uRW5kOiB0aGlzLm9uRW5kfTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5zb3J0YWJsZWpzT3B0aW9ucyA9IHtvblVwZGF0ZTogdGhpcy5pdGVtc09yZGVyQ2hhbmdlZH07XG5cdFx0fVxuXHR9XG5cblx0aXRlbXNPcmRlckNoYW5nZWQgPSAoKSA9PiB7XG5cdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KHRoaXMuaW5uZXJWYWx1ZSk7XG5cdH07XG5cblx0b25JdGVtRHJhZyA9IChkYXRhKSA9PiB7XG5cdFx0Ly8gaWYgdGhlIGl0ZW0geW91J3JlIGRyYWdnaW5nIGlzIHJlYWNoaW5nIHRoZSB0b3AsIHN0YXJ0IHNjcm9sbGluZy5cblx0XHRpZiAoZGF0YS5yZWxhdGVkUmVjdC50b3AgPCAxMDApIHtcblx0XHRcdHRoaXMuc2Nyb2xsUGFnZSgxMDApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnN0b3BTY3JvbGxpbmcoKTtcblx0XHR9XG5cdH07XG5cblx0b25FbmQgPSAoKSA9PiB7XG5cdFx0dGhpcy5zdG9wU2Nyb2xsaW5nKCk7XG5cdH07XG5cblx0cHJpdmF0ZSBzY3JvbGxQYWdlKHNjcm9sbEFtb3VudDogbnVtYmVyKTogdm9pZCB7XG5cdFx0aWYgKCFpc1ZhbHVlU2V0KHRoaXMuc2Nyb2xsSW50ZXJ2YWwpKSB7XG5cdFx0XHR0aGlzLnNjcm9sbEludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuXHRcdFx0XHR3aW5kb3cuc2Nyb2xsKHtcblx0XHRcdFx0XHR0b3A6IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wIC0gc2Nyb2xsQW1vdW50LFxuXHRcdFx0XHRcdGJlaGF2aW9yOiAnc21vb3RoJyxcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmIChkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA8PSAxMDApIHtcblx0XHRcdFx0XHR0aGlzLnN0b3BTY3JvbGxpbmcoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSwgMTAwKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHN0b3BTY3JvbGxpbmcoKTogdm9pZCB7XG5cdFx0Y2xlYXJJbnRlcnZhbCh0aGlzLnNjcm9sbEludGVydmFsKTtcblx0XHR0aGlzLnNjcm9sbEludGVydmFsID0gbnVsbDtcblx0fVxufVxuIiwiPG5nLXRlbXBsYXRlICNsaXN0SXRlbT5cblx0PGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGlubmVyVmFsdWU7IGluZGV4IGFzIGluZGV4XCJcblx0XHRcdGNsYXNzPVwic29ydGFibGVJdGVtXCJcblx0XHRcdFtuZ0NsYXNzXT1cIntcblx0XHRcdGxhcmdlU29ydGFibGVJdGVtOiBzb3J0YWJsZUl0ZW1TaXplID09PSAnbGcnLFxuXHRcdCBcdHNtYWxsU29ydGFibGVJdGVtOiBzb3J0YWJsZUl0ZW1TaXplID09PSAnc20nXG5cdFx0IH1cIlxuXHQ+XG5cdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0sIGluZGV4OmluZGV4IH1cIj48L25nLWNvbnRhaW5lcj5cblx0PC9saT5cbjwvbmctdGVtcGxhdGU+XG5cbjxvbCAqbmdJZj0nIWRpc2FibGVkJ1xuXHRcdFtzb3J0YWJsZWpzXT1cImlubmVyVmFsdWVcIlxuXHRcdFtzb3J0YWJsZWpzT3B0aW9uc109XCJzb3J0YWJsZWpzT3B0aW9uc1wiXG5cdFx0Y2xhc3M9XCJpdGVtc0NvbnRhaW5lclwiXG4+XG5cdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0SXRlbVwiPjwvbmctY29udGFpbmVyPlxuPC9vbD5cblxuPG9sICpuZ0lmPSdkaXNhYmxlZCcgY2xhc3M9XCJpdGVtc0NvbnRhaW5lciBkaXNhYmxlZC1tb3VzZS1jdXJzb3JcIj5cblx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RJdGVtXCI+PC9uZy1jb250YWluZXI+XG48L29sPlxuIl19
@@ -1,22 +0,0 @@
1
- // material.module.ts
2
- import { NgModule } from '@angular/core';
3
- import { MatDatepickerModule } from '@angular/material/datepicker';
4
- import { MatFormFieldModule } from '@angular/material/form-field';
5
- import { MatNativeDateModule } from '@angular/material/core';
6
- import { MatInputModule } from '@angular/material/input';
7
- import { MatButtonModule } from '@angular/material/button';
8
- import * as i0 from "@angular/core";
9
- export class MaterialModule {
10
- }
11
- MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: MaterialModule, imports: [MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule], exports: [MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule] });
13
- MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: MaterialModule, providers: [MatDatepickerModule], imports: [MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule, MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: MaterialModule, decorators: [{
15
- type: NgModule,
16
- args: [{
17
- imports: [MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule],
18
- exports: [MatDatepickerModule, MatFormFieldModule, MatNativeDateModule, MatInputModule, MatButtonModule],
19
- providers: [MatDatepickerModule],
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvbWF0ZXJpYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQjtBQUVyQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBTzNELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsWUFKaEIsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGVBQWUsYUFDN0YsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGVBQWU7NEdBRzNGLGNBQWMsYUFGZixDQUFDLG1CQUFtQixDQUFDLFlBRnRCLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQzdGLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxlQUFlOzJGQUczRixjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUM7b0JBQ3hHLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUM7b0JBQ3hHLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIG1hdGVyaWFsLm1vZHVsZS50c1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFtNYXREYXRlcGlja2VyTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIE1hdE5hdGl2ZURhdGVNb2R1bGUsIE1hdElucHV0TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxuXHRleHBvcnRzOiBbTWF0RGF0ZXBpY2tlck1vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXROYXRpdmVEYXRlTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcblx0cHJvdmlkZXJzOiBbTWF0RGF0ZXBpY2tlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTW9kdWxlIHt9XG4iXX0=