mis-crystal-design-system 2.6.1 → 2.6.4-testing

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 (50) hide show
  1. package/action-list/action-list.component.d.ts +5 -1
  2. package/bundles/mis-crystal-design-system-action-list.umd.js.map +1 -1
  3. package/bundles/mis-crystal-design-system-action-list.umd.min.js.map +1 -1
  4. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js +2 -1
  5. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js.map +1 -1
  6. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js +1 -1
  7. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js.map +1 -1
  8. package/bundles/mis-crystal-design-system-button.umd.js.map +1 -1
  9. package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +1 -1
  10. package/bundles/mis-crystal-design-system-daterangepicker_v2.umd.js.map +1 -1
  11. package/bundles/mis-crystal-design-system-drawer.umd.js.map +1 -1
  12. package/bundles/mis-crystal-design-system-dropdown.umd.js +8 -3
  13. package/bundles/mis-crystal-design-system-dropdown.umd.js.map +1 -1
  14. package/bundles/mis-crystal-design-system-dropdown.umd.min.js +2 -2
  15. package/bundles/mis-crystal-design-system-dropdown.umd.min.js.map +1 -1
  16. package/bundles/mis-crystal-design-system-input.umd.js +8 -8
  17. package/bundles/mis-crystal-design-system-input.umd.js.map +1 -1
  18. package/bundles/mis-crystal-design-system-input.umd.min.js +1 -1
  19. package/bundles/mis-crystal-design-system-input.umd.min.js.map +1 -1
  20. package/bundles/mis-crystal-design-system-modal.umd.js.map +1 -1
  21. package/bundles/mis-crystal-design-system-radio-button.umd.js.map +1 -1
  22. package/bundles/mis-crystal-design-system-radio-button.umd.min.js.map +1 -1
  23. package/bundles/mis-crystal-design-system-table.umd.js.map +1 -1
  24. package/bundles/mis-crystal-design-system-toast.umd.js.map +1 -1
  25. package/dropdown/dropdown.component.d.ts +8 -2
  26. package/dropdown/mis-crystal-design-system-dropdown.metadata.json +1 -1
  27. package/esm2015/action-list/action-list.component.js +1 -1
  28. package/esm2015/async-search-dropdown/async-dropdown.component.js +3 -2
  29. package/esm2015/dropdown/dropdown.component.js +9 -4
  30. package/esm2015/input/directives/input/input.directive.js +4 -6
  31. package/esm2015/input/mis-input.component.js +6 -4
  32. package/fesm2015/mis-crystal-design-system-action-list.js.map +1 -1
  33. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js +2 -1
  34. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js.map +1 -1
  35. package/fesm2015/mis-crystal-design-system-button.js.map +1 -1
  36. package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +1 -1
  37. package/fesm2015/mis-crystal-design-system-daterangepicker_v2.js.map +1 -1
  38. package/fesm2015/mis-crystal-design-system-drawer.js.map +1 -1
  39. package/fesm2015/mis-crystal-design-system-dropdown.js +8 -3
  40. package/fesm2015/mis-crystal-design-system-dropdown.js.map +1 -1
  41. package/fesm2015/mis-crystal-design-system-input.js +8 -8
  42. package/fesm2015/mis-crystal-design-system-input.js.map +1 -1
  43. package/fesm2015/mis-crystal-design-system-modal.js.map +1 -1
  44. package/fesm2015/mis-crystal-design-system-radio-button.js.map +1 -1
  45. package/fesm2015/mis-crystal-design-system-table.js.map +1 -1
  46. package/fesm2015/mis-crystal-design-system-toast.js.map +1 -1
  47. package/input/mis-crystal-design-system-input.metadata.json +1 -1
  48. package/input/mis-input.component.d.ts +1 -0
  49. package/input/mis-input.component.scss +26 -3
  50. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-dropdown.js","sources":["../../../projects/mis-components/dropdown/dropdown.component.ts","../../../projects/mis-components/dropdown/dropdown.module.ts","../../../projects/mis-components/dropdown/mis-crystal-design-system-dropdown.ts"],"sourcesContent":["import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\n\n@Component({\n selector: \"mis-dropdown\",\n templateUrl: \"./dropdown.component.html\",\n styleUrls: [\"./dropdown.component.scss\"]\n})\nexport class DropdownComponent implements OnInit {\n isOpen = false;\n isSearchInputFocused: boolean = false;\n searchInput: string = \"\";\n searchData: DropdownItem[] = [];\n\n @Input() data: DropdownItem[] = [];\n @Input() height: string = \"\";\n @Input() width: string = \"\";\n @Input() label: string = \"Select\";\n\n @Input() dropdownListHeight: string = \"\";\n @Input() dropdownListWidth: string = \"\";\n @Input() dropdownListPosition: \"Left\" | \"Right\" = \"Left\";\n\n @Input() searchEnabled: boolean = true;\n @Input() selectedItem: DropdownItem = { value: \"\", label: \"\" };\n @Input() noDataMessage: string = \"No Data\";\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(\"select\", { static: false }) selectElement: ElementRef;\n @ViewChild(\"popupContainer\", { static: false }) popupContainer: TemplateRef<Element>;\n private overlayRef: OverlayRef;\n\n constructor(private eRef: ElementRef, private overlay: Overlay, private viewContainerRef: ViewContainerRef) {}\n ngOnInit() {}\n\n filterByValue(array: DropdownItem[], string: string) {\n return array.filter(o => o.label.toLowerCase().includes(string.toLowerCase()));\n }\n searchInputOnChange(newValue) {\n this.searchInput = newValue;\n if (newValue) {\n this.searchData = this.filterByValue(this.data, newValue);\n } else {\n this.searchData = [];\n this.searchInput = \"\";\n }\n }\n searchInputFocused(isFocused: boolean) {\n this.isSearchInputFocused = isFocused;\n }\n searchInputCanceled(event) {\n event.stopPropagation();\n this.searchInput = \"\";\n this.isSearchInputFocused = false;\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.openDropdown(this.popupContainer, this.selectElement.nativeElement);\n else this.onCancel();\n }\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement): void {\n const positionsBottom = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }, 0, 4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }, 0, 4)\n ];\n const positionsTop = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }, 0, -4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }, 0, -4)\n ];\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n ...(this.dropdownListPosition === \"Right\" ? positionsBottom.reverse() : positionsBottom),\n ...(this.dropdownListPosition === \"Right\" ? positionsTop.reverse() : positionsTop)\n ])\n .withPush(true);\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth\n });\n this.overlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.overlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.overlayRef.updateSize({ height: this.dropdownListHeight });\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(res => {\n this.onCancel();\n });\n }\n selectItem(item) {\n this.onChange.emit(item);\n this.toggleDropdown();\n }\n onCancel() {\n this.isSearchInputFocused = false;\n this.isOpen = false;\n this.overlayRef?.detach();\n this.searchInput = \"\";\n }\n}\nexport interface DropdownItem {\n label: string;\n value: string;\n icon?: string;\n disabled?: boolean;\n}\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { DropdownComponent } from \"./dropdown.component\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\n\n@NgModule({\n declarations: [DropdownComponent],\n imports: [CommonModule, FormsModule, OverlayModule],\n exports: [DropdownComponent]\n})\nexport class DropdownModule {\n static forRoot(): ModuleWithProviders<DropdownModule> {\n return { ngModule: DropdownModule, providers: [] };\n }\n}\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-dropdown.js","sources":["../../../projects/mis-components/dropdown/dropdown.component.ts","../../../projects/mis-components/dropdown/dropdown.module.ts","../../../projects/mis-components/dropdown/mis-crystal-design-system-dropdown.ts"],"sourcesContent":["import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\n\n@Component({\n selector: \"mis-dropdown\",\n templateUrl: \"./dropdown.component.html\",\n styleUrls: [\"./dropdown.component.scss\"]\n})\nexport class DropdownComponent implements OnInit {\n isOpen = false;\n isSearchInputFocused: boolean = false;\n searchInput: string = \"\";\n searchData: DropdownItem[] = [];\n\n @Input() data: DropdownItem[] = [];\n @Input() height: string = \"\";\n @Input() width: string = \"\";\n @Input() label: string = \"Select\";\n\n @Input() dropdownListHeight: string = \"\";\n @Input() dropdownListWidth: string = \"\";\n @Input() dropdownListPosition: \"Left\" | \"Right\" = \"Left\";\n\n @Input() searchEnabled: boolean = true;\n @Input() selectedItem: DropdownItem = { value: \"\", label: \"\" };\n @Input() noDataMessage: string = \"No Data\";\n @Input() multiLine: boolean = false;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(\"select\", { static: false }) selectElement: ElementRef;\n @ViewChild(\"popupContainer\", { static: false }) popupContainer: TemplateRef<Element>;\n private overlayRef: OverlayRef;\n\n constructor(private eRef: ElementRef, private overlay: Overlay, private viewContainerRef: ViewContainerRef) {}\n ngOnInit() {}\n\n filterByValue(array, string: string) {\n return array.filter(o => o.label.toLowerCase().includes(string.toLowerCase()));\n }\n\n filterByPrimaryText(array, string: string) {\n return array.filter(o => o.label.primaryText.toLowerCase().includes(string.toLowerCase()));\n }\n searchInputOnChange(newValue) {\n this.searchInput = newValue;\n if (newValue) {\n this.searchData = this.multiLine ? this.filterByPrimaryText(this.data, newValue) : this.filterByValue(this.data, newValue);\n } else {\n this.searchData = [];\n this.searchInput = \"\";\n }\n }\n searchInputFocused(isFocused: boolean) {\n this.isSearchInputFocused = isFocused;\n }\n searchInputCanceled(event) {\n event.stopPropagation();\n this.searchInput = \"\";\n this.isSearchInputFocused = false;\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.openDropdown(this.popupContainer, this.selectElement.nativeElement);\n else this.onCancel();\n }\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement): void {\n const positionsBottom = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }, 0, 4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }, 0, 4)\n ];\n const positionsTop = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }, 0, -4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }, 0, -4)\n ];\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n ...(this.dropdownListPosition === \"Right\" ? positionsBottom.reverse() : positionsBottom),\n ...(this.dropdownListPosition === \"Right\" ? positionsTop.reverse() : positionsTop)\n ])\n .withPush(true);\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth\n });\n this.overlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.overlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.overlayRef.updateSize({ height: this.dropdownListHeight });\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(res => {\n this.onCancel();\n });\n }\n selectItem(item) {\n this.onChange.emit(item);\n this.toggleDropdown();\n }\n onCancel() {\n this.isSearchInputFocused = false;\n this.isOpen = false;\n this.overlayRef?.detach();\n this.searchInput = \"\";\n }\n}\nexport interface DropdownItem {\n label: ActionItemLabel | string ;\n value: string;\n icon?: string;\n disabled?: boolean;\n}\nexport interface ActionItemLabel {\n primaryText ?: string;\n secondaryText ?: string;\n}\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { DropdownComponent } from \"./dropdown.component\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\n\n@NgModule({\n declarations: [DropdownComponent],\n imports: [CommonModule, FormsModule, OverlayModule],\n exports: [DropdownComponent]\n})\nexport class DropdownModule {\n static forRoot(): ModuleWithProviders<DropdownModule> {\n return { ngModule: DropdownModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -16,11 +16,9 @@ class MisInputDirective {
16
16
  }
17
17
  ngOnInit() {
18
18
  var _a, _b;
19
- (_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.statusChanges.pipe(takeUntil(this.endObs)).subscribe(() => {
20
- var _a, _b;
21
- if (!((_a = this.control.control) === null || _a === void 0 ? void 0 : _a.disabled)) {
22
- this.validityChange.next(!((_b = this.control.control) === null || _b === void 0 ? void 0 : _b.invalid));
23
- }
19
+ (_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.valueChanges.pipe(takeUntil(this.endObs)).subscribe(() => {
20
+ var _a;
21
+ this.validityChange.next(!((_a = this.control.control) === null || _a === void 0 ? void 0 : _a.invalid));
24
22
  });
25
23
  this.el.nativeElement.placeholder += " ";
26
24
  }
@@ -43,6 +41,7 @@ MisInputDirective.ctorParameters = () => [
43
41
  class MisInputComponent {
44
42
  constructor() {
45
43
  this.type = "floating";
44
+ this.size = "sm";
46
45
  this.noHints = false;
47
46
  this.hasError = false; // show input in error state
48
47
  this.inputValidity = true;
@@ -50,7 +49,7 @@ class MisInputComponent {
50
49
  set formInput(input) {
51
50
  var _a;
52
51
  if (!this.placeholder) {
53
- this.placeholder = input.el.nativeElement.placeholder;
52
+ this.placeholder = (input === null || input === void 0 ? void 0 : input.el.nativeElement.placeholder) || "";
54
53
  }
55
54
  (_a = this.inputSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
56
55
  this.inputSubscription = input === null || input === void 0 ? void 0 : input.validity.subscribe(res => (this.inputValidity = res));
@@ -65,13 +64,14 @@ class MisInputComponent {
65
64
  MisInputComponent.decorators = [
66
65
  { type: Component, args: [{
67
66
  selector: "mis-input",
68
- template: "<div\n class=\"input-container\"\n [ngClass]=\"{ rounded: type === 'rounded', floating: type === 'floating', 'has-error': !inputValidity || hasError, 'no-hint': noHints }\"\n>\n <div class=\"input-wrapper\">\n <ng-content select=\"[mis-input-icon]\"></ng-content>\n <div class=\"mis-input\">\n <ng-content select=\"input\"></ng-content>\n <span class=\"mis-placeholder\">{{ placeholder }}</span>\n </div>\n <ng-content select=\"[mis-input-act]\"></ng-content>\n </div>\n <ng-content select=\"[mis-input-hint]\"></ng-content>\n <ng-content select=\"[mis-input-error]\"></ng-content>\n</div>\n",
69
- styles: [".input-container{position:relative;padding-bottom:24px}.input-container .input-wrapper{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all 60ms ease-in;background-color:#fff;padding:3px 16px}.input-container .input-wrapper>:not(:last-child){margin-right:16px}.input-container .input-wrapper .mis-input{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container .input-wrapper input{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:#181f33;background-color:transparent;width:100%;vertical-align:middle}.input-container .input-wrapper input::-moz-placeholder{-moz-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input:-ms-input-placeholder{-ms-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input::placeholder{transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper .mis-placeholder{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#6a737d;z-index:-1;transition:all .15s ease-in}.input-container .input-wrapper:focus-within{background-color:#f5f5f5}.input-container .input-wrapper:focus-within{border:1px solid #0937b2}.input-container .input-wrapper [mis-input-act],.input-container .input-wrapper [mis-input-icon]{width:18px;height:18px;color:#6a737d;font-size:24px;line-height:18px}.input-container .input-wrapper [mis-input-act]{cursor:pointer}.input-container.no-hint{padding-bottom:0}.input-container.rounded .input-wrapper{border-radius:4px;border:1px solid #e0e0e0}.input-container.rounded .input-wrapper:focus-within,.input-container.rounded .input-wrapper:hover{background-color:#f5f5f5}.input-container.rounded .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper .mis-placeholder{transition-duration:50ms}.input-container.rounded.has-error .input-wrapper{border:1px solid #b00020!important}.input-container.floating .input-wrapper{padding-top:24px;padding-bottom:7px;border-bottom:1px solid #e0e0e0}.input-container.floating .input-wrapper input:focus+.mis-placeholder{color:#0937b2!important}.input-container.floating .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:focus+.mis-placeholder,.input-container.floating .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper:focus-within{border:none;border-bottom:1px solid #0937b2}.input-container.floating .input-wrapper:focus-within input::-moz-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input:-ms-input-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input::placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating.has-error .input-wrapper{border-bottom:1px solid #b00020!important}.input-container.floating.has-error .input-wrapper .mis-placeholder{color:#b00020!important}.input-container [mis-input-error],.input-container [mis-input-hint]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:#6a737d;letter-spacing:.2px}.input-container [mis-input-error]{color:#b00020}"]
67
+ template: "<div\n [class]=\"'input-container ' + size\"\n [ngClass]=\"{\n rounded: type === 'rounded',\n floating: type === 'floating',\n 'has-error': !inputValidity || hasError,\n 'no-hint': noHints\n }\"\n>\n <div class=\"input-wrapper\">\n <ng-content select=\"[mis-input-icon]\"></ng-content>\n <div class=\"mis-input\">\n <ng-content select=\"input\"></ng-content>\n <span class=\"mis-placeholder\">{{ placeholder }}</span>\n </div>\n <ng-content select=\"[mis-input-act]\"></ng-content>\n </div>\n <ng-content select=\"[mis-input-hint]\"></ng-content>\n <ng-content select=\"[mis-input-error]\"></ng-content>\n</div>\n",
68
+ styles: [".input-container{position:relative;padding-bottom:24px}.input-container .input-wrapper{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all 60ms ease-in;background-color:#fff;padding:3px 16px}.input-container .input-wrapper>:not(:last-child){margin-right:16px}.input-container .input-wrapper .mis-input{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container .input-wrapper input{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:#181f33;background-color:transparent;width:100%;vertical-align:middle}.input-container .input-wrapper input::-moz-placeholder{-moz-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input:-ms-input-placeholder{-ms-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input::placeholder{transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper .mis-placeholder{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#6a737d;z-index:-1;transition:all .15s ease-in}.input-container .input-wrapper:focus-within{background-color:#f5f5f5}.input-container .input-wrapper:focus-within{border:1px solid #0937b2}.input-container .input-wrapper [mis-input-act],.input-container .input-wrapper [mis-input-icon]{width:18px;height:18px;color:#6a737d;font-size:24px;line-height:18px}.input-container .input-wrapper [mis-input-act]{cursor:pointer}.input-container.no-hint{padding-bottom:0}.input-container.rounded.sm input{padding:3px 16px}.input-container.rounded.md input{padding:9px 16px}.input-container.rounded.lg input{padding:15px 16px}.input-container.rounded .input-wrapper{border-radius:4px;border:1px solid #e0e0e0;padding:0}.input-container.rounded .input-wrapper input:not(:disabled):focus,.input-container.rounded .input-wrapper input:not(:disabled):hover{background-color:#f5f5f5}.input-container.rounded .input-wrapper:focus-within{border:1px solid #0937b2}.input-container.rounded .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper .mis-placeholder{transition-duration:50ms}.input-container.rounded.has-error .input-wrapper{border:1px solid #b00020!important}.input-container.floating .input-wrapper{padding-top:24px;padding-bottom:7px;border-bottom:1px solid #e0e0e0}.input-container.floating .input-wrapper input:focus+.mis-placeholder{color:#0937b2!important}.input-container.floating .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:focus+.mis-placeholder,.input-container.floating .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper:focus-within{border:none;border-bottom:1px solid #0937b2}.input-container.floating .input-wrapper:focus-within input::-moz-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input:-ms-input-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input::placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating.has-error .input-wrapper{border-bottom:1px solid #b00020!important}.input-container.floating.has-error .input-wrapper .mis-placeholder{color:#b00020!important}.input-container [mis-input-error],.input-container [mis-input-hint]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:#6a737d;letter-spacing:.2px}.input-container [mis-input-error]{color:#b00020}"]
70
69
  },] }
71
70
  ];
72
71
  MisInputComponent.ctorParameters = () => [];
73
72
  MisInputComponent.propDecorators = {
74
73
  type: [{ type: Input }],
74
+ size: [{ type: Input }],
75
75
  placeholder: [{ type: Input }],
76
76
  noHints: [{ type: Input }],
77
77
  hasError: [{ type: Input }],
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-input.js","sources":["../../../projects/mis-components/input/directives/input/input.directive.ts","../../../projects/mis-components/input/mis-input.component.ts","../../../projects/mis-components/input/mis-input.module.ts","../../../projects/mis-components/input/mis-crystal-design-system-input.ts"],"sourcesContent":["import { Directive, ElementRef, OnDestroy, OnInit, Optional, Self } from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { ReplaySubject, Subject, Subscription } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Directive({\n // tslint:disable-next-line\n selector: \"input[misInput]\"\n})\nexport class MisInputDirective implements OnInit, OnDestroy {\n constructor(public el: ElementRef, @Self() @Optional() private control: NgControl) {}\n private validityChange: ReplaySubject<boolean> = new ReplaySubject(1);\n validity = this.validityChange.asObservable();\n endObs: Subject<void> = new Subject();\n focus = false;\n hasValue = false;\n\n ngOnInit(): void {\n this.control?.control?.statusChanges.pipe(takeUntil(this.endObs)).subscribe(() => {\n if (!this.control.control?.disabled) {\n this.validityChange.next(!this.control.control?.invalid);\n }\n });\n this.el.nativeElement.placeholder += \" \";\n }\n ngOnDestroy(): void {\n this.endObs.next();\n this.endObs.complete();\n }\n}\n","import { Component, ContentChild, Input, OnDestroy, OnInit, ViewEncapsulation } from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { MisInputDirective } from \"./directives/input/input.directive\";\n\n@Component({\n selector: \"mis-input\",\n templateUrl: \"./mis-input.component.html\",\n styleUrls: [\"./mis-input.component.scss\"]\n})\nexport class MisInputComponent implements OnInit, OnDestroy {\n @Input() type: \"rounded\" | \"floating\" = \"floating\";\n @Input() placeholder: string; // floating placeholder text\n @Input() noHints = false;\n @Input() hasError = false; // show input in error state\n @ContentChild(MisInputDirective) set formInput(input: MisInputDirective) {\n if (!this.placeholder) {\n this.placeholder = input.el.nativeElement.placeholder;\n }\n this.inputSubscription?.unsubscribe();\n this.inputSubscription = input?.validity.subscribe(res => (this.inputValidity = res));\n this.placeholder += \" \";\n }\n inputSubscription: Subscription | undefined;\n inputValidity: boolean = true;\n constructor() {}\n\n ngOnInit(): void {}\n ngOnDestroy(): void {\n this.inputSubscription?.unsubscribe();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { MisInputDirective } from \"./directives/input/input.directive\";\nimport { MisInputComponent } from \"./mis-input.component\";\n\n@NgModule({\n declarations: [MisInputComponent, MisInputDirective],\n imports: [CommonModule, FormsModule],\n exports: [MisInputComponent, MisInputDirective]\n})\nexport class MisInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MASa,iBAAiB;IAC5B,YAAmB,EAAc,EAA8B,OAAkB;QAA9D,OAAE,GAAF,EAAE,CAAY;QAA8B,YAAO,GAAP,OAAO,CAAW;QACzE,mBAAc,GAA2B,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;QACtE,aAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAC9C,WAAM,GAAkB,IAAI,OAAO,EAAE,CAAC;QACtC,UAAK,GAAG,KAAK,CAAC;QACd,aAAQ,GAAG,KAAK,CAAC;KALoE;IAOrF,QAAQ;;QACN,YAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,0CAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;;YAC1E,IAAI,QAAC,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAA,EAAE;gBACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAC,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAE,OAAO,CAAA,CAAC,CAAC;aAC1D;SACF,EAAE;QACH,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,IAAI,GAAG,CAAC;KAC1C;IACD,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KACxB;;;YAvBF,SAAS,SAAC;;gBAET,QAAQ,EAAE,iBAAiB;aAC5B;;;YARmB,UAAU;YACrB,SAAS,uBASoB,IAAI,YAAI,QAAQ;;;MCDzC,iBAAiB;IAe5B;QAdS,SAAI,GAA2B,UAAU,CAAC;QAE1C,YAAO,GAAG,KAAK,CAAC;QAChB,aAAQ,GAAG,KAAK,CAAC;QAU1B,kBAAa,GAAY,IAAI,CAAC;KACd;IAVhB,IAAqC,SAAS,CAAC,KAAwB;;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC;SACvD;QACD,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW,GAAG;QACtC,IAAI,CAAC,iBAAiB,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;KACzB;IAKD,QAAQ,MAAW;IACnB,WAAW;;QACT,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW,GAAG;KACvC;;;YAzBF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,unBAAyC;;aAE1C;;;;mBAEE,KAAK;0BACL,KAAK;sBACL,KAAK;uBACL,KAAK;wBACL,YAAY,SAAC,iBAAiB;;;MCHpB,cAAc;;;YAL1B,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;gBACpD,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;gBACpC,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;aAChD;;;ACVD;;;;;;"}
1
+ {"version":3,"file":"mis-crystal-design-system-input.js","sources":["../../../projects/mis-components/input/directives/input/input.directive.ts","../../../projects/mis-components/input/mis-input.component.ts","../../../projects/mis-components/input/mis-input.module.ts","../../../projects/mis-components/input/mis-crystal-design-system-input.ts"],"sourcesContent":["import { Directive, ElementRef, OnDestroy, OnInit, Optional, Self } from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { ReplaySubject, Subject, Subscription } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Directive({\n // tslint:disable-next-line\n selector: \"input[misInput]\"\n})\nexport class MisInputDirective implements OnInit, OnDestroy {\n constructor(public el: ElementRef, @Self() @Optional() private control: NgControl) {}\n private validityChange: ReplaySubject<boolean> = new ReplaySubject(1);\n validity = this.validityChange.asObservable();\n endObs: Subject<void> = new Subject();\n focus = false;\n hasValue = false;\n\n ngOnInit(): void {\n this.control?.control?.valueChanges.pipe(takeUntil(this.endObs)).subscribe(() => {\n this.validityChange.next(!this.control.control?.invalid);\n });\n this.el.nativeElement.placeholder += \" \";\n }\n ngOnDestroy(): void {\n this.endObs.next();\n this.endObs.complete();\n }\n}\n","import { Component, ContentChild, Input, OnDestroy, OnInit, ViewEncapsulation } from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { MisInputDirective } from \"./directives/input/input.directive\";\n\n@Component({\n selector: \"mis-input\",\n templateUrl: \"./mis-input.component.html\",\n styleUrls: [\"./mis-input.component.scss\"]\n})\nexport class MisInputComponent implements OnInit, OnDestroy {\n @Input() type: \"rounded\" | \"floating\" = \"floating\";\n @Input() size: \"sm\" | \"md\" | \"lg\" = \"sm\";\n @Input() placeholder: string; // floating placeholder text\n @Input() noHints = false;\n @Input() hasError = false; // show input in error state\n @ContentChild(MisInputDirective) set formInput(input: MisInputDirective) {\n if (!this.placeholder) {\n this.placeholder = input?.el.nativeElement.placeholder || \"\";\n }\n this.inputSubscription?.unsubscribe();\n this.inputSubscription = input?.validity.subscribe(res => (this.inputValidity = res));\n this.placeholder += \" \";\n }\n inputSubscription: Subscription | undefined;\n inputValidity: boolean = true;\n constructor() {}\n\n ngOnInit(): void {}\n ngOnDestroy(): void {\n this.inputSubscription?.unsubscribe();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { MisInputDirective } from \"./directives/input/input.directive\";\nimport { MisInputComponent } from \"./mis-input.component\";\n\n@NgModule({\n declarations: [MisInputComponent, MisInputDirective],\n imports: [CommonModule, FormsModule],\n exports: [MisInputComponent, MisInputDirective]\n})\nexport class MisInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MASa,iBAAiB;IAC5B,YAAmB,EAAc,EAA8B,OAAkB;QAA9D,OAAE,GAAF,EAAE,CAAY;QAA8B,YAAO,GAAP,OAAO,CAAW;QACzE,mBAAc,GAA2B,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;QACtE,aAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAC9C,WAAM,GAAkB,IAAI,OAAO,EAAE,CAAC;QACtC,UAAK,GAAG,KAAK,CAAC;QACd,aAAQ,GAAG,KAAK,CAAC;KALoE;IAOrF,QAAQ;;QACN,YAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,0CAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;;YACzE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAC,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAE,OAAO,CAAA,CAAC,CAAC;SAC1D,EAAE;QACH,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,IAAI,GAAG,CAAC;KAC1C;IACD,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KACxB;;;YArBF,SAAS,SAAC;;gBAET,QAAQ,EAAE,iBAAiB;aAC5B;;;YARmB,UAAU;YACrB,SAAS,uBASoB,IAAI,YAAI,QAAQ;;;MCDzC,iBAAiB;IAgB5B;QAfS,SAAI,GAA2B,UAAU,CAAC;QAC1C,SAAI,GAAuB,IAAI,CAAC;QAEhC,YAAO,GAAG,KAAK,CAAC;QAChB,aAAQ,GAAG,KAAK,CAAC;QAU1B,kBAAa,GAAY,IAAI,CAAC;KACd;IAVhB,IAAqC,SAAS,CAAC,KAAwB;;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAC,aAAa,CAAC,WAAW,KAAI,EAAE,CAAC;SAC9D;QACD,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW,GAAG;QACtC,IAAI,CAAC,iBAAiB,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;KACzB;IAKD,QAAQ,MAAW;IACnB,WAAW;;QACT,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW,GAAG;KACvC;;;YA1BF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,0pBAAyC;;aAE1C;;;;mBAEE,KAAK;mBACL,KAAK;0BACL,KAAK;sBACL,KAAK;uBACL,KAAK;wBACL,YAAY,SAAC,iBAAiB;;;MCJpB,cAAc;;;YAL1B,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;gBACpD,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;gBACpC,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;aAChD;;;ACVD;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-modal.js","sources":["../../../projects/mis-components/modal/modal-constants.ts","../../../projects/mis-components/modal/modal-ref.ts","../../../projects/mis-components/modal/module-wrapper/module-wrapper.component.ts","../../../projects/mis-components/modal/modal.service.ts","../../../projects/mis-components/modal/modal.module.ts","../../../projects/mis-components/modal/mis-crystal-design-system-modal.ts"],"sourcesContent":["/** @format */\n\nimport { InjectionToken } from \"@angular/core\";\n\nexport const MODAL_DATA_VAR = new InjectionToken<any>(\"MISModalDataInjectionToken\");\n","/** @format */\n\nimport { OverlayRef } from \"@angular/cdk/overlay\";\nimport { Injectable } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\nexport class ModalRef {\n private afterClosed$ = new Subject<unknown>();\n afterClosed = this.afterClosed$.asObservable();\n\n constructor(public overlay: OverlayRef) {}\n\n close(data?: unknown): void {\n this.overlay.detach();\n this.overlay.dispose();\n this.afterClosed$.next(data);\n this.afterClosed$.complete();\n }\n}\n","import { trigger, transition, style, animate } from \"@angular/animations\";\nimport { ComponentPortal, PortalInjector } from \"@angular/cdk/portal\";\nimport { Component, Injector, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\nimport { ModalRef } from \"../modal-ref\";\n\n@Component({\n selector: \"mis-module-wrapper\",\n templateUrl: \"./module-wrapper.component.html\",\n styleUrls: [\"./module-wrapper.component.scss\"],\n animations: [\n trigger(\"slideInOut\", [\n transition(\":enter\", [\n style({ transform: \"translateY(-30%)\", opacity: 0 }),\n animate(\"200ms ease-out\", style({ transform: \"translatey(0%)\", opacity: 1 }))\n ]),\n transition(\":leave\", [animate(\"200ms ease-out\", style({ transform: \"translatey(-30%)\", opacity: 0 }))])\n ])\n ]\n})\nexport class ModuleWrapperComponent {\n modalPortal: ComponentPortal<any>;\n constructor() {}\n\n @ViewChild(\"place\", { static: false, read: ViewContainerRef }) place: ViewContainerRef;\n\n bindComponent(type: any, injector: PortalInjector) {\n this.initComponent(type, injector);\n }\n\n private initComponent(type: any, injector: PortalInjector) {\n this.modalPortal = new ComponentPortal(type, this.place, injector);\n }\n}\n","import { ComponentType, Overlay, OverlayConfig } from \"@angular/cdk/overlay\";\nimport { ComponentPortal, PortalInjector } from \"@angular/cdk/portal\";\nimport { ComponentRef, Injectable, Injector } from \"@angular/core\";\nimport { MODAL_DATA_VAR } from \"./modal-constants\";\nimport { ModalRef } from \"./modal-ref\";\nimport { ModuleWrapperComponent } from \"./module-wrapper/module-wrapper.component\";\n\ninterface IModalOptions {\n width?: string;\n height?: string;\n top?: string;\n right?: string;\n bottom?: string;\n left?: string;\n closeOnBackdropClick?: boolean;\n}\n@Injectable({\n providedIn: \"root\"\n})\nexport class ModalService {\n private componentInstance: ComponentRef<ModuleWrapperComponent>;\n\n constructor(private overlay: Overlay, private injector: Injector) {}\n\n show<T, D>(component: ComponentType<T>, data?: D, options?: IModalOptions): ModalRef {\n const positionStrategy = this.calculatePosition(options);\n const { width, height } = options || {};\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n width: width,\n height,\n panelClass: \"mis-modal\",\n backdropClass: \"mis-modal-overlay\"\n });\n const overlayRef = this.overlay.create(config);\n const modalRef = new ModalRef(overlayRef);\n const injector = this.createInjector(modalRef, this.injector, data);\n const portal = new ComponentPortal(ModuleWrapperComponent, null);\n this.componentInstance = overlayRef.attach(portal);\n if (options?.closeOnBackdropClick) {\n overlayRef.backdropClick().subscribe(() => modalRef.close());\n }\n this.componentInstance.instance.bindComponent(component, injector);\n return modalRef;\n }\n private createInjector<D>(ref: ModalRef, inj: Injector, data?: D): PortalInjector {\n const injectorTokens = new WeakMap();\n injectorTokens.set(ModalRef, ref);\n injectorTokens.set(MODAL_DATA_VAR, data);\n return new PortalInjector(inj, injectorTokens);\n }\n\n private calculatePosition(options: IModalOptions) {\n const position = this.overlay.position().global().centerHorizontally().centerVertically();\n if (options && screen.width > 600) {\n if (options.top) {\n position.top(options.top);\n }\n if (options.left) {\n position.left(options.left);\n }\n if (options.right) {\n position.right(options.right);\n }\n if (options.bottom) {\n position.bottom(options.bottom);\n }\n }\n return position;\n }\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { PortalModule } from \"@angular/cdk/portal\";\nimport { ModuleWrapperComponent } from \"./module-wrapper/module-wrapper.component\";\nimport { ModalService } from \"./modal.service\";\n\n@NgModule({\n declarations: [ModuleWrapperComponent],\n imports: [CommonModule, OverlayModule, PortalModule],\n entryComponents: [ModuleWrapperComponent]\n})\nexport class ModalModule {\n static forRoot(): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [ModalService]\n };\n }\n\n static forChild(): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [ModalService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ModuleWrapperComponent as ɵa} from './module-wrapper/module-wrapper.component';"],"names":[],"mappings":";;;;;;;AAAA;MAIa,cAAc,GAAG,IAAI,cAAc,CAAM,4BAA4B;;ACJlF;MAMa,QAAQ;IAInB,YAAmB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;QAH9B,iBAAY,GAAG,IAAI,OAAO,EAAW,CAAC;QAC9C,gBAAW,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;KAEL;IAE1C,KAAK,CAAC,IAAc;QAClB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;KAC9B;;;MCEU,sBAAsB;IAEjC,iBAAgB;IAIhB,aAAa,CAAC,IAAS,EAAE,QAAwB;QAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACpC;IAEO,aAAa,CAAC,IAAS,EAAE,QAAwB;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KACpE;;;YA1BF,SAAS,SAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,wIAA8C;gBAE9C,UAAU,EAAE;oBACV,OAAO,CAAC,YAAY,EAAE;wBACpB,UAAU,CAAC,QAAQ,EAAE;4BACnB,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;4BACpD,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;yBAC9E,CAAC;wBACF,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBACxG,CAAC;iBACH;;aACF;;;;oBAKE,SAAS,SAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE;;;MCJlD,YAAY;IAGvB,YAAoB,OAAgB,EAAU,QAAkB;QAA5C,YAAO,GAAP,OAAO,CAAS;QAAU,aAAQ,GAAR,QAAQ,CAAU;KAAI;IAEpE,IAAI,CAAO,SAA2B,EAAE,IAAQ,EAAE,OAAuB;QACvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,WAAW,EAAE,IAAI;YACjB,gBAAgB;YAChB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE;YACpD,KAAK,EAAE,KAAK;YACZ,MAAM;YACN,UAAU,EAAE,WAAW;YACvB,aAAa,EAAE,mBAAmB;SACnC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,EAAE;YACjC,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnE,OAAO,QAAQ,CAAC;KACjB;IACO,cAAc,CAAI,GAAa,EAAE,GAAa,EAAE,IAAQ;QAC9D,MAAM,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;QACrC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClC,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;KAChD;IAEO,iBAAiB,CAAC,OAAsB;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC1F,IAAI,OAAO,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;YACjC,IAAI,OAAO,CAAC,GAAG,EAAE;gBACf,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aAC3B;YACD,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAC7B;YACD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACjB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC/B;YACD,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aACjC;SACF;QACD,OAAO,QAAQ,CAAC;KACjB;;;;YAvDF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;YAlBuB,OAAO;YAEI,QAAQ;;;MCU9B,WAAW;IACtB,OAAO,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAC;KACH;IAED,OAAO,QAAQ;QACb,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAC;KACH;;;YAlBF,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;gBACtC,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC;gBACpD,eAAe,EAAE,CAAC,sBAAsB,CAAC;aAC1C;;;ACXD;;;;;;"}
1
+ {"version":3,"file":"mis-crystal-design-system-modal.js","sources":["../../../projects/mis-components/modal/modal-constants.ts","../../../projects/mis-components/modal/modal-ref.ts","../../../projects/mis-components/modal/module-wrapper/module-wrapper.component.ts","../../../projects/mis-components/modal/modal.service.ts","../../../projects/mis-components/modal/modal.module.ts","../../../projects/mis-components/modal/mis-crystal-design-system-modal.ts"],"sourcesContent":["/** @format */\n\nimport { InjectionToken } from \"@angular/core\";\n\nexport const MODAL_DATA_VAR = new InjectionToken<any>(\"MISModalDataInjectionToken\");\n","/** @format */\n\nimport { OverlayRef } from \"@angular/cdk/overlay\";\nimport { Injectable } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\nexport class ModalRef {\n private afterClosed$ = new Subject<unknown>();\n afterClosed = this.afterClosed$.asObservable();\n\n constructor(public overlay: OverlayRef) {}\n\n close(data?: unknown): void {\n this.overlay.detach();\n this.overlay.dispose();\n this.afterClosed$.next(data);\n this.afterClosed$.complete();\n }\n}\n","import { trigger, transition, style, animate } from \"@angular/animations\";\nimport { ComponentPortal, PortalInjector } from \"@angular/cdk/portal\";\nimport { Component, Injector, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\nimport { ModalRef } from \"../modal-ref\";\n\n@Component({\n selector: \"mis-module-wrapper\",\n templateUrl: \"./module-wrapper.component.html\",\n styleUrls: [\"./module-wrapper.component.scss\"],\n animations: [\n trigger(\"slideInOut\", [\n transition(\":enter\", [\n style({ transform: \"translateY(-30%)\", opacity: 0 }),\n animate(\"200ms ease-out\", style({ transform: \"translatey(0%)\", opacity: 1 }))\n ]),\n transition(\":leave\", [animate(\"200ms ease-out\", style({ transform: \"translatey(-30%)\", opacity: 0 }))])\n ])\n ]\n})\nexport class ModuleWrapperComponent {\n modalPortal: ComponentPortal<any>;\n constructor() {}\n\n @ViewChild(\"place\", { static: false, read: ViewContainerRef }) place: ViewContainerRef;\n\n bindComponent(type: any, injector: PortalInjector) {\n this.initComponent(type, injector);\n }\n\n private initComponent(type: any, injector: PortalInjector) {\n this.modalPortal = new ComponentPortal(type, this.place, injector);\n }\n}\n","import { ComponentType, Overlay, OverlayConfig } from \"@angular/cdk/overlay\";\nimport { ComponentPortal, PortalInjector } from \"@angular/cdk/portal\";\nimport { ComponentRef, Injectable, Injector } from \"@angular/core\";\nimport { MODAL_DATA_VAR } from \"./modal-constants\";\nimport { ModalRef } from \"./modal-ref\";\nimport { ModuleWrapperComponent } from \"./module-wrapper/module-wrapper.component\";\n\ninterface IModalOptions {\n width?: string;\n height?: string;\n top?: string;\n right?: string;\n bottom?: string;\n left?: string;\n closeOnBackdropClick?: boolean;\n}\n@Injectable({\n providedIn: \"root\"\n})\nexport class ModalService {\n private componentInstance: ComponentRef<ModuleWrapperComponent>;\n\n constructor(private overlay: Overlay, private injector: Injector) {}\n\n show<T, D>(component: ComponentType<T>, data?: D, options?: IModalOptions): ModalRef {\n const positionStrategy = this.calculatePosition(options);\n const { width, height } = options || {};\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n width: width,\n height,\n panelClass: \"mis-modal\",\n backdropClass: \"mis-modal-overlay\"\n });\n const overlayRef = this.overlay.create(config);\n const modalRef = new ModalRef(overlayRef);\n const injector = this.createInjector(modalRef, this.injector, data);\n const portal = new ComponentPortal(ModuleWrapperComponent, null);\n this.componentInstance = overlayRef.attach(portal);\n if (options?.closeOnBackdropClick) {\n overlayRef.backdropClick().subscribe(() => modalRef.close());\n }\n this.componentInstance.instance.bindComponent(component, injector);\n return modalRef;\n }\n private createInjector<D>(ref: ModalRef, inj: Injector, data?: D): PortalInjector {\n const injectorTokens = new WeakMap();\n injectorTokens.set(ModalRef, ref);\n injectorTokens.set(MODAL_DATA_VAR, data);\n return new PortalInjector(inj, injectorTokens);\n }\n\n private calculatePosition(options: IModalOptions) {\n const position = this.overlay.position().global().centerHorizontally().centerVertically();\n if (options && screen.width > 600) {\n if (options.top) {\n position.top(options.top);\n }\n if (options.left) {\n position.left(options.left);\n }\n if (options.right) {\n position.right(options.right);\n }\n if (options.bottom) {\n position.bottom(options.bottom);\n }\n }\n return position;\n }\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { PortalModule } from \"@angular/cdk/portal\";\nimport { ModuleWrapperComponent } from \"./module-wrapper/module-wrapper.component\";\nimport { ModalService } from \"./modal.service\";\n\n@NgModule({\n declarations: [ModuleWrapperComponent],\n imports: [CommonModule, OverlayModule, PortalModule],\n entryComponents: [ModuleWrapperComponent]\n})\nexport class ModalModule {\n static forRoot(): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [ModalService]\n };\n }\n\n static forChild(): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [ModalService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ModuleWrapperComponent as ɵa} from './module-wrapper/module-wrapper.component';"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-radio-button.js","sources":["../../../projects/mis-components/radio-button/radio-button.component.ts","../../../projects/mis-components/radio-button/radio-button.module.ts","../../../projects/mis-components/radio-button/mis-crystal-design-system-radio-button.ts"],"sourcesContent":["import { Component, Input, OnInit, Output, EventEmitter } from \"@angular/core\";\nimport { AbstractControl, FormControl } from \"@angular/forms\";\n\n@Component({\n selector: \"mis-radio\",\n templateUrl: \"./radio-button.component.html\",\n styleUrls: [\"./radio-button.component.scss\"]\n})\nexport class RadioButtonComponent implements OnInit {\n /** When multiple radio input fields are used\n * an \"id\" can be given to keep track of them */\n @Input() id: string | number = \"\";\n /** Name of the attribute for which the radio\n * selection is provided */\n @Input() name: string | number = \"\";\n /** Value of the attribute which is to be emitted\n * when selected */\n @Input() value: string | number = \"\";\n /** Controls the state of the radio button */\n @Input() disabled: boolean = false;\n\n /** Can be used to attach the radio input field\n * to a reactive form by passing in a\n * FormControl Object. It can also be\n * used to set the default attribute value */\n @Input() formControl: AbstractControl = new FormControl(null);\n\n /** Emits \"value\" of the radio button on selection */\n @Output() valueChange = new EventEmitter<any>();\n\n constructor() {}\n ngOnInit() {}\n onChange(event) {\n this.valueChange.emit(this.formControl.value);\n }\n}\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { RadioButtonComponent } from \"./radio-button.component\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\n@NgModule({\n declarations: [RadioButtonComponent],\n imports: [CommonModule, ReactiveFormsModule],\n exports: [RadioButtonComponent]\n})\nexport class RadioButtonModule {\n static forRoot(): ModuleWithProviders<RadioButtonModule> {\n return { ngModule: RadioButtonModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,oBAAoB;IAsB/B;;;QAnBS,OAAE,GAAoB,EAAE,CAAC;;;QAGzB,SAAI,GAAoB,EAAE,CAAC;;;QAG3B,UAAK,GAAoB,EAAE,CAAC;;QAE5B,aAAQ,GAAY,KAAK,CAAC;;;;;QAM1B,gBAAW,GAAoB,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;;QAGpD,gBAAW,GAAG,IAAI,YAAY,EAAO,CAAC;KAEhC;IAChB,QAAQ,MAAK;IACb,QAAQ,CAAC,KAAK;QACZ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC/C;;;YA/BF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,4KAA4C;;aAE7C;;;;iBAIE,KAAK;mBAGL,KAAK;oBAGL,KAAK;uBAEL,KAAK;0BAML,KAAK;0BAGL,MAAM;;;MCjBI,iBAAiB;IAC5B,OAAO,OAAO;QACZ,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACvD;;;YARF,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;gBACpC,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;gBAC5C,OAAO,EAAE,CAAC,oBAAoB,CAAC;aAChC;;;ACVD;;;;;;"}
1
+ {"version":3,"file":"mis-crystal-design-system-radio-button.js","sources":["../../../projects/mis-components/radio-button/radio-button.component.ts","../../../projects/mis-components/radio-button/radio-button.module.ts","../../../projects/mis-components/radio-button/mis-crystal-design-system-radio-button.ts"],"sourcesContent":["import { Component, Input, OnInit, Output, EventEmitter } from \"@angular/core\";\nimport { AbstractControl, FormControl } from \"@angular/forms\";\n\n@Component({\n selector: \"mis-radio\",\n templateUrl: \"./radio-button.component.html\",\n styleUrls: [\"./radio-button.component.scss\"]\n})\nexport class RadioButtonComponent implements OnInit {\n /** When multiple radio input fields are used\n * an \"id\" can be given to keep track of them */\n @Input() id: string | number = \"\";\n /** Name of the attribute for which the radio\n * selection is provided */\n @Input() name: string | number = \"\";\n /** Value of the attribute which is to be emitted\n * when selected */\n @Input() value: string | number = \"\";\n /** Controls the state of the radio button */\n @Input() disabled: boolean = false;\n\n /** Can be used to attach the radio input field\n * to a reactive form by passing in a\n * “FormControl“ Object. It can also be\n * used to set the default attribute value */\n @Input() formControl: AbstractControl = new FormControl(null);\n\n /** Emits \"value\" of the radio button on selection */\n @Output() valueChange = new EventEmitter<any>();\n\n constructor() {}\n ngOnInit() {}\n onChange(event) {\n this.valueChange.emit(this.formControl.value);\n }\n}\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { RadioButtonComponent } from \"./radio-button.component\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\n@NgModule({\n declarations: [RadioButtonComponent],\n imports: [CommonModule, ReactiveFormsModule],\n exports: [RadioButtonComponent]\n})\nexport class RadioButtonModule {\n static forRoot(): ModuleWithProviders<RadioButtonModule> {\n return { ngModule: RadioButtonModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,oBAAoB;IAsB/B;;;QAnBS,OAAE,GAAoB,EAAE,CAAC;;;QAGzB,SAAI,GAAoB,EAAE,CAAC;;;QAG3B,UAAK,GAAoB,EAAE,CAAC;;QAE5B,aAAQ,GAAY,KAAK,CAAC;;;;;QAM1B,gBAAW,GAAoB,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;;QAGpD,gBAAW,GAAG,IAAI,YAAY,EAAO,CAAC;KAEhC;IAChB,QAAQ,MAAK;IACb,QAAQ,CAAC,KAAK;QACZ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC/C;;;YA/BF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,4KAA4C;;aAE7C;;;;iBAIE,KAAK;mBAGL,KAAK;oBAGL,KAAK;uBAEL,KAAK;0BAML,KAAK;0BAGL,MAAM;;;MCjBI,iBAAiB;IAC5B,OAAO,OAAO;QACZ,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACvD;;;YARF,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;gBACpC,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;gBAC5C,OAAO,EAAE,CAAC,oBAAoB,CAAC;aAChC;;;ACVD;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-table.js","sources":["../../../projects/mis-components/table/table.component.ts","../../../projects/mis-components/table/custom-table-cell.directive.ts","../../../projects/mis-components/table/sub-table/sub-table.component.ts","../../../projects/mis-components/table/filter/filter.component.ts","../../../projects/mis-components/table/table.module.ts","../../../projects/mis-components/table/mis-crystal-design-system-table.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren\n} from \"@angular/core\";\nimport { Filter, TableFilterComponent } from \"./filter/filter.component\";\n\n@Component({\n selector: \"mis-table\",\n templateUrl: \"table.component.html\",\n styleUrls: [\"table.component.css\"]\n})\nexport class TableComponent implements OnInit, AfterViewInit {\n // Filter related variables\n showFilter: boolean = false;\n filterName: string = \"\";\n filterData: Array<Filter> = [];\n filterContainerStyles: any = {};\n appliedFilters: { [key: string]: Array<{ name: string; value: string }> } = {};\n @Output() filtersUpdated = new EventEmitter<{\n [key: string]: Array<{ name: string; value: string }>;\n }>();\n\n @ViewChild(\"filter\") filter: TableFilterComponent | any;\n @ViewChildren(\"colHeaderRef\") colHeaders: QueryList<ElementRef> | any;\n\n // Pagination related variables\n pages: Array<number> = [];\n tableLength: number;\n @Output() pageSelected = new EventEmitter<number>();\n\n @Input(\"tableConfig\") config: TableConfig | any;\n @Input() subTableconfig: TableConfig | any;\n @Input() tableDataLoading: boolean | any;\n @Input() expandedIndex: number | any;\n @Input() tableData: Array<Array<any>> = [];\n @Input() subTableData: Array<Array<any>> = [];\n @Input() subTableDataLoading: boolean | any;\n @ViewChild(\"table\") table: ElementRef | any;\n\n constructor(private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.tableLength = [].concat(...this.tableData).length;\n this.initializeFilters();\n if (this.config.paginationConfig) {\n this.initializePagination();\n }\n if (this.config.canScrollHorizontally === undefined) {\n this.config.canScrollHorizontally = false;\n }\n document.addEventListener(\"click\", event => {\n if (this.filter) {\n let isCheckBoxClicked = true;\n let targetElement = event.target as HTMLSpanElement;\n if (targetElement.className === \"checkmark\") {\n isCheckBoxClicked = true;\n this.showFilter = true;\n }\n let isClickInsideElement = this.filter.container.nativeElement.contains(event.target);\n if (!isClickInsideElement && !isCheckBoxClicked) {\n this.toggleFilter(this.filterName);\n }\n }\n });\n }\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(this.table.nativeElement, \"height\", height - 56 + \"px\");\n }\n }\n\n // Filter related functions\n initializeFilters() {\n for (let colHeader of this.config?.colHeaderConfig) {\n if (colHeader.filters) {\n let filters = [];\n for (let filter of colHeader.filters) {\n if (filter.checked) {\n filters.push({\n name: filter.name,\n value: filter.value\n });\n }\n }\n if (filters.length > 0) this.appliedFilters[colHeader.data] = filters;\n }\n }\n }\n toggleFilter(filterName: string) {\n if (!this.showFilter) {\n this.filterName = filterName;\n this.showFilter = true;\n\n let offSet = 0;\n let colHeadersReversed = this.colHeaders.toArray().reverse();\n\n for (let header of colHeadersReversed) {\n if (header.nativeElement.innerText === filterName) break;\n offSet += header.nativeElement.offsetWidth;\n }\n this.filterContainerStyles = {\n top: \"44px\",\n right: offSet > 0 ? offSet - 116 + \"px\" : \"12px\"\n };\n } else {\n this.filterName = \"\";\n this.filterData = [];\n this.showFilter = false;\n }\n }\n updateAppliedFilters(appliedFilters: Array<{ name: string; value: string }>) {\n if (appliedFilters.length == 0) {\n delete this.appliedFilters[this.filterName];\n } else {\n this.appliedFilters[this.filterName] = appliedFilters;\n }\n this.filtersUpdated.emit({ ...this.appliedFilters });\n this.toggleFilter(this.filterName);\n }\n\n // Pagination related functions\n initializePagination() {\n if (this.config.paginationConfig) {\n let len = this.config.paginationConfig.noOfPages;\n if (len <= 7) {\n for (let i = 1; i <= len; i++) {\n this.pages.push(i);\n }\n } else {\n this.pages = [1, 2, 3, 4, 0, len];\n }\n }\n }\n updateSelectedPage(pageNumber: number) {\n if (pageNumber < 1 || pageNumber > this.config.paginationConfig.noOfPages) return;\n this.config.paginationConfig.selectedPage = pageNumber;\n let len = this.config.paginationConfig.noOfPages;\n if (len > 7) {\n if (pageNumber - 2 <= 1) {\n this.pages = [1, 2, 3, 4, 0, len];\n } else if (pageNumber - 2 > 1 && pageNumber + 2 < len) {\n this.pages = [1, 0, pageNumber - 1, pageNumber, pageNumber + 1, 0, len];\n } else if (pageNumber + 2 >= len) {\n this.pages = [1, 0, len - 3, len - 2, len - 1, len];\n }\n }\n this.pageSelected.emit(this.config.paginationConfig?.selectedPage);\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config?.height) return this.config.height;\n else return \"\";\n }\n getContainerWidth() {\n if (this.config?.width) return this.config.width;\n else return \"\";\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.height) {\n return this.config.colHeadersRowConfig.height;\n } else return \"44px\";\n }\n getColHeadersRowBorderTop() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderTop) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return \"\";\n }\n getColHeadersRowBorderBottom() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderBottom) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return \"1px solid #E0E0E0\";\n }\n}\n\nexport interface TableConfig {\n height: string | \"100%\";\n width: string | \"100%\";\n paginationConfig?: PaginationConfig | undefined | null;\n colHeadersRowConfig: RowConfig | undefined | null;\n rowConfig: RowConfig | undefined | null;\n colHeaderConfig: Array<ColHeaderConfig>;\n colConfig: Array<ColConfig>;\n canExpand?: boolean;\n canScrollHorizontally?: boolean;\n cellHover?: boolean;\n}\nexport interface PaginationConfig {\n noOfPages: number;\n rowsPerPage: number;\n totalNoOfRows: number;\n selectedPage?: number;\n}\nexport interface RowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface ColHeaderConfig {\n type: \"text\" | \"number\" | \"custom\";\n data: any;\n componentRef?: any;\n filters?: Array<Filter> | null;\n style?: {};\n action?: any;\n}\nexport interface ColConfig {\n type: \"text\" | \"number\" | \"custom\";\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","import { ComponentFactoryResolver, Directive, Input, ViewContainerRef } from \"@angular/core\";\n\n@Directive({\n selector: \"[customTableCell]\"\n})\nexport class CustomTableCellDirective {\n private ref: any;\n private component: any;\n private cellData: any;\n\n @Input() set customComponent(value: any) {\n this.component = value;\n this.createComponent();\n }\n @Input() set data(value: any) {\n this.cellData = value;\n if (this.ref) {\n this.ref.instance.data = this.cellData;\n }\n }\n\n constructor(private viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {}\n\n createComponent() {\n if (this.component) {\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(this.component);\n this.viewContainerRef.clear();\n this.ref = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.setData();\n }\n }\n setData() {\n this.ref.instance.data = this.cellData;\n }\n}\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"sub-table\",\n templateUrl: \"sub-table.component.html\",\n styleUrls: [\"sub-table.component.css\"]\n})\nexport class SubTableComponent implements OnInit, AfterViewInit {\n selectedPage = 1;\n pages: Array<number> = [];\n\n @Input() config: SubTableConfig | any;\n @Input() tableData: Array<Array<any>> = [];\n @ViewChild(\"table\") table: ElementRef | any;\n constructor(private renderer: Renderer2) {}\n\n ngOnInit() {}\n\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(this.table.nativeElement, \"height\", height - 56 + \"px\");\n }\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config.height) return this.config.height;\n else return \"\";\n }\n getContainerWidth() {\n if (this.config.width) return this.config.width;\n else return \"\";\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.height) {\n return this.config.colHeadersRowConfig.height;\n } else return \"44px\";\n }\n getColHeadersRowBorderTop() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderTop) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return \"\";\n }\n getColHeadersRowBorderBottom() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderBottom) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return \"1px solid #E0E0E0\";\n }\n}\n\nexport interface SubTableConfig {\n height: string | \"100%\";\n width: string | \"100%\";\n dataContainerMaxHeight: string | \"400px\";\n showHeader?: boolean | undefined;\n rowConfig: SubTableRowConfig | undefined | null;\n colHeaderConfig?: Array<SubTableColHeaderConfig>;\n colConfig: Array<SubTableColConfig>;\n}\n\nexport interface SubTableRowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface SubTableColHeaderConfig {\n type: \"text\" | \"number\" | \"custom\";\n data: any;\n componentRef?: any;\n style?: {};\n action?: any;\n}\nexport interface SubTableColConfig {\n type: \"text\" | \"number\" | \"custom\";\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"mis-table-filter\",\n templateUrl: \"filter.component.html\",\n styleUrls: [\"filter.component.css\"]\n})\nexport class TableFilterComponent implements OnInit {\n @Input() filtersData: Array<Filter> = [];\n @Input() containerStyles: any = {};\n\n @Output() filtersApplied = new EventEmitter<any>();\n\n @ViewChild(\"mainContainer\") container: ElementRef | undefined;\n\n filtersMap: any = {};\n searchValue: string = \"\";\n\n constructor() {}\n\n ngOnInit(): void {\n this.filtersData.forEach(filter => {\n this.filtersMap[filter.value] = filter;\n });\n }\n resetFilters() {\n this.filtersData.forEach(filter => {\n this.filtersMap[filter.value].checked = false;\n });\n this.filtersApplied.emit([]);\n }\n applyFilters() {\n let list = Object.values(this.filtersMap)\n .filter((filter: Filter | any) => filter.checked)\n .map((filter: Filter | any) => {\n return {\n name: filter.name,\n value: filter.value\n };\n });\n this.filtersApplied.emit(list);\n }\n updateSearchValue(event: any) {\n this.searchValue = event.target.value;\n }\n updateFilter(data: any) {\n if (this.filtersMap[data.name]) {\n this.filtersMap[data.name].checked = !this.filtersMap[data.name].checked;\n }\n }\n getFiltersBasedOnSearchValue(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => {\n return filter.name.match(new RegExp(this.searchValue, \"i\"));\n });\n return list.sort(this.mySort);\n }\n getCheckedFilters(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => filter.checked).sort(this.mySort);\n return list;\n }\n mySort = (a: Filter | any, b: Filter | any) => {\n if (a.name < b.name) return -1;\n else if (b.name < a.name) return 1;\n else return 0;\n };\n}\nexport interface Filter {\n name: string;\n value: string;\n checked: boolean;\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { TableComponent } from \"./table.component\";\nimport { CustomTableCellDirective } from \"./custom-table-cell.directive\";\nimport { SubTableComponent } from \"./sub-table/sub-table.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { TableFilterComponent } from \"./filter/filter.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\n\n@NgModule({\n declarations: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective],\n imports: [CommonModule, CheckboxModule, ScrollingModule],\n exports: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective]\n})\nexport class TableModule {\n static forRoot(): ModuleWithProviders<TableModule> {\n return { ngModule: TableModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SubTableComponent as ɵa} from './sub-table/sub-table.component';"],"names":[],"mappings":";;;;;MAoBa,cAAc;IA4BzB,YAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;;QA1BvC,eAAU,GAAY,KAAK,CAAC;QAC5B,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAkB,EAAE,CAAC;QAC/B,0BAAqB,GAAQ,EAAE,CAAC;QAChC,mBAAc,GAA8D,EAAE,CAAC;QACrE,mBAAc,GAAG,IAAI,YAAY,EAEvC,CAAC;;QAML,UAAK,GAAkB,EAAE,CAAC;QAEhB,iBAAY,GAAG,IAAI,YAAY,EAAU,CAAC;QAM3C,cAAS,GAAsB,EAAE,CAAC;QAClC,iBAAY,GAAsB,EAAE,CAAC;KAIH;IAE3C,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE;YACnD,IAAI,CAAC,MAAM,CAAC,qBAAqB,GAAG,KAAK,CAAC;SAC3C;QACD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK;YACtC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,iBAAiB,GAAG,IAAI,CAAC;gBAC7B,IAAI,aAAa,GAAG,KAAK,CAAC,MAAyB,CAAC;gBACpD,IAAI,aAAa,CAAC,SAAS,KAAK,WAAW,EAAE;oBAC3C,iBAAiB,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxB;gBACD,IAAI,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtF,IAAI,CAAC,oBAAoB,IAAI,CAAC,iBAAiB,EAAE;oBAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACpC;aACF;SACF,CAAC,CAAC;KACJ;IACD,eAAe;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAChC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;SAChF;KACF;;IAGD,iBAAiB;;QACf,KAAK,IAAI,SAAS,UAAI,IAAI,CAAC,MAAM,0CAAE,eAAe,EAAE;YAClD,IAAI,SAAS,CAAC,OAAO,EAAE;gBACrB,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,KAAK,IAAI,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE;oBACpC,IAAI,MAAM,CAAC,OAAO,EAAE;wBAClB,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,KAAK;yBACpB,CAAC,CAAC;qBACJ;iBACF;gBACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;aACvE;SACF;KACF;IACD,YAAY,CAAC,UAAkB;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;YAE7D,KAAK,IAAI,MAAM,IAAI,kBAAkB,EAAE;gBACrC,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,KAAK,UAAU;oBAAE,MAAM;gBACzD,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;aAC5C;YACD,IAAI,CAAC,qBAAqB,GAAG;gBAC3B,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM;aACjD,CAAC;SACH;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;KACF;IACD,oBAAoB,CAAC,cAAsD;QACzE,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC;SACvD;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,mBAAM,IAAI,CAAC,cAAc,EAAG,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACpC;;IAGD,oBAAoB;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAChC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC;YACjD,IAAI,GAAG,IAAI,CAAC,EAAE;gBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACpB;aACF;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;aACnC;SACF;KACF;IACD,kBAAkB,CAAC,UAAkB;;QACnC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS;YAAE,OAAO;QAClF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,GAAG,UAAU,CAAC;QACvD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACjD,IAAI,GAAG,GAAG,CAAC,EAAE;YACX,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;aACnC;iBAAM,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,GAAG,GAAG,EAAE;gBACrD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;aACzE;iBAAM,IAAI,UAAU,GAAG,CAAC,IAAI,GAAG,EAAE;gBAChC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;aACrD;SACF;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,OAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,0CAAE,YAAY,CAAC,CAAC;KACpE;;IAGD,kBAAkB;;QAChB,UAAI,IAAI,CAAC,MAAM,0CAAE,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;;YAC9C,OAAO,EAAE,CAAC;KAChB;IACD,iBAAiB;;QACf,UAAI,IAAI,CAAC,MAAM,0CAAE,KAAK;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;;YAC5C,OAAO,EAAE,CAAC;KAChB;;IAGD,sBAAsB;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE;YAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC;SAC/C;;YAAM,OAAO,MAAM,CAAC;KACtB;IACD,yBAAyB;;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,WAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,0CAAE,SAAS,CAAA,EAAE;YACvF,aAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,0CAAE,SAAS,CAAC;SACzD;;YAAM,OAAO,EAAE,CAAC;KAClB;IACD,4BAA4B;;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,WAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,0CAAE,YAAY,CAAA,EAAE;YAC1F,aAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,0CAAE,YAAY,CAAC;SAC5D;;YAAM,OAAO,mBAAmB,CAAC;KACnC;;;YAzKF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,0qQAAmC;;aAEpC;;;YAVC,SAAS;;;6BAkBR,MAAM;qBAIN,SAAS,SAAC,QAAQ;yBAClB,YAAY,SAAC,cAAc;2BAK3B,MAAM;qBAEN,KAAK,SAAC,aAAa;6BACnB,KAAK;+BACL,KAAK;4BACL,KAAK;wBACL,KAAK;2BACL,KAAK;kCACL,KAAK;oBACL,SAAS,SAAC,OAAO;;;MCzCP,wBAAwB;IAgBnC,YAAoB,gBAAkC,EAAU,wBAAkD;QAA9F,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,6BAAwB,GAAxB,wBAAwB,CAA0B;KAAI;IAXtH,IAAa,eAAe,CAAC,KAAU;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IACD,IAAa,IAAI,CAAC,KAAU;QAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACxC;KACF;IAID,eAAe;QACb,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;KACF;IACD,OAAO;QACL,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;KACxC;;;YA/BF,SAAS,SAAC;gBACT,QAAQ,EAAE,mBAAmB;aAC9B;;;YAJoD,gBAAgB;YAA5D,wBAAwB;;;8BAU9B,KAAK;mBAIL,KAAK;;;MCPK,iBAAiB;IAO5B,YAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QANvC,iBAAY,GAAG,CAAC,CAAC;QACjB,UAAK,GAAkB,EAAE,CAAC;QAGjB,cAAS,GAAsB,EAAE,CAAC;KAEA;IAE3C,QAAQ,MAAK;IAEb,eAAe;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAChC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;SAChF;KACF;;IAGD,kBAAkB;QAChB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;;YAC7C,OAAO,EAAE,CAAC;KAChB;IACD,iBAAiB;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;;YAC3C,OAAO,EAAE,CAAC;KAChB;;IAGD,sBAAsB;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE;YAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC;SAC/C;;YAAM,OAAO,MAAM,CAAC;KACtB;IACD,yBAAyB;;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,WAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,0CAAE,SAAS,CAAA,EAAE;YACvF,aAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,0CAAE,SAAS,CAAC;SACzD;;YAAM,OAAO,EAAE,CAAC;KAClB;IACD,4BAA4B;;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,WAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,0CAAE,YAAY,CAAA,EAAE;YAC1F,aAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,0CAAE,YAAY,CAAC;SAC5D;;YAAM,OAAO,mBAAmB,CAAC;KACnC;;;YAhDF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,krHAAuC;;aAExC;;;YAN6D,SAAS;;;qBAWpE,KAAK;wBACL,KAAK;oBACL,SAAS,SAAC,OAAO;;;MCNP,oBAAoB;IAW/B;QAVS,gBAAW,GAAkB,EAAE,CAAC;QAChC,oBAAe,GAAQ,EAAE,CAAC;QAEzB,mBAAc,GAAG,IAAI,YAAY,EAAO,CAAC;QAInD,eAAU,GAAQ,EAAE,CAAC;QACrB,gBAAW,GAAW,EAAE,CAAC;QA8CzB,WAAM,GAAG,CAAC,CAAe,EAAE,CAAe;YACxC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,CAAC;iBAC1B,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC;;gBAC9B,OAAO,CAAC,CAAC;SACf,CAAC;KAhDc;IAEhB,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM;YAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;SACxC,CAAC,CAAC;KACJ;IACD,YAAY;QACV,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM;YAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;SAC/C,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC9B;IACD,YAAY;QACV,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;aACtC,MAAM,CAAC,CAAC,MAAoB,KAAK,MAAM,CAAC,OAAO,CAAC;aAChD,GAAG,CAAC,CAAC,MAAoB;YACxB,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;SACH,CAAC,CAAC;QACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChC;IACD,iBAAiB,CAAC,KAAU;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;KACvC;IACD,YAAY,CAAC,IAAS;QACpB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;SAC1E;KACF;IACD,4BAA4B;QAC1B,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAoB;YACtC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;SAC7D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC/B;IACD,iBAAiB;QACf,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAoB,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;KACb;;;YA3DF,SAAS,SAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,6/EAAoC;;aAErC;;;;0BAEE,KAAK;8BACL,KAAK;6BAEL,MAAM;wBAEN,SAAS,SAAC,eAAe;;;MCCf,WAAW;IACtB,OAAO,OAAO;QACZ,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACjD;;;YARF,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,wBAAwB,CAAC;gBACjG,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,eAAe,CAAC;gBACxD,OAAO,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,wBAAwB,CAAC;aAC7F;;;ACbD;;;;;;"}
1
+ {"version":3,"file":"mis-crystal-design-system-table.js","sources":["../../../projects/mis-components/table/table.component.ts","../../../projects/mis-components/table/custom-table-cell.directive.ts","../../../projects/mis-components/table/sub-table/sub-table.component.ts","../../../projects/mis-components/table/filter/filter.component.ts","../../../projects/mis-components/table/table.module.ts","../../../projects/mis-components/table/mis-crystal-design-system-table.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren\n} from \"@angular/core\";\nimport { Filter, TableFilterComponent } from \"./filter/filter.component\";\n\n@Component({\n selector: \"mis-table\",\n templateUrl: \"table.component.html\",\n styleUrls: [\"table.component.css\"]\n})\nexport class TableComponent implements OnInit, AfterViewInit {\n // Filter related variables\n showFilter: boolean = false;\n filterName: string = \"\";\n filterData: Array<Filter> = [];\n filterContainerStyles: any = {};\n appliedFilters: { [key: string]: Array<{ name: string; value: string }> } = {};\n @Output() filtersUpdated = new EventEmitter<{\n [key: string]: Array<{ name: string; value: string }>;\n }>();\n\n @ViewChild(\"filter\") filter: TableFilterComponent | any;\n @ViewChildren(\"colHeaderRef\") colHeaders: QueryList<ElementRef> | any;\n\n // Pagination related variables\n pages: Array<number> = [];\n tableLength: number;\n @Output() pageSelected = new EventEmitter<number>();\n\n @Input(\"tableConfig\") config: TableConfig | any;\n @Input() subTableconfig: TableConfig | any;\n @Input() tableDataLoading: boolean | any;\n @Input() expandedIndex: number | any;\n @Input() tableData: Array<Array<any>> = [];\n @Input() subTableData: Array<Array<any>> = [];\n @Input() subTableDataLoading: boolean | any;\n @ViewChild(\"table\") table: ElementRef | any;\n\n constructor(private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.tableLength = [].concat(...this.tableData).length;\n this.initializeFilters();\n if (this.config.paginationConfig) {\n this.initializePagination();\n }\n if (this.config.canScrollHorizontally === undefined) {\n this.config.canScrollHorizontally = false;\n }\n document.addEventListener(\"click\", event => {\n if (this.filter) {\n let isCheckBoxClicked = true;\n let targetElement = event.target as HTMLSpanElement;\n if (targetElement.className === \"checkmark\") {\n isCheckBoxClicked = true;\n this.showFilter = true;\n }\n let isClickInsideElement = this.filter.container.nativeElement.contains(event.target);\n if (!isClickInsideElement && !isCheckBoxClicked) {\n this.toggleFilter(this.filterName);\n }\n }\n });\n }\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(this.table.nativeElement, \"height\", height - 56 + \"px\");\n }\n }\n\n // Filter related functions\n initializeFilters() {\n for (let colHeader of this.config?.colHeaderConfig) {\n if (colHeader.filters) {\n let filters = [];\n for (let filter of colHeader.filters) {\n if (filter.checked) {\n filters.push({\n name: filter.name,\n value: filter.value\n });\n }\n }\n if (filters.length > 0) this.appliedFilters[colHeader.data] = filters;\n }\n }\n }\n toggleFilter(filterName: string) {\n if (!this.showFilter) {\n this.filterName = filterName;\n this.showFilter = true;\n\n let offSet = 0;\n let colHeadersReversed = this.colHeaders.toArray().reverse();\n\n for (let header of colHeadersReversed) {\n if (header.nativeElement.innerText === filterName) break;\n offSet += header.nativeElement.offsetWidth;\n }\n this.filterContainerStyles = {\n top: \"44px\",\n right: offSet > 0 ? offSet - 116 + \"px\" : \"12px\"\n };\n } else {\n this.filterName = \"\";\n this.filterData = [];\n this.showFilter = false;\n }\n }\n updateAppliedFilters(appliedFilters: Array<{ name: string; value: string }>) {\n if (appliedFilters.length == 0) {\n delete this.appliedFilters[this.filterName];\n } else {\n this.appliedFilters[this.filterName] = appliedFilters;\n }\n this.filtersUpdated.emit({ ...this.appliedFilters });\n this.toggleFilter(this.filterName);\n }\n\n // Pagination related functions\n initializePagination() {\n if (this.config.paginationConfig) {\n let len = this.config.paginationConfig.noOfPages;\n if (len <= 7) {\n for (let i = 1; i <= len; i++) {\n this.pages.push(i);\n }\n } else {\n this.pages = [1, 2, 3, 4, 0, len];\n }\n }\n }\n updateSelectedPage(pageNumber: number) {\n if (pageNumber < 1 || pageNumber > this.config.paginationConfig.noOfPages) return;\n this.config.paginationConfig.selectedPage = pageNumber;\n let len = this.config.paginationConfig.noOfPages;\n if (len > 7) {\n if (pageNumber - 2 <= 1) {\n this.pages = [1, 2, 3, 4, 0, len];\n } else if (pageNumber - 2 > 1 && pageNumber + 2 < len) {\n this.pages = [1, 0, pageNumber - 1, pageNumber, pageNumber + 1, 0, len];\n } else if (pageNumber + 2 >= len) {\n this.pages = [1, 0, len - 3, len - 2, len - 1, len];\n }\n }\n this.pageSelected.emit(this.config.paginationConfig?.selectedPage);\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config?.height) return this.config.height;\n else return \"\";\n }\n getContainerWidth() {\n if (this.config?.width) return this.config.width;\n else return \"\";\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.height) {\n return this.config.colHeadersRowConfig.height;\n } else return \"44px\";\n }\n getColHeadersRowBorderTop() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderTop) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return \"\";\n }\n getColHeadersRowBorderBottom() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderBottom) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return \"1px solid #E0E0E0\";\n }\n}\n\nexport interface TableConfig {\n height: string | \"100%\";\n width: string | \"100%\";\n paginationConfig?: PaginationConfig | undefined | null;\n colHeadersRowConfig: RowConfig | undefined | null;\n rowConfig: RowConfig | undefined | null;\n colHeaderConfig: Array<ColHeaderConfig>;\n colConfig: Array<ColConfig>;\n canExpand?: boolean;\n canScrollHorizontally?: boolean;\n cellHover?: boolean;\n}\nexport interface PaginationConfig {\n noOfPages: number;\n rowsPerPage: number;\n totalNoOfRows: number;\n selectedPage?: number;\n}\nexport interface RowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface ColHeaderConfig {\n type: \"text\" | \"number\" | \"custom\";\n data: any;\n componentRef?: any;\n filters?: Array<Filter> | null;\n style?: {};\n action?: any;\n}\nexport interface ColConfig {\n type: \"text\" | \"number\" | \"custom\";\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","import { ComponentFactoryResolver, Directive, Input, ViewContainerRef } from \"@angular/core\";\n\n@Directive({\n selector: \"[customTableCell]\"\n})\nexport class CustomTableCellDirective {\n private ref: any;\n private component: any;\n private cellData: any;\n\n @Input() set customComponent(value: any) {\n this.component = value;\n this.createComponent();\n }\n @Input() set data(value: any) {\n this.cellData = value;\n if (this.ref) {\n this.ref.instance.data = this.cellData;\n }\n }\n\n constructor(private viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {}\n\n createComponent() {\n if (this.component) {\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(this.component);\n this.viewContainerRef.clear();\n this.ref = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.setData();\n }\n }\n setData() {\n this.ref.instance.data = this.cellData;\n }\n}\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"sub-table\",\n templateUrl: \"sub-table.component.html\",\n styleUrls: [\"sub-table.component.css\"]\n})\nexport class SubTableComponent implements OnInit, AfterViewInit {\n selectedPage = 1;\n pages: Array<number> = [];\n\n @Input() config: SubTableConfig | any;\n @Input() tableData: Array<Array<any>> = [];\n @ViewChild(\"table\") table: ElementRef | any;\n constructor(private renderer: Renderer2) {}\n\n ngOnInit() {}\n\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(this.table.nativeElement, \"height\", height - 56 + \"px\");\n }\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config.height) return this.config.height;\n else return \"\";\n }\n getContainerWidth() {\n if (this.config.width) return this.config.width;\n else return \"\";\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.height) {\n return this.config.colHeadersRowConfig.height;\n } else return \"44px\";\n }\n getColHeadersRowBorderTop() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderTop) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return \"\";\n }\n getColHeadersRowBorderBottom() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderBottom) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return \"1px solid #E0E0E0\";\n }\n}\n\nexport interface SubTableConfig {\n height: string | \"100%\";\n width: string | \"100%\";\n dataContainerMaxHeight: string | \"400px\";\n showHeader?: boolean | undefined;\n rowConfig: SubTableRowConfig | undefined | null;\n colHeaderConfig?: Array<SubTableColHeaderConfig>;\n colConfig: Array<SubTableColConfig>;\n}\n\nexport interface SubTableRowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface SubTableColHeaderConfig {\n type: \"text\" | \"number\" | \"custom\";\n data: any;\n componentRef?: any;\n style?: {};\n action?: any;\n}\nexport interface SubTableColConfig {\n type: \"text\" | \"number\" | \"custom\";\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"mis-table-filter\",\n templateUrl: \"filter.component.html\",\n styleUrls: [\"filter.component.css\"]\n})\nexport class TableFilterComponent implements OnInit {\n @Input() filtersData: Array<Filter> = [];\n @Input() containerStyles: any = {};\n\n @Output() filtersApplied = new EventEmitter<any>();\n\n @ViewChild(\"mainContainer\") container: ElementRef | undefined;\n\n filtersMap: any = {};\n searchValue: string = \"\";\n\n constructor() {}\n\n ngOnInit(): void {\n this.filtersData.forEach(filter => {\n this.filtersMap[filter.value] = filter;\n });\n }\n resetFilters() {\n this.filtersData.forEach(filter => {\n this.filtersMap[filter.value].checked = false;\n });\n this.filtersApplied.emit([]);\n }\n applyFilters() {\n let list = Object.values(this.filtersMap)\n .filter((filter: Filter | any) => filter.checked)\n .map((filter: Filter | any) => {\n return {\n name: filter.name,\n value: filter.value\n };\n });\n this.filtersApplied.emit(list);\n }\n updateSearchValue(event: any) {\n this.searchValue = event.target.value;\n }\n updateFilter(data: any) {\n if (this.filtersMap[data.name]) {\n this.filtersMap[data.name].checked = !this.filtersMap[data.name].checked;\n }\n }\n getFiltersBasedOnSearchValue(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => {\n return filter.name.match(new RegExp(this.searchValue, \"i\"));\n });\n return list.sort(this.mySort);\n }\n getCheckedFilters(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => filter.checked).sort(this.mySort);\n return list;\n }\n mySort = (a: Filter | any, b: Filter | any) => {\n if (a.name < b.name) return -1;\n else if (b.name < a.name) return 1;\n else return 0;\n };\n}\nexport interface Filter {\n name: string;\n value: string;\n checked: boolean;\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { TableComponent } from \"./table.component\";\nimport { CustomTableCellDirective } from \"./custom-table-cell.directive\";\nimport { SubTableComponent } from \"./sub-table/sub-table.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { TableFilterComponent } from \"./filter/filter.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\n\n@NgModule({\n declarations: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective],\n imports: [CommonModule, CheckboxModule, ScrollingModule],\n exports: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective]\n})\nexport class TableModule {\n static forRoot(): ModuleWithProviders<TableModule> {\n return { ngModule: TableModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SubTableComponent as ɵa} from './sub-table/sub-table.component';"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-toast.js","sources":["../../../projects/mis-components/toast/toast.data.service.ts","../../../projects/mis-components/toast/toast.component.ts","../../../projects/mis-components/toast/toast.service.ts","../../../projects/mis-components/toast/toast.module.ts","../../../projects/mis-components/toast/mis-crystal-design-system-toast.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastDataService {\n private messageMap: Map<number, string> = new Map();\n get messages(): string[] {\n return Array.from(this.messageMap.values()).reverse();\n }\n\n constructor() {}\n\n updateMessage(msg: string): number {\n const id = new Date().getTime();\n this.messageMap.set(id, msg);\n return id;\n }\n\n removeMessage(id: number): void {\n this.messageMap.delete(id);\n }\n\n hasMessage(): boolean {\n return this.messageMap.size > 0;\n }\n}\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport { Component } from \"@angular/core\";\nimport { ToastDataService } from \"./toast.data.service\";\n\n@Component({\n selector: \"mis-teams-toast\",\n templateUrl: \"./toast.component.html\",\n styleUrls: [\"./toast.component.scss\"],\n animations: [\n trigger(\"fadeInOut\", [\n transition(\":enter\", [\n style({ opacity: \"0\", transform: \"translateY(-50%)\", height: \"0\" }),\n animate(\"300ms ease-in\", style({ opacity: \"1\", transform: \"translateY(0)\", height: \"*\" }))\n ]),\n transition(\":leave\", [animate(\"300ms ease-in\", style({ opacity: \"0\", transform: \"translateY(50%)\" }))])\n ])\n ]\n})\nexport class ToastComponent {\n constructor(public data: ToastDataService) {}\n}\n","import { Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\n\ntype Operations = \"created\" | \"updated\" | \"deleted\" | \"create\" | \"update\" | \"delete\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastService {\n constructor(private overlay: Overlay, private data: ToastDataService) {\n this.userProfilePortal = new ComponentPortal(ToastComponent);\n }\n private toastWrapperRef: OverlayRef;\n private messagePromises: Promise<void>[] = [];\n private userProfilePortal: ComponentPortal<ToastComponent>;\n\n messageBuilder = {\n error: {\n simple: \"Something went wrong. Please try again later.\",\n 400: \"Bad Request! We are working to fix this.\",\n 401: \"UNAUTHORISED\",\n 403: \"Sorry for the interruption but seems like your session has expired. Please login again and continue\",\n 404: \"Unable to find resource. Please try again later\"\n },\n item: (item: string) => {\n return {\n action: (act: Operations = \"updated\") => {\n const success = `Successfully ${act} ${item}.`;\n const failure = `Failed to ${act} ${item}.`;\n return {\n success,\n failure\n };\n }\n };\n },\n short: (act: Operations = \"updated\") => {\n const success = `Successfully ${act}.`;\n const failure = `Failed to ${act}.`;\n return {\n success,\n failure\n };\n },\n simple: (...args: string[]) => args.join(\" \"),\n simplest: \"Done!\"\n };\n\n displayMsg(msg: string, timeout = 3000): void {\n const positionStrategy = this.overlay.position().global().centerHorizontally();\n\n if (window?.innerWidth < 600) {\n positionStrategy.bottom(\"48px\");\n } else {\n positionStrategy.top(\"80px\");\n }\n const config = new OverlayConfig({\n hasBackdrop: false,\n positionStrategy\n });\n if (!this.toastWrapperRef?.hasAttached()) {\n this.toastWrapperRef = this.overlay.create(config);\n this.toastWrapperRef.attach(this.userProfilePortal);\n }\n const messageId = this.data.updateMessage(msg);\n this.messagePromises.push(\n new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(this.data.removeMessage(messageId));\n if (!this.data.hasMessage()) {\n this.closeToastOverlay();\n }\n // adding 300ms for entry animation\n }, timeout + 300);\n })\n );\n Promise.race(this.messagePromises).then(() => {});\n }\n\n // tslint:disable-next-line\n private closeToastOverlay(): any {\n return setTimeout(() => {\n this.messagePromises = [];\n this.toastWrapperRef?.detach();\n // adding 300ms for exit animation\n }, 300);\n }\n}\n","import { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\nimport { ToastService } from \"./toast.service\";\n\n@NgModule({\n declarations: [ToastComponent],\n imports: [CommonModule, OverlayModule],\n entryComponents: [ToastComponent]\n})\nexport class ToastModule {\n static forRoot(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n\n static forChild(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ToastComponent as ɵa} from './toast.component';"],"names":[],"mappings":";;;;;;MAKa,gBAAgB;IAM3B;QALQ,eAAU,GAAwB,IAAI,GAAG,EAAE,CAAC;KAKpC;IAJhB,IAAI,QAAQ;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KACvD;IAID,aAAa,CAAC,GAAW;QACvB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC;KACX;IAED,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC5B;IAED,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;KACjC;;;;YAvBF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;MCcY,cAAc;IACzB,YAAmB,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;KAAI;;;YAf9C,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,gNAAqC;gBAErC,UAAU,EAAE;oBACV,OAAO,CAAC,WAAW,EAAE;wBACnB,UAAU,CAAC,QAAQ,EAAE;4BACnB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;4BACnE,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;yBAC3F,CAAC;wBACF,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;qBACxG,CAAC;iBACH;;aACF;;;YAfQ,gBAAgB;;;MCSZ,YAAY;IACvB,YAAoB,OAAgB,EAAU,IAAsB;QAAhD,YAAO,GAAP,OAAO,CAAS;QAAU,SAAI,GAAJ,IAAI,CAAkB;QAI5D,oBAAe,GAAoB,EAAE,CAAC;QAG9C,mBAAc,GAAG;YACf,KAAK,EAAE;gBACL,MAAM,EAAE,+CAA+C;gBACvD,GAAG,EAAE,0CAA0C;gBAC/C,GAAG,EAAE,cAAc;gBACnB,GAAG,EAAE,qGAAqG;gBAC1G,GAAG,EAAE,iDAAiD;aACvD;YACD,IAAI,EAAE,CAAC,IAAY;gBACjB,OAAO;oBACL,MAAM,EAAE,CAAC,MAAkB,SAAS;wBAClC,MAAM,OAAO,GAAG,gBAAgB,GAAG,IAAI,IAAI,GAAG,CAAC;wBAC/C,MAAM,OAAO,GAAG,aAAa,GAAG,IAAI,IAAI,GAAG,CAAC;wBAC5C,OAAO;4BACL,OAAO;4BACP,OAAO;yBACR,CAAC;qBACH;iBACF,CAAC;aACH;YACD,KAAK,EAAE,CAAC,MAAkB,SAAS;gBACjC,MAAM,OAAO,GAAG,gBAAgB,GAAG,GAAG,CAAC;gBACvC,MAAM,OAAO,GAAG,aAAa,GAAG,GAAG,CAAC;gBACpC,OAAO;oBACL,OAAO;oBACP,OAAO;iBACR,CAAC;aACH;YACD,MAAM,EAAE,CAAC,GAAG,IAAc,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7C,QAAQ,EAAE,OAAO;SAClB,CAAC;QApCA,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;KAC9D;IAqCD,UAAU,CAAC,GAAW,EAAE,OAAO,GAAG,IAAI;;QACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAE/E,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,IAAG,GAAG,EAAE;YAC5B,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACjC;aAAM;YACL,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC9B;QACD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,WAAW,EAAE,KAAK;YAClB,gBAAgB;SACjB,CAAC,CAAC;QACH,IAAI,QAAC,IAAI,CAAC,eAAe,0CAAE,WAAW,GAAE,EAAE;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACrD;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;YAC1B,UAAU,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;oBAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;iBAC1B;;aAEF,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;SACnB,CAAC,CACH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,SAAQ,CAAC,CAAC;KACnD;;IAGO,iBAAiB;QACvB,OAAO,UAAU,CAAC;;YAChB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,GAAG;;SAEhC,EAAE,GAAG,CAAC,CAAC;KACT;;;;YAjFF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;YAVQ,OAAO;YAIP,gBAAgB;;;MCQZ,WAAW;IACtB,OAAO,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;SAC5C,CAAC;KACH;IAED,OAAO,QAAQ;QACb,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;SAC5C,CAAC;KACH;;;YAlBF,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,cAAc,CAAC;gBAC9B,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;gBACtC,eAAe,EAAE,CAAC,cAAc,CAAC;aAClC;;;ACXD;;;;;;"}
1
+ {"version":3,"file":"mis-crystal-design-system-toast.js","sources":["../../../projects/mis-components/toast/toast.data.service.ts","../../../projects/mis-components/toast/toast.component.ts","../../../projects/mis-components/toast/toast.service.ts","../../../projects/mis-components/toast/toast.module.ts","../../../projects/mis-components/toast/mis-crystal-design-system-toast.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastDataService {\n private messageMap: Map<number, string> = new Map();\n get messages(): string[] {\n return Array.from(this.messageMap.values()).reverse();\n }\n\n constructor() {}\n\n updateMessage(msg: string): number {\n const id = new Date().getTime();\n this.messageMap.set(id, msg);\n return id;\n }\n\n removeMessage(id: number): void {\n this.messageMap.delete(id);\n }\n\n hasMessage(): boolean {\n return this.messageMap.size > 0;\n }\n}\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport { Component } from \"@angular/core\";\nimport { ToastDataService } from \"./toast.data.service\";\n\n@Component({\n selector: \"mis-teams-toast\",\n templateUrl: \"./toast.component.html\",\n styleUrls: [\"./toast.component.scss\"],\n animations: [\n trigger(\"fadeInOut\", [\n transition(\":enter\", [\n style({ opacity: \"0\", transform: \"translateY(-50%)\", height: \"0\" }),\n animate(\"300ms ease-in\", style({ opacity: \"1\", transform: \"translateY(0)\", height: \"*\" }))\n ]),\n transition(\":leave\", [animate(\"300ms ease-in\", style({ opacity: \"0\", transform: \"translateY(50%)\" }))])\n ])\n ]\n})\nexport class ToastComponent {\n constructor(public data: ToastDataService) {}\n}\n","import { Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\n\ntype Operations = \"created\" | \"updated\" | \"deleted\" | \"create\" | \"update\" | \"delete\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastService {\n constructor(private overlay: Overlay, private data: ToastDataService) {\n this.userProfilePortal = new ComponentPortal(ToastComponent);\n }\n private toastWrapperRef: OverlayRef;\n private messagePromises: Promise<void>[] = [];\n private userProfilePortal: ComponentPortal<ToastComponent>;\n\n messageBuilder = {\n error: {\n simple: \"Something went wrong. Please try again later.\",\n 400: \"Bad Request! We are working to fix this.\",\n 401: \"UNAUTHORISED\",\n 403: \"Sorry for the interruption but seems like your session has expired. Please login again and continue\",\n 404: \"Unable to find resource. Please try again later\"\n },\n item: (item: string) => {\n return {\n action: (act: Operations = \"updated\") => {\n const success = `Successfully ${act} ${item}.`;\n const failure = `Failed to ${act} ${item}.`;\n return {\n success,\n failure\n };\n }\n };\n },\n short: (act: Operations = \"updated\") => {\n const success = `Successfully ${act}.`;\n const failure = `Failed to ${act}.`;\n return {\n success,\n failure\n };\n },\n simple: (...args: string[]) => args.join(\" \"),\n simplest: \"Done!\"\n };\n\n displayMsg(msg: string, timeout = 3000): void {\n const positionStrategy = this.overlay.position().global().centerHorizontally();\n\n if (window?.innerWidth < 600) {\n positionStrategy.bottom(\"48px\");\n } else {\n positionStrategy.top(\"80px\");\n }\n const config = new OverlayConfig({\n hasBackdrop: false,\n positionStrategy\n });\n if (!this.toastWrapperRef?.hasAttached()) {\n this.toastWrapperRef = this.overlay.create(config);\n this.toastWrapperRef.attach(this.userProfilePortal);\n }\n const messageId = this.data.updateMessage(msg);\n this.messagePromises.push(\n new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(this.data.removeMessage(messageId));\n if (!this.data.hasMessage()) {\n this.closeToastOverlay();\n }\n // adding 300ms for entry animation\n }, timeout + 300);\n })\n );\n Promise.race(this.messagePromises).then(() => {});\n }\n\n // tslint:disable-next-line\n private closeToastOverlay(): any {\n return setTimeout(() => {\n this.messagePromises = [];\n this.toastWrapperRef?.detach();\n // adding 300ms for exit animation\n }, 300);\n }\n}\n","import { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\nimport { ToastService } from \"./toast.service\";\n\n@NgModule({\n declarations: [ToastComponent],\n imports: [CommonModule, OverlayModule],\n entryComponents: [ToastComponent]\n})\nexport class ToastModule {\n static forRoot(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n\n static forChild(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {ToastComponent as ɵa} from './toast.component';"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"MisInputDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"input[misInput]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":10,"character":38}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":10,"character":46}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":25},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":10,"character":74}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"MisInputComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"mis-input","template":"<div\n class=\"input-container\"\n [ngClass]=\"{ rounded: type === 'rounded', floating: type === 'floating', 'has-error': !inputValidity || hasError, 'no-hint': noHints }\"\n>\n <div class=\"input-wrapper\">\n <ng-content select=\"[mis-input-icon]\"></ng-content>\n <div class=\"mis-input\">\n <ng-content select=\"input\"></ng-content>\n <span class=\"mis-placeholder\">{{ placeholder }}</span>\n </div>\n <ng-content select=\"[mis-input-act]\"></ng-content>\n </div>\n <ng-content select=\"[mis-input-hint]\"></ng-content>\n <ng-content select=\"[mis-input-error]\"></ng-content>\n</div>\n","styles":[".input-container{position:relative;padding-bottom:24px}.input-container .input-wrapper{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all 60ms ease-in;background-color:#fff;padding:3px 16px}.input-container .input-wrapper>:not(:last-child){margin-right:16px}.input-container .input-wrapper .mis-input{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container .input-wrapper input{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:#181f33;background-color:transparent;width:100%;vertical-align:middle}.input-container .input-wrapper input::-moz-placeholder{-moz-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input:-ms-input-placeholder{-ms-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input::placeholder{transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper .mis-placeholder{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#6a737d;z-index:-1;transition:all .15s ease-in}.input-container .input-wrapper:focus-within{background-color:#f5f5f5}.input-container .input-wrapper:focus-within{border:1px solid #0937b2}.input-container .input-wrapper [mis-input-act],.input-container .input-wrapper [mis-input-icon]{width:18px;height:18px;color:#6a737d;font-size:24px;line-height:18px}.input-container .input-wrapper [mis-input-act]{cursor:pointer}.input-container.no-hint{padding-bottom:0}.input-container.rounded .input-wrapper{border-radius:4px;border:1px solid #e0e0e0}.input-container.rounded .input-wrapper:focus-within,.input-container.rounded .input-wrapper:hover{background-color:#f5f5f5}.input-container.rounded .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper .mis-placeholder{transition-duration:50ms}.input-container.rounded.has-error .input-wrapper{border:1px solid #b00020!important}.input-container.floating .input-wrapper{padding-top:24px;padding-bottom:7px;border-bottom:1px solid #e0e0e0}.input-container.floating .input-wrapper input:focus+.mis-placeholder{color:#0937b2!important}.input-container.floating .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:focus+.mis-placeholder,.input-container.floating .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper:focus-within{border:none;border-bottom:1px solid #0937b2}.input-container.floating .input-wrapper:focus-within input::-moz-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input:-ms-input-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input::placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating.has-error .input-wrapper{border-bottom:1px solid #b00020!important}.input-container.floating.has-error .input-wrapper .mis-placeholder{color:#b00020!important}.input-container [mis-input-error],.input-container [mis-input-hint]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:#6a737d;letter-spacing:.2px}.input-container [mis-input-error]{color:#b00020}"]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"noHints":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"hasError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"formInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":14,"character":3},"arguments":[{"__symbolic":"reference","name":"MisInputDirective"}]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"MisInputModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MisInputComponent"},{"__symbolic":"reference","name":"MisInputDirective"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":12},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":8,"character":26}],"exports":[{"__symbolic":"reference","name":"MisInputComponent"},{"__symbolic":"reference","name":"MisInputDirective"}]}]}],"members":{}}},"origins":{"MisInputDirective":"./directives/input/input.directive","MisInputComponent":"./mis-input.component","MisInputModule":"./mis-input.module"},"importAs":"mis-crystal-design-system/input"}
1
+ {"__symbolic":"module","version":4,"metadata":{"MisInputDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"input[misInput]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":10,"character":38}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":10,"character":46}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":10,"character":25},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":10,"character":74}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"MisInputComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"mis-input","template":"<div\n [class]=\"'input-container ' + size\"\n [ngClass]=\"{\n rounded: type === 'rounded',\n floating: type === 'floating',\n 'has-error': !inputValidity || hasError,\n 'no-hint': noHints\n }\"\n>\n <div class=\"input-wrapper\">\n <ng-content select=\"[mis-input-icon]\"></ng-content>\n <div class=\"mis-input\">\n <ng-content select=\"input\"></ng-content>\n <span class=\"mis-placeholder\">{{ placeholder }}</span>\n </div>\n <ng-content select=\"[mis-input-act]\"></ng-content>\n </div>\n <ng-content select=\"[mis-input-hint]\"></ng-content>\n <ng-content select=\"[mis-input-error]\"></ng-content>\n</div>\n","styles":[".input-container{position:relative;padding-bottom:24px}.input-container .input-wrapper{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all 60ms ease-in;background-color:#fff;padding:3px 16px}.input-container .input-wrapper>:not(:last-child){margin-right:16px}.input-container .input-wrapper .mis-input{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container .input-wrapper input{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:#181f33;background-color:transparent;width:100%;vertical-align:middle}.input-container .input-wrapper input::-moz-placeholder{-moz-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input:-ms-input-placeholder{-ms-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input::placeholder{transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper .mis-placeholder{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#6a737d;z-index:-1;transition:all .15s ease-in}.input-container .input-wrapper:focus-within{background-color:#f5f5f5}.input-container .input-wrapper:focus-within{border:1px solid #0937b2}.input-container .input-wrapper [mis-input-act],.input-container .input-wrapper [mis-input-icon]{width:18px;height:18px;color:#6a737d;font-size:24px;line-height:18px}.input-container .input-wrapper [mis-input-act]{cursor:pointer}.input-container.no-hint{padding-bottom:0}.input-container.rounded.sm input{padding:3px 16px}.input-container.rounded.md input{padding:9px 16px}.input-container.rounded.lg input{padding:15px 16px}.input-container.rounded .input-wrapper{border-radius:4px;border:1px solid #e0e0e0;padding:0}.input-container.rounded .input-wrapper input:not(:disabled):focus,.input-container.rounded .input-wrapper input:not(:disabled):hover{background-color:#f5f5f5}.input-container.rounded .input-wrapper:focus-within{border:1px solid #0937b2}.input-container.rounded .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper .mis-placeholder{transition-duration:50ms}.input-container.rounded.has-error .input-wrapper{border:1px solid #b00020!important}.input-container.floating .input-wrapper{padding-top:24px;padding-bottom:7px;border-bottom:1px solid #e0e0e0}.input-container.floating .input-wrapper input:focus+.mis-placeholder{color:#0937b2!important}.input-container.floating .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:focus+.mis-placeholder,.input-container.floating .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper:focus-within{border:none;border-bottom:1px solid #0937b2}.input-container.floating .input-wrapper:focus-within input::-moz-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input:-ms-input-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input::placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating.has-error .input-wrapper{border-bottom:1px solid #b00020!important}.input-container.floating.has-error .input-wrapper .mis-placeholder{color:#b00020!important}.input-container [mis-input-error],.input-container [mis-input-hint]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:#6a737d;letter-spacing:.2px}.input-container [mis-input-error]{color:#b00020}"]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"noHints":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"hasError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"formInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":15,"character":3},"arguments":[{"__symbolic":"reference","name":"MisInputDirective"}]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"MisInputModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MisInputComponent"},{"__symbolic":"reference","name":"MisInputDirective"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":12},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":8,"character":26}],"exports":[{"__symbolic":"reference","name":"MisInputComponent"},{"__symbolic":"reference","name":"MisInputDirective"}]}]}],"members":{}}},"origins":{"MisInputDirective":"./directives/input/input.directive","MisInputComponent":"./mis-input.component","MisInputModule":"./mis-input.module"},"importAs":"mis-crystal-design-system/input"}
@@ -3,6 +3,7 @@ import { Subscription } from "rxjs";
3
3
  import { MisInputDirective } from "./directives/input/input.directive";
4
4
  export declare class MisInputComponent implements OnInit, OnDestroy {
5
5
  type: "rounded" | "floating";
6
+ size: "sm" | "md" | "lg";
6
7
  placeholder: string;
7
8
  noHints: boolean;
8
9
  hasError: boolean;
@@ -1,3 +1,5 @@
1
+ @import "../styles/mis-color-constants.scss";
2
+
1
3
  .input-container {
2
4
  position: relative;
3
5
  padding-bottom: 24px;
@@ -58,7 +60,7 @@
58
60
  background-color: #f5f5f5;
59
61
  }
60
62
  &:focus-within {
61
- border: 1px solid #0937b2;
63
+ border: 1px solid $pmry_500;
62
64
  }
63
65
  [mis-input-act],
64
66
  [mis-input-icon] {
@@ -76,12 +78,33 @@
76
78
  padding-bottom: 0px;
77
79
  }
78
80
  &.rounded {
81
+ &.sm {
82
+ input {
83
+ padding: 3px 16px;
84
+ }
85
+ }
86
+ &.md {
87
+ input {
88
+ padding: 9px 16px;
89
+ }
90
+ }
91
+ &.lg {
92
+ input {
93
+ padding: 15px 16px;
94
+ }
95
+ }
79
96
  .input-wrapper {
80
97
  border-radius: 4px;
81
98
  border: 1px solid #e0e0e0;
82
- &:hover,
99
+ padding: 0;
100
+ input:not(:disabled) {
101
+ &:hover,
102
+ &:focus {
103
+ background-color: #f5f5f5;
104
+ }
105
+ }
83
106
  &:focus-within {
84
- background-color: #f5f5f5;
107
+ border: 1px solid #0937b2;
85
108
  }
86
109
  input:not(:placeholder-shown) + .mis-placeholder {
87
110
  color: transparent !important;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mis-crystal-design-system",
3
- "version": "2.6.1",
3
+ "version": "2.6.4-testing",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "*",
6
6
  "@angular/core": "*",