@wlcm/angular 1.1.1 → 17.1.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 (66) hide show
  1. package/core/esm2022/lib/components/calendar-icon/calendar-icon.component.mjs +12 -0
  2. package/core/esm2022/lib/constants/icon.contants.mjs +3 -1
  3. package/core/esm2022/lib/directives/icon.directive.mjs +21 -6
  4. package/core/esm2022/lib/models/icon.models.mjs +2 -1
  5. package/core/fesm2022/wlcm-angular-core.mjs +30 -6
  6. package/core/fesm2022/wlcm-angular-core.mjs.map +1 -1
  7. package/core/lib/components/calendar-icon/calendar-icon.component.d.ts +5 -0
  8. package/core/lib/directives/icon.directive.d.ts +4 -2
  9. package/core/lib/models/icon.models.d.ts +1 -0
  10. package/date-range-picker/README.md +7 -0
  11. package/date-range-picker/esm2022/index.mjs +7 -0
  12. package/date-range-picker/esm2022/lib/components/calendar-header/calendar-header.component.mjs +62 -0
  13. package/date-range-picker/esm2022/lib/components/date-range-picker/date-range-picker.component.mjs +158 -0
  14. package/date-range-picker/esm2022/lib/components/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.mjs +19 -0
  15. package/date-range-picker/esm2022/lib/components/date-range-picker-input/date-range-picker-input.component.mjs +122 -0
  16. package/date-range-picker/esm2022/lib/constants/date-range-selection-model.constants.mjs +10 -0
  17. package/date-range-picker/esm2022/lib/constants/date-range-trigger-selection-model.constants.mjs +10 -0
  18. package/date-range-picker/esm2022/lib/date-range-picker.module.mjs +64 -0
  19. package/date-range-picker/esm2022/lib/directives/date-range-picker-input-base.directive.mjs +92 -0
  20. package/date-range-picker/esm2022/lib/directives/date-range-picker-input-end.directive.mjs +65 -0
  21. package/date-range-picker/esm2022/lib/directives/date-range-picker-input-start.directive.mjs +65 -0
  22. package/date-range-picker/esm2022/lib/directives/date-range-picker-trigger.directive.mjs +80 -0
  23. package/date-range-picker/esm2022/lib/directives/left-calendar.directive.mjs +50 -0
  24. package/date-range-picker/esm2022/lib/directives/right-calendar.directive.mjs +59 -0
  25. package/date-range-picker/esm2022/lib/models/data-range-calendar.models.mjs +43 -0
  26. package/date-range-picker/esm2022/lib/models/date-range-validation.models.mjs +5 -0
  27. package/date-range-picker/esm2022/lib/utils/date-range-input.validators.mjs +16 -0
  28. package/date-range-picker/esm2022/lib/utils/date-range-picker-errors.mjs +9 -0
  29. package/date-range-picker/esm2022/wlcm-angular-date-range-picker.mjs +5 -0
  30. package/date-range-picker/fesm2022/wlcm-angular-date-range-picker.mjs +822 -0
  31. package/date-range-picker/fesm2022/wlcm-angular-date-range-picker.mjs.map +1 -0
  32. package/date-range-picker/index.d.ts +6 -0
  33. package/date-range-picker/lib/components/calendar-header/calendar-header.component.d.ts +20 -0
  34. package/date-range-picker/lib/components/date-range-picker/date-range-picker.component.d.ts +37 -0
  35. package/date-range-picker/lib/components/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.d.ts +8 -0
  36. package/date-range-picker/lib/components/date-range-picker-input/date-range-picker-input.component.d.ts +35 -0
  37. package/date-range-picker/lib/constants/date-range-selection-model.constants.d.ts +5 -0
  38. package/date-range-picker/lib/constants/date-range-trigger-selection-model.constants.d.ts +5 -0
  39. package/date-range-picker/lib/date-range-picker.module.d.ts +10 -0
  40. package/date-range-picker/lib/directives/date-range-picker-input-base.directive.d.ts +32 -0
  41. package/date-range-picker/lib/directives/date-range-picker-input-end.directive.d.ts +16 -0
  42. package/date-range-picker/lib/directives/date-range-picker-input-start.directive.d.ts +17 -0
  43. package/date-range-picker/lib/directives/date-range-picker-trigger.directive.d.ts +26 -0
  44. package/date-range-picker/lib/directives/left-calendar.directive.d.ts +15 -0
  45. package/date-range-picker/lib/directives/right-calendar.directive.d.ts +18 -0
  46. package/date-range-picker/lib/models/data-range-calendar.models.d.ts +21 -0
  47. package/date-range-picker/lib/models/date-range-validation.models.d.ts +3 -0
  48. package/date-range-picker/lib/utils/date-range-input.validators.d.ts +2 -0
  49. package/date-range-picker/lib/utils/date-range-picker-errors.d.ts +4 -0
  50. package/forms/esm2022/lib/forms/components/form-field/form-field.component.mjs +9 -6
  51. package/forms/esm2022/lib/forms/components/select/select.component.mjs +1 -1
  52. package/forms/esm2022/lib/forms/constants/form-elements.constants.mjs +1 -1
  53. package/forms/esm2022/lib/forms/directives/form-field-prefix.directive.mjs +12 -4
  54. package/forms/fesm2022/wlcm-angular-forms.mjs +19 -8
  55. package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
  56. package/forms/lib/forms/components/form-field/form-field.component.d.ts +5 -4
  57. package/forms/lib/forms/directives/form-field-prefix.directive.d.ts +1 -0
  58. package/package.json +2 -1
  59. package/styles/components/date-range-picker/_date-range-picker-body.scss +117 -0
  60. package/styles/components/date-range-picker/_date-range-picker-header.scss +59 -0
  61. package/styles/components/date-range-picker/_date-range-picker-input.scss +38 -0
  62. package/styles/components/date-range-picker/_date-range-picker-panel.scss +21 -0
  63. package/styles/components/date-range-picker/index.scss +11 -0
  64. package/styles/components/forms/_form-field.scss +4 -0
  65. package/styles/core/_all-theme.scss +2 -0
  66. package/styles/core/_utils.scss +2 -0
