mis-crystal-design-system 18.0.24 → 18.1.0-signal-test

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 (163) hide show
  1. package/action-list/action-list.component.d.ts +17 -15
  2. package/async-search-dropdown/async-dropdown.component.d.ts +43 -61
  3. package/button/button.component.d.ts +35 -13
  4. package/button/button.directive.d.ts +10 -8
  5. package/checkbox/checkbox.component.d.ts +15 -12
  6. package/chip/chip.component.d.ts +9 -11
  7. package/datepicker_v2/models/dp-config.model.d.ts +1 -0
  8. package/datepicker_v2/tz-datepicker.directive.d.ts +15 -18
  9. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +42 -21
  10. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +12 -14
  11. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +46 -23
  12. package/drawer/drawer-body/drawer-body.component.d.ts +2 -2
  13. package/dropdown/calculate-container-height.directive.d.ts +7 -8
  14. package/dropdown/dropdown.component.d.ts +41 -49
  15. package/dynamic-form/dynamic-form.component.d.ts +20 -16
  16. package/esm2022/action-list/action-list.component.mjs +112 -89
  17. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +256 -326
  18. package/esm2022/button/button.component.mjs +55 -48
  19. package/esm2022/button/button.directive.mjs +36 -40
  20. package/esm2022/checkbox/checkbox.component.mjs +75 -70
  21. package/esm2022/chip/chip.component.mjs +20 -33
  22. package/esm2022/datepicker_v2/models/dp-config.model.mjs +1 -1
  23. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +42 -71
  24. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +202 -172
  25. package/esm2022/datepicker_v2/utils/index.mjs +2 -1
  26. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +26 -51
  27. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +282 -235
  28. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +8 -7
  29. package/esm2022/dropdown/calculate-container-height.directive.mjs +25 -22
  30. package/esm2022/dropdown/dropdown.component.mjs +162 -186
  31. package/esm2022/dynamic-form/dynamic-form.component.mjs +118 -72
  32. package/esm2022/fab/fab.component.mjs +29 -33
  33. package/esm2022/filter/filter-panel/filter-panel.component.mjs +60 -58
  34. package/esm2022/input/directives/input/input.directive.mjs +22 -26
  35. package/esm2022/input/mis-input.component.mjs +41 -45
  36. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +40 -50
  37. package/esm2022/loader/loader.component.mjs +8 -11
  38. package/esm2022/mobile-filter/mobile-filter.component.mjs +61 -61
  39. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +11 -9
  40. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +235 -281
  41. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +250 -287
  42. package/esm2022/phone-input/phone-input.component.mjs +21 -43
  43. package/esm2022/radio-button/radio-button.component.mjs +15 -27
  44. package/esm2022/ske-loader/ske-loader.component.mjs +15 -29
  45. package/esm2022/slider/slider.component.mjs +23 -33
  46. package/esm2022/slider/slider.module.mjs +4 -11
  47. package/esm2022/snackbar/snackbar/snackbar.component.mjs +21 -15
  48. package/esm2022/snackbar/snackbar.service.mjs +3 -2
  49. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +230 -343
  50. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +77 -105
  51. package/esm2022/star-rating/star-rating.component.mjs +57 -71
  52. package/esm2022/switch/switch.component.mjs +34 -36
  53. package/esm2022/table/actions-cell/actions-cell.component.mjs +55 -54
  54. package/esm2022/table/custom-table-cell.directive.mjs +22 -18
  55. package/esm2022/table/filter/filter.component.mjs +60 -42
  56. package/esm2022/table/sort-icons.directive.mjs +16 -8
  57. package/esm2022/table/sub-table/sub-table.component.mjs +41 -44
  58. package/esm2022/table/table.component.mjs +181 -165
  59. package/esm2022/timepicker/timepicker.component.mjs +244 -159
  60. package/esm2022/timepicker/timepicker.directive.mjs +3 -2
  61. package/esm2022/timerangepicker/timerangepicker.component.mjs +200 -159
  62. package/esm2022/toast/toast.component.mjs +6 -7
  63. package/esm2022/toast/toast.data.service.mjs +15 -9
  64. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +12 -12
  65. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  66. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +57 -59
  67. package/fab/fab.component.d.ts +12 -8
  68. package/fesm2022/mis-crystal-design-system-action-list.mjs +111 -88
  69. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
  70. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +253 -324
  71. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
  72. package/fesm2022/mis-crystal-design-system-button.mjs +88 -85
  73. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
  74. package/fesm2022/mis-crystal-design-system-checkbox.mjs +74 -69
  75. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
  76. package/fesm2022/mis-crystal-design-system-chip.mjs +19 -32
  77. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
  78. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +242 -240
  79. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  80. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +305 -283
  81. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  82. package/fesm2022/mis-crystal-design-system-drawer.mjs +7 -6
  83. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
  84. package/fesm2022/mis-crystal-design-system-dropdown.mjs +183 -204
  85. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
  86. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +118 -72
  87. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  88. package/fesm2022/mis-crystal-design-system-fab.mjs +28 -32
  89. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
  90. package/fesm2022/mis-crystal-design-system-filter.mjs +59 -57
  91. package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
  92. package/fesm2022/mis-crystal-design-system-input-stepper.mjs +39 -49
  93. package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  94. package/fesm2022/mis-crystal-design-system-input.mjs +62 -71
  95. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
  96. package/fesm2022/mis-crystal-design-system-loader.mjs +7 -10
  97. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
  98. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +60 -60
  99. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
  100. package/fesm2022/mis-crystal-design-system-modal.mjs +10 -8
  101. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
  102. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +233 -279
  103. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
  104. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +249 -286
  105. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
  106. package/fesm2022/mis-crystal-design-system-phone-input.mjs +20 -42
  107. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
  108. package/fesm2022/mis-crystal-design-system-radio-button.mjs +14 -26
  109. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
  110. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +14 -28
  111. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
  112. package/fesm2022/mis-crystal-design-system-slider.mjs +25 -42
  113. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
  114. package/fesm2022/mis-crystal-design-system-snackbar.mjs +22 -15
  115. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
  116. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +304 -445
  117. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
  118. package/fesm2022/mis-crystal-design-system-star-rating.mjs +56 -70
  119. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
  120. package/fesm2022/mis-crystal-design-system-switch.mjs +33 -35
  121. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
  122. package/fesm2022/mis-crystal-design-system-table.mjs +365 -321
  123. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  124. package/fesm2022/mis-crystal-design-system-timepicker.mjs +245 -159
  125. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
  126. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +199 -158
  127. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  128. package/fesm2022/mis-crystal-design-system-toast.mjs +18 -13
  129. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
  130. package/fesm2022/mis-crystal-design-system-tooltip.mjs +14 -14
  131. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
  132. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +57 -59
  133. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
  134. package/filter/filter-panel/filter-panel.component.d.ts +14 -14
  135. package/input/directives/input/input.directive.d.ts +6 -10
  136. package/input/mis-input.component.d.ts +12 -13
  137. package/input-stepper/input-stepper/input-stepper.component.d.ts +8 -7
  138. package/loader/loader.component.d.ts +3 -6
  139. package/mobile-filter/mobile-filter.component.d.ts +15 -15
  140. package/modal/module-wrapper/module-wrapper.component.d.ts +2 -3
  141. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +89 -51
  142. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +99 -56
  143. package/package.json +17 -17
  144. package/phone-input/phone-input.component.d.ts +16 -18
  145. package/radio-button/radio-button.component.d.ts +9 -11
  146. package/ske-loader/ske-loader.component.d.ts +8 -11
  147. package/slider/slider.component.d.ts +8 -11
  148. package/slider/slider.module.d.ts +1 -2
  149. package/snackbar/snackbar/snackbar.component.d.ts +3 -3
  150. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +35 -35
  151. package/specificdatepicker/tz-specificdatepicker.directive.d.ts +24 -28
  152. package/star-rating/star-rating.component.d.ts +18 -18
  153. package/switch/switch.component.d.ts +8 -10
  154. package/table/actions-cell/actions-cell.component.d.ts +14 -14
  155. package/table/custom-table-cell.directive.d.ts +3 -3
  156. package/table/filter/filter.component.d.ts +9 -9
  157. package/table/sub-table/sub-table.component.d.ts +5 -5
  158. package/table/table.component.d.ts +38 -35
  159. package/timepicker/timepicker.component.d.ts +29 -28
  160. package/timerangepicker/timerangepicker.component.d.ts +36 -33
  161. package/toast/toast.data.service.d.ts +1 -1
  162. package/tooltip/tooltip-container/tooltip.component.d.ts +4 -4
  163. package/virtual-scroll/virtual-scroll.component.d.ts +8 -9
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-virtual-scroll.mjs","sources":["../../../projects/mis-components/virtual-scroll/virtual-scroll.component.html","../../../projects/mis-components/virtual-scroll/virtual-scroll.component.ts","../../../projects/mis-components/virtual-scroll/virtual-scroll.module.ts","../../../projects/mis-components/virtual-scroll/public_api.ts","../../../projects/mis-components/virtual-scroll/mis-crystal-design-system-virtual-scroll.ts"],"sourcesContent":["<div class=\"state-container\" *ngIf=\"loading\">\n <mis-loader></mis-loader>\n</div>\n<div class=\"state-container\" *ngIf=\"!loading && error\">\n <span>Unknown error has occurred.</span>\n</div>\n<ng-container *ngIf=\"data$ | async as data\">\n <cdk-virtual-scroll-viewport\n *ngIf=\"!loading && !error\"\n #viewport\n [minBufferPx]=\"config.minBufferPx\"\n [maxBufferPx]=\"config.maxBufferPx\"\n [itemSize]=\"this.config.rowHeight\"\n (scrolledIndexChange)=\"nextBatch(data.length)\"\n >\n <ng-container *cdkVirtualFor=\"let item of data; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n ></ng-container>\n </ng-container>\n <div id=\"loader-container\" *ngIf=\"rowsLoading\">\n <mis-loader></mis-loader>\n </div>\n </cdk-virtual-scroll-viewport>\n</ng-container>","import { ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from \"@angular/core\";\nimport { CdkVirtualScrollViewport } from \"@angular/cdk/scrolling\";\n\nimport { BehaviorSubject, Observable, of } from \"rxjs\";\nimport { catchError, mergeMap, scan, tap, throttleTime } from \"rxjs/operators\";\nimport { IVirtualScrollConfig } from \"./virtual-scroll.constants\";\n\n@Component({\n selector: \"mis-virtual-scroll\",\n templateUrl: \"./virtual-scroll.component.html\",\n styleUrls: [\"./virtual-scroll.component.scss\"],\n })\nexport class VirtualScrollComponent implements OnInit {\n\n // Infinite scroll related variables\n offset = new BehaviorSubject(null);\n endOfInfiniteData: boolean = false;\n rowsLoading: boolean = false;\n \n // Main state managing variables\n loading: boolean = false\n error: boolean = false\n \n // Scroll data related variables\n data$: Observable<any>\n @Input(\"config\") config: IVirtualScrollConfig = {\n minBufferPx: 2400,\n maxBufferPx: 2400,\n rowHeight: 128,\n pageSize: 5,\n infiniteScrollDataFunction: (offset, pageSize) => of([1,2,3,4,5])\n };\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n @ContentChild(\"virtualScrollItem\", { static: false })\n customItem: TemplateRef<Element>;\n @Output() intialized = new EventEmitter<any>();\n\n virtualScrollApi: any\n\n\n constructor(private changeDetectorRef: ChangeDetectorRef){}\n ngOnInit(): void {\n this.switchOnInfiniteScroll()\n this.virtualScrollApi = {\n toggleLoader: () => this.loading = !this.loading,\n toggleError: () => this.error = !this.error,\n switchOnInfiniteScroll: this.switchOnInfiniteScroll,\n switchOffInfiniteScroll: this.switchOffInfiniteScroll\n }\n this.changeDetectorRef.detectChanges();\n this.intialized.emit(this.virtualScrollApi)\n }\n switchOffInfiniteScroll = (): void => {\n this.error = false\n this.loading = true\n this.data$ = this.config.data$.pipe(\n tap(() => {\n this.loading = false\n this.changeDetectorRef.detectChanges()\n }),\n catchError(err => {\n console.error(\"Error: Unknown error occurred while fetching calendar data\", err);\n this.loading = false;\n this.error = true;\n return [];\n })\n )\n }\n switchOnInfiniteScroll = (): void => {\n this.error = false\n this.loading = true\n this.endOfInfiniteData = false;\n this.offset.next(0)\n this.setupInfiniteScroll()\n }\n setupInfiniteScroll(): void {\n const batchMap = this.offset.pipe(\n throttleTime(500),\n mergeMap(offset => this.getBatch(offset)),\n scan((acc: Array<any>, batch: Array<any>) => {\n return [...acc, ...batch];\n }, [])\n );\n this.data$ = batchMap.pipe(\n tap(data => {\n this.rowsLoading = false;\n this.loading = false;\n setTimeout(() => {\n this.changeDetectorRef.detectChanges();\n }, 50)\n })\n );\n }\n nextBatch(offset): void {\n if (this.endOfInfiniteData) {\n return;\n }\n const end = this.viewPort.getRenderedRange().end;\n const total = this.viewPort.getDataLength();\n offset = Math.ceil(offset / this.config.pageSize)\n if (end === total && !this.rowsLoading) {\n this.offset.next(offset);\n }\n }\n getBatch(offset): Observable<any> {\n this.rowsLoading = true;\n if (offset == null) offset = 0;\n return this.config\n .infiniteScrollDataFunction(offset, this.config.pageSize)\n .pipe(\n tap((arr: Array<any>) => {\n arr.length < this.config.pageSize ? (this.endOfInfiniteData = true) : null;\n }),\n catchError(err => {\n console.error(\"Error: Unknown error occurred while fetching calendar data\", err);\n this.rowsLoading = false;\n this.loading = false;\n this.error = true;\n return [];\n })\n );\n }\n \n}","import { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\"\n\nimport { LoaderModule} from \"mis-crystal-design-system/loader\"\n\nimport { VirtualScrollComponent } from \"./virtual-scroll.component\";\n\n@NgModule({\n declarations:[\n VirtualScrollComponent\n ],\n imports: [\n CommonModule,\n ScrollingModule,\n LoaderModule\n ],\n exports:[VirtualScrollComponent, ScrollingModule],\n})\nexport class VirtualScrollModule{ \n static forRoot() : ModuleWithProviders<VirtualScrollModule> {\n return { ngModule: VirtualScrollModule, providers: []}\n }\n}","// import { VirtualScrollModule } from \"./virtual-scroll.module\";\n\nexport { VirtualScrollModule } from \"./virtual-scroll.module\";\nexport { VirtualScrollComponent } from \"./virtual-scroll.component\";\nexport { IVirtualScrollApi, IVirtualScrollConfig } from \"./virtual-scroll.constants\"\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mis-crystal-design-system-virtual-scroll.mjs","sources":["../../../projects/mis-components/virtual-scroll/virtual-scroll.component.html","../../../projects/mis-components/virtual-scroll/virtual-scroll.component.ts","../../../projects/mis-components/virtual-scroll/virtual-scroll.module.ts","../../../projects/mis-components/virtual-scroll/public_api.ts","../../../projects/mis-components/virtual-scroll/mis-crystal-design-system-virtual-scroll.ts"],"sourcesContent":["<div class=\"state-container\" *ngIf=\"loading()\">\n <mis-loader></mis-loader>\n</div>\n<div class=\"state-container\" *ngIf=\"!loading() && error()\">\n <span>Unknown error has occurred.</span>\n</div>\n<ng-container *ngIf=\"data$ | async as data\">\n <cdk-virtual-scroll-viewport\n *ngIf=\"!loading() && !error()\"\n #viewport\n [minBufferPx]=\"config().minBufferPx\"\n [maxBufferPx]=\"config().maxBufferPx\"\n [itemSize]=\"config().rowHeight\"\n (scrolledIndexChange)=\"nextBatch(data.length)\"\n >\n <ng-container *cdkVirtualFor=\"let item of data; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n ></ng-container>\n </ng-container>\n <div id=\"loader-container\" *ngIf=\"rowsLoading()\">\n <mis-loader></mis-loader>\n </div>\n </cdk-virtual-scroll-viewport>\n</ng-container>","import { ChangeDetectorRef, Component, ContentChild, EventEmitter, Output, TemplateRef, ViewChild, ChangeDetectionStrategy, input, signal, WritableSignal, computed, effect } from \"@angular/core\";\nimport { CdkVirtualScrollViewport } from \"@angular/cdk/scrolling\";\n\nimport { BehaviorSubject, Observable, of } from \"rxjs\";\nimport { catchError, mergeMap, scan, tap, throttleTime } from \"rxjs/operators\";\nimport { IVirtualScrollConfig } from \"./virtual-scroll.constants\";\n\n@Component({\n selector: \"mis-virtual-scroll\",\n templateUrl: \"./virtual-scroll.component.html\",\n styleUrls: [\"./virtual-scroll.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VirtualScrollComponent {\n\n // Input signals\n config = input<IVirtualScrollConfig>({\n minBufferPx: 2400,\n maxBufferPx: 2400,\n rowHeight: 128,\n pageSize: 5,\n infiniteScrollDataFunction: (offset, pageSize) => of([1,2,3,4,5])\n });\n\n // Infinite scroll related variables\n offset = new BehaviorSubject(null);\n endOfInfiniteData: WritableSignal<boolean> = signal(false);\n rowsLoading: WritableSignal<boolean> = signal(false);\n \n // Main state managing variables\n loading: WritableSignal<boolean> = signal(false);\n error: WritableSignal<boolean> = signal(false);\n \n // Scroll data related variables\n data$: Observable<any>;\n \n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n @ContentChild(\"virtualScrollItem\", { static: false })\n customItem: TemplateRef<Element>;\n @Output() intialized = new EventEmitter<any>();\n\n virtualScrollApi: any;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n // Initialize the component with signals\n effect(() => {\n this.switchOnInfiniteScroll();\n this.virtualScrollApi = {\n toggleLoader: () => this.loading.set(!this.loading()),\n toggleError: () => this.error.set(!this.error()),\n switchOnInfiniteScroll: this.switchOnInfiniteScroll,\n switchOffInfiniteScroll: this.switchOffInfiniteScroll\n };\n // Keep this one - needed for external API emission\n this.changeDetectorRef.detectChanges();\n this.intialized.emit(this.virtualScrollApi);\n }, { allowSignalWrites: true });\n }\n\n switchOffInfiniteScroll = (): void => {\n this.error.set(false);\n this.loading.set(true);\n this.data$ = this.config().data$.pipe(\n tap(() => {\n this.loading.set(false);\n // Removed detectChanges() - signals handle this automatically\n }),\n catchError(err => {\n console.error(\"Error: Unknown error occurred while fetching calendar data\", err);\n this.loading.set(false);\n this.error.set(true);\n return [];\n })\n );\n };\n\n switchOnInfiniteScroll = (): void => {\n this.error.set(false);\n this.loading.set(true);\n this.endOfInfiniteData.set(false);\n this.offset.next(0);\n this.setupInfiniteScroll();\n };\n\n setupInfiniteScroll(): void {\n const batchMap = this.offset.pipe(\n throttleTime(500),\n mergeMap(offset => this.getBatch(offset)),\n scan((acc: Array<any>, batch: Array<any>) => {\n return [...acc, ...batch];\n }, [])\n );\n this.data$ = batchMap.pipe(\n tap(data => {\n this.rowsLoading.set(false);\n this.loading.set(false);\n // Removed setTimeout and detectChanges() - signals handle this automatically\n })\n );\n }\n\n nextBatch(offset): void {\n if (this.endOfInfiniteData()) {\n return;\n }\n const end = this.viewPort.getRenderedRange().end;\n const total = this.viewPort.getDataLength();\n offset = Math.ceil(offset / this.config().pageSize);\n if (end === total && !this.rowsLoading()) {\n this.offset.next(offset);\n }\n }\n\n getBatch(offset): Observable<any> {\n this.rowsLoading.set(true);\n if (offset == null) offset = 0;\n return this.config()\n .infiniteScrollDataFunction(offset, this.config().pageSize)\n .pipe(\n tap((arr: Array<any>) => {\n arr.length < this.config().pageSize ? this.endOfInfiniteData.set(true) : null;\n }),\n catchError(err => {\n console.error(\"Error: Unknown error occurred while fetching calendar data\", err);\n this.rowsLoading.set(false);\n this.loading.set(false);\n this.error.set(true);\n return [];\n })\n );\n }\n}","import { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\"\n\nimport { LoaderModule} from \"mis-crystal-design-system/loader\"\n\nimport { VirtualScrollComponent } from \"./virtual-scroll.component\";\n\n@NgModule({\n declarations:[\n VirtualScrollComponent\n ],\n imports: [\n CommonModule,\n ScrollingModule,\n LoaderModule\n ],\n exports:[VirtualScrollComponent, ScrollingModule],\n})\nexport class VirtualScrollModule{ \n static forRoot() : ModuleWithProviders<VirtualScrollModule> {\n return { ngModule: VirtualScrollModule, providers: []}\n }\n}","// import { VirtualScrollModule } from \"./virtual-scroll.module\";\n\nexport { VirtualScrollModule } from \"./virtual-scroll.module\";\nexport { VirtualScrollComponent } from \"./virtual-scroll.component\";\nexport { IVirtualScrollApi, IVirtualScrollConfig } from \"./virtual-scroll.constants\"\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
1
+ import { OnInit, WritableSignal } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { IDatePickerConfig } from 'mis-crystal-design-system/datepicker_v2';
4
4
  import { IRSelectedDatesConfig } from 'mis-crystal-design-system/specificdatepicker';
@@ -22,24 +22,24 @@ export interface FilterPanelConfig {
22
22
  defaultValue?: any;
23
23
  selectedValue?: any;
24
24
  }
25
- export declare class FilterPanelComponent implements OnInit, OnChanges {
25
+ export declare class FilterPanelComponent implements OnInit {
26
26
  private hasValue;
27
27
  constructor(hasValue: HasValuePipe);
28
- show: boolean;
29
- onClose: EventEmitter<any>;
30
- onApply: EventEmitter<any>;
31
- config: FilterPanelConfig[];
32
- emitFiltersAfterSettingNewValues: boolean;
28
+ show: import("@angular/core").InputSignal<boolean>;
29
+ config: import("@angular/core").InputSignal<FilterPanelConfig[]>;
30
+ emitFiltersAfterSettingNewValues: import("@angular/core").InputSignal<boolean>;
31
+ onClose: import("@angular/core").OutputEmitterRef<void>;
32
+ onApply: import("@angular/core").OutputEmitterRef<{
33
+ filterData: any;
34
+ filterCount: number;
35
+ }>;
33
36
  filterForm: FormGroup;
34
37
  lastAppliedData: any;
35
- rangeMin: number;
36
- rangeMax: number;
37
- dateRangeSelectedDates: IRSelectedDatesConfig;
38
+ dateRangeSelectedDates: WritableSignal<IRSelectedDatesConfig>;
39
+ filterCount: import("@angular/core").Signal<number>;
38
40
  ngOnInit(): void;
39
- ngOnChanges(changes: SimpleChanges): void;
40
- initializeFormControls(): void;
41
+ initializeFormControls(config: FilterPanelConfig[]): void;
41
42
  closePanel(): void;
42
- filterCount(): number;
43
43
  applyFilters(): void;
44
44
  handleSelect(event: any, filterKey: string, filter: FilterPanelConfig): void;
45
45
  onDateChange(event: any, filterKey: string, filter: FilterPanelConfig): void;
@@ -48,5 +48,5 @@ export declare class FilterPanelComponent implements OnInit, OnChanges {
48
48
  resetFilters(): void;
49
49
  setFilterValue(config: FilterPanelConfig[]): void;
50
50
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterPanelComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<FilterPanelComponent, "mis-filter-panel", never, { "show": { "alias": "show"; "required": false; }; "config": { "alias": "config"; "required": false; }; "emitFiltersAfterSettingNewValues": { "alias": "emitFiltersAfterSettingNewValues"; "required": false; }; }, { "onClose": "onClose"; "onApply": "onApply"; }, never, never, false, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterPanelComponent, "mis-filter-panel", never, { "show": { "alias": "show"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; "emitFiltersAfterSettingNewValues": { "alias": "emitFiltersAfterSettingNewValues"; "required": false; "isSignal": true; }; }, { "onClose": "onClose"; "onApply": "onApply"; }, never, never, false, never>;
52
52
  }
@@ -1,18 +1,14 @@
1
- import { ElementRef, OnDestroy, OnInit } from "@angular/core";
1
+ import { ElementRef, OnInit, OnDestroy } from "@angular/core";
2
2
  import { NgControl } from "@angular/forms";
3
- import { Subject } from "rxjs";
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class MisInputDirective implements OnInit, OnDestroy {
6
- el: ElementRef;
5
+ validity: import("@angular/core").WritableSignal<boolean>;
6
+ el: ElementRef<any>;
7
7
  control: NgControl;
8
- constructor(el: ElementRef, control: NgControl);
9
- private validityChange;
10
- validity: import("rxjs").Observable<boolean>;
11
- endObs: Subject<void>;
12
- focus: boolean;
13
- hasValue: boolean;
8
+ private destroyRef;
9
+ constructor();
14
10
  ngOnInit(): void;
15
11
  ngOnDestroy(): void;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<MisInputDirective, [null, { optional: true; self: true; }]>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<MisInputDirective, never>;
17
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<MisInputDirective, "input[misInput]", never, {}, {}, never, never, false, never>;
18
14
  }
@@ -1,22 +1,21 @@
1
- import { OnDestroy, OnInit } from "@angular/core";
1
+ import { OnInit, OnDestroy } from "@angular/core";
2
2
  import { AbstractControl } from "@angular/forms";
3
- import { Subscription } from "rxjs";
4
3
  import { MisInputDirective } from "./directives/input/input.directive";
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class MisInputComponent implements OnInit, OnDestroy {
7
- type: "rounded" | "floating";
8
- size: "sm" | "md" | "lg";
9
- placeholder: string;
10
- noHints: boolean;
11
- hasError: boolean;
12
- isMandatory: boolean;
13
- set formInput(input: MisInputDirective);
14
- inputCtrl: AbstractControl;
15
- inputSubscription: Subscription | undefined;
16
- inputValidity: boolean;
6
+ type: import("@angular/core").InputSignal<"rounded" | "floating">;
7
+ size: import("@angular/core").InputSignal<"sm" | "md" | "lg">;
8
+ placeholder: import("@angular/core").InputSignal<string>;
9
+ noHints: import("@angular/core").InputSignal<boolean>;
10
+ hasError: import("@angular/core").InputSignal<boolean>;
11
+ isMandatory: import("@angular/core").InputSignal<boolean>;
12
+ formInput: import("@angular/core").Signal<MisInputDirective>;
13
+ inputCtrl: import("@angular/core").Signal<AbstractControl<any, any>>;
14
+ inputValidity: import("@angular/core").Signal<boolean>;
17
15
  constructor();
18
16
  ngOnInit(): void;
19
17
  ngOnDestroy(): void;
18
+ isInvalid: import("@angular/core").Signal<boolean>;
20
19
  static ɵfac: i0.ɵɵFactoryDeclaration<MisInputComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<MisInputComponent, "mis-input", never, { "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "noHints": { "alias": "noHints"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; "isMandatory": { "alias": "isMandatory"; "required": false; }; }, {}, ["formInput"], ["[mis-input-icon]", "input", "[mis-input-act]", "[mis-input-hint]", "[mis-input-error]"], false, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<MisInputComponent, "mis-input", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "noHints": { "alias": "noHints"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "isMandatory": { "alias": "isMandatory"; "required": false; "isSignal": true; }; }, {}, ["formInput"], ["[mis-input-icon]", "input", "[mis-input-act]", "[mis-input-hint]", "[mis-input-error]"], false, never>;
22
21
  }
@@ -5,16 +5,17 @@ export declare class InputStepperComponent {
5
5
  private sanitizer;
6
6
  svgMinusIcon: SafeHtml;
7
7
  svgPlusIcon: SafeHtml;
8
- value: number;
9
- width?: string;
10
- minLimit: number;
11
- maxLimit: number;
8
+ readonly value: import("@angular/core").InputSignal<number>;
9
+ readonly width: import("@angular/core").InputSignal<string>;
10
+ readonly minLimit: import("@angular/core").InputSignal<number>;
11
+ readonly maxLimit: import("@angular/core").InputSignal<number>;
12
+ protected currentValue: import("@angular/core").WritableSignal<number>;
12
13
  valueChange: EventEmitter<number>;
14
+ canIncrement: import("@angular/core").Signal<boolean>;
15
+ canDecrement: import("@angular/core").Signal<boolean>;
13
16
  constructor(sanitizer: DomSanitizer);
14
17
  increment(): void;
15
18
  decrement(): void;
16
- onInputChange(newValue: string): void;
17
- private emitValueChange;
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<InputStepperComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<InputStepperComponent, "mis-input-stepper", never, { "value": { "alias": "value"; "required": false; }; "width": { "alias": "width"; "required": false; }; "minLimit": { "alias": "minLimit"; "required": false; }; "maxLimit": { "alias": "maxLimit"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputStepperComponent, "mis-input-stepper", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "minLimit": { "alias": "minLimit"; "required": false; "isSignal": true; }; "maxLimit": { "alias": "maxLimit"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
20
21
  }
@@ -1,10 +1,7 @@
1
- import { OnInit } from "@angular/core";
2
1
  import * as i0 from "@angular/core";
3
- export declare class LoaderComponent implements OnInit {
2
+ export declare class LoaderComponent {
4
3
  /** Controls loader size */
5
- mobileView: boolean;
6
- constructor();
7
- ngOnInit(): void;
4
+ mobileView: import("@angular/core").InputSignal<boolean>;
8
5
  static ɵfac: i0.ɵɵFactoryDeclaration<LoaderComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<LoaderComponent, "mis-loader", never, { "mobileView": { "alias": "mobileView"; "required": false; }; }, {}, never, never, false, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoaderComponent, "mis-loader", never, { "mobileView": { "alias": "mobileView"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
10
7
  }
@@ -1,22 +1,22 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
2
1
  import * as i0 from "@angular/core";
3
- export declare class MobileFilterComponent implements OnInit {
4
- localFilterOptions: IFilterOptions;
5
- currentSelectedItem: string;
6
- set filterOptions(options: any);
7
- backIcon: string;
8
- headerName: string;
9
- applyBtnName: string;
10
- clearBtnName: string;
11
- closeFilters: EventEmitter<any>;
12
- clearFilters: EventEmitter<any>;
13
- applyFilters: EventEmitter<IFilterOptions>;
2
+ export declare class MobileFilterComponent {
3
+ readonly currentSelectedItem: import("@angular/core").InputSignal<string>;
4
+ readonly filterOptions: import("@angular/core").InputSignal<IFilterOptions>;
5
+ readonly backIcon: import("@angular/core").InputSignal<string>;
6
+ readonly headerName: import("@angular/core").InputSignal<string>;
7
+ readonly applyBtnName: import("@angular/core").InputSignal<string>;
8
+ readonly clearBtnName: import("@angular/core").InputSignal<string>;
9
+ readonly closeFilters: import("@angular/core").OutputEmitterRef<void>;
10
+ readonly clearFilters: import("@angular/core").OutputEmitterRef<void>;
11
+ readonly applyFilters: import("@angular/core").OutputEmitterRef<IFilterOptions>;
12
+ readonly selectedItem: import("@angular/core").WritableSignal<string>;
13
+ readonly localFilterOptions: import("@angular/core").Signal<IFilterOptions>;
14
14
  constructor();
15
- ngOnInit(): void;
16
15
  originalOrder(): number;
17
- toggleFilter(data: any, isSelectedItem: any): void;
16
+ toggleFilter(data: any, isSelectedItem: boolean): void;
17
+ onApply(): void;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<MobileFilterComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<MobileFilterComponent, "mis-mobile-filter", never, { "currentSelectedItem": { "alias": "currentSelectedItem"; "required": false; }; "filterOptions": { "alias": "filterOptions"; "required": false; }; "backIcon": { "alias": "backIcon"; "required": false; }; "headerName": { "alias": "headerName"; "required": false; }; "applyBtnName": { "alias": "applyBtnName"; "required": false; }; "clearBtnName": { "alias": "clearBtnName"; "required": false; }; }, { "closeFilters": "closeFilters"; "clearFilters": "clearFilters"; "applyFilters": "applyFilters"; }, never, never, false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<MobileFilterComponent, "mis-mobile-filter", never, { "currentSelectedItem": { "alias": "currentSelectedItem"; "required": false; "isSignal": true; }; "filterOptions": { "alias": "filterOptions"; "required": true; "isSignal": true; }; "backIcon": { "alias": "backIcon"; "required": false; "isSignal": true; }; "headerName": { "alias": "headerName"; "required": false; "isSignal": true; }; "applyBtnName": { "alias": "applyBtnName"; "required": false; "isSignal": true; }; "clearBtnName": { "alias": "clearBtnName"; "required": false; "isSignal": true; }; }, { "closeFilters": "closeFilters"; "clearFilters": "clearFilters"; "applyFilters": "applyFilters"; }, never, never, false, never>;
20
20
  }
21
21
  export interface IFilterOptions {
22
22
  [filterName: string]: {
@@ -1,9 +1,8 @@
1
1
  import { ComponentPortal, PortalInjector } from "@angular/cdk/portal";
2
- import { ViewContainerRef } from "@angular/core";
2
+ import { ViewContainerRef, WritableSignal } from "@angular/core";
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ModuleWrapperComponent {
5
- modalPortal: ComponentPortal<any>;
6
- constructor();
5
+ modalPortal: WritableSignal<ComponentPortal<any> | null>;
7
6
  place: ViewContainerRef;
8
7
  bindComponent(type: any, injector: PortalInjector): void;
9
8
  private initComponent;
@@ -1,55 +1,5 @@
1
- import { ElementRef, EventEmitter, NgZone, OnInit, TemplateRef, ViewContainerRef } from "@angular/core";
2
- import { Overlay } from "@angular/cdk/overlay";
1
+ import { ElementRef, TemplateRef } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
- export declare class MultiSelectDropdownComponent implements OnInit {
5
- private eRef;
6
- private overlay;
7
- private viewContainerRef;
8
- private ngZone;
9
- searchInput: string;
10
- isOpen: boolean;
11
- localSelectedItems: MultiSelectDropdownItem[];
12
- localData: MultiSelectDropdownItem[];
13
- searchData: MultiSelectDropdownItem[];
14
- isSearchInputFocused: boolean;
15
- SELECT_ALL_ENUM: string;
16
- set data(values: MultiSelectDropdownItem[]);
17
- label: string;
18
- height: string;
19
- width: string;
20
- dropdownListHeight: string;
21
- dropdownListWidth: string;
22
- dropdownListPosition: "Left" | "Right";
23
- enableSelectAll: boolean;
24
- searchEnabled: boolean;
25
- showSelectedCount: boolean;
26
- noDataMessage: string;
27
- options: OPTIONS;
28
- set selectedItems(values: MultiSelectDropdownItem[]);
29
- hideApplyButton: boolean;
30
- searchInputPlaceholder: string;
31
- customLabelTemplate: TemplateRef<any>;
32
- onChange: EventEmitter<any>;
33
- selectElement: ElementRef;
34
- popupContainer: TemplateRef<Element>;
35
- private overlayRef;
36
- constructor(eRef: ElementRef, overlay: Overlay, viewContainerRef: ViewContainerRef, ngZone: NgZone);
37
- ngOnInit(): void;
38
- handlerSetLocalSelectedItems(values: any): void;
39
- searchInputFocused(isFocused: boolean): void;
40
- searchInputCanceled(event: any): void;
41
- toggleDropdown(): void;
42
- private openDropdown;
43
- filterByValue(array: MultiSelectDropdownItem[], string: string): MultiSelectDropdownItem[];
44
- searchInputOnChange(newValue: any): void;
45
- formatValues(array: MultiSelectDropdownItem[]): MultiSelectDropdownItem[];
46
- toggleSelectedItems(event: any, item: MultiSelectDropdownItem): void;
47
- applyFilters(): void;
48
- onReset(): void;
49
- onCancel(): void;
50
- static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectDropdownComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectDropdownComponent, "mis-multi-select-dropdown", never, { "data": { "alias": "data"; "required": false; }; "label": { "alias": "label"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "dropdownListHeight": { "alias": "dropdownListHeight"; "required": false; }; "dropdownListWidth": { "alias": "dropdownListWidth"; "required": false; }; "dropdownListPosition": { "alias": "dropdownListPosition"; "required": false; }; "enableSelectAll": { "alias": "enableSelectAll"; "required": false; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; }; "showSelectedCount": { "alias": "showSelectedCount"; "required": false; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; }; "options": { "alias": "options"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "hideApplyButton": { "alias": "hideApplyButton"; "required": false; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; }; "customLabelTemplate": { "alias": "customLabelTemplate"; "required": false; }; }, { "onChange": "onChange"; }, never, never, false, never>;
52
- }
53
3
  export interface MultiSelectDropdownItem {
54
4
  label: string;
55
5
  value: string;
@@ -60,3 +10,91 @@ export interface MultiSelectDropdownItem {
60
10
  export interface OPTIONS {
61
11
  sortLabels: boolean;
62
12
  }
13
+ export declare class MultiSelectDropdownComponent {
14
+ private readonly eRef;
15
+ private readonly overlay;
16
+ private readonly viewContainerRef;
17
+ data: import("@angular/core").InputSignal<MultiSelectDropdownItem[]>;
18
+ selectedItems: import("@angular/core").InputSignal<MultiSelectDropdownItem[]>;
19
+ label: import("@angular/core").InputSignal<string>;
20
+ height: import("@angular/core").InputSignal<string>;
21
+ width: import("@angular/core").InputSignal<string>;
22
+ dropdownListHeight: import("@angular/core").InputSignal<string>;
23
+ dropdownListWidth: import("@angular/core").InputSignal<string>;
24
+ dropdownListPosition: import("@angular/core").InputSignal<"Left" | "Right">;
25
+ enableSelectAll: import("@angular/core").InputSignal<boolean>;
26
+ searchEnabled: import("@angular/core").InputSignal<boolean>;
27
+ showSelectedCount: import("@angular/core").InputSignal<boolean>;
28
+ noDataMessage: import("@angular/core").InputSignal<string>;
29
+ options: import("@angular/core").InputSignal<OPTIONS>;
30
+ hideApplyButton: import("@angular/core").InputSignal<boolean>;
31
+ searchInputPlaceholder: import("@angular/core").InputSignal<string>;
32
+ customLabelTemplate: import("@angular/core").InputSignal<TemplateRef<any>>;
33
+ onChange: import("@angular/core").OutputEmitterRef<MultiSelectDropdownItem[]>;
34
+ isOpen: import("@angular/core").WritableSignal<boolean>;
35
+ searchInput: import("@angular/core").WritableSignal<string>;
36
+ isSearchInputFocused: import("@angular/core").WritableSignal<boolean>;
37
+ internalSelectedItems: import("@angular/core").WritableSignal<MultiSelectDropdownItem[]>;
38
+ internalData: import("@angular/core").WritableSignal<MultiSelectDropdownItem[]>;
39
+ private readonly SELECT_ALL_ENUM;
40
+ selectElement: ElementRef;
41
+ popupContainer: TemplateRef<Element>;
42
+ private overlayRef;
43
+ constructor();
44
+ /**
45
+ * Effect to manage the component's internal state based on external inputs.
46
+ */
47
+ private handleInputChanges;
48
+ /**
49
+ * Computed signal for the data to be displayed in the dropdown list.
50
+ * Filters based on search input and sorts if the option is enabled.
51
+ */
52
+ displayData: import("@angular/core").Signal<MultiSelectDropdownItem[]>;
53
+ /**
54
+ * Helper function to sort the data.
55
+ */
56
+ private sortData;
57
+ /**
58
+ * Helper function to filter the data.
59
+ */
60
+ private filterByValue;
61
+ /**
62
+ * Toggles the dropdown's open/close state.
63
+ */
64
+ toggleDropdown(): void;
65
+ /**
66
+ * Toggles the checked state of a specific item.
67
+ * Handles the 'Select All' logic.
68
+ */
69
+ toggleSelectedItems(event: Event, item: MultiSelectDropdownItem): void;
70
+ /**
71
+ * Emits the selected items and closes the dropdown.
72
+ */
73
+ applyFilters(): void;
74
+ /**
75
+ * Resets the dropdown to an empty state.
76
+ */
77
+ onReset(): void;
78
+ /**
79
+ * Closes the dropdown and reverts any changes.
80
+ */
81
+ onCancel(): void;
82
+ /**
83
+ * Toggles the focus state of the search input.
84
+ */
85
+ searchInputFocused(isFocused: boolean): void;
86
+ /**
87
+ * Clears the search input and unfocuses it.
88
+ */
89
+ searchInputCanceled(event: Event): void;
90
+ /**
91
+ * Handles the change event from the search input.
92
+ */
93
+ searchInputOnChange(newValue: string): void;
94
+ /**
95
+ * Creates and displays the overlay for the dropdown list.
96
+ */
97
+ private openDropdown;
98
+ static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectDropdownComponent, never>;
99
+ static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectDropdownComponent, "mis-multi-select-dropdown", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "dropdownListHeight": { "alias": "dropdownListHeight"; "required": false; "isSignal": true; }; "dropdownListWidth": { "alias": "dropdownListWidth"; "required": false; "isSignal": true; }; "dropdownListPosition": { "alias": "dropdownListPosition"; "required": false; "isSignal": true; }; "enableSelectAll": { "alias": "enableSelectAll"; "required": false; "isSignal": true; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; "isSignal": true; }; "showSelectedCount": { "alias": "showSelectedCount"; "required": false; "isSignal": true; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "hideApplyButton": { "alias": "hideApplyButton"; "required": false; "isSignal": true; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; "isSignal": true; }; "customLabelTemplate": { "alias": "customLabelTemplate"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; }, never, never, false, never>;
100
+ }
@@ -1,60 +1,5 @@
1
- import { Overlay } from "@angular/cdk/overlay";
2
- import { ElementRef, EventEmitter, OnInit, TemplateRef, ViewContainerRef } from "@angular/core";
1
+ import { ElementRef, TemplateRef } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
- export declare class NestedMultiSelectDropdownComponent implements OnInit {
5
- private eRef;
6
- private overlay;
7
- private viewContainerRef;
8
- searchInput: string;
9
- isOpen: boolean;
10
- localSelectedItems: NestedMultiSelectDropdownItem[];
11
- localData: NestedMultiSelectDropdownItem[];
12
- searchData: NestedMultiSelectDropdownItem[];
13
- selectedCount: number;
14
- set data(values: NestedMultiSelectDropdownItem[]);
15
- label: string;
16
- height: string;
17
- width: string;
18
- dropdownListHeight: string;
19
- dropdownListWidth: string;
20
- dropdownListPosition: "Left" | "Right";
21
- searchEnabled: boolean;
22
- showSelectedCount: boolean;
23
- noDataMessage: string;
24
- set selectedItems(values: NestedMultiSelectDropdownItem[]);
25
- onChange: EventEmitter<any>;
26
- selectElement: ElementRef;
27
- popupContainer: TemplateRef<Element>;
28
- private overlayRef;
29
- constructor(eRef: ElementRef, overlay: Overlay, viewContainerRef: ViewContainerRef);
30
- ngOnInit(): void;
31
- handlerSetLocalSelectedItems(values: any): void;
32
- isSearchInputFocused: boolean;
33
- searchInputFocused(isFocused: boolean): void;
34
- searchInputCanceled(event: any): void;
35
- toggleDropdown(): void;
36
- private openDropdown;
37
- filterByValue(array: NestedMultiSelectDropdownItem[], string: string): {
38
- children: {
39
- label: string;
40
- value: string;
41
- checked?: boolean;
42
- icon?: string;
43
- }[];
44
- label: string;
45
- value: string;
46
- checked?: boolean;
47
- icon?: string;
48
- }[];
49
- searchInputOnChange(newValue: any): void;
50
- formatValues(array: NestedMultiSelectDropdownItem[]): NestedMultiSelectDropdownItem[];
51
- toggleSelectedItems(event: any, item: NestedMultiSelectDropdownItem, cItem?: any): void;
52
- applyFilters(): void;
53
- onReset(): void;
54
- onCancel(): void;
55
- static ɵfac: i0.ɵɵFactoryDeclaration<NestedMultiSelectDropdownComponent, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<NestedMultiSelectDropdownComponent, "mis-nested-multi-select-dropdown", never, { "data": { "alias": "data"; "required": false; }; "label": { "alias": "label"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "dropdownListHeight": { "alias": "dropdownListHeight"; "required": false; }; "dropdownListWidth": { "alias": "dropdownListWidth"; "required": false; }; "dropdownListPosition": { "alias": "dropdownListPosition"; "required": false; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; }; "showSelectedCount": { "alias": "showSelectedCount"; "required": false; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; }, { "onChange": "onChange"; }, never, never, false, never>;
57
- }
58
3
  export interface NestedMultiSelectDropdownItem {
59
4
  label: string;
60
5
  value: string;
@@ -67,3 +12,101 @@ export interface NestedMultiSelectDropdownItem {
67
12
  icon?: string;
68
13
  }>;
69
14
  }
15
+ export declare class NestedMultiSelectDropdownComponent {
16
+ private readonly eRef;
17
+ private readonly overlay;
18
+ private readonly viewContainerRef;
19
+ data: import("@angular/core").InputSignal<NestedMultiSelectDropdownItem[]>;
20
+ selectedItems: import("@angular/core").InputSignal<NestedMultiSelectDropdownItem[]>;
21
+ label: import("@angular/core").InputSignal<string>;
22
+ height: import("@angular/core").InputSignal<string>;
23
+ width: import("@angular/core").InputSignal<string>;
24
+ dropdownListHeight: import("@angular/core").InputSignal<string>;
25
+ dropdownListWidth: import("@angular/core").InputSignal<string>;
26
+ dropdownListPosition: import("@angular/core").InputSignal<"Left" | "Right">;
27
+ searchEnabled: import("@angular/core").InputSignal<boolean>;
28
+ showSelectedCount: import("@angular/core").InputSignal<boolean>;
29
+ noDataMessage: import("@angular/core").InputSignal<string>;
30
+ searchInputPlaceholder: import("@angular/core").InputSignal<string>;
31
+ onChange: import("@angular/core").OutputEmitterRef<NestedMultiSelectDropdownItem[]>;
32
+ isOpen: import("@angular/core").WritableSignal<boolean>;
33
+ searchInput: import("@angular/core").WritableSignal<string>;
34
+ isSearchInputFocused: import("@angular/core").WritableSignal<boolean>;
35
+ localData: import("@angular/core").WritableSignal<NestedMultiSelectDropdownItem[]>;
36
+ selectElement: ElementRef;
37
+ popupContainer: TemplateRef<Element>;
38
+ private overlayRef;
39
+ constructor();
40
+ /**
41
+ * Computed signal for the number of selected items.
42
+ */
43
+ selectedCount: import("@angular/core").Signal<number>;
44
+ /**
45
+ * Computed signal for data to be displayed in the dropdown.
46
+ * Filters based on search input and sorts the parents.
47
+ */
48
+ displayData: import("@angular/core").Signal<NestedMultiSelectDropdownItem[]>;
49
+ /**
50
+ * Initializes the data structure from inputs, setting checked states.
51
+ * @param data The input data array.
52
+ * @param selected The selected items from the parent.
53
+ */
54
+ private initializeData;
55
+ /**
56
+ * Filters the data based on search string, including children.
57
+ * @param array The data to filter.
58
+ * @param search The search string.
59
+ */
60
+ private filterByValue;
61
+ /**
62
+ * Sorts the parent items, placing checked parents at the top.
63
+ * @param data The data to sort.
64
+ */
65
+ private sortData;
66
+ /**
67
+ * Toggles the dropdown's open/close state.
68
+ */
69
+ toggleDropdown(): void;
70
+ /**
71
+ * Handles focus state of the search input.
72
+ * @param isFocused
73
+ */
74
+ searchInputFocused(isFocused: boolean): void;
75
+ /**
76
+ * Clears the search input.
77
+ * @param event
78
+ */
79
+ searchInputCanceled(event: Event): void;
80
+ /**
81
+ * Handles the change event from the search input.
82
+ * @param newValue
83
+ */
84
+ searchInputOnChange(newValue: string): void;
85
+ /**
86
+ * Toggles the checked state of a specific item, handling parent-child relationships.
87
+ * @param event
88
+ * @param parent
89
+ * @param child
90
+ */
91
+ toggleSelectedItems(event: Event, parent: NestedMultiSelectDropdownItem, child?: any): void;
92
+ /**
93
+ * Emits the selected items and closes the dropdown.
94
+ */
95
+ applyFilters(): void;
96
+ /**
97
+ * Resets all selections to empty.
98
+ */
99
+ onReset(): void;
100
+ /**
101
+ * Closes the dropdown and reverts any unapplied changes.
102
+ */
103
+ onCancel(): void;
104
+ /**
105
+ * Creates and displays the overlay for the dropdown list.
106
+ * @param template
107
+ * @param origin
108
+ */
109
+ private openDropdown;
110
+ static ɵfac: i0.ɵɵFactoryDeclaration<NestedMultiSelectDropdownComponent, never>;
111
+ static ɵcmp: i0.ɵɵComponentDeclaration<NestedMultiSelectDropdownComponent, "mis-nested-multi-select-dropdown", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "dropdownListHeight": { "alias": "dropdownListHeight"; "required": false; "isSignal": true; }; "dropdownListWidth": { "alias": "dropdownListWidth"; "required": false; "isSignal": true; }; "dropdownListPosition": { "alias": "dropdownListPosition"; "required": false; "isSignal": true; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; "isSignal": true; }; "showSelectedCount": { "alias": "showSelectedCount"; "required": false; "isSignal": true; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; "isSignal": true; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; }, never, never, false, never>;
112
+ }