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,48 +1,37 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/forms';
4
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
2
+ import { input, EventEmitter, signal, Component, ChangeDetectionStrategy, Output, NgModule } from '@angular/core';
5
3
  import { CommonModule } from '@angular/common';
6
4
 
7
5
  class SliderComponent {
8
- constructor(formBuilder) {
9
- this.formBuilder = formBuilder;
10
- this.min = 0;
11
- this.max = 100;
12
- this.value = 0;
6
+ constructor() {
7
+ this.min = input(0);
8
+ this.max = input(100);
9
+ this.value = input(0);
13
10
  this.valueChange = new EventEmitter();
14
- }
15
- ngOnInit() {
16
- this.sliderForm = this.formBuilder.group({
17
- sliderFormControl: [this.value]
18
- });
11
+ // Internal signal for the current value
12
+ this.currentValue = signal(0);
13
+ // Initialize the current value with the input value
14
+ this.currentValue.set(this.value());
19
15
  }
20
16
  onInputChange(value) {
21
- this.value = value;
22
- this.sliderForm.patchValue({ sliderFormControl: value });
23
- this.valueChange.emit(this.value);
17
+ const numValue = Number(value);
18
+ this.currentValue.set(numValue);
19
+ this.valueChange.emit(numValue);
24
20
  }
25
- static { this.ɵfac = function SliderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SliderComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder)); }; }
26
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SliderComponent, selectors: [["mis-slider"]], inputs: { min: "min", max: "max", value: "value" }, outputs: { valueChange: "valueChange" }, decls: 3, vars: 3, consts: [[3, "formGroup"], [1, "slider"], ["type", "range", "formControlName", "sliderFormControl", 3, "input", "min", "max"]], template: function SliderComponent_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelementStart(0, "form", 0)(1, "div", 1)(2, "input", 2);
28
- i0.ɵɵlistener("input", function SliderComponent_Template_input_input_2_listener($event) { return ctx.onInputChange($event.target.value); });
29
- i0.ɵɵelementEnd()()();
21
+ static { this.ɵfac = function SliderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SliderComponent)(); }; }
22
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SliderComponent, selectors: [["mis-slider"]], inputs: { min: [1, "min"], max: [1, "max"], value: [1, "value"] }, outputs: { valueChange: "valueChange" }, decls: 2, vars: 3, consts: [[1, "slider"], ["type", "range", 3, "input", "min", "max", "value"]], template: function SliderComponent_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "div", 0)(1, "input", 1);
24
+ i0.ɵɵlistener("input", function SliderComponent_Template_input_input_1_listener($event) { return ctx.onInputChange($event.target.value); });
25
+ i0.ɵɵelementEnd()();
30
26
  } if (rf & 2) {
31
- i0.ɵɵproperty("formGroup", ctx.sliderForm);
32
- i0.ɵɵadvance(2);
33
- i0.ɵɵproperty("min", ctx.min)("max", ctx.max);
34
- } }, dependencies: [i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.RangeValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormControlName], styles: [".slider[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center}.slider[_ngcontent-%COMP%] input[type=range][_ngcontent-%COMP%]{width:100%;-webkit-appearance:none;appearance:none;height:8px;background:#cbddfb;outline:none;border-radius:5px}.slider[_ngcontent-%COMP%] input[type=range][_ngcontent-%COMP%]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;background:#0937b2;cursor:pointer;border-radius:50%}.slider[_ngcontent-%COMP%] input[type=range][_ngcontent-%COMP%]::-moz-range-thumb{width:15px;height:15px;background:#0937b2;cursor:pointer;border-radius:50%}.slider[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-left:10px}"] }); }
27
+ i0.ɵɵadvance();
28
+ i0.ɵɵproperty("min", ctx.min())("max", ctx.max())("value", ctx.currentValue());
29
+ } }, styles: [".slider[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center}.slider[_ngcontent-%COMP%] input[type=range][_ngcontent-%COMP%]{width:100%;-webkit-appearance:none;appearance:none;height:8px;background:#cbddfb;outline:none;border-radius:5px}.slider[_ngcontent-%COMP%] input[type=range][_ngcontent-%COMP%]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;background:#0937b2;cursor:pointer;border-radius:50%}.slider[_ngcontent-%COMP%] input[type=range][_ngcontent-%COMP%]::-moz-range-thumb{width:15px;height:15px;background:#0937b2;cursor:pointer;border-radius:50%}.slider[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-left:10px}"], changeDetection: 0 }); }
35
30
  }