@@ -0,0 +1,12 @@
1
+ import { Component } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class CalendarIconComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: CalendarIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: CalendarIconComponent, isStandalone: true, selector: "wlcm-calendar-icon", ngImport: i0, template: "<svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"icon/date-grey\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"></rect>\n <path\n d=\"M11,0 C11.5522847,0 12,0.44771525 12,1 L14,1 C15.1045695,1 16,1.8954305 16,3 L16,14 C16,15.1045695 15.1045695,16 14,16 L2,16 C0.8954305,16 0,15.1045695 0,14 L0,3 C0,1.8954305 0.8954305,1 2,1 L4,1 C4,0.44771525 4.44771525,0 5,0 C5.55228475,0 6,0.44771525 6,1 L10,1 C10,0.44771525 10.4477153,0 11,0 Z M14,7 L2,7 L2,14 L14,14 L14,7 Z M4,3 L2,3 L2,5 L14,5 L14,3 L12,3 C12,3.55228475 11.5522847,4 11,4 C10.4477153,4 10,3.55228475 10,3 L6,3 C6,3.55228475 5.55228475,4 5,4 C4.44771525,4 4,3.55228475 4,3 Z\"\n id=\"Combined-Shape\"\n fill=\"#8E9498\"\n fill-rule=\"nonzero\"\n ></path>\n <rect\n id=\"Rectangle\"\n fill=\"#8E9498\"\n x=\"9\"\n y=\"9\"\n width=\"3\"\n height=\"3\"\n rx=\"1\"\n ></rect>\n </g>\n</svg>\n", styles: [":host{display:block;cursor:pointer}:host svg{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: CalendarIconComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'wlcm-calendar-icon', standalone: true, imports: [CommonModule], template: "<svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"icon/date-grey\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"></rect>\n <path\n d=\"M11,0 C11.5522847,0 12,0.44771525 12,1 L14,1 C15.1045695,1 16,1.8954305 16,3 L16,14 C16,15.1045695 15.1045695,16 14,16 L2,16 C0.8954305,16 0,15.1045695 0,14 L0,3 C0,1.8954305 0.8954305,1 2,1 L4,1 C4,0.44771525 4.44771525,0 5,0 C5.55228475,0 6,0.44771525 6,1 L10,1 C10,0.44771525 10.4477153,0 11,0 Z M14,7 L2,7 L2,14 L14,14 L14,7 Z M4,3 L2,3 L2,5 L14,5 L14,3 L12,3 C12,3.55228475 11.5522847,4 11,4 C10.4477153,4 10,3.55228475 10,3 L6,3 C6,3.55228475 5.55228475,4 5,4 C4.44771525,4 4,3.55228475 4,3 Z\"\n id=\"Combined-Shape\"\n fill=\"#8E9498\"\n fill-rule=\"nonzero\"\n ></path>\n <rect\n id=\"Rectangle\"\n fill=\"#8E9498\"\n x=\"9\"\n y=\"9\"\n width=\"3\"\n height=\"3\"\n rx=\"1\"\n ></rect>\n </g>\n</svg>\n", styles: [":host{display:block;cursor:pointer}:host svg{display:block}\n"] }]
11
+ }] });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb3JlL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci1pY29uL2NhbGVuZGFyLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY29yZS9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXItaWNvbi9jYWxlbmRhci1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8scUJBQXFCOzhHQUFyQixxQkFBcUI7a0dBQXJCLHFCQUFxQiw4RUNWbEMsNnBDQWlDQSxzSEQzQlksWUFBWTs7MkZBSVgscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dsY20tY2FsZW5kYXItaWNvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jYWxlbmRhci1pY29uLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJJY29uQ29tcG9uZW50IHt9XG4iLCI8c3ZnXG4gIHdpZHRoPVwiMTZweFwiXG4gIGhlaWdodD1cIjE2cHhcIlxuICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgdmVyc2lvbj1cIjEuMVwiXG4gIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuPlxuICA8Z1xuICAgIGlkPVwiaWNvbi9kYXRlLWdyZXlcIlxuICAgIHN0cm9rZT1cIm5vbmVcIlxuICAgIHN0cm9rZS13aWR0aD1cIjFcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgPlxuICAgIDxyZWN0IGlkPVwiUmVjdGFuZ2xlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPjwvcmVjdD5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0xMSwwIEMxMS41NTIyODQ3LDAgMTIsMC40NDc3MTUyNSAxMiwxIEwxNCwxIEMxNS4xMDQ1Njk1LDEgMTYsMS44OTU0MzA1IDE2LDMgTDE2LDE0IEMxNiwxNS4xMDQ1Njk1IDE1LjEwNDU2OTUsMTYgMTQsMTYgTDIsMTYgQzAuODk1NDMwNSwxNiAwLDE1LjEwNDU2OTUgMCwxNCBMMCwzIEMwLDEuODk1NDMwNSAwLjg5NTQzMDUsMSAyLDEgTDQsMSBDNCwwLjQ0NzcxNTI1IDQuNDQ3NzE1MjUsMCA1LDAgQzUuNTUyMjg0NzUsMCA2LDAuNDQ3NzE1MjUgNiwxIEwxMCwxIEMxMCwwLjQ0NzcxNTI1IDEwLjQ0NzcxNTMsMCAxMSwwIFogTTE0LDcgTDIsNyBMMiwxNCBMMTQsMTQgTDE0LDcgWiBNNCwzIEwyLDMgTDIsNSBMMTQsNSBMMTQsMyBMMTIsMyBDMTIsMy41NTIyODQ3NSAxMS41NTIyODQ3LDQgMTEsNCBDMTAuNDQ3NzE1Myw0IDEwLDMuNTUyMjg0NzUgMTAsMyBMNiwzIEM2LDMuNTUyMjg0NzUgNS41NTIyODQ3NSw0IDUsNCBDNC40NDc3MTUyNSw0IDQsMy41NTIyODQ3NSA0LDMgWlwiXG4gICAgICBpZD1cIkNvbWJpbmVkLVNoYXBlXCJcbiAgICAgIGZpbGw9XCIjOEU5NDk4XCJcbiAgICAgIGZpbGwtcnVsZT1cIm5vbnplcm9cIlxuICAgID48L3BhdGg+XG4gICAgPHJlY3RcbiAgICAgIGlkPVwiUmVjdGFuZ2xlXCJcbiAgICAgIGZpbGw9XCIjOEU5NDk4XCJcbiAgICAgIHg9XCI5XCJcbiAgICAgIHk9XCI5XCJcbiAgICAgIHdpZHRoPVwiM1wiXG4gICAgICBoZWlnaHQ9XCIzXCJcbiAgICAgIHJ4PVwiMVwiXG4gICAgPjwvcmVjdD5cbiAgPC9nPlxuPC9zdmc+XG4iXX0=
@@ -1,11 +1,13 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  import { WlcmIconName } from '../models/icon.models';
3
3
  import { ChevronDownIconComponent } from '../components/chevron-down-icon/chevron-down-icon.component';
4
+ import { CalendarIconComponent } from '../components/calendar-icon/calendar-icon.component';
4
5
  export const DEFAULT_WLCM_ICONS = {
6
+ [WlcmIconName.CALENDAR]: CalendarIconComponent,
5
7
  [WlcmIconName.CHEVRON_DOWN]: ChevronDownIconComponent,
6
8
  };
7
9
  export const WLCM_ICONS = new InjectionToken('WLCM_ICONS', {
8
10
  providedIn: 'root',
9
11
  factory: () => DEFAULT_WLCM_ICONS,
10
12
  });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb250YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvc3JjL2xpYi9jb25zdGFudHMvaWNvbi5jb250YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUV2RyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBYztJQUMzQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRSx3QkFBd0I7Q0FDdEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBOEIsSUFBSSxjQUFjLENBQUMsWUFBWSxFQUFFO0lBQ3BGLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxrQkFBa0I7Q0FDbEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21JY29uTmFtZSwgV2xjbUljb25zIH0gZnJvbSAnLi4vbW9kZWxzL2ljb24ubW9kZWxzJztcbmltcG9ydCB7IENoZXZyb25Eb3duSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY2hldnJvbi1kb3duLWljb24vY2hldnJvbi1kb3duLWljb24uY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfV0xDTV9JQ09OUzogV2xjbUljb25zID0ge1xuICBbV2xjbUljb25OYW1lLkNIRVZST05fRE9XTl06IENoZXZyb25Eb3duSWNvbkNvbXBvbmVudCxcbn07XG5cbmV4cG9ydCBjb25zdCBXTENNX0lDT05TOiBJbmplY3Rpb25Ub2tlbjxXbGNtSWNvbnM+ID0gbmV3IEluamVjdGlvblRva2VuKCdXTENNX0lDT05TJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IERFRkFVTFRfV0xDTV9JQ09OUyxcbn0pO1xuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb250YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvc3JjL2xpYi9jb25zdGFudHMvaWNvbi5jb250YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN2RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU1RixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBYztJQUMzQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxxQkFBcUI7SUFDOUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUUsd0JBQXdCO0NBQ3RELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQThCLElBQUksY0FBYyxDQUFDLFlBQVksRUFBRTtJQUNwRixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsa0JBQWtCO0NBQ2xDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXbGNtSWNvbk5hbWUsIFdsY21JY29ucyB9IGZyb20gJy4uL21vZGVscy9pY29uLm1vZGVscyc7XG5pbXBvcnQgeyBDaGV2cm9uRG93bkljb25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NoZXZyb24tZG93bi1pY29uL2NoZXZyb24tZG93bi1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYWxlbmRhckljb25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NhbGVuZGFyLWljb24vY2FsZW5kYXItaWNvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9XTENNX0lDT05TOiBXbGNtSWNvbnMgPSB7XG4gIFtXbGNtSWNvbk5hbWUuQ0FMRU5EQVJdOiBDYWxlbmRhckljb25Db21wb25lbnQsXG4gIFtXbGNtSWNvbk5hbWUuQ0hFVlJPTl9ET1dOXTogQ2hldnJvbkRvd25JY29uQ29tcG9uZW50LFxufTtcblxuZXhwb3J0IGNvbnN0IFdMQ01fSUNPTlM6IEluamVjdGlvblRva2VuPFdsY21JY29ucz4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1dMQ01fSUNPTlMnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gREVGQVVMVF9XTENNX0lDT05TLFxufSk7XG4iXX0=
