@datarailsshared/datarailsshared 1.4.92 → 1.4.94-dragons

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 (154) hide show
  1. package/assets/styles/_styles.scss +2 -2
  2. package/assets/styles/img/default-avatar.svg +6 -3
  3. package/assets/styles/img/dr-icon-info.svg +2 -1
  4. package/bundles/datarailsshared-datarailsshared.umd.js +758 -251
  5. package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
  6. package/datarailsshared-datarailsshared-1.4.94-dragons.tgz +0 -0
  7. package/datarailsshared-datarailsshared.d.ts +8 -0
  8. package/datarailsshared-datarailsshared.metadata.json +1 -1
  9. package/esm2015/datarailsshared-datarailsshared.js +9 -1
  10. package/esm2015/lib/date-tags/date-tag.component.js +10 -8
  11. package/esm2015/lib/date-tags/date-tag.module.js +17 -18
  12. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +18 -20
  13. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +45 -43
  14. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +19 -19
  15. package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +11 -10
  16. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +24 -24
  17. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +20 -20
  18. package/esm2015/lib/dr-accordion/accordion-item-body.component.js +10 -12
  19. package/esm2015/lib/dr-accordion/accordion-item-header.component.js +12 -14
  20. package/esm2015/lib/dr-accordion/accordion-item.component.js +8 -8
  21. package/esm2015/lib/dr-accordion/accordion.component.js +2 -2
  22. package/esm2015/lib/dr-accordion/accordion.module.js +1 -1
  23. package/esm2015/lib/dr-avatar/dr-avatar.component.js +2 -2
  24. package/esm2015/lib/dr-avatar/dr-avatar.module.js +1 -1
  25. package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +1 -1
  26. package/esm2015/lib/dr-chat/chat.component.js +58 -0
  27. package/esm2015/lib/dr-chat/chat.module.js +37 -0
  28. package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +128 -0
  29. package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +70 -0
  30. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +49 -0
  31. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +23 -0
  32. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +46 -0
  33. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component.js +18 -0
  34. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +18 -0
  35. package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +6 -8
  36. package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +3 -3
  37. package/esm2015/lib/dr-dialog/dialog.module.js +2 -2
  38. package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +1 -1
  39. package/esm2015/lib/dr-dialog/services/dialog.service.js +1 -1
  40. package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +1 -1
  41. package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +2 -2
  42. package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +2 -2
  43. package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +2 -3
  44. package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +1 -1
  45. package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +1 -1
  46. package/esm2015/lib/dr-error/dr-error.component.js +1 -1
  47. package/esm2015/lib/dr-error/dr-error.module.js +1 -1
  48. package/esm2015/lib/dr-inputs/button/button.component.js +3 -3
  49. package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +7 -5
  50. package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +1 -1
  51. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +8 -7
  52. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +9 -8
  53. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +14 -18
  54. package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +1 -1
  55. package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +5 -5
  56. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +7 -5
  57. package/esm2015/lib/dr-inputs/dr-inputs.module.js +1 -1
  58. package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +2 -4
  59. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +8 -6
  60. package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +9 -5
  61. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +6 -4
  62. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +7 -5
  63. package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +12 -17
  64. package/esm2015/lib/dr-layout/dr-layout-body.component.js +3 -2
  65. package/esm2015/lib/dr-layout/dr-layout-header.component.js +7 -6
  66. package/esm2015/lib/dr-layout/dr-layout.component.js +4 -3
  67. package/esm2015/lib/dr-layout/dr-layout.module.js +1 -1
  68. package/esm2015/lib/dr-popover/dr-popover-ref.js +1 -1
  69. package/esm2015/lib/dr-popover/dr-popover.component.js +3 -3
  70. package/esm2015/lib/dr-popover/dr-popover.directive.js +3 -1
  71. package/esm2015/lib/dr-popover/dr-popover.module.js +1 -1
  72. package/esm2015/lib/dr-popover/dr-popover.service.js +2 -4
  73. package/esm2015/lib/dr-spinner/dr-spinner.component.js +2 -2
  74. package/esm2015/lib/dr-spinner/dr-spinner.directive.js +2 -3
  75. package/esm2015/lib/dr-spinner/dr-spinner.module.js +2 -2
  76. package/esm2015/lib/dr-tabs/dr-tab.component.js +8 -7
  77. package/esm2015/lib/dr-tabs/dr-tabs.component.js +4 -4
  78. package/esm2015/lib/dr-tabs/dr-tabs.module.js +1 -1
  79. package/esm2015/lib/dr-tags/dr-tag.component.js +7 -7
  80. package/esm2015/lib/dr-tags/dr-tag.module.js +6 -6
  81. package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +3 -3
  82. package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +2 -2
  83. package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +3 -3
  84. package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +2 -2
  85. package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +2 -2
  86. package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +2 -4
  87. package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +1 -1
  88. package/esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js +1 -1
  89. package/esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js +1 -1
  90. package/esm2015/lib/list-tags/list-tag.component.js +8 -8
  91. package/esm2015/lib/list-tags/list-tag.module.js +9 -9
  92. package/esm2015/lib/models/chat.js +32 -0
  93. package/esm2015/lib/models/constants.js +1 -1
  94. package/esm2015/lib/models/datePicker.js +1 -1
  95. package/esm2015/lib/models/dropdown.js +1 -1
  96. package/esm2015/lib/models/popover.js +3 -3
  97. package/esm2015/lib/models/serverTags.js +1 -1
  98. package/esm2015/lib/models/spinnerOptions.js +1 -1
  99. package/esm2015/lib/models/validationError.js +1 -1
  100. package/esm2015/lib/stepper/interfaces/stepper.js +1 -1
  101. package/esm2015/lib/stepper/stepper.component.js +2 -2
  102. package/esm2015/lib/stepper/stepper.module.js +1 -1
  103. package/esm2015/lib/utils/dr-shared-utils.js +2 -1
  104. package/esm2015/public-api.js +3 -1
  105. package/fesm2015/datarailsshared-datarailsshared.js +721 -268
  106. package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
  107. package/lib/date-tags/date-tag.component.d.ts +2 -2
  108. package/lib/date-tags/date-tag.module.d.ts +1 -1
  109. package/lib/date-tags/day-tag/day-tag.component.d.ts +2 -2
  110. package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +3 -3
  111. package/lib/date-tags/month-tag/month-tag.component.d.ts +4 -4
  112. package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +3 -3
  113. package/lib/date-tags/week-tag/week-tag.component.d.ts +3 -3
  114. package/lib/date-tags/year-tag/year-tag.component.d.ts +4 -4
  115. package/lib/dr-accordion/accordion-item-body.component.d.ts +1 -1
  116. package/lib/dr-accordion/accordion-item-header.component.d.ts +1 -1
  117. package/lib/dr-accordion/accordion-item.component.d.ts +3 -1
  118. package/lib/dr-avatar/dr-avatar.component.d.ts +1 -1
  119. package/lib/dr-chat/chat.component.d.ts +21 -0
  120. package/lib/dr-chat/chat.module.d.ts +2 -0
  121. package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +56 -0
  122. package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +38 -0
  123. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +18 -0
  124. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +11 -0
  125. package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +25 -0
  126. package/lib/dr-chat/dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component.d.ts +12 -0
  127. package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +12 -0
  128. package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +1 -1
  129. package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +1 -1
  130. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +1 -1
  131. package/lib/dr-dropdown/dr-dropdown.component.d.ts +1 -1
  132. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +1 -1
  133. package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +2 -0
  134. package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +1 -1
  135. package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +3 -3
  136. package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +2 -2
  137. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +3 -3
  138. package/lib/dr-inputs/dr-select/dr-select.component.d.ts +1 -1
  139. package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +1 -1
  140. package/lib/dr-inputs/radio-button/radio-group.component.d.ts +1 -1
  141. package/lib/dr-popover/dr-popover-ref.d.ts +1 -1
  142. package/lib/dr-popover/dr-popover.component.d.ts +2 -2
  143. package/lib/dr-popover/dr-popover.directive.d.ts +2 -2
  144. package/lib/dr-tabs/dr-tab.component.d.ts +1 -1
  145. package/lib/dr-tabs/dr-tabs.component.d.ts +1 -1
  146. package/lib/dr-tags/dr-tag.component.d.ts +2 -2
  147. package/lib/list-tags/list-tag.component.d.ts +4 -4
  148. package/lib/models/chat.d.ts +105 -0
  149. package/lib/models/popover.d.ts +1 -1
  150. package/lib/models/serverTags.d.ts +1 -1
  151. package/lib/utils/dr-shared-utils.d.ts +1 -0
  152. package/package.json +1 -1
  153. package/public-api.d.ts +2 -0
  154. package/datarailsshared-datarailsshared-1.4.92.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"datarailsshared-datarailsshared.umd.js","sources":["../../../projects/datarailsshared/src/lib/date-tags/date-tag.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/datarailsshared/src/lib/date-tags/forecast-tag/forecast-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/month-tag/month-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/quarter-tag/quarter-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/week-tag/week-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/year-tag/year-tag.component.ts","../../../projects/datarailsshared/src/lib/dr-tags/dr-tag.component.ts","../../../projects/datarailsshared/src/lib/list-tags/list-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/day-tag/day-tag.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/radio-button/radio-button.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/radio-button/radio-group.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/checkbox/checkbox.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-input/dr-input.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-select/dr-select.component.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.component.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.pipe.ts","../../../projects/datarailsshared/src/lib/models/constants.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-toggle/dr-toggle.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.component.ts","../../../projects/datarailsshared/src/lib/models/spinnerOptions.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/button/button.component.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover-ref.ts","../../../projects/datarailsshared/src/lib/models/popover.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.component.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.service.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.service.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.component.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown-position.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown-item-show.pipe.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tab.component.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tabs.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item-header.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item-body.component.ts","../../../projects/datarailsshared/src/lib/dr-layout/dr-layout.component.ts","../../../projects/datarailsshared/src/lib/dr-layout/dr-layout-header.component.ts","../../../projects/datarailsshared/src/lib/dr-layout/dr-layout-body.component.ts","../../../projects/datarailsshared/src/lib/dr-error/dr-error.component.ts","../../../projects/datarailsshared/src/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.ts","../../../projects/datarailsshared/src/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.ts","../../../projects/datarailsshared/src/lib/dr-dialog/services/dialog.service.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/enums/tooltip-position.enum.ts","../../../projects/datarailsshared/src/lib/dr-dialog/interfaces/dialog-data.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-model-debounce-change.directive.ts","../../../projects/datarailsshared/src/lib/models/datePicker.ts","../../../projects/datarailsshared/src/lib/date-tags/date-tag.module.ts","../../../projects/datarailsshared/src/lib/list-tags/list-tag.module.ts","../../../projects/datarailsshared/src/lib/dr-tags/dr-tag.module.ts","../../../projects/datarailsshared/src/lib/utils/dr-shared-utils.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/services/dr-date-picker.service.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-inputs.module.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.module.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.module.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.module.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.module.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.module.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tabs.module.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion.module.ts","../../../projects/datarailsshared/src/lib/dr-layout/dr-layout.module.ts","../../../projects/datarailsshared/src/lib/dr-error/dr-error.module.ts","../../../projects/datarailsshared/src/lib/stepper/stepper.component.ts","../../../projects/datarailsshared/src/lib/stepper/stepper.module.ts","../../../projects/datarailsshared/src/lib/dr-dialog/dialog.module.ts","../../../projects/datarailsshared/src/public-api.ts","../../../projects/datarailsshared/src/datarailsshared-datarailsshared.ts"],"sourcesContent":["import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {IDateTag} from \"../models/serverTags\";\n// import {*} from \"\"\n@Component({\n templateUrl: \"date-tag.component.html\",\n selector: \"date-tag\",\n styleUrls: [\"date-tag.component.css\", \"../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css\"],\n encapsulation: ViewEncapsulation.None\n})\nexport class DateTagComponent {\n @Input() name: string | undefined = undefined;\n @Input() lockedDate: any[] = [];\n @Input() defaultValue: number | undefined = undefined;\n @Input() dateTypeChosen: any = {};\n @Input() fiscalYearStartsFrom?: number;\n @Input() fiscalYearBack?: boolean;\n @Output() selectedDate: EventEmitter<IDateTag> = new EventEmitter<IDateTag>();\n\n\n constructor() {\n }\n\n changeSelectedDate(date) {\n setTimeout(() => {\n console.log(\"change date\", date);\n this.selectedDate.emit(date);\n }, 300);\n }\n}\n\n@Component({\n template: ``,\n selector: \"any-tag\"\n})\nexport class AnyTagComponent implements OnInit {\n @Output() dateChange: EventEmitter<IDateTag> = new EventEmitter<IDateTag>();\n @Input() name: string | undefined = undefined;\n @Input() defaultValue: number | undefined = undefined;\n dateObj = {date: undefined};\n\n constructor() {\n }\n\n ngOnInit() {\n this.initDate();\n this.initName();\n this.chosenTagHandler(this.dateObj.date);\n }\n\n initDate() {}\n\n initName() {}\n\n changeInputHandler(event: Event) {\n const input: HTMLInputElement = <HTMLInputElement>event.target;\n this.chosenTagHandler(input.value);\n }\n\n chosenTagHandler(value) {\n // need implement in all tags\n }\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {Component, Input} from \"@angular/core\";\nimport {Moment} from \"moment\";\nimport {IDateTag} from \"../../models/serverTags\";\nimport {AnyTagComponent} from \"../date-tag.component\";\nimport {MatSelectChange} from \"@angular/material/select\";\nimport {MatButtonToggleChange} from \"@angular/material/button-toggle\";\n// @ts-ignore\nconst moment = require(\"moment\");\n\n@Component({\n templateUrl: \"forecast-tag.component.html\",\n selector: \"forecast-tag\",\n})\n\nexport class ForecastTagComponent extends AnyTagComponent {\n @Input() fiscalYearStartsFrom?: number;\n @Input() fiscalYearBack?: boolean;\n @Input() lockedDate: any[] = [];\n forecastValue: number | undefined = undefined;\n\n forecastTags: any[] = [\n {\"value\": 0, \"label\": \"0+12\"},\n {\"value\": 1, \"label\": \"1+11\"},\n {\"value\": 2, \"label\": \"2+10\"},\n {\"value\": 3, \"label\": \"3+9\"},\n {\"value\": 4, \"label\": \"4+8\"},\n {\"value\": 5, \"label\": \"5+7\"},\n {\"value\": 6, \"label\": \"6+6\"},\n {\"value\": 7, \"label\": \"7+5\"},\n {\"value\": 8, \"label\": \"8+4\"},\n {\"value\": 9, \"label\": \"9+3\"},\n {\"value\": 10, \"label\": \"10+2\"},\n {\"value\": 11, \"label\": \"11+1\"}\n ];\n\n constructor() {\n super();\n }\n\n initDate() {\n let dateVal = new Date();\n if (this.defaultValue) {\n dateVal = new Date(this.defaultValue * 1000);\n }\n let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;\n let fiscal_year_back = this.fiscalYearBack || false;\n this.forecastValue = this.getFiscalMonthFromDate(dateVal, fiscal_year_starts_from) - 1;\n let fiscal_year = this.getFiscalYearFromDate(dateVal, fiscal_year_starts_from, fiscal_year_back);\n\n console.log(\"test\", dateVal, fiscal_year_starts_from, this.forecastValue, fiscal_year);\n\n this.dateObj.date = moment(new Date(fiscal_year, 0, 1)).format(\"YYYY\");\n\n this.updateLockedDate();\n }\n\n updateLockedDate() {\n for (let forecastTag of this.forecastTags) {\n forecastTag.disable = false;\n\n this.lockedDate.forEach(timestamp => {\n const locked = moment.unix(timestamp);\n\n if (locked.month() - 1 === forecastTag.value && +locked.year() + 1 === +this.dateObj.date) {\n forecastTag.disable = true;\n }\n });\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = \"Forecast\";\n }\n }\n\n getFiscalMonthFromDate(dateObj, fiscal_year_starts_from) {\n let all_months = [];\n\n for (let i = fiscal_year_starts_from; i < 13; i++) {\n all_months.push(i);\n }\n\n for (let i = 1; i < fiscal_year_starts_from; i++) {\n all_months.push(i);\n }\n\n return all_months.indexOf(dateObj.getMonth() + 1) + 1;\n }\n\n getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back) {\n let fiscal_year = dateObj.getFullYear();\n\n if (!fiscal_year_back) {\n if (dateObj.getMonth() + 1 >= fiscal_year_starts_from && fiscal_year_starts_from !== 1) {\n fiscal_year += 1;\n }\n } else {\n if (dateObj.getMonth() + 1 < fiscal_year_starts_from && fiscal_year_starts_from !== 1) {\n fiscal_year -= 1;\n }\n }\n\n return fiscal_year;\n }\n\n getForecastLabelFromValue(value, fiscal_year_starts_from, fiscal_year_back) {\n let label = \"\";\n if (value) {\n let dateObj = new Date(value * 1000);\n\n let fiscal_month = this.getFiscalMonthFromDate(dateObj, fiscal_year_starts_from);\n let fiscal_year = this.getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back);\n\n label = (fiscal_month - 1) + \"+\" + (13 - fiscal_month) + \" (\" + fiscal_year + \")\";\n }\n return label;\n }\n\n changeTagInputHandler(event: MatSelectChange | MatButtonToggleChange) {\n this.chosenTagHandler();\n }\n\n changeYearInputHandler(event: Event) {\n this.updateLockedDate();\n this.chosenTagHandler();\n }\n\n chosenTagHandler() {\n let month = this.forecastValue;\n let year = Number.parseInt(this.dateObj.date);\n\n let timeStampVal = 0;\n let label = \"\";\n\n if (!Number.isNaN(month) && !Number.isNaN(year)) {\n\n\n let date = new Date(year, month, 1, 12, 0, 0, 0);\n let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;\n let fiscal_year_back = this.fiscalYearBack || false;\n if (fiscal_year_starts_from !== 1) {\n if (!fiscal_year_back)\n date.setMonth(date.getMonth() - 13 + fiscal_year_starts_from);\n else\n date.setMonth(date.getMonth() - 1 + fiscal_year_starts_from);\n }\n\n timeStampVal = date.getTime() / 1000;\n label = this.getForecastLabelFromValue(timeStampVal, fiscal_year_starts_from, fiscal_year_back);\n }\n\n const resultTag: IDateTag = {\n \"name\": this.name,\n \"value\": timeStampVal,\n \"label\": label,\n \"locked\": !this.dateFilter(timeStampVal)\n };\n\n this.dateChange.emit(resultTag);\n }\n\n dateFilter = (date) => {\n const forecastDate = moment.unix(date);\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const locked = moment.unix(timestamp);\n\n return status = !(locked.month() === forecastDate.month() && locked.year() === forecastDate.year());\n });\n\n return status;\n }\n}\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\nimport {Moment} from \"moment\";\nimport {IDateTag} from \"../../models/serverTags\";\nimport {AnyTagComponent} from \"../date-tag.component\";\nimport {MatDatepicker} from \"@angular/material/datepicker\";\nimport {FormControl} from \"@angular/forms\";\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter} from \"@angular/material-moment-adapter\";\n// @ts-ignore\nconst moment = require(\"moment\");\n\nconst MONTH_FORMATS = {\n parse: {\n dateInput: \"DD-MM-YYYY\",\n },\n display: {\n dateInput: \"MMMM YYYY\",\n monthYearLabel: \"MMMM YYYY\",\n dateA11yLabel: \"LL\",\n monthYearA11yLabel: \"MMMM YYYY\"\n },\n};\n\n@Component({\n templateUrl: \"month-tag.component.html\",\n selector: \"month-tag\",\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\n },\n {provide: MAT_DATE_FORMATS, useValue: MONTH_FORMATS},\n ],\n})\n\nexport class MonthTagComponent extends AnyTagComponent {\n @Input() lockedDate: any[] = [];\n\n date = new FormControl(moment());\n\n constructor() {\n super();\n }\n\n initDate() {\n if (this.defaultValue) {\n this.dateObj.date = moment(this.defaultValue * 1000).utc().format(\"YYYY-MM\");\n this.date = new FormControl(moment(this.defaultValue * 1000));\n } else {\n this.dateObj.date = moment(new Date()).format(\"YYYY-MM\");\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = \"Month and Year\";\n }\n }\n\n chosenTagHandler(value) {\n const resultDate: Moment = moment.utc(value);\n resultDate.hour(12);\n const resultTag: IDateTag = {\n name: this.name,\n value: parseInt(resultDate.format(\"X\"), 10),\n label: resultDate.format(\"MMMM YYYY\"),\n locked: !this.dateFilter(value)\n };\n console.log(resultTag, value);\n this.dateChange.emit(resultTag);\n }\n\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker<Moment>) {\n this.date.setValue(normalizedMonth);\n this.dateObj.date = this.date.value;\n\n this.chosenTagHandler(this.date.value);\n\n datepicker.close();\n }\n\n dateFilter = (date) => {\n const calendarDate = moment(date);\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const lockDate = moment.unix(timestamp);\n\n return status = !(lockDate.year() === calendarDate.year() && lockDate.month() === calendarDate.month());\n });\n\n return status;\n }\n}\n","import {Component, Input, OnInit} from \"@angular/core\";\nimport {IDateTag} from \"../../models/serverTags\";\nimport {Moment} from \"moment\";\nimport {AnyTagComponent} from \"../date-tag.component\";\nimport {MatSelectChange} from \"@angular/material/select\";\n// @ts-ignore\nconst moment = require(\"moment\");\n\n@Component({\n templateUrl: \"quarter-tag.component.html\",\n selector: \"quarter-tag\",\n})\nexport class QuarterTagComponent extends AnyTagComponent implements OnInit {\n @Input() lockedDate: any[] = [];\n selectedValue = 0;\n quarters: any[] = [];\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n this.initName();\n this.quarters = this.getQuarterOptions();\n\n for (const quarter of this.quarters) {\n quarter.disable = false;\n\n if (quarter.isSelected) {\n this.selectedValue = quarter.value;\n this.chosenTagHandler(quarter.value);\n }\n\n this.dateFilter(quarter);\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = \"Quarter\";\n }\n }\n\n changeSelectHandler(event: MatSelectChange) {\n this.chosenTagHandler(event.value);\n }\n\n chosenTagHandler(value) {\n const date = new Date(value * 1000);\n const resultDate: Moment = moment.utc(date);\n const resultTag: IDateTag = {\n name: this.name,\n value: parseInt(resultDate.format(\"X\"), 10),\n label: this.getQuarterLabel(resultDate.toString()),\n locked: !this.dateFilter(value)\n };\n this.dateChange.emit(resultTag);\n }\n\n getQuarterOptions() {\n const quartersBeforeToday = 8;\n const quartersAfterToday = 8;\n const dateNow = new Date();\n const dateNowUnix = this.getUTCTimestamp(dateNow);\n let defaultValue = dateNowUnix;\n let tempDate = new Date();\n if (this.defaultValue) {\n defaultValue = this.defaultValue * 1000;\n }\n\n let afterDefault = Math.round(Math.abs(dateNowUnix - defaultValue) / 7776000000) + quartersAfterToday;\n afterDefault = Math.min(afterDefault, 100);\n let i, tempValue;\n const to_return: any[] = [];\n for (i = 0 - quartersBeforeToday; i <= afterDefault; i++) {\n tempDate = new Date(defaultValue);\n tempDate.setDate(15);\n tempDate.setMonth(tempDate.getMonth() + 3 * i);\n tempValue = this.getUTCTimestamp(tempDate);\n to_return.push({\n value: tempValue / 1000,\n label: this.getQuarterLabel(tempValue),\n isSelected: (i === 0),\n });\n }\n return to_return;\n }\n\n private getQuarterLabel(timeValue) {\n const date = new Date(timeValue);\n return \"Q\" + Math.floor((date.getMonth() / 3) + 1) + \" \" + date.getFullYear();\n }\n\n private getUTCTimestamp(date) {\n const month = Math.floor(date.getMonth() / 3) * 3;\n return Date.UTC(date.getFullYear(), month, 1, 12, 0, 0, 0);\n }\n\n dateFilter = (date) => {\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const lockDate = moment.unix(timestamp);\n const quarterDate = moment.unix(date.value);\n\n if (lockDate.year() === quarterDate.year() && lockDate.month() === quarterDate.month()) {\n date.disable = true;\n status = false;\n }\n });\n\n return status;\n }\n}\n","import {Component, Input, OnInit} from \"@angular/core\";\nimport {IDateTag} from \"../../models/serverTags\";\nimport {Moment} from \"moment\";\nimport {AnyTagComponent} from \"../date-tag.component\";\nimport {FormControl} from \"@angular/forms\";\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter} from \"@angular/material-moment-adapter\";\n// @ts-ignore\nconst moment = require(\"moment\");\n\nconst WEEK_FORMATS = {\n parse: {\n dateInput: \"WW-YYYY\",\n },\n display: {\n dateInput: \"[Week] WW, YYYY\",\n monthYearLabel: \"MMMM YYYY\",\n dateA11yLabel: \"LL\",\n monthYearA11yLabel: \"MMMM YYYY\"\n },\n};\n\n@Component({\n templateUrl: \"week-tag.component.html\",\n selector: \"week-tag\",\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\n },\n {provide: MAT_DATE_FORMATS, useValue: WEEK_FORMATS},\n ],\n})\nexport class WeekTagComponent extends AnyTagComponent implements OnInit {\n @Input() lockedDate: any[] = [];\n\n date = new FormControl(moment());\n selectedValue = \"\";\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n this.initName();\n\n const now = new Date();\n now.setHours(0, 0, 0, 0);\n\n const dateUnix = this.getUTCTimestamp(this.getMonday(now));\n let default_value_time = dateUnix;\n const one_day_in_seconds = 86400;\n if (this.defaultValue) {\n default_value_time = (this.defaultValue + one_day_in_seconds) * 1000;\n }\n\n const default_date = new Date(default_value_time);\n const weekNumber = this.getWeekNumberByDate(default_date);\n const yearNumber = default_date.getFullYear();\n const dateStr = `${yearNumber}-W${weekNumber}`;\n this.dateObj.date = dateStr;\n this.selectedValue = dateStr;\n this.chosenTagHandler(default_date);\n }\n\n initName() {\n if (!this.name) {\n this.name = \"Week\";\n }\n }\n\n chosenDateHandler(normalizedDay) {\n const date = moment(normalizedDay).unix();\n this.chosenTagHandler(date);\n }\n\n dateFilter = (date) => {\n const calendarDate = moment(date);\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const lockDate = moment.unix(timestamp);\n\n return status = !(lockDate.week() === calendarDate.week() && lockDate.year() === calendarDate.year());\n });\n\n return status;\n }\n\n chosenTagHandler(value) {\n let date;\n console.log(\"chosenTag\", value);\n if (value > 1000000000000) {\n date = new Date(value);\n } else {\n date = new Date(value * 1000);\n }\n\n const resultDate: Moment = moment(date);\n const resultTag: IDateTag = {\n name: this.name,\n value: parseInt(resultDate.format(\"X\"), 10),\n label: this.getWeekLabel(date),\n locked: !this.dateFilter(value)\n };\n console.log(\"resultTag\", resultTag);\n this.dateChange.emit(resultTag);\n }\n\n private getWeekLabel(date) {\n return \"W\" + this.pad( moment(date).isoWeek(), 2) +\n \" \" + moment(date).year();\n }\n\n private getUTCTimestamp(date) {\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 12, 0, 0, 0);\n }\n\n private getMonday(date) {\n const day = date.getDay() || 7;\n if (day !== 1) {\n date.setHours(-24 * (day - 1));\n }\n return date;\n }\n\n private getWeekNumberByDate(date: Date) {\n return this.pad(moment(date).isoWeek(), 2);\n }\n\n private pad(n, width, z = \"0\") {\n z = z || \"0\";\n n = n + \"\";\n return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;\n }\n}\n","import {Component, Input, OnInit} from \"@angular/core\";\nimport {FormControl} from \"@angular/forms\";\nimport {MatDatepicker} from \"@angular/material/datepicker\";\nimport {Moment} from \"moment\";\nimport {IDateTag} from \"../../models/serverTags\";\nimport {AnyTagComponent} from \"../date-tag.component\";\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter} from \"@angular/material-moment-adapter\";\n// @ts-ignore\nconst moment = require(\"moment\");\n\nconst YEAR_FORMATS = {\n parse: {\n dateInput: \"YYYY\",\n },\n display: {\n dateInput: \"YYYY\",\n monthYearLabel: \"MMMM YYYY\",\n dateA11yLabel: \"LL\",\n monthYearA11yLabel: \"MMMM YYYY\"\n },\n};\n\n@Component({\n templateUrl: \"year-tag.component.html\",\n selector: \"year-tag\",\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\n },\n {provide: MAT_DATE_FORMATS, useValue: YEAR_FORMATS},\n ],\n})\n\nexport class YearTagComponent extends AnyTagComponent {\n @Input() lockedDate: any[] = [];\n\n date = new FormControl(moment());\n\n constructor() {\n super();\n }\n\n initDate() {\n if (this.defaultValue) {\n this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format(\"YYYY\");\n this.date = new FormControl(moment(this.defaultValue * 1000));\n } else {\n this.dateObj.date = moment(new Date()).format(\"YYYY\");\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = \"Year\";\n }\n }\n\n chosenTagHandler(value) {\n const date = new Date();\n const year = moment(value).year();\n date.setTime(0);\n date.setFullYear(year, 0, 1);\n const resultDate: Moment = moment.utc(date);\n resultDate.hour(12);\n const resultTag: IDateTag = {\n name: this.name,\n value: parseInt(resultDate.format(\"X\"), 10),\n label: resultDate.format(\"YYYY\"),\n locked: !this.dateFilter(value)\n };\n console.log(\"resultTag\", resultTag);\n this.dateChange.emit(resultTag);\n }\n\n chosenYearHandler(normalizedYear: Moment, datepicker: MatDatepicker<Moment>) {\n const ctrlValue = this.date.value;\n ctrlValue.year(normalizedYear.year());\n\n this.date.setValue(ctrlValue);\n this.dateObj.date = this.date.value;\n this.chosenTagHandler(this.date.value);\n\n datepicker.close();\n }\n\n dateFilter = (date) => {\n const calendarDateYear = moment(date).year();\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const lockDate = moment.unix(timestamp);\n\n return status = !(lockDate.year() === calendarDateYear)\n });\n\n return status;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {IDateTag, IListTag, ITag, ITagForServer} from \"../models/serverTags\";\n\n@Component({\n templateUrl: \"dr-tag.component.html\",\n selector: \"dr-tag\",\n styleUrls: [\"dr-tag.component.scss\", \"../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css\"],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class DrTagComponent implements OnInit {\n @Input() tagConfig: ITag;\n @Input() selectedTag: ITagForServer;\n @Input() lockedDate: any[];\n @Input() fiscalYearStartsFrom?: number;\n @Input() fiscalYearBack?: boolean;\n @Output() tagChange: EventEmitter<ITagForServer> = new EventEmitter<ITagForServer>();\n\n defaultValue: string | undefined;\n\n constructor() {\n this.selectedTag = {\n id: 0,\n value: undefined,\n name: \"\"\n };\n }\n\n ngOnInit() {\n if (this.tagConfig && this.tagConfig.options && this.tagConfig.options.default_value) {\n this.defaultValue = this.tagConfig.options.default_value;\n }\n }\n\n onDateHandler(event: IDateTag) {\n let resultEvent: ITagForServer = {\n id: this.tagConfig.id,\n name: this.tagConfig.name,\n value: event.value,\n label: event.label,\n locked: event.locked\n };\n console.log(resultEvent);\n this.tagChange.emit(resultEvent);\n }\n\n onListHandler(event: IListTag) {\n let resultEvent: ITagForServer = {\n id: this.tagConfig.id,\n name: this.tagConfig.name,\n value: event.value\n };\n console.log(resultEvent);\n this.tagChange.emit(resultEvent);\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {IDateTag, IListTag} from \"../models/serverTags\";\nimport {Moment} from \"moment\";\nimport {MatSelectChange} from \"@angular/material/select\";\nimport {MatButtonToggleChange} from \"@angular/material/button-toggle\";\nimport * as momentImported from \"moment\"; const moment = momentImported;\n\n@Component({\n templateUrl: \"list-tag.component.html\",\n selector: \"list-tag\",\n styleUrls: [\"list-tag.component.scss\", \"../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css\"],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class ListTagComponent implements OnInit {\n @Input() values: string[];\n @Input() defaultValue: string = \"\";\n @Input() name: string;\n @Output() tagChange: EventEmitter<IListTag> = new EventEmitter<IListTag>();\n\n constructor() {\n }\n\n ngOnInit() {\n this.chosenTagHandler(this.defaultValue);\n }\n\n changeInputHandler(event: MatSelectChange | MatButtonToggleChange) {\n this.chosenTagHandler(event.value);\n }\n\n chosenTagHandler(value) {\n console.log(value);\n if (value && value !== \"\") {\n const resultTag: IListTag = {\n name: this.name,\n value: value\n };\n this.tagChange.emit(resultTag);\n }\n }\n}\n","import {Component, Input} from \"@angular/core\";\nimport {IDateTag} from \"../../models/serverTags\";\nimport {Moment} from \"moment\";\nimport {AnyTagComponent} from \"../date-tag.component\";\nimport {MatDatepicker} from \"@angular/material/datepicker\";\nimport {FormControl} from \"@angular/forms\";\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from \"@angular/material-moment-adapter\";\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from \"@angular/material/core\";\n// @ts-ignore\nconst moment = require(\"moment\");\n\nconst DAY_FORMATS = {\n parse: {\n dateInput: \"DD-MM-YYYY\",\n },\n display: {\n dateInput: \"DD.MM.YYYY\",\n monthYearLabel: \"MMMM YYYY\",\n dateA11yLabel: \"LL\",\n monthYearA11yLabel: \"MMMM YYYY\"\n },\n};\n\n@Component({\n templateUrl: \"day-tag.component.html\",\n selector: \"day-tag\",\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\n },\n {provide: MAT_DATE_FORMATS, useValue: DAY_FORMATS},\n ],\n})\n\nexport class DayTagComponent extends AnyTagComponent {\n @Input() lockedDate: any[] = [];\n\n date = new FormControl(moment());\n\n constructor() {\n super();\n }\n\n initDate() {\n const utcOffsetInMilliseconds = moment().utcOffset() * 60 * 1000;\n this.dateObj.date = moment(moment().valueOf() + utcOffsetInMilliseconds);\n if (this.defaultValue) {\n this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc();\n this.date.setValue(this.dateObj.date);\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = \"Day\";\n }\n }\n\n chosenTagHandler(value) {\n const date = moment(value).unix();\n const resultTag: IDateTag = {\n name: this.name,\n value: date,\n label: moment.unix(date).format(\"MM/DD/YYYY\"),\n locked: !this.dateFilter(value)\n };\n console.log(\"resultTag\", resultTag);\n this.dateChange.emit(resultTag);\n }\n\n chosenDateHandler(normalizedDay) {\n this.chosenTagHandler(normalizedDay);\n }\n\n dateFilter = (date) => {\n const calendarDate = moment(date).unix();\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n return status = !(timestamp === calendarDate);\n });\n\n return status;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input, Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'dr-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrls: ['./radio-button.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioButtonComponent,\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RadioButtonComponent implements ControlValueAccessor {\n @Input() name: string;\n @Input('value') _value: any;\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n }\n private _disabled: boolean = false;\n\n modelValue: any;\n\n get value() {\n return this._value;\n }\n\n onChange: any = (onchanges => {});\n onTouched: any = () => {};\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n writeValue(value: any) {\n this.modelValue = value;\n this.cdr.markForCheck();\n }\n toggleChange(event) {\n if (event.target.checked) {\n this.modelValue = this.value;\n }\n }\n valueChanged(event) {\n this.onChange(this.modelValue);\n this.valueChange.emit(this.value);\n }\n\n _setName(name: string) {\n this.name = name;\n this.cdr.markForCheck();\n }\n _markForCheck() {\n this.cdr.markForCheck();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n Output,\n QueryList,\n PLATFORM_ID,\n Inject,\n ElementRef,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { from, fromEvent, merge, Subject } from 'rxjs';\nimport { filter, startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { RadioButtonComponent } from './radio-button.component';\nimport { DOCUMENT } from '@angular/common';\n@Component({\n selector: 'dr-radio-group',\n template: `\n <ng-content select=\"dr-radio-button\"></ng-content>`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioGroupComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RadioGroupComponent implements AfterContentInit, OnDestroy, ControlValueAccessor {\n\n @Input()\n get value(): any {\n return this._value;\n }\n set value(value: any) {\n this._value = value;\n this.updateValues();\n }\n\n @Input()\n get name(): string {\n return this._name;\n }\n set name(name: string) {\n this._name = name;\n this.updateNames();\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = !!disabled;\n this.updateDisabled();\n }\n\n constructor(\n protected hostElement: ElementRef<HTMLElement>,\n @Inject(PLATFORM_ID) protected platformId,\n @Inject(DOCUMENT) protected document,\n ) {}\n\n protected destroy$ = new Subject<void>();\n protected _value: any;\n protected _name: string;\n protected _disabled: boolean;\n\n @ContentChildren(RadioButtonComponent, { descendants: true }) radios: QueryList<RadioButtonComponent>;\n\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\n protected onChange = (value: any) => {};\n protected onTouched = () => {};\n\n ngAfterContentInit() {\n // In case option 'name' isn't set on dr-radio component,\n // we need to set it's name right away, so it won't overlap with options\n // without names from other radio groups. Otherwise they all would have\n // same name and will be considered as options from one group so only the\n // last option will stay selected.\n this.updateNames();\n\n this.radios.changes\n .pipe(\n startWith(this.radios),\n // 'changes' emit during change detection run and we can't update\n // option properties right of since they already was initialized.\n // Instead we schedule microtask to update radios after change detection\n // run is finished and trigger one more change detection run.\n switchMap((radios: QueryList<RadioButtonComponent>) => from(Promise.resolve(radios))),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.updateAndSubscribeToRadios());\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n protected updateAndSubscribeToRadios() {\n this.updateValueFromCheckedOption();\n this.updateNames();\n this.updateValues();\n this.updateDisabled();\n this.subscribeOnRadiosValueChange();\n this.subscribeOnRadiosBlur();\n }\n\n protected updateNames() {\n if (this.radios) {\n this.radios.forEach((radio: RadioButtonComponent) => radio._setName(this.name));\n }\n }\n\n protected updateValues() {\n this.updateAndMarkForCheckRadios((radio: RadioButtonComponent) => {\n radio.modelValue = this.value;\n });\n }\n\n protected updateDisabled() {\n if (typeof this.disabled !== 'undefined') {\n this.updateAndMarkForCheckRadios((radio: RadioButtonComponent) => radio.disabled = this.disabled);\n }\n }\n\n protected subscribeOnRadiosValueChange() {\n if (!this.radios || !this.radios.length) {\n return;\n }\n\n merge(...this.radios.map((radio: RadioButtonComponent) => radio.valueChange))\n .pipe(\n takeUntil(\n merge(\n this.radios.changes,\n this.destroy$,\n ),\n ),\n )\n .subscribe((value: any) => {\n this.writeValue(value);\n this.propagateValue(value);\n });\n }\n\n protected propagateValue(value: any) {\n this.valueChange.emit(value);\n this.onChange(value);\n }\n\n protected subscribeOnRadiosBlur() {\n const hasNoRadios = !this.radios || !this.radios.length;\n if (!isPlatformBrowser(this.platformId) || hasNoRadios) {\n return;\n }\n\n const hostElement = this.hostElement.nativeElement;\n fromEvent<Event>(hostElement, 'focusin')\n .pipe(\n filter(event => hostElement.contains(event.target as Node)),\n switchMap(() => merge(\n fromEvent<Event>(this.document, 'focusin'),\n fromEvent<Event>(this.document, 'click'),\n )),\n filter(event => !hostElement.contains(event.target as Node)),\n takeUntil(\n merge(\n this.radios.changes,\n this.destroy$,\n ),\n ),\n )\n .subscribe(() => this.onTouched());\n }\n\n protected updateAndMarkForCheckRadios(updateFn: (RadioButtonComponent) => void) {\n if (this.radios) {\n this.radios.forEach((radio) => {\n updateFn(radio);\n radio._markForCheck();\n });\n }\n }\n\n protected updateValueFromCheckedOption() {\n const checkedRadio = this.radios.find((radio) => radio.modelValue);\n const isValueMissing = this.value === undefined || this.value === null;\n if (checkedRadio && isValueMissing && checkedRadio.value !== this.value) {\n this.value = checkedRadio.value;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'dr-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true}\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() checkedStatus: boolean;\n @Input() disabled = false;\n @Input() icon: 'cross' | '' = '';\n @Input()\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n set indeterminate(value: boolean) {\n this._indeterminate = !!value;\n this.cdr.markForCheck();\n }\n private _indeterminate: boolean = false;\n @Output() checkedChange = new EventEmitter();\n\n onChange: (value: boolean) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n writeValue(value: boolean) {\n this.checkedStatus = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n setValue(event) {\n const input = (event.target as HTMLInputElement);\n this.checkedStatus = input.checked;\n this.checkedChange.emit(this.checkedStatus);\n this.onChange(this.checkedStatus);\n this.indeterminate = input.indeterminate;\n this.onTouched();\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChild,\n ElementRef,\n forwardRef, HostBinding, AfterViewInit, Renderer2, OnDestroy, ChangeDetectionStrategy, ChangeDetectorRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { noop } from 'rxjs';\n\n@Component({\n selector: 'dr-input',\n templateUrl: './dr-input.component.html',\n styleUrls: ['./dr-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DrInputComponent),\n multi: true\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrInputComponent implements AfterViewInit, ControlValueAccessor, OnDestroy {\n _clearable = false;\n @Input() set disabled(value) {\n this.setDisabledState(value);\n }\n @Input() set buttonOptions(value) {\n if (value) {\n this._buttonOptions = {...this._buttonOptions, ... value};\n if (this._buttonOptions?.show || this._buttonOptions?.showOnFocus) {\n this._elementClass.push('with-button');\n }\n }\n if (this._buttonOptions.showOnFocus) {\n this.listenFunc = this.renderer.listen(this.elementRef.nativeElement, 'click', (event) => {\n this._buttonOptions.focusSet = true;\n this.cdr.markForCheck();\n });\n this.globalListenFunc = this.renderer.listen('document', 'click', event => {\n if (event.target.parentNode !== this.elementRef.nativeElement) {\n if (this._buttonOptions.checkFocusOut(event.target, this.elementRef.nativeElement)) {\n this.onButtonClicked(event);\n }\n }\n });\n }\n this.cdr.markForCheck();\n }\n @Input() type: string = 'string';\n @Input() name: string;\n @Input() placeholder: string = '';\n @Input() readonly = false;\n @Input() set clearable(val) {\n this._clearable = !!val;\n if (this._clearable) {\n this._elementClass.push('clearable');\n } else {\n this._elementClass = this._elementClass.filter(item => item !== 'clearable');\n }\n this.cdr.markForCheck();\n }\n @Input() min: number | string;\n @Input() max: number | string;\n @Input() minLength: number;\n @Input() maxlength: number;\n @Input() step;\n @Output() blur = new EventEmitter();\n @Output() ngModelDebounceChange = new EventEmitter();\n\n @HostBinding('class')\n get elementClass(): string {\n return this._elementClass.join(' ');\n }\n\n innerValue = null;\n _disabled = null;\n _elementClass: string[] = [];\n _buttonOptions = {\n show: false,\n showOnFocus: false,\n focusSet: false,\n checkFocusOut: (target: any, element: any) => true,\n text: 'Save'\n };\n listenFunc: Function;\n globalListenFunc: Function;\n\n\n @Output() searchHandler = new EventEmitter<any>();\n @Output() buttonHandler = new EventEmitter<any>();\n\n @ContentChild('prefix', {static: false}) prefixIcon: ElementRef;\n @ContentChild('suffix', {static: false}) suffixIcon: ElementRef;\n\n @HostBinding('tabindex') tabindex = -1;\n onChangeCallback: (_: any) => void = noop;\n onTouchedCallback: () => void = noop;\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n set(val: string) {\n this._elementClass = val.split(' ');\n }\n\n public get value(): string | number {\n return this.innerValue;\n }\n public set value(v: string | number) {\n if (v !== this.innerValue) {\n this.innerValue = this.type === 'number' ? +v : v;\n this.onChangeCallback(this.innerValue);\n }\n this.cdr.markForCheck();\n }\n\n\n constructor(private elementRef: ElementRef,\n private renderer: Renderer2,\n private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n if (this.clearable) {\n this._elementClass.push('clearable');\n }\n if (this.prefixIcon) {\n this._elementClass.push('with-prefix');\n }\n if (this.suffixIcon) {\n this._elementClass.push('with-suffix');\n }\n if (this.type === 'search') {\n this._elementClass.push('search-type');\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n writeValue(value: number | string) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.updateChanges();\n this.cdr.markForCheck();\n }\n }\n\n updateChanges() {\n this.onChange(this.value);\n }\n\n setDisabledState(isDisabled: boolean) {\n if (isDisabled) {\n this._elementClass.push('disabled');\n } else {\n this._elementClass = this._elementClass.filter(item => item !== 'disabled');\n }\n this._disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onSearchClicked($event: any) {\n this.searchHandler.emit($event);\n }\n\n onButtonClicked($event: any) {\n this.buttonHandler.emit($event);\n this._buttonOptions.focusSet = false;\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n if (this.listenFunc) {\n this.listenFunc();\n this.globalListenFunc();\n }\n }\n\n onClear($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.value = null;\n }\n}\n","import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ElementRef, HostBinding } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst SELECT_HOST_ATTRIBUTES = [\n 'no-left-border',\n 'no-left-border-radius',\n 'no-right-border',\n 'no-right-border-radius',\n];\n\n@Component({\n selector: 'dr-select',\n templateUrl: './dr-select.component.html',\n styleUrls: ['./dr-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: DrSelectComponent,\n multi: true\n }]\n})\nexport class DrSelectComponent implements ControlValueAccessor {\n\n @Input() className: string;\n @Input() items: Array<any> = [];\n @Input() addTag: boolean | ((term: string) => any | Promise<any>);\n @Input() appendTo = 'body';\n @Input() bindLabel: string;\n @Input() bindValue: string;\n @Input() clearable: boolean;\n @Input() searchable: boolean;\n @Input() searchFn: (term: string, item: any) => boolean;\n @Input() multiple: boolean;\n @Input() hideSelected: boolean;\n @Input() placeholder: string;\n @Input() loading: boolean;\n @Input() readonly: boolean;\n @Input() disabled = false;\n @Input() groupBy = null;\n @Input() optionWithDescription = false;\n @Input() id: string;\n @Input() keyDownFn: ($event: KeyboardEvent) => boolean = () => true;\n @Input() selectedItem: any;\n @Input() set textView(val: boolean) {\n this.asTextView = val;\n }\n @Input() autofocus: boolean;\n @Input() isOpen: boolean;\n @Output() change: EventEmitter<any> = new EventEmitter<any>();\n @Output() open: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChild('labelTemplate') labelTemplate: TemplateRef<any>;\n @ContentChild('optionTemplate') optionTemplate: TemplateRef<any>;\n @ContentChild('optionHeaderTemplate') optionHeaderTemplate: TemplateRef<any>;\n @ContentChild('optionFooterTemplate') optionFooterTemplate: TemplateRef<any>;\n @HostBinding('class.textView') asTextView: boolean = false;\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n for (const attr of SELECT_HOST_ATTRIBUTES) {\n if (this.hasHostAttributes(attr)) {\n (this.getHostElement()).classList.add(attr);\n }\n }\n }\n\n onChange: (value: boolean) => void = () => {};\n onTouched: () => void = () => {};\n\n writeValue(value: any): void {\n this.selectedItem = value;\n this.onChange(this.selectedItem);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n\n if (fn && this.selectedItem) {\n this.onChange(this.selectedItem);\n }\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n private getHostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private hasHostAttributes(...attributes: string[]): boolean {\n return attributes.some(attribute => this.getHostElement().hasAttribute(attribute));\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'dr-avatar',\n templateUrl: 'dr-avatar.component.html',\n styleUrls: ['dr-avatar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrAvatarComponent {\n @Input() set users(users: any[] | object) {\n if (users) {\n this.parsedUsers = Array.isArray(users) ? users : [users];\n this.parsedUsers.forEach((user, index) => {\n if (!user.colorNumber) {\n user.colorNumber = index % 5;\n }\n });\n }\n }\n @Input() warning: boolean = false;\n @Input() showUnassigned: boolean = false;\n @Output() userClicked: EventEmitter<any> = new EventEmitter<any>();\n parsedUsers: any[] = [];\n constructor() {\n }\n\n getFirstUsers(): any[] {\n return this.parsedUsers.slice(0, 2);\n }\n\n getLastUsers(): any[] {\n if (this.parsedUsers.length > 2) {\n return this.parsedUsers.slice(2, this.parsedUsers.length - 1);\n }\n return [];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'drAvatar'\n})\nexport class DrAvatarPipe implements PipeTransform {\n\n transform(item: any, type: string = 'full'): string {\n if (type === 'initials') {\n const email = item.email ? item.email[0] : '';\n return (item.first_name && item.last_name ? (item.first_name[0] + item.last_name[0]) : email).toUpperCase();\n }\n\n return item.first_name && item.last_name ? (item.first_name + ' ' + item.last_name) : item.email;\n }\n}\n","import { animate, style, transition } from '@angular/animations';\n\nexport const POPUP_POSITIONS = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -8\n },\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -8\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -8\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 7\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 7\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 7\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -8\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -8\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -8\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 8\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 8\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 8\n }\n};\n\nexport const POPUP_ANIMATION = [\n transition(':enter', [\n style({ opacity: 0 }),\n animate(150, style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate(150, style({ opacity: 0 })),\n ]),\n];\n","import { Component, HostListener, Input, OnInit, TemplateRef } from '@angular/core';\nimport { trigger } from '@angular/animations';\nimport { POPUP_ANIMATION } from '../models/constants';\nimport { BehaviorSubject } from 'rxjs';\n\ntype TooltipOptions = {\n withoutContainerStyles?: boolean;\n withoutArrow?: boolean;\n};\n\n@Component({\n selector: 'dr-tooltip',\n templateUrl: './dr-tooltip.component.html',\n styleUrls: ['./dr-tooltip.component.scss'],\n animations: [\n trigger('tooltip', POPUP_ANIMATION),\n ],\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() content;\n @Input() contentContext;\n @Input() position;\n @Input() options: TooltipOptions;\n @Input() class: string;\n isContentTemplate = false;\n\n public isMouseOn$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n constructor() { }\n\n ngOnInit(): void {\n this.isContentTemplate = this.content instanceof TemplateRef;\n }\n\n @HostListener('mouseenter')\n setMouseOn() {\n this.isMouseOn$.next(true);\n }\n\n @HostListener('mouseleave')\n unsetMouseOn() {\n this.isMouseOn$.next(false);\n }\n\n}\n","import { ComponentRef, Directive, ElementRef, HostListener, Input, OnInit, OnDestroy } from '@angular/core';\nimport { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { TooltipComponent } from './dr-tooltip.component';\nimport { POPUP_POSITIONS } from '../models/constants';\nimport { Subscription } from 'rxjs';\nimport { skip } from 'rxjs/operators';\n\n@Directive({\n selector: '[drTooltip]'\n})\nexport class DrTooltipDirective implements OnDestroy {\n\n @Input('drTooltip')\n content: any;\n @Input('drTooltipContext')\n contentContext = {};\n @Input('drTooltipPosition')\n position = 'top';\n @Input('drTooltipClass')\n class = '';\n\n // is used for preserve tooltip from being hidden for N milliseconds\n @Input() drTooltipMousleaveTimeout = 0;\n\n @Input()\n set drTooltipOptions(options: any) {\n if (options?.indent) {\n const position = POPUP_POSITIONS[this.position];\n if (position.offsetY) {\n position.offsetY = position.offsetY < 0 ? -options.indent : options.indent;\n }\n if (position.offsetX) {\n position.offsetX = position.offsetX < 0 ? -options.indent : options.indent;\n }\n }\n this.options = options;\n }\n\n @Input('drTooltipShow')\n set showTooltip(value: boolean) {\n this.manualHandling = true;\n if (value) {\n this.renderTooltip();\n } else {\n this.destroyTooltip();\n }\n }\n\n private overlayRef: OverlayRef;\n private tooltipRef: ComponentRef<TooltipComponent>;\n\n private options;\n private manualHandling: boolean;\n private tooltipMouseOnSubscription: Subscription;\n private mouseleaveTimer: ReturnType<typeof setTimeout>;\n\n constructor(private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n private elementRef: ElementRef) { }\n\n ngOnDestroy(): void {\n if (!this.overlayRef) return null;\n\n if (this.overlayRef.hasAttached()) {\n this.hide();\n }\n // TODO: Temporary solution. line 162 doesn't stop function execution\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n\n if (this.tooltipMouseOnSubscription) {\n this.tooltipMouseOnSubscription.unsubscribe();\n }\n }\n\n @HostListener('mouseenter')\n show() {\n if (this.manualHandling || this.overlayRef) return;\n\n this.renderTooltip();\n }\n\n @HostListener('mouseleave')\n hide() {\n if (this.manualHandling || !this.tooltipRef || this.tooltipRef?.instance.isMouseOn$.getValue()) return;\n\n // if this timeout value is set - then preserve\n // tooltip from being hidden N milliseconds and not hiding it\n // in case mouse is pointed on tooltip\n if (this.drTooltipMousleaveTimeout) {\n\n if (this.mouseleaveTimer) {\n clearTimeout(this.mouseleaveTimer);\n }\n\n this.mouseleaveTimer = setTimeout(() => {\n if (this.tooltipRef && !this.tooltipRef?.instance.isMouseOn$.getValue()) {\n this.destroyTooltip();\n }\n }, this.drTooltipMousleaveTimeout);\n } else {\n this.destroyTooltip();\n }\n }\n\n private createOverlay(): void {\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions([POPUP_POSITIONS[this.position]]);\n\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n private renderTooltip(): void {\n this.createOverlay();\n if (!this.overlayRef?.hasAttached() && this.content) {\n this.tooltipRef = this.overlayRef.attach(new ComponentPortal(TooltipComponent));\n this.tooltipRef.instance.content = this.content;\n this.tooltipRef.instance.contentContext = this.contentContext;\n this.tooltipRef.instance.position = this.position;\n this.tooltipRef.instance.options = this.options;\n this.tooltipRef.instance.class = this.class + ' ' + this.position;\n\n this.tooltipMouseOnSubscription = this.tooltipRef.instance.isMouseOn$.pipe(skip(1)).subscribe((isMouseOn: boolean) => {\n if (!isMouseOn) {\n this.destroyTooltip();\n }\n });\n }\n }\n\n private destroyTooltip(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n this.overlayRef = null;\n this.tooltipRef = null;\n\n if (this.tooltipMouseOnSubscription) {\n this.tooltipMouseOnSubscription.unsubscribe();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n HostBinding,\n AfterViewInit\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'dr-toggle',\n templateUrl: './dr-toggle.component.html',\n styleUrls: ['./dr-toggle.component.scss'],\n providers: [\n {provide: NG_VALUE_ACCESSOR, useExisting: DrToggleComponent, multi: true}\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrToggleComponent implements ControlValueAccessor, AfterViewInit {\n _disabled = false;\n _elementClass: string[] = [];\n\n @Input()\n toggleTitle: any;\n @Input()\n toggleTitleRight: boolean;\n @Input()\n successType: boolean;\n @Input()\n checkedStatus: boolean;\n @Input() set disabled(value: boolean) {\n this.setDisabledState(value);\n }\n @Output() checkedChange = new EventEmitter();\n\n @HostBinding('class') get elementClass(): string {return this._elementClass.join(' ');}\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n if (this.toggleTitleRight) {\n this._elementClass.push('toggle-label-alignment');\n }\n }\n\n onChange: (value: boolean) => void = () => {};\n onTouched: () => void = () => {};\n\n writeValue(value: boolean) {\n this.checkedStatus = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this._disabled = isDisabled;\n }\n\n setValue() {\n this.checkedStatus = !this.checkedStatus;\n this.onChange(this.checkedStatus);\n this.checkedChange.emit(this.checkedStatus);\n this.onTouched();\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, forwardRef,\n Input,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'dr-toggle-button',\n templateUrl: './dr-toggle-button.component.html',\n styleUrls: ['./dr-toggle-button.component.scss'],\n providers: [\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DrToggleButtonComponent), multi: true}\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\n\nexport class DrToggleButtonComponent implements ControlValueAccessor {\n _disabled = false;\n\n @Input() items: string[] | any[];\n @Input() bindLabel: string | null = null;\n @Input() bindValue: string | null = null;\n @Input() selectedValue: boolean;\n @Input() set disabled(value: boolean) {\n this.setDisabledState(value);\n }\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n onChange: (value: boolean) => void = () => {};\n onTouched: () => void = () => {};\n\n writeValue(value: any) {\n this.selectedValue = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this._disabled = isDisabled;\n }\n\n setValue(item) {\n this.selectedValue = item[this.bindValue] || item;\n this.onChange(this.selectedValue);\n this.onTouched();\n this.cdr.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ISpinnerOptions } from '../models/spinnerOptions';\n\n@Component({\n selector: 'dr-spinner',\n templateUrl: './dr-spinner.component.html',\n styleUrls: ['./dr-spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrSpinnerComponent {\n\n private _options: ISpinnerOptions;\n\n public set options(data: ISpinnerOptions) {\n this._options ||= data;\n }\n\n public get options() : ISpinnerOptions {\n return this._options;\n }\n}\n","export enum SpinnerType {\n LOGO = 'logo',\n CIRCLE = 'circle',\n}\n\nexport enum SpinnerSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n BIG = 'big',\n GIANT = 'giant',\n}\n\nexport interface ISpinnerOptions extends DOMRect {\n spinnerType?: SpinnerType,\n spinnerSize?: SpinnerSize,\n}\n","import {\n ComponentFactory,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { DrSpinnerComponent } from './dr-spinner.component';\nimport { SpinnerSize, SpinnerType } from '../models/spinnerOptions';\n\n@Directive({\n selector: '[drSpinner]'\n})\nexport class DrSpinnerDirective implements OnChanges, OnDestroy {\n\n @ViewChild(DrSpinnerComponent, {static: true, read: ViewContainerRef}) contentCmpRef;\n @Input() drSpinner;\n @Input() drSpinnerSize: SpinnerSize = SpinnerSize.MEDIUM;\n @Input() drSpinnerType: SpinnerType = SpinnerType.LOGO;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private el: ElementRef,\n private rdr: Renderer2,\n @Inject(DOCUMENT) private _document: any) {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const show = changes.drSpinner.currentValue;\n const options = this.el.nativeElement.getBoundingClientRect();\n if (this.contentCmpRef && !show) {\n this.contentCmpRef.destroy();\n this.contentCmpRef = null;\n } else if (this.drSpinner) {\n this.showSpinner({...options, spinnerSize: this.drSpinnerSize, spinnerType: this.drSpinnerType});\n }\n }\n\n public ngOnDestroy() {\n if (this.contentCmpRef) {\n this.contentCmpRef.destroy();\n }\n }\n\n private showSpinner(options) {\n let componentFactory: ComponentFactory<DrSpinnerComponent>;\n componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrSpinnerComponent);\n this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);\n this.rdr.appendChild(this.el.nativeElement, this.contentCmpRef.location.nativeElement);\n this.contentCmpRef.instance.options = options;\n }\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\ntype ButtonType = 'primary' | 'secondary' | 'danger' | 'primary-icon' |\n 'secondary-icon' | 'icon' | 'primary-square' | 'ghost' | 'link-btn' | 'text-link' | 'simple-text' |\n 'split-primary-first' | 'split-primary-last' | 'split-secondary-first' | 'split-secondary-last' | 'dropdown';\n\n@Component({\n selector: 'dr-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class DrButtonComponent {\n\n _disabled = null;\n _isLoading = false;\n _elementClass: string[] = [];\n\n @Input() title: string;\n @Input() theme: ButtonType = 'primary';\n @Input() icon: string;\n @Input() iconAfterLabel: string;\n @Input() isBold: boolean = false;\n @Input() iconColor: string;\n @Input() set disabled(value) {\n if (value) {\n this._elementClass.push('disabled');\n } else {\n this._elementClass = this._elementClass.filter(item => item !== 'disabled');\n }\n this._disabled = value;\n }\n @Input() set isLoading(value) {\n if (value) {\n this._elementClass.push('loading');\n } else {\n this._elementClass = this._elementClass.filter(item => item !== 'loading');\n }\n this._isLoading = !!value;\n }\n @Output() click = new EventEmitter();\n\n @HostBinding('class')\n get elementClass(): string {\n return this._elementClass.join(' ');\n }\n set(val: string) {\n this._elementClass = val.split(' ');\n }\n\n constructor() { }\n\n public onClick($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.click.emit($event);\n }\n}\n// Examples:\n/*\n<dr-button [icon]=\"'dr-icon-arrow-down'\">hello</dr-button>\n<dr-button [icon]=\"'dr-icon-refresh'\" [theme]=\"'primary-icon'\"></dr-button>\n<dr-button [icon]=\"'dr-icon-refresh'\" [isDisabled]=\"true\" [theme]=\"'primary-icon'\"></dr-button>\n<dr-button [theme]=\"'secondary'\" [icon]=\"'dr-icon-excel'\" [iconColor]=\"'#03A678'\"></dr-button>\n\n<dr-button [icon]=\"'dr-icon-refresh'\" [theme]=\"'secondary-icon'\"></dr-button>\n<dr-button [icon]=\"'dr-icon-share'\" [isDisabled]=\"true\" [theme]=\"'secondary-icon'\"></dr-button>\n\n<dr-button [icon]=\"'dr-icon-share'\" [theme]=\"'icon'\"></dr-button>\n<dr-button [icon]=\"'dr-icon-share'\" [isDisabled]=\"true\" [theme]=\"'icon'\"></dr-button>\n\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\">Primary</dr-button>\n<dr-button [isDisabled]=\"false\" >Primary</dr-button>\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\" [theme]=\"'secondary'\">Secondary</dr-button>\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\" [theme]=\"'ghost'\">Ghost</dr-button>\n<dr-button [isDisabled]=\"false\" [theme]=\"'text-link'\">Text Link</dr-button>\n*/\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\nimport { DrPopoverComponent } from './dr-popover.component';\n\nexport class DrPopoverRef<T = any> {\n\n componentRef: ComponentRef<DrPopoverComponent<T>>;\n\n protected onClose$: Subject<any> = new Subject();\n // FIXME: this decision was made because of the incompatible rxjs version\n /**\n * Correct type is @type {Observable<any>}\n */\n readonly onClose: any = this.onClose$.asObservable();\n\n readonly onBackdropClick: Observable<MouseEvent>;\n\n constructor(private overlayRef: OverlayRef) {\n this.onBackdropClick = this.overlayRef.backdropClick();\n }\n\n close(res?: any): void {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n this.onClose$.next(res);\n this.onClose$.complete();\n }\n}\n","import { POPUP_POSITIONS } from './constants';\nimport { ElPosition } from './dropdown';\nimport { ElementRef } from '@angular/core';\nimport { OverlayConfig } from '@angular/cdk/overlay';\n\nexport { DrPopoverRef } from '../dr-popover/dr-popover-ref';\n\nexport interface Point {\n readonly x: number;\n readonly y: number;\n}\n\nexport interface IPopoverManualClosing {\n enabled: boolean;\n}\n\nexport interface IDrPopoverComponentModel {\n hostRef: ElementRef | HTMLElement | Point;\n position?: ElPosition;\n contentContext?: any;\n class?: string;\n overlayConfig?: DrPopoverConfig;\n manualClosing?: IPopoverManualClosing;\n targetElement?: HTMLElement;\n alignment?: DrPopoverAlignment;\n}\n\nexport interface DrPopoverConfig extends OverlayConfig {\n closeOnBackdropClick?: boolean;\n}\n\nexport type DrPopoverAlignment = 'host';\n\nexport enum DrPopoverAlignmentDimension {\n Width = 'width',\n Height = 'height',\n}\n\nexport const DEFAULT_CONFIG: DrPopoverConfig = {\n hasBackdrop: false,\n closeOnBackdropClick: false,\n backdropClass: 'dr-popover-transparent-backdrop',\n};\n\nexport const DEFAULT_MODEL: Partial<IDrPopoverComponentModel> = {\n position: 'bottom',\n class: '',\n overlayConfig: {},\n manualClosing: { enabled: false },\n};\n\nexport function getAlignmentDimension(position: string): DrPopoverAlignmentDimension {\n if (!POPUP_POSITIONS[position]) return DrPopoverAlignmentDimension.Width;\n if (position?.includes('left') || position?.includes('right')) {\n return DrPopoverAlignmentDimension.Height;\n }\n return DrPopoverAlignmentDimension.Width;\n}\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n HostListener,\n Input,\n TemplateRef,\n Type,\n ViewChild,\n ViewContainerRef,\n OnInit,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\nimport { trigger } from '@angular/animations';\nimport { POPUP_ANIMATION } from '../models/constants';\nimport { DrPopoverRef } from './dr-popover-ref';\nimport { IPopoverManualClosing, Point, DrPopoverAlignment, getAlignmentDimension } from '../models/popover';\n\n@Component({\n selector: 'dr-popover',\n templateUrl: './dr-popover.component.html',\n styleUrls: ['./dr-popover.component.scss'],\n animations: [\n trigger('popover', POPUP_ANIMATION),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrPopoverComponent<T> implements OnInit {\n\n @Input() content: TemplateRef<any> | Type<T>;\n @Input() contentContext: any;\n @Input() class = '';\n @Input() hostRef: ElementRef<unknown> | HTMLElement | Point;\n @Input() manualClosing: IPopoverManualClosing;\n @Input() alignment: DrPopoverAlignment;\n @Input() position: string;\n\n @ViewChild('popoverContainer', { read: ElementRef, static: true }) popoverContainer: ElementRef<HTMLElement>;\n isContentTemplate = false;\n componentRef: ComponentRef<T>;\n\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n\n @HostBinding('@popover') public popover = true;\n\n @HostListener('document:mouseup', ['$event'])\n clickOutside(e): void {\n const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || (this.hostRef.nativeElement as HTMLElement).contains(e.target));\n const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);\n const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');\n const isTargetInSelect = e.target.closest('ng-dropdown-panel');\n const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');\n\n if (!isTargetHost\n && !isTargetInPopover\n && !isTargetInDatepicker\n && !isTargetInSelect\n && !isTargetInDatepickerContent\n && !this.manualClosing.enabled\n ) {\n this.popoverRef.close();\n }\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef,\n private popoverRef: DrPopoverRef<T>,\n ) { }\n\n ngOnInit(): void {\n this.isContentTemplate = this.content instanceof TemplateRef;\n\n if (!this.isContentTemplate) {\n this.componentRef = this.viewContainerRef.createComponent(this.componentFactoryResolver.resolveComponentFactory(this.content as Type<T>));\n Object.assign(this.componentRef.instance, this.contentContext);\n this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);\n }\n if (this.alignment === 'host') {\n this[getAlignmentDimension(this.position)] = '100%';\n }\n\n this.cdr.detectChanges();\n }\n\n}\n","import { first } from 'rxjs/operators';\nimport { DrPopoverRef } from './dr-popover-ref';\nimport { DrPopoverComponent } from './dr-popover.component';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injectable, Injector, StaticProvider, TemplateRef, Type, ElementRef } from '@angular/core';\nimport { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { POPUP_POSITIONS } from '../models/constants';\nimport { DEFAULT_CONFIG, DEFAULT_MODEL, getAlignmentDimension, IDrPopoverComponentModel, Point } from '../models/popover';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DrPopoverService {\n\n constructor(\n private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n private injector: Injector,\n ) { }\n\n open<T>(content: Type<T> | TemplateRef<HTMLElement>, popoverModel: IDrPopoverComponentModel): DrPopoverRef<T> {\n if (!content) return;\n\n const model = { ...DEFAULT_MODEL, ...popoverModel };\n\n const overlayRef = this.createOverlay(model);\n\n const popoverRef = new DrPopoverRef<T>(overlayRef);\n\n this.attachOverlayContainer(content, model, overlayRef, popoverRef);\n\n this.registerListeners(model, overlayRef, popoverRef);\n\n return popoverRef;\n }\n\n private attachOverlayContainer<T>(\n content: Type<T> | TemplateRef<HTMLElement>,\n { contentContext, position, class: elementClass, manualClosing, hostRef, alignment }: IDrPopoverComponentModel,\n overlayRef: OverlayRef,\n popoverRef: DrPopoverRef<T>\n ): void {\n const componentPortal = new ComponentPortal<DrPopoverComponent<T>>(DrPopoverComponent, null, this.createInjector(popoverRef));\n const contentRef = overlayRef.attach<DrPopoverComponent<T>>(componentPortal);\n\n popoverRef.componentRef = contentRef;\n\n contentRef.instance.content = content;\n contentRef.instance.contentContext = { ...contentContext, closePopover: popoverRef.close.bind(popoverRef) };\n contentRef.instance.class = elementClass + ' ' + position;\n contentRef.instance.manualClosing = manualClosing;\n contentRef.instance.hostRef = hostRef;\n contentRef.instance.alignment = alignment;\n contentRef.instance.position = position;\n }\n\n private createOverlay(popoverModel: IDrPopoverComponentModel): OverlayRef {\n const overlayConfig = this.getOverlayConfig(popoverModel);\n return this.overlay.create(overlayConfig);\n }\n\n private getOverlayConfig(popoverModel: IDrPopoverComponentModel): OverlayConfig {\n if (!POPUP_POSITIONS[popoverModel.position]) throw new Error(`DrPopover does not support the '${popoverModel?.position}' position!`);\n\n const config = { ...DEFAULT_CONFIG, ...popoverModel.overlayConfig || {}};\n const hostElement = this.getHostElement(popoverModel.hostRef);\n\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(popoverModel.hostRef)\n .withPositions([POPUP_POSITIONS[popoverModel.position]]);\n\n const overlayConfig = new OverlayConfig({\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy,\n ...config,\n });\n\n if (popoverModel.alignment === 'host' && hostElement) {\n const alignmentDimension = getAlignmentDimension(popoverModel.position);\n overlayConfig[alignmentDimension] = hostElement.getBoundingClientRect()[alignmentDimension];\n }\n\n return overlayConfig;\n }\n\n private createInjector<T>(popoverRef: DrPopoverRef<T>): Injector {\n const injectionTokens: StaticProvider[] = [\n { provide: DrPopoverRef, useValue: popoverRef },\n ];\n\n return Injector.create({ providers: injectionTokens, parent: this.injector });\n }\n\n private registerListeners<T>(popoverModel: IDrPopoverComponentModel, overlayRef: OverlayRef, popoverRef: DrPopoverRef<T>): void {\n const config = popoverModel.overlayConfig || {};\n const targetElement = popoverModel.targetElement;\n const hostElement = this.getHostElement(popoverModel.hostRef);\n\n if (config?.closeOnBackdropClick && config?.hasBackdrop) {\n overlayRef.backdropClick().subscribe(() => popoverRef.close());\n }\n\n if (targetElement) {\n targetElement.addEventListener('mouseup', () => popoverRef.close(), { once: true });\n }\n\n if (popoverModel.alignment === 'host' && hostElement) {\n const alignmentDimension = getAlignmentDimension(popoverModel.position);\n const resizeObserver = new ResizeObserver(entries => {\n entries.forEach(host => overlayRef.updateSize({ [alignmentDimension]: host.target.getBoundingClientRect()[alignmentDimension] }));\n });\n resizeObserver.observe(hostElement);\n popoverRef.onClose.pipe(first()).subscribe(() => resizeObserver.unobserve(hostElement));\n }\n }\n\n private getHostElement<T>(hostRef: Point | HTMLElement | ElementRef<T>): HTMLElement {\n if (!hostRef || (<Point>hostRef).x) return null;\n if ((<ElementRef>hostRef).nativeElement) return (<ElementRef>hostRef).nativeElement;\n return <HTMLElement>hostRef;\n }\n\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n Type,\n} from '@angular/core';\nimport { OverlayConfig } from '@angular/cdk/overlay';\nimport { first } from 'rxjs/operators';\nimport { ElPosition } from './../models/dropdown';\nimport { DrPopoverRef } from './dr-popover-ref';\nimport { DrPopoverService } from './dr-popover.service';\nimport { IPopoverManualClosing, DrPopoverAlignment } from '../models/popover';\n\n@Directive({\n selector: '[drPopover]'\n})\nexport class DrPopoverDirective<T> implements OnDestroy {\n\n @Input('drPopover') content: TemplateRef<any> | Type<T>;\n\n @Input('drPopoverContext') contentContext: Object = {};\n\n @Input('drPopoverPosition') position: ElPosition = 'bottom';\n\n @Input('drPopoverClass') class: string = '';\n\n @Input('drPopoverOverlayConfig') overlayConfig: OverlayConfig = {};\n\n @Input('drPopoverManualClosing') manualClosing: IPopoverManualClosing = { enabled: false };\n\n @Input('drPopoverAlignment') alignment: DrPopoverAlignment;\n\n @Input('drPopoverDisabled') disabled: boolean;\n\n @Output('drPopoverClose') popoverClose = new EventEmitter<any>();\n\n @Output('drPopoverShowStateChange') showStateChange = new EventEmitter<{ isShown: boolean }>();\n\n private popoverRef: DrPopoverRef<T>;\n\n constructor(private elementRef: ElementRef,\n private drPopoverService: DrPopoverService,\n ) { }\n\n @HostListener('click')\n togglePopover(): void {\n if (this.disabled) return;\n\n if (this.popoverRef) {\n this.closePopover();\n } else {\n this.renderPopover();\n this.showStateChange.emit({ isShown: !!this.popoverRef });\n }\n }\n\n closePopover(res?: any): void {\n if (this.popoverRef) {\n this.popoverRef.close(res);\n this.popoverRef = null;\n }\n }\n\n private renderPopover(): void {\n const popoverRef = this.popoverRef = this.drPopoverService.open(this.content, {\n hostRef: this.elementRef,\n overlayConfig: this.overlayConfig,\n class: this.class,\n manualClosing: this.manualClosing,\n position: this.position,\n contentContext: this.contentContext,\n alignment: this.alignment,\n });\n\n popoverRef.onClose.pipe(first()).subscribe((res) => {\n this.closePopover();\n this.popoverClose.emit(res);\n this.showStateChange.emit({ isShown: !!this.popoverRef });\n });\n }\n\n ngOnDestroy(): void {\n this.closePopover();\n }\n}\n","import { ComponentRef, Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { DrDropdownComponent } from './dr-dropdown.component';\nimport { IDropdownAction } from '../models/dropdown';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DrDropdownService {\n\n actionItem = new Subject<IDropdownAction<unknown>>();\n protected menuInView: ComponentRef<DrDropdownComponent>;\n\n constructor() {\n }\n\n set addMenu(item: ComponentRef<DrDropdownComponent>) {\n this.menuInView = item;\n }\n\n destroy() {\n if (this.menuInView) {\n this.menuInView.destroy();\n }\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';\nimport { IDropdownItem, ElPosition, IDropdownActionIcon, IDropdown, IDropdownCoordinate } from '../models/dropdown';\nimport { DrDropdownService } from './dr-dropdown.service';\n\n@Component({\n selector: 'dr-dropdown',\n templateUrl: './dr-dropdown.component.html',\n styleUrls: ['./dr-dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrDropdownComponent {\n\n @ViewChild('listMenu') viewMenu: HTMLElement;\n @ViewChild('menuContainer') menuContainer: HTMLElement;\n option: any;\n position: ElPosition | IDropdownCoordinate = 'left';\n drDropdownInHover: boolean;\n list: IDropdownItem<unknown>[];\n containerClass: string;\n public wasHovered: boolean = false;\n private firstInit: boolean;\n\n constructor(protected menuService: DrDropdownService, private cdr: ChangeDetectorRef) {\n }\n\n @Input() set options(data: IDropdown<IDropdownItem<any>>) {\n if (data) {\n this.option = data.option;\n this.position = data.position;\n this.drDropdownInHover = data.drDropdownInHover;\n this.containerClass = data.class;\n this.list = data.list || [];\n this.list.forEach(item => {\n if (item.children?.length) {\n item.childOptions = {\n list: item.children,\n class: item?.childOptions?.class || '',\n position: 'child'\n };\n }\n });\n this.cdr.markForCheck();\n }\n }\n\n onMouseEnter(): void {\n this.wasHovered = true;\n }\n\n onMouseLeave(): void {\n if (this.drDropdownInHover) this.menuService.destroy();\n }\n\n onClickedOutside(): void {\n if (this.firstInit) {\n this.menuService.destroy();\n } else {\n this.firstInit = true;\n }\n }\n\n hide(): void {\n this.menuService.destroy();\n }\n\n disabled(act: IDropdownItem<unknown> | IDropdownActionIcon<any>): boolean {\n if (!act.disabled) {\n return false;\n }\n if (typeof act.disabled === 'boolean') {\n return act.disabled;\n } else {\n return act.disabled(act.data);\n }\n }\n\n selected(act: IDropdownItem<unknown>): boolean {\n if (!act.selected) {\n return false;\n }\n if (typeof act.selected === 'boolean') {\n return act.selected;\n } else {\n return act.selected(act.data);\n }\n }\n\n tooltipToShow(act: IDropdownItem<unknown>): string {\n if (act.toolTipIfDisabled && !this.disabled(act)) return '';\n return act.toolTip;\n }\n\n tooltipPosition(widthMoreRight: boolean) {\n return widthMoreRight ? 'right' : 'left';\n }\n\n action(act: IDropdownItem<any>) {\n if (!this.disabled(act)) {\n if (act.action) {\n act.action(act.data);\n } else {\n this.menuService.actionItem.next({event: act.event || act.title || 'default', data: act.data});\n }\n this.hide();\n }\n }\n\n onActionIconClick($event, actionIcon: IDropdownActionIcon<any>, data: any) {\n $event.stopPropagation();\n if (!this.disabled(actionIcon)) {\n actionIcon.action(data);\n this.hide();\n }\n }\n}\n\n","import {\n ComponentFactory,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { IDropdownItem, ElPosition, IDropdown } from '../models/dropdown';\nimport { DrDropdownComponent } from './dr-dropdown.component';\nimport { DrDropdownService } from './dr-dropdown.service';\n\n@Directive({\n selector: '[drDropdown]'\n})\nexport class DrDropdownDirective<T> implements OnDestroy {\n\n @Input() position: ElPosition = 'left';\n @Input() drDropdown: IDropdownItem<T>[];\n @Input() drDropdownClass: string;\n @Input() drDropdownInHover: boolean;\n @ViewChild(DrDropdownComponent, {static: true, read: ViewContainerRef}) contentCmpRef;\n\n private readonly mouseleaveTimeout = 200;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private service: DrDropdownService,\n private el: ElementRef,\n @Inject(DOCUMENT) private _document: any) {\n }\n\n @HostListener('mouseenter') elementHover() {\n if (!this.drDropdownInHover) return;\n this.openDropdown();\n }\n\n @HostListener('click') elementClick() {\n this.openDropdown();\n }\n\n @HostListener('mouseleave') leaveDropdownTriggerElement() {\n if (this.drDropdownInHover) {\n setTimeout(_ => {\n if (this.contentCmpRef && !this.contentCmpRef.instance.wasHovered) {\n this.contentCmpRef.destroy();\n this.contentCmpRef = null;\n }\n }, this.mouseleaveTimeout);\n }\n }\n\n @HostListener('document:mouseup', ['$event']) documentClick(e) {\n this.closeDropdown(e);\n }\n\n private openDropdown(): void {\n const option = this.el.nativeElement.getBoundingClientRect();\n this._document.querySelectorAll('dr-dropdown').forEach(item => item.remove());\n if (this.contentCmpRef && this.contentCmpRef.destroyCbs) {\n this.contentCmpRef.destroy();\n this.contentCmpRef = null;\n } else {\n this.service.destroy();\n this.showMenu({\n option,\n drDropdownInHover: this.drDropdownInHover,\n position: this.position,\n list: this.drDropdown,\n class: this.drDropdownClass\n });\n }\n }\n\n private closeDropdown(e): void {\n\n if (!this.contentCmpRef) {\n return;\n }\n\n const clickTarget = e.target;\n const triggerElement = this.el.nativeElement;\n const dropdownElement = this.contentCmpRef.location.nativeElement;\n const isClickTriggerElement = triggerElement.contains(clickTarget) || triggerElement === clickTarget;\n const isClickDropdownContents = dropdownElement.contains(clickTarget);\n\n if (!isClickTriggerElement && !isClickDropdownContents) {\n const elems = this._document.querySelectorAll('dr-dropdown');\n setTimeout(() => elems.forEach(item => item.remove()), 100);\n }\n }\n\n private showMenu(options: IDropdown<T>) {\n let componentFactory: ComponentFactory<DrDropdownComponent>;\n componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrDropdownComponent);\n this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);\n this.service.addMenu = this.contentCmpRef;\n this._document.querySelector('dr-layout').appendChild(this.contentCmpRef.location.nativeElement);\n this.contentCmpRef.instance.options = options;\n }\n\n public ngOnDestroy() {\n if (this.contentCmpRef) {\n this.contentCmpRef.destroy();\n }\n }\n}\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport { IDropdownCoordinate, ElPosition } from '../models/dropdown';\n\n@Directive({\n selector: '[drDropdownPosition]',\n exportAs: 'dropdownPosition'\n})\nexport class DrDropdownPositionDirective implements OnInit {\n\n @Input() drDropdownPosition;\n @Input() position: ElPosition | IDropdownCoordinate = 'left';\n\n widthMoreRight: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit(): void {\n setTimeout(this.calculatePosition.bind(this), 1);\n }\n\n calculatePosition() {\n let xDifference = 0;\n let defaultDelta = 10;\n let defaultPadding = 0;\n let originalPosition = this.position;\n\n if (this.position === 'child') {\n defaultDelta = 0;\n defaultPadding = 10;\n xDifference = this.el.nativeElement.parentElement.parentElement.offsetWidth - this.el.nativeElement.offsetWidth;\n const parentRect = this.el.nativeElement.parentElement.parentElement.getBoundingClientRect();\n\n this.position = {\n x: this.el.nativeElement.offsetWidth,\n y: this.el.nativeElement.parentElement.parentElement.offsetTop - 9,\n clientX: parentRect.x + this.el.nativeElement.parentElement.parentElement.offsetWidth,\n clientY: parentRect.y\n };\n }\n\n if (typeof this.position === 'string') {\n this.renderer.setStyle(this.el.nativeElement, 'top',\n this.position === 'bottom' ?\n this.drDropdownPosition.y - this.drDropdownPosition.height + 'px' :\n this.drDropdownPosition.y + 'px');\n this.renderer.setStyle(this.el.nativeElement, 'left',\n this.position === 'right' ?\n this.drDropdownPosition.x + this.drDropdownPosition.width + 'px' :\n this.drDropdownPosition.x + 'px');\n const menuHeight = this.el.nativeElement.offsetHeight;\n const heightMoreWindowBottom = menuHeight + this.drDropdownPosition.y > window.innerHeight;\n const heightMoreWindowTop = menuHeight - this.drDropdownPosition.y + this.drDropdownPosition.height / 2 > 48; // header height;\n const widthMoreWindowRight = this.drDropdownPosition.x + 250 > window.innerWidth;\n\n const spaceBetweenElAndRightBorder = window.innerWidth - (this.drDropdownPosition.x + this.el.nativeElement.offsetWidth);\n this.widthMoreRight = this.drDropdownPosition.x < spaceBetweenElAndRightBorder;\n\n if (heightMoreWindowBottom) {\n this.position = 'top';\n }\n if (heightMoreWindowBottom && widthMoreWindowRight && !heightMoreWindowTop || this.position === 'top-left') {\n this.position = 'top-left';\n this.renderer.setStyle(this.el.nativeElement, 'transform',\n 'translate(-100%, calc(-100% + ' + this.drDropdownPosition.height + 'px))');\n }\n if (heightMoreWindowTop && heightMoreWindowBottom) {\n this.position = 'left-center';\n }\n if (this.position === 'bottom-left') {\n this.renderer.setStyle(this.el.nativeElement, 'transform', `translate(calc(-100% + ${ this.drDropdownPosition.width }px), ${ this.drDropdownPosition.height + 8 }px)`);\n }\n const className = this.position === 'top' ? 'content-top'\n : this.position === 'top-left' ? 'content-top-left'\n : this.position === 'bottom' ? 'content-bottom'\n : this.position === 'bottom-left' ? 'content-bottom-left'\n : this.position === 'left' ? 'content-left'\n : this.position === 'left-center' ? 'content-left-center'\n : this.position === 'right' ? 'content-right'\n : this.position === 'bottom-right' ? 'content-bottom-right' : '';\n this.renderer.addClass(this.el.nativeElement, className);\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');\n } else {\n const defaultChildPadding = 3;\n const widthMoreWindowRight = originalPosition !== 'child'\n ? window.innerWidth - (this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding)\n : window.innerWidth - this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding;\n\n const widthMoreWindowBottom = originalPosition !== 'child'\n ? window.innerHeight - (this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding)\n : window.innerHeight - this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding;\n\n const spaceRightAmount = window.innerWidth - (this.position.clientX + this.el.nativeElement.offsetWidth + defaultPadding);\n this.widthMoreRight = !(widthMoreWindowRight < 0);\n\n let calculatedHorizantallyPos = widthMoreWindowRight < 0\n ? -this.position.x + -defaultChildPadding\n : this.position.x + defaultChildPadding + xDifference;\n\n if (spaceRightAmount <= 0 && originalPosition !== 'child') {\n calculatedHorizantallyPos -= this.el.nativeElement.offsetWidth;\n }\n\n const deltaHeight = widthMoreWindowBottom < 0 ? widthMoreWindowBottom : defaultDelta;\n\n this.renderer.setStyle(this.el.nativeElement, 'top', (this.position.y + deltaHeight) + 'px');\n this.renderer.setStyle(this.el.nativeElement, 'left', (calculatedHorizantallyPos) + 'px');\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { IDropdownItem } from '../models/dropdown';\n\n@Pipe({\n name: 'drDropdownItemShowPipe'\n})\nexport class DrDropdownItemShowPipe<T> implements PipeTransform {\n transform(arr: IDropdownItem<T>[]): IDropdownItem<T>[] {\n return arr.filter(item => item.show ? item.show(item.data) : true);\n }\n}\n","import { Component, OnInit, Input, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'dr-tab',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `\n})\nexport class DrTabComponent implements OnInit {\n @Input() label: String;\n @Input() disabled: boolean;\n @ViewChild(TemplateRef) public contentTemplate: TemplateRef<any>;\n\n constructor() { }\n ngOnInit() {\n }\n\n}\n","import {\n Component,\n ContentChildren,\n QueryList,\n Input,\n EventEmitter,\n Output,\n} from '@angular/core';\nimport { DrTabComponent } from './dr-tab.component';\n\n@Component({\n selector: 'dr-tabs',\n templateUrl: './dr-tabs.component.html',\n styleUrls: ['./dr-tabs.component.scss'],\n})\nexport class DrTabsComponent {\n\n @Input() selectedTab: number = 0;\n @Input() withRadio: boolean;\n @Input() vertical: boolean;\n @Input() noBodyPadding = false;\n @Output() selectedTabChange: EventEmitter<any> = new EventEmitter<any>();\n @ContentChildren(DrTabComponent) public tabsContentList: QueryList<DrTabComponent>;\n\n constructor() { }\n\n selectedIndexChange($event) {\n this.selectedTab = $event;\n this.selectedTabChange.emit($event);\n }\n\n}\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'dr-accordion',\n template: '<ng-content select=\"dr-accordion-item\"></ng-content>',\n styleUrls: ['./accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrAccordionComponent {\n static ngAcceptInputType_multi: any;\n openCloseItems = new Subject<boolean>();\n\n /**\n * Allow multiple items to be expanded at the same time.\n */\n @Input('multi')\n get multi(): boolean {\n return this.multiValue;\n }\n set multi(val: boolean) {\n this.multiValue = !!val;\n }\n\n private multiValue = false;\n\n /**\n * Opens all enabled accordion items.\n */\n openAll() {\n if (this.multi) {\n this.openCloseItems.next(false);\n }\n }\n\n /**\n * Closes all enabled accordion items.\n */\n closeAll() {\n this.openCloseItems.next(true);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Input,\n Output,\n EventEmitter,\n SimpleChanges,\n HostBinding,\n Host,\n OnInit,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DrAccordionComponent } from './accordion.component';\n\n@Component({\n selector: 'dr-accordion-item',\n styleUrls: ['./accordion-item.component.scss'],\n template: `\n <ng-content select=\"dr-accordion-item-header\"></ng-content>\n <ng-content select=\"dr-accordion-item-body\"></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrAccordionItemComponent implements OnInit, OnChanges, OnDestroy {\n\n /**\n * Item is collapse (`true` by default)\n * @type {boolean}\n */\n @Input('collapsed')\n @HostBinding('class.collapsed')\n get collapsed(): boolean {\n return this.collapsedValue;\n }\n set collapsed(val: boolean) {\n this.collapsedValue = !!val;\n this.collapsedChange.emit(this.collapsedValue);\n this.invalidate();\n }\n static ngAcceptInputType_collapsed: any;\n\n /**\n * Item is expanded (`false` by default)\n */\n @Input('expanded')\n @HostBinding('class.expanded')\n get expanded(): boolean {\n return !this.collapsed;\n }\n set expanded(val: boolean) {\n this.collapsedValue = !val;\n }\n static ngAcceptInputType_expanded: any;\n\n /**\n * Item is disabled and cannot be opened.\n * @type {boolean}\n */\n @Input('disabled')\n @HostBinding('class.disabled')\n get disabled(): boolean {\n return this.disabledValue;\n }\n set disabled(val: boolean) {\n this.disabledValue = !!val;\n this.invalidate();\n }\n static ngAcceptInputType_disabled: any;\n\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n */\n @Output() collapsedChange = new EventEmitter<boolean>();\n\n accordionItemInvalidate = new Subject<boolean>();\n\n private collapsedValue = true;\n private disabledValue = false;\n private destroy$ = new Subject<void>();\n\n constructor(@Host() private accordion: DrAccordionComponent, private cd: ChangeDetectorRef) {\n }\n\n /**\n * Open/close the item\n */\n toggle() {\n if (!this.disabled) {\n // we need this temporary variable as `openCloseItems.next` will change current value we need to save\n const willSet = !this.collapsed;\n\n if (!this.accordion.multi) {\n this.accordion.openCloseItems.next(true);\n }\n this.collapsed = willSet;\n }\n }\n\n /**\n * Open the item.\n */\n open() {\n if (!this.disabled) {\n this.collapsed = false;\n }\n }\n\n /**\n * Collapse the item.\n */\n close() {\n if (!this.disabled) {\n this.collapsed = true;\n }\n }\n\n ngOnInit() {\n this.accordion.openCloseItems\n .pipe(takeUntil(this.destroy$))\n .subscribe(collapsed => {\n if (!this.disabled) {\n this.collapsed = collapsed;\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.accordionItemInvalidate.next(true);\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n this.accordionItemInvalidate.complete();\n }\n\n private invalidate() {\n this.accordionItemInvalidate.next(true);\n this.cd.markForCheck();\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n Host,\n HostBinding,\n HostListener,\n OnInit,\n OnDestroy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { DrAccordionItemComponent } from './accordion-item.component';\n\n@Component({\n selector: 'dr-accordion-item-header',\n styleUrls: ['./accordion-item-header.component.scss'],\n template: `\n <ng-content select=\"dr-accordion-item-title\"></ng-content>\n <ng-content select=\"dr-accordion-item-description\"></ng-content>\n <ng-content></ng-content>\n <i class=\"dr-icon-arrow-down expansion-indicator\"\n [@expansionIndicator]=\"state\"\n *ngIf=\"!disabled\">\n </i>\n `,\n animations: [\n trigger('expansionIndicator', [\n state(\n 'expanded',\n style({\n transform: 'rotate(180deg)',\n }),\n ),\n transition('collapsed => expanded', animate('100ms ease-in')),\n transition('expanded => collapsed', animate('100ms ease-out')),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrAccordionItemHeaderComponent implements OnInit, OnDestroy {\n private destroy$ = new Subject<void>();\n\n @HostBinding('class.accordion-item-header-collapsed')\n get isCollapsed(): boolean {\n return this.accordionItem.collapsed;\n }\n\n @HostBinding('class.accordion-item-header-expanded')\n @HostBinding('attr.aria-expanded')\n get expanded(): boolean {\n return !this.accordionItem.collapsed;\n }\n\n @HostBinding('attr.tabindex')\n get tabbable(): string {\n return this.accordionItem.disabled ? '-1' : '0';\n }\n\n @HostBinding('attr.aria-disabled')\n get disabled(): boolean {\n return this.accordionItem.disabled;\n }\n\n @HostListener('click')\n @HostListener('keydown.space')\n @HostListener('keydown.enter')\n toggle() {\n this.accordionItem.toggle();\n }\n\n get state(): string {\n if (this.isCollapsed) {\n return 'collapsed';\n }\n return 'expanded';\n }\n\n constructor(@Host() private accordionItem: DrAccordionItemComponent, private cd: ChangeDetectorRef) {\n }\n\n ngOnInit() {\n this.accordionItem.accordionItemInvalidate\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.cd.markForCheck());\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n Host,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { DrAccordionItemComponent } from './accordion-item.component';\n\nconst accordionItemBodyTrigger = trigger('accordionItemBody', [\n state(\n 'collapsed',\n style({\n overflow: 'hidden',\n visibility: 'hidden',\n height: 0,\n }),\n ),\n state(\n 'expanded',\n style({\n overflow: 'hidden',\n visibility: 'visible',\n }),\n ),\n transition('collapsed => expanded', animate('100ms ease-in')),\n transition('expanded => collapsed', animate('100ms ease-out')),\n]);\n\n@Component({\n selector: 'dr-accordion-item-body',\n template: `\n <div [@accordionItemBody]=\"{ value: state }\">\n <div class=\"item-body\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n styleUrls: ['./accordion-item-body.component.scss'],\n animations: [accordionItemBodyTrigger],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrAccordionItemBodyComponent implements OnInit, OnDestroy {\n private destroy$ = new Subject<void>();\n\n constructor(@Host() private accordionItem: DrAccordionItemComponent, private cd: ChangeDetectorRef) {}\n\n get state(): string {\n return this.accordionItem.collapsed ? 'collapsed' : 'expanded';\n }\n\n ngOnInit() {\n this.accordionItem.accordionItemInvalidate\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.cd.markForCheck());\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dr-layout',\n styleUrls: ['./dr-layout.component.scss'],\n templateUrl: './dr-layout.component.html',\n})\nexport class DrLayoutComponent {\n constructor() {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dr-layout-header',\n template: `\n <nav>\n <ng-content></ng-content>\n </nav>\n `,\n})\nexport class DrLayoutHeaderComponent {\n constructor() {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dr-layout-body',\n template: '<ng-content></ng-content>',\n})\nexport class DrLayoutBodyComponent {\n constructor() {}\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Component({\n templateUrl: 'dr-error.component.html',\n selector: 'dr-error',\n styleUrls: ['dr-error.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DrErrorComponent implements OnDestroy {\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n private destroyed$ = new Subject<void> ();\n public _control: FormControl;\n @Input() set control(value: FormControl) {\n if (value) {\n this._control = value;\n this.cdr.markForCheck();\n this._control.valueChanges.pipe(takeUntil(this.destroyed$)).subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n }\n @Input() label = 'Field error';\n\n\n get errorString() {\n if (this._control.hasError('required')) {\n return 'Field is required!';\n }\n\n return this._control.errors?.errorString || null;\n }\n\n get isWarning() {\n return this._control.errors?.isWarning;\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n}\n","import {\n Component,\n Inject,\n ViewChild,\n ViewContainerRef,\n ComponentFactoryResolver,\n ComponentFactory,\n AfterViewInit,\n HostBinding,\n ChangeDetectorRef, OnDestroy\n} from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DataProp, SizeModal } from '../../interfaces/dialog-data';\nimport * as _ from 'lodash';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { catchError, takeUntil } from 'rxjs/operators';\nimport { DialogService } from '../../services/dialog.service';\n\n@Component({\n selector: 'dr-dialog-wrapper',\n templateUrl: './dialog-wrapper.component.html',\n styleUrls: ['./dialog-wrapper.component.scss'],\n})\nexport class DialogWrapperComponent implements AfterViewInit, OnDestroy {\n\n @ViewChild('content', { read: ViewContainerRef }) content: ViewContainerRef;\n\n @HostBinding('class') class: SizeModal = this.dialogData?.theme?.noThemeSizeClass ? null : this.dialogData?.theme?.themeSize || 'medium-modal';\n childComponent: any;\n isLoading: boolean;\n saving$ = new BehaviorSubject(false);\n destroy$: Subject<any> = new Subject();\n\n constructor(public dialogRef: MatDialogRef<DialogWrapperComponent>,\n private dialogService: DialogService,\n private cdr: ChangeDetectorRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n @Inject(MAT_DIALOG_DATA) public dialogData: DataProp) {\n }\n\n ngAfterViewInit(): Error {\n if (!this.dialogData.child) {\n return new Error('Expected componentTypeChild');\n }\n const componentFactory: ComponentFactory<any> = this.componentFactoryResolver.resolveComponentFactory(this.dialogData.child);\n this.childComponent = this.content.createComponent(componentFactory).instance;\n this.childComponent.closeDialog = this.closeDialog.bind(this);\n this.childComponent.onAcceptDialog = this.onAcceptDialog.bind(this);\n\n // pass data to component child\n if (this.dialogData.childData) {\n _.assign(this.childComponent, this.dialogData.childData);\n }\n // call component child init func - looks like double init\n // if (this.childComponent.ngOnInit) {\n // this.childComponent.ngOnInit();\n // }\n this.cdr.detectChanges();\n }\n\n closeDialog(data?: any) {\n this.dialogRef.close(data || false);\n }\n\n onDecline() {\n this.dialogRef.close(undefined);\n }\n\n onAcceptDialog(data?: any) {\n if (!this.childComponent) {\n this.dialogRef.close(data || true);\n return;\n }\n const funcName = this.dialogData.acceptButton.functions;\n if (this.childComponent[funcName]) this.childComponent[funcName]();\n const loadFuncName = this.dialogData.acceptButton.loading;\n if (this.childComponent[loadFuncName]) this.isLoading = this.childComponent[loadFuncName]();\n\n if (this.dialogData.confirmFn) {\n this.saving$.next(true);\n this.dialogData.confirmFn().pipe(takeUntil(this.destroy$), catchError(error => this.dialogService.throwErr(error, this.saving$))).subscribe(() => {\n this.saving$.next(false);\n this.dialogRef.close(data || true);\n });\n }\n\n if (this.childComponent && !this.childComponent[funcName]) {\n this.dialogRef.close(data || true);\n return;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(null);\n this.destroy$.complete();\n }\n}\n","import { Component, OnInit, Inject, HostBinding, OnDestroy } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DataProp } from '../../interfaces/dialog-data';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { catchError, takeUntil } from 'rxjs/operators';\nimport { DialogService } from '../../services/dialog.service';\n\n@Component({\n selector: 'dr-dialog-modal-wrapper',\n templateUrl: './dialog-modal-wrapper.component.html',\n styleUrls: ['./dialog-modal-wrapper.component.scss'],\n\n})\nexport class DialogModalWrapperComponent implements OnInit, OnDestroy {\n @HostBinding('class') class = this?.dialogData?.theme?.themeSize;\n form: FormGroup;\n saving$ = new BehaviorSubject(false);\n isLoading = false;\n showServerErrorMessage = false;\n destroy$: Subject<any> = new Subject();\n\n constructor(\n public dialogRef: MatDialogRef<DialogModalWrapperComponent>,\n private dialogService: DialogService,\n @Inject(MAT_DIALOG_DATA) public dialogData: DataProp,\n ) {\n }\n\n ngOnInit(): void {\n if (this.dialogData.fields) {\n this.form = new FormGroup(\n this.dialogData.fields.reduce((accumulator, currentValue) => {\n const currentFormControl = {};\n currentFormControl[currentValue.name] = new FormControl(currentValue.default || null, currentValue.validators || []);\n return Object.assign(accumulator, currentFormControl);\n }, {})\n );\n }\n }\n\n onAccept() {\n if (!this.dialogData.confirmFn) return this.dialogRef.close(this.form.value || true);\n\n this.isLoading = true;\n this.saving$.next(true);\n this.dialogData.confirmFn(this.form.value)\n .pipe(\n takeUntil(this.destroy$),\n catchError((err) => {\n this.showServerErrorMessage = true;\n this.isLoading = false;\n return this.dialogService.throwErr(err, this.saving$);\n })\n )\n .subscribe(() => {\n this.saving$.next(false);\n this.dialogRef.close(this.form.value || true);\n });\n }\n\n footerAction(): void {\n this.dialogData.footerTemplateData.action(this.form.value);\n }\n\n closeDialog() {\n this.dialogRef.close(false);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(null);\n this.destroy$.complete();\n }\n}\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { DataProp, ConfirmDialogData, DialogData, DialogTheme } from '../interfaces/dialog-data';\nimport { DialogWrapperComponent } from '../components/dialog-wrapper/dialog-wrapper.component';\nimport { DialogModalWrapperComponent } from '../components/dialog-modal-wrapper/dialog-modal-wrapper.component';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\nconst DEFAULT_PANE_CLASS_NAME = 'wrapper-dialog';\n\nconst DEFAULT_CONFIRM_THEME: DialogTheme = { themeSize: 'small-modal' };\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogService {\n\n private wrapperComponent: MatDialogRef<any>;\n\n constructor(\n private dialog: MatDialog,\n ) {\n }\n\n /**\n * Function to open modal with custom form\n */\n openDialogWrapper<T, D = any, R = any>(\n componentTypeChild: ComponentType<T>,\n dialogData: DialogData<T>,\n componentTypeWrapper?: ComponentType<D>,\n ) {\n if (!componentTypeWrapper) componentTypeWrapper = (DialogWrapperComponent as any);\n\n dialogData.data.child = componentTypeChild;\n\n if (dialogData.panelClass instanceof Array) {\n dialogData.panelClass.push(DEFAULT_PANE_CLASS_NAME);\n } else {\n dialogData.panelClass = [dialogData.panelClass || '', DEFAULT_PANE_CLASS_NAME];\n }\n\n this.wrapperComponent = this.openDialog<D, R, T>(componentTypeWrapper, dialogData);\n return this.wrapperComponent;\n }\n\n /**\n * Function to open confirmation modal\n */\n openConfirmDialog<R = any>(confirmDialogData: ConfirmDialogData): MatDialogRef<DialogWrapperComponent, R> {\n const dialogData: DialogData = { panelClass: DEFAULT_PANE_CLASS_NAME, data: null };\n Object.assign(dialogData, { data: confirmDialogData });\n if (!dialogData.data.theme) dialogData.data.theme = DEFAULT_CONFIRM_THEME;\n dialogData.data.theme.isConfirmation = true;\n return this.openDialog<DialogWrapperComponent, R, ConfirmDialogData>(DialogWrapperComponent, dialogData);\n }\n\n /**\n * Function to open confirmation modal with inputs\n */\n openConfirmDialogModal<R = any>(confirmDialogData: ConfirmDialogData): MatDialogRef<DialogModalWrapperComponent, R> {\n const dialogData: DialogData = { panelClass: DEFAULT_PANE_CLASS_NAME, data: null };\n Object.assign(dialogData, { data: confirmDialogData });\n if (!dialogData.data.theme) dialogData.data.theme = DEFAULT_CONFIRM_THEME;\n return this.openDialog<DialogModalWrapperComponent, R, ConfirmDialogData>(DialogModalWrapperComponent, dialogData);\n }\n\n close(params?: any): void {\n this.wrapperComponent.close(params);\n }\n\n changeDialogThemeSize(theme: string): void {\n this.wrapperComponent.componentInstance.class = theme;\n }\n\n private openDialog<WrapperType, ReturnType = any, D = any>(componentType: ComponentType<WrapperType>, dialogData: DialogData<D>): MatDialogRef<WrapperType, ReturnType> {\n return this.dialog.open<WrapperType, DataProp<D>, ReturnType>(componentType, dialogData);\n }\n\n throwErr(err: Error, load?: Subject<any> | BehaviorSubject<any>): Observable<any> {\n if (load) {\n load.next(false);\n }\n throw err;\n }\n}\n","export enum TooltipPosition {\n TOP = 'top',\n BOTTOM = 'bottom',\n LEFT = 'left',\n RIGHT = 'right',\n TOP_RIGHT = 'top-right',\n TOP_LEFT = 'top-left',\n BOTTOM_RIGHT = 'bottom-right',\n BOTTOM_LEFT = 'bottom-left',\n RIGHT_TOP = 'right-top',\n RIGHT_BOTTOM = 'right-bottom',\n LEFT_TOP = 'left-top',\n LEFT_BOTTOM = 'left-bottom',\n}\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Observable } from 'rxjs';\n\n// Data Obj for openDialogWrapper()\nexport interface DialogData<T = any> {\n data: {\n title?: string;\n searchable?: boolean;\n clearable?: boolean;\n subtitle?: string;\n content?: any;\n contentIcon?: {\n class?: string,\n color?: string,\n }\n acceptButton?: DialogFooterButton;\n cancelButton?: DialogFooterButton;\n customButton?: DialogFooterButton;\n tooltips?: any;\n errorMessage?: string;\n serverErrorMessage?: string;\n child?: ComponentType<T>;\n childData?: Partial<T>;\n theme?: {\n themeSize?: SizeModal;\n type?: 'successful';\n contentNoPadding?: boolean;\n isConfirmation?: boolean;\n noThemeSizeClass?: boolean;\n },\n confirmFn?: any;\n fields?: ModalFormField[];\n hideCloseBtn?: boolean;\n footerTemplateData?: FooterTemplateData;\n };\n panelClass?: string | string[];\n disableClose?: boolean;\n maxWidth?: number | string;\n maxHeight?: number | string;\n}\n\n// Data Obj for openConfirmDialog()\nexport interface ConfirmDialogData {\n title?: string;\n searchable?: boolean;\n clearable?: boolean;\n content?: string;\n contentIcon?: {\n class?: string,\n color?: string,\n };\n acceptButton?: DialogFooterButton;\n cancelButton?: DialogFooterButton;\n customButton?: DialogFooterButton;\n tooltips?: any;\n errorMessage?: string;\n serverErrorMessage?: string;\n hideCloseBtn?: boolean;\n confirmFn?: (response?: any) => Observable<any>;\n fields?: ModalFormField[];\n footerTemplateData?: FooterTemplateData;\n}\n\n// Data Obj for openConfirmDialogModal()\nexport interface ConfirmDialogModalData extends ConfirmDialogData {\n confirmFn?: any;\n hideCloseBtn?: boolean;\n footerTemplateData?: FooterTemplateData;\n fields?: ModalFormField[];\n}\n\nexport interface FooterTemplateData {\n label: string;\n icon?: string;\n action: (objToSave?: any) => any;\n}\n\nexport interface ModalFormField {\n name: string;\n type: 'input' | 'select';\n label?: string;\n isLabelFullWidth?: boolean;\n items?: any[];\n items$?: Observable<any[]> | Observable<any>;\n default?: any;\n placeholder?: string;\n bindLabel?: string;\n bindValue?: string;\n validators?: any[];\n}\n\nexport type SizeModal = 'small-modal' | 'medium-modal' | 'medium-large-modal' | 'large-modal' | 'xl-modal' | 'xl-custom-modal';\n\nexport type DataProp<T = any> = DialogData<T>['data'];\n\nexport type DialogTheme = DataProp['theme'];\n\nexport type DialogFooterButton = {\n label?: string;\n loadingLabel?: string;\n functions?: any;\n loading?: any;\n theme?: any;\n};\n\nexport enum DIALOG_SIZE {\n SMALL = 'small-modal',\n MEDIUM = 'medium-modal',\n MEDIUM_LARGE = 'medium-large-modal',\n LARGE = 'large-modal',\n X_LARGE = 'xl-modal',\n X_CUSTOM_LARGE = 'xl-custom-modal',\n}\n\nexport enum DIALOG_BUTTON_LABEL {\n SAVE = 'Save',\n CANCEL = 'Cancel',\n CLOSE = 'Close',\n}\n\nexport enum DIALOG_FIELD_TYPE {\n INPUT = 'input',\n SELECT = 'select',\n}\n","import { Directive, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[ngModelDebounceChange]'\n})\nexport class DrModelDebounceChangeDirective implements OnDestroy, OnInit {\n private subscription: Subscription;\n\n @Input() debounce: number = 200;\n @Output() ngModelDebounceChange = new EventEmitter<any>();\n\n constructor(private ngModel: NgModel) {\n }\n\n ngOnInit(): void {\n this.subscription = this.ngModel.control.valueChanges\n .pipe(skip(1), debounceTime(this.debounce), distinctUntilChanged())\n .subscribe(value => this.ngModelDebounceChange.emit(value));\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n","export enum DateFromats {\n MAT_DEFAULT_DATE_FORMAT = 'MM/DD/yyyy',\n DATE_INPUT_FORMAT = 'YYYY/MM/DD',\n YEAR_FORMAT = 'yyyy',\n MONTH_YEAR_FORMAT = 'MM/yyyy',\n QUARTER_FORMAT = 'Q/yyyy',\n WEEK_FORMAT = 'W/yyyy'\n}\n\nexport interface DateParse { dateInput: string; }\n\nexport type DateDisplay = DateParse & {\n monthYearLabel?: string,\n dateA11yLabel?: string,\n monthYearA11yLabel?: string,\n quarterYearA11yLabel?: string,\n yearLabel?: string,\n quarterYearLabel?: string\n};\nexport class CustomDateFormat {\n private _parse: DateParse = {\n dateInput: DateFromats.DATE_INPUT_FORMAT,\n };\n private _display: DateDisplay = {\n dateInput: DateFromats.DATE_INPUT_FORMAT,\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMM YYYY',\n quarterYearLabel: 'Q/YYYY',\n yearLabel: 'YYYY'\n };\n\n set parse(parse: DateParse) {\n this._parse = Object.assign({}, this._parse, parse);\n }\n\n get parse(): DateParse {\n return this._parse;\n }\n\n set display(display: DateDisplay) {\n this._display = Object.assign({}, this._display, display);\n }\n\n get display(): DateDisplay {\n return this._display;\n }\n\n updateDateFormat(parse: DateParse, display?: DateDisplay) {\n this.parse = parse;\n if (!display) {\n display = parse;\n }\n this.display = display;\n }\n}\n\nexport interface IDatePickerFormatConfig {\n day?: string;\n month?: string;\n year?: string;\n quarter?: string;\n week?: string;\n}\n\nexport enum DatePickerPeriodPosition {\n END_OF_PERIOD,\n MIDDLE_OF_PERIOD,\n START_OF_PERIOD,\n DEFAULT\n}\n\nexport enum TimeframeOption {\n DAY = 'day',\n MONTH = 'month',\n QUARTER = 'quarter',\n WEEK = 'week',\n YEAR = 'year',\n}\n\nexport enum CalendarView {\n FOR_DAYS = 'month',\n FOR_MONTHS = 'year',\n FOR_QUARTERS = 'none',\n FOR_YEARS = 'multi-year',\n}\n\nexport type TTimeframeOption = TimeframeOption;\nexport type TCalendarView = CalendarView;\n","import { NgModule } from \"@angular/core\";\nimport { AnyTagComponent, DateTagComponent } from \"./date-tag.component\";\nimport { DayTagComponent } from \"./day-tag/day-tag.component\";\nimport { WeekTagComponent } from \"./week-tag/week-tag.component\";\nimport { MonthTagComponent } from \"./month-tag/month-tag.component\";\nimport { QuarterTagComponent } from \"./quarter-tag/quarter-tag.component\";\nimport { YearTagComponent } from \"./year-tag/year-tag.component\";\nimport { ForecastTagComponent } from \"./forecast-tag/forecast-tag.component\";\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MatMomentDateModule } from \"@angular/material-moment-adapter\";\nimport { CommonModule } from \"@angular/common\";\nimport { MatNativeDateModule } from \"@angular/material/core\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatSelectModule } from \"@angular/material/select\";\n\nexport const components = [DateTagComponent,\n DayTagComponent,\n WeekTagComponent,\n MonthTagComponent,\n QuarterTagComponent,\n AnyTagComponent,\n YearTagComponent,\n ForecastTagComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n MatNativeDateModule,\n MatDatepickerModule,\n FormsModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatInputModule,\n MatMomentDateModule,\n MatSelectModule\n ],\n exports: components,\n providers: [\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }\n ],\n declarations: components,\n})\n\nexport class DateTagModule { };\n","import {NgModule} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport {MAT_MOMENT_DATE_ADAPTER_OPTIONS, MatMomentDateModule} from \"@angular/material-moment-adapter\";\nimport {ListTagComponent} from \"./list-tag.component\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\nimport {MatSelectModule} from \"@angular/material/select\";\nimport {MatButtonToggleModule} from \"@angular/material/button-toggle\";\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatMomentDateModule,\n MatSelectModule,\n MatButtonToggleModule,\n ],\n exports: [ListTagComponent],\n providers: [],\n declarations: [\n ListTagComponent\n ],\n})\n\nexport class ListTagModule {}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {DrTagComponent} from \"./dr-tag.component\";\nimport {ListTagModule} from \"../list-tags/list-tag.module\";\nimport { DateTagModule } from \"../date-tags/date-tag.module\";\n\n\n@NgModule({\n imports: [\n CommonModule,\n DateTagModule,\n ListTagModule\n ],\n exports: [DrTagComponent],\n providers: [\n ],\n declarations: [\n DrTagComponent\n ],\n})\n\nexport class DrTagModule {}\n","import { TimeframeOption } from '../models/datePicker';\n\nexport class DrSharedUtils {\n /**\n * Get timeframe (day, year, month, quarter) based on passed format\n * @param format - date format string. Examples: MM/DD/YYYY, Q/YYYY\n */\n public static getTimeframeByDateFormat(format: string): TimeframeOption {\n const defaultFrame = TimeframeOption.DAY;\n\n if (!format) {\n return defaultFrame;\n }\n\n const lowerCaseFormat = format.toLowerCase();\n switch (true) {\n case lowerCaseFormat.includes('q'):\n return TimeframeOption.QUARTER;\n case lowerCaseFormat.includes('d'):\n return TimeframeOption.DAY;\n case lowerCaseFormat.includes('w'):\n return TimeframeOption.WEEK;\n case lowerCaseFormat.includes('m'):\n return TimeframeOption.MONTH;\n case lowerCaseFormat.includes('y'):\n return TimeframeOption.YEAR;\n default:\n return defaultFrame;\n }\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { MatCalendar, MatDatepicker } from '@angular/material/datepicker';\nimport { Moment } from 'moment';\nimport { Subject, BehaviorSubject } from \"rxjs\";\nimport { IDatePickerFormatConfig, DateFromats, TTimeframeOption, TimeframeOption } from \"../../../models/datePicker\";\nimport { DrSharedUtils } from \"../../../utils/dr-shared-utils\";\n\n@Injectable()\nexport class DrDatePickerService {\n isTimeframeSelectionEnabled = false;\n timeframe: TTimeframeOption = TimeframeOption.DAY;\n format$ = new BehaviorSubject<string>(DateFromats.MAT_DEFAULT_DATE_FORMAT);\n updatedQuarter$ = new Subject<Moment>();\n datePickerInstance: MatDatepicker<any>;\n availableTimeframes = [\n TimeframeOption.DAY,\n TimeframeOption.WEEK,\n TimeframeOption.MONTH,\n TimeframeOption.QUARTER,\n TimeframeOption.YEAR\n ];\n\n public formatConfig: IDatePickerFormatConfig = {\n day: DateFromats.MAT_DEFAULT_DATE_FORMAT,\n month: DateFromats.MONTH_YEAR_FORMAT,\n year: DateFromats.YEAR_FORMAT,\n quarter: DateFromats.QUARTER_FORMAT,\n week: DateFromats.WEEK_FORMAT\n };\n public calendarInstance: MatCalendar<any>;\n\n getDisplayPrefix() {\n const formatCached = this.format$.getValue();\n switch (true) {\n case formatCached?.includes('Q'):\n return 'Q';\n case formatCached?.includes('W'):\n return 'W';\n default:\n return '';\n }\n }\n\n getTimeframe(format: string) {\n return DrSharedUtils.getTimeframeByDateFormat(format);\n }\n\n getConfiguredFormat(timeframe: TTimeframeOption) {\n return this.formatConfig[timeframe];\n }\n\n updateTimeframeAndFormat(format: string): void {\n const normalizedFormat = this.normalizeValue(format || this.format$.getValue())\n this.timeframe = this.getTimeframe(normalizedFormat);\n this.format$.next(this.getConfiguredFormat(this.timeframe));\n }\n\n normalizeValue(value) {\n return value.replace(/d/g, 'D');\n }\n}\n","import { ChangeDetectionStrategy, OnDestroy, ChangeDetectorRef, Component, Inject } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { take, takeUntil } from 'rxjs/operators';\nimport { MatCalendar, MatCalendarView } from '@angular/material/datepicker';\nimport { DateAdapter, MAT_DATE_FORMATS} from '@angular/material/core';\nimport { CalendarView, CustomDateFormat, TCalendarView, TimeframeOption } from \"../../../models/datePicker\";\nimport { DrDatePickerService } from \"../services/dr-date-picker.service\";\n\nconst moment = require('moment');\n\nexport interface ITimeframeOption {\n timeframe: TimeframeOption,\n title: string,\n value: TCalendarView,\n format: string,\n periodLabel: () => string\n}\n\n@Component({\n selector: 'dr-date-picker_custom-header.component',\n templateUrl: 'dr-date-picker_custom-header.component.html',\n styleUrls: ['./dr-date-picker_custom-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n\nexport class DrDatePickerCustomHeaderComponent<Moment> implements OnDestroy {\n private _destroyed = new Subject<void>();\n quarters = [1, 2, 3, 4];\n selectedQuarter = 1;\n timeframeOptions: ITimeframeOption[] = [{\n timeframe: TimeframeOption.DAY,\n title: 'Day',\n value: CalendarView.FOR_DAYS,\n format: this.datePickerService.formatConfig.day,\n periodLabel: () => this._dateAdapter\n .format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel)\n .toLocaleUpperCase()\n },{\n timeframe: TimeframeOption.WEEK,\n title: 'Week',\n value: CalendarView.FOR_DAYS,\n format: this.datePickerService.formatConfig.week,\n periodLabel: () => this._dateAdapter\n .format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel)\n .toLocaleUpperCase()\n },{\n timeframe: TimeframeOption.MONTH,\n title: 'Month',\n value: CalendarView.FOR_MONTHS,\n format: this.datePickerService.formatConfig.month,\n periodLabel: () => String(moment(this._calendar.activeDate).year())\n },{\n timeframe: TimeframeOption.QUARTER,\n title: 'Quarter',\n value: CalendarView.FOR_QUARTERS,\n format: this.datePickerService.formatConfig.quarter,\n periodLabel: () => String(moment(this._calendar.activeDate).year())\n },{\n timeframe: TimeframeOption.YEAR,\n title: 'Year',\n value: CalendarView.FOR_YEARS,\n format: this.datePickerService.formatConfig.year,\n periodLabel: () => {\n const currentYear = moment(this._calendar.activeDate).year();\n const startPeriod = Math.floor(currentYear/24)*24;\n return startPeriod + '-' + (startPeriod + 23);\n }\n }]\n\n pagingSetup = {\n [CalendarView.FOR_MONTHS]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),\n [CalendarView.FOR_QUARTERS]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),\n [CalendarView.FOR_DAYS]: (forward) => this.pagingDateChange('addCalendarMonths', 1, forward),\n [CalendarView.FOR_YEARS]: (forward) => this.pagingDateChange('addCalendarYears', 24, forward)\n }\n\n selectedTimeframe: TCalendarView = CalendarView.FOR_DAYS;\n timeframeSelection = false;\n periodMonthLabel = '';\n periodYearLabel = '';\n\n public readonly calendarView = CalendarView;\n\n constructor(\n private _calendar: MatCalendar<Moment>,\n private _dateAdapter: DateAdapter<Moment>,\n @Inject(MAT_DATE_FORMATS) private _dateFormats: CustomDateFormat,\n private cdr: ChangeDetectorRef,\n public datePickerService: DrDatePickerService) {\n _calendar.stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());\n this.datePickerService.format$\n .pipe(takeUntil(this._destroyed))\n .subscribe( value => {\n this.selectedTimeframe = this.timeframeOptions.filter(option => option.format == value)[0].value;\n _calendar.currentView = this.selectedTimeframe as MatCalendarView;\n this.setPeriodLabels();\n if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {\n this.selectedQuarter = moment(this._calendar.activeDate).quarter();\n }\n });\n _calendar.viewChanged.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());\n this.datePickerService.calendarInstance = _calendar;\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n setPeriodLabels() {\n const currentTimeframeOption = this.timeframeOptions.filter(option => option.value === this._calendar.currentView)[0];\n const fullPeriodLabel = currentTimeframeOption.periodLabel();\n if (this._calendar.currentView === CalendarView.FOR_DAYS) {\n this.periodMonthLabel = fullPeriodLabel.slice(0,3);\n this.periodYearLabel = fullPeriodLabel.slice(4);\n } else {\n this.periodMonthLabel = '';\n this.periodYearLabel = fullPeriodLabel;\n }\n this.cdr.markForCheck();\n }\n\n setTimeframe() {\n this.timeframeSelection = false;\n this._calendar.currentView = this.selectedTimeframe as MatCalendarView;\n const chosenTimeframeOption = this.timeframeOptions.filter(option => option.value === this.selectedTimeframe)[0];\n this.datePickerService.updateTimeframeAndFormat(chosenTimeframeOption.format);\n\n if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {\n this.selectedQuarter = moment(this._calendar.activeDate).quarter();\n }\n }\n\n get currentViewIsQuarter() {\n return ![CalendarView.FOR_DAYS, CalendarView.FOR_MONTHS, CalendarView.FOR_YEARS].includes(this._calendar.currentView as CalendarView);\n }\n\n switchViewOnClickOnPeriodLabel(view: CalendarView.FOR_MONTHS | CalendarView.FOR_YEARS) {\n this._calendar.currentView = view;\n }\n\n onSelectQuarter(quarterNumber: number) {\n const monthsInQuarter = 3;\n this.selectedQuarter = moment(this._calendar.activeDate).quarter();\n\n const unadaptedDate = this._dateAdapter.addCalendarMonths(this._calendar.activeDate,\n monthsInQuarter * (quarterNumber - this.selectedQuarter));\n this._calendar.activeDate = unadaptedDate;\n this.datePickerService.updatedQuarter$.next(moment(unadaptedDate));\n this.datePickerService.datePickerInstance.close();\n }\n\n pagingClicked(forward) {\n this.pagingSetup[this._calendar.currentView] && this.pagingSetup[this._calendar.currentView](forward);\n }\n\n pagingDateChange(actionCall: string, amount: number, forward: boolean) {\n this._calendar.activeDate = this._dateAdapter[actionCall](this._calendar.activeDate, forward? amount: - amount);\n this.setPeriodLabels();\n }\n }\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CalendarView, DatePickerPeriodPosition, TimeframeOption } from '../../../models/datePicker';\nimport { Moment } from 'moment';\nimport { DateAdapter } from '@angular/material/core';\nimport { DrDatePickerService } from '../services/dr-date-picker.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DrDatePickerCustomHeaderComponent } from '../dr-date-picker_custom-header/dr-date-picker_custom-header.component';\nimport { MatCalendarView } from '@angular/material/datepicker';\n\nconst moment = require('moment');\nconst noop = () => {};\n\n@Component({\n selector: 'dr-date-picker',\n templateUrl: './dr-date-picker.component.html',\n styleUrls: ['./dr-date-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerComponent, multi: true },\n { provide: DrDatePickerService }\n ],\n})\nexport class DrDatePickerComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\n @Input() set format(value) {\n this.datePickerService.updateTimeframeAndFormat(value);\n }\n @Input() set min(minDate: number) {\n this._min = moment.unix(minDate).utc();\n }\n @Input() set max(maxDate: number) {\n this._max = moment.unix(maxDate).utc();\n }\n\n // Whether to transform date, taking end, start, middle of preiod (i.e. set middle of month if timeframe='month')\n @Input() periodPosition: DatePickerPeriodPosition = DatePickerPeriodPosition.DEFAULT;\n\n @Input() placeholder: string = 'Select';\n\n @ViewChild('datePicker') public datePicker: any;\n\n public calendarViewsTimeframeMapping: any = {\n year: 'multi-year',\n month: 'year',\n quarter: 'none',\n day: 'month',\n }\n\n public customHeader = DrDatePickerCustomHeaderComponent;\n public readonly = true;\n public _min: Moment;\n public _max: Moment;\n public readonly timeframeOption = TimeframeOption;\n\n public get value(): Moment {\n return this.innerValue;\n }\n\n public set value(v: Moment) {\n if (v !== this.innerValue) {\n this.setValueFromMoment(v);\n }\n this.cdr.markForCheck();\n }\n\n protected innerValue: Moment = null;\n protected destroyed$ = new Subject<void> ();\n\n constructor(\n protected cdr: ChangeDetectorRef,\n protected dateAdapter: DateAdapter<any>,\n public datePickerService: DrDatePickerService\n ) {\n datePickerService.updatedQuarter$\n .pipe(takeUntil(this.destroyed$))\n .subscribe((value) => {\n this.setValueFromMoment(value);\n });\n }\n\n ngAfterViewInit(): void {\n this.datePickerService.datePickerInstance = this.datePicker;\n this.datePicker.startView = this.calendarViewsTimeframeMapping[this.datePickerService.timeframe];\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n /**\n * Updating component inner value according to datepicker timeframe (day, month etc.)\n * and date position in period (start, end, middle)\n */\n tryToNormalaizeTimeframe(): void {\n const timeframe = this.datePickerService.timeframe\n switch(this.periodPosition) {\n case DatePickerPeriodPosition.START_OF_PERIOD:\n this.innerValue.startOf(timeframe);\n break;\n case DatePickerPeriodPosition.END_OF_PERIOD:\n this.innerValue.endOf(timeframe);\n break;\n case DatePickerPeriodPosition.MIDDLE_OF_PERIOD:\n this.innerValue.startOf(timeframe);\n const endOfPeriod = this.innerValue.clone().endOf(timeframe);\n const diff = endOfPeriod.diff(this.innerValue, 'seconds');\n this.innerValue.add(diff/2 + 1, 'seconds');\n break;\n default:\n this.innerValue.startOf(timeframe);\n break;\n }\n }\n\n public chosenPeriodHandler(chosenDate: Moment, timeframe: TimeframeOption) {\n if (this.datePickerService.timeframe === TimeframeOption.QUARTER && timeframe === TimeframeOption.YEAR) {\n this.datePickerService.calendarInstance.currentView = CalendarView.FOR_QUARTERS as MatCalendarView;\n this.datePickerService.calendarInstance.activeDate = chosenDate;\n this.cdr.detectChanges();\n } else if (this.datePickerService.timeframe === timeframe) {\n this.setValueFromMoment(chosenDate);\n this.datePicker.close();\n }\n }\n\n /**\n * Setting value from outside of component via ngModel or formControl updates\n */\n public writeValue(value: number): void {\n this.innerValue = value ? moment.unix(value).utc() : value;\n if (this.innerValue) {\n this.tryToNormalaizeTimeframe();\n }\n this.cdr.markForCheck();\n }\n\n public onTouchedCallback: () => void = noop;\n public onChangeCallback: (_: any) => void = noop;\n public registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n public registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n /**\n * Set inner value from Moment and propagate\n * @param momentDate\n */\n protected setValueFromMoment(momentDate: Moment) {\n this.setValue(momentDate.unix());\n }\n\n /**\n * Set inner value from timestamp and propagate\n * @param timestamp\n */\n protected setValue(timestamp: number): void {\n this.writeValue(timestamp);\n this.onChangeCallback(this.innerValue.unix());\n }\n}\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, OnInit, OnDestroy, Output, EventEmitter } from '@angular/core';\nimport { DrDatePickerComponent } from '../dr-date-picker/dr-date-picker.component';\nimport { DateAdapter } from '@angular/material/core';\nimport { DrDatePickerService } from '../services/dr-date-picker.service';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IDatePickerFormatConfig, TimeframeOption } from '../../../models/datePicker';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'dr-date-picker-with-timeframe',\n templateUrl: './dr-date-picker-with-timeframe.component.html',\n styleUrls: ['./dr-date-picker-with-timeframe.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerWithTimeframeComponent, multi: true },\n { provide: DrDatePickerService }\n ],\n})\nexport class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent implements ControlValueAccessor, AfterViewInit, OnDestroy, OnInit {\n\n @HostBinding('class.dr-date-picker-on-dashboard') get isDashboardClassDisplayed(): boolean {\n return this.isDashboardDatepicker;\n };\n\n @Input() isDashboardDatepicker = false;\n @Input() set dateFormatConfig (value: IDatePickerFormatConfig) {\n if (value) {\n this.datePickerService.formatConfig = { ...this.datePickerService.formatConfig, ...value };\n this.cdr.markForCheck();\n }\n }\n @Input() canSelectTimeframe = true;\n @Input() set availableTimeframes (value: TimeframeOption[]){\n if (value && value.length) {\n this.datePickerService.availableTimeframes = value;\n }\n}\n\n @Output() onChangeFormat = new EventEmitter<string>();\n\n public readonly pagingSetup = {\n [TimeframeOption.YEAR]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),\n [TimeframeOption.QUARTER]: (forward) => this.pagingDateChange('addCalendarMonths', 3, forward),\n [TimeframeOption.MONTH]: (forward) => this.pagingDateChange('addCalendarMonths', 1, forward),\n [TimeframeOption.DAY]: (forward) => this.pagingDateChange('addCalendarDays', 1, forward),\n [TimeframeOption.WEEK]: (forward) => this.pagingDateChange('addCalendarDays', 7, forward)\n }\n\n public get displayedFormattedValue(): string {\n if (!this.value) {\n return this.placeholder;\n }\n const formatCached = this.datePickerService.format$.getValue();\n return this.datePickerService.getDisplayPrefix() + this.value.format(formatCached);\n \n }\n\n constructor(\n protected cdr: ChangeDetectorRef,\n protected dateAdapter: DateAdapter<any>,\n public datePickerService: DrDatePickerService\n ) {\n super(cdr, dateAdapter, datePickerService);\n datePickerService.isTimeframeSelectionEnabled = true;\n\n datePickerService.format$\n .pipe(takeUntil(this.destroyed$))\n .subscribe((value) => {\n this.onChangeFormat.emit(datePickerService.normalizeValue(value));\n });\n }\n\n ngOnInit() {\n this.datePickerService.isTimeframeSelectionEnabled = this.canSelectTimeframe;\n this.cdr.markForCheck();\n }\n\n pagingClicked(forward: boolean): void {\n this.pagingSetup[this.datePickerService.timeframe] && this.pagingSetup[this.datePickerService.timeframe](forward);\n this.datePicker.close();\n }\n\n pagingDateChange(actionCall: string, amount: number, forward: boolean) {\n const newValue = this.dateAdapter[actionCall](this.innerValue, forward ? amount : -amount);\n this.setValueFromMoment(newValue);\n }\n}\n","import {\n Directive,\n Inject,\n Input,\n Optional\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { CustomDateFormat, DateDisplay, DateParse } from '../../../models/datePicker';\n\n@Directive({\n selector: '[drDatePickerFormat]',\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter\n },\n {\n provide: MAT_DATE_FORMATS,\n useClass: CustomDateFormat\n }\n ]\n})\nexport class DrDatePickerFormatDirective {\n @Input() public configDateParse: DateParse;\n @Input() public configDateDisplay: DateDisplay;\n\n @Input('drDatePickerFormat')\n set datePickerFormat(format: string) {\n if (this.configDateParse) {\n this.matDateFormat.updateDateFormat(\n this.configDateParse,\n this.configDateDisplay\n );\n } else {\n this.matDateFormat.updateDateFormat({dateInput: format});\n }\n const value = this.ngControl.value;\n this.ngControl.valueAccessor?.writeValue(value);\n }\n\n constructor(\n @Inject(MAT_DATE_FORMATS) public matDateFormat: CustomDateFormat,\n @Optional() private ngControl: NgControl\n ) {\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TimeframeOption } from '../../models/datePicker';\nimport { ITimeframeOption } from './dr-date-picker_custom-header/dr-date-picker_custom-header.component';\n\n@Pipe({\n name: 'drShowTimeframePipe'\n})\nexport class DrShowTimeframePipe implements PipeTransform {\n transform(arr: ITimeframeOption[], showOptions: TimeframeOption[]): ITimeframeOption[] {\n return arr.filter(item => showOptions.includes(item.timeframe));\n }\n}","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { DrInputComponent } from './dr-input/dr-input.component';\nimport { DrSelectComponent } from './dr-select/dr-select.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\nimport { RadioGroupComponent } from './radio-button/radio-group.component';\nimport { DrToggleComponent } from './dr-toggle/dr-toggle.component';\nimport { DrButtonComponent } from './button/button.component';\n\nimport { MatCalendar, MatDatepickerModule } from '@angular/material/datepicker';\nimport { DrDatePickerComponent } from './date-pickers/dr-date-picker/dr-date-picker.component';\nimport { DrDatePickerWithTimeframeComponent } from './date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component';\nimport { DrDatePickerFormatDirective } from './date-pickers/directives/dr-date-picker-format.directive';\nimport { DrToggleButtonComponent } from './dr-toggle-button/dr-toggle-button.component';\nimport { DrModelDebounceChangeDirective } from './dr-model-debounce-change.directive';\nimport { DrDatePickerCustomHeaderComponent } from './date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component';\nimport { DrDatePickerService } from './date-pickers/services/dr-date-picker.service';\nimport { DrShowTimeframePipe } from './date-pickers/dr-show-timeframe.pipe';\n\n// !!! Please do not use such approach in other places\n// Hard fix for 'none' calendar view selection\nMatCalendar.prototype.focusActiveCell = function() {\n this._getCurrentViewComponent()?._focusActiveCell(false);\n}\n\nconst components = [\n DrButtonComponent,\n RadioButtonComponent,\n RadioGroupComponent,\n CheckboxComponent,\n DrInputComponent,\n DrSelectComponent,\n DrToggleComponent,\n DrToggleButtonComponent,\n DrDatePickerComponent,\n DrDatePickerWithTimeframeComponent,\n DrDatePickerFormatDirective,\n DrDatePickerCustomHeaderComponent,\n DrModelDebounceChangeDirective,\n DrShowTimeframePipe\n];\n\n@NgModule({\n declarations: components,\n exports: components,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n NgSelectModule,\n MatDatepickerModule\n ]\n})\n\nexport class DrInputsModule {\n\n}\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { TooltipInfoContext } from '../../interfaces/tooltip-component-context';\n\n@Component({\n selector: 'dr-tooltip-info',\n templateUrl: './tooltip-info.component.html',\n styleUrls: ['./tooltip-info.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TooltipInfoComponent {\n\n @Input() data: TooltipInfoContext;\n\n constructor() {\n }\n\n}\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { TooltipInfoContext } from '../../interfaces/tooltip-component-context';\n\n@Component({\n selector: 'dr-tooltip-info-simple',\n templateUrl: './tooltip-info-simple.component.html',\n styleUrls: ['./tooltip-info-simple.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TooltipInfoSimpleComponent {\n\n @Input() context: TooltipInfoContext;\n\n constructor() {\n }\n\n}\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\n\n@Component({\n selector: 'dr-tooltip-no-body',\n templateUrl: './tooltip-no-body.component.html',\n styleUrls: ['./tooltip-no-body.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TooltipNoBodyComponent implements OnInit {\n\n @Input() context: any;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\n\n@Component({\n selector: 'dr-tooltip-process-default',\n template: `\n <div class=\"container\" [innerHTML]=\"text\"></div>\n `,\n styles: [`\n .container {\n width: auto;\n max-width: 388px;\n text-align: start;\n font-size: 14px;\n line-height: 22px;\n padding: 10px 12px;\n color: #151B3F;\n background-color: #FFF;\n border-radius: 8px;\n box-shadow: 0px 4px 8px 1px rgba(0, 0, 0, 0.25);\n border: 1px solid #C3C4CE;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TooltipProcessDefaultComponent {\n\n @Input() text: string;\n\n constructor() {\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DrTooltipDirective } from './dr-tooltip.directive';\nimport { TooltipComponent } from './dr-tooltip.component';\nimport { CommonModule } from '@angular/common';\nimport { TooltipInfoComponent } from './components/tooltip-info/tooltip-info.component';\nimport { TooltipInfoSimpleComponent } from './components/tooltip-info-simple/tooltip-info-simple.component';\nimport { TooltipNoBodyComponent } from './components/tooltip-no-body/tooltip-no-body.component';\nimport { TooltipProcessDefaultComponent } from './components/tooltip-process-default/tooltip-process-default.component';\n\nconst TOOLTIP_COMPONENTS = [\n TooltipInfoComponent,\n TooltipInfoSimpleComponent,\n TooltipNoBodyComponent,\n TooltipProcessDefaultComponent\n];\n\n@NgModule({\n imports: [\n CommonModule\n ],\n exports: [\n TooltipComponent,\n DrTooltipDirective,\n ...TOOLTIP_COMPONENTS\n ],\n providers: [],\n declarations: [\n TooltipComponent,\n DrTooltipDirective,\n ...TOOLTIP_COMPONENTS\n ],\n})\n\nexport class DrTooltipModule {}\n","import { NgModule } from '@angular/core';\nimport { DrAvatarComponent } from './dr-avatar.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\nimport { CommonModule } from '@angular/common';\nimport { DrAvatarPipe } from './dr-avatar.pipe';\n\n@NgModule({\n declarations: [\n DrAvatarComponent,\n DrAvatarPipe\n ],\n exports: [\n DrAvatarComponent,\n DrAvatarPipe\n ],\n imports: [\n MatTooltipModule,\n DrTooltipModule,\n CommonModule\n ]\n})\n\nexport class DrAvatarModule {\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { DrSpinnerComponent } from './dr-spinner.component';\nimport { DrSpinnerDirective } from './dr-spinner.directive';\n\nconst components = [DrSpinnerComponent];\nconst directives = [DrSpinnerDirective];\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [...components, ...directives],\n declarations: [...components, ...directives]\n})\n\nexport class DrSpinnerModule {}\n","import { NgModule } from '@angular/core';\nimport { DrPopoverDirective } from './dr-popover.directive';\nimport { CommonModule } from '@angular/common';\nimport { DrPopoverComponent } from './dr-popover.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DrPopoverDirective,\n DrPopoverComponent,\n ],\n providers: [],\n declarations: [\n DrPopoverDirective,\n DrPopoverComponent,\n ],\n})\n\nexport class DrPopoverModule {}\n","import { NgModule } from '@angular/core';\nimport { DrDropdownPositionDirective } from './dr-dropdown-position.directive';\nimport { DrDropdownDirective } from './dr-dropdown.directive';\nimport { DrDropdownComponent } from './dr-dropdown.component';\nimport { CommonModule } from '@angular/common';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\nimport { DrDropdownItemShowPipe } from './dr-dropdown-item-show.pipe';\nimport { DrDropdownService } from './dr-dropdown.service';\n\n@NgModule({\n imports: [\n CommonModule,\n DrTooltipModule,\n ],\n declarations: [\n DrDropdownDirective,\n DrDropdownPositionDirective,\n DrDropdownComponent,\n DrDropdownItemShowPipe,\n ],\n exports: [\n DrDropdownDirective,\n DrDropdownPositionDirective,\n DrDropdownComponent,\n DrDropdownItemShowPipe,\n ],\n providers: [\n DrDropdownService,\n ],\n})\n\nexport class DrDropdownModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DrTabsComponent } from './dr-tabs.component';\nimport { DrTabComponent } from './dr-tab.component';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { DrInputsModule } from '../dr-inputs/dr-inputs.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n MatTabsModule,\n FormsModule,\n ReactiveFormsModule,\n DrInputsModule\n ],\n exports: [\n DrTabsComponent,\n DrTabComponent\n ],\n providers: [],\n declarations: [\n DrTabsComponent,\n DrTabComponent\n ],\n})\n\nexport class DrTabsModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DrAccordionComponent } from './accordion.component';\nimport { DrAccordionItemComponent } from './accordion-item.component';\nimport { DrAccordionItemHeaderComponent } from './accordion-item-header.component';\nimport { DrAccordionItemBodyComponent } from './accordion-item-body.component';\n\nconst DR_ACCORDION_COMPONENTS = [\n DrAccordionComponent,\n DrAccordionItemComponent,\n DrAccordionItemHeaderComponent,\n DrAccordionItemBodyComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...DR_ACCORDION_COMPONENTS],\n declarations: [...DR_ACCORDION_COMPONENTS],\n providers: [],\n})\nexport class DrAccordionModule {}\n","import { NgModule } from '@angular/core';\nimport { DrLayoutComponent } from './dr-layout.component';\nimport { CommonModule } from '@angular/common';\nimport { DrLayoutHeaderComponent } from './dr-layout-header.component';\nimport { DrLayoutBodyComponent } from './dr-layout-body.component';\n\nconst components = [\n DrLayoutComponent,\n DrLayoutHeaderComponent,\n DrLayoutBodyComponent\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...components],\n declarations: [...components],\n})\n\nexport class DrLayoutModule {}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { DrErrorComponent } from './dr-error.component';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n DrTooltipModule\n ],\n exports: [DrErrorComponent],\n providers: [],\n declarations: [\n DrErrorComponent\n ],\n})\n\nexport class DrErrorModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport { Step } from './interfaces/stepper';\n\n@Component({\n selector: 'dr-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss'],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class StepperComponent {\n\n @Input() steps: Step[];\n @Input() currentStep: Step;\n @Input() withoutConnectors = false;\n @Input() hiddenNames = false;\n @Input() inlineLabels = false;\n @Input() disabled = false;\n @Input() hiddenIndex = false;\n @Output() stepChange: EventEmitter<Step> = new EventEmitter<Step>();\n @ViewChild('stepper', { read: ElementRef }) public stepper: ElementRef<any>;\n\n constructor() {\n }\n\n selectStep(step: Step): void {\n if (step !== this.currentStep && !this.disabled) {\n this.stepChange.emit(step);\n }\n }\n\n getWidth(step: Step): string {\n if (this.withoutConnectors) return '0%';\n if (step.completed) return '100%';\n if (step.index === 0 || this.steps[step.index - 1].completed) return `${ (step?.completedTasks / step?.requiredTasks * 100) || 0 }%`;\n return '0%';\n }\n\n public scrollLeft(): void {\n this.stepper.nativeElement.scrollLeft -= 80;\n }\n\n public scrollRight(): void {\n this.stepper.nativeElement.scrollLeft += 80;\n }\n\n public roundWidth(width: number): number {\n return Math.round(width);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StepperComponent } from './stepper.component';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\n\n@NgModule({\n declarations: [StepperComponent],\n imports: [\n CommonModule,\n DrTooltipModule\n ],\n exports: [StepperComponent]\n})\nexport class DrStepperModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DialogWrapperComponent } from './components/dialog-wrapper/dialog-wrapper.component';\nimport { MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DialogModalWrapperComponent } from './components/dialog-modal-wrapper/dialog-modal-wrapper.component';\nimport { DialogService } from './services/dialog.service';\nimport { DrInputsModule } from '../dr-inputs/dr-inputs.module';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\n\n@NgModule({\n declarations: [DialogWrapperComponent, DialogModalWrapperComponent],\n imports: [\n CommonModule,\n MatDialogModule,\n DrInputsModule,\n ReactiveFormsModule,\n DrTooltipModule\n ],\n exports: [DialogWrapperComponent, DialogModalWrapperComponent],\n providers: [\n { provide: MatDialogRef, useValue: {} },\n { provide: MAT_DIALOG_DATA, useValue: {} },\n DialogService\n ]\n})\nexport class DrDialogModule { }\n","/* components */\nexport * from './lib/date-tags/date-tag.component';\nexport * from './lib/date-tags/forecast-tag/forecast-tag.component';\nexport * from './lib/date-tags/month-tag/month-tag.component';\nexport * from './lib/date-tags/quarter-tag/quarter-tag.component';\nexport * from './lib/date-tags/week-tag/week-tag.component';\nexport * from './lib/date-tags/year-tag/year-tag.component';\nexport * from './lib/dr-tags/dr-tag.component';\nexport * from './lib/list-tags/list-tag.component';\nexport * from './lib/date-tags/day-tag/day-tag.component';\nexport * from './lib/date-tags/date-tag.component';\nexport * from './lib/dr-inputs/radio-button/radio-button.component';\nexport * from './lib/dr-inputs/radio-button/radio-group.component';\nexport * from './lib/dr-inputs/checkbox/checkbox.component';\nexport * from './lib/dr-inputs/dr-input/dr-input.component';\nexport * from './lib/dr-inputs/dr-select/dr-select.component';\nexport * from './lib/dr-avatar/dr-avatar.component';\nexport * from './lib/dr-avatar/dr-avatar.pipe';\nexport * from './lib/dr-tooltip/dr-tooltip.component';\nexport * from './lib/dr-tooltip/dr-tooltip.directive';\nexport * from './lib/dr-inputs/dr-toggle/dr-toggle.component';\nexport * from './lib/dr-inputs/dr-toggle-button/dr-toggle-button.component';\nexport * from './lib/dr-spinner/dr-spinner.component';\nexport * from './lib/dr-spinner/dr-spinner.directive';\nexport * from './lib/dr-inputs/button/button.component';\n\nexport * from './lib/dr-popover/dr-popover.directive';\nexport * from './lib/dr-popover/dr-popover.component';\nexport * from './lib/dr-popover/dr-popover.service';\n\nexport * from './lib/dr-dropdown/dr-dropdown.directive';\nexport * from './lib/dr-dropdown/dr-dropdown-position.directive';\nexport * from './lib/dr-dropdown/dr-dropdown.component';\nexport * from './lib/dr-dropdown/dr-dropdown.service';\nexport * from './lib/dr-dropdown/dr-dropdown-item-show.pipe';\nexport * from './lib/dr-tabs/dr-tabs.component';\nexport * from './lib/dr-tabs/dr-tab.component';\n\nexport * from './lib/dr-accordion/accordion.component';\nexport * from './lib/dr-accordion/accordion-item.component';\nexport * from './lib/dr-accordion/accordion-item-header.component';\nexport * from './lib/dr-accordion/accordion-item-body.component';\n\nexport * from './lib/dr-layout/dr-layout.component';\nexport * from './lib/dr-layout/dr-layout-header.component';\nexport * from './lib/dr-layout/dr-layout-body.component';\n\nexport * from './lib/dr-error/dr-error.component';\n\nexport * from './lib/dr-dialog/services/dialog.service';\n\n/* enums */\nexport { TooltipPosition } from './lib/dr-tooltip/enums/tooltip-position.enum';\n\n/* interfaces & types */\nexport { TooltipInfoContext } from './lib/dr-tooltip/interfaces/tooltip-component-context';\nexport { Step } from './lib/stepper/interfaces/stepper';\nexport * from './lib/dr-dialog/interfaces/dialog-data';\n\n/* directives */\nexport * from './lib/dr-inputs/dr-model-debounce-change.directive';\n\n/* models */\nexport * from './lib/models/datePicker';\nexport { TAG_TYPES, ITag, IDateTag, IListTag, ITagForServer } from './lib/models/serverTags';\nexport { ISpinnerOptions, SpinnerType, SpinnerSize } from './lib/models/spinnerOptions';\nexport {\n ElPosition,\n IDropdown,\n IDropdownItem,\n IDropdownActionIcon,\n IDropdownCoordinate,\n IDropdownCallEvent,\n IDropdownAction\n} from './lib/models/dropdown';\nexport {\n DrPopoverRef,\n IDrPopoverComponentModel,\n Point,\n DrPopoverConfig,\n IPopoverManualClosing,\n DrPopoverAlignment,\n DrPopoverAlignmentDimension,\n} from './lib/models/popover';\nexport { IValidationError } from './lib/models/validationError';\n\n/* modules */\nexport { DateTagModule } from './lib/date-tags/date-tag.module';\nexport { ListTagModule } from './lib/list-tags/list-tag.module';\nexport { DrTagModule } from './lib/dr-tags/dr-tag.module';\nexport { DrInputsModule } from './lib/dr-inputs/dr-inputs.module';\nexport { DrTooltipModule } from './lib/dr-tooltip/dr-tooltip.module';\nexport { DrAvatarModule } from './lib/dr-avatar/dr-avatar.module';\nexport { DrSpinnerModule } from './lib/dr-spinner/dr-spinner.module';\nexport { DrPopoverModule } from './lib/dr-popover/dr-popover.module';\nexport { DrDropdownModule } from './lib/dr-dropdown/dr-dropdown.module';\nexport { DrTabsModule } from './lib/dr-tabs/dr-tabs.module';\nexport { DrAccordionModule } from './lib/dr-accordion/accordion.module';\nexport { DrSharedUtils } from './lib/utils/dr-shared-utils';\nexport { DrLayoutModule } from './lib/dr-layout/dr-layout.module';\nexport { DrErrorModule } from './lib/dr-error/dr-error.module';\nexport { DrStepperModule } from './lib/stepper/stepper.module';\nexport { DrDialogModule } from './lib/dr-dialog/dialog.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {components as ɵa} from './lib/date-tags/date-tag.module';\nexport {DialogModalWrapperComponent as ɵo} from './lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component';\nexport {DialogWrapperComponent as ɵn} from './lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component';\nexport {DrDatePickerFormatDirective as ɵf} from './lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive';\nexport {DrDatePickerWithTimeframeComponent as ɵe} from './lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component';\nexport {DrDatePickerComponent as ɵc} from './lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component';\nexport {DrDatePickerCustomHeaderComponent as ɵg} from './lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component';\nexport {DrShowTimeframePipe as ɵh} from './lib/dr-inputs/date-pickers/dr-show-timeframe.pipe';\nexport {DrDatePickerService as ɵd} from './lib/dr-inputs/date-pickers/services/dr-date-picker.service';\nexport {TooltipInfoSimpleComponent as ɵj} from './lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component';\nexport {TooltipInfoComponent as ɵi} from './lib/dr-tooltip/components/tooltip-info/tooltip-info.component';\nexport {TooltipNoBodyComponent as ɵk} from './lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component';\nexport {TooltipProcessDefaultComponent as ɵl} from './lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component';\nexport {POPUP_ANIMATION as ɵb} from './lib/models/constants';\nexport {StepperComponent as ɵm} from './lib/stepper/stepper.component';"],"names":["EventEmitter","Component","ViewEncapsulation","Input","Output","moment","FormControl","DateAdapter","MomentDateAdapter","MAT_DATE_LOCALE","MAT_MOMENT_DATE_ADAPTER_OPTIONS","MAT_DATE_FORMATS","momentImported","NG_VALUE_ACCESSOR","ChangeDetectionStrategy","ChangeDetectorRef","Subject","startWith","switchMap","from","takeUntil","merge","isPlatformBrowser","fromEvent","filter","forwardRef","ElementRef","Inject","PLATFORM_ID","DOCUMENT","ContentChildren","noop","Renderer2","HostBinding","ContentChild","Pipe","transition","style","animate","BehaviorSubject","TemplateRef","trigger","HostListener","ComponentPortal","skip","Directive","Overlay","OverlayPositionBuilder","SpinnerType","SpinnerSize","ComponentFactoryResolver","ViewContainerRef","ViewChild","DrPopoverAlignmentDimension","OverlayConfig","Injector","first","Injectable","Host","state","_","catchError","MatDialogRef","MAT_DIALOG_DATA","FormGroup","MatDialog","TooltipPosition","DIALOG_SIZE","DIALOG_BUTTON_LABEL","DIALOG_FIELD_TYPE","debounceTime","distinctUntilChanged","NgModel","DateFromats","DatePickerPeriodPosition","TimeframeOption","CalendarView","components","NgModule","CommonModule","MatNativeDateModule","MatDatepickerModule","FormsModule","MatFormFieldModule","ReactiveFormsModule","MatInputModule","MatMomentDateModule","MatSelectModule","MatButtonToggleModule","MatCalendar","NgControl","Optional","NgSelectModule","MatTooltipModule","MatTabsModule","MatDialogModule"],"mappings":"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"}
1
+ {"version":3,"file":"datarailsshared-datarailsshared.umd.js","sources":["../../../projects/datarailsshared/src/lib/date-tags/date-tag.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/datarailsshared/src/lib/date-tags/forecast-tag/forecast-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/month-tag/month-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/quarter-tag/quarter-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/week-tag/week-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/year-tag/year-tag.component.ts","../../../projects/datarailsshared/src/lib/dr-tags/dr-tag.component.ts","../../../projects/datarailsshared/src/lib/list-tags/list-tag.component.ts","../../../projects/datarailsshared/src/lib/date-tags/day-tag/day-tag.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/radio-button/radio-button.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/radio-button/radio-group.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/checkbox/checkbox.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-input/dr-input.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-select/dr-select.component.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.component.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.pipe.ts","../../../projects/datarailsshared/src/lib/models/constants.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-toggle/dr-toggle.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.component.ts","../../../projects/datarailsshared/src/lib/models/spinnerOptions.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/button/button.component.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover-ref.ts","../../../projects/datarailsshared/src/lib/models/popover.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.component.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.service.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.service.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.component.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown-position.directive.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown-item-show.pipe.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tab.component.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tabs.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item-header.component.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion-item-body.component.ts","../../../projects/datarailsshared/src/lib/dr-layout/dr-layout.component.ts","../../../projects/datarailsshared/src/lib/dr-layout/dr-layout-header.component.ts","../../../projects/datarailsshared/src/lib/dr-layout/dr-layout-body.component.ts","../../../projects/datarailsshared/src/lib/dr-error/dr-error.component.ts","../../../projects/datarailsshared/src/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.ts","../../../projects/datarailsshared/src/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.ts","../../../projects/datarailsshared/src/lib/dr-dialog/services/dialog.service.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/enums/tooltip-position.enum.ts","../../../projects/datarailsshared/src/lib/dr-dialog/interfaces/dialog-data.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-model-debounce-change.directive.ts","../../../projects/datarailsshared/src/lib/models/datePicker.ts","../../../projects/datarailsshared/src/lib/models/chat.ts","../../../projects/datarailsshared/src/lib/date-tags/date-tag.module.ts","../../../projects/datarailsshared/src/lib/list-tags/list-tag.module.ts","../../../projects/datarailsshared/src/lib/dr-tags/dr-tag.module.ts","../../../projects/datarailsshared/src/lib/utils/dr-shared-utils.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/services/dr-date-picker.service.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.ts","../../../projects/datarailsshared/src/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.ts","../../../projects/datarailsshared/src/lib/dr-inputs/dr-inputs.module.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.ts","../../../projects/datarailsshared/src/lib/dr-tooltip/dr-tooltip.module.ts","../../../projects/datarailsshared/src/lib/dr-avatar/dr-avatar.module.ts","../../../projects/datarailsshared/src/lib/dr-spinner/dr-spinner.module.ts","../../../projects/datarailsshared/src/lib/dr-popover/dr-popover.module.ts","../../../projects/datarailsshared/src/lib/dr-dropdown/dr-dropdown.module.ts","../../../projects/datarailsshared/src/lib/dr-tabs/dr-tabs.module.ts","../../../projects/datarailsshared/src/lib/dr-accordion/accordion.module.ts","../../../projects/datarailsshared/src/lib/dr-layout/dr-layout.module.ts","../../../projects/datarailsshared/src/lib/dr-error/dr-error.module.ts","../../../projects/datarailsshared/src/lib/stepper/stepper.component.ts","../../../projects/datarailsshared/src/lib/stepper/stepper.module.ts","../../../projects/datarailsshared/src/lib/dr-dialog/dialog.module.ts","../../../projects/datarailsshared/src/lib/dr-chat/dr-chat-form/chat-form.component.ts","../../../projects/datarailsshared/src/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.ts","../../../projects/datarailsshared/src/lib/dr-chat/dr-chat-message/chat-message.component.ts","../../../projects/datarailsshared/src/lib/dr-chat/chat.component.ts","../../../projects/datarailsshared/src/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.ts","../../../projects/datarailsshared/src/lib/dr-chat/dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component.ts","../../../projects/datarailsshared/src/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.ts","../../../projects/datarailsshared/src/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.ts","../../../projects/datarailsshared/src/lib/dr-chat/chat.module.ts","../../../projects/datarailsshared/src/public-api.ts","../../../projects/datarailsshared/src/datarailsshared-datarailsshared.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { IDateTag } from '../models/serverTags';\n\n// import {*} from \"\"\n@Component({\n templateUrl: 'date-tag.component.html',\n selector: 'date-tag',\n styleUrls: ['date-tag.component.css', '../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DateTagComponent {\n @Input() name: string | undefined = undefined;\n @Input() lockedDate: any[] = [];\n @Input() defaultValue: number | undefined = undefined;\n @Input() dateTypeChosen: any = {};\n @Input() fiscalYearStartsFrom?: number;\n @Input() fiscalYearBack?: boolean;\n @Output() selectedDate: EventEmitter<IDateTag> = new EventEmitter<IDateTag>();\n\n\n constructor() {\n }\n\n changeSelectedDate(date) {\n setTimeout(() => {\n console.log('change date', date);\n this.selectedDate.emit(date);\n }, 300);\n }\n}\n\n@Component({\n template: ``,\n selector: 'any-tag'\n})\nexport class AnyTagComponent implements OnInit {\n @Output() dateChange: EventEmitter<IDateTag> = new EventEmitter<IDateTag>();\n @Input() name: string | undefined = undefined;\n @Input() defaultValue: number | undefined = undefined;\n dateObj = { date: undefined };\n\n constructor() {\n }\n\n ngOnInit() {\n this.initDate();\n this.initName();\n this.chosenTagHandler(this.dateObj.date);\n }\n\n initDate() {\n }\n\n initName() {\n }\n\n changeInputHandler(event: Event) {\n const input: HTMLInputElement = <HTMLInputElement>event.target;\n this.chosenTagHandler(input.value);\n }\n\n chosenTagHandler(value) {\n // need implement in all tags\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Component, Input } from '@angular/core';\nimport { IDateTag } from '../../models/serverTags';\nimport { AnyTagComponent } from '../date-tag.component';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatButtonToggleChange } from '@angular/material/button-toggle';\n// @ts-ignore\nconst moment = require('moment');\n\n@Component({\n templateUrl: 'forecast-tag.component.html',\n selector: 'forecast-tag',\n})\n\nexport class ForecastTagComponent extends AnyTagComponent {\n @Input() fiscalYearStartsFrom?: number;\n @Input() fiscalYearBack?: boolean;\n @Input() lockedDate: any[] = [];\n forecastValue: number | undefined = undefined;\n\n forecastTags: any[] = [\n { value: 0, label: '0+12' },\n { value: 1, label: '1+11' },\n { value: 2, label: '2+10' },\n { value: 3, label: '3+9' },\n { value: 4, label: '4+8' },\n { value: 5, label: '5+7' },\n { value: 6, label: '6+6' },\n { value: 7, label: '7+5' },\n { value: 8, label: '8+4' },\n { value: 9, label: '9+3' },\n { value: 10, label: '10+2' },\n { value: 11, label: '11+1' }\n ];\n\n constructor() {\n super();\n }\n\n initDate() {\n let dateVal = new Date();\n if (this.defaultValue) {\n dateVal = new Date(this.defaultValue * 1000);\n }\n const fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;\n const fiscal_year_back = this.fiscalYearBack || false;\n this.forecastValue = this.getFiscalMonthFromDate(dateVal, fiscal_year_starts_from) - 1;\n const fiscal_year = this.getFiscalYearFromDate(dateVal, fiscal_year_starts_from, fiscal_year_back);\n\n console.log('test', dateVal, fiscal_year_starts_from, this.forecastValue, fiscal_year);\n\n this.dateObj.date = moment(new Date(fiscal_year, 0, 1)).format('YYYY');\n\n this.updateLockedDate();\n }\n\n updateLockedDate() {\n for (const forecastTag of this.forecastTags) {\n forecastTag.disable = false;\n\n this.lockedDate.forEach(timestamp => {\n const locked = moment.unix(timestamp);\n\n if (locked.month() - 1 === forecastTag.value && +locked.year() + 1 === +this.dateObj.date) {\n forecastTag.disable = true;\n }\n });\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = 'Forecast';\n }\n }\n\n getFiscalMonthFromDate(dateObj, fiscal_year_starts_from) {\n const all_months = [];\n\n for (let i = fiscal_year_starts_from; i < 13; i++) {\n all_months.push(i);\n }\n\n for (let i = 1; i < fiscal_year_starts_from; i++) {\n all_months.push(i);\n }\n\n return all_months.indexOf(dateObj.getMonth() + 1) + 1;\n }\n\n getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back) {\n let fiscal_year = dateObj.getFullYear();\n\n if (!fiscal_year_back) {\n if (dateObj.getMonth() + 1 >= fiscal_year_starts_from && fiscal_year_starts_from !== 1) {\n fiscal_year += 1;\n }\n } else {\n if (dateObj.getMonth() + 1 < fiscal_year_starts_from && fiscal_year_starts_from !== 1) {\n fiscal_year -= 1;\n }\n }\n\n return fiscal_year;\n }\n\n getForecastLabelFromValue(value, fiscal_year_starts_from, fiscal_year_back) {\n let label = '';\n if (value) {\n const dateObj = new Date(value * 1000);\n\n const fiscal_month = this.getFiscalMonthFromDate(dateObj, fiscal_year_starts_from);\n const fiscal_year = this.getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back);\n\n label = (fiscal_month - 1) + '+' + (13 - fiscal_month) + ' (' + fiscal_year + ')';\n }\n return label;\n }\n\n changeTagInputHandler(event: MatSelectChange | MatButtonToggleChange) {\n this.chosenTagHandler();\n }\n\n changeYearInputHandler(event: Event) {\n this.updateLockedDate();\n this.chosenTagHandler();\n }\n\n chosenTagHandler() {\n const month = this.forecastValue;\n const year = Number.parseInt(this.dateObj.date, 10);\n\n let timeStampVal = 0;\n let label = '';\n\n if (!Number.isNaN(month) && !Number.isNaN(year)) {\n\n\n const date = new Date(year, month, 1, 12, 0, 0, 0);\n const fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;\n const fiscal_year_back = this.fiscalYearBack || false;\n if (fiscal_year_starts_from !== 1) {\n if (!fiscal_year_back)\n {date.setMonth(date.getMonth() - 13 + fiscal_year_starts_from);}\n else\n {date.setMonth(date.getMonth() - 1 + fiscal_year_starts_from);}\n }\n\n timeStampVal = date.getTime() / 1000;\n label = this.getForecastLabelFromValue(timeStampVal, fiscal_year_starts_from, fiscal_year_back);\n }\n\n const resultTag: IDateTag = {\n name: this.name,\n value: timeStampVal,\n label,\n locked: !this.dateFilter(timeStampVal)\n };\n\n this.dateChange.emit(resultTag);\n }\n\n dateFilter = (date) => {\n const forecastDate = moment.unix(date);\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const locked = moment.unix(timestamp);\n\n return status = !(locked.month() === forecastDate.month() && locked.year() === forecastDate.year());\n });\n\n return status;\n };\n}\n","import { Component, Input } from '@angular/core';\nimport { Moment } from 'moment';\nimport { IDateTag } from '../../models/serverTags';\nimport { AnyTagComponent } from '../date-tag.component';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { FormControl } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';\n// @ts-ignore\nconst moment = require('moment');\n\nconst MONTH_FORMATS = {\n parse: {\n dateInput: 'DD-MM-YYYY',\n },\n display: {\n dateInput: 'MMMM YYYY',\n monthYearLabel: 'MMMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY'\n },\n};\n\n@Component({\n templateUrl: 'month-tag.component.html',\n selector: 'month-tag',\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\n },\n { provide: MAT_DATE_FORMATS, useValue: MONTH_FORMATS },\n ],\n})\n\nexport class MonthTagComponent extends AnyTagComponent {\n @Input() lockedDate: any[] = [];\n\n date = new FormControl(moment());\n\n constructor() {\n super();\n }\n\n initDate() {\n if (this.defaultValue) {\n this.dateObj.date = moment(this.defaultValue * 1000).utc().format('YYYY-MM');\n this.date = new FormControl(moment(this.defaultValue * 1000));\n } else {\n this.dateObj.date = moment(new Date()).format('YYYY-MM');\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = 'Month and Year';\n }\n }\n\n chosenTagHandler(value) {\n const resultDate: Moment = moment.utc(value);\n resultDate.hour(12);\n const resultTag: IDateTag = {\n name: this.name,\n value: parseInt(resultDate.format('X'), 10),\n label: resultDate.format('MMMM YYYY'),\n locked: !this.dateFilter(value)\n };\n console.log(resultTag, value);\n this.dateChange.emit(resultTag);\n }\n\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker<Moment>) {\n this.date.setValue(normalizedMonth);\n this.dateObj.date = this.date.value;\n\n this.chosenTagHandler(this.date.value);\n\n datepicker.close();\n }\n\n dateFilter = (date) => {\n const calendarDate = moment(date);\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const lockDate = moment.unix(timestamp);\n\n return status = !(lockDate.year() === calendarDate.year() && lockDate.month() === calendarDate.month());\n });\n\n return status;\n };\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { IDateTag } from '../../models/serverTags';\nimport { Moment } from 'moment';\nimport { AnyTagComponent } from '../date-tag.component';\nimport { MatSelectChange } from '@angular/material/select';\n// @ts-ignore\nconst moment = require('moment');\n\n@Component({\n templateUrl: 'quarter-tag.component.html',\n selector: 'quarter-tag',\n})\nexport class QuarterTagComponent extends AnyTagComponent implements OnInit {\n @Input() lockedDate: any[] = [];\n selectedValue = 0;\n quarters: any[] = [];\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n this.initName();\n this.quarters = this.getQuarterOptions();\n\n for (const quarter of this.quarters) {\n quarter.disable = false;\n\n if (quarter.isSelected) {\n this.selectedValue = quarter.value;\n this.chosenTagHandler(quarter.value);\n }\n\n this.dateFilter(quarter);\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = 'Quarter';\n }\n }\n\n changeSelectHandler(event: MatSelectChange) {\n this.chosenTagHandler(event.value);\n }\n\n chosenTagHandler(value) {\n const date = new Date(value * 1000);\n const resultDate: Moment = moment.utc(date);\n const resultTag: IDateTag = {\n name: this.name,\n value: parseInt(resultDate.format('X'), 10),\n label: this.getQuarterLabel(resultDate.toString()),\n locked: !this.dateFilter(value)\n };\n this.dateChange.emit(resultTag);\n }\n\n getQuarterOptions() {\n const quartersBeforeToday = 8;\n const quartersAfterToday = 8;\n const dateNow = new Date();\n const dateNowUnix = this.getUTCTimestamp(dateNow);\n let defaultValue = dateNowUnix;\n let tempDate = new Date();\n if (this.defaultValue) {\n defaultValue = this.defaultValue * 1000;\n }\n\n let afterDefault = Math.round(Math.abs(dateNowUnix - defaultValue) / 7776000000) + quartersAfterToday;\n afterDefault = Math.min(afterDefault, 100);\n let i; let tempValue;\n const to_return: any[] = [];\n for (i = 0 - quartersBeforeToday; i <= afterDefault; i++) {\n tempDate = new Date(defaultValue);\n tempDate.setDate(15);\n tempDate.setMonth(tempDate.getMonth() + 3 * i);\n tempValue = this.getUTCTimestamp(tempDate);\n to_return.push({\n value: tempValue / 1000,\n label: this.getQuarterLabel(tempValue),\n isSelected: (i === 0),\n });\n }\n return to_return;\n }\n\n private getQuarterLabel(timeValue) {\n const date = new Date(timeValue);\n return 'Q' + Math.floor((date.getMonth() / 3) + 1) + ' ' + date.getFullYear();\n }\n\n private getUTCTimestamp(date) {\n const month = Math.floor(date.getMonth() / 3) * 3;\n return Date.UTC(date.getFullYear(), month, 1, 12, 0, 0, 0);\n }\n\n dateFilter = (date) => {\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const lockDate = moment.unix(timestamp);\n const quarterDate = moment.unix(date.value);\n\n if (lockDate.year() === quarterDate.year() && lockDate.month() === quarterDate.month()) {\n date.disable = true;\n status = false;\n }\n });\n\n return status;\n };\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { IDateTag } from '../../models/serverTags';\nimport { Moment } from 'moment';\nimport { AnyTagComponent } from '../date-tag.component';\nimport { FormControl } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';\n// @ts-ignore\nconst moment = require('moment');\n\nconst WEEK_FORMATS = {\n parse: {\n dateInput: 'WW-YYYY',\n },\n display: {\n dateInput: '[Week] WW, YYYY',\n monthYearLabel: 'MMMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY'\n },\n};\n\n@Component({\n templateUrl: 'week-tag.component.html',\n selector: 'week-tag',\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\n },\n { provide: MAT_DATE_FORMATS, useValue: WEEK_FORMATS },\n ],\n})\nexport class WeekTagComponent extends AnyTagComponent implements OnInit {\n @Input() lockedDate: any[] = [];\n\n date = new FormControl(moment());\n selectedValue = '';\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n this.initName();\n\n const now = new Date();\n now.setHours(0, 0, 0, 0);\n\n const dateUnix = this.getUTCTimestamp(this.getMonday(now));\n let default_value_time = dateUnix;\n const one_day_in_seconds = 86400;\n if (this.defaultValue) {\n default_value_time = (this.defaultValue + one_day_in_seconds) * 1000;\n }\n\n const default_date = new Date(default_value_time);\n const weekNumber = this.getWeekNumberByDate(default_date);\n const yearNumber = default_date.getFullYear();\n const dateStr = `${ yearNumber }-W${ weekNumber }`;\n this.dateObj.date = dateStr;\n this.selectedValue = dateStr;\n this.chosenTagHandler(default_date);\n }\n\n initName() {\n if (!this.name) {\n this.name = 'Week';\n }\n }\n\n chosenDateHandler(normalizedDay) {\n const date = moment(normalizedDay).unix();\n this.chosenTagHandler(date);\n }\n\n dateFilter = (date) => {\n const calendarDate = moment(date);\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const lockDate = moment.unix(timestamp);\n\n return status = !(lockDate.week() === calendarDate.week() && lockDate.year() === calendarDate.year());\n });\n\n return status;\n };\n\n chosenTagHandler(value) {\n let date;\n console.log('chosenTag', value);\n if (value > 1000000000000) {\n date = new Date(value);\n } else {\n date = new Date(value * 1000);\n }\n\n const resultDate: Moment = moment(date);\n const resultTag: IDateTag = {\n name: this.name,\n value: parseInt(resultDate.format('X'), 10),\n label: this.getWeekLabel(date),\n locked: !this.dateFilter(value)\n };\n console.log('resultTag', resultTag);\n this.dateChange.emit(resultTag);\n }\n\n private getWeekLabel(date) {\n return 'W' + this.pad(moment(date).isoWeek(), 2) +\n ' ' + moment(date).year();\n }\n\n private getUTCTimestamp(date) {\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 12, 0, 0, 0);\n }\n\n private getMonday(date) {\n const day = date.getDay() || 7;\n if (day !== 1) {\n date.setHours(-24 * (day - 1));\n }\n return date;\n }\n\n private getWeekNumberByDate(date: Date) {\n return this.pad(moment(date).isoWeek(), 2);\n }\n\n private pad(n, width, z = '0') {\n z = z || '0';\n n = n + '';\n return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { Moment } from 'moment';\nimport { IDateTag } from '../../models/serverTags';\nimport { AnyTagComponent } from '../date-tag.component';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';\n// @ts-ignore\nconst moment = require('moment');\n\nconst YEAR_FORMATS = {\n parse: {\n dateInput: 'YYYY',\n },\n display: {\n dateInput: 'YYYY',\n monthYearLabel: 'MMMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY'\n },\n};\n\n@Component({\n templateUrl: 'year-tag.component.html',\n selector: 'year-tag',\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\n },\n { provide: MAT_DATE_FORMATS, useValue: YEAR_FORMATS },\n ],\n})\n\nexport class YearTagComponent extends AnyTagComponent {\n @Input() lockedDate: any[] = [];\n\n date = new FormControl(moment());\n\n constructor() {\n super();\n }\n\n initDate() {\n if (this.defaultValue) {\n this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format('YYYY');\n this.date = new FormControl(moment(this.defaultValue * 1000));\n } else {\n this.dateObj.date = moment(new Date()).format('YYYY');\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = 'Year';\n }\n }\n\n chosenTagHandler(value) {\n const date = new Date();\n const year = moment(value).year();\n date.setTime(0);\n date.setFullYear(year, 0, 1);\n const resultDate: Moment = moment.utc(date);\n resultDate.hour(12);\n const resultTag: IDateTag = {\n name: this.name,\n value: parseInt(resultDate.format('X'), 10),\n label: resultDate.format('YYYY'),\n locked: !this.dateFilter(value)\n };\n console.log('resultTag', resultTag);\n this.dateChange.emit(resultTag);\n }\n\n chosenYearHandler(normalizedYear: Moment, datepicker: MatDatepicker<Moment>) {\n const ctrlValue = this.date.value;\n ctrlValue.year(normalizedYear.year());\n\n this.date.setValue(ctrlValue);\n this.dateObj.date = this.date.value;\n this.chosenTagHandler(this.date.value);\n\n datepicker.close();\n }\n\n dateFilter = (date) => {\n const calendarDateYear = moment(date).year();\n let status = true;\n\n this.lockedDate.forEach(timestamp => {\n const lockDate = moment.unix(timestamp);\n\n return status = !(lockDate.year() === calendarDateYear);\n });\n\n return status;\n };\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { IDateTag, IListTag, ITag, ITagForServer } from '../models/serverTags';\n\n@Component({\n templateUrl: 'dr-tag.component.html',\n selector: 'dr-tag',\n styleUrls: ['dr-tag.component.scss', '../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class DrTagComponent implements OnInit {\n @Input() tagConfig: ITag;\n @Input() selectedTag: ITagForServer;\n @Input() lockedDate: any[];\n @Input() fiscalYearStartsFrom?: number;\n @Input() fiscalYearBack?: boolean;\n @Output() tagChange: EventEmitter<ITagForServer> = new EventEmitter<ITagForServer>();\n\n defaultValue: string | undefined;\n\n constructor() {\n this.selectedTag = {\n id: 0,\n value: undefined,\n name: ''\n };\n }\n\n ngOnInit() {\n if (this.tagConfig && this.tagConfig.options && this.tagConfig.options.default_value) {\n this.defaultValue = this.tagConfig.options.default_value;\n }\n }\n\n onDateHandler(event: IDateTag) {\n const resultEvent: ITagForServer = {\n id: this.tagConfig.id,\n name: this.tagConfig.name,\n value: event.value,\n label: event.label,\n locked: event.locked\n };\n console.log(resultEvent);\n this.tagChange.emit(resultEvent);\n }\n\n onListHandler(event: IListTag) {\n const resultEvent: ITagForServer = {\n id: this.tagConfig.id,\n name: this.tagConfig.name,\n value: event.value\n };\n console.log(resultEvent);\n this.tagChange.emit(resultEvent);\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { IListTag } from '../models/serverTags';\nimport * as momentImported from 'moment';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatButtonToggleChange } from '@angular/material/button-toggle';\n\nconst moment = momentImported;\n\n@Component({\n templateUrl: 'list-tag.component.html',\n selector: 'list-tag',\n styleUrls: ['list-tag.component.scss', '../../../../../node_modules/@angular/material/prebuilt-themes/indigo-pink.css'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class ListTagComponent implements OnInit {\n @Input() values: string[];\n @Input() defaultValue = '';\n @Input() name: string;\n @Output() tagChange: EventEmitter<IListTag> = new EventEmitter<IListTag>();\n\n constructor() {\n }\n\n ngOnInit() {\n this.chosenTagHandler(this.defaultValue);\n }\n\n changeInputHandler(event: MatSelectChange | MatButtonToggleChange) {\n this.chosenTagHandler(event.value);\n }\n\n chosenTagHandler(value) {\n console.log(value);\n if (value && value !== '') {\n const resultTag: IListTag = {\n name: this.name,\n value\n };\n this.tagChange.emit(resultTag);\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { IDateTag } from '../../models/serverTags';\nimport { AnyTagComponent } from '../date-tag.component';\nimport { FormControl } from '@angular/forms';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\n// @ts-ignore\nconst moment = require('moment');\n\nconst DAY_FORMATS = {\n parse: {\n dateInput: 'DD-MM-YYYY',\n },\n display: {\n dateInput: 'DD.MM.YYYY',\n monthYearLabel: 'MMMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY'\n },\n};\n\n@Component({\n templateUrl: 'day-tag.component.html',\n selector: 'day-tag',\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],\n },\n { provide: MAT_DATE_FORMATS, useValue: DAY_FORMATS },\n ],\n})\n\nexport class DayTagComponent extends AnyTagComponent {\n @Input() lockedDate: any[] = [];\n\n date = new FormControl(moment());\n\n constructor() {\n super();\n }\n\n initDate() {\n const utcOffsetInMilliseconds = moment().utcOffset() * 60 * 1000;\n this.dateObj.date = moment(moment().valueOf() + utcOffsetInMilliseconds);\n if (this.defaultValue) {\n this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc();\n this.date.setValue(this.dateObj.date);\n }\n }\n\n initName() {\n if (!this.name) {\n this.name = 'Day';\n }\n }\n\n chosenTagHandler(value) {\n const date = moment(value).unix();\n const resultTag: IDateTag = {\n name: this.name,\n value: date,\n label: moment.unix(date).format('MM/DD/YYYY'),\n locked: !this.dateFilter(value)\n };\n console.log('resultTag', resultTag);\n this.dateChange.emit(resultTag);\n }\n\n chosenDateHandler(normalizedDay) {\n this.chosenTagHandler(normalizedDay);\n }\n\n dateFilter = (date) => {\n const calendarDate = moment(date).unix();\n let status = true;\n\n this.lockedDate.forEach(timestamp => status = !(timestamp === calendarDate));\n\n return status;\n };\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'dr-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrls: ['./radio-button.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioButtonComponent,\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RadioButtonComponent implements ControlValueAccessor {\n @Input() name: string;\n @Input('value') _value: any;\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n }\n\n private _disabled = false;\n\n modelValue: any;\n\n get value() {\n return this._value;\n }\n\n onChange: any = (onchanges => {\n });\n onTouched: any = () => {\n };\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n registerOnChange(fn) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n\n writeValue(value: any) {\n this.modelValue = value;\n this.cdr.markForCheck();\n }\n\n toggleChange(event) {\n if (event.target.checked) {\n this.modelValue = this.value;\n }\n }\n\n valueChanged(event) {\n this.onChange(this.modelValue);\n this.valueChange.emit(this.value);\n }\n\n _setName(name: string) {\n this.name = name;\n this.cdr.markForCheck();\n }\n\n _markForCheck() {\n this.cdr.markForCheck();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n} from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { from, fromEvent, merge, Subject } from 'rxjs';\nimport { filter, startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { RadioButtonComponent } from './radio-button.component';\n\n@Component({\n selector: 'dr-radio-group',\n template: `\n <ng-content select=\"dr-radio-button\"></ng-content>`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioGroupComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RadioGroupComponent implements AfterContentInit, OnDestroy, ControlValueAccessor {\n\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this.updateValues();\n }\n\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(name: string) {\n this._name = name;\n this.updateNames();\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(disabled: boolean) {\n this._disabled = !!disabled;\n this.updateDisabled();\n }\n\n constructor(\n protected hostElement: ElementRef<HTMLElement>,\n @Inject(PLATFORM_ID) protected platformId,\n @Inject(DOCUMENT) protected document,\n ) {\n }\n\n protected destroy$ = new Subject<void>();\n protected _value: any;\n protected _name: string;\n protected _disabled: boolean;\n\n @ContentChildren(RadioButtonComponent, { descendants: true }) radios: QueryList<RadioButtonComponent>;\n\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\n protected onChange = (value: any) => {\n };\n protected onTouched = () => {\n };\n\n ngAfterContentInit() {\n // In case option 'name' isn't set on dr-radio component,\n // we need to set it's name right away, so it won't overlap with options\n // without names from other radio groups. Otherwise they all would have\n // same name and will be considered as options from one group so only the\n // last option will stay selected.\n this.updateNames();\n\n this.radios.changes.pipe(\n startWith(this.radios),\n // 'changes' emit during change detection run and we can't update\n // option properties right of since they already was initialized.\n // Instead we schedule microtask to update radios after change detection\n // run is finished and trigger one more change detection run.\n switchMap((radios: QueryList<RadioButtonComponent>) => from(Promise.resolve(radios))),\n takeUntil(this.destroy$),\n ).subscribe(() => this.updateAndSubscribeToRadios());\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n protected updateAndSubscribeToRadios() {\n this.updateValueFromCheckedOption();\n this.updateNames();\n this.updateValues();\n this.updateDisabled();\n this.subscribeOnRadiosValueChange();\n this.subscribeOnRadiosBlur();\n }\n\n protected updateNames() {\n if (this.radios) {\n this.radios.forEach((radio: RadioButtonComponent) => radio._setName(this.name));\n }\n }\n\n protected updateValues() {\n this.updateAndMarkForCheckRadios((radio: RadioButtonComponent) => {\n radio.modelValue = this.value;\n });\n }\n\n protected updateDisabled() {\n if (typeof this.disabled !== 'undefined') {\n this.updateAndMarkForCheckRadios((radio: RadioButtonComponent) => radio.disabled = this.disabled);\n }\n }\n\n protected subscribeOnRadiosValueChange() {\n if (!this.radios || !this.radios.length) {\n return;\n }\n\n merge(...this.radios.map((radio: RadioButtonComponent) => radio.valueChange)).pipe(\n takeUntil(\n merge(\n this.radios.changes,\n this.destroy$,\n ),\n ),\n ).subscribe((value: any) => {\n this.writeValue(value);\n this.propagateValue(value);\n });\n }\n\n protected propagateValue(value: any) {\n this.valueChange.emit(value);\n this.onChange(value);\n }\n\n protected subscribeOnRadiosBlur() {\n const hasNoRadios = !this.radios || !this.radios.length;\n if (!isPlatformBrowser(this.platformId) || hasNoRadios) {\n return;\n }\n\n const hostElement = this.hostElement.nativeElement;\n fromEvent<Event>(hostElement, 'focusin').pipe(\n filter(event => hostElement.contains(event.target as Node)),\n switchMap(() => merge(\n fromEvent<Event>(this.document, 'focusin'),\n fromEvent<Event>(this.document, 'click'),\n )),\n filter(event => !hostElement.contains(event.target as Node)),\n takeUntil(\n merge(\n this.radios.changes,\n this.destroy$,\n ),\n ),\n ).subscribe(() => this.onTouched());\n }\n\n protected updateAndMarkForCheckRadios(updateFn: (RadioButtonComponent) => void) {\n if (this.radios) {\n this.radios.forEach((radio) => {\n updateFn(radio);\n radio._markForCheck();\n });\n }\n }\n\n protected updateValueFromCheckedOption() {\n const checkedRadio = this.radios.find((radio) => radio.modelValue);\n const isValueMissing = this.value === undefined || this.value === null;\n if (checkedRadio && isValueMissing && checkedRadio.value !== this.value) {\n this.value = checkedRadio.value;\n }\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'dr-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() checkedStatus: boolean;\n @Input() disabled = false;\n @Input() icon: 'cross' | '' = '';\n\n @Input()\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n\n set indeterminate(value: boolean) {\n this._indeterminate = !!value;\n this.cdr.markForCheck();\n }\n\n private _indeterminate = false;\n @Output() checkedChange = new EventEmitter();\n\n onChange: (value: boolean) => void = () => {\n };\n onTouched: () => void = () => {\n };\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n writeValue(value: boolean) {\n this.checkedStatus = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n setValue(event) {\n const input = (event.target as HTMLInputElement);\n this.checkedStatus = input.checked;\n this.checkedChange.emit(this.checkedStatus);\n this.onChange(this.checkedStatus);\n this.indeterminate = input.indeterminate;\n this.onTouched();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { noop } from 'rxjs';\n\n@Component({\n selector: 'dr-input',\n templateUrl: './dr-input.component.html',\n styleUrls: ['./dr-input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DrInputComponent),\n multi: true\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrInputComponent implements AfterViewInit, ControlValueAccessor, OnDestroy {\n _clearable = false;\n\n @Input() set disabled(value) {\n this.setDisabledState(value);\n }\n\n @Input() set buttonOptions(value) {\n if (value) {\n this._buttonOptions = { ...this._buttonOptions, ...value };\n if (this._buttonOptions?.show || this._buttonOptions?.showOnFocus) {\n this._elementClass.push('with-button');\n }\n }\n if (this._buttonOptions.showOnFocus) {\n this.listenFunc = this.renderer.listen(this.elementRef.nativeElement, 'click', (event) => {\n this._buttonOptions.focusSet = true;\n this.cdr.markForCheck();\n });\n this.globalListenFunc = this.renderer.listen('document', 'click', event => {\n if (event.target.parentNode !== this.elementRef.nativeElement) {\n if (this._buttonOptions.checkFocusOut(event.target, this.elementRef.nativeElement)) {\n this.onButtonClicked(event);\n }\n }\n });\n }\n this.cdr.markForCheck();\n }\n\n @Input() type = 'string';\n @Input() name: string;\n @Input() placeholder = '';\n @Input() readonly = false;\n\n @Input() set clearable(val) {\n this._clearable = !!val;\n if (this._clearable) {\n this._elementClass.push('clearable');\n } else {\n this._elementClass = this._elementClass.filter(item => item !== 'clearable');\n }\n this.cdr.markForCheck();\n }\n\n @Input() min: number | string;\n @Input() max: number | string;\n @Input() minLength: number;\n @Input() maxlength: number;\n @Input() step;\n @Output() blur = new EventEmitter();\n @Output() ngModelDebounceChange = new EventEmitter();\n\n @HostBinding('class')\n get elementClass(): string {\n return this._elementClass.join(' ');\n }\n\n innerValue = null;\n _disabled = null;\n _elementClass: string[] = [];\n _buttonOptions = {\n show: false,\n showOnFocus: false,\n focusSet: false,\n checkFocusOut: (target: any, element: any) => true,\n text: 'Save'\n };\n listenFunc: (...params) => any;\n globalListenFunc: (...params) => any;\n\n\n @Output() searchHandler = new EventEmitter<any>();\n @Output() buttonHandler = new EventEmitter<any>();\n\n @ContentChild('prefix', { static: false }) prefixIcon: ElementRef;\n @ContentChild('suffix', { static: false }) suffixIcon: ElementRef;\n\n @HostBinding('tabindex') tabindex = -1;\n onChangeCallback: (_: any) => void = noop;\n onTouchedCallback: () => void = noop;\n onChange: (value: any) => void = () => {\n };\n onTouched: () => void = () => {\n };\n\n set(val: string) {\n this._elementClass = val.split(' ');\n }\n\n public get value(): string | number {\n return this.innerValue;\n }\n\n public set value(v: string | number) {\n if (v !== this.innerValue) {\n this.innerValue = this.type === 'number' ? +v : v;\n this.onChangeCallback(this.innerValue);\n }\n this.cdr.markForCheck();\n }\n\n\n constructor(private elementRef: ElementRef,\n private renderer: Renderer2,\n private cdr: ChangeDetectorRef) {\n }\n\n ngAfterViewInit(): void {\n if (this.clearable) {\n this._elementClass.push('clearable');\n }\n if (this.prefixIcon) {\n this._elementClass.push('with-prefix');\n }\n if (this.suffixIcon) {\n this._elementClass.push('with-suffix');\n }\n if (this.type === 'search') {\n this._elementClass.push('search-type');\n }\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n writeValue(value: number | string) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.updateChanges();\n this.cdr.markForCheck();\n }\n }\n\n updateChanges() {\n this.onChange(this.value);\n }\n\n setDisabledState(isDisabled: boolean) {\n if (isDisabled) {\n this._elementClass.push('disabled');\n } else {\n this._elementClass = this._elementClass.filter(item => item !== 'disabled');\n }\n this._disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onSearchClicked($event: any) {\n this.searchHandler.emit($event);\n }\n\n onButtonClicked($event: any) {\n this.buttonHandler.emit($event);\n this._buttonOptions.focusSet = false;\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n if (this.listenFunc) {\n this.listenFunc();\n this.globalListenFunc();\n }\n }\n\n onClear($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.value = null;\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst SELECT_HOST_ATTRIBUTES = [\n 'no-left-border',\n 'no-left-border-radius',\n 'no-right-border',\n 'no-right-border-radius',\n];\n\n@Component({\n selector: 'dr-select',\n templateUrl: './dr-select.component.html',\n styleUrls: ['./dr-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: DrSelectComponent,\n multi: true\n }]\n})\nexport class DrSelectComponent implements ControlValueAccessor {\n\n @Input() className: string;\n @Input() items: Array<any> = [];\n @Input() addTag: boolean | ((term: string) => any | Promise<any>);\n @Input() appendTo = 'body';\n @Input() bindLabel: string;\n @Input() bindValue: string;\n @Input() clearable: boolean;\n @Input() searchable: boolean;\n @Input() searchFn: (term: string, item: any) => boolean;\n @Input() multiple: boolean;\n @Input() hideSelected: boolean;\n @Input() placeholder: string;\n @Input() loading: boolean;\n @Input() readonly: boolean;\n @Input() disabled = false;\n @Input() groupBy = null;\n @Input() optionWithDescription = false;\n @Input() id: string;\n @Input() keyDownFn: ($event: KeyboardEvent) => boolean = () => true;\n @Input() selectedItem: any;\n\n @Input() set textView(val: boolean) {\n this.asTextView = val;\n }\n\n @Input() autofocus: boolean;\n @Input() isOpen: boolean;\n @Output() change: EventEmitter<any> = new EventEmitter<any>();\n @Output() open: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChild('labelTemplate') labelTemplate: TemplateRef<any>;\n @ContentChild('optionTemplate') optionTemplate: TemplateRef<any>;\n @ContentChild('optionHeaderTemplate') optionHeaderTemplate: TemplateRef<any>;\n @ContentChild('optionFooterTemplate') optionFooterTemplate: TemplateRef<any>;\n @HostBinding('class.textView') asTextView = false;\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n for (const attr of SELECT_HOST_ATTRIBUTES) {\n if (this.hasHostAttributes(attr)) {\n (this.getHostElement()).classList.add(attr);\n }\n }\n }\n\n onChange: (value: boolean) => void = () => {\n };\n onTouched: () => void = () => {\n };\n\n writeValue(value: any): void {\n this.selectedItem = value;\n this.onChange(this.selectedItem);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n\n if (fn && this.selectedItem) {\n this.onChange(this.selectedItem);\n }\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n private getHostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private hasHostAttributes(...attributes: string[]): boolean {\n return attributes.some(attribute => this.getHostElement().hasAttribute(attribute));\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'dr-avatar',\n templateUrl: 'dr-avatar.component.html',\n styleUrls: ['dr-avatar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrAvatarComponent {\n @Input() set users(users: any[] | any) {\n if (users) {\n this.parsedUsers = Array.isArray(users) ? users : [users];\n this.parsedUsers.forEach((user, index) => {\n if (!user.colorNumber) {\n user.colorNumber = index % 5;\n }\n });\n }\n }\n\n @Input() warning = false;\n @Input() showUnassigned = false;\n @Output() userClicked: EventEmitter<any> = new EventEmitter<any>();\n parsedUsers: any[] = [];\n\n constructor() {\n }\n\n getFirstUsers(): any[] {\n return this.parsedUsers.slice(0, 2);\n }\n\n getLastUsers(): any[] {\n if (this.parsedUsers.length > 2) {\n return this.parsedUsers.slice(2, this.parsedUsers.length - 1);\n }\n return [];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'drAvatar'\n})\nexport class DrAvatarPipe implements PipeTransform {\n\n transform(item: any, type: string = 'full'): string {\n if (type === 'initials') {\n const email = item.email ? item.email[0] : '';\n return (item.first_name && item.last_name ? (item.first_name[0] + item.last_name[0]) : email).toUpperCase();\n }\n\n return item.first_name && item.last_name ? (item.first_name + ' ' + item.last_name) : item.email;\n }\n}\n","import { animate, style, transition } from '@angular/animations';\n\nexport const POPUP_POSITIONS = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -8\n },\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -8\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -8\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 7\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 7\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 7\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -8\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -8\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -8\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 8\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 8\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 8\n }\n};\n\nexport const POPUP_ANIMATION = [\n transition(':enter', [\n style({ opacity: 0 }),\n animate(150, style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate(150, style({ opacity: 0 })),\n ]),\n];\n","import { Component, HostListener, Input, OnInit, TemplateRef } from '@angular/core';\nimport { trigger } from '@angular/animations';\nimport { POPUP_ANIMATION } from '../models/constants';\nimport { BehaviorSubject } from 'rxjs';\n\ntype TooltipOptions = {\n withoutContainerStyles?: boolean;\n withoutArrow?: boolean;\n};\n\n@Component({\n selector: 'dr-tooltip',\n templateUrl: './dr-tooltip.component.html',\n styleUrls: ['./dr-tooltip.component.scss'],\n animations: [\n trigger('tooltip', POPUP_ANIMATION),\n ],\n})\nexport class TooltipComponent implements OnInit {\n\n @Input() content;\n @Input() contentContext;\n @Input() position;\n @Input() options: TooltipOptions;\n @Input() class: string;\n isContentTemplate = false;\n\n public isMouseOn$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.isContentTemplate = this.content instanceof TemplateRef;\n }\n\n @HostListener('mouseenter')\n setMouseOn() {\n this.isMouseOn$.next(true);\n }\n\n @HostListener('mouseleave')\n unsetMouseOn() {\n this.isMouseOn$.next(false);\n }\n\n}\n","import { ComponentRef, Directive, ElementRef, HostListener, Input, OnDestroy } from '@angular/core';\nimport { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { TooltipComponent } from './dr-tooltip.component';\nimport { POPUP_POSITIONS } from '../models/constants';\nimport { Subscription } from 'rxjs';\nimport { skip } from 'rxjs/operators';\n\n@Directive({\n selector: '[drTooltip]'\n})\nexport class DrTooltipDirective implements OnDestroy {\n\n @Input('drTooltip')\n content: any;\n @Input('drTooltipContext')\n contentContext = {};\n @Input('drTooltipPosition')\n position = 'top';\n @Input('drTooltipClass')\n class = '';\n\n // is used for preserve tooltip from being hidden for N milliseconds\n @Input() drTooltipMousleaveTimeout = 0;\n\n @Input()\n set drTooltipOptions(options: any) {\n if (options?.indent) {\n const position = POPUP_POSITIONS[this.position];\n if (position.offsetY) {\n position.offsetY = position.offsetY < 0 ? -options.indent : options.indent;\n }\n if (position.offsetX) {\n position.offsetX = position.offsetX < 0 ? -options.indent : options.indent;\n }\n }\n this.options = options;\n }\n\n @Input('drTooltipShow')\n set showTooltip(value: boolean) {\n this.manualHandling = true;\n if (value) {\n this.renderTooltip();\n } else {\n this.destroyTooltip();\n }\n }\n\n private overlayRef: OverlayRef;\n private tooltipRef: ComponentRef<TooltipComponent>;\n\n private options;\n private manualHandling: boolean;\n private tooltipMouseOnSubscription: Subscription;\n private mouseleaveTimer: ReturnType<typeof setTimeout>;\n\n constructor(private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n private elementRef: ElementRef) {\n }\n\n ngOnDestroy(): void {\n if (!this.overlayRef) return null;\n\n if (this.overlayRef.hasAttached()) {\n this.hide();\n }\n // TODO: Temporary solution. line 162 doesn't stop function execution\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n\n if (this.tooltipMouseOnSubscription) {\n this.tooltipMouseOnSubscription.unsubscribe();\n }\n }\n\n @HostListener('mouseenter')\n show() {\n if (this.manualHandling || this.overlayRef) return;\n\n this.renderTooltip();\n }\n\n @HostListener('mouseleave')\n hide() {\n if (this.manualHandling || !this.tooltipRef || this.tooltipRef?.instance.isMouseOn$.getValue()) return;\n\n // if this timeout value is set - then preserve\n // tooltip from being hidden N milliseconds and not hiding it\n // in case mouse is pointed on tooltip\n if (this.drTooltipMousleaveTimeout) {\n\n if (this.mouseleaveTimer) {\n clearTimeout(this.mouseleaveTimer);\n }\n\n this.mouseleaveTimer = setTimeout(() => {\n if (this.tooltipRef && !this.tooltipRef?.instance.isMouseOn$.getValue()) {\n this.destroyTooltip();\n }\n }, this.drTooltipMousleaveTimeout);\n } else {\n this.destroyTooltip();\n }\n }\n\n private createOverlay(): void {\n const positionStrategy = this.overlayPositionBuilder.flexibleConnectedTo(this.elementRef).withPositions([POPUP_POSITIONS[this.position]]);\n\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n private renderTooltip(): void {\n this.createOverlay();\n if (!this.overlayRef?.hasAttached() && this.content) {\n this.tooltipRef = this.overlayRef.attach(new ComponentPortal(TooltipComponent));\n this.tooltipRef.instance.content = this.content;\n this.tooltipRef.instance.contentContext = this.contentContext;\n this.tooltipRef.instance.position = this.position;\n this.tooltipRef.instance.options = this.options;\n this.tooltipRef.instance.class = this.class + ' ' + this.position;\n\n this.tooltipMouseOnSubscription = this.tooltipRef.instance.isMouseOn$.pipe(skip(1)).subscribe((isMouseOn: boolean) => {\n if (!isMouseOn) {\n this.destroyTooltip();\n }\n });\n }\n }\n\n private destroyTooltip(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n this.overlayRef = null;\n this.tooltipRef = null;\n\n if (this.tooltipMouseOnSubscription) {\n this.tooltipMouseOnSubscription.unsubscribe();\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'dr-toggle',\n templateUrl: './dr-toggle.component.html',\n styleUrls: ['./dr-toggle.component.scss'],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: DrToggleComponent, multi: true }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrToggleComponent implements ControlValueAccessor, AfterViewInit {\n _disabled = false;\n _elementClass: string[] = [];\n\n @Input()\n toggleTitle: any;\n @Input()\n toggleTitleRight: boolean;\n @Input()\n successType: boolean;\n @Input()\n checkedStatus: boolean;\n\n @Input() set disabled(value: boolean) {\n this.setDisabledState(value);\n }\n\n @Output() checkedChange = new EventEmitter();\n\n @HostBinding('class') get elementClass(): string {\n return this._elementClass.join(' ');\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n ngAfterViewInit(): void {\n if (this.toggleTitleRight) {\n this._elementClass.push('toggle-label-alignment');\n }\n }\n\n onChange: (value: boolean) => void = () => {\n };\n onTouched: () => void = () => {\n };\n\n writeValue(value: boolean) {\n this.checkedStatus = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this._disabled = isDisabled;\n }\n\n setValue() {\n this.checkedStatus = !this.checkedStatus;\n this.onChange(this.checkedStatus);\n this.checkedChange.emit(this.checkedStatus);\n this.onTouched();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Input, } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'dr-toggle-button',\n templateUrl: './dr-toggle-button.component.html',\n styleUrls: ['./dr-toggle-button.component.scss'],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DrToggleButtonComponent), multi: true }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\n\nexport class DrToggleButtonComponent implements ControlValueAccessor {\n _disabled = false;\n\n @Input() items: string[] | any[];\n @Input() bindLabel: string | null = null;\n @Input() bindValue: string | null = null;\n @Input() selectedValue: boolean;\n\n @Input() set disabled(value: boolean) {\n this.setDisabledState(value);\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n onChange: (value: boolean) => void = () => {\n };\n onTouched: () => void = () => {\n };\n\n writeValue(value: any) {\n this.selectedValue = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this._disabled = isDisabled;\n }\n\n setValue(item) {\n this.selectedValue = item[this.bindValue] || item;\n this.onChange(this.selectedValue);\n this.onTouched();\n this.cdr.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ISpinnerOptions } from '../models/spinnerOptions';\n\n@Component({\n selector: 'dr-spinner',\n templateUrl: './dr-spinner.component.html',\n styleUrls: ['./dr-spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrSpinnerComponent {\n\n private _options: ISpinnerOptions;\n\n public set options(data: ISpinnerOptions) {\n this._options ||= data;\n }\n\n public get options(): ISpinnerOptions {\n return this._options;\n }\n}\n","export enum SpinnerType {\n LOGO = 'logo',\n CIRCLE = 'circle',\n}\n\nexport enum SpinnerSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n BIG = 'big',\n GIANT = 'giant',\n}\n\nexport interface ISpinnerOptions extends DOMRect {\n spinnerType?: SpinnerType;\n spinnerSize?: SpinnerSize;\n}\n","import {\n ComponentFactory,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { DrSpinnerComponent } from './dr-spinner.component';\nimport { SpinnerSize, SpinnerType } from '../models/spinnerOptions';\n\n@Directive({\n selector: '[drSpinner]'\n})\nexport class DrSpinnerDirective implements OnChanges, OnDestroy {\n\n @ViewChild(DrSpinnerComponent, { static: true, read: ViewContainerRef }) contentCmpRef;\n @Input() drSpinner;\n @Input() drSpinnerSize: SpinnerSize = SpinnerSize.MEDIUM;\n @Input() drSpinnerType: SpinnerType = SpinnerType.LOGO;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private el: ElementRef,\n private rdr: Renderer2,\n @Inject(DOCUMENT) private _document: any) {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const show = changes.drSpinner.currentValue;\n const options = this.el.nativeElement.getBoundingClientRect();\n if (this.contentCmpRef && !show) {\n this.contentCmpRef.destroy();\n this.contentCmpRef = null;\n } else if (this.drSpinner) {\n this.showSpinner({ ...options, spinnerSize: this.drSpinnerSize, spinnerType: this.drSpinnerType });\n }\n }\n\n public ngOnDestroy() {\n if (this.contentCmpRef) {\n this.contentCmpRef.destroy();\n }\n }\n\n private showSpinner(options) {\n const componentFactory: ComponentFactory<DrSpinnerComponent> = this.componentFactoryResolver.resolveComponentFactory(DrSpinnerComponent);\n this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);\n this.rdr.appendChild(this.el.nativeElement, this.contentCmpRef.location.nativeElement);\n this.contentCmpRef.instance.options = options;\n }\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\ntype ButtonType = 'primary' | 'secondary' | 'danger' | 'primary-icon' |\n 'secondary-icon' | 'icon' | 'primary-square' | 'ghost' | 'link-btn' | 'text-link' | 'simple-text' |\n 'split-primary-first' | 'split-primary-last' | 'split-secondary-first' | 'split-secondary-last' | 'dropdown';\n\n@Component({\n selector: 'dr-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class DrButtonComponent {\n\n _disabled = null;\n _isLoading = false;\n _elementClass: string[] = [];\n\n @Input() title: string;\n @Input() theme: ButtonType = 'primary';\n @Input() icon: string;\n @Input() iconAfterLabel: string;\n @Input() isBold = false;\n @Input() iconColor: string;\n\n @Input() set disabled(value) {\n if (value) {\n this._elementClass.push('disabled');\n } else {\n this._elementClass = this._elementClass.filter(item => item !== 'disabled');\n }\n this._disabled = value;\n }\n\n @Input() set isLoading(value) {\n if (value) {\n this._elementClass.push('loading');\n } else {\n this._elementClass = this._elementClass.filter(item => item !== 'loading');\n }\n this._isLoading = !!value;\n }\n\n @Output() click = new EventEmitter();\n\n @HostBinding('class')\n get elementClass(): string {\n return this._elementClass.join(' ');\n }\n\n set(val: string) {\n this._elementClass = val.split(' ');\n }\n\n constructor() {\n }\n\n public onClick($event) {\n $event.preventDefault();\n $event.stopPropagation();\n this.click.emit($event);\n }\n}\n\n// Examples:\n/*\n<dr-button [icon]=\"'dr-icon-arrow-down'\">hello</dr-button>\n<dr-button [icon]=\"'dr-icon-refresh'\" [theme]=\"'primary-icon'\"></dr-button>\n<dr-button [icon]=\"'dr-icon-refresh'\" [isDisabled]=\"true\" [theme]=\"'primary-icon'\"></dr-button>\n<dr-button [theme]=\"'secondary'\" [icon]=\"'dr-icon-excel'\" [iconColor]=\"'#03A678'\"></dr-button>\n\n<dr-button [icon]=\"'dr-icon-refresh'\" [theme]=\"'secondary-icon'\"></dr-button>\n<dr-button [icon]=\"'dr-icon-share'\" [isDisabled]=\"true\" [theme]=\"'secondary-icon'\"></dr-button>\n\n<dr-button [icon]=\"'dr-icon-share'\" [theme]=\"'icon'\"></dr-button>\n<dr-button [icon]=\"'dr-icon-share'\" [isDisabled]=\"true\" [theme]=\"'icon'\"></dr-button>\n\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\">Primary</dr-button>\n<dr-button [isDisabled]=\"false\" >Primary</dr-button>\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\" [theme]=\"'secondary'\">Secondary</dr-button>\n<dr-button [isDisabled]=\"false\" [icon]=\"'dr-icon-refresh'\" [theme]=\"'ghost'\">Ghost</dr-button>\n<dr-button [isDisabled]=\"false\" [theme]=\"'text-link'\">Text Link</dr-button>\n*/\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { DrPopoverComponent } from './dr-popover.component';\n\nexport class DrPopoverRef<T = any> {\n\n componentRef: ComponentRef<DrPopoverComponent<T>>;\n\n protected onClose$: Subject<any> = new Subject();\n // FIXME: this decision was made because of the incompatible rxjs version\n /**\n * Correct type is @type {Observable<any>}\n */\n readonly onClose: any = this.onClose$.asObservable();\n\n readonly onBackdropClick: Observable<MouseEvent>;\n\n constructor(private overlayRef: OverlayRef) {\n this.onBackdropClick = this.overlayRef.backdropClick();\n }\n\n close(res?: any): void {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n this.onClose$.next(res);\n this.onClose$.complete();\n }\n}\n","import { POPUP_POSITIONS } from './constants';\nimport { ElPosition } from './dropdown';\nimport { ElementRef } from '@angular/core';\nimport { OverlayConfig } from '@angular/cdk/overlay';\n\nexport { DrPopoverRef } from '../dr-popover/dr-popover-ref';\n\nexport interface Point {\n readonly x: number;\n readonly y: number;\n}\n\nexport interface IPopoverManualClosing {\n enabled: boolean;\n}\n\nexport interface IDrPopoverComponentModel {\n hostRef: ElementRef | HTMLElement | Point;\n position?: ElPosition;\n contentContext?: any;\n class?: string;\n overlayConfig?: DrPopoverConfig;\n manualClosing?: IPopoverManualClosing;\n targetElement?: HTMLElement;\n alignment?: DrPopoverAlignment;\n}\n\nexport interface DrPopoverConfig extends OverlayConfig {\n closeOnBackdropClick?: boolean;\n}\n\nexport type DrPopoverAlignment = 'host';\n\nexport enum DrPopoverAlignmentDimension {\n Width = 'width',\n Height = 'height',\n}\n\nexport const DEFAULT_CONFIG: DrPopoverConfig = {\n hasBackdrop: false,\n closeOnBackdropClick: false,\n backdropClass: 'dr-popover-transparent-backdrop',\n};\n\nexport const DEFAULT_MODEL: Partial<IDrPopoverComponentModel> = {\n position: 'bottom',\n class: '',\n overlayConfig: {},\n manualClosing: { enabled: false },\n};\n\nexport const getAlignmentDimension = (position: string): DrPopoverAlignmentDimension => {\n if (!POPUP_POSITIONS[position]) return DrPopoverAlignmentDimension.Width;\n if (position?.includes('left') || position?.includes('right')) {\n return DrPopoverAlignmentDimension.Height;\n }\n return DrPopoverAlignmentDimension.Width;\n};\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n TemplateRef,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { trigger } from '@angular/animations';\nimport { POPUP_ANIMATION } from '../models/constants';\nimport { DrPopoverRef } from './dr-popover-ref';\nimport { DrPopoverAlignment, getAlignmentDimension, IPopoverManualClosing, Point } from '../models/popover';\n\n@Component({\n selector: 'dr-popover',\n templateUrl: './dr-popover.component.html',\n styleUrls: ['./dr-popover.component.scss'],\n animations: [\n trigger('popover', POPUP_ANIMATION),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrPopoverComponent<T> implements OnInit {\n\n @Input() content: TemplateRef<any> | Type<T>;\n @Input() contentContext: any;\n @Input() class = '';\n @Input() hostRef: ElementRef<unknown> | HTMLElement | Point;\n @Input() manualClosing: IPopoverManualClosing;\n @Input() alignment: DrPopoverAlignment;\n @Input() position: string;\n\n @ViewChild('popoverContainer', { read: ElementRef, static: true }) popoverContainer: ElementRef<HTMLElement>;\n isContentTemplate = false;\n componentRef: ComponentRef<T>;\n\n @HostBinding('style.width') width: string;\n @HostBinding('style.height') height: string;\n\n @HostBinding('@popover') public popover = true;\n\n @HostListener('document:mouseup', ['$event'])\n clickOutside(e): void {\n const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || (this.hostRef.nativeElement as HTMLElement).contains(e.target));\n const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);\n const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');\n const isTargetInSelect = e.target.closest('ng-dropdown-panel');\n const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');\n\n if (!isTargetHost\n && !isTargetInPopover\n && !isTargetInDatepicker\n && !isTargetInSelect\n && !isTargetInDatepickerContent\n && !this.manualClosing.enabled\n ) {\n this.popoverRef.close();\n }\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef,\n private popoverRef: DrPopoverRef<T>,\n ) {\n }\n\n ngOnInit(): void {\n this.isContentTemplate = this.content instanceof TemplateRef;\n\n if (!this.isContentTemplate) {\n this.componentRef = this.viewContainerRef.createComponent(this.componentFactoryResolver.resolveComponentFactory(this.content as Type<T>));\n Object.assign(this.componentRef.instance, this.contentContext);\n this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);\n }\n if (this.alignment === 'host') {\n this[getAlignmentDimension(this.position)] = '100%';\n }\n\n this.cdr.detectChanges();\n }\n\n}\n","import { first } from 'rxjs/operators';\nimport { DrPopoverRef } from './dr-popover-ref';\nimport { DrPopoverComponent } from './dr-popover.component';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ElementRef, Injectable, Injector, StaticProvider, TemplateRef, Type } from '@angular/core';\nimport { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { POPUP_POSITIONS } from '../models/constants';\nimport {\n DEFAULT_CONFIG,\n DEFAULT_MODEL,\n getAlignmentDimension,\n IDrPopoverComponentModel,\n Point\n} from '../models/popover';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DrPopoverService {\n\n constructor(\n private overlay: Overlay,\n private overlayPositionBuilder: OverlayPositionBuilder,\n private injector: Injector,\n ) {\n }\n\n open<T>(content: Type<T> | TemplateRef<HTMLElement>, popoverModel: IDrPopoverComponentModel): DrPopoverRef<T> {\n if (!content) return;\n\n const model = { ...DEFAULT_MODEL, ...popoverModel };\n\n const overlayRef = this.createOverlay(model);\n\n const popoverRef = new DrPopoverRef<T>(overlayRef);\n\n this.attachOverlayContainer(content, model, overlayRef, popoverRef);\n\n this.registerListeners(model, overlayRef, popoverRef);\n\n return popoverRef;\n }\n\n private attachOverlayContainer<T>(\n content: Type<T> | TemplateRef<HTMLElement>,\n { contentContext, position, class: elementClass, manualClosing, hostRef, alignment }: IDrPopoverComponentModel,\n overlayRef: OverlayRef,\n popoverRef: DrPopoverRef<T>\n ): void {\n const componentPortal = new ComponentPortal<DrPopoverComponent<T>>(DrPopoverComponent, null, this.createInjector(popoverRef));\n const contentRef = overlayRef.attach<DrPopoverComponent<T>>(componentPortal);\n\n popoverRef.componentRef = contentRef;\n\n contentRef.instance.content = content;\n contentRef.instance.contentContext = { ...contentContext, closePopover: popoverRef.close.bind(popoverRef) };\n contentRef.instance.class = elementClass + ' ' + position;\n contentRef.instance.manualClosing = manualClosing;\n contentRef.instance.hostRef = hostRef;\n contentRef.instance.alignment = alignment;\n contentRef.instance.position = position;\n }\n\n private createOverlay(popoverModel: IDrPopoverComponentModel): OverlayRef {\n const overlayConfig = this.getOverlayConfig(popoverModel);\n return this.overlay.create(overlayConfig);\n }\n\n private getOverlayConfig(popoverModel: IDrPopoverComponentModel): OverlayConfig {\n if (!POPUP_POSITIONS[popoverModel.position]) throw new Error(`DrPopover does not support the '${ popoverModel?.position }' position!`);\n\n const config = { ...DEFAULT_CONFIG, ...popoverModel.overlayConfig || {} };\n const hostElement = this.getHostElement(popoverModel.hostRef);\n\n const positionStrategy = this.overlayPositionBuilder.flexibleConnectedTo(popoverModel.hostRef).withPositions([POPUP_POSITIONS[popoverModel.position]]);\n\n const overlayConfig = new OverlayConfig({\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy,\n ...config,\n });\n\n if (popoverModel.alignment === 'host' && hostElement) {\n const alignmentDimension = getAlignmentDimension(popoverModel.position);\n overlayConfig[alignmentDimension] = hostElement.getBoundingClientRect()[alignmentDimension];\n }\n\n return overlayConfig;\n }\n\n private createInjector<T>(popoverRef: DrPopoverRef<T>): Injector {\n const injectionTokens: StaticProvider[] = [\n { provide: DrPopoverRef, useValue: popoverRef },\n ];\n\n return Injector.create({ providers: injectionTokens, parent: this.injector });\n }\n\n private registerListeners<T>(popoverModel: IDrPopoverComponentModel, overlayRef: OverlayRef, popoverRef: DrPopoverRef<T>): void {\n const config = popoverModel.overlayConfig || {};\n const targetElement = popoverModel.targetElement;\n const hostElement = this.getHostElement(popoverModel.hostRef);\n\n if (config?.closeOnBackdropClick && config?.hasBackdrop) {\n overlayRef.backdropClick().subscribe(() => popoverRef.close());\n }\n\n if (targetElement) {\n targetElement.addEventListener('mouseup', () => popoverRef.close(), { once: true });\n }\n\n if (popoverModel.alignment === 'host' && hostElement) {\n const alignmentDimension = getAlignmentDimension(popoverModel.position);\n const resizeObserver = new ResizeObserver(entries => {\n entries.forEach(host => overlayRef.updateSize({ [alignmentDimension]: host.target.getBoundingClientRect()[alignmentDimension] }));\n });\n resizeObserver.observe(hostElement);\n popoverRef.onClose.pipe(first()).subscribe(() => resizeObserver.unobserve(hostElement));\n }\n }\n\n private getHostElement<T>(hostRef: Point | HTMLElement | ElementRef<T>): HTMLElement {\n if (!hostRef || (<Point>hostRef).x) return null;\n if ((<ElementRef>hostRef).nativeElement) return (<ElementRef>hostRef).nativeElement;\n return <HTMLElement>hostRef;\n }\n\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n Type,\n} from '@angular/core';\nimport { OverlayConfig } from '@angular/cdk/overlay';\nimport { first } from 'rxjs/operators';\nimport { ElPosition } from './../models/dropdown';\nimport { DrPopoverRef } from './dr-popover-ref';\nimport { DrPopoverService } from './dr-popover.service';\nimport { DrPopoverAlignment, IPopoverManualClosing } from '../models/popover';\n\n@Directive({\n selector: '[drPopover]'\n})\nexport class DrPopoverDirective<T> implements OnDestroy {\n\n @Input('drPopover') content: TemplateRef<any> | Type<T>;\n\n @Input('drPopoverContext') contentContext: any = {};\n\n @Input('drPopoverPosition') position: ElPosition = 'bottom';\n\n @Input('drPopoverClass') class = '';\n\n @Input('drPopoverOverlayConfig') overlayConfig: OverlayConfig = {};\n\n @Input('drPopoverManualClosing') manualClosing: IPopoverManualClosing = { enabled: false };\n\n @Input('drPopoverAlignment') alignment: DrPopoverAlignment;\n\n @Input('drPopoverDisabled') disabled: boolean;\n\n // eslint-disable-next-line\n @Output('drPopoverClose') popoverClose = new EventEmitter<any>();\n\n // eslint-disable-next-line\n @Output('drPopoverShowStateChange') showStateChange = new EventEmitter<{ isShown: boolean }>();\n\n private popoverRef: DrPopoverRef<T>;\n\n constructor(private elementRef: ElementRef,\n private drPopoverService: DrPopoverService,\n ) {\n }\n\n @HostListener('click')\n togglePopover(): void {\n if (this.disabled) return;\n\n if (this.popoverRef) {\n this.closePopover();\n } else {\n this.renderPopover();\n this.showStateChange.emit({ isShown: !!this.popoverRef });\n }\n }\n\n closePopover(res?: any): void {\n if (this.popoverRef) {\n this.popoverRef.close(res);\n this.popoverRef = null;\n }\n }\n\n private renderPopover(): void {\n const popoverRef = this.popoverRef = this.drPopoverService.open(this.content, {\n hostRef: this.elementRef,\n overlayConfig: this.overlayConfig,\n class: this.class,\n manualClosing: this.manualClosing,\n position: this.position,\n contentContext: this.contentContext,\n alignment: this.alignment,\n });\n\n popoverRef.onClose.pipe(first()).subscribe((res) => {\n this.closePopover();\n this.popoverClose.emit(res);\n this.showStateChange.emit({ isShown: !!this.popoverRef });\n });\n }\n\n ngOnDestroy(): void {\n this.closePopover();\n }\n}\n","import { ComponentRef, Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { DrDropdownComponent } from './dr-dropdown.component';\nimport { IDropdownAction } from '../models/dropdown';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DrDropdownService {\n\n actionItem = new Subject<IDropdownAction<unknown>>();\n protected menuInView: ComponentRef<DrDropdownComponent>;\n\n constructor() {\n }\n\n set addMenu(item: ComponentRef<DrDropdownComponent>) {\n this.menuInView = item;\n }\n\n destroy() {\n if (this.menuInView) {\n this.menuInView.destroy();\n }\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';\nimport { ElPosition, IDropdown, IDropdownActionIcon, IDropdownCoordinate, IDropdownItem } from '../models/dropdown';\nimport { DrDropdownService } from './dr-dropdown.service';\n\n@Component({\n selector: 'dr-dropdown',\n templateUrl: './dr-dropdown.component.html',\n styleUrls: ['./dr-dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrDropdownComponent {\n\n @ViewChild('listMenu') viewMenu: HTMLElement;\n @ViewChild('menuContainer') menuContainer: HTMLElement;\n option: any;\n position: ElPosition | IDropdownCoordinate = 'left';\n drDropdownInHover: boolean;\n list: IDropdownItem<unknown>[];\n containerClass: string;\n public wasHovered = false;\n private firstInit: boolean;\n\n constructor(protected menuService: DrDropdownService, private cdr: ChangeDetectorRef) {\n }\n\n @Input() set options(data: IDropdown<IDropdownItem<any>>) {\n if (data) {\n this.option = data.option;\n this.position = data.position;\n this.drDropdownInHover = data.drDropdownInHover;\n this.containerClass = data.class;\n this.list = data.list || [];\n this.list.forEach(item => {\n if (item.children?.length) {\n item.childOptions = {\n list: item.children,\n class: item?.childOptions?.class || '',\n position: 'child'\n };\n }\n });\n this.cdr.markForCheck();\n }\n }\n\n onMouseEnter(): void {\n this.wasHovered = true;\n }\n\n onMouseLeave(): void {\n if (this.drDropdownInHover) this.menuService.destroy();\n }\n\n onClickedOutside(): void {\n if (this.firstInit) {\n this.menuService.destroy();\n } else {\n this.firstInit = true;\n }\n }\n\n hide(): void {\n this.menuService.destroy();\n }\n\n disabled(act: IDropdownItem<unknown> | IDropdownActionIcon<any>): boolean {\n if (!act.disabled) {\n return false;\n }\n if (typeof act.disabled === 'boolean') {\n return act.disabled;\n } else {\n return act.disabled(act.data);\n }\n }\n\n selected(act: IDropdownItem<unknown>): boolean {\n if (!act.selected) {\n return false;\n }\n if (typeof act.selected === 'boolean') {\n return act.selected;\n } else {\n return act.selected(act.data);\n }\n }\n\n tooltipToShow(act: IDropdownItem<unknown>): string {\n if (act.toolTipIfDisabled && !this.disabled(act)) return '';\n return act.toolTip;\n }\n\n tooltipPosition(widthMoreRight: boolean) {\n return widthMoreRight ? 'right' : 'left';\n }\n\n action(act: IDropdownItem<any>) {\n if (!this.disabled(act)) {\n if (act.action) {\n act.action(act.data);\n } else {\n this.menuService.actionItem.next({ event: act.event || act.title || 'default', data: act.data });\n }\n this.hide();\n }\n }\n\n onActionIconClick($event, actionIcon: IDropdownActionIcon<any>, data: any) {\n $event.stopPropagation();\n if (!this.disabled(actionIcon)) {\n actionIcon.action(data);\n this.hide();\n }\n }\n}\n\n","import {\n ComponentFactory,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { ElPosition, IDropdown, IDropdownItem } from '../models/dropdown';\nimport { DrDropdownComponent } from './dr-dropdown.component';\nimport { DrDropdownService } from './dr-dropdown.service';\n\n@Directive({\n selector: '[drDropdown]'\n})\nexport class DrDropdownDirective<T> implements OnDestroy {\n\n @Input() position: ElPosition = 'left';\n @Input() drDropdown: IDropdownItem<T>[];\n @Input() drDropdownClass: string;\n @Input() drDropdownInHover: boolean;\n @ViewChild(DrDropdownComponent, { static: true, read: ViewContainerRef }) contentCmpRef;\n\n private readonly mouseleaveTimeout = 200;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private service: DrDropdownService,\n private el: ElementRef,\n @Inject(DOCUMENT) private _document: any) {\n }\n\n @HostListener('mouseenter') elementHover() {\n if (!this.drDropdownInHover) return;\n this.openDropdown();\n }\n\n @HostListener('click') elementClick() {\n this.openDropdown();\n }\n\n @HostListener('mouseleave') leaveDropdownTriggerElement() {\n if (this.drDropdownInHover) {\n setTimeout(_ => {\n if (this.contentCmpRef && !this.contentCmpRef.instance.wasHovered) {\n this.contentCmpRef.destroy();\n this.contentCmpRef = null;\n }\n }, this.mouseleaveTimeout);\n }\n }\n\n @HostListener('document:mouseup', ['$event']) documentClick(e) {\n this.closeDropdown(e);\n }\n\n private openDropdown(): void {\n const option = this.el.nativeElement.getBoundingClientRect();\n this._document.querySelectorAll('dr-dropdown').forEach(item => item.remove());\n if (this.contentCmpRef && this.contentCmpRef.destroyCbs) {\n this.contentCmpRef.destroy();\n this.contentCmpRef = null;\n } else {\n this.service.destroy();\n this.showMenu({\n option,\n drDropdownInHover: this.drDropdownInHover,\n position: this.position,\n list: this.drDropdown,\n class: this.drDropdownClass\n });\n }\n }\n\n private closeDropdown(e): void {\n\n if (!this.contentCmpRef) {\n return;\n }\n\n const clickTarget = e.target;\n const triggerElement = this.el.nativeElement;\n const dropdownElement = this.contentCmpRef.location.nativeElement;\n const isClickTriggerElement = triggerElement.contains(clickTarget) || triggerElement === clickTarget;\n const isClickDropdownContents = dropdownElement.contains(clickTarget);\n\n if (!isClickTriggerElement && !isClickDropdownContents) {\n const elems = this._document.querySelectorAll('dr-dropdown');\n setTimeout(() => elems.forEach(item => item.remove()), 100);\n }\n }\n\n private showMenu(options: IDropdown<T>) {\n const componentFactory: ComponentFactory<DrDropdownComponent> = this.componentFactoryResolver.resolveComponentFactory(DrDropdownComponent);\n this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);\n this.service.addMenu = this.contentCmpRef;\n this._document.querySelector('dr-layout').appendChild(this.contentCmpRef.location.nativeElement);\n this.contentCmpRef.instance.options = options;\n }\n\n public ngOnDestroy() {\n if (this.contentCmpRef) {\n this.contentCmpRef.destroy();\n }\n }\n}\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport { ElPosition, IDropdownCoordinate } from '../models/dropdown';\n\n@Directive({\n selector: '[drDropdownPosition]',\n exportAs: 'dropdownPosition'\n})\nexport class DrDropdownPositionDirective implements OnInit {\n\n @Input() drDropdownPosition;\n @Input() position: ElPosition | IDropdownCoordinate = 'left';\n\n widthMoreRight: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit(): void {\n setTimeout(this.calculatePosition.bind(this), 1);\n }\n\n calculatePosition() {\n let xDifference = 0;\n let defaultDelta = 10;\n let defaultPadding = 0;\n const originalPosition = this.position;\n\n if (this.position === 'child') {\n defaultDelta = 0;\n defaultPadding = 10;\n xDifference = this.el.nativeElement.parentElement.parentElement.offsetWidth - this.el.nativeElement.offsetWidth;\n const parentRect = this.el.nativeElement.parentElement.parentElement.getBoundingClientRect();\n\n this.position = {\n x: this.el.nativeElement.offsetWidth,\n y: this.el.nativeElement.parentElement.parentElement.offsetTop - 9,\n clientX: parentRect.x + this.el.nativeElement.parentElement.parentElement.offsetWidth,\n clientY: parentRect.y\n };\n }\n\n if (typeof this.position === 'string') {\n this.renderer.setStyle(this.el.nativeElement, 'top',\n this.position === 'bottom' ?\n this.drDropdownPosition.y - this.drDropdownPosition.height + 'px' :\n this.drDropdownPosition.y + 'px');\n this.renderer.setStyle(this.el.nativeElement, 'left',\n this.position === 'right' ?\n this.drDropdownPosition.x + this.drDropdownPosition.width + 'px' :\n this.drDropdownPosition.x + 'px');\n const menuHeight = this.el.nativeElement.offsetHeight;\n const heightMoreWindowBottom = menuHeight + this.drDropdownPosition.y > window.innerHeight;\n const heightMoreWindowTop = menuHeight - this.drDropdownPosition.y + this.drDropdownPosition.height / 2 > 48; // header height;\n const widthMoreWindowRight = this.drDropdownPosition.x + 250 > window.innerWidth;\n\n const spaceBetweenElAndRightBorder = window.innerWidth - (this.drDropdownPosition.x + this.el.nativeElement.offsetWidth);\n this.widthMoreRight = this.drDropdownPosition.x < spaceBetweenElAndRightBorder;\n\n if (heightMoreWindowBottom) {\n this.position = 'top';\n }\n if (heightMoreWindowBottom && widthMoreWindowRight && !heightMoreWindowTop || this.position === 'top-left') {\n this.position = 'top-left';\n this.renderer.setStyle(this.el.nativeElement, 'transform',\n 'translate(-100%, calc(-100% + ' + this.drDropdownPosition.height + 'px))');\n }\n if (heightMoreWindowTop && heightMoreWindowBottom) {\n this.position = 'left-center';\n }\n if (this.position === 'bottom-left') {\n this.renderer.setStyle(\n this.el.nativeElement,\n 'transform',\n `translate(calc(-100% + ${ this.drDropdownPosition.width }px), ${ this.drDropdownPosition.height + 8 }px)`\n );\n }\n const className = this.position === 'top' ? 'content-top'\n : this.position === 'top-left' ? 'content-top-left'\n : this.position === 'bottom' ? 'content-bottom'\n : this.position === 'bottom-left' ? 'content-bottom-left'\n : this.position === 'left' ? 'content-left'\n : this.position === 'left-center' ? 'content-left-center'\n : this.position === 'right' ? 'content-right'\n : this.position === 'bottom-right' ? 'content-bottom-right' : '';\n this.renderer.addClass(this.el.nativeElement, className);\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');\n } else {\n const defaultChildPadding = 3;\n const widthMoreWindowRight = originalPosition !== 'child'\n ? window.innerWidth - (this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding)\n : window.innerWidth - this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding;\n\n const widthMoreWindowBottom = originalPosition !== 'child'\n ? window.innerHeight - (this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding)\n : window.innerHeight - this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding;\n\n const spaceRightAmount = window.innerWidth - (this.position.clientX + this.el.nativeElement.offsetWidth + defaultPadding);\n this.widthMoreRight = !(widthMoreWindowRight < 0);\n\n let calculatedHorizantallyPos = widthMoreWindowRight < 0\n ? -this.position.x + -defaultChildPadding\n : this.position.x + defaultChildPadding + xDifference;\n\n if (spaceRightAmount <= 0 && originalPosition !== 'child') {\n calculatedHorizantallyPos -= this.el.nativeElement.offsetWidth;\n }\n\n const deltaHeight = widthMoreWindowBottom < 0 ? widthMoreWindowBottom : defaultDelta;\n\n this.renderer.setStyle(this.el.nativeElement, 'top', (this.position.y + deltaHeight) + 'px');\n this.renderer.setStyle(this.el.nativeElement, 'left', (calculatedHorizantallyPos) + 'px');\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { IDropdownItem } from '../models/dropdown';\n\n@Pipe({\n name: 'drDropdownItemShowPipe'\n})\nexport class DrDropdownItemShowPipe<T> implements PipeTransform {\n transform(arr: IDropdownItem<T>[]): IDropdownItem<T>[] {\n return arr.filter(item => item.show ? item.show(item.data) : true);\n }\n}\n","import { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'dr-tab',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `\n})\nexport class DrTabComponent implements OnInit {\n @Input() label: string;\n @Input() disabled: boolean;\n @ViewChild(TemplateRef) public contentTemplate: TemplateRef<any>;\n\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","import { Component, ContentChildren, EventEmitter, Input, Output, QueryList, } from '@angular/core';\nimport { DrTabComponent } from './dr-tab.component';\n\n@Component({\n selector: 'dr-tabs',\n templateUrl: './dr-tabs.component.html',\n styleUrls: ['./dr-tabs.component.scss'],\n})\nexport class DrTabsComponent {\n\n @Input() selectedTab = 0;\n @Input() withRadio: boolean;\n @Input() vertical: boolean;\n @Input() noBodyPadding = false;\n @Output() selectedTabChange: EventEmitter<any> = new EventEmitter<any>();\n @ContentChildren(DrTabComponent) public tabsContentList: QueryList<DrTabComponent>;\n\n constructor() {\n }\n\n selectedIndexChange($event) {\n this.selectedTab = $event;\n this.selectedTabChange.emit($event);\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'dr-accordion',\n template: '<ng-content select=\"dr-accordion-item\"></ng-content>',\n styleUrls: ['./accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrAccordionComponent {\n static ngAcceptInputType_multi: any;\n openCloseItems = new Subject<boolean>();\n\n /**\n * Allow multiple items to be expanded at the same time.\n */\n @Input('multi')\n get multi(): boolean {\n return this.multiValue;\n }\n\n set multi(val: boolean) {\n this.multiValue = !!val;\n }\n\n private multiValue = false;\n\n /**\n * Opens all enabled accordion items.\n */\n openAll() {\n if (this.multi) {\n this.openCloseItems.next(false);\n }\n }\n\n /**\n * Closes all enabled accordion items.\n */\n closeAll() {\n this.openCloseItems.next(true);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Host,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DrAccordionComponent } from './accordion.component';\n\n@Component({\n selector: 'dr-accordion-item',\n styleUrls: ['./accordion-item.component.scss'],\n template: `\n <ng-content select=\"dr-accordion-item-header\"></ng-content>\n <ng-content select=\"dr-accordion-item-body\"></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrAccordionItemComponent implements OnInit, OnChanges, OnDestroy {\n\n /**\n * Item is collapse (`true` by default)\n *\n * @type {boolean}\n */\n @Input('collapsed')\n @HostBinding('class.collapsed')\n get collapsed(): boolean {\n return this.collapsedValue;\n }\n\n set collapsed(val: boolean) {\n this.collapsedValue = !!val;\n this.collapsedChange.emit(this.collapsedValue);\n this.invalidate();\n }\n\n static ngAcceptInputType_collapsed: any;\n\n /**\n * Item is expanded (`false` by default)\n */\n @Input('expanded')\n @HostBinding('class.expanded')\n get expanded(): boolean {\n return !this.collapsed;\n }\n\n set expanded(val: boolean) {\n this.collapsedValue = !val;\n }\n\n static ngAcceptInputType_expanded: any;\n\n /**\n * Item is disabled and cannot be opened.\n *\n * @type {boolean}\n */\n @Input('disabled')\n @HostBinding('class.disabled')\n get disabled(): boolean {\n return this.disabledValue;\n }\n\n set disabled(val: boolean) {\n this.disabledValue = !!val;\n this.invalidate();\n }\n\n static ngAcceptInputType_disabled: any;\n\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n */\n @Output() collapsedChange = new EventEmitter<boolean>();\n\n accordionItemInvalidate = new Subject<boolean>();\n\n private collapsedValue = true;\n private disabledValue = false;\n private destroy$ = new Subject<void>();\n\n constructor(@Host() private accordion: DrAccordionComponent, private cd: ChangeDetectorRef) {\n }\n\n /**\n * Open/close the item\n */\n toggle() {\n if (!this.disabled) {\n // we need this temporary variable as `openCloseItems.next` will change current value we need to save\n const willSet = !this.collapsed;\n\n if (!this.accordion.multi) {\n this.accordion.openCloseItems.next(true);\n }\n this.collapsed = willSet;\n }\n }\n\n /**\n * Open the item.\n */\n open() {\n if (!this.disabled) {\n this.collapsed = false;\n }\n }\n\n /**\n * Collapse the item.\n */\n close() {\n if (!this.disabled) {\n this.collapsed = true;\n }\n }\n\n ngOnInit() {\n this.accordion.openCloseItems.pipe(takeUntil(this.destroy$)).subscribe(collapsed => {\n if (!this.disabled) {\n this.collapsed = collapsed;\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.accordionItemInvalidate.next(true);\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n this.accordionItemInvalidate.complete();\n }\n\n private invalidate() {\n this.accordionItemInvalidate.next(true);\n this.cd.markForCheck();\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Host,\n HostBinding,\n HostListener,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { DrAccordionItemComponent } from './accordion-item.component';\n\n@Component({\n selector: 'dr-accordion-item-header',\n styleUrls: ['./accordion-item-header.component.scss'],\n template: `\n <ng-content select=\"dr-accordion-item-title\"></ng-content>\n <ng-content select=\"dr-accordion-item-description\"></ng-content>\n <ng-content></ng-content>\n <i class=\"dr-icon-arrow-down expansion-indicator\"\n [@expansionIndicator]=\"state\"\n *ngIf=\"!disabled\">\n </i>\n `,\n animations: [\n trigger('expansionIndicator', [\n state(\n 'expanded',\n style({\n transform: 'rotate(180deg)',\n }),\n ),\n transition('collapsed => expanded', animate('100ms ease-in')),\n transition('expanded => collapsed', animate('100ms ease-out')),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrAccordionItemHeaderComponent implements OnInit, OnDestroy {\n private destroy$ = new Subject<void>();\n\n @HostBinding('class.accordion-item-header-collapsed')\n get isCollapsed(): boolean {\n return this.accordionItem.collapsed;\n }\n\n @HostBinding('class.accordion-item-header-expanded')\n @HostBinding('attr.aria-expanded')\n get expanded(): boolean {\n return !this.accordionItem.collapsed;\n }\n\n @HostBinding('attr.tabindex')\n get tabbable(): string {\n return this.accordionItem.disabled ? '-1' : '0';\n }\n\n @HostBinding('attr.aria-disabled')\n get disabled(): boolean {\n return this.accordionItem.disabled;\n }\n\n @HostListener('click')\n @HostListener('keydown.space')\n @HostListener('keydown.enter')\n toggle() {\n this.accordionItem.toggle();\n }\n\n get state(): string {\n if (this.isCollapsed) {\n return 'collapsed';\n }\n return 'expanded';\n }\n\n constructor(@Host() private accordionItem: DrAccordionItemComponent, private cd: ChangeDetectorRef) {\n }\n\n ngOnInit() {\n this.accordionItem.accordionItemInvalidate.pipe(takeUntil(this.destroy$)).subscribe(() => this.cd.markForCheck());\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Host, OnDestroy, OnInit, } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { DrAccordionItemComponent } from './accordion-item.component';\n\nconst accordionItemBodyTrigger = trigger('accordionItemBody', [\n state(\n 'collapsed',\n style({\n overflow: 'hidden',\n visibility: 'hidden',\n height: 0,\n }),\n ),\n state(\n 'expanded',\n style({\n overflow: 'hidden',\n visibility: 'visible',\n }),\n ),\n transition('collapsed => expanded', animate('100ms ease-in')),\n transition('expanded => collapsed', animate('100ms ease-out')),\n]);\n\n@Component({\n selector: 'dr-accordion-item-body',\n template: `\n <div [@accordionItemBody]=\"{ value: state }\">\n <div class=\"item-body\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n styleUrls: ['./accordion-item-body.component.scss'],\n animations: [accordionItemBodyTrigger],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrAccordionItemBodyComponent implements OnInit, OnDestroy {\n private destroy$ = new Subject<void>();\n\n constructor(@Host() private accordionItem: DrAccordionItemComponent, private cd: ChangeDetectorRef) {\n }\n\n get state(): string {\n return this.accordionItem.collapsed ? 'collapsed' : 'expanded';\n }\n\n ngOnInit() {\n this.accordionItem.accordionItemInvalidate.pipe(takeUntil(this.destroy$)).subscribe(() => this.cd.markForCheck());\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dr-layout',\n styleUrls: ['./dr-layout.component.scss'],\n templateUrl: './dr-layout.component.html',\n})\nexport class DrLayoutComponent {\n constructor() {\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dr-layout-header',\n template: `\n <nav>\n <ng-content></ng-content>\n </nav>\n `,\n})\nexport class DrLayoutHeaderComponent {\n constructor() {\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'dr-layout-body',\n template: '<ng-content></ng-content>',\n})\nexport class DrLayoutBodyComponent {\n constructor() {\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Component({\n templateUrl: 'dr-error.component.html',\n selector: 'dr-error',\n styleUrls: ['dr-error.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DrErrorComponent implements OnDestroy {\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n private destroyed$ = new Subject<void>();\n public _control: FormControl;\n @Input() set control(value: FormControl) {\n if (value) {\n this._control = value;\n this.cdr.markForCheck();\n this._control.valueChanges.pipe(takeUntil(this.destroyed$)).subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n }\n\n @Input() label = 'Field error';\n\n\n get errorString() {\n if (this._control.hasError('required')) {\n return 'Field is required!';\n }\n\n return this._control.errors?.errorString || null;\n }\n\n get isWarning() {\n return this._control.errors?.isWarning;\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ComponentFactory,\n ComponentFactoryResolver,\n HostBinding,\n Inject,\n OnDestroy,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DataProp, SizeModal } from '../../interfaces/dialog-data';\nimport * as _ from 'lodash';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { catchError, takeUntil } from 'rxjs/operators';\nimport { DialogService } from '../../services/dialog.service';\n\n@Component({\n selector: 'dr-dialog-wrapper',\n templateUrl: './dialog-wrapper.component.html',\n styleUrls: ['./dialog-wrapper.component.scss'],\n})\nexport class DialogWrapperComponent implements AfterViewInit, OnDestroy {\n\n @ViewChild('content', { read: ViewContainerRef }) content: ViewContainerRef;\n\n @HostBinding('class') class: SizeModal = this.dialogData?.theme?.noThemeSizeClass ? null : this.dialogData?.theme?.themeSize || 'medium-modal';\n childComponent: any;\n isLoading: boolean;\n saving$ = new BehaviorSubject(false);\n destroy$: Subject<any> = new Subject();\n\n constructor(public dialogRef: MatDialogRef<DialogWrapperComponent>,\n private dialogService: DialogService,\n private cdr: ChangeDetectorRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n @Inject(MAT_DIALOG_DATA) public dialogData: DataProp) {\n }\n\n ngAfterViewInit(): Error {\n if (!this.dialogData.child) {\n return new Error('Expected componentTypeChild');\n }\n const componentFactory: ComponentFactory<any> = this.componentFactoryResolver.resolveComponentFactory(this.dialogData.child);\n this.childComponent = this.content.createComponent(componentFactory).instance;\n this.childComponent.closeDialog = this.closeDialog.bind(this);\n this.childComponent.onAcceptDialog = this.onAcceptDialog.bind(this);\n\n // pass data to component child\n if (this.dialogData.childData) {\n _.assign(this.childComponent, this.dialogData.childData);\n }\n // call component child init func - looks like double init\n // if (this.childComponent.ngOnInit) {\n // this.childComponent.ngOnInit();\n // }\n this.cdr.detectChanges();\n }\n\n closeDialog(data?: any) {\n this.dialogRef.close(data || false);\n }\n\n onDecline() {\n this.dialogRef.close(undefined);\n }\n\n onAcceptDialog(data?: any) {\n if (!this.childComponent) {\n this.dialogRef.close(data || true);\n return;\n }\n const funcName = this.dialogData.acceptButton.functions;\n if (this.childComponent[funcName]) this.childComponent[funcName]();\n const loadFuncName = this.dialogData.acceptButton.loading;\n if (this.childComponent[loadFuncName]) this.isLoading = this.childComponent[loadFuncName]();\n\n if (this.dialogData.confirmFn) {\n this.saving$.next(true);\n this.dialogData.confirmFn().pipe(takeUntil(this.destroy$), catchError(error => this.dialogService.throwErr(error, this.saving$))).subscribe(() => {\n this.saving$.next(false);\n this.dialogRef.close(data || true);\n });\n }\n\n if (this.childComponent && !this.childComponent[funcName]) {\n this.dialogRef.close(data || true);\n return;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(null);\n this.destroy$.complete();\n }\n}\n","import { Component, HostBinding, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DataProp } from '../../interfaces/dialog-data';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { catchError, takeUntil } from 'rxjs/operators';\nimport { DialogService } from '../../services/dialog.service';\n\n@Component({\n selector: 'dr-dialog-modal-wrapper',\n templateUrl: './dialog-modal-wrapper.component.html',\n styleUrls: ['./dialog-modal-wrapper.component.scss'],\n\n})\nexport class DialogModalWrapperComponent implements OnInit, OnDestroy {\n @HostBinding('class') class = this?.dialogData?.theme?.themeSize;\n form: FormGroup;\n saving$ = new BehaviorSubject(false);\n isLoading = false;\n showServerErrorMessage = false;\n destroy$: Subject<any> = new Subject();\n\n constructor(\n public dialogRef: MatDialogRef<DialogModalWrapperComponent>,\n private dialogService: DialogService,\n @Inject(MAT_DIALOG_DATA) public dialogData: DataProp,\n ) {\n }\n\n ngOnInit(): void {\n if (this.dialogData.fields) {\n this.form = new FormGroup(\n this.dialogData.fields.reduce((accumulator, currentValue) => {\n const currentFormControl = {};\n currentFormControl[currentValue.name] = new FormControl(currentValue.default || null, currentValue.validators || []);\n return Object.assign(accumulator, currentFormControl);\n }, {})\n );\n }\n }\n\n onAccept() {\n if (!this.dialogData.confirmFn) return this.dialogRef.close(this.form.value || true);\n\n this.isLoading = true;\n this.saving$.next(true);\n this.dialogData.confirmFn(this.form.value).pipe(\n takeUntil(this.destroy$),\n catchError((err) => {\n this.showServerErrorMessage = true;\n this.isLoading = false;\n return this.dialogService.throwErr(err, this.saving$);\n })\n ).subscribe(() => {\n this.saving$.next(false);\n this.dialogRef.close(this.form.value || true);\n });\n }\n\n footerAction(): void {\n this.dialogData.footerTemplateData.action(this.form.value);\n }\n\n closeDialog() {\n this.dialogRef.close(false);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(null);\n this.destroy$.complete();\n }\n}\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { ConfirmDialogData, DataProp, DialogData, DialogTheme } from '../interfaces/dialog-data';\nimport { DialogWrapperComponent } from '../components/dialog-wrapper/dialog-wrapper.component';\nimport { DialogModalWrapperComponent } from '../components/dialog-modal-wrapper/dialog-modal-wrapper.component';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\nconst DEFAULT_PANE_CLASS_NAME = 'wrapper-dialog';\n\nconst DEFAULT_CONFIRM_THEME: DialogTheme = { themeSize: 'small-modal' };\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogService {\n\n private wrapperComponent: MatDialogRef<any>;\n\n constructor(\n private dialog: MatDialog,\n ) {\n }\n\n /**\n * Function to open modal with custom form\n */\n openDialogWrapper<T, D = any, R = any>(\n componentTypeChild: ComponentType<T>,\n dialogData: DialogData<T>,\n componentTypeWrapper?: ComponentType<D>,\n ) {\n if (!componentTypeWrapper) componentTypeWrapper = (DialogWrapperComponent as any);\n\n dialogData.data.child = componentTypeChild;\n\n if (dialogData.panelClass instanceof Array) {\n dialogData.panelClass.push(DEFAULT_PANE_CLASS_NAME);\n } else {\n dialogData.panelClass = [dialogData.panelClass || '', DEFAULT_PANE_CLASS_NAME];\n }\n\n this.wrapperComponent = this.openDialog<D, R, T>(componentTypeWrapper, dialogData);\n return this.wrapperComponent;\n }\n\n /**\n * Function to open confirmation modal\n */\n openConfirmDialog<R = any>(confirmDialogData: ConfirmDialogData): MatDialogRef<DialogWrapperComponent, R> {\n const dialogData: DialogData = { panelClass: DEFAULT_PANE_CLASS_NAME, data: null };\n Object.assign(dialogData, { data: confirmDialogData });\n if (!dialogData.data.theme) dialogData.data.theme = DEFAULT_CONFIRM_THEME;\n dialogData.data.theme.isConfirmation = true;\n return this.openDialog<DialogWrapperComponent, R, ConfirmDialogData>(DialogWrapperComponent, dialogData);\n }\n\n /**\n * Function to open confirmation modal with inputs\n */\n openConfirmDialogModal<R = any>(confirmDialogData: ConfirmDialogData): MatDialogRef<DialogModalWrapperComponent, R> {\n const dialogData: DialogData = { panelClass: DEFAULT_PANE_CLASS_NAME, data: null };\n Object.assign(dialogData, { data: confirmDialogData });\n if (!dialogData.data.theme) dialogData.data.theme = DEFAULT_CONFIRM_THEME;\n return this.openDialog<DialogModalWrapperComponent, R, ConfirmDialogData>(DialogModalWrapperComponent, dialogData);\n }\n\n close(params?: any): void {\n this.wrapperComponent.close(params);\n }\n\n changeDialogThemeSize(theme: string): void {\n this.wrapperComponent.componentInstance.class = theme;\n }\n\n private openDialog<WrapperType, ReturnType = any, D = any>(componentType: ComponentType<WrapperType>, dialogData: DialogData<D>): MatDialogRef<WrapperType, ReturnType> {\n return this.dialog.open<WrapperType, DataProp<D>, ReturnType>(componentType, dialogData);\n }\n\n throwErr(err: Error, load?: Subject<any> | BehaviorSubject<any>): Observable<any> {\n if (load) {\n load.next(false);\n }\n throw err;\n }\n}\n","export enum TooltipPosition {\n TOP = 'top',\n BOTTOM = 'bottom',\n LEFT = 'left',\n RIGHT = 'right',\n TOP_RIGHT = 'top-right',\n TOP_LEFT = 'top-left',\n BOTTOM_RIGHT = 'bottom-right',\n BOTTOM_LEFT = 'bottom-left',\n RIGHT_TOP = 'right-top',\n RIGHT_BOTTOM = 'right-bottom',\n LEFT_TOP = 'left-top',\n LEFT_BOTTOM = 'left-bottom',\n}\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Observable } from 'rxjs';\n\n// Data Obj for openDialogWrapper()\nexport interface DialogData<T = any> {\n data: {\n title?: string;\n searchable?: boolean;\n clearable?: boolean;\n subtitle?: string;\n content?: any;\n contentIcon?: {\n class?: string;\n color?: string;\n };\n acceptButton?: DialogFooterButton;\n cancelButton?: DialogFooterButton;\n customButton?: DialogFooterButton;\n tooltips?: any;\n errorMessage?: string;\n serverErrorMessage?: string;\n child?: ComponentType<T>;\n childData?: Partial<T>;\n theme?: {\n themeSize?: SizeModal;\n type?: 'successful';\n contentNoPadding?: boolean;\n isConfirmation?: boolean;\n noThemeSizeClass?: boolean;\n };\n confirmFn?: any;\n fields?: ModalFormField[];\n hideCloseBtn?: boolean;\n footerTemplateData?: FooterTemplateData;\n };\n panelClass?: string | string[];\n disableClose?: boolean;\n maxWidth?: number | string;\n maxHeight?: number | string;\n}\n\n// Data Obj for openConfirmDialog()\nexport interface ConfirmDialogData {\n title?: string;\n searchable?: boolean;\n clearable?: boolean;\n content?: string;\n contentIcon?: {\n class?: string;\n color?: string;\n };\n acceptButton?: DialogFooterButton;\n cancelButton?: DialogFooterButton;\n customButton?: DialogFooterButton;\n tooltips?: any;\n errorMessage?: string;\n serverErrorMessage?: string;\n hideCloseBtn?: boolean;\n confirmFn?: (response?: any) => Observable<any>;\n fields?: ModalFormField[];\n footerTemplateData?: FooterTemplateData;\n}\n\n// Data Obj for openConfirmDialogModal()\nexport interface ConfirmDialogModalData extends ConfirmDialogData {\n confirmFn?: any;\n hideCloseBtn?: boolean;\n footerTemplateData?: FooterTemplateData;\n fields?: ModalFormField[];\n}\n\nexport interface FooterTemplateData {\n label: string;\n icon?: string;\n action: (objToSave?: any) => any;\n}\n\nexport interface ModalFormField {\n name: string;\n type: 'input' | 'select';\n label?: string;\n isLabelFullWidth?: boolean;\n items?: any[];\n items$?: Observable<any[]> | Observable<any>;\n default?: any;\n placeholder?: string;\n bindLabel?: string;\n bindValue?: string;\n validators?: any[];\n}\n\nexport type SizeModal =\n 'small-modal'\n | 'medium-modal'\n | 'medium-large-modal'\n | 'large-modal'\n | 'xl-modal'\n | 'xl-custom-modal';\n\nexport type DataProp<T = any> = DialogData<T>['data'];\n\nexport type DialogTheme = DataProp['theme'];\n\nexport type DialogFooterButton = {\n label?: string;\n loadingLabel?: string;\n functions?: any;\n loading?: any;\n theme?: any;\n};\n\nexport enum DIALOG_SIZE {\n SMALL = 'small-modal',\n MEDIUM = 'medium-modal',\n MEDIUM_LARGE = 'medium-large-modal',\n LARGE = 'large-modal',\n X_LARGE = 'xl-modal',\n X_CUSTOM_LARGE = 'xl-custom-modal',\n}\n\nexport enum DIALOG_BUTTON_LABEL {\n SAVE = 'Save',\n CANCEL = 'Cancel',\n CLOSE = 'Close',\n}\n\nexport enum DIALOG_FIELD_TYPE {\n INPUT = 'input',\n SELECT = 'select',\n}\n","import { Directive, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { debounceTime, distinctUntilChanged, skip } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[ngModelDebounceChange]'\n})\nexport class DrModelDebounceChangeDirective implements OnDestroy, OnInit {\n private subscription: Subscription;\n\n @Input() debounce = 200;\n @Output() ngModelDebounceChange = new EventEmitter<any>();\n\n constructor(private ngModel: NgModel) {\n }\n\n ngOnInit(): void {\n this.subscription = this.ngModel.control.valueChanges.pipe(\n skip(1),\n debounceTime(this.debounce),\n distinctUntilChanged()\n ).subscribe(value => this.ngModelDebounceChange.emit(value));\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n","export enum DateFromats {\n MAT_DEFAULT_DATE_FORMAT = 'MM/DD/yyyy',\n DATE_INPUT_FORMAT = 'YYYY/MM/DD',\n YEAR_FORMAT = 'yyyy',\n MONTH_YEAR_FORMAT = 'MM/yyyy',\n QUARTER_FORMAT = 'Q/yyyy',\n WEEK_FORMAT = 'W/yyyy'\n}\n\nexport interface DateParse {\n dateInput: string;\n}\n\nexport type DateDisplay = DateParse & {\n monthYearLabel?: string;\n dateA11yLabel?: string;\n monthYearA11yLabel?: string;\n quarterYearA11yLabel?: string;\n yearLabel?: string;\n quarterYearLabel?: string;\n};\n\nexport class CustomDateFormat {\n private _parse: DateParse = {\n dateInput: DateFromats.DATE_INPUT_FORMAT,\n };\n private _display: DateDisplay = {\n dateInput: DateFromats.DATE_INPUT_FORMAT,\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMM YYYY',\n quarterYearLabel: 'Q/YYYY',\n yearLabel: 'YYYY'\n };\n\n set parse(parse: DateParse) {\n this._parse = Object.assign({}, this._parse, parse);\n }\n\n get parse(): DateParse {\n return this._parse;\n }\n\n set display(display: DateDisplay) {\n this._display = Object.assign({}, this._display, display);\n }\n\n get display(): DateDisplay {\n return this._display;\n }\n\n updateDateFormat(parse: DateParse, display?: DateDisplay) {\n this.parse = parse;\n if (!display) {\n display = parse;\n }\n this.display = display;\n }\n}\n\nexport interface IDatePickerFormatConfig {\n day?: string;\n month?: string;\n year?: string;\n quarter?: string;\n week?: string;\n}\n\nexport enum DatePickerPeriodPosition {\n END_OF_PERIOD,\n MIDDLE_OF_PERIOD,\n START_OF_PERIOD,\n DEFAULT\n}\n\nexport enum TimeframeOption {\n DAY = 'day',\n MONTH = 'month',\n QUARTER = 'quarter',\n WEEK = 'week',\n YEAR = 'year',\n}\n\nexport enum CalendarView {\n FOR_DAYS = 'month',\n FOR_MONTHS = 'year',\n FOR_QUARTERS = 'none',\n FOR_YEARS = 'multi-year',\n}\n\nexport type TTimeframeOption = TimeframeOption;\nexport type TCalendarView = CalendarView;\n","export interface IChatSignUpRequest { userName: string; email: string; password: string }\nexport interface IChatSignInRequest { email: string; password: string }\nexport interface IChatCreateConversationRequest { title: string }\nexport interface IChatConversation { id: string; title: string }\nexport interface IChatAccount {\n kind: 'user' | 'bot';\n id: string;\n name: string;\n email?: string;\n}\n\nexport enum CHAT_MESSAGE_TYPE {\n TEXT = 'text',\n RICH_TEXT = 'rich-text',\n IMAGE = 'image',\n DOWNLOAD_FILE = 'download-file',\n MAILTO = 'mailto',\n EMBED = 'embed',\n WIDGET = 'widget',\n INPUT = 'input',\n CODE = 'code',\n}\n\nexport interface IChatMessageBase {\n id: string;\n kind: string | CHAT_MESSAGE_TYPE;\n seq: number;\n conversationId: string;\n reply: boolean;\n senderId: string;\n parentId?: string;\n}\n\nexport interface IChatTextMessage extends IChatMessageBase {\n kind: string | CHAT_MESSAGE_TYPE.TEXT;\n text?: string;\n}\n\nexport interface IChatRichTextMessage extends IChatMessageBase {\n kind: string | CHAT_MESSAGE_TYPE.RICH_TEXT;\n paragraphs?: IChatRichTextParagraph[];\n}\n\nexport interface IChatRichTextParagraph {\n kind: string | CHAT_MESSAGE_TYPE;\n value: string;\n}\n\nexport interface IChatImageMessage extends IChatMessageBase {\n kind: string | CHAT_MESSAGE_TYPE.IMAGE;\n url?: string;\n label?: string;\n}\nexport interface IChatDownloadFileMessage extends IChatMessageBase {\n kind: string | CHAT_MESSAGE_TYPE.DOWNLOAD_FILE;\n url?: string;\n label?: string;\n}\n\nexport interface IChatMailtoMessage extends IChatMessageBase {\n kind: string | CHAT_MESSAGE_TYPE.MAILTO;\n subject?: string;\n body?: string;\n}\n\nexport interface IChatEmbedMessage extends IChatMessageBase {\n kind: string | CHAT_MESSAGE_TYPE.EMBED;\n url?: string;\n}\n\nexport interface IChatInputMessage extends IChatMessageBase {\n kind: string | CHAT_MESSAGE_TYPE.INPUT;\n form?: any;\n}\n\nexport type IChatMessage = IChatMessageBase & IChatTextMessage & IChatRichTextMessage & IChatImageMessage &\n IChatDownloadFileMessage & IChatMailtoMessage & IChatEmbedMessage & IChatInputMessage;\n\n\nexport interface IChatMessageFileIconPreview {\n url: string;\n icon: string;\n}\n\nexport interface IChatMessageFileImagePreview {\n url: string;\n type: string;\n}\n\nexport type IChatMessageFile = IChatMessageFileIconPreview | IChatMessageFileImagePreview;\n\nexport class ChatMessage implements IChatMessageBase, IChatTextMessage, IChatRichTextMessage, IChatImageMessage,\n IChatDownloadFileMessage, IChatMailtoMessage, IChatEmbedMessage, IChatInputMessage {\n id: string;\n kind: string | CHAT_MESSAGE_TYPE;\n seq: number;\n conversationId: string;\n reply: boolean;\n senderId: string;\n parentId?: string;\n text?: string;\n paragraphs?: IChatRichTextParagraph[];\n url?: string;\n label?: string;\n subject?: string;\n body?: any;\n form?: any;\n parameters?: any;\n\n constructor(obj: any, user: IChatAccount) {\n this.id = obj?.id;\n this.kind = obj?.kind;\n this.seq = obj?.seq;\n this.conversationId = obj?.conversationId;\n this.reply = obj?.senderId !== user.id;\n this.senderId = obj?.senderId;\n this.parentId = obj?.parentId;\n this.text = obj?.text || obj.body;\n this.paragraphs = obj?.paragraphs;\n this.url = obj?.url;\n this.label = obj?.label;\n this.subject = obj?.subject;\n this.body = obj?.body;\n this.form = obj?.form;\n this.parameters = obj?.parameters;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AnyTagComponent, DateTagComponent } from './date-tag.component';\nimport { DayTagComponent } from './day-tag/day-tag.component';\nimport { WeekTagComponent } from './week-tag/week-tag.component';\nimport { MonthTagComponent } from './month-tag/month-tag.component';\nimport { QuarterTagComponent } from './quarter-tag/quarter-tag.component';\nimport { YearTagComponent } from './year-tag/year-tag.component';\nimport { ForecastTagComponent } from './forecast-tag/forecast-tag.component';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { CommonModule } from '@angular/common';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\n\nexport const components = [DateTagComponent,\n DayTagComponent,\n WeekTagComponent,\n MonthTagComponent,\n QuarterTagComponent,\n AnyTagComponent,\n YearTagComponent,\n ForecastTagComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n MatNativeDateModule,\n MatDatepickerModule,\n FormsModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatInputModule,\n MatMomentDateModule,\n MatSelectModule\n ],\n exports: components,\n providers: [\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }\n ],\n declarations: components,\n})\n\nexport class DateTagModule {\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { ListTagComponent } from './list-tag.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatMomentDateModule,\n MatSelectModule,\n MatButtonToggleModule,\n ],\n exports: [ListTagComponent],\n providers: [],\n declarations: [\n ListTagComponent\n ],\n})\n\nexport class ListTagModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DrTagComponent } from './dr-tag.component';\nimport { ListTagModule } from '../list-tags/list-tag.module';\nimport { DateTagModule } from '../date-tags/date-tag.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n DateTagModule,\n ListTagModule\n ],\n exports: [DrTagComponent],\n providers: [],\n declarations: [\n DrTagComponent\n ],\n})\n\nexport class DrTagModule {\n}\n","import { TimeframeOption } from '../models/datePicker';\n\nexport class DrSharedUtils {\n /**\n * Get timeframe (day, year, month, quarter) based on passed format\n *\n * @param format - date format string. Examples: MM/DD/YYYY, Q/YYYY\n */\n public static getTimeframeByDateFormat(format: string): TimeframeOption {\n const defaultFrame = TimeframeOption.DAY;\n\n if (!format) {\n return defaultFrame;\n }\n\n const lowerCaseFormat = format.toLowerCase();\n switch (true) {\n case lowerCaseFormat.includes('q'):\n return TimeframeOption.QUARTER;\n case lowerCaseFormat.includes('d'):\n return TimeframeOption.DAY;\n case lowerCaseFormat.includes('w'):\n return TimeframeOption.WEEK;\n case lowerCaseFormat.includes('m'):\n return TimeframeOption.MONTH;\n case lowerCaseFormat.includes('y'):\n return TimeframeOption.YEAR;\n default:\n return defaultFrame;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatCalendar, MatDatepicker } from '@angular/material/datepicker';\nimport { Moment } from 'moment';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { DateFromats, IDatePickerFormatConfig, TimeframeOption, TTimeframeOption } from '../../../models/datePicker';\nimport { DrSharedUtils } from '../../../utils/dr-shared-utils';\n\n@Injectable()\nexport class DrDatePickerService {\n isTimeframeSelectionEnabled = false;\n timeframe: TTimeframeOption = TimeframeOption.DAY;\n format$ = new BehaviorSubject<string>(DateFromats.MAT_DEFAULT_DATE_FORMAT);\n updatedQuarter$ = new Subject<Moment>();\n datePickerInstance: MatDatepicker<any>;\n availableTimeframes = [\n TimeframeOption.DAY,\n TimeframeOption.WEEK,\n TimeframeOption.MONTH,\n TimeframeOption.QUARTER,\n TimeframeOption.YEAR\n ];\n\n public formatConfig: IDatePickerFormatConfig = {\n day: DateFromats.MAT_DEFAULT_DATE_FORMAT,\n month: DateFromats.MONTH_YEAR_FORMAT,\n year: DateFromats.YEAR_FORMAT,\n quarter: DateFromats.QUARTER_FORMAT,\n week: DateFromats.WEEK_FORMAT\n };\n public calendarInstance: MatCalendar<any>;\n\n getDisplayPrefix() {\n const formatCached = this.format$.getValue();\n switch (true) {\n case formatCached?.includes('Q'):\n return 'Q';\n case formatCached?.includes('W'):\n return 'W';\n default:\n return '';\n }\n }\n\n getTimeframe(format: string) {\n return DrSharedUtils.getTimeframeByDateFormat(format);\n }\n\n getConfiguredFormat(timeframe: TTimeframeOption) {\n return this.formatConfig[timeframe];\n }\n\n updateTimeframeAndFormat(format: string): void {\n const normalizedFormat = this.normalizeValue(format || this.format$.getValue());\n this.timeframe = this.getTimeframe(normalizedFormat);\n this.format$.next(this.getConfiguredFormat(this.timeframe));\n }\n\n normalizeValue(value) {\n return value.replace(/d/g, 'D');\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MatCalendar, MatCalendarView } from '@angular/material/datepicker';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { CalendarView, CustomDateFormat, TCalendarView, TimeframeOption } from '../../../models/datePicker';\nimport { DrDatePickerService } from '../services/dr-date-picker.service';\n\nconst moment = require('moment');\n\nexport interface ITimeframeOption {\n timeframe: TimeframeOption;\n title: string;\n value: TCalendarView;\n format: string;\n periodLabel: () => string;\n}\n\n@Component({\n selector: 'dr-date-picker_custom-header.component',\n templateUrl: 'dr-date-picker_custom-header.component.html',\n styleUrls: ['./dr-date-picker_custom-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class DrDatePickerCustomHeaderComponent<Moment> implements OnDestroy {\n private _destroyed = new Subject<void>();\n quarters = [1, 2, 3, 4];\n selectedQuarter = 1;\n timeframeOptions: ITimeframeOption[] = [{\n timeframe: TimeframeOption.DAY,\n title: 'Day',\n value: CalendarView.FOR_DAYS,\n format: this.datePickerService.formatConfig.day,\n periodLabel: () => this._dateAdapter.format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel).toLocaleUpperCase()\n }, {\n timeframe: TimeframeOption.WEEK,\n title: 'Week',\n value: CalendarView.FOR_DAYS,\n format: this.datePickerService.formatConfig.week,\n periodLabel: () => this._dateAdapter.format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel).toLocaleUpperCase()\n }, {\n timeframe: TimeframeOption.MONTH,\n title: 'Month',\n value: CalendarView.FOR_MONTHS,\n format: this.datePickerService.formatConfig.month,\n periodLabel: () => String(moment(this._calendar.activeDate).year())\n }, {\n timeframe: TimeframeOption.QUARTER,\n title: 'Quarter',\n value: CalendarView.FOR_QUARTERS,\n format: this.datePickerService.formatConfig.quarter,\n periodLabel: () => String(moment(this._calendar.activeDate).year())\n }, {\n timeframe: TimeframeOption.YEAR,\n title: 'Year',\n value: CalendarView.FOR_YEARS,\n format: this.datePickerService.formatConfig.year,\n periodLabel: () => {\n const currentYear = moment(this._calendar.activeDate).year();\n const startPeriod = Math.floor(currentYear / 24) * 24;\n return startPeriod + '-' + (startPeriod + 23);\n }\n }];\n\n pagingSetup = {\n [CalendarView.FOR_MONTHS]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),\n [CalendarView.FOR_QUARTERS]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),\n [CalendarView.FOR_DAYS]: (forward) => this.pagingDateChange('addCalendarMonths', 1, forward),\n [CalendarView.FOR_YEARS]: (forward) => this.pagingDateChange('addCalendarYears', 24, forward)\n };\n\n selectedTimeframe: TCalendarView = CalendarView.FOR_DAYS;\n timeframeSelection = false;\n periodMonthLabel = '';\n periodYearLabel = '';\n\n public readonly calendarView = CalendarView;\n\n constructor(\n private _calendar: MatCalendar<Moment>,\n private _dateAdapter: DateAdapter<Moment>,\n @Inject(MAT_DATE_FORMATS) private _dateFormats: CustomDateFormat,\n private cdr: ChangeDetectorRef,\n public datePickerService: DrDatePickerService) {\n _calendar.stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());\n this.datePickerService.format$.pipe(takeUntil(this._destroyed)).subscribe(value => {\n this.selectedTimeframe = this.timeframeOptions.filter(option => option.format === value)[0].value;\n _calendar.currentView = this.selectedTimeframe as MatCalendarView;\n this.setPeriodLabels();\n if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {\n this.selectedQuarter = moment(this._calendar.activeDate).quarter();\n }\n });\n _calendar.viewChanged.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());\n this.datePickerService.calendarInstance = _calendar;\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n setPeriodLabels() {\n const currentTimeframeOption = this.timeframeOptions.filter(option => option.value === this._calendar.currentView)[0];\n const fullPeriodLabel = currentTimeframeOption.periodLabel();\n if (this._calendar.currentView === CalendarView.FOR_DAYS) {\n this.periodMonthLabel = fullPeriodLabel.slice(0, 3);\n this.periodYearLabel = fullPeriodLabel.slice(4);\n } else {\n this.periodMonthLabel = '';\n this.periodYearLabel = fullPeriodLabel;\n }\n this.cdr.markForCheck();\n }\n\n setTimeframe() {\n this.timeframeSelection = false;\n this._calendar.currentView = this.selectedTimeframe as MatCalendarView;\n const chosenTimeframeOption = this.timeframeOptions.filter(option => option.value === this.selectedTimeframe)[0];\n this.datePickerService.updateTimeframeAndFormat(chosenTimeframeOption.format);\n\n if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {\n this.selectedQuarter = moment(this._calendar.activeDate).quarter();\n }\n }\n\n get currentViewIsQuarter() {\n return ![CalendarView.FOR_DAYS, CalendarView.FOR_MONTHS, CalendarView.FOR_YEARS].includes(this._calendar.currentView as CalendarView);\n }\n\n switchViewOnClickOnPeriodLabel(view: CalendarView.FOR_MONTHS | CalendarView.FOR_YEARS) {\n this._calendar.currentView = view;\n }\n\n onSelectQuarter(quarterNumber: number) {\n const monthsInQuarter = 3;\n this.selectedQuarter = moment(this._calendar.activeDate).quarter();\n\n const unadaptedDate = this._dateAdapter.addCalendarMonths(this._calendar.activeDate,\n monthsInQuarter * (quarterNumber - this.selectedQuarter));\n this._calendar.activeDate = unadaptedDate;\n this.datePickerService.updatedQuarter$.next(moment(unadaptedDate));\n this.datePickerService.datePickerInstance.close();\n }\n\n pagingClicked(forward) {\n if (this.pagingSetup[this._calendar.currentView]) {\n this.pagingSetup[this._calendar.currentView](forward);\n }\n }\n\n pagingDateChange(actionCall: string, amount: number, forward: boolean) {\n this._calendar.activeDate = this._dateAdapter[actionCall](this._calendar.activeDate, forward ? amount : -amount);\n this.setPeriodLabels();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CalendarView, DatePickerPeriodPosition, TimeframeOption } from '../../../models/datePicker';\nimport { Moment } from 'moment';\nimport { DateAdapter } from '@angular/material/core';\nimport { DrDatePickerService } from '../services/dr-date-picker.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DrDatePickerCustomHeaderComponent } from '../dr-date-picker_custom-header/dr-date-picker_custom-header.component';\nimport { MatCalendarView } from '@angular/material/datepicker';\n\nconst moment = require('moment');\nconst noop = () => {\n};\n\n@Component({\n selector: 'dr-date-picker',\n templateUrl: './dr-date-picker.component.html',\n styleUrls: ['./dr-date-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerComponent, multi: true },\n { provide: DrDatePickerService }\n ],\n})\nexport class DrDatePickerComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\n @Input() set format(value) {\n this.datePickerService.updateTimeframeAndFormat(value);\n }\n\n @Input() set min(minDate: number) {\n this._min = moment.unix(minDate).utc();\n }\n\n @Input() set max(maxDate: number) {\n this._max = moment.unix(maxDate).utc();\n }\n\n // Whether to transform date, taking end, start, middle of preiod (i.e. set middle of month if timeframe='month')\n @Input() periodPosition: DatePickerPeriodPosition = DatePickerPeriodPosition.DEFAULT;\n\n @Input() placeholder = 'Select';\n\n @ViewChild('datePicker') public datePicker: any;\n\n public calendarViewsTimeframeMapping: any = {\n year: 'multi-year',\n month: 'year',\n quarter: 'none',\n day: 'month',\n };\n\n public customHeader = DrDatePickerCustomHeaderComponent;\n public readonly = true;\n public _min: Moment;\n public _max: Moment;\n public readonly timeframeOption = TimeframeOption;\n\n public get value(): Moment {\n return this.innerValue;\n }\n\n public set value(v: Moment) {\n if (v !== this.innerValue) {\n this.setValueFromMoment(v);\n }\n this.cdr.markForCheck();\n }\n\n protected innerValue: Moment = null;\n protected destroyed$ = new Subject<void>();\n\n constructor(\n protected cdr: ChangeDetectorRef,\n protected dateAdapter: DateAdapter<any>,\n public datePickerService: DrDatePickerService\n ) {\n datePickerService.updatedQuarter$.pipe(takeUntil(this.destroyed$)).subscribe((value) => {\n this.setValueFromMoment(value);\n });\n }\n\n ngAfterViewInit(): void {\n this.datePickerService.datePickerInstance = this.datePicker;\n this.datePicker.startView = this.calendarViewsTimeframeMapping[this.datePickerService.timeframe];\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n /**\n * Updating component inner value according to datepicker timeframe (day, month etc.)\n * and date position in period (start, end, middle)\n */\n tryToNormalaizeTimeframe(): void {\n const timeframe = this.datePickerService.timeframe;\n switch (this.periodPosition) {\n case DatePickerPeriodPosition.START_OF_PERIOD:\n this.innerValue.startOf(timeframe);\n break;\n case DatePickerPeriodPosition.END_OF_PERIOD:\n this.innerValue.endOf(timeframe);\n break;\n case DatePickerPeriodPosition.MIDDLE_OF_PERIOD:\n this.innerValue.startOf(timeframe);\n const endOfPeriod = this.innerValue.clone().endOf(timeframe);\n const diff = endOfPeriod.diff(this.innerValue, 'seconds');\n this.innerValue.add(diff / 2 + 1, 'seconds');\n break;\n default:\n this.innerValue.startOf(timeframe);\n break;\n }\n }\n\n public chosenPeriodHandler(chosenDate: Moment, timeframe: TimeframeOption) {\n if (this.datePickerService.timeframe === TimeframeOption.QUARTER && timeframe === TimeframeOption.YEAR) {\n this.datePickerService.calendarInstance.currentView = CalendarView.FOR_QUARTERS as MatCalendarView;\n this.datePickerService.calendarInstance.activeDate = chosenDate;\n this.cdr.detectChanges();\n } else if (this.datePickerService.timeframe === timeframe) {\n this.setValueFromMoment(chosenDate);\n this.datePicker.close();\n }\n }\n\n /**\n * Setting value from outside of component via ngModel or formControl updates\n */\n public writeValue(value: number): void {\n this.innerValue = value ? moment.unix(value).utc() : value;\n if (this.innerValue) {\n this.tryToNormalaizeTimeframe();\n }\n this.cdr.markForCheck();\n }\n\n public onTouchedCallback: () => void = noop;\n public onChangeCallback: (_: any) => void = noop;\n\n public registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n /**\n * Set inner value from Moment and propagate\n *\n * @param momentDate\n */\n protected setValueFromMoment(momentDate: Moment) {\n this.setValue(momentDate.unix());\n }\n\n /**\n * Set inner value from timestamp and propagate\n *\n * @param timestamp\n */\n protected setValue(timestamp: number): void {\n this.writeValue(timestamp);\n this.onChangeCallback(this.innerValue.unix());\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output\n} from '@angular/core';\nimport { DrDatePickerComponent } from '../dr-date-picker/dr-date-picker.component';\nimport { DateAdapter } from '@angular/material/core';\nimport { DrDatePickerService } from '../services/dr-date-picker.service';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IDatePickerFormatConfig, TimeframeOption } from '../../../models/datePicker';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'dr-date-picker-with-timeframe',\n templateUrl: './dr-date-picker-with-timeframe.component.html',\n styleUrls: ['./dr-date-picker-with-timeframe.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerWithTimeframeComponent, multi: true },\n { provide: DrDatePickerService }\n ],\n})\nexport class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent implements ControlValueAccessor, AfterViewInit, OnDestroy, OnInit {\n\n @HostBinding('class.dr-date-picker-on-dashboard') get isDashboardClassDisplayed(): boolean {\n return this.isDashboardDatepicker;\n };\n\n @Input() isDashboardDatepicker = false;\n\n @Input() set dateFormatConfig(value: IDatePickerFormatConfig) {\n if (value) {\n this.datePickerService.formatConfig = { ...this.datePickerService.formatConfig, ...value };\n this.cdr.markForCheck();\n }\n }\n\n @Input() canSelectTimeframe = true;\n\n @Input() set availableTimeframes(value: TimeframeOption[]) {\n if (value && value.length) {\n this.datePickerService.availableTimeframes = value;\n }\n }\n\n // eslint-disable-next-line\n @Output() onChangeFormat = new EventEmitter<string>();\n\n public readonly pagingSetup = {\n [TimeframeOption.YEAR]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),\n [TimeframeOption.QUARTER]: (forward) => this.pagingDateChange('addCalendarMonths', 3, forward),\n [TimeframeOption.MONTH]: (forward) => this.pagingDateChange('addCalendarMonths', 1, forward),\n [TimeframeOption.DAY]: (forward) => this.pagingDateChange('addCalendarDays', 1, forward),\n [TimeframeOption.WEEK]: (forward) => this.pagingDateChange('addCalendarDays', 7, forward)\n };\n\n public get displayedFormattedValue(): string {\n if (!this.value) {\n return this.placeholder;\n }\n const formatCached = this.datePickerService.format$.getValue();\n return this.datePickerService.getDisplayPrefix() + this.value.format(formatCached);\n\n }\n\n constructor(\n protected cdr: ChangeDetectorRef,\n protected dateAdapter: DateAdapter<any>,\n public datePickerService: DrDatePickerService\n ) {\n super(cdr, dateAdapter, datePickerService);\n datePickerService.isTimeframeSelectionEnabled = true;\n\n datePickerService.format$.pipe(takeUntil(this.destroyed$)).subscribe((value) => {\n this.onChangeFormat.emit(datePickerService.normalizeValue(value));\n });\n }\n\n ngOnInit() {\n this.datePickerService.isTimeframeSelectionEnabled = this.canSelectTimeframe;\n this.cdr.markForCheck();\n }\n\n pagingClicked(forward: boolean): void {\n if (this.pagingSetup[this.datePickerService.timeframe]) {\n this.pagingSetup[this.datePickerService.timeframe](forward);\n }\n this.datePicker.close();\n }\n\n pagingDateChange(actionCall: string, amount: number, forward: boolean) {\n const newValue = this.dateAdapter[actionCall](this.innerValue, forward ? amount : -amount);\n this.setValueFromMoment(newValue);\n }\n}\n","import { Directive, Inject, Input, Optional } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { CustomDateFormat, DateDisplay, DateParse } from '../../../models/datePicker';\n\n@Directive({\n selector: '[drDatePickerFormat]',\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter\n },\n {\n provide: MAT_DATE_FORMATS,\n useClass: CustomDateFormat\n }\n ]\n})\nexport class DrDatePickerFormatDirective {\n @Input() public configDateParse: DateParse;\n @Input() public configDateDisplay: DateDisplay;\n\n @Input('drDatePickerFormat')\n set datePickerFormat(format: string) {\n if (this.configDateParse) {\n this.matDateFormat.updateDateFormat(\n this.configDateParse,\n this.configDateDisplay\n );\n } else {\n this.matDateFormat.updateDateFormat({ dateInput: format });\n }\n const value = this.ngControl.value;\n this.ngControl.valueAccessor?.writeValue(value);\n }\n\n constructor(\n @Inject(MAT_DATE_FORMATS) public matDateFormat: CustomDateFormat,\n @Optional() private ngControl: NgControl\n ) {\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TimeframeOption } from '../../models/datePicker';\nimport { ITimeframeOption } from './dr-date-picker_custom-header/dr-date-picker_custom-header.component';\n\n@Pipe({\n name: 'drShowTimeframePipe'\n})\nexport class DrShowTimeframePipe implements PipeTransform {\n transform(arr: ITimeframeOption[], showOptions: TimeframeOption[]): ITimeframeOption[] {\n return arr.filter(item => showOptions.includes(item.timeframe));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nimport { DrInputComponent } from './dr-input/dr-input.component';\nimport { DrSelectComponent } from './dr-select/dr-select.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\nimport { RadioGroupComponent } from './radio-button/radio-group.component';\nimport { DrToggleComponent } from './dr-toggle/dr-toggle.component';\nimport { DrButtonComponent } from './button/button.component';\n\nimport { MatCalendar, MatDatepickerModule } from '@angular/material/datepicker';\nimport { DrDatePickerComponent } from './date-pickers/dr-date-picker/dr-date-picker.component';\nimport { DrDatePickerWithTimeframeComponent } from './date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component';\nimport { DrDatePickerFormatDirective } from './date-pickers/directives/dr-date-picker-format.directive';\nimport { DrToggleButtonComponent } from './dr-toggle-button/dr-toggle-button.component';\nimport { DrModelDebounceChangeDirective } from './dr-model-debounce-change.directive';\nimport { DrDatePickerCustomHeaderComponent } from './date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component';\nimport { DrShowTimeframePipe } from './date-pickers/dr-show-timeframe.pipe';\n\n// !!! Please do not use such approach in other places\n// Hard fix for 'none' calendar view selection\nMatCalendar.prototype.focusActiveCell = function() {\n this._getCurrentViewComponent()?._focusActiveCell(false);\n};\n\nconst components = [\n DrButtonComponent,\n RadioButtonComponent,\n RadioGroupComponent,\n CheckboxComponent,\n DrInputComponent,\n DrSelectComponent,\n DrToggleComponent,\n DrToggleButtonComponent,\n DrDatePickerComponent,\n DrDatePickerWithTimeframeComponent,\n DrDatePickerFormatDirective,\n DrDatePickerCustomHeaderComponent,\n DrModelDebounceChangeDirective,\n DrShowTimeframePipe\n];\n\n@NgModule({\n declarations: components,\n exports: components,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n NgSelectModule,\n MatDatepickerModule\n ]\n})\n\nexport class DrInputsModule {\n\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { TooltipInfoContext } from '../../interfaces/tooltip-component-context';\n\n@Component({\n selector: 'dr-tooltip-info',\n templateUrl: './tooltip-info.component.html',\n styleUrls: ['./tooltip-info.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TooltipInfoComponent {\n\n @Input() data: TooltipInfoContext;\n\n constructor() {\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { TooltipInfoContext } from '../../interfaces/tooltip-component-context';\n\n@Component({\n selector: 'dr-tooltip-info-simple',\n templateUrl: './tooltip-info-simple.component.html',\n styleUrls: ['./tooltip-info-simple.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TooltipInfoSimpleComponent {\n\n @Input() context: TooltipInfoContext;\n\n constructor() {\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'dr-tooltip-no-body',\n templateUrl: './tooltip-no-body.component.html',\n styleUrls: ['./tooltip-no-body.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TooltipNoBodyComponent implements OnInit {\n\n @Input() context: any;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'dr-tooltip-process-default',\n template: `\n <div class=\"container\" [innerHTML]=\"text\"></div>\n `,\n styles: [`\n .container {\n width: auto;\n max-width: 388px;\n text-align: start;\n font-size: 14px;\n line-height: 22px;\n padding: 10px 12px;\n color: #151B3F;\n background-color: #FFF;\n border-radius: 8px;\n box-shadow: 0px 4px 8px 1px rgba(0, 0, 0, 0.25);\n border: 1px solid #C3C4CE;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TooltipProcessDefaultComponent {\n\n @Input() text: string;\n\n constructor() {\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DrTooltipDirective } from './dr-tooltip.directive';\nimport { TooltipComponent } from './dr-tooltip.component';\nimport { CommonModule } from '@angular/common';\nimport { TooltipInfoComponent } from './components/tooltip-info/tooltip-info.component';\nimport { TooltipInfoSimpleComponent } from './components/tooltip-info-simple/tooltip-info-simple.component';\nimport { TooltipNoBodyComponent } from './components/tooltip-no-body/tooltip-no-body.component';\nimport { TooltipProcessDefaultComponent } from './components/tooltip-process-default/tooltip-process-default.component';\n\nconst TOOLTIP_COMPONENTS = [\n TooltipInfoComponent,\n TooltipInfoSimpleComponent,\n TooltipNoBodyComponent,\n TooltipProcessDefaultComponent\n];\n\n@NgModule({\n imports: [\n CommonModule\n ],\n exports: [\n TooltipComponent,\n DrTooltipDirective,\n ...TOOLTIP_COMPONENTS\n ],\n providers: [],\n declarations: [\n TooltipComponent,\n DrTooltipDirective,\n ...TOOLTIP_COMPONENTS\n ],\n})\n\nexport class DrTooltipModule {\n}\n","import { NgModule } from '@angular/core';\nimport { DrAvatarComponent } from './dr-avatar.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\nimport { CommonModule } from '@angular/common';\nimport { DrAvatarPipe } from './dr-avatar.pipe';\n\n@NgModule({\n declarations: [\n DrAvatarComponent,\n DrAvatarPipe\n ],\n exports: [\n DrAvatarComponent,\n DrAvatarPipe\n ],\n imports: [\n MatTooltipModule,\n DrTooltipModule,\n CommonModule\n ]\n})\n\nexport class DrAvatarModule {\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DrSpinnerComponent } from './dr-spinner.component';\nimport { DrSpinnerDirective } from './dr-spinner.directive';\n\nconst components = [DrSpinnerComponent];\nconst directives = [DrSpinnerDirective];\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [...components, ...directives],\n declarations: [...components, ...directives]\n})\n\nexport class DrSpinnerModule {\n}\n","import { NgModule } from '@angular/core';\nimport { DrPopoverDirective } from './dr-popover.directive';\nimport { CommonModule } from '@angular/common';\nimport { DrPopoverComponent } from './dr-popover.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DrPopoverDirective,\n DrPopoverComponent,\n ],\n providers: [],\n declarations: [\n DrPopoverDirective,\n DrPopoverComponent,\n ],\n})\n\nexport class DrPopoverModule {\n}\n","import { NgModule } from '@angular/core';\nimport { DrDropdownPositionDirective } from './dr-dropdown-position.directive';\nimport { DrDropdownDirective } from './dr-dropdown.directive';\nimport { DrDropdownComponent } from './dr-dropdown.component';\nimport { CommonModule } from '@angular/common';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\nimport { DrDropdownItemShowPipe } from './dr-dropdown-item-show.pipe';\nimport { DrDropdownService } from './dr-dropdown.service';\n\n@NgModule({\n imports: [\n CommonModule,\n DrTooltipModule,\n ],\n declarations: [\n DrDropdownDirective,\n DrDropdownPositionDirective,\n DrDropdownComponent,\n DrDropdownItemShowPipe,\n ],\n exports: [\n DrDropdownDirective,\n DrDropdownPositionDirective,\n DrDropdownComponent,\n DrDropdownItemShowPipe,\n ],\n providers: [\n DrDropdownService,\n ],\n})\n\nexport class DrDropdownModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DrTabsComponent } from './dr-tabs.component';\nimport { DrTabComponent } from './dr-tab.component';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { DrInputsModule } from '../dr-inputs/dr-inputs.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n MatTabsModule,\n FormsModule,\n ReactiveFormsModule,\n DrInputsModule\n ],\n exports: [\n DrTabsComponent,\n DrTabComponent\n ],\n providers: [],\n declarations: [\n DrTabsComponent,\n DrTabComponent\n ],\n})\n\nexport class DrTabsModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DrAccordionComponent } from './accordion.component';\nimport { DrAccordionItemComponent } from './accordion-item.component';\nimport { DrAccordionItemHeaderComponent } from './accordion-item-header.component';\nimport { DrAccordionItemBodyComponent } from './accordion-item-body.component';\n\nconst DR_ACCORDION_COMPONENTS = [\n DrAccordionComponent,\n DrAccordionItemComponent,\n DrAccordionItemHeaderComponent,\n DrAccordionItemBodyComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...DR_ACCORDION_COMPONENTS],\n declarations: [...DR_ACCORDION_COMPONENTS],\n providers: [],\n})\nexport class DrAccordionModule {\n}\n","import { NgModule } from '@angular/core';\nimport { DrLayoutComponent } from './dr-layout.component';\nimport { CommonModule } from '@angular/common';\nimport { DrLayoutHeaderComponent } from './dr-layout-header.component';\nimport { DrLayoutBodyComponent } from './dr-layout-body.component';\n\nconst components = [\n DrLayoutComponent,\n DrLayoutHeaderComponent,\n DrLayoutBodyComponent\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...components],\n declarations: [...components],\n})\n\nexport class DrLayoutModule {\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { DrErrorComponent } from './dr-error.component';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n DrTooltipModule\n ],\n exports: [DrErrorComponent],\n providers: [],\n declarations: [\n DrErrorComponent\n ],\n})\n\nexport class DrErrorModule {\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { Step } from './interfaces/stepper';\n\n@Component({\n selector: 'dr-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss'],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class StepperComponent {\n\n @Input() steps: Step[];\n @Input() currentStep: Step;\n @Input() withoutConnectors = false;\n @Input() hiddenNames = false;\n @Input() inlineLabels = false;\n @Input() disabled = false;\n @Input() hiddenIndex = false;\n @Output() stepChange: EventEmitter<Step> = new EventEmitter<Step>();\n @ViewChild('stepper', { read: ElementRef }) public stepper: ElementRef<any>;\n\n constructor() {\n }\n\n selectStep(step: Step): void {\n if (step !== this.currentStep && !this.disabled) {\n this.stepChange.emit(step);\n }\n }\n\n getWidth(step: Step): string {\n if (this.withoutConnectors) return '0%';\n if (step.completed) return '100%';\n if (step.index === 0 || this.steps[step.index - 1].completed) return `${ (step?.completedTasks / step?.requiredTasks * 100) || 0 }%`;\n return '0%';\n }\n\n public scrollLeft(): void {\n this.stepper.nativeElement.scrollLeft -= 80;\n }\n\n public scrollRight(): void {\n this.stepper.nativeElement.scrollLeft += 80;\n }\n\n public roundWidth(width: number): number {\n return Math.round(width);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StepperComponent } from './stepper.component';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\n\n@NgModule({\n declarations: [StepperComponent],\n imports: [\n CommonModule,\n DrTooltipModule\n ],\n exports: [StepperComponent]\n})\nexport class DrStepperModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DialogWrapperComponent } from './components/dialog-wrapper/dialog-wrapper.component';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { DialogModalWrapperComponent } from './components/dialog-modal-wrapper/dialog-modal-wrapper.component';\nimport { DialogService } from './services/dialog.service';\nimport { DrInputsModule } from '../dr-inputs/dr-inputs.module';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';\n\n@NgModule({\n declarations: [DialogWrapperComponent, DialogModalWrapperComponent],\n imports: [\n CommonModule,\n MatDialogModule,\n DrInputsModule,\n ReactiveFormsModule,\n DrTooltipModule\n ],\n exports: [DialogWrapperComponent, DialogModalWrapperComponent],\n providers: [\n { provide: MatDialogRef, useValue: {} },\n { provide: MAT_DIALOG_DATA, useValue: {} },\n DialogService\n ]\n})\nexport class DrDialogModule {\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'dr-chat-form',\n templateUrl: 'chat-form.component.html',\n styleUrls: ['./chat-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrChatFormComponent {\n inputFocus = false;\n inputHover = false;\n\n droppedFiles: any[] = [];\n imgDropTypes = ['image/png', 'image/jpeg', 'image/gif'];\n\n /**\n * Predefined message text\n *\n * @type {string}\n */\n @Input() message = '';\n\n /**\n * Message placeholder text\n *\n * @type {string}\n */\n @Input() messagePlaceholder = 'Type a message';\n\n /**\n * Show send button\n *\n * @type {boolean}\n */\n @Input() dropFiles = false;\n\n /**\n * File drop placeholder text\n *\n * @type {string}\n */\n @Input() dropFilePlaceholder = 'Drop file to send';\n\n /**\n *\n * @type {EventEmitter<{ message: string, files: File[] }>}\n */\n @Output() send = new EventEmitter<{ message: string; files: File[] }>();\n\n /**\n * Emits when message input value has been changed\n *\n * @type {EventEmitter<string>}\n */\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onInputChange = new EventEmitter<string>();\n\n @HostBinding('class.file-over') fileOver = false;\n\n constructor(protected cdr: ChangeDetectorRef, protected domSanitizer: DomSanitizer) {\n }\n\n @HostListener('drop', ['$event'])\n onDrop(event: any) {\n if (this.dropFiles) {\n event.preventDefault();\n event.stopPropagation();\n\n this.fileOver = false;\n if (event.dataTransfer?.files) {\n for (const file of event.dataTransfer.files) {\n const res = file;\n\n if (this.imgDropTypes.includes(file.type)) {\n const fr = new FileReader();\n fr.onload = (e: any) => {\n res.src = e.target.result;\n res.urlStyle = this.domSanitizer.bypassSecurityTrustStyle(`url(${ res.src })`);\n this.cdr.detectChanges();\n };\n\n fr.readAsDataURL(file);\n }\n this.droppedFiles.push(res);\n }\n }\n }\n }\n\n removeFile(file) {\n const index = this.droppedFiles.indexOf(file);\n if (index >= 0) {\n this.droppedFiles.splice(index, 1);\n }\n }\n\n @HostListener('dragover', ['$event'])\n onDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.dropFiles) {\n this.fileOver = true;\n }\n }\n\n @HostListener('dragleave', ['$event'])\n onDragLeave(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.dropFiles) {\n this.fileOver = false;\n }\n }\n\n sendMessage() {\n if (this.droppedFiles.length || String(this.message).trim().length) {\n this.send.emit({ message: this.message, files: this.droppedFiles });\n this.message = '';\n this.droppedFiles = [];\n this.cdr.markForCheck();\n }\n }\n\n onModelChange(value: string): void {\n this.onInputChange.emit(value);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DrChatCustomMessageDirective } from './chat-custom-message.directive';\n\n/**\n * `DrCustomMessageService` is used to store instances of `DrChatCustomMessageDirective`s which\n * were provided in the chat component.\n */\n@Injectable()\nexport class DrChatCustomMessageService {\n protected readonly customMessages = new Map<string, DrChatCustomMessageDirective>();\n\n register(type: string, instance: DrChatCustomMessageDirective): void {\n this.customMessages.set(type, instance);\n }\n\n unregister(type: string): boolean {\n return this.customMessages.delete(type);\n }\n\n getInstance(type: string): DrChatCustomMessageDirective | undefined {\n return this.customMessages.get(type);\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, TemplateRef } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CHAT_MESSAGE_TYPE, IChatMessage } from '../../models/chat';\nimport { DrChatCustomMessageDirective } from './dr-chat-message-custom/chat-custom-message.directive';\nimport { DrChatCustomMessageService } from './dr-chat-message-custom/chat-custom-message.service';\n\n@Component({\n selector: 'dr-chat-message',\n templateUrl: 'chat-message.component.html',\n styleUrls: ['./chat-message.component.scss'],\n animations: [\n trigger('flyInOut', [\n state('in', style({ transform: 'translateX(0)' })),\n transition('void => *', [style({ transform: 'translateX(-100%)' }), animate(80)]),\n transition('* => void', [animate(80, style({ transform: 'translateX(100%)' }))]),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrChatMessageComponent {\n\n MESSAGE_TYPE = CHAT_MESSAGE_TYPE;\n MESSAGE_TYPE_CUSTOM = CHAT_MESSAGE_TYPE.EMBED;\n\n @HostBinding('@flyInOut')\n get flyInOut() {\n return true;\n }\n\n @HostBinding('class.not-reply')\n get notReply() {\n return !this.reply;\n }\n\n /**\n * Determines if a message is a reply\n */\n @Input()\n @HostBinding('class.reply')\n get reply(): boolean {\n return this._reply;\n }\n\n set reply(value: boolean) {\n this._reply = !!value;\n }\n\n protected _reply = false;\n\n @Input() type: string;\n\n /**\n * Message\n *\n * @type {IChatMessage}\n */\n @Input() message: IChatMessage;\n\n /**\n * Data which will be set as custom message template context\n *\n * @type {any}\n */\n @Input() customMessageData: any;\n\n public customMessage: boolean;\n\n constructor(private customMessageService: DrChatCustomMessageService) {\n }\n\n _getTemplate(): TemplateRef<any> {\n this.customMessage = true;\n const customMessage = this.getCustomMessage(this.type);\n return customMessage.templateRef;\n }\n\n _getTemplateContext(): { $implicit: any; isReply: boolean } {\n return { $implicit: this.customMessageData, isReply: this.reply };\n }\n\n protected getCustomMessage(type: string): DrChatCustomMessageDirective {\n const customMessageDirective = this.customMessageService.getInstance(type);\n\n if (!customMessageDirective) {\n throw new Error(\n `dr-chat: Can't find template for custom type '${type}'. ` +\n `Make sure you provide it in the chat component with *drCustomMessage='${type}'.`,\n );\n }\n\n return customMessageDirective;\n }\n}\n","import {\n Component,\n Input,\n ViewChild,\n ElementRef,\n ContentChildren,\n QueryList,\n AfterViewInit,\n ContentChild,\n ChangeDetectorRef,\n} from '@angular/core';\n\nimport { DrChatFormComponent } from './dr-chat-form/chat-form.component';\nimport { DrChatMessageComponent } from './dr-chat-message/chat-message.component';\nimport { DrChatCustomMessageService } from './dr-chat-message/dr-chat-message-custom/chat-custom-message.service';\n\n@Component({\n selector: 'dr-chat',\n styleUrls: ['./chat.component.scss'],\n templateUrl: 'chat.component.html',\n providers: [DrChatCustomMessageService]\n})\nexport class DrChatComponent implements AfterViewInit {\n @Input() title: string;\n\n @Input() noMessagesPlaceholder = 'No messages yet.';\n\n /**\n * Scroll chat to the bottom of the list when a new message arrives\n */\n @Input()\n get scrollBottom(): boolean {\n return this._scrollBottom;\n }\n\n set scrollBottom(value: boolean) {\n this._scrollBottom = !!value;\n }\n\n protected _scrollBottom = true;\n\n @ViewChild('messagesContainer') messagesContainer: ElementRef;\n @ContentChildren(DrChatMessageComponent) messages: QueryList<DrChatMessageComponent>;\n @ContentChild(DrChatFormComponent) chatForm: DrChatFormComponent;\n\n constructor(private cdr: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.messages.changes.subscribe(messages => {\n this.messages = messages;\n this.updateView();\n });\n\n this.updateView();\n }\n\n updateView() {\n if (this.scrollBottom) {\n this.scrollListBottom();\n }\n }\n\n scrollListBottom() {\n setTimeout(() => {\n this.messagesContainer.nativeElement.scrollTo({ top: this.messagesContainer.nativeElement.scrollHeight, behavior: 'smooth' });\n this.cdr.markForCheck();\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { IChatTextMessage } from '../../../models/chat';\n\n/**\n * Chat text message component.\n */\n@Component({\n selector: 'dr-chat-message-text',\n templateUrl: 'chat-message-text.component.html',\n styleUrls: ['./chat-message-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrChatMessageTextComponent {\n /**\n * Message sender\n *\n * @type {IChatTextMessage}\n */\n @Input() message: IChatTextMessage;\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { IChatRichTextMessage } from '../../../models/chat';\n\n/**\n * Chat rich-text message component.\n */\n@Component({\n selector: 'dr-chat-message-rich-text',\n templateUrl: 'chat-message-rich-text.component.html',\n styleUrls: ['./chat-message-rich-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrChatMessageRichTextComponent {\n /**\n * Message sender\n *\n * @type {IChatRichTextMessage}\n */\n @Input() message: IChatRichTextMessage;\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport {\n IChatDownloadFileMessage,\n IChatImageMessage,\n IChatMessageFile,\n IChatMessageFileImagePreview\n} from '../../../models/chat';\n\n/**\n * Chat message component.\n */\n@Component({\n selector: 'dr-chat-message-file',\n templateUrl: 'chat-message-file.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DrChatMessageFileComponent {\n\n readyFiles: any[];\n\n /**\n * Message with file\n *\n * @type {string}\n */\n @Input() message: IChatDownloadFileMessage | IChatImageMessage;\n\n /**\n * Message file path\n *\n * @type {Date}\n */\n @Input()\n set files(files: IChatMessageFile[]) {\n this.readyFiles = (files || []).map((file: any) => {\n const isImage = this.isImage(file);\n return {\n ...file,\n urlStyle: isImage && this.domSanitizer.bypassSecurityTrustStyle(`url(${ file.url })`),\n isImage,\n };\n });\n this.cd.detectChanges();\n }\n\n constructor(protected cd: ChangeDetectorRef, protected domSanitizer: DomSanitizer) {\n }\n\n\n isImage(file: IChatMessageFile): boolean {\n const type = (file as IChatMessageFileImagePreview).type;\n if (type) {\n return ['image/png', 'image/jpeg', 'image/gif'].includes(type);\n }\n return false;\n }\n}\n","import { Directive, Input, OnDestroy, OnInit, TemplateRef } from '@angular/core';\n\nimport { DrChatCustomMessageService } from './chat-custom-message.service';\n\nconst throwCustomMessageTypeIsRequired = () => {\n throw new Error('[drCustomMessage]: custom message type is required.');\n};\n\n@Directive({\n selector: `[drCustomMessage]`,\n})\nexport class DrChatCustomMessageDirective implements OnInit, OnDestroy {\n /**\n * Defines a message type which should rendered with the custom message template.\n *\n * @type {string}\n */\n @Input()\n get drCustomMessage(): string {\n return this._type;\n }\n set drCustomMessage(value: string) {\n this._type = value;\n }\n protected _type: string;\n\n get type(): string {\n return this._type;\n }\n\n constructor(public templateRef: TemplateRef<any>,\n protected customMessageService: DrChatCustomMessageService) {}\n\n ngOnInit() {\n if (!this._type) {\n throwCustomMessageTypeIsRequired();\n }\n this.customMessageService.register(this.type, this);\n }\n\n ngOnDestroy() {\n this.customMessageService.unregister(this.type);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DrInputsModule } from '../dr-inputs/dr-inputs.module';\nimport { DrAvatarModule } from '../dr-avatar/dr-avatar.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { DrChatComponent } from './chat.component';\nimport { DrChatMessageComponent } from './dr-chat-message/chat-message.component';\nimport { DrChatFormComponent } from './dr-chat-form/chat-form.component';\nimport { DrChatMessageTextComponent } from './dr-chat-message/dr-chat-message-text/chat-message-text.component';\nimport { DrChatMessageRichTextComponent } from './dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component';\nimport { DrChatMessageFileComponent } from './dr-chat-message/dr-chat-message-file/chat-message-file.component';\nimport { DrChatCustomMessageDirective } from './dr-chat-message/dr-chat-message-custom/chat-custom-message.directive';\n\n\nconst DR_CHAT_COMPONENTS = [\n DrChatComponent,\n DrChatMessageComponent,\n DrChatFormComponent,\n DrChatMessageTextComponent,\n DrChatMessageFileComponent,\n DrChatMessageRichTextComponent,\n];\n\nconst DR_CHAT_DIRECTIVES = [DrChatCustomMessageDirective];\n\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n DrAvatarModule,\n DrInputsModule\n ],\n declarations: [...DR_CHAT_COMPONENTS, ...DR_CHAT_DIRECTIVES],\n exports: [...DR_CHAT_COMPONENTS, ...DR_CHAT_DIRECTIVES],\n})\nexport class DrChatModule {\n}\n","/* components */\nexport * from './lib/date-tags/date-tag.component';\nexport * from './lib/date-tags/forecast-tag/forecast-tag.component';\nexport * from './lib/date-tags/month-tag/month-tag.component';\nexport * from './lib/date-tags/quarter-tag/quarter-tag.component';\nexport * from './lib/date-tags/week-tag/week-tag.component';\nexport * from './lib/date-tags/year-tag/year-tag.component';\nexport * from './lib/dr-tags/dr-tag.component';\nexport * from './lib/list-tags/list-tag.component';\nexport * from './lib/date-tags/day-tag/day-tag.component';\nexport * from './lib/date-tags/date-tag.component';\nexport * from './lib/dr-inputs/radio-button/radio-button.component';\nexport * from './lib/dr-inputs/radio-button/radio-group.component';\nexport * from './lib/dr-inputs/checkbox/checkbox.component';\nexport * from './lib/dr-inputs/dr-input/dr-input.component';\nexport * from './lib/dr-inputs/dr-select/dr-select.component';\nexport * from './lib/dr-avatar/dr-avatar.component';\nexport * from './lib/dr-avatar/dr-avatar.pipe';\nexport * from './lib/dr-tooltip/dr-tooltip.component';\nexport * from './lib/dr-tooltip/dr-tooltip.directive';\nexport * from './lib/dr-inputs/dr-toggle/dr-toggle.component';\nexport * from './lib/dr-inputs/dr-toggle-button/dr-toggle-button.component';\nexport * from './lib/dr-spinner/dr-spinner.component';\nexport * from './lib/dr-spinner/dr-spinner.directive';\nexport * from './lib/dr-inputs/button/button.component';\n\nexport * from './lib/dr-popover/dr-popover.directive';\nexport * from './lib/dr-popover/dr-popover.component';\nexport * from './lib/dr-popover/dr-popover.service';\n\nexport * from './lib/dr-dropdown/dr-dropdown.directive';\nexport * from './lib/dr-dropdown/dr-dropdown-position.directive';\nexport * from './lib/dr-dropdown/dr-dropdown.component';\nexport * from './lib/dr-dropdown/dr-dropdown.service';\nexport * from './lib/dr-dropdown/dr-dropdown-item-show.pipe';\nexport * from './lib/dr-tabs/dr-tabs.component';\nexport * from './lib/dr-tabs/dr-tab.component';\n\nexport * from './lib/dr-accordion/accordion.component';\nexport * from './lib/dr-accordion/accordion-item.component';\nexport * from './lib/dr-accordion/accordion-item-header.component';\nexport * from './lib/dr-accordion/accordion-item-body.component';\n\nexport * from './lib/dr-layout/dr-layout.component';\nexport * from './lib/dr-layout/dr-layout-header.component';\nexport * from './lib/dr-layout/dr-layout-body.component';\n\nexport * from './lib/dr-error/dr-error.component';\n\nexport * from './lib/dr-dialog/services/dialog.service';\n\n/* enums */\nexport { TooltipPosition } from './lib/dr-tooltip/enums/tooltip-position.enum';\n\n/* interfaces & types */\nexport { TooltipInfoContext } from './lib/dr-tooltip/interfaces/tooltip-component-context';\nexport { Step } from './lib/stepper/interfaces/stepper';\nexport * from './lib/dr-dialog/interfaces/dialog-data';\n\n/* directives */\nexport * from './lib/dr-inputs/dr-model-debounce-change.directive';\n\n/* models */\nexport * from './lib/models/datePicker';\nexport { TAG_TYPES, ITag, IDateTag, IListTag, ITagForServer } from './lib/models/serverTags';\nexport { ISpinnerOptions, SpinnerType, SpinnerSize } from './lib/models/spinnerOptions';\nexport {\n ElPosition,\n IDropdown,\n IDropdownItem,\n IDropdownActionIcon,\n IDropdownCoordinate,\n IDropdownCallEvent,\n IDropdownAction\n} from './lib/models/dropdown';\nexport {\n DrPopoverRef,\n IDrPopoverComponentModel,\n Point,\n DrPopoverConfig,\n IPopoverManualClosing,\n DrPopoverAlignment,\n DrPopoverAlignmentDimension,\n} from './lib/models/popover';\nexport { IValidationError } from './lib/models/validationError';\nexport * from './lib/models/chat';\n\n/* modules */\nexport { DateTagModule } from './lib/date-tags/date-tag.module';\nexport { ListTagModule } from './lib/list-tags/list-tag.module';\nexport { DrTagModule } from './lib/dr-tags/dr-tag.module';\nexport { DrInputsModule } from './lib/dr-inputs/dr-inputs.module';\nexport { DrTooltipModule } from './lib/dr-tooltip/dr-tooltip.module';\nexport { DrAvatarModule } from './lib/dr-avatar/dr-avatar.module';\nexport { DrSpinnerModule } from './lib/dr-spinner/dr-spinner.module';\nexport { DrPopoverModule } from './lib/dr-popover/dr-popover.module';\nexport { DrDropdownModule } from './lib/dr-dropdown/dr-dropdown.module';\nexport { DrTabsModule } from './lib/dr-tabs/dr-tabs.module';\nexport { DrAccordionModule } from './lib/dr-accordion/accordion.module';\nexport { DrSharedUtils } from './lib/utils/dr-shared-utils';\nexport { DrLayoutModule } from './lib/dr-layout/dr-layout.module';\nexport { DrErrorModule } from './lib/dr-error/dr-error.module';\nexport { DrStepperModule } from './lib/stepper/stepper.module';\nexport { DrDialogModule } from './lib/dr-dialog/dialog.module';\nexport { DrChatModule } from './lib/dr-chat/chat.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {components as ɵa} from './lib/date-tags/date-tag.module';\nexport {DrChatComponent as ɵp} from './lib/dr-chat/chat.component';\nexport {DrChatFormComponent as ɵs} from './lib/dr-chat/dr-chat-form/chat-form.component';\nexport {DrChatMessageComponent as ɵr} from './lib/dr-chat/dr-chat-message/chat-message.component';\nexport {DrChatCustomMessageDirective as ɵw} from './lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive';\nexport {DrChatCustomMessageService as ɵq} from './lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service';\nexport {DrChatMessageFileComponent as ɵu} from './lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component';\nexport {DrChatMessageRichTextComponent as ɵv} from './lib/dr-chat/dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component';\nexport {DrChatMessageTextComponent as ɵt} from './lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component';\nexport {DialogModalWrapperComponent as ɵo} from './lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component';\nexport {DialogWrapperComponent as ɵn} from './lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component';\nexport {DrDatePickerFormatDirective as ɵf} from './lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive';\nexport {DrDatePickerWithTimeframeComponent as ɵe} from './lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component';\nexport {DrDatePickerComponent as ɵc} from './lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component';\nexport {DrDatePickerCustomHeaderComponent as ɵg} from './lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component';\nexport {DrShowTimeframePipe as ɵh} from './lib/dr-inputs/date-pickers/dr-show-timeframe.pipe';\nexport {DrDatePickerService as ɵd} from './lib/dr-inputs/date-pickers/services/dr-date-picker.service';\nexport {TooltipInfoSimpleComponent as ɵj} from './lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component';\nexport {TooltipInfoComponent as ɵi} from './lib/dr-tooltip/components/tooltip-info/tooltip-info.component';\nexport {TooltipNoBodyComponent as ɵk} from './lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component';\nexport {TooltipProcessDefaultComponent as ɵl} from './lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component';\nexport {POPUP_ANIMATION as ɵb} from './lib/models/constants';\nexport {StepperComponent as ɵm} from './lib/stepper/stepper.component';"],"names":["EventEmitter","Component","ViewEncapsulation","Input","Output","moment","FormControl","DateAdapter","MomentDateAdapter","MAT_DATE_LOCALE","MAT_MOMENT_DATE_ADAPTER_OPTIONS","MAT_DATE_FORMATS","momentImported","NG_VALUE_ACCESSOR","ChangeDetectionStrategy","ChangeDetectorRef","Subject","startWith","switchMap","from","takeUntil","merge","isPlatformBrowser","fromEvent","filter","forwardRef","ElementRef","Inject","PLATFORM_ID","DOCUMENT","ContentChildren","noop","Renderer2","HostBinding","ContentChild","Pipe","transition","style","animate","BehaviorSubject","TemplateRef","trigger","HostListener","ComponentPortal","skip","Directive","Overlay","OverlayPositionBuilder","SpinnerType","SpinnerSize","ComponentFactoryResolver","ViewContainerRef","ViewChild","DrPopoverAlignmentDimension","OverlayConfig","Injector","first","Injectable","Host","state","_","catchError","MatDialogRef","MAT_DIALOG_DATA","FormGroup","MatDialog","TooltipPosition","DIALOG_SIZE","DIALOG_BUTTON_LABEL","DIALOG_FIELD_TYPE","debounceTime","distinctUntilChanged","NgModel","DateFromats","DatePickerPeriodPosition","TimeframeOption","CalendarView","CHAT_MESSAGE_TYPE","components","NgModule","CommonModule","MatNativeDateModule","MatDatepickerModule","FormsModule","MatFormFieldModule","ReactiveFormsModule","MatInputModule","MatMomentDateModule","MatSelectModule","MatButtonToggleModule","MatCalendar","NgControl","Optional","NgSelectModule","MatTooltipModule","MatTabsModule","ɵ0","MatDialogModule","DomSanitizer"],"mappings":"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"}