rd-outer-component 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +24 -0
  2. package/esm2020/lib/constants/common.constant.mjs +21 -0
  3. package/esm2020/lib/modules/custom-checkbox/custom-checkbox.component.mjs +72 -0
  4. package/esm2020/lib/modules/custom-checkbox/custom-checkbox.module.mjs +20 -0
  5. package/esm2020/lib/modules/custom-checkbox/index.mjs +3 -0
  6. package/esm2020/lib/modules/custom-date/custom-date.component.mjs +77 -0
  7. package/esm2020/lib/modules/custom-date/custom-date.module.mjs +20 -0
  8. package/esm2020/lib/modules/custom-date/index.mjs +3 -0
  9. package/esm2020/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.mjs +58 -0
  10. package/esm2020/lib/modules/custom-filter/custom-filter-input/custom-filter-input.component.mjs +38 -0
  11. package/esm2020/lib/modules/custom-filter/custom-filter-select/custom-filter-select.component.mjs +58 -0
  12. package/esm2020/lib/modules/custom-filter/custom-filter.component.mjs +40 -0
  13. package/esm2020/lib/modules/custom-filter/custom-filter.module.mjs +59 -0
  14. package/esm2020/lib/modules/custom-filter/custom-filter.types.mjs +7 -0
  15. package/esm2020/lib/modules/custom-filter/index.mjs +3 -0
  16. package/esm2020/lib/modules/custom-input/custom-input.component.mjs +227 -0
  17. package/esm2020/lib/modules/custom-input/custom-input.module.mjs +35 -0
  18. package/esm2020/lib/modules/custom-input/index.mjs +3 -0
  19. package/esm2020/lib/modules/custom-input-amount/custom-input-amount.component.mjs +176 -0
  20. package/esm2020/lib/modules/custom-input-amount/custom-input-amount.module.mjs +35 -0
  21. package/esm2020/lib/modules/custom-input-amount/index.mjs +3 -0
  22. package/esm2020/lib/modules/custom-radio/custom-radio.component.mjs +75 -0
  23. package/esm2020/lib/modules/custom-radio/custom-radio.module.mjs +35 -0
  24. package/esm2020/lib/modules/custom-radio/index.mjs +3 -0
  25. package/esm2020/lib/modules/custom-select/custom-select.component.mjs +130 -0
  26. package/esm2020/lib/modules/custom-select/custom-select.module.mjs +35 -0
  27. package/esm2020/lib/modules/custom-select/index.mjs +3 -0
  28. package/esm2020/lib/modules/status-field/index.mjs +3 -0
  29. package/esm2020/lib/modules/status-field/status-field.component.mjs +28 -0
  30. package/esm2020/lib/modules/status-field/status-field.module.mjs +18 -0
  31. package/esm2020/lib/pipes/big-number.pipe.mjs +19 -0
  32. package/esm2020/lib/pipes/index.mjs +3 -0
  33. package/esm2020/lib/pipes/pipes.module.mjs +17 -0
  34. package/esm2020/lib/types/common.enum.mjs +24 -0
  35. package/esm2020/lib/types/common.type.mjs +2 -0
  36. package/esm2020/lib/utils/big-number.mjs +42 -0
  37. package/esm2020/lib/utils/debounce.mjs +15 -0
  38. package/esm2020/public-api.mjs +15 -0
  39. package/esm2020/rd-outer-component.mjs +5 -0
  40. package/fesm2015/rd-outer-component.mjs +1287 -0
  41. package/fesm2015/rd-outer-component.mjs.map +1 -0
  42. package/fesm2020/rd-outer-component.mjs +1277 -0
  43. package/fesm2020/rd-outer-component.mjs.map +1 -0
  44. package/index.d.ts +5 -0
  45. package/lib/constants/common.constant.d.ts +19 -0
  46. package/lib/modules/custom-checkbox/custom-checkbox.component.d.ts +26 -0
  47. package/lib/modules/custom-checkbox/custom-checkbox.module.d.ts +10 -0
  48. package/lib/modules/custom-checkbox/index.d.ts +2 -0
  49. package/lib/modules/custom-date/custom-date.component.d.ts +26 -0
  50. package/lib/modules/custom-date/custom-date.module.d.ts +10 -0
  51. package/lib/modules/custom-date/index.d.ts +2 -0
  52. package/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.d.ts +20 -0
  53. package/lib/modules/custom-filter/custom-filter-input/custom-filter-input.component.d.ts +13 -0
  54. package/lib/modules/custom-filter/custom-filter-select/custom-filter-select.component.d.ts +14 -0
  55. package/lib/modules/custom-filter/custom-filter.component.d.ts +16 -0
  56. package/lib/modules/custom-filter/custom-filter.module.d.ts +18 -0
  57. package/lib/modules/custom-filter/custom-filter.types.d.ts +19 -0
  58. package/lib/modules/custom-filter/index.d.ts +2 -0
  59. package/lib/modules/custom-input/custom-input.component.d.ts +46 -0
  60. package/lib/modules/custom-input/custom-input.module.d.ts +11 -0
  61. package/lib/modules/custom-input/index.d.ts +2 -0
  62. package/lib/modules/custom-input-amount/custom-input-amount.component.d.ts +39 -0
  63. package/lib/modules/custom-input-amount/custom-input-amount.module.d.ts +11 -0
  64. package/lib/modules/custom-input-amount/index.d.ts +2 -0
  65. package/lib/modules/custom-radio/custom-radio.component.d.ts +26 -0
  66. package/lib/modules/custom-radio/custom-radio.module.d.ts +11 -0
  67. package/lib/modules/custom-radio/index.d.ts +2 -0
  68. package/lib/modules/custom-select/custom-select.component.d.ts +41 -0
  69. package/lib/modules/custom-select/custom-select.module.d.ts +11 -0
  70. package/lib/modules/custom-select/index.d.ts +2 -0
  71. package/lib/modules/status-field/index.d.ts +2 -0
  72. package/lib/modules/status-field/status-field.component.d.ts +30 -0
  73. package/lib/modules/status-field/status-field.module.d.ts +8 -0
  74. package/lib/pipes/big-number.pipe.d.ts +7 -0
  75. package/lib/pipes/index.d.ts +2 -0
  76. package/lib/pipes/pipes.module.d.ts +7 -0
  77. package/lib/types/common.enum.d.ts +19 -0
  78. package/lib/types/common.type.d.ts +6 -0
  79. package/lib/utils/big-number.d.ts +2 -0
  80. package/lib/utils/debounce.d.ts +1 -0
  81. package/package.json +34 -0
  82. package/public-api.d.ts +10 -0
  83. package/src/lib/assets/img/icon/checkbox.svg +6 -0
  84. package/src/lib/assets/img/icon/icon-error.svg +5 -0
  85. package/src/lib/assets/img/status/cancel.svg +4 -0
  86. package/src/lib/assets/img/status/failed.svg +4 -0
  87. package/src/lib/assets/img/status/pending.svg +4 -0
  88. package/src/lib/assets/img/status/returned.svg +4 -0
  89. package/src/lib/assets/img/status/returning.svg +4 -0
  90. package/src/lib/assets/img/status/settling.svg +5 -0
  91. package/src/lib/assets/img/status/submitted.svg +3 -0
  92. package/src/lib/assets/img/status/success.svg +4 -0
  93. package/src/lib/assets/img/status/warning.svg +4 -0
  94. package/src/lib/assets/scss/form-item.scss +200 -0