@@ -1,21 +1,36 @@
1
- import { Directive, Inject, ViewContainerRef, input } from '@angular/core';
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Directive, Inject, ViewContainerRef, input, output, } from '@angular/core';
2
3
  import { WLCM_ICONS } from '../constants/icon.contants';
4
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
5
+ import { fromEvent } from 'rxjs';
3
6
  import * as i0 from "@angular/core";
4
- export class WlcmIconDirective {
7
+ let WlcmIconDirective = class WlcmIconDirective {
5
8
  constructor(icons, viewContainer) {
6
9
  this.icons = icons;
7
10
  this.viewContainer = viewContainer;
8
11
  this.name = input.required({ alias: 'wlcmIcon' });
12
+ this.clicked = output({ alias: 'wlcmIconClicked' });
13
+ this.handleClick = (ref) => {
14
+ fromEvent(ref.location.nativeElement, 'click', (event) => event)
15
+ .pipe(untilDestroyed(this))
16
+ .subscribe((event) => this.clicked.emit(event));
17
+ };
9
18
  }
10
19
  ngOnInit() {
11
20
  const component = this.icons[this.name()];
12
21
  if (component) {
13
- this.viewContainer.createComponent(component);
22
+ const ref = this.viewContainer.createComponent(component);
23
+ this.handleClick(ref);
14
24
  }
15
25
  }
16
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmIconDirective, deps: [{ token: WLCM_ICONS }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
17
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.5", type: WlcmIconDirective, isStandalone: true, selector: "[wlcmIcon]", inputs: { name: { classPropertyName: "name", publicName: "wlcmIcon", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
18
- }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.5", type: WlcmIconDirective, isStandalone: true, selector: "[wlcmIcon]", inputs: { name: { classPropertyName: "name", publicName: "wlcmIcon", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { clicked: "wlcmIconClicked" }, ngImport: i0 }); }
28
+ };
29
+ WlcmIconDirective = __decorate([
30
+ UntilDestroy(),
31
+ __metadata("design:paramtypes", [Object, ViewContainerRef])
32
+ ], WlcmIconDirective);
33
+ export { WlcmIconDirective };
19
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmIconDirective, decorators: [{
20
35
  type: Directive,
21
36
  args: [{
@@ -26,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
26
41
  type: Inject,
27
42
  args: [WLCM_ICONS]
28
43
  }] }, { type: i0.ViewContainerRef }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBdUIsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPeEQsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUF3QyxLQUFnQixFQUFVLGFBQStCO1FBQXpELFVBQUssR0FBTCxLQUFLLENBQVc7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFGakcsU0FBSSxHQUE4QixLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFNEIsQ0FBQztJQUVyRyxRQUFRO1FBQ04sTUFBTSxTQUFTLEdBQTJCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFbEUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDOzhHQVhVLGlCQUFpQixrQkFHUixVQUFVO2tHQUhuQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBSWMsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3QsIElucHV0U2lnbmFsLCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXbGNtSWNvbk5hbWUsIFdsY21JY29ucyB9IGZyb20gJy4uL21vZGVscy9pY29uLm1vZGVscyc7XG5pbXBvcnQgeyBXTENNX0lDT05TIH0gZnJvbSAnLi4vY29uc3RhbnRzL2ljb24uY29udGFudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2xjbUljb25dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbUljb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBuYW1lOiBJbnB1dFNpZ25hbDxXbGNtSWNvbk5hbWU+ID0gaW5wdXQucmVxdWlyZWQoeyBhbGlhczogJ3dsY21JY29uJyB9KTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFdMQ01fSUNPTlMpIHByaXZhdGUgaWNvbnM6IFdsY21JY29ucywgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTx1bmtub3duPiA9IHRoaXMuaWNvbnNbdGhpcy5uYW1lKCldO1xuXG4gICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIH1cbiAgfVxufVxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxNQUFNLEVBSU4sZ0JBQWdCLEVBQ2hCLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPMUIsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFLNUIsWUFBd0MsS0FBZ0IsRUFBVSxhQUErQjtRQUF6RCxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBSmpHLFNBQUksR0FBOEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRXhFLFlBQU8sR0FBaUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQWNyRSxnQkFBVyxHQUFHLENBQUMsR0FBMEIsRUFBRSxFQUFFO1lBQ25ELFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUM7aUJBQ3pFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzFCLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDO0lBaEJrRyxDQUFDO0lBRXJHLFFBQVE7UUFDTixNQUFNLFNBQVMsR0FBMkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVsRSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxHQUFHLEdBQTBCLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWpGLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7OEdBZlUsaUJBQWlCLGtCQUtSLFVBQVU7a0dBTG5CLGlCQUFpQjs7QUFBakIsaUJBQWlCO0lBTDdCLFlBQVksRUFBRTs2Q0FVb0UsZ0JBQWdCO0dBTHRGLGlCQUFpQixDQXNCN0I7OzJGQXRCWSxpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBTWMsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEluamVjdCxcbiAgSW5wdXRTaWduYWwsXG4gIE9uSW5pdCxcbiAgT3V0cHV0RW1pdHRlclJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgaW5wdXQsXG4gIG91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXbGNtSWNvbk5hbWUsIFdsY21JY29ucyB9IGZyb20gJy4uL21vZGVscy9pY29uLm1vZGVscyc7XG5pbXBvcnQgeyBXTENNX0lDT05TIH0gZnJvbSAnLi4vY29uc3RhbnRzL2ljb24uY29udGFudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuQFVudGlsRGVzdHJveSgpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2xjbUljb25dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbUljb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBuYW1lOiBJbnB1dFNpZ25hbDxXbGNtSWNvbk5hbWU+ID0gaW5wdXQucmVxdWlyZWQoeyBhbGlhczogJ3dsY21JY29uJyB9KTtcblxuICBjbGlja2VkOiBPdXRwdXRFbWl0dGVyUmVmPE1vdXNlRXZlbnQ+ID0gb3V0cHV0KHsgYWxpYXM6ICd3bGNtSWNvbkNsaWNrZWQnIH0pO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0xDTV9JQ09OUykgcHJpdmF0ZSBpY29uczogV2xjbUljb25zLCBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPHVua25vd24+ID0gdGhpcy5pY29uc1t0aGlzLm5hbWUoKV07XG5cbiAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICBjb25zdCByZWY6IENvbXBvbmVudFJlZjx1bmtub3duPiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcblxuICAgICAgdGhpcy5oYW5kbGVDbGljayhyZWYpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2xpY2sgPSAocmVmOiBDb21wb25lbnRSZWY8dW5rbm93bj4pID0+IHtcbiAgICBmcm9tRXZlbnQocmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIChldmVudDogTW91c2VFdmVudCkgPT4gZXZlbnQpXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB0aGlzLmNsaWNrZWQuZW1pdChldmVudCkpO1xuICB9O1xufVxuIl19
@@ -1,5 +1,6 @@
1
1
  export var WlcmIconName;
2
2
  (function (WlcmIconName) {
3
+ WlcmIconName["CALENDAR"] = "CALENDAR";
3
4
  WlcmIconName["CHEVRON_DOWN"] = "CHEVRON_DOWN";
4
5
  })(WlcmIconName || (WlcmIconName = {}));
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL3NyYy9saWIvbW9kZWxzL2ljb24ubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLFlBRVg7QUFGRCxXQUFZLFlBQVk7SUFDdEIsNkNBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUZXLFlBQVksS0FBWixZQUFZLFFBRXZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5leHBvcnQgZW51bSBXbGNtSWNvbk5hbWUge1xuICBDSEVWUk9OX0RPV04gPSAnQ0hFVlJPTl9ET1dOJyxcbn1cblxuZXhwb3J0IHR5cGUgV2xjbUljb25zID0ge1xuICBba2V5IGluIFdsY21JY29uTmFtZV06IENvbXBvbmVudFR5cGU8dW5rbm93bj47XG59O1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL3NyYy9saWIvbW9kZWxzL2ljb24ubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIscUNBQXFCLENBQUE7SUFDckIsNkNBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5leHBvcnQgZW51bSBXbGNtSWNvbk5hbWUge1xuICBDQUxFTkRBUiA9ICdDQUxFTkRBUicsXG4gIENIRVZST05fRE9XTiA9ICdDSEVWUk9OX0RPV04nLFxufVxuXG5leHBvcnQgdHlwZSBXbGNtSWNvbnMgPSB7XG4gIFtrZXkgaW4gV2xjbUljb25OYW1lXTogQ29tcG9uZW50VHlwZTx1bmtub3duPjtcbn07XG4iXX0=
@@ -1,7 +1,9 @@
1
+ import { __decorate, __metadata } from 'tslib';
1
2
  import * as i0 from '@angular/core';
2
- import { Component, InjectionToken, input, Directive, Inject, ChangeDetectionStrategy } from '@angular/core';
3
+ import { Component, InjectionToken, input, output, ViewContainerRef, Directive, Inject, ChangeDetectionStrategy } from '@angular/core';
3
4
  import { CommonModule } from '@angular/common';
4
- import { finalize, tap, audit, of, interval, Observable } from 'rxjs';
5
+ import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
6
+ import { fromEvent, finalize, tap, audit, of, interval, Observable } from 'rxjs';
5
7
  import * as moment from 'moment';
6
8
 
7
9
  class WlcmOption {
@@ -33,6 +35,7 @@ const DEFAULT_QUERY_PARAMS = {
33
35
 
34
36
  var WlcmIconName;
35
37
  (function (WlcmIconName) {
38
+ WlcmIconName["CALENDAR"] = "CALENDAR";
36
39
  WlcmIconName["CHEVRON_DOWN"] = "CHEVRON_DOWN";
37
40
  })(WlcmIconName || (WlcmIconName = {}));
38
41
 
@@ -45,7 +48,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
45
48
  args: [{ selector: 'wlcm-chevron-down-icon', standalone: true, imports: [CommonModule], template: "<svg\n width=\"12px\"\n height=\"7px\"\n viewBox=\"0 0 12 7\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"4-Media-Library\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <g id=\"4.1.0-Filter-by-type\" transform=\"translate(-303.000000, -73.000000)\">\n <g id=\"Group-7\" transform=\"translate(45.000000, 64.000000)\">\n <g id=\"Group\" transform=\"translate(258.000000, 6.000000)\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"12\" height=\"12\"></rect>\n <polyline\n id=\"Path\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n points=\"1 4 6 9 11 4\"\n ></polyline>\n </g>\n </g>\n </g>\n </g>\n</svg>\n" }]
46
49
  }] });
47
50
 
51
+ class CalendarIconComponent {
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: CalendarIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: CalendarIconComponent, isStandalone: true, selector: "wlcm-calendar-icon", ngImport: i0, template: "<svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"icon/date-grey\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"></rect>\n <path\n d=\"M11,0 C11.5522847,0 12,0.44771525 12,1 L14,1 C15.1045695,1 16,1.8954305 16,3 L16,14 C16,15.1045695 15.1045695,16 14,16 L2,16 C0.8954305,16 0,15.1045695 0,14 L0,3 C0,1.8954305 0.8954305,1 2,1 L4,1 C4,0.44771525 4.44771525,0 5,0 C5.55228475,0 6,0.44771525 6,1 L10,1 C10,0.44771525 10.4477153,0 11,0 Z M14,7 L2,7 L2,14 L14,14 L14,7 Z M4,3 L2,3 L2,5 L14,5 L14,3 L12,3 C12,3.55228475 11.5522847,4 11,4 C10.4477153,4 10,3.55228475 10,3 L6,3 C6,3.55228475 5.55228475,4 5,4 C4.44771525,4 4,3.55228475 4,3 Z\"\n id=\"Combined-Shape\"\n fill=\"#8E9498\"\n fill-rule=\"nonzero\"\n ></path>\n <rect\n id=\"Rectangle\"\n fill=\"#8E9498\"\n x=\"9\"\n y=\"9\"\n width=\"3\"\n height=\"3\"\n rx=\"1\"\n ></rect>\n </g>\n</svg>\n", styles: [":host{display:block;cursor:pointer}:host svg{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: CalendarIconComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'wlcm-calendar-icon', standalone: true, imports: [CommonModule], template: "<svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"icon/date-grey\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"></rect>\n <path\n d=\"M11,0 C11.5522847,0 12,0.44771525 12,1 L14,1 C15.1045695,1 16,1.8954305 16,3 L16,14 C16,15.1045695 15.1045695,16 14,16 L2,16 C0.8954305,16 0,15.1045695 0,14 L0,3 C0,1.8954305 0.8954305,1 2,1 L4,1 C4,0.44771525 4.44771525,0 5,0 C5.55228475,0 6,0.44771525 6,1 L10,1 C10,0.44771525 10.4477153,0 11,0 Z M14,7 L2,7 L2,14 L14,14 L14,7 Z M4,3 L2,3 L2,5 L14,5 L14,3 L12,3 C12,3.55228475 11.5522847,4 11,4 C10.4477153,4 10,3.55228475 10,3 L6,3 C6,3.55228475 5.55228475,4 5,4 C4.44771525,4 4,3.55228475 4,3 Z\"\n id=\"Combined-Shape\"\n fill=\"#8E9498\"\n fill-rule=\"nonzero\"\n ></path>\n <rect\n id=\"Rectangle\"\n fill=\"#8E9498\"\n x=\"9\"\n y=\"9\"\n width=\"3\"\n height=\"3\"\n rx=\"1\"\n ></rect>\n </g>\n</svg>\n", styles: [":host{display:block;cursor:pointer}:host svg{display:block}\n"] }]
58
+ }] });
59
+
48
60
  const DEFAULT_WLCM_ICONS = {
61
+ [WlcmIconName.CALENDAR]: CalendarIconComponent,
49
62
  [WlcmIconName.CHEVRON_DOWN]: ChevronDownIconComponent,
50
63
  };
51
64
  const WLCM_ICONS = new InjectionToken('WLCM_ICONS', {
@@ -53,21 +66,32 @@ const WLCM_ICONS = new InjectionToken('WLCM_ICONS', {
53
66
  factory: () => DEFAULT_WLCM_ICONS,
54
67
  });
55
68
 
56
- class WlcmIconDirective {
69
+ let WlcmIconDirective = class WlcmIconDirective {
57
70
  constructor(icons, viewContainer) {
58
71
  this.icons = icons;
59
72
  this.viewContainer = viewContainer;
60
73
  this.name = input.required({ alias: 'wlcmIcon' });
74
+ this.clicked = output({ alias: 'wlcmIconClicked' });
75
+ this.handleClick = (ref) => {
76
+ fromEvent(ref.location.nativeElement, 'click', (event) => event)
77
+ .pipe(untilDestroyed(this))
78
+ .subscribe((event) => this.clicked.emit(event));
79
+ };
61
80
  }
62
81
  ngOnInit() {
63
82
  const component = this.icons[this.name()];
64
83
  if (component) {
65
- this.viewContainer.createComponent(component);
84
+ const ref = this.viewContainer.createComponent(component);
85
+ this.handleClick(ref);
66
86
  }
67
87
  }
68
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmIconDirective, deps: [{ token: WLCM_ICONS }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
69
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.5", type: WlcmIconDirective, isStandalone: true, selector: "[wlcmIcon]", inputs: { name: { classPropertyName: "name", publicName: "wlcmIcon", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
70
- }
89
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.5", type: WlcmIconDirective, isStandalone: true, selector: "[wlcmIcon]", inputs: { name: { classPropertyName: "name", publicName: "wlcmIcon", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { clicked: "wlcmIconClicked" }, ngImport: i0 }); }
90
+ };
91
+ WlcmIconDirective = __decorate([
92
+ UntilDestroy(),
93
+ __metadata("design:paramtypes", [Object, ViewContainerRef])
94
+ ], WlcmIconDirective);
71
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmIconDirective, decorators: [{
72
96
  type: Directive,
73
97
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"wlcm-angular-core.mjs","sources":["../../../core/src/lib/models/option.models.ts","../../../core/src/lib/models/query-params.models.ts","../../../core/src/lib/constants/http.constants.ts","../../../core/src/lib/models/icon.models.ts","../../../core/src/lib/components/chevron-down-icon/chevron-down-icon.component.ts","../../../core/src/lib/components/chevron-down-icon/chevron-down-icon.component.html","../../../core/src/lib/constants/icon.contants.ts","../../../core/src/lib/directives/icon.directive.ts","../../../core/src/lib/utils/stream.utils.ts","../../../core/src/lib/components/close-icon/close-icon.component.ts","../../../core/src/lib/components/close-icon/close-icon.component.html","../../../core/src/lib/components/search-icon/search-icon.component.ts","../../../core/src/lib/components/search-icon/search-icon.component.html","../../../core/src/wlcm-angular-core.ts"],"sourcesContent":["export class WlcmOption {\n constructor(public value: string | boolean, public viewValue: string) {}\n}\n\nexport class WlcmAutocompleteOption extends WlcmOption {\n constructor(public override value: string, public override viewValue: string, public searchValue: string) {\n super(value, viewValue);\n }\n}\n","export enum Order {\n ASC = 'asc',\n DESC = 'desc',\n}\n\nexport interface QueryFilter {\n equal?: string | boolean;\n\n not?: string | boolean;\n\n arrContains?: string[];\n\n oneOf?: string[];\n\n noneOf?: string[];\n\n from?: Date;\n\n to?: Date;\n\n exist?: boolean;\n}\n\nexport interface QueryFilters {\n [key: string]: QueryFilter;\n}\n\nexport interface QueryParams {\n query: string;\n\n page: number;\n\n limit: number;\n\n order?: Order;\n\n filters?: QueryFilters;\n\n sort?: string;\n\n searchKeys?: string[];\n}\n","import { QueryParams } from '../models/query-params.models';\n\nexport const DEFAULT_QUERY_PARAMS: QueryParams = {\n query: '',\n page: 1,\n limit: 10,\n};\n","import { ComponentType } from '@angular/cdk/portal';\n\nexport enum WlcmIconName {\n CHEVRON_DOWN = 'CHEVRON_DOWN',\n}\n\nexport type WlcmIcons = {\n [key in WlcmIconName]: ComponentType<unknown>;\n};\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-chevron-down-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './chevron-down-icon.component.html',\n styleUrl: './chevron-down-icon.component.scss',\n})\nexport class ChevronDownIconComponent {}\n","<svg\n width=\"12px\"\n height=\"7px\"\n viewBox=\"0 0 12 7\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"4-Media-Library\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <g id=\"4.1.0-Filter-by-type\" transform=\"translate(-303.000000, -73.000000)\">\n <g id=\"Group-7\" transform=\"translate(45.000000, 64.000000)\">\n <g id=\"Group\" transform=\"translate(258.000000, 6.000000)\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"12\" height=\"12\"></rect>\n <polyline\n id=\"Path\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n points=\"1 4 6 9 11 4\"\n ></polyline>\n </g>\n </g>\n </g>\n </g>\n</svg>\n","import { InjectionToken } from '@angular/core';\nimport { WlcmIconName, WlcmIcons } from '../models/icon.models';\nimport { ChevronDownIconComponent } from '../components/chevron-down-icon/chevron-down-icon.component';\n\nexport const DEFAULT_WLCM_ICONS: WlcmIcons = {\n [WlcmIconName.CHEVRON_DOWN]: ChevronDownIconComponent,\n};\n\nexport const WLCM_ICONS: InjectionToken<WlcmIcons> = new InjectionToken('WLCM_ICONS', {\n providedIn: 'root',\n factory: () => DEFAULT_WLCM_ICONS,\n});\n","import { Directive, Inject, InputSignal, OnInit, ViewContainerRef, input } from '@angular/core';\nimport { WlcmIconName, WlcmIcons } from '../models/icon.models';\nimport { WLCM_ICONS } from '../constants/icon.contants';\nimport { ComponentType } from '@angular/cdk/portal';\n\n@Directive({\n selector: '[wlcmIcon]',\n standalone: true,\n})\nexport class WlcmIconDirective implements OnInit {\n name: InputSignal<WlcmIconName> = input.required({ alias: 'wlcmIcon' });\n\n constructor(@Inject(WLCM_ICONS) private icons: WlcmIcons, private viewContainer: ViewContainerRef) {}\n\n ngOnInit(): void {\n const component: ComponentType<unknown> = this.icons[this.name()];\n\n if (component) {\n this.viewContainer.createComponent(component);\n }\n }\n}\n","import { EventEmitter } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable, finalize, audit, interval, of, tap, Subscriber } from 'rxjs';\n\nimport * as moment from 'moment';\n\nexport class WlcmStreamUtils {\n static loadingDetector(\n subject: Subject<boolean> | BehaviorSubject<boolean> | EventEmitter<boolean>\n ): <T>(source: Observable<T>) => Observable<T> {\n subject.next(true);\n return function <T>(source: Observable<T>): Observable<T> {\n return source.pipe(finalize(() => subject.next(false)));\n };\n }\n\n static loadingAudit(time: number = 800): (source: Observable<boolean>) => Observable<boolean> {\n let startAt: number;\n\n return (source: Observable<boolean>): Observable<boolean> => {\n return source.pipe(tap((isLoading: boolean) => isLoading && (startAt = moment().valueOf()))).pipe(\n audit((isLoading: boolean) => {\n if (isLoading) return of(null);\n\n const difference: number = time - (moment().valueOf() - startAt);\n\n return interval(difference >= 0 ? difference : 0);\n })\n );\n };\n }\n\n static get emptySource(): Observable<void> {\n return new Observable((subscriber: Subscriber<void>) => {\n subscriber.next();\n subscriber.complete();\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-close-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './close-icon.component.html',\n styleUrl: './close-icon.component.scss',\n})\nexport class CloseIconComponent {}\n","<svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"2-User-Management\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <g\n id=\"2.0.1-Export-users-two-filters\"\n transform=\"translate(-310.000000, -54.000000)\"\n >\n <g id=\"icons/close\" transform=\"translate(310.000000, 54.000000)\">\n <rect\n id=\"Rectangle\"\n fill=\"#EDF0F3\"\n x=\"0\"\n y=\"0\"\n width=\"16\"\n height=\"16\"\n rx=\"4\"\n ></rect>\n <path\n d=\"M12,4 L4,12 M4,4 L12,12\"\n id=\"Combined-Shape\"\n stroke=\"#4A5056\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n ></path>\n </g>\n </g>\n </g>\n</svg>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-search-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './search-icon.component.html',\n styleUrls: ['./search-icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SearchIconComponent {}\n","<svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n style=\"display: block\"\n>\n <g\n id=\"icons/search\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"></rect>\n <path\n d=\"M7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.57234957 13.4815869,10.0236173 12.6063605,11.1922034 L15.1213203,13.7071068 C15.5118446,14.0976311 15.5118446,14.7307961 15.1213203,15.1213203 C14.7307961,15.5118446 14.0976311,15.5118446 13.7071068,15.1213203 L11.1922034,12.6063605 C10.0236173,13.4815869 8.57234957,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 Z M7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 Z\"\n id=\"Combined-Shape\"\n fill=\"currentColor\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n</svg>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wlcm-angular-core.mjs","sources":["../../../core/src/lib/models/option.models.ts","../../../core/src/lib/models/query-params.models.ts","../../../core/src/lib/constants/http.constants.ts","../../../core/src/lib/models/icon.models.ts","../../../core/src/lib/components/chevron-down-icon/chevron-down-icon.component.ts","../../../core/src/lib/components/chevron-down-icon/chevron-down-icon.component.html","../../../core/src/lib/components/calendar-icon/calendar-icon.component.ts","../../../core/src/lib/components/calendar-icon/calendar-icon.component.html","../../../core/src/lib/constants/icon.contants.ts","../../../core/src/lib/directives/icon.directive.ts","../../../core/src/lib/utils/stream.utils.ts","../../../core/src/lib/components/close-icon/close-icon.component.ts","../../../core/src/lib/components/close-icon/close-icon.component.html","../../../core/src/lib/components/search-icon/search-icon.component.ts","../../../core/src/lib/components/search-icon/search-icon.component.html","../../../core/src/wlcm-angular-core.ts"],"sourcesContent":["export class WlcmOption {\n constructor(public value: string | boolean, public viewValue: string) {}\n}\n\nexport class WlcmAutocompleteOption extends WlcmOption {\n constructor(public override value: string, public override viewValue: string, public searchValue: string) {\n super(value, viewValue);\n }\n}\n","export enum Order {\n ASC = 'asc',\n DESC = 'desc',\n}\n\nexport interface QueryFilter {\n equal?: string | boolean;\n\n not?: string | boolean;\n\n arrContains?: string[];\n\n oneOf?: string[];\n\n noneOf?: string[];\n\n from?: Date;\n\n to?: Date;\n\n exist?: boolean;\n}\n\nexport interface QueryFilters {\n [key: string]: QueryFilter;\n}\n\nexport interface QueryParams {\n query: string;\n\n page: number;\n\n limit: number;\n\n order?: Order;\n\n filters?: QueryFilters;\n\n sort?: string;\n\n searchKeys?: string[];\n}\n","import { QueryParams } from '../models/query-params.models';\n\nexport const DEFAULT_QUERY_PARAMS: QueryParams = {\n query: '',\n page: 1,\n limit: 10,\n};\n","import { ComponentType } from '@angular/cdk/portal';\n\nexport enum WlcmIconName {\n CALENDAR = 'CALENDAR',\n CHEVRON_DOWN = 'CHEVRON_DOWN',\n}\n\nexport type WlcmIcons = {\n [key in WlcmIconName]: ComponentType<unknown>;\n};\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-chevron-down-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './chevron-down-icon.component.html',\n styleUrl: './chevron-down-icon.component.scss',\n})\nexport class ChevronDownIconComponent {}\n","<svg\n width=\"12px\"\n height=\"7px\"\n viewBox=\"0 0 12 7\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"4-Media-Library\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <g id=\"4.1.0-Filter-by-type\" transform=\"translate(-303.000000, -73.000000)\">\n <g id=\"Group-7\" transform=\"translate(45.000000, 64.000000)\">\n <g id=\"Group\" transform=\"translate(258.000000, 6.000000)\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"12\" height=\"12\"></rect>\n <polyline\n id=\"Path\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n points=\"1 4 6 9 11 4\"\n ></polyline>\n </g>\n </g>\n </g>\n </g>\n</svg>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-calendar-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './calendar-icon.component.html',\n styleUrl: './calendar-icon.component.scss',\n})\nexport class CalendarIconComponent {}\n","<svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"icon/date-grey\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"></rect>\n <path\n d=\"M11,0 C11.5522847,0 12,0.44771525 12,1 L14,1 C15.1045695,1 16,1.8954305 16,3 L16,14 C16,15.1045695 15.1045695,16 14,16 L2,16 C0.8954305,16 0,15.1045695 0,14 L0,3 C0,1.8954305 0.8954305,1 2,1 L4,1 C4,0.44771525 4.44771525,0 5,0 C5.55228475,0 6,0.44771525 6,1 L10,1 C10,0.44771525 10.4477153,0 11,0 Z M14,7 L2,7 L2,14 L14,14 L14,7 Z M4,3 L2,3 L2,5 L14,5 L14,3 L12,3 C12,3.55228475 11.5522847,4 11,4 C10.4477153,4 10,3.55228475 10,3 L6,3 C6,3.55228475 5.55228475,4 5,4 C4.44771525,4 4,3.55228475 4,3 Z\"\n id=\"Combined-Shape\"\n fill=\"#8E9498\"\n fill-rule=\"nonzero\"\n ></path>\n <rect\n id=\"Rectangle\"\n fill=\"#8E9498\"\n x=\"9\"\n y=\"9\"\n width=\"3\"\n height=\"3\"\n rx=\"1\"\n ></rect>\n </g>\n</svg>\n","import { InjectionToken } from '@angular/core';\nimport { WlcmIconName, WlcmIcons } from '../models/icon.models';\nimport { ChevronDownIconComponent } from '../components/chevron-down-icon/chevron-down-icon.component';\nimport { CalendarIconComponent } from '../components/calendar-icon/calendar-icon.component';\n\nexport const DEFAULT_WLCM_ICONS: WlcmIcons = {\n [WlcmIconName.CALENDAR]: CalendarIconComponent,\n [WlcmIconName.CHEVRON_DOWN]: ChevronDownIconComponent,\n};\n\nexport const WLCM_ICONS: InjectionToken<WlcmIcons> = new InjectionToken('WLCM_ICONS', {\n providedIn: 'root',\n factory: () => DEFAULT_WLCM_ICONS,\n});\n","import {\n ComponentRef,\n Directive,\n Inject,\n InputSignal,\n OnInit,\n OutputEmitterRef,\n ViewContainerRef,\n input,\n output,\n} from '@angular/core';\nimport { WlcmIconName, WlcmIcons } from '../models/icon.models';\nimport { WLCM_ICONS } from '../constants/icon.contants';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { fromEvent } from 'rxjs';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmIcon]',\n standalone: true,\n})\nexport class WlcmIconDirective implements OnInit {\n name: InputSignal<WlcmIconName> = input.required({ alias: 'wlcmIcon' });\n\n clicked: OutputEmitterRef<MouseEvent> = output({ alias: 'wlcmIconClicked' });\n\n constructor(@Inject(WLCM_ICONS) private icons: WlcmIcons, private viewContainer: ViewContainerRef) {}\n\n ngOnInit(): void {\n const component: ComponentType<unknown> = this.icons[this.name()];\n\n if (component) {\n const ref: ComponentRef<unknown> = this.viewContainer.createComponent(component);\n\n this.handleClick(ref);\n }\n }\n\n private handleClick = (ref: ComponentRef<unknown>) => {\n fromEvent(ref.location.nativeElement, 'click', (event: MouseEvent) => event)\n .pipe(untilDestroyed(this))\n .subscribe((event: MouseEvent) => this.clicked.emit(event));\n };\n}\n","import { EventEmitter } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable, finalize, audit, interval, of, tap, Subscriber } from 'rxjs';\n\nimport * as moment from 'moment';\n\nexport class WlcmStreamUtils {\n static loadingDetector(\n subject: Subject<boolean> | BehaviorSubject<boolean> | EventEmitter<boolean>\n ): <T>(source: Observable<T>) => Observable<T> {\n subject.next(true);\n return function <T>(source: Observable<T>): Observable<T> {\n return source.pipe(finalize(() => subject.next(false)));\n };\n }\n\n static loadingAudit(time: number = 800): (source: Observable<boolean>) => Observable<boolean> {\n let startAt: number;\n\n return (source: Observable<boolean>): Observable<boolean> => {\n return source.pipe(tap((isLoading: boolean) => isLoading && (startAt = moment().valueOf()))).pipe(\n audit((isLoading: boolean) => {\n if (isLoading) return of(null);\n\n const difference: number = time - (moment().valueOf() - startAt);\n\n return interval(difference >= 0 ? difference : 0);\n })\n );\n };\n }\n\n static get emptySource(): Observable<void> {\n return new Observable((subscriber: Subscriber<void>) => {\n subscriber.next();\n subscriber.complete();\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-close-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './close-icon.component.html',\n styleUrl: './close-icon.component.scss',\n})\nexport class CloseIconComponent {}\n","<svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n <g\n id=\"2-User-Management\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <g\n id=\"2.0.1-Export-users-two-filters\"\n transform=\"translate(-310.000000, -54.000000)\"\n >\n <g id=\"icons/close\" transform=\"translate(310.000000, 54.000000)\">\n <rect\n id=\"Rectangle\"\n fill=\"#EDF0F3\"\n x=\"0\"\n y=\"0\"\n width=\"16\"\n height=\"16\"\n rx=\"4\"\n ></rect>\n <path\n d=\"M12,4 L4,12 M4,4 L12,12\"\n id=\"Combined-Shape\"\n stroke=\"#4A5056\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n ></path>\n </g>\n </g>\n </g>\n</svg>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-search-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './search-icon.component.html',\n styleUrls: ['./search-icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SearchIconComponent {}\n","<svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n style=\"display: block\"\n>\n <g\n id=\"icons/search\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n >\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"></rect>\n <path\n d=\"M7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.57234957 13.4815869,10.0236173 12.6063605,11.1922034 L15.1213203,13.7071068 C15.5118446,14.0976311 15.5118446,14.7307961 15.1213203,15.1213203 C14.7307961,15.5118446 14.0976311,15.5118446 13.7071068,15.1213203 L11.1922034,12.6063605 C10.0236173,13.4815869 8.57234957,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 Z M7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 Z\"\n id=\"Combined-Shape\"\n fill=\"currentColor\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n</svg>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class CalendarIconComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalendarIconComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<CalendarIconComponent, "wlcm-calendar-icon", never, {}, {}, never, never, true, never>;
5
+ }
@@ -1,12 +1,14 @@
1
- import { InputSignal, OnInit, ViewContainerRef } from '@angular/core';
1
+ import { InputSignal, OnInit, OutputEmitterRef, ViewContainerRef } from '@angular/core';
2
2
  import { WlcmIconName, WlcmIcons } from '../models/icon.models';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class WlcmIconDirective implements OnInit {
5
5
  private icons;
6
6
  private viewContainer;
7
7
  name: InputSignal<WlcmIconName>;
8
+ clicked: OutputEmitterRef<MouseEvent>;
8
9
  constructor(icons: WlcmIcons, viewContainer: ViewContainerRef);
9
10
  ngOnInit(): void;
11
+ private handleClick;
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<WlcmIconDirective, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmIconDirective, "[wlcmIcon]", never, { "name": { "alias": "wlcmIcon"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmIconDirective, "[wlcmIcon]", never, { "name": { "alias": "wlcmIcon"; "required": true; "isSignal": true; }; }, { "clicked": "wlcmIconClicked"; }, never, never, true, never>;
12
14
  }
@@ -1,5 +1,6 @@
1
1
  import { ComponentType } from '@angular/cdk/portal';
2
2
  export declare enum WlcmIconName {
3
+ CALENDAR = "CALENDAR",
3
4
  CHEVRON_DOWN = "CHEVRON_DOWN"
4
5
  }
5
6
  export type WlcmIcons = {
@@ -0,0 +1,7 @@
1
+ # date-range-picker
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test date-range-picker` to execute the unit tests.
@@ -0,0 +1,7 @@
1
+ export { WlcmDateRangePickerModule } from './lib/date-range-picker.module';
2
+ export { WlcmDateRangeInputValidator } from './lib/utils/date-range-input.validators';
3
+ export { WlcmDateRangeValidation } from './lib/models/date-range-validation.models';
4
+ export { WlcmDateRangePickerInputComponent } from './lib/components/date-range-picker-input/date-range-picker-input.component';
5
+ export { DateRangePickerInputEndDirective } from './lib/directives/date-range-picker-input-end.directive';
6
+ export { DateRangePickerInputStartDirective } from './lib/directives/date-range-picker-input-start.directive';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVwRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMxRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwREFBMEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFdsY21EYXRlUmFuZ2VQaWNrZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0IHsgV2xjbURhdGVSYW5nZUlucHV0VmFsaWRhdG9yIH0gZnJvbSAnLi9saWIvdXRpbHMvZGF0ZS1yYW5nZS1pbnB1dC52YWxpZGF0b3JzJztcbmV4cG9ydCB7IFdsY21EYXRlUmFuZ2VWYWxpZGF0aW9uIH0gZnJvbSAnLi9saWIvbW9kZWxzL2RhdGUtcmFuZ2UtdmFsaWRhdGlvbi5tb2RlbHMnO1xuXG5leHBvcnQgeyBXbGNtRGF0ZVJhbmdlUGlja2VySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0L2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJJbnB1dEVuZERpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtZW5kLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBEYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0RGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC1zdGFydC5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,62 @@
1
+ import { Component, Inject, Optional, forwardRef } from '@angular/core';
2
+ import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
3
+ import { WlcmDataRangeCalendar } from '../../models/data-range-calendar.models';
4
+ import { WlcmIconDirective, WlcmIconName } from '@wlcm/angular/core';
5
+ import { MatCalendar } from '@angular/material/datepicker';
6
+ import { CommonModule } from '@angular/common';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/core";
9
+ import * as i2 from "../../models/data-range-calendar.models";
10
+ import * as i3 from "@angular/material/datepicker";
11
+ export class WlcmCalendarHeaderComponent {
12
+ constructor(dateAdapter, rangeCalendar, dateFormats, calendar) {
13
+ this.dateAdapter = dateAdapter;
14
+ this.rangeCalendar = rangeCalendar;
15
+ this.dateFormats = dateFormats;
16
+ this.calendar = calendar;
17
+ this.WlcmIconName = WlcmIconName;
18
+ }
19
+ prev() {
20
+ if (this.rangeCalendar) {
21
+ if (this.calendar.currentView !== 'month') {
22
+ return this.rangeCalendar.prevYear();
23
+ }
24
+ return this.rangeCalendar.prevMonth();
25
+ }
26
+ }
27
+ next() {
28
+ if (this.rangeCalendar) {
29
+ if (this.calendar.currentView !== 'month') {
30
+ return this.rangeCalendar.nextYear();
31
+ }
32
+ return this.rangeCalendar.nextMonth();
33
+ }
34
+ }
35
+ changeCalendarView() {
36
+ if (this.calendar.currentView === 'multi-year') {
37
+ this.calendar.currentView = 'month';
38
+ return;
39
+ }
40
+ this.calendar.currentView = 'multi-year';
41
+ }
42
+ get periodLabel() {
43
+ return this.dateAdapter.format(this.calendar.activeDate, this.dateFormats.display.monthYearLabel);
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCalendarHeaderComponent, deps: [{ token: i1.DateAdapter }, { token: i2.WlcmDataRangeCalendar, optional: true }, { token: MAT_DATE_FORMATS, optional: true }, { token: forwardRef(() => MatCalendar) }], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: WlcmCalendarHeaderComponent, isStandalone: true, selector: "wlcm-calendar-header", ngImport: i0, template: "<div class=\"wlcm-calendar-header\">\n <div class=\"wlcm-calendar-header-button-container\">\n @if(((!rangeCalendar || rangeCalendar.location === 'left') ||\n calendar.currentView !== 'month') && !rangeCalendar.disabled()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-left\"\n (click)=\"prev()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n </div>\n\n <button\n class=\"wlcm-calendar-header-change-view-button\"\n (click)=\"changeCalendarView()\"\n >\n <div class=\"wlcm-calendar-header-period-label\">\n {{ periodLabel }}\n </div>\n\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n\n <div class=\"wlcm-calendar-header-button-container\">\n @if(((!rangeCalendar || rangeCalendar.location === 'right') ||\n calendar.currentView !== 'month') && !rangeCalendar.disabled()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-right\"\n (click)=\"next()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: WlcmIconDirective, selector: "[wlcmIcon]", inputs: ["wlcmIcon"], outputs: ["wlcmIconClicked"] }] }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCalendarHeaderComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'wlcm-calendar-header', standalone: true, imports: [CommonModule, WlcmIconDirective], template: "<div class=\"wlcm-calendar-header\">\n <div class=\"wlcm-calendar-header-button-container\">\n @if(((!rangeCalendar || rangeCalendar.location === 'left') ||\n calendar.currentView !== 'month') && !rangeCalendar.disabled()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-left\"\n (click)=\"prev()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n </div>\n\n <button\n class=\"wlcm-calendar-header-change-view-button\"\n (click)=\"changeCalendarView()\"\n >\n <div class=\"wlcm-calendar-header-period-label\">\n {{ periodLabel }}\n </div>\n\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n\n <div class=\"wlcm-calendar-header-button-container\">\n @if(((!rangeCalendar || rangeCalendar.location === 'right') ||\n calendar.currentView !== 'month') && !rangeCalendar.disabled()) {\n <button\n class=\"wlcm-calendar-header-button wlcm-calendar-header-button-right\"\n (click)=\"next()\"\n >\n <ng-container [wlcmIcon]=\"WlcmIconName.CHEVRON_DOWN\"></ng-container>\n </button>\n }\n </div>\n</div>\n" }]
51
+ }], ctorParameters: () => [{ type: i1.DateAdapter }, { type: i2.WlcmDataRangeCalendar, decorators: [{
52
+ type: Optional
53
+ }] }, { type: undefined, decorators: [{
54
+ type: Optional
55
+ }, {
56
+ type: Inject,
57
+ args: [MAT_DATE_FORMATS]
58
+ }] }, { type: i3.MatCalendar, decorators: [{
59
+ type: Inject,
60
+ args: [forwardRef(() => MatCalendar)]
61
+ }] }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0ZS1yYW5nZS1waWNrZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLWhlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXItaGVhZGVyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBVS9DLE1BQU0sT0FBTywyQkFBMkI7SUFHdEMsWUFDVSxXQUF1QyxFQUN6QixhQUFvQyxFQUNWLFdBQTJCLEVBQzdCLFFBQW9DO1FBSDFFLGdCQUFXLEdBQVgsV0FBVyxDQUE0QjtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFDVixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBNEI7UUFOM0UsaUJBQVksR0FBRyxZQUFZLENBQUM7SUFPbEMsQ0FBQztJQUVKLElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUMxQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkMsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUMxQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkMsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztZQUVwQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRyxDQUFDOzhHQTFDVSwyQkFBMkIsa0dBTWhCLGdCQUFnQiw2QkFDNUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztrR0FQNUIsMkJBQTJCLGdGQ2Z4QyxvckNBb0NBLHlERHpCWSxZQUFZLCtCQUFFLGlCQUFpQjs7MkZBSTlCLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDOzswQkFTdkMsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUNuQyxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0cyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgV2xjbURhdGFSYW5nZUNhbGVuZGFyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEtcmFuZ2UtY2FsZW5kYXIubW9kZWxzJztcbmltcG9ydCB7IFdsY21JY29uRGlyZWN0aXZlLCBXbGNtSWNvbk5hbWUgfSBmcm9tICdAd2xjbS9hbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FsZW5kYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS1jYWxlbmRhci1oZWFkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBXbGNtSWNvbkRpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbUNhbGVuZGFySGVhZGVyQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgV2xjbUljb25OYW1lID0gV2xjbUljb25OYW1lO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPG1vbWVudC5Nb21lbnQ+LFxuICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCByYW5nZUNhbGVuZGFyOiBXbGNtRGF0YVJhbmdlQ2FsZW5kYXIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcm90ZWN0ZWQgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNYXRDYWxlbmRhcikpIHB1YmxpYyBjYWxlbmRhcjogTWF0Q2FsZW5kYXI8bW9tZW50Lk1vbWVudD5cbiAgKSB7fVxuXG4gIHByZXYoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmFuZ2VDYWxlbmRhcikge1xuICAgICAgaWYgKHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgIT09ICdtb250aCcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2VDYWxlbmRhci5wcmV2WWVhcigpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZUNhbGVuZGFyLnByZXZNb250aCgpO1xuICAgIH1cbiAgfVxuXG4gIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmFuZ2VDYWxlbmRhcikge1xuICAgICAgaWYgKHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgIT09ICdtb250aCcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2VDYWxlbmRhci5uZXh0WWVhcigpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZUNhbGVuZGFyLm5leHRNb250aCgpO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUNhbGVuZGFyVmlldygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9PT0gJ211bHRpLXllYXInKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID0gJ21vbnRoJztcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgPSAnbXVsdGkteWVhcic7XG4gIH1cblxuICBnZXQgcGVyaW9kTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlQWRhcHRlci5mb3JtYXQodGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlLCB0aGlzLmRhdGVGb3JtYXRzLmRpc3BsYXkubW9udGhZZWFyTGFiZWwpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2xjbS1jYWxlbmRhci1oZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cIndsY20tY2FsZW5kYXItaGVhZGVyLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICBAaWYoKCghcmFuZ2VDYWxlbmRhciB8fCByYW5nZUNhbGVuZGFyLmxvY2F0aW9uID09PSAnbGVmdCcpIHx8XG4gICAgY2FsZW5kYXIuY3VycmVudFZpZXcgIT09ICdtb250aCcpICYmICFyYW5nZUNhbGVuZGFyLmRpc2FibGVkKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cIndsY20tY2FsZW5kYXItaGVhZGVyLWJ1dHRvbiB3bGNtLWNhbGVuZGFyLWhlYWRlci1idXR0b24tbGVmdFwiXG4gICAgICAoY2xpY2spPVwicHJldigpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyIFt3bGNtSWNvbl09XCJXbGNtSWNvbk5hbWUuQ0hFVlJPTl9ET1dOXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9idXR0b24+XG4gICAgfVxuICA8L2Rpdj5cblxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJ3bGNtLWNhbGVuZGFyLWhlYWRlci1jaGFuZ2Utdmlldy1idXR0b25cIlxuICAgIChjbGljayk9XCJjaGFuZ2VDYWxlbmRhclZpZXcoKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwid2xjbS1jYWxlbmRhci1oZWFkZXItcGVyaW9kLWxhYmVsXCI+XG4gICAgICB7eyBwZXJpb2RMYWJlbCB9fVxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciBbd2xjbUljb25dPVwiV2xjbUljb25OYW1lLkNIRVZST05fRE9XTlwiPjwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cblxuICA8ZGl2IGNsYXNzPVwid2xjbS1jYWxlbmRhci1oZWFkZXItYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgIEBpZigoKCFyYW5nZUNhbGVuZGFyIHx8IHJhbmdlQ2FsZW5kYXIubG9jYXRpb24gPT09ICdyaWdodCcpIHx8XG4gICAgY2FsZW5kYXIuY3VycmVudFZpZXcgIT09ICdtb250aCcpICYmICFyYW5nZUNhbGVuZGFyLmRpc2FibGVkKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cIndsY20tY2FsZW5kYXItaGVhZGVyLWJ1dHRvbiB3bGNtLWNhbGVuZGFyLWhlYWRlci1idXR0b24tcmlnaHRcIlxuICAgICAgKGNsaWNrKT1cIm5leHQoKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciBbd2xjbUljb25dPVwiV2xjbUljb25OYW1lLkNIRVZST05fRE9XTlwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==