36
31
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SliderComponent, [{
37
32
  type: Component,
38
- args: [{ selector: 'mis-slider', template: "<form [formGroup]=\"sliderForm\">\n <div class=\"slider\">\n <input type=\"range\" [min]=\"min\" [max]=\"max\" formControlName=\"sliderFormControl\" (input)=\"onInputChange($event.target.value)\" />\n </div>\n </form>\n \n\n ", styles: [".slider{width:100%;display:flex;align-items:center}.slider input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:8px;background:#cbddfb;outline:none;border-radius:5px}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;background:#0937b2;cursor:pointer;border-radius:50%}.slider input[type=range]::-moz-range-thumb{width:15px;height:15px;background:#0937b2;cursor:pointer;border-radius:50%}.slider span{margin-left:10px}\n"] }]
39
- }], () => [{ type: i1.UntypedFormBuilder }], { min: [{
40
- type: Input
41
- }], max: [{
42
- type: Input
43
- }], value: [{
44
- type: Input
45
- }], valueChange: [{
33
+ args: [{ selector: 'mis-slider', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"slider\">\n <input \n type=\"range\" \n [min]=\"min()\" \n [max]=\"max()\" \n [value]=\"currentValue()\"\n (input)=\"onInputChange($event.target.value)\" />\n</div>\n \n\n ", styles: [".slider{width:100%;display:flex;align-items:center}.slider input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:8px;background:#cbddfb;outline:none;border-radius:5px}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;background:#0937b2;cursor:pointer;border-radius:50%}.slider input[type=range]::-moz-range-thumb{width:15px;height:15px;background:#0937b2;cursor:pointer;border-radius:50%}.slider span{margin-left:10px}\n"] }]
34
+ }], () => [], { valueChange: [{
46
35
  type: Output
47
36
  }] }); })();
48
37
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SliderComponent, { className: "SliderComponent" }); })();
@@ -50,9 +39,7 @@ class SliderComponent {
50
39
  class SliderModule {
51
40
  static { this.ɵfac = function SliderModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SliderModule)(); }; }
52
41
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SliderModule }); }
53
- static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
54
- FormsModule,
55
- ReactiveFormsModule] }); }
42
+ static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] }); }
56
43
  }
57
44
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SliderModule, [{
58
45
  type: NgModule,
@@ -61,16 +48,12 @@ class SliderModule {
61
48
  SliderComponent
62
49
  ],
63
50
  imports: [
64
- CommonModule,
65
- FormsModule,
66
- ReactiveFormsModule
51
+ CommonModule
67
52
  ],
68
53
  exports: [SliderComponent]
69
54
  }]
70
55
  }], null, null); })();
71
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SliderModule, { declarations: [SliderComponent], imports: [CommonModule,
72
- FormsModule,
73
- ReactiveFormsModule], exports: [SliderComponent] }); })();
56
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SliderModule, { declarations: [SliderComponent], imports: [CommonModule], exports: [SliderComponent] }); })();
74
57
 
75
58
  /**
76
59
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-slider.mjs","sources":["../../../projects/mis-components/slider/slider.component.ts","../../../projects/mis-components/slider/slider.component.html","../../../projects/mis-components/slider/slider.module.ts","../../../projects/mis-components/slider/mis-crystal-design-system-slider.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\n\n@Component({\n selector: 'mis-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.css']\n})\nexport class SliderComponent implements OnInit {\n\n @Input() min?:number = 0;\n @Input() max?:number = 100;\n @Input() value: number = 0;\n @Output() valueChange = new EventEmitter<number>()\n\n sliderForm: UntypedFormGroup;\n\n constructor(private formBuilder: UntypedFormBuilder) { }\n\n ngOnInit(): void {\n this.sliderForm = this.formBuilder.group({\n sliderFormControl: [this.value]\n });\n }\n\n onInputChange(value: number) {\n this.value = value;\n this.sliderForm.patchValue({sliderFormControl: value})\n this.valueChange.emit(this.value);\n }\n\n}\n","<form [formGroup]=\"sliderForm\">\n <div class=\"slider\">\n <input type=\"range\" [min]=\"min\" [max]=\"max\" formControlName=\"sliderFormControl\" (input)=\"onInputChange($event.target.value)\" />\n </div>\n </form>\n \n\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SliderComponent } from './slider.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [\n SliderComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n exports: [SliderComponent]\n})\nexport class SliderModule { }\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-slider.mjs","sources":["../../../projects/mis-components/slider/slider.component.ts","../../../projects/mis-components/slider/slider.component.html","../../../projects/mis-components/slider/slider.module.ts","../../../projects/mis-components/slider/mis-crystal-design-system-slider.ts"],"sourcesContent":["import { Component, EventEmitter, input, Output, ChangeDetectionStrategy, signal, WritableSignal } from '@angular/core';\n\n@Component({\n selector: 'mis-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SliderComponent {\n min = input<number>(0);\n max = input<number>(100);\n value = input<number>(0);\n @Output() valueChange = new EventEmitter<number>();\n\n // Internal signal for the current value\n currentValue: WritableSignal<number> = signal(0);\n\n constructor() {\n // Initialize the current value with the input value\n this.currentValue.set(this.value());\n }\n\n onInputChange(value: number) {\n const numValue = Number(value);\n this.currentValue.set(numValue);\n this.valueChange.emit(numValue);\n }\n}\n","<div class=\"slider\">\n <input \n type=\"range\" \n [min]=\"min()\" \n [max]=\"max()\" \n [value]=\"currentValue()\"\n (input)=\"onInputChange($event.target.value)\" />\n</div>\n \n\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SliderComponent } from './slider.component';\n\n@NgModule({\n declarations: [\n SliderComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [SliderComponent]\n})\nexport class SliderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import * as i1$1 from '@angular/cdk/overlay';
2
2
  import { OverlayConfig } from '@angular/cdk/overlay';
3
3
  import { ComponentPortal } from '@angular/cdk/portal';
4
4
  import * as i0 from '@angular/core';
5
- import { EventEmitter, Component, Input, Output, Injectable, NgModule } from '@angular/core';
5
+ import { signal, EventEmitter, Component, ChangeDetectionStrategy, Output, Injectable, NgModule } from '@angular/core';
6
6
  import * as i1 from '@angular/common';
7
7
  import { CommonModule } from '@angular/common';
8
8
 
@@ -10,8 +10,9 @@ const _c0 = ["*"];
10
10
  function SnackbarComponent_div_1_img_2_Template(rf, ctx) { if (rf & 1) {
11
11
  i0.ɵɵelement(0, "img", 7);
12
12
  } if (rf & 2) {
13
+ let tmp_2_0;
13
14
  const ctx_r0 = i0.ɵɵnextContext(2);
14
- i0.ɵɵproperty("src", ctx_r0.config.iconUrl, i0.ɵɵsanitizeUrl);
15
+ i0.ɵɵproperty("src", (tmp_2_0 = ctx_r0.config()) == null ? null : tmp_2_0.iconUrl, i0.ɵɵsanitizeUrl);
15
16
  } }
16
17
  function SnackbarComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1) {
17
18
  const _r2 = i0.ɵɵgetCurrentView();
@@ -20,9 +21,10 @@ function SnackbarComponent_div_1_div_4_Template(rf, ctx) { if (rf & 1) {
20
21
  i0.ɵɵtext(2);
21
22
  i0.ɵɵelementEnd()();
22
23
  } if (rf & 2) {
24
+ let tmp_2_0;
23
25
  const ctx_r0 = i0.ɵɵnextContext(2);
24
26
  i0.ɵɵadvance(2);
25
- i0.ɵɵtextInterpolate(ctx_r0.config.actionString);
27
+ i0.ɵɵtextInterpolate((tmp_2_0 = ctx_r0.config()) == null ? null : tmp_2_0.actionString);
26
28
  } }
27
29
  function SnackbarComponent_div_1_Template(rf, ctx) { if (rf & 1) {
28
30
  i0.ɵɵelementStart(0, "div", 3)(1, "span", 4);
@@ -32,13 +34,16 @@ function SnackbarComponent_div_1_Template(rf, ctx) { if (rf & 1) {
32
34
  i0.ɵɵtemplate(4, SnackbarComponent_div_1_div_4_Template, 3, 1, "div", 6);
33
35
  i0.ɵɵelementEnd();
34
36
  } if (rf & 2) {
37
+ let tmp_1_0;
38
+ let tmp_2_0;
39
+ let tmp_3_0;
35
40
  const ctx_r0 = i0.ɵɵnextContext();
36
41
  i0.ɵɵadvance(2);
37
- i0.ɵɵproperty("ngIf", ctx_r0.config.iconUrl);
42
+ i0.ɵɵproperty("ngIf", (tmp_1_0 = ctx_r0.config()) == null ? null : tmp_1_0.iconUrl);
38
43
  i0.ɵɵadvance();
39
- i0.ɵɵtextInterpolate1(" ", ctx_r0.config.message, " ");
44
+ i0.ɵɵtextInterpolate1(" ", (tmp_2_0 = ctx_r0.config()) == null ? null : tmp_2_0.message, " ");
40
45
  i0.ɵɵadvance();
41
- i0.ɵɵproperty("ngIf", ctx_r0.config.actionString);
46
+ i0.ɵɵproperty("ngIf", (tmp_3_0 = ctx_r0.config()) == null ? null : tmp_3_0.actionString);
42
47
  } }
43
48
  function SnackbarComponent_div_2_Template(rf, ctx) { if (rf & 1) {
44
49
  i0.ɵɵelementStart(0, "div", 10);
@@ -47,30 +52,31 @@ function SnackbarComponent_div_2_Template(rf, ctx) { if (rf & 1) {
47
52
  } }
48
53
  class SnackbarComponent {
49
54
  constructor() {
55
+ this.config = signal(undefined);
50
56
  this.triggerAction = new EventEmitter();
51
57
  }
52
58
  onActionClick() {
53
59
  this.triggerAction.emit();
54
60
  }
55
61
  static { this.ɵfac = function SnackbarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SnackbarComponent)(); }; }
56
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SnackbarComponent, selectors: [["app-snackbar"]], inputs: { config: "config" }, outputs: { triggerAction: "triggerAction" }, ngContentSelectors: _c0, decls: 3, vars: 2, consts: [[1, "snackbar-container"], ["class", "messages", 4, "ngIf"], ["class", "component-container", 4, "ngIf"], [1, "messages"], [1, "message"], ["alt", "", 3, "src", 4, "ngIf"], ["class", "snackbar-action", 4, "ngIf"], ["alt", "", 3, "src"], [1, "snackbar-action"], [3, "click"], [1, "component-container"]], template: function SnackbarComponent_Template(rf, ctx) { if (rf & 1) {
62
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SnackbarComponent, selectors: [["app-snackbar"]], outputs: { triggerAction: "triggerAction" }, ngContentSelectors: _c0, decls: 3, vars: 2, consts: [[1, "snackbar-container"], ["class", "messages", 4, "ngIf"], ["class", "component-container", 4, "ngIf"], [1, "messages"], [1, "message"], ["alt", "", 3, "src", 4, "ngIf"], ["class", "snackbar-action", 4, "ngIf"], ["alt", "", 3, "src"], [1, "snackbar-action"], [3, "click"], [1, "component-container"]], template: function SnackbarComponent_Template(rf, ctx) { if (rf & 1) {
57
63
  i0.ɵɵprojectionDef();
58
64
  i0.ɵɵelementStart(0, "div", 0);
59
65
  i0.ɵɵtemplate(1, SnackbarComponent_div_1_Template, 5, 3, "div", 1)(2, SnackbarComponent_div_2_Template, 2, 0, "div", 2);
60
66
  i0.ɵɵelementEnd();
61
67
  } if (rf & 2) {
68
+ let tmp_0_0;
69
+ let tmp_1_0;
62
70
  i0.ɵɵadvance();
63
- i0.ɵɵproperty("ngIf", !ctx.config.hasComponent);
71
+ i0.ɵɵproperty("ngIf", !((tmp_0_0 = ctx.config()) == null ? null : tmp_0_0.hasComponent));
64
72
  i0.ɵɵadvance();
65
- i0.ɵɵproperty("ngIf", ctx.config.hasComponent);
66
- } }, dependencies: [i1.NgIf], styles: [".snackbar-container[_ngcontent-%COMP%]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#181f33;color:#fff;border-radius:8px;padding:8px 12px;max-width:400px;width:90%;z-index:1000;box-shadow:0 4px 8px #0003}.messages[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.message[_ngcontent-%COMP%]{flex:1;padding-right:10px;font-size:16px;font-weight:700}.snackbar-action[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#181f33;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:16px!important;transition:background-color .3s ease}.snackbar-action[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#0056b3}.component-container[_ngcontent-%COMP%]{margin-top:10px}@media (max-width: 768px){.snackbar-container[_ngcontent-%COMP%]{left:10px;right:10px;transform:none;width:auto;max-width:none}}"] }); }
73
+ i0.ɵɵproperty("ngIf", (tmp_1_0 = ctx.config()) == null ? null : tmp_1_0.hasComponent);
74
+ } }, dependencies: [i1.NgIf], styles: [".snackbar-container[_ngcontent-%COMP%]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#181f33;color:#fff;border-radius:8px;padding:8px 12px;max-width:400px;width:90%;z-index:1000;box-shadow:0 4px 8px #0003}.messages[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.message[_ngcontent-%COMP%]{flex:1;padding-right:10px;font-size:16px;font-weight:700}.snackbar-action[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:#181f33;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:16px!important;transition:background-color .3s ease}.snackbar-action[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#0056b3}.component-container[_ngcontent-%COMP%]{margin-top:10px}@media (max-width: 768px){.snackbar-container[_ngcontent-%COMP%]{left:10px;right:10px;transform:none;width:auto;max-width:none}}"], changeDetection: 0 }); }
67
75
  }
68
76
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SnackbarComponent, [{
69
77
  type: Component,
70
- args: [{ selector: 'app-snackbar', template: "<div class=\"snackbar-container\">\n <div class=\"messages\" *ngIf=\"!config.hasComponent\">\n <span class=\"message\">\n <img *ngIf=\"config.iconUrl\" [src]=\"config.iconUrl\" alt=\"\">\n {{ config.message }}\n </span>\n <div class=\"snackbar-action\" *ngIf=\"config.actionString\">\n <button (click)=\"onActionClick()\">{{ config.actionString }}</button>\n </div>\n </div>\n <div class=\"component-container\" *ngIf=\"config.hasComponent\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".snackbar-container{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#181f33;color:#fff;border-radius:8px;padding:8px 12px;max-width:400px;width:90%;z-index:1000;box-shadow:0 4px 8px #0003}.messages{display:flex;align-items:center;justify-content:space-between}.message{flex:1;padding-right:10px;font-size:16px;font-weight:700}.snackbar-action button{background-color:#181f33;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:16px!important;transition:background-color .3s ease}.snackbar-action button:hover{background-color:#0056b3}.component-container{margin-top:10px}@media (max-width: 768px){.snackbar-container{left:10px;right:10px;transform:none;width:auto;max-width:none}}\n"] }]
71
- }], () => [], { config: [{
72
- type: Input
73
- }], triggerAction: [{
78
+ args: [{ selector: 'app-snackbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"snackbar-container\">\n <div class=\"messages\" *ngIf=\"!config()?.hasComponent\">\n <span class=\"message\">\n <img *ngIf=\"config()?.iconUrl\" [src]=\"config()?.iconUrl\" alt=\"\">\n {{ config()?.message }}\n </span>\n <div class=\"snackbar-action\" *ngIf=\"config()?.actionString\">\n <button (click)=\"onActionClick()\">{{ config()?.actionString }}</button>\n </div>\n </div>\n <div class=\"component-container\" *ngIf=\"config()?.hasComponent\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".snackbar-container{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#181f33;color:#fff;border-radius:8px;padding:8px 12px;max-width:400px;width:90%;z-index:1000;box-shadow:0 4px 8px #0003}.messages{display:flex;align-items:center;justify-content:space-between}.message{flex:1;padding-right:10px;font-size:16px;font-weight:700}.snackbar-action button{background-color:#181f33;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:16px!important;transition:background-color .3s ease}.snackbar-action button:hover{background-color:#0056b3}.component-container{margin-top:10px}@media (max-width: 768px){.snackbar-container{left:10px;right:10px;transform:none;width:auto;max-width:none}}\n"] }]
79
+ }], () => [], { triggerAction: [{
74
80
  type: Output
75
81
  }] }); })();
76
82
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SnackbarComponent, { className: "SnackbarComponent" }); })();
@@ -88,7 +94,8 @@ class SnackbarService {
88
94
  this.snackbarRef = this.overlay.create(overlayConfig);
89
95
  const snackbarPortal = new ComponentPortal(SnackbarComponent);
90
96
  const componentRef = this.snackbarRef.attach(snackbarPortal);
91
- // componentRef.instance.config = config;
97
+ // Set the config using the writable signal
98
+ componentRef.instance.config.set(config);
92
99
  config.duration = config.duration || 3000;
93
100
  setTimeout(() => {
94
101
  this.closeSnackbar();
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-snackbar.mjs","sources":["../../../projects/mis-components/snackbar/snackbar/snackbar.component.html","../../../projects/mis-components/snackbar/snackbar/snackbar.component.ts","../../../projects/mis-components/snackbar/snackbar.service.ts","../../../projects/mis-components/snackbar/snackbar.module.ts","../../../projects/mis-components/snackbar/mis-crystal-design-system-snackbar.ts"],"sourcesContent":["<div class=\"snackbar-container\">\n <div class=\"messages\" *ngIf=\"!config.hasComponent\">\n <span class=\"message\">\n <img *ngIf=\"config.iconUrl\" [src]=\"config.iconUrl\" alt=\"\">\n {{ config.message }}\n </span>\n <div class=\"snackbar-action\" *ngIf=\"config.actionString\">\n <button (click)=\"onActionClick()\">{{ config.actionString }}</button>\n </div>\n </div>\n <div class=\"component-container\" *ngIf=\"config.hasComponent\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ISnackBarConfig } from '../snackbar.service';\n\n@Component({\n selector: 'app-snackbar',\n templateUrl: './snackbar.component.html',\n styleUrls: ['./snackbar.component.css']\n})\nexport class SnackbarComponent {\n @Input() config: ISnackBarConfig;\n @Output() triggerAction = new EventEmitter<void>();\n constructor(){}\n onActionClick(): void {\n this.triggerAction.emit();\n }\n}\n","export interface ISnackBarConfig {\n message: string;\n actionString: string;\n hasComponent: boolean;\n iconUrl?: string;\n component?: ComponentRef<any>;\n duration?: number;\n onActionClick?: () => void;\n}\nimport { Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { ComponentRef, Injectable } from \"@angular/core\"; // Assuming you have defined ISnackBarConfig interface\nimport { SnackbarComponent } from \"./snackbar/snackbar.component\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class SnackbarService {\n config: ISnackBarConfig;\n private snackbarRef: OverlayRef;\n\n constructor(private overlay: Overlay) {}\n\n openSnackbar(config: ISnackBarConfig): void {\n this.config = config;\n const overlayConfig = new OverlayConfig({\n hasBackdrop: false,\n positionStrategy: this.overlay.position().global().centerHorizontally().bottom(\"48px\")\n });\n\n this.snackbarRef = this.overlay.create(overlayConfig);\n\n const snackbarPortal = new ComponentPortal(SnackbarComponent);\n const componentRef = this.snackbarRef.attach(snackbarPortal);\n\n // componentRef.instance.config = config;\n\n config.duration = config.duration || 3000;\n setTimeout(() => {\n this.closeSnackbar();\n }, config.duration);\n\n componentRef.instance.triggerAction.subscribe(() => {\n if (config.onActionClick) {\n config.onActionClick();\n }\n this.closeSnackbar();\n });\n }\n\n closeSnackbar(): void {\n if (this.snackbarRef) {\n this.snackbarRef.dispose();\n this.snackbarRef = null;\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SnackbarComponent } from './snackbar/snackbar.component';\nimport { SnackbarService } from './snackbar.service';\n\n\n\n@NgModule({\n declarations: [\n SnackbarComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [SnackbarComponent]\n})\nexport class SnackbarModule {\n static forRoot(): ModuleWithProviders<SnackbarModule> {\n return {\n ngModule: SnackbarModule,\n providers: [SnackbarService]\n };\n }\n\n static forChild(): ModuleWithProviders<SnackbarModule> {\n return {\n ngModule: SnackbarModule,\n providers: [ SnackbarService]\n };\n }\n }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"mis-crystal-design-system-snackbar.mjs","sources":["../../../projects/mis-components/snackbar/snackbar/snackbar.component.html","../../../projects/mis-components/snackbar/snackbar/snackbar.component.ts","../../../projects/mis-components/snackbar/snackbar.service.ts","../../../projects/mis-components/snackbar/snackbar.module.ts","../../../projects/mis-components/snackbar/mis-crystal-design-system-snackbar.ts"],"sourcesContent":["<div class=\"snackbar-container\">\n <div class=\"messages\" *ngIf=\"!config()?.hasComponent\">\n <span class=\"message\">\n <img *ngIf=\"config()?.iconUrl\" [src]=\"config()?.iconUrl\" alt=\"\">\n {{ config()?.message }}\n </span>\n <div class=\"snackbar-action\" *ngIf=\"config()?.actionString\">\n <button (click)=\"onActionClick()\">{{ config()?.actionString }}</button>\n </div>\n </div>\n <div class=\"component-container\" *ngIf=\"config()?.hasComponent\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, EventEmitter, Output, ChangeDetectionStrategy, signal, WritableSignal } from '@angular/core';\nimport { ISnackBarConfig } from '../snackbar.service';\n\n@Component({\n selector: 'app-snackbar',\n templateUrl: './snackbar.component.html',\n styleUrls: ['./snackbar.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SnackbarComponent {\n config: WritableSignal<ISnackBarConfig | undefined> = signal(undefined);\n @Output() triggerAction = new EventEmitter<void>();\n \n constructor(){}\n \n onActionClick(): void {\n this.triggerAction.emit();\n }\n}\n","export interface ISnackBarConfig {\n message: string;\n actionString: string;\n hasComponent: boolean;\n iconUrl?: string;\n component?: ComponentRef<any>;\n duration?: number;\n onActionClick?: () => void;\n}\nimport { Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { ComponentRef, Injectable } from \"@angular/core\"; // Assuming you have defined ISnackBarConfig interface\nimport { SnackbarComponent } from \"./snackbar/snackbar.component\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class SnackbarService {\n config: ISnackBarConfig;\n private snackbarRef: OverlayRef;\n\n constructor(private overlay: Overlay) {}\n\n openSnackbar(config: ISnackBarConfig): void {\n this.config = config;\n const overlayConfig = new OverlayConfig({\n hasBackdrop: false,\n positionStrategy: this.overlay.position().global().centerHorizontally().bottom(\"48px\")\n });\n\n this.snackbarRef = this.overlay.create(overlayConfig);\n\n const snackbarPortal = new ComponentPortal(SnackbarComponent);\n const componentRef = this.snackbarRef.attach(snackbarPortal);\n\n // Set the config using the writable signal\n componentRef.instance.config.set(config);\n\n config.duration = config.duration || 3000;\n setTimeout(() => {\n this.closeSnackbar();\n }, config.duration);\n\n componentRef.instance.triggerAction.subscribe(() => {\n if (config.onActionClick) {\n config.onActionClick();\n }\n this.closeSnackbar();\n });\n }\n\n closeSnackbar(): void {\n if (this.snackbarRef) {\n this.snackbarRef.dispose();\n this.snackbarRef = null;\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SnackbarComponent } from './snackbar/snackbar.component';\nimport { SnackbarService } from './snackbar.service';\n\n\n\n@NgModule({\n declarations: [\n SnackbarComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [SnackbarComponent]\n})\nexport class SnackbarModule {\n static forRoot(): ModuleWithProviders<SnackbarModule> {\n return {\n ngModule: SnackbarModule,\n providers: [SnackbarService]\n };\n }\n\n static forChild(): ModuleWithProviders<SnackbarModule> {\n return {\n ngModule: SnackbarModule,\n providers: [ SnackbarService]\n };\n }\n }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}