@@ -0,0 +1,58 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "ng-zorro-antd/select";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "../../status-field/status-field.component";
7
+ export class RdFilterSelectComponent {
8
+ constructor() {
9
+ this.handleChangeValue = new EventEmitter();
10
+ this.selectValue = null;
11
+ }
12
+ get mode() {
13
+ return this.item?.selectMode || 'multiple';
14
+ }
15
+ ngOnChanges(changes) {
16
+ if (changes['item'].currentValue) {
17
+ if (!this.item.value) {
18
+ this.selectValue = null;
19
+ }
20
+ else {
21
+ this.selectValue =
22
+ this.mode === 'multiple'
23
+ ? this.item?.value?.split(',')
24
+ : this.item.value;
25
+ }
26
+ }
27
+ }
28
+ ngOnInit() {
29
+ if (!this.item.value)
30
+ return;
31
+ if (this.mode === 'multiple') {
32
+ this.selectValue = this.item?.value.split(',');
33
+ }
34
+ else {
35
+ this.selectValue = this.item.value;
36
+ }
37
+ }
38
+ modelChange(event) {
39
+ if (this.mode === 'multiple') {
40
+ this.item.value = event.join(',');
41
+ }
42
+ else {
43
+ this.item.value = event;
44
+ }
45
+ this.handleChangeValue.emit(event);
46
+ }
47
+ }
48
+ RdFilterSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdFilterSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
+ RdFilterSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RdFilterSelectComponent, selector: "app-rd-filter-select", inputs: { item: "item" }, outputs: { handleChangeValue: "handleChangeValue" }, usesOnChanges: true, ngImport: i0, template: "<nz-select\n class=\"custom-filter-select\"\n [nzPlaceHolder]=\"'All ' + item.title.toLowerCase()\"\n [nzShowArrow]=\"true\"\n [nzMode]=\"mode\"\n [nzAllowClear]=\"false\"\n [nzDropdownClassName]=\"\n mode === 'multiple'\n ? 'custom-multiple-filter-select-dropdown'\n : 'custom-filter-select-dropdown'\n \"\n [(ngModel)]=\"selectValue\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"40\"\n [nzDropdownMatchSelectWidth]=\"false\"\n (ngModelChange)=\"modelChange($event)\"\n [nzCustomTemplate]=\"customTpl\"\n [nzMaxTagCount]=\"3\"\n>\n <nz-option\n *ngFor=\"let option of item.options\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n nzCustomContent\n >\n <app-rd-status-field\n *ngIf=\"item.isStatusField; else defaultTpl\"\n [status]=\"option.value\"\n ></app-rd-status-field>\n <ng-template #defaultTpl> {{ option.label }}</ng-template>\n </nz-option>\n</nz-select>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #removeIcon>\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg> -->\n</ng-template>\n\n<ng-template #customTpl let-selected>\n <!-- <app-status-field\n *ngIf=\"item.isStatusField\"\n [status]=\"selected.nzValue\"\n ></app-status-field> -->\n <ng-container>\n {{ selected.nzLabel }}\n </ng-container>\n</ng-template>\n", styles: ["::ng-deep .custom-filter-select{min-width:113px;min-height:32px}::ng-deep .custom-filter-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .custom-filter-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .custom-filter-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .custom-filter-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .custom-filter-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .custom-filter-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .custom-filter-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .custom-filter-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .custom-filter-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .custom-filter-select.ant-select-focused .ant-select-arrow,::ng-deep .custom-filter-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .custom-filter-select-dropdown .ant-select-dropdown,::ng-deep .custom-multiple-filter-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;width:-moz-fit-content;width:fit-content;min-width:113px}::ng-deep .custom-filter-select-dropdown .ant-select-item-option,::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .custom-filter-select-dropdown .ant-select-item-option-content,::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px}::ng-deep .custom-filter-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-content{border-radius:4px;font-weight:500;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-state{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i2.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.StatusFieldComponent, selector: "app-rd-status-field", inputs: ["status", "text", "size"] }] });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdFilterSelectComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'app-rd-filter-select', template: "<nz-select\n class=\"custom-filter-select\"\n [nzPlaceHolder]=\"'All ' + item.title.toLowerCase()\"\n [nzShowArrow]=\"true\"\n [nzMode]=\"mode\"\n [nzAllowClear]=\"false\"\n [nzDropdownClassName]=\"\n mode === 'multiple'\n ? 'custom-multiple-filter-select-dropdown'\n : 'custom-filter-select-dropdown'\n \"\n [(ngModel)]=\"selectValue\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"40\"\n [nzDropdownMatchSelectWidth]=\"false\"\n (ngModelChange)=\"modelChange($event)\"\n [nzCustomTemplate]=\"customTpl\"\n [nzMaxTagCount]=\"3\"\n>\n <nz-option\n *ngFor=\"let option of item.options\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n nzCustomContent\n >\n <app-rd-status-field\n *ngIf=\"item.isStatusField; else defaultTpl\"\n [status]=\"option.value\"\n ></app-rd-status-field>\n <ng-template #defaultTpl> {{ option.label }}</ng-template>\n </nz-option>\n</nz-select>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #removeIcon>\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg> -->\n</ng-template>\n\n<ng-template #customTpl let-selected>\n <!-- <app-status-field\n *ngIf=\"item.isStatusField\"\n [status]=\"selected.nzValue\"\n ></app-status-field> -->\n <ng-container>\n {{ selected.nzLabel }}\n </ng-container>\n</ng-template>\n", styles: ["::ng-deep .custom-filter-select{min-width:113px;min-height:32px}::ng-deep .custom-filter-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .custom-filter-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .custom-filter-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .custom-filter-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .custom-filter-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .custom-filter-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .custom-filter-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .custom-filter-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .custom-filter-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .custom-filter-select.ant-select-focused .ant-select-arrow,::ng-deep .custom-filter-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .custom-filter-select-dropdown .ant-select-dropdown,::ng-deep .custom-multiple-filter-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;width:-moz-fit-content;width:fit-content;min-width:113px}::ng-deep .custom-filter-select-dropdown .ant-select-item-option,::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .custom-filter-select-dropdown .ant-select-item-option-content,::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px}::ng-deep .custom-filter-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-content{border-radius:4px;font-weight:500;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .custom-multiple-filter-select-dropdown .ant-select-item-option-state{display:none}\n"] }]
53
+ }], propDecorators: { item: [{
54
+ type: Input
55
+ }], handleChangeValue: [{
56
+ type: Output
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZpbHRlci1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLWZpbHRlci9jdXN0b20tZmlsdGVyLXNlbGVjdC9jdXN0b20tZmlsdGVyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tZmlsdGVyL2N1c3RvbS1maWx0ZXItc2VsZWN0L2N1c3RvbS1maWx0ZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVF2QixNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBT1ksc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxnQkFBVyxHQUFvRCxJQUFJLENBQUM7S0FvQ3JFO0lBbENDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLElBQUksVUFBVSxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVc7b0JBQ2QsSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVO3dCQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQzt3QkFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ3ZCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQzdCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDaEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXdCO1FBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUksS0FBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQWUsQ0FBQztTQUNuQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7cUhBdkNVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLGdLQ2ZwQyxtc0ZBOEVBOzRGRC9EYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUt2QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQ3VzdG9tRmlsdGVyIH0gZnJvbSAnLi4vY3VzdG9tLWZpbHRlci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZC1maWx0ZXItc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1maWx0ZXItc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWZpbHRlci1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmRGaWx0ZXJTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpdGVtITogSUN1c3RvbUZpbHRlcjtcbiAgQE91dHB1dCgpIGhhbmRsZUNoYW5nZVZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHNlbGVjdFZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0IG1vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbT8uc2VsZWN0TW9kZSB8fCAnbXVsdGlwbGUnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICBpZiAoIXRoaXMuaXRlbS52YWx1ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdFZhbHVlID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPVxuICAgICAgICAgIHRoaXMubW9kZSA9PT0gJ211bHRpcGxlJ1xuICAgICAgICAgICAgPyB0aGlzLml0ZW0/LnZhbHVlPy5zcGxpdCgnLCcpXG4gICAgICAgICAgICA6IHRoaXMuaXRlbS52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXRlbS52YWx1ZSkgcmV0dXJuO1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdtdWx0aXBsZScpIHtcbiAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPSB0aGlzLml0ZW0/LnZhbHVlLnNwbGl0KCcsJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPSB0aGlzLml0ZW0udmFsdWU7XG4gICAgfVxuICB9XG5cbiAgbW9kZWxDaGFuZ2UoZXZlbnQ6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ211bHRpcGxlJykge1xuICAgICAgdGhpcy5pdGVtLnZhbHVlID0gKGV2ZW50IGFzIHN0cmluZ1tdKS5qb2luKCcsJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IGV2ZW50IGFzIHN0cmluZztcbiAgICB9XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2VWYWx1ZS5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPG56LXNlbGVjdFxuICBjbGFzcz1cImN1c3RvbS1maWx0ZXItc2VsZWN0XCJcbiAgW256UGxhY2VIb2xkZXJdPVwiJ0FsbCAnICsgaXRlbS50aXRsZS50b0xvd2VyQ2FzZSgpXCJcbiAgW256U2hvd0Fycm93XT1cInRydWVcIlxuICBbbnpNb2RlXT1cIm1vZGVcIlxuICBbbnpBbGxvd0NsZWFyXT1cImZhbHNlXCJcbiAgW256RHJvcGRvd25DbGFzc05hbWVdPVwiXG4gICAgbW9kZSA9PT0gJ211bHRpcGxlJ1xuICAgICAgPyAnY3VzdG9tLW11bHRpcGxlLWZpbHRlci1zZWxlY3QtZHJvcGRvd24nXG4gICAgICA6ICdjdXN0b20tZmlsdGVyLXNlbGVjdC1kcm9wZG93bidcbiAgXCJcbiAgWyhuZ01vZGVsKV09XCJzZWxlY3RWYWx1ZVwiXG4gIFtuelN1ZmZpeEljb25dPVwiY3VzdG9tSWNvblwiXG4gIFtuelJlbW92ZUljb25dPVwicmVtb3ZlSWNvblwiXG4gIFtuek9wdGlvbk92ZXJmbG93U2l6ZV09XCI1XCJcbiAgW256T3B0aW9uSGVpZ2h0UHhdPVwiNDBcIlxuICBbbnpEcm9wZG93bk1hdGNoU2VsZWN0V2lkdGhdPVwiZmFsc2VcIlxuICAobmdNb2RlbENoYW5nZSk9XCJtb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgW256Q3VzdG9tVGVtcGxhdGVdPVwiY3VzdG9tVHBsXCJcbiAgW256TWF4VGFnQ291bnRdPVwiM1wiXG4+XG4gIDxuei1vcHRpb25cbiAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGl0ZW0ub3B0aW9uc1wiXG4gICAgW256VmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICBbbnpMYWJlbF09XCJvcHRpb24ubGFiZWxcIlxuICAgIG56Q3VzdG9tQ29udGVudFxuICA+XG4gICAgPGFwcC1yZC1zdGF0dXMtZmllbGRcbiAgICAgICpuZ0lmPVwiaXRlbS5pc1N0YXR1c0ZpZWxkOyBlbHNlIGRlZmF1bHRUcGxcIlxuICAgICAgW3N0YXR1c109XCJvcHRpb24udmFsdWVcIlxuICAgID48L2FwcC1yZC1zdGF0dXMtZmllbGQ+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VHBsPiB7eyBvcHRpb24ubGFiZWwgfX08L25nLXRlbXBsYXRlPlxuICA8L256LW9wdGlvbj5cbjwvbnotc2VsZWN0PlxuXG48bmctdGVtcGxhdGUgI2N1c3RvbUljb24+XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjE2XCJcbiAgICBoZWlnaHQ9XCIxNlwiXG4gICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBkPVwiTTIuNjAxMzYgNC45MDc3N0MyLjgzNjM5IDQuNjg3NDMgMy4yMDU1NSA0LjY5OTM0IDMuNDI1ODkgNC45MzQzN0w4LjAwMDMzIDkuODEzNzdMMTIuNTc0OCA0LjkzNDM3QzEyLjc5NTEgNC42OTkzNCAxMy4xNjQzIDQuNjg3NDMgMTMuMzk5MyA0LjkwNzc3QzEzLjYzNDMgNS4xMjgxMiAxMy42NDYyIDUuNDk3MjcgMTMuNDI1OSA1LjczMjNMOC40MjU4OSAxMS4wNjU2QzguMzE1NjEgMTEuMTgzMyA4LjE2MTU3IDExLjI1IDguMDAwMzMgMTEuMjVDNy44MzkwOSAxMS4yNSA3LjY4NTA0IDExLjE4MzMgNy41NzQ3NiAxMS4wNjU2TDIuNTc0NzYgNS43MzIzQzIuMzU0NDIgNS40OTcyNyAyLjM2NjMzIDUuMTI4MTEgMi42MDEzNiA0LjkwNzc3WlwiXG4gICAgICBmaWxsPVwiIzAzMDcxMlwiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JlbW92ZUljb24+XG4gIDwhLS0gPHN2Z1xuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHdpZHRoPVwiMTJcIlxuICAgIGhlaWdodD1cIjEyXCJcbiAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCJcbiAgICBmaWxsPVwibm9uZVwiXG4gID5cbiAgICA8cGF0aFxuICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGQ9XCJNMi4zOTY0NSAyLjM5NjQ1QzIuNTkxNzEgMi4yMDExOCAyLjkwODI5IDIuMjAxMTggMy4xMDM1NSAyLjM5NjQ1TDYgNS4yOTI4OUw4Ljg5NjQ1IDIuMzk2NDVDOS4wOTE3MSAyLjIwMTE4IDkuNDA4MjkgMi4yMDExOCA5LjYwMzU1IDIuMzk2NDVDOS43OTg4MiAyLjU5MTcxIDkuNzk4ODIgMi45MDgyOSA5LjYwMzU1IDMuMTAzNTVMNi43MDcxMSA2TDkuNjAzNTUgOC44OTY0NUM5Ljc5ODgyIDkuMDkxNzEgOS43OTg4MiA5LjQwODI5IDkuNjAzNTUgOS42MDM1NUM5LjQwODI5IDkuNzk4ODIgOS4wOTE3MSA5Ljc5ODgyIDguODk2NDUgOS42MDM1NUw2IDYuNzA3MTFMMy4xMDM1NSA5LjYwMzU1QzIuOTA4MjkgOS43OTg4MiAyLjU5MTcxIDkuNzk4ODIgMi4zOTY0NSA5LjYwMzU1QzIuMjAxMTggOS40MDgyOSAyLjIwMTE4IDkuMDkxNzEgMi4zOTY0NSA4Ljg5NjQ1TDUuMjkyODkgNkwyLjM5NjQ1IDMuMTAzNTVDMi4yMDExOCAyLjkwODI5IDIuMjAxMTggMi41OTE3MSAyLjM5NjQ1IDIuMzk2NDVaXCJcbiAgICAgIGZpbGw9XCIjMDMwNzEyXCJcbiAgICAvPlxuICA8L3N2Zz4gLS0+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2N1c3RvbVRwbCBsZXQtc2VsZWN0ZWQ+XG4gIDwhLS0gPGFwcC1zdGF0dXMtZmllbGRcbiAgICAqbmdJZj1cIml0ZW0uaXNTdGF0dXNGaWVsZFwiXG4gICAgW3N0YXR1c109XCJzZWxlY3RlZC5uelZhbHVlXCJcbiAgPjwvYXBwLXN0YXR1cy1maWVsZD4gLS0+XG4gIDxuZy1jb250YWluZXI+XG4gICAge3sgc2VsZWN0ZWQubnpMYWJlbCB9fVxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { FilterTypeEnum } from './custom-filter.types';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "ng-zorro-antd/button";
6
+ import * as i3 from "ng-zorro-antd/core/transition-patch";
7
+ import * as i4 from "./custom-filter-date/custom-filter-date.component";
8
+ import * as i5 from "./custom-filter-select/custom-filter-select.component";
9
+ import * as i6 from "./custom-filter-input/custom-filter-input.component";
10
+ export class RdFilterComponent {
11
+ get isClearAble() {
12
+ return this.filterArr.findIndex((item) => !!item.value) > -1;
13
+ }
14
+ constructor(cdf) {
15
+ this.cdf = cdf;
16
+ this.filterArr = [];
17
+ this.defSearchChange = new EventEmitter();
18
+ this.clearFilter = new EventEmitter();
19
+ this.filterTypeEnum = FilterTypeEnum;
20
+ }
21
+ handleChangeValue(value) {
22
+ this.defSearchChange.emit();
23
+ }
24
+ clear() {
25
+ this.clearFilter.emit();
26
+ }
27
+ }
28
+ RdFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
29
+ RdFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RdFilterComponent, selector: "app-rd-filter", inputs: { filterArr: "filterArr" }, outputs: { defSearchChange: "defSearchChange", clearFilter: "clearFilter" }, ngImport: i0, template: "<div class=\"custom-filter-wrap\" *ngIf=\"filterArr?.length\">\n <ng-container *ngFor=\"let item of filterArr\">\n <ng-container [ngSwitch]=\"item.formType\">\n <app-rd-filter-date\n *ngSwitchCase=\"filterTypeEnum.date\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n >\n </app-rd-filter-date>\n <app-rd-filter-select\n *ngSwitchCase=\"filterTypeEnum.select\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n ></app-rd-filter-select>\n <app-rd-filter-input\n *ngSwitchCase=\"filterTypeEnum.input\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n ></app-rd-filter-input>\n </ng-container>\n </ng-container>\n <button\n [disabled]=\"!isClearAble\"\n (click)=\"clear()\"\n class=\"custom-filter-clear\"\n nz-button\n nzType=\"link\"\n >\n Clear filter\n </button>\n</div>\n", styles: [".custom-filter-wrap{display:flex;align-items:center;gap:8px;padding-top:12px}.custom-filter-clear{font-size:13px;font-weight:600;color:#367af6;padding:0}.custom-filter-clear:disabled{color:#9ca3af}\n"], dependencies: [{ 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.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "component", type: i4.RdFilterDateComponent, selector: "app-rd-filter-date", inputs: ["item"], outputs: ["handleChangeValue"] }, { kind: "component", type: i5.RdFilterSelectComponent, selector: "app-rd-filter-select", inputs: ["item"], outputs: ["handleChangeValue"] }, { kind: "component", type: i6.RdFilterInputComponent, selector: "app-rd-filter-input", inputs: ["item"], outputs: ["handleChangeValue"] }] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdFilterComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'app-rd-filter', template: "<div class=\"custom-filter-wrap\" *ngIf=\"filterArr?.length\">\n <ng-container *ngFor=\"let item of filterArr\">\n <ng-container [ngSwitch]=\"item.formType\">\n <app-rd-filter-date\n *ngSwitchCase=\"filterTypeEnum.date\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n >\n </app-rd-filter-date>\n <app-rd-filter-select\n *ngSwitchCase=\"filterTypeEnum.select\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n ></app-rd-filter-select>\n <app-rd-filter-input\n *ngSwitchCase=\"filterTypeEnum.input\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n ></app-rd-filter-input>\n </ng-container>\n </ng-container>\n <button\n [disabled]=\"!isClearAble\"\n (click)=\"clear()\"\n class=\"custom-filter-clear\"\n nz-button\n nzType=\"link\"\n >\n Clear filter\n </button>\n</div>\n", styles: [".custom-filter-wrap{display:flex;align-items:center;gap:8px;padding-top:12px}.custom-filter-clear{font-size:13px;font-weight:600;color:#367af6;padding:0}.custom-filter-clear:disabled{color:#9ca3af}\n"] }]
33
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { filterArr: [{
34
+ type: Input
35
+ }], defSearchChange: [{
36
+ type: Output
37
+ }], clearFilter: [{
38
+ type: Output
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tZmlsdGVyL2N1c3RvbS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLWZpbHRlci9jdXN0b20tZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBaUIsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFPdEUsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVRqQyxjQUFTLEdBQW9CLEVBQUUsQ0FBQztRQUMvQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDN0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO0lBTWEsQ0FBQztJQUU5QyxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7OytHQWxCVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixzS0NkOUIsMjhCQStCQTs0RkRqQmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7d0dBS2hCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbHRlclR5cGVFbnVtLCBJQ3VzdG9tRmlsdGVyIH0gZnJvbSAnLi9jdXN0b20tZmlsdGVyLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJkLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZEZpbHRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZpbHRlckFycjogSUN1c3RvbUZpbHRlcltdID0gW107XG4gIEBPdXRwdXQoKSBkZWZTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsZWFyRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBmaWx0ZXJUeXBlRW51bSA9IEZpbHRlclR5cGVFbnVtO1xuXG4gIGdldCBpc0NsZWFyQWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJBcnIuZmluZEluZGV4KChpdGVtKSA9PiAhIWl0ZW0udmFsdWUpID4gLTE7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgaGFuZGxlQ2hhbmdlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuZGVmU2VhcmNoQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuY2xlYXJGaWx0ZXIuZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3VzdG9tLWZpbHRlci13cmFwXCIgKm5nSWY9XCJmaWx0ZXJBcnI/Lmxlbmd0aFwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlckFyclwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIml0ZW0uZm9ybVR5cGVcIj5cbiAgICAgIDxhcHAtcmQtZmlsdGVyLWRhdGVcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cImZpbHRlclR5cGVFbnVtLmRhdGVcIlxuICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgKGhhbmRsZUNoYW5nZVZhbHVlKT1cImhhbmRsZUNoYW5nZVZhbHVlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9hcHAtcmQtZmlsdGVyLWRhdGU+XG4gICAgICA8YXBwLXJkLWZpbHRlci1zZWxlY3RcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cImZpbHRlclR5cGVFbnVtLnNlbGVjdFwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAoaGFuZGxlQ2hhbmdlVmFsdWUpPVwiaGFuZGxlQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXG4gICAgICA+PC9hcHAtcmQtZmlsdGVyLXNlbGVjdD5cbiAgICAgIDxhcHAtcmQtZmlsdGVyLWlucHV0XG4gICAgICAgICpuZ1N3aXRjaENhc2U9XCJmaWx0ZXJUeXBlRW51bS5pbnB1dFwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAoaGFuZGxlQ2hhbmdlVmFsdWUpPVwiaGFuZGxlQ2hhbmdlVmFsdWUoJGV2ZW50KVwiXG4gICAgICA+PC9hcHAtcmQtZmlsdGVyLWlucHV0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhaXNDbGVhckFibGVcIlxuICAgIChjbGljayk9XCJjbGVhcigpXCJcbiAgICBjbGFzcz1cImN1c3RvbS1maWx0ZXItY2xlYXJcIlxuICAgIG56LWJ1dHRvblxuICAgIG56VHlwZT1cImxpbmtcIlxuICA+XG4gICAgQ2xlYXIgZmlsdGVyXG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
4
+ import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
5
+ import { FormsModule } from '@angular/forms';
6
+ import { RdFilterComponent } from './custom-filter.component';
7
+ import { NzSelectModule } from 'ng-zorro-antd/select';
8
+ import { NzButtonModule } from 'ng-zorro-antd/button';
9
+ import { RdStatusFieldModule } from '../status-field/status-field.module';
10
+ import { NzInputModule } from 'ng-zorro-antd/input';
11
+ import { RdFilterDateComponent } from './custom-filter-date/custom-filter-date.component';
12
+ import { RdFilterInputComponent } from './custom-filter-input/custom-filter-input.component';
13
+ import { RdFilterSelectComponent } from './custom-filter-select/custom-filter-select.component';
14
+ import * as i0 from "@angular/core";
15
+ export class RdFilterModule {
16
+ }
17
+ RdFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ RdFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RdFilterModule, declarations: [RdFilterComponent,
19
+ RdFilterDateComponent,
20
+ RdFilterSelectComponent,
21
+ RdFilterInputComponent], imports: [CommonModule,
22
+ NzDatePickerModule,
23
+ NzDropDownModule,
24
+ NzSelectModule,
25
+ NzButtonModule,
26
+ NzInputModule,
27
+ FormsModule,
28
+ RdStatusFieldModule], exports: [RdFilterComponent] });
29
+ RdFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdFilterModule, imports: [CommonModule,
30
+ NzDatePickerModule,
31
+ NzDropDownModule,
32
+ NzSelectModule,
33
+ NzButtonModule,
34
+ NzInputModule,
35
+ FormsModule,
36
+ RdStatusFieldModule] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdFilterModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ declarations: [
41
+ RdFilterComponent,
42
+ RdFilterDateComponent,
43
+ RdFilterSelectComponent,
44
+ RdFilterInputComponent,
45
+ ],
46
+ imports: [
47
+ CommonModule,
48
+ NzDatePickerModule,
49
+ NzDropDownModule,
50
+ NzSelectModule,
51
+ NzButtonModule,
52
+ NzInputModule,
53
+ FormsModule,
54
+ RdStatusFieldModule,
55
+ ],
56
+ exports: [RdFilterComponent],
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZpbHRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tZmlsdGVyL2N1c3RvbS1maWx0ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFxQmhHLE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsaUJBakJ2QixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QixzQkFBc0IsYUFHdEIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGNBQWM7UUFDZCxhQUFhO1FBQ2IsV0FBVztRQUNYLG1CQUFtQixhQUVYLGlCQUFpQjs2R0FFaEIsY0FBYyxZQVh2QixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsY0FBYztRQUNkLGFBQWE7UUFDYixXQUFXO1FBQ1gsbUJBQW1COzRGQUlWLGNBQWM7a0JBbkIxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOekRhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2RhdGUtcGlja2VyJztcbmltcG9ydCB7IE56RHJvcERvd25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2Ryb3Bkb3duJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE56U2VsZWN0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9zZWxlY3QnO1xuaW1wb3J0IHsgTnpCdXR0b25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2J1dHRvbic7XG5pbXBvcnQgeyBSZFN0YXR1c0ZpZWxkTW9kdWxlIH0gZnJvbSAnLi4vc3RhdHVzLWZpZWxkL3N0YXR1cy1maWVsZC5tb2R1bGUnO1xuaW1wb3J0IHsgTnpJbnB1dE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaW5wdXQnO1xuaW1wb3J0IHsgUmRGaWx0ZXJEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tZmlsdGVyLWRhdGUvY3VzdG9tLWZpbHRlci1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZEZpbHRlcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tZmlsdGVyLWlucHV0L2N1c3RvbS1maWx0ZXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFJkRmlsdGVyU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tZmlsdGVyLXNlbGVjdC9jdXN0b20tZmlsdGVyLXNlbGVjdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBSZEZpbHRlckNvbXBvbmVudCxcbiAgICBSZEZpbHRlckRhdGVDb21wb25lbnQsXG4gICAgUmRGaWx0ZXJTZWxlY3RDb21wb25lbnQsXG4gICAgUmRGaWx0ZXJJbnB1dENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOekRhdGVQaWNrZXJNb2R1bGUsXG4gICAgTnpEcm9wRG93bk1vZHVsZSxcbiAgICBOelNlbGVjdE1vZHVsZSxcbiAgICBOekJ1dHRvbk1vZHVsZSxcbiAgICBOeklucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJkU3RhdHVzRmllbGRNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtSZEZpbHRlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJkRmlsdGVyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export var FilterTypeEnum;
2
+ (function (FilterTypeEnum) {
3
+ FilterTypeEnum[FilterTypeEnum["input"] = 1] = "input";
4
+ FilterTypeEnum[FilterTypeEnum["select"] = 2] = "select";
5
+ FilterTypeEnum[FilterTypeEnum["date"] = 3] = "date";
6
+ })(FilterTypeEnum || (FilterTypeEnum = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZpbHRlci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1saWIvc3JjL2xpYi9tb2R1bGVzL2N1c3RvbS1maWx0ZXIvY3VzdG9tLWZpbHRlci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLHFEQUFTLENBQUE7SUFDVCx1REFBVSxDQUFBO0lBQ1YsbURBQVEsQ0FBQTtBQUNWLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE56U2VsZWN0TW9kZVR5cGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3NlbGVjdCc7XG5cbmV4cG9ydCBlbnVtIEZpbHRlclR5cGVFbnVtIHtcbiAgaW5wdXQgPSAxLFxuICBzZWxlY3QgPSAyLFxuICBkYXRlID0gMyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3VzdG9tRmlsdGVyIHtcbiAga2V5OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGZvcm1UeXBlOiBGaWx0ZXJUeXBlRW51bTtcbiAgdmFsdWU6IHN0cmluZztcbiAgb3B0aW9ucz86IEFycmF5PHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IG51bWJlcjsgaWNvbj86IHN0cmluZyB9PjtcbiAgc2VsZWN0TW9kZT86IE56U2VsZWN0TW9kZVR5cGU7XG4gIGlzU3RhdHVzRmllbGQ/OiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './custom-filter.component';
2
+ export * from './custom-filter.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tZmlsdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3VzdG9tLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tZmlsdGVyLm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,227 @@
1
+ import { Component, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "ng-zorro-antd/input";
7
+ import * as i4 from "ngx-mask";
8
+ export class CustomInputComponent {
9
+ get currentErrorMessage() {
10
+ if (!this.errors)
11
+ return '';
12
+ const firstError = Object.keys(this.errors)[0];
13
+ if (firstError === 'required' && !this.errorMessages?.['required']) {
14
+ return `Please enter ${this.label.toLowerCase()}`;
15
+ }
16
+ if (firstError === 'minLength' && !this.errorMessages?.['minLength']) {
17
+ return `Length cannot be less than the minimum length ${this.minLength}`;
18
+ }
19
+ if (firstError === 'maxLength' && !this.errorMessages?.['maxLength']) {
20
+ return `Length cannot exceed the maximum length ${this.maxLength}`;
21
+ }
22
+ return this.errorMessages[firstError] || 'Validation failed';
23
+ }
24
+ get showError() {
25
+ return this.touched && !!this.errors;
26
+ }
27
+ constructor(cdr) {
28
+ this.cdr = cdr;
29
+ this.label = '';
30
+ this.symbol = '';
31
+ this.name = '';
32
+ this.disabled = true;
33
+ this.maskNumber = 6;
34
+ this.maskType = 'text';
35
+ this.required = false;
36
+ this.type = 'text';
37
+ this.errorMessages = {
38
+ pattern: 'Invalid format',
39
+ custom: 'Validation failed',
40
+ };
41
+ this.valueChange = new EventEmitter();
42
+ this.focus = new EventEmitter();
43
+ this.blur = new EventEmitter();
44
+ this.value = '';
45
+ this.isFocused = false;
46
+ this.touched = false;
47
+ this.onChange = () => { };
48
+ this.onTouched = () => { };
49
+ this.control = null;
50
+ this.onValidatorChange = () => { };
51
+ this.errors = null;
52
+ }
53
+ writeValue(value) {
54
+ this.value = value;
55
+ this.validate(null);
56
+ }
57
+ registerOnChange(fn) {
58
+ this.onChange = fn;
59
+ }
60
+ registerOnTouched(fn) {
61
+ this.onTouched = fn;
62
+ }
63
+ setDisabledState(isDisabled) {
64
+ this.disabled = isDisabled;
65
+ this.cdr.markForCheck();
66
+ }
67
+ onBlur() {
68
+ this.isFocused = false;
69
+ this.touched = true;
70
+ this.onTouched();
71
+ this.blur.emit();
72
+ // 在失焦时重新验证
73
+ if (this.control) {
74
+ const errors = this.validate(this.control);
75
+ this.control.setErrors(errors);
76
+ if (this.onValidatorChange) {
77
+ this.onValidatorChange();
78
+ }
79
+ }
80
+ this.cdr.markForCheck();
81
+ }
82
+ handleValueChange(value) {
83
+ let currValue;
84
+ if (this.maskType === 'amount') {
85
+ currValue = value.replace(/,/g, '');
86
+ }
87
+ else {
88
+ currValue = value?.trim() || value;
89
+ }
90
+ this.value = currValue;
91
+ this.onChange(currValue);
92
+ this.valueChange.emit(currValue);
93
+ // 标记为已触摸
94
+ this.touched = true;
95
+ this.onTouched();
96
+ // 手动触发验证
97
+ if (this.control) {
98
+ // 设置错误状态
99
+ const errors = this.validate(this.control);
100
+ this.control.setErrors(errors);
101
+ // 通知验证器变化
102
+ if (this.onValidatorChange) {
103
+ this.onValidatorChange();
104
+ }
105
+ }
106
+ this.cdr.markForCheck();
107
+ }
108
+ // TODO: QX兼容angular原生校验
109
+ validate(control) {
110
+ if (!control)
111
+ return null;
112
+ const errors = {};
113
+ let value;
114
+ if (this.maskType === 'amount') {
115
+ value = control?.value?.replace(/,/g, '');
116
+ }
117
+ else {
118
+ value = control?.value?.trim();
119
+ }
120
+ // 必填验证
121
+ if (this.required && !value) {
122
+ errors['required'] = true;
123
+ }
124
+ // 长度验证
125
+ if (value && typeof value === 'string') {
126
+ if (this.minLength && value.length < this.minLength) {
127
+ errors['minLength'] = {
128
+ requiredLength: this.minLength,
129
+ actualLength: value.length,
130
+ };
131
+ }
132
+ if (this.maxLength && value.length > this.maxLength) {
133
+ errors['maxLength'] = {
134
+ requiredLength: this.maxLength,
135
+ actualLength: value.length,
136
+ };
137
+ }
138
+ }
139
+ // 正则验证
140
+ if (this.pattern && value) {
141
+ const pattern = this.pattern instanceof RegExp
142
+ ? this.pattern
143
+ : new RegExp(this.pattern);
144
+ if (!pattern.test(value)) {
145
+ errors['pattern'] = { requiredPattern: pattern, actualValue: value };
146
+ }
147
+ }
148
+ // 自定义验证
149
+ if (this.customValidator) {
150
+ const customErrors = this.customValidator(control);
151
+ if (customErrors) {
152
+ Object.assign(errors, customErrors);
153
+ }
154
+ }
155
+ this.errors = Object.keys(errors).length > 0 ? errors : null;
156
+ // 手动设置控件错误
157
+ if (this.errors) {
158
+ control.setErrors(this.errors);
159
+ }
160
+ return this.errors;
161
+ }
162
+ }
163
+ CustomInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
164
+ CustomInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomInputComponent, selector: "app-rd-input", inputs: { label: "label", symbol: "symbol", name: "name", disabled: "disabled", maskNumber: "maskNumber", maskType: "maskType", required: "required", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", pattern: "pattern", customValidator: "customValidator", type: "type", errorMessages: "errorMessages" }, outputs: { valueChange: "valueChange", focus: "focus", blur: "blur" }, providers: [
165
+ {
166
+ provide: NG_VALUE_ACCESSOR,
167
+ useExisting: forwardRef(() => CustomInputComponent),
168
+ multi: true,
169
+ },
170
+ {
171
+ provide: NG_VALIDATORS,
172
+ useExisting: forwardRef(() => CustomInputComponent),
173
+ multi: true,
174
+ },
175
+ ], ngImport: i0, template: "<div>\n <div class=\"form-item\" [ngClass]=\"{ disabled: disabled, error: showError }\">\n <input\n nz-input\n nzBorderless\n placeholder=\" \"\n [name]=\"name\"\n [type]=\"type\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n [allowNegativeNumbers]=\"true\"\n [dropSpecialCharacters]=\"false\"\n [mask]=\"maskType === 'amount' ? 'separator.' + maskNumber : ''\"\n [thousandSeparator]=\"maskType === 'amount' ? ',' : ''\"\n class=\"form-item-input\"\n />\n <div class=\"form-item-label\">{{ label }}</div>\n </div>\n <div *ngIf=\"showError\" class=\"form-item-error\">\n <img src=\"/assets/img/icon/icon-error.svg\" />\n {{ currentErrorMessage }}\n </div>\n</div>\n", styles: [".form-item{position:relative;border-radius:4px;border:1px solid #e5e7eb;background-color:#fff;width:100%;margin-top:16px;min-height:64px}.form-item .form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}.form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:500}.form-item-input{color:#030712;font-size:14px;width:100%;font-weight:500;padding:18px 16px}.form-item-input:focus,.form-item-input:not(:placeholder-shown){top:10px}.form-item .form-item-input:focus~.form-item-label,.form-item .form-item-input:not(:placeholder-shown)~.form-item-label{top:16px;font-size:12px}.form-item-select{width:100%}.form-item-select ::ng-deep .ant-select-selection-item{color:#030712;font-size:14px;font-weight:500}.form-item.selected .form-item-label{top:16px;font-size:12px}.form-item.selected .form-item-select{top:10px}.form-item.disabled{background-color:#f3f4f6;border-color:#d1d5db}.form-item.disabled .form-item-label,.form-item.disabled .form-item-input{color:#9ca3af}.form-item.disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}.form-item.error{border-color:#e51c36}.form-item-check{position:relative;background-color:#fff;width:100%;margin-top:16px}.form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}.form-item-error img{width:16px}.form-number-item{position:relative;border-radius:12px;padding:12px 6px;background-color:#fff;border:1px solid #e5e7eb;width:100%;margin-top:16px}.form-number-item .item-label{color:#6b7280;font-size:12px;padding:0 12px;font-weight:500}.form-number-item .item-content{display:flex;align-items:center;font-size:32px;font-weight:600;line-height:48px;color:#9ca3af}.form-number-item .item-content-value{flex:1;font-size:32px;font-weight:600;line-height:48px;color:#030712;border:none}.form-number-item .item-content-value:focus,.form-number-item .item-content-value:active,.form-number-item .item-content-value:hover{outline:none;box-shadow:none}.form-number-item .item-content-value ::ng-deep .ant-input-number-handler-wrap{display:none}.form-number-item .item-content-value ::ng-deep .ant-input-number-input{font-size:32px;font-weight:600;line-height:48px}.form-number-item .item-content-value ::ng-deep .ant-input-number-input::placeholder{color:#9ca3af}.form-number-item .item-content-symbol{flex-shrink:0}.form-number-item ::ng-deep .item-warning{font-weight:500;font-size:12px;color:#6b7280;margin-top:4px;padding:0 12px}.form-number-item.disabled{background-color:#f3f4f6;border-color:#d1d5db}.form-number-item.disabled .item-label,.form-number-item.disabled .item-content-value{color:#9ca3af}.form-number-item.error{border-color:#e51c36}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i4.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }] });
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomInputComponent, decorators: [{
177
+ type: Component,
178
+ args: [{ selector: 'app-rd-input', providers: [
179
+ {
180
+ provide: NG_VALUE_ACCESSOR,
181
+ useExisting: forwardRef(() => CustomInputComponent),
182
+ multi: true,
183
+ },
184
+ {
185
+ provide: NG_VALIDATORS,
186
+ useExisting: forwardRef(() => CustomInputComponent),
187
+ multi: true,
188
+ },
189
+ ], template: "<div>\n <div class=\"form-item\" [ngClass]=\"{ disabled: disabled, error: showError }\">\n <input\n nz-input\n nzBorderless\n placeholder=\" \"\n [name]=\"name\"\n [type]=\"type\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n [allowNegativeNumbers]=\"true\"\n [dropSpecialCharacters]=\"false\"\n [mask]=\"maskType === 'amount' ? 'separator.' + maskNumber : ''\"\n [thousandSeparator]=\"maskType === 'amount' ? ',' : ''\"\n class=\"form-item-input\"\n />\n <div class=\"form-item-label\">{{ label }}</div>\n </div>\n <div *ngIf=\"showError\" class=\"form-item-error\">\n <img src=\"/assets/img/icon/icon-error.svg\" />\n {{ currentErrorMessage }}\n </div>\n</div>\n", styles: [".form-item{position:relative;border-radius:4px;border:1px solid #e5e7eb;background-color:#fff;width:100%;margin-top:16px;min-height:64px}.form-item .form-item-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}.form-item-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:all .3s ease;pointer-events:none;z-index:1;font-size:14px;font-weight:500}.form-item-input{color:#030712;font-size:14px;width:100%;font-weight:500;padding:18px 16px}.form-item-input:focus,.form-item-input:not(:placeholder-shown){top:10px}.form-item .form-item-input:focus~.form-item-label,.form-item .form-item-input:not(:placeholder-shown)~.form-item-label{top:16px;font-size:12px}.form-item-select{width:100%}.form-item-select ::ng-deep .ant-select-selection-item{color:#030712;font-size:14px;font-weight:500}.form-item.selected .form-item-label{top:16px;font-size:12px}.form-item.selected .form-item-select{top:10px}.form-item.disabled{background-color:#f3f4f6;border-color:#d1d5db}.form-item.disabled .form-item-label,.form-item.disabled .form-item-input{color:#9ca3af}.form-item.disabled ::ng-deep .ant-select-selection-item{color:#9ca3af}.form-item.error{border-color:#e51c36}.form-item-check{position:relative;background-color:#fff;width:100%;margin-top:16px}.form-item-error{color:#d2152e;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:4px}.form-item-error img{width:16px}.form-number-item{position:relative;border-radius:12px;padding:12px 6px;background-color:#fff;border:1px solid #e5e7eb;width:100%;margin-top:16px}.form-number-item .item-label{color:#6b7280;font-size:12px;padding:0 12px;font-weight:500}.form-number-item .item-content{display:flex;align-items:center;font-size:32px;font-weight:600;line-height:48px;color:#9ca3af}.form-number-item .item-content-value{flex:1;font-size:32px;font-weight:600;line-height:48px;color:#030712;border:none}.form-number-item .item-content-value:focus,.form-number-item .item-content-value:active,.form-number-item .item-content-value:hover{outline:none;box-shadow:none}.form-number-item .item-content-value ::ng-deep .ant-input-number-handler-wrap{display:none}.form-number-item .item-content-value ::ng-deep .ant-input-number-input{font-size:32px;font-weight:600;line-height:48px}.form-number-item .item-content-value ::ng-deep .ant-input-number-input::placeholder{color:#9ca3af}.form-number-item .item-content-symbol{flex-shrink:0}.form-number-item ::ng-deep .item-warning{font-weight:500;font-size:12px;color:#6b7280;margin-top:4px;padding:0 12px}.form-number-item.disabled{background-color:#f3f4f6;border-color:#d1d5db}.form-number-item.disabled .item-label,.form-number-item.disabled .item-content-value{color:#9ca3af}.form-number-item.error{border-color:#e51c36}\n"] }]
190
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
191
+ type: Input
192
+ }], symbol: [{
193
+ type: Input
194
+ }], name: [{
195
+ type: Input
196
+ }], disabled: [{
197
+ type: Input
198
+ }], maskNumber: [{
199
+ type: Input
200
+ }], maskType: [{
201
+ type: Input
202
+ }], required: [{
203
+ type: Input
204
+ }], min: [{
205
+ type: Input
206
+ }], max: [{
207
+ type: Input
208
+ }], minLength: [{
209
+ type: Input
210
+ }], maxLength: [{
211
+ type: Input
212
+ }], pattern: [{
213
+ type: Input
214
+ }], customValidator: [{
215
+ type: Input
216
+ }], type: [{
217
+ type: Input
218
+ }], errorMessages: [{
219
+ type: Input
220
+ }], valueChange: [{
221
+ type: Output
222
+ }], focus: [{
223
+ type: Output
224
+ }], blur: [{
225
+ type: Output
226
+ }] } });
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1saWIvc3JjL2xpYi9tb2R1bGVzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLWlucHV0L2N1c3RvbS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUlsQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFtQnhCLE1BQU0sT0FBTyxvQkFBb0I7SUFtQy9CLElBQUksbUJBQW1CO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRTVCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQUksVUFBVSxLQUFLLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNsRSxPQUFPLGdCQUFnQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7U0FDbkQ7UUFDRCxJQUFJLFVBQVUsS0FBSyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDcEUsT0FBTyxpREFBaUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQzFFO1FBQ0QsSUFBSSxVQUFVLEtBQUssV0FBVyxJQUFJ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T0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3R0FHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxuICBWYWxpZGF0b3JGbixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzeW1ib2wgPSAnJztcbiAgQElucHV0KCkgbmFtZSA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IHRydWU7XG4gIEBJbnB1dCgpIG1hc2tOdW1iZXIgPSA2O1xuICBASW5wdXQoKSBtYXNrVHlwZTogJ2Ftb3VudCcgfCAndGV4dCcgPSAndGV4dCc7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1pbj86IG51bWJlcjtcbiAgQElucHV0KCkgbWF4PzogbnVtYmVyO1xuICBASW5wdXQoKSBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heExlbmd0aD86IG51bWJlcjtcbiAgQElucHV0KCkgcGF0dGVybj86IHN0cmluZyB8IFJlZ0V4cDtcbiAgQElucHV0KCkgY3VzdG9tVmFsaWRhdG9yPzogVmFsaWRhdG9yRm47XG4gIEBJbnB1dCgpIHR5cGU6ICdwYXNzd29yZCcgfCAndGV4dCcgPSAndGV4dCc7XG5cbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICBwYXR0ZXJuOiAnSW52YWxpZCBmb3JtYXQnLFxuICAgIGN1c3RvbTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgfTtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICB2YWx1ZTogc3RyaW5nID0gJyc7XG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xuICBwcml2YXRlIHRvdWNoZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvblZhbGlkYXRvckNoYW5nZTogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gIGdldCBjdXJyZW50RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmVycm9ycykgcmV0dXJuICcnO1xuXG4gICAgY29uc3QgZmlyc3RFcnJvciA9IE9iamVjdC5rZXlzKHRoaXMuZXJyb3JzKVswXTtcbiAgICBpZiAoZmlyc3RFcnJvciA9PT0gJ3JlcXVpcmVkJyAmJiAhdGhpcy5lcnJvck1lc3NhZ2VzPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgIHJldHVybiBgUGxlYXNlIGVudGVyICR7dGhpcy5sYWJlbC50b0xvd2VyQ2FzZSgpfWA7XG4gICAgfVxuICAgIGlmIChmaXJzdEVycm9yID09PSAnbWluTGVuZ3RoJyAmJiAhdGhpcy5lcnJvck1lc3NhZ2VzPy5bJ21pbkxlbmd0aCddKSB7XG4gICAgICByZXR1cm4gYExlbmd0aCBjYW5ub3QgYmUgbGVzcyB0aGFuIHRoZSBtaW5pbXVtIGxlbmd0aCAke3RoaXMubWluTGVuZ3RofWA7XG4gICAgfVxuICAgIGlmIChmaXJzdEVycm9yID09PSAnbWF4TGVuZ3RoJyAmJiAhdGhpcy5lcnJvck1lc3NhZ2VzPy5bJ21heExlbmd0aCddKSB7XG4gICAgICByZXR1cm4gYExlbmd0aCBjYW5ub3QgZXhjZWVkIHRoZSBtYXhpbXVtIGxlbmd0aCAke3RoaXMubWF4TGVuZ3RofWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZXNbZmlyc3RFcnJvcl0gfHwgJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgfVxuXG4gIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG91Y2hlZCAmJiAhIXRoaXMuZXJyb3JzO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbGlkYXRlKG51bGwpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xuXG4gICAgLy8g5Zyo5aSx54Sm5pe26YeN5paw6aqM6K+BXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgY29uc3QgZXJyb3JzID0gdGhpcy52YWxpZGF0ZSh0aGlzLmNvbnRyb2wpO1xuICAgICAgdGhpcy5jb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xuXG4gICAgICBpZiAodGhpcy5vblZhbGlkYXRvckNoYW5nZSkge1xuICAgICAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBoYW5kbGVWYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGN1cnJWYWx1ZTtcbiAgICBpZiAodGhpcy5tYXNrVHlwZSA9PT0gJ2Ftb3VudCcpIHtcbiAgICAgIGN1cnJWYWx1ZSA9IHZhbHVlLnJlcGxhY2UoLywvZywgJycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyVmFsdWUgPSB2YWx1ZT8udHJpbSgpIHx8IHZhbHVlO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gY3VyclZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UoY3VyclZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoY3VyclZhbHVlKTtcblxuICAgIC8vIOagh+iusOS4uuW3suinpuaRuFxuICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcblxuICAgIC8vIOaJi+WKqOinpuWPkemqjOivgVxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIC8vIOiuvue9rumUmeivr+eKtuaAgVxuICAgICAgY29uc3QgZXJyb3JzID0gdGhpcy52YWxpZGF0ZSh0aGlzLmNvbnRyb2wpO1xuICAgICAgdGhpcy5jb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xuXG4gICAgICAvLyDpgJrnn6Xpqozor4Hlmajlj5jljJZcbiAgICAgIGlmICh0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8vIFRPRE86IFFY5YW85a65YW5ndWxhcuWOn+eUn+agoemqjFxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghY29udHJvbCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPSB7fTtcbiAgICBsZXQgdmFsdWU7XG4gICAgaWYgKHRoaXMubWFza1R5cGUgPT09ICdhbW91bnQnKSB7XG4gICAgICB2YWx1ZSA9IGNvbnRyb2w/LnZhbHVlPy5yZXBsYWNlKC8sL2csICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSBjb250cm9sPy52YWx1ZT8udHJpbSgpO1xuICAgIH1cblxuICAgIC8vIOW/heWhq+mqjOivgVxuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgICAgZXJyb3JzWydyZXF1aXJlZCddID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyDplb/luqbpqozor4FcbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHRoaXMubWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSB7XG4gICAgICAgIGVycm9yc1snbWluTGVuZ3RoJ10gPSB7XG4gICAgICAgICAgcmVxdWlyZWRMZW5ndGg6IHRoaXMubWluTGVuZ3RoLFxuICAgICAgICAgIGFjdHVhbExlbmd0aDogdmFsdWUubGVuZ3RoLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICAgIGVycm9yc1snbWF4TGVuZ3RoJ10gPSB7XG4gICAgICAgICAgcmVxdWlyZWRMZW5ndGg6IHRoaXMubWF4TGVuZ3RoLFxuICAgICAgICAgIGFjdHVhbExlbmd0aDogdmFsdWUubGVuZ3RoLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOato+WImemqjOivgVxuICAgIGlmICh0aGlzLnBhdHRlcm4gJiYgdmFsdWUpIHtcbiAgICAgIGNvbnN0IHBhdHRlcm4gPVxuICAgICAgICB0aGlzLnBhdHRlcm4gaW5zdGFuY2VvZiBSZWdFeHBcbiAgICAgICAgICA/IHRoaXMucGF0dGVyblxuICAgICAgICAgIDogbmV3IFJlZ0V4cCh0aGlzLnBhdHRlcm4pO1xuICAgICAgaWYgKCFwYXR0ZXJuLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIGVycm9yc1sncGF0dGVybiddID0geyByZXF1aXJlZFBhdHRlcm46IHBhdHRlcm4sIGFjdHVhbFZhbHVlOiB2YWx1ZSB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOiHquWumuS5iemqjOivgVxuICAgIGlmICh0aGlzLmN1c3RvbVZhbGlkYXRvcikge1xuICAgICAgY29uc3QgY3VzdG9tRXJyb3JzID0gdGhpcy5jdXN0b21WYWxpZGF0b3IoY29udHJvbCk7XG4gICAgICBpZiAoY3VzdG9tRXJyb3JzKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oZXJyb3JzLCBjdXN0b21FcnJvcnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZXJyb3JzID0gT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPiAwID8gZXJyb3JzIDogbnVsbDtcblxuICAgIC8vIOaJi+WKqOiuvue9ruaOp+S7tumUmeivr1xuICAgIGlmICh0aGlzLmVycm9ycykge1xuICAgICAgY29udHJvbC5zZXRFcnJvcnModGhpcy5lcnJvcnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmVycm9ycztcbiAgfVxufVxuIiwiPGRpdj5cbiAgPGRpdiBjbGFzcz1cImZvcm0taXRlbVwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkLCBlcnJvcjogc2hvd0Vycm9yIH1cIj5cbiAgICA8aW5wdXRcbiAgICAgIG56LWlucHV0XG4gICAgICBuekJvcmRlcmxlc3NcbiAgICAgIHBsYWNlaG9sZGVyPVwiIFwiXG4gICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICBbYWxsb3dOZWdhdGl2ZU51bWJlcnNdPVwidHJ1ZVwiXG4gICAgICBbZHJvcFNwZWNpYWxDaGFyYWN0ZXJzXT1cImZhbHNlXCJcbiAgICAgIFttYXNrXT1cIm1hc2tUeXBlID09PSAnYW1vdW50JyA/ICdzZXBhcmF0b3IuJyArIG1hc2tOdW1iZXIgOiAnJ1wiXG4gICAgICBbdGhvdXNhbmRTZXBhcmF0b3JdPVwibWFza1R5cGUgPT09ICdhbW91bnQnID8gJywnIDogJydcIlxuICAgICAgY2xhc3M9XCJmb3JtLWl0ZW0taW5wdXRcIlxuICAgIC8+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0taXRlbS1sYWJlbFwiPnt7IGxhYmVsIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yXCIgY2xhc3M9XCJmb3JtLWl0ZW0tZXJyb3JcIj5cbiAgICA8aW1nIHNyYz1cIi9hc3NldHMvaW1nL2ljb24vaWNvbi1lcnJvci5zdmdcIiAvPlxuICAgIHt7IGN1cnJlbnRFcnJvck1lc3NhZ2UgfX1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { NzInputModule } from 'ng-zorro-antd/input';
5
+ import { NgxMaskModule } from 'ngx-mask';
6
+ import { CustomInputComponent } from './custom-input.component';
7
+ import * as i0 from "@angular/core";
8
+ export class RdInputModule {
9
+ }
10
+ RdInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ RdInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RdInputModule, declarations: [CustomInputComponent], imports: [CommonModule,
12
+ ReactiveFormsModule,
13
+ FormsModule,
14
+ NzInputModule,
15
+ NgxMaskModule], exports: [CustomInputComponent] });
16
+ RdInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdInputModule, imports: [CommonModule,
17
+ ReactiveFormsModule,
18
+ FormsModule,
19
+ NzInputModule,
20
+ NgxMaskModule] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RdInputModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ declarations: [CustomInputComponent],
25
+ imports: [
26
+ CommonModule,
27
+ ReactiveFormsModule,
28
+ FormsModule,
29
+ NzInputModule,
30
+ NgxMaskModule,
31
+ ],
32
+ exports: [CustomInputComponent],
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1saWIvc3JjL2xpYi9tb2R1bGVzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFhaEUsTUFBTSxPQUFPLGFBQWE7OzJHQUFiLGFBQWE7NEdBQWIsYUFBYSxpQkFWVCxvQkFBb0IsYUFFakMsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsYUFBYTtRQUNiLGFBQWEsYUFFTCxvQkFBb0I7NEdBRW5CLGFBQWEsWUFSdEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsYUFBYTtRQUNiLGFBQWE7NEZBSUosYUFBYTtrQkFYekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTnpJbnB1dE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaW5wdXQnO1xuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcbmltcG9ydCB7IEN1c3RvbUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20taW5wdXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQ3VzdG9tSW5wdXRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTnpJbnB1dE1vZHVsZSxcbiAgICBOZ3hNYXNrTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbQ3VzdG9tSW5wdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBSZElucHV0TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './custom-input.component';
2
+ export * from './custom-input.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20taW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b20taW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tLWlucHV0Lm1vZHVsZSc7XG4iXX0=