@datarailsshared/datarailsshared 1.4.188 → 1.4.191-rocket

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 (355) hide show
  1. package/_datarailsshared.styles.css +4 -4
  2. package/assets/styles/_styles.scss +2 -2
  3. package/datarailsshared-datarailsshared-1.4.191-rocket.tgz +0 -0
  4. package/esm2022/datarailsshared-datarailsshared.mjs +5 -0
  5. package/esm2022/lib/date-tags/any-tag.component.mjs +45 -0
  6. package/esm2022/lib/date-tags/date-tag.component.mjs +48 -0
  7. package/esm2022/lib/date-tags/date-tag.module.mjs +66 -0
  8. package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +84 -0
  9. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +162 -0
  10. package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +87 -0
  11. package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +107 -0
  12. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +91 -0
  13. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +85 -0
  14. package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +59 -0
  15. package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +109 -0
  16. package/esm2022/lib/dr-accordion/accordion-item.component.mjs +142 -0
  17. package/esm2022/lib/dr-accordion/accordion.component.mjs +41 -0
  18. package/esm2022/lib/dr-accordion/accordion.module.mjs +34 -0
  19. package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +48 -0
  20. package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +37 -0
  21. package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +20 -0
  22. package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +30 -0
  23. package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +27 -0
  24. package/esm2022/lib/dr-chat/chat.component.mjs +147 -0
  25. package/esm2022/lib/dr-chat/chat.module.mjs +68 -0
  26. package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +169 -0
  27. package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +108 -0
  28. package/{esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js → esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs} +21 -21
  29. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +24 -0
  30. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +57 -0
  31. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +23 -0
  32. package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +89 -0
  33. package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +13 -0
  34. package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +78 -0
  35. package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +21 -0
  36. package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +79 -0
  37. package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +102 -0
  38. package/esm2022/lib/dr-dialog/dialog.module.mjs +51 -0
  39. package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +25 -0
  40. package/esm2022/lib/dr-dialog/services/dialog.service.mjs +78 -0
  41. package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +16 -0
  42. package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +108 -0
  43. package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +124 -0
  44. package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +125 -0
  45. package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +49 -0
  46. package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +26 -0
  47. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +119 -0
  48. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +28 -0
  49. package/esm2022/lib/dr-error/dr-error.component.mjs +69 -0
  50. package/esm2022/lib/dr-error/dr-error.module.mjs +31 -0
  51. package/esm2022/lib/dr-inputs/button/button.component.mjs +70 -0
  52. package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +67 -0
  53. package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +67 -0
  54. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +234 -0
  55. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +194 -0
  56. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +190 -0
  57. package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +16 -0
  58. package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +198 -0
  59. package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +232 -0
  60. package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +108 -0
  61. package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +32 -0
  62. package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +182 -0
  63. package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +82 -0
  64. package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +77 -0
  65. package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +69 -0
  66. package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +82 -0
  67. package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +180 -0
  68. package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +16 -0
  69. package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +24 -0
  70. package/esm2022/lib/dr-layout/dr-layout.component.mjs +13 -0
  71. package/esm2022/lib/dr-layout/dr-layout.module.mjs +29 -0
  72. package/esm2022/lib/dr-popover/dr-popover-ref.mjs +23 -0
  73. package/esm2022/lib/dr-popover/dr-popover.component.mjs +144 -0
  74. package/esm2022/lib/dr-popover/dr-popover.directive.mjs +115 -0
  75. package/esm2022/lib/dr-popover/dr-popover.module.mjs +30 -0
  76. package/esm2022/lib/dr-popover/dr-popover.service.mjs +110 -0
  77. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +110 -0
  78. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +85 -0
  79. package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +81 -0
  80. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +41 -0
  81. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +166 -0
  82. package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +18 -0
  83. package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +66 -0
  84. package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +23 -0
  85. package/esm2022/lib/dr-tabs/dr-tab.component.mjs +42 -0
  86. package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +51 -0
  87. package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +49 -0
  88. package/esm2022/lib/dr-tags/dr-tag.component.mjs +201 -0
  89. package/esm2022/lib/dr-tags/dr-tag.module.mjs +35 -0
  90. package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +20 -0
  91. package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +17 -0
  92. package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +19 -0
  93. package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +20 -0
  94. package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +53 -0
  95. package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +165 -0
  96. package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +48 -0
  97. package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +224 -0
  98. package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +62 -0
  99. package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +48 -0
  100. package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +103 -0
  101. package/esm2022/lib/dr-treeview/models/treeview-config.mjs +23 -0
  102. package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +47 -0
  103. package/esm2022/lib/dr-treeview/models/treeview-item.mjs +158 -0
  104. package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +21 -0
  105. package/esm2022/lib/list-tags/list-tag.component.mjs +45 -0
  106. package/esm2022/lib/list-tags/list-tag.module.mjs +34 -0
  107. package/esm2022/lib/models/chat.mjs +49 -0
  108. package/esm2022/lib/models/datePicker.mjs +71 -0
  109. package/esm2022/lib/models/popover.mjs +27 -0
  110. package/esm2022/lib/stepper/stepper.component.mjs +66 -0
  111. package/esm2022/lib/stepper/stepper.module.mjs +24 -0
  112. package/esm2022/public-api.mjs +118 -0
  113. package/fesm2022/datarailsshared-datarailsshared.mjs +7791 -0
  114. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -0
  115. package/index.d.ts +5 -0
  116. package/lib/date-tags/any-tag.component.d.ts +20 -0
  117. package/lib/date-tags/date-tag.component.d.ts +4 -16
  118. package/lib/date-tags/date-tag.module.d.ts +19 -2
  119. package/lib/date-tags/day-tag/day-tag.component.d.ts +4 -1
  120. package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +5 -2
  121. package/lib/date-tags/month-tag/month-tag.component.d.ts +4 -1
  122. package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +4 -1
  123. package/lib/date-tags/week-tag/week-tag.component.d.ts +4 -1
  124. package/lib/date-tags/year-tag/year-tag.component.d.ts +4 -1
  125. package/lib/dr-accordion/accordion-item-body.component.d.ts +3 -0
  126. package/lib/dr-accordion/accordion-item-header.component.d.ts +3 -0
  127. package/lib/dr-accordion/accordion-item.component.d.ts +3 -0
  128. package/lib/dr-accordion/accordion.component.d.ts +3 -0
  129. package/lib/dr-accordion/accordion.module.d.ts +9 -0
  130. package/lib/dr-avatar/dr-avatar.component.d.ts +3 -0
  131. package/lib/dr-avatar/dr-avatar.module.d.ts +9 -0
  132. package/lib/dr-avatar/dr-avatar.pipe.d.ts +3 -0
  133. package/lib/dr-badge-status/dr-badge-status.component.d.ts +3 -0
  134. package/lib/dr-badge-status/dr-badge-status.module.d.ts +7 -0
  135. package/lib/dr-chat/chat.component.d.ts +3 -0
  136. package/lib/dr-chat/chat.module.d.ts +17 -0
  137. package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +3 -0
  138. package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +3 -0
  139. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +3 -0
  140. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +3 -0
  141. package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +3 -0
  142. package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +3 -0
  143. package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +3 -0
  144. package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +3 -0
  145. package/lib/dr-details-list/dr-details-list.component.d.ts +3 -0
  146. package/lib/dr-details-list/dr-details-list.module.d.ts +6 -0
  147. package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +6 -3
  148. package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +4 -1
  149. package/lib/dr-dialog/dialog.module.d.ts +12 -0
  150. package/lib/dr-dialog/interfaces/dialog-data.d.ts +7 -7
  151. package/lib/dr-dialog/services/dialog.service.d.ts +4 -1
  152. package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +3 -0
  153. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +3 -0
  154. package/lib/dr-dropdown/dr-dropdown.component.d.ts +3 -0
  155. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +3 -0
  156. package/lib/dr-dropdown/dr-dropdown.module.d.ts +10 -0
  157. package/lib/dr-dropdown/dr-dropdown.service.d.ts +3 -0
  158. package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +3 -0
  159. package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +8 -0
  160. package/lib/dr-error/dr-error.component.d.ts +6 -3
  161. package/lib/dr-error/dr-error.module.d.ts +8 -0
  162. package/lib/dr-inputs/button/button.component.d.ts +4 -1
  163. package/lib/dr-inputs/checkbox/checkbox.component.d.ts +3 -0
  164. package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +3 -0
  165. package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +3 -0
  166. package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +3 -0
  167. package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +4 -8
  168. package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +4 -2
  169. package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +3 -0
  170. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +3 -0
  171. package/lib/dr-inputs/dr-inputs.module.d.ts +25 -0
  172. package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +3 -0
  173. package/lib/dr-inputs/dr-select/dr-select.component.d.ts +3 -0
  174. package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +3 -0
  175. package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +3 -0
  176. package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +3 -0
  177. package/lib/dr-inputs/radio-button/radio-button.component.d.ts +3 -0
  178. package/lib/dr-inputs/radio-button/radio-group.component.d.ts +3 -0
  179. package/lib/dr-layout/dr-layout-body.component.d.ts +3 -0
  180. package/lib/dr-layout/dr-layout-header.component.d.ts +3 -0
  181. package/lib/dr-layout/dr-layout.component.d.ts +3 -0
  182. package/lib/dr-layout/dr-layout.module.d.ts +8 -0
  183. package/lib/dr-popover/dr-popover.component.d.ts +6 -1
  184. package/lib/dr-popover/dr-popover.directive.d.ts +3 -0
  185. package/lib/dr-popover/dr-popover.module.d.ts +7 -0
  186. package/lib/dr-popover/dr-popover.service.d.ts +3 -0
  187. package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +3 -0
  188. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +3 -0
  189. package/lib/dr-scenario/dr-scenario.module.d.ts +10 -0
  190. package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
  191. package/lib/dr-scenario/services/scenario.service.d.ts +3 -0
  192. package/lib/dr-spinner/dr-spinner.component.d.ts +3 -0
  193. package/lib/dr-spinner/dr-spinner.directive.d.ts +3 -0
  194. package/lib/dr-spinner/dr-spinner.module.d.ts +7 -0
  195. package/lib/dr-tabs/dr-tab.component.d.ts +3 -0
  196. package/lib/dr-tabs/dr-tabs.component.d.ts +3 -0
  197. package/lib/dr-tabs/dr-tabs.module.d.ts +11 -0
  198. package/lib/dr-tags/dr-tag.component.d.ts +3 -0
  199. package/lib/dr-tags/dr-tag.module.d.ts +9 -0
  200. package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +3 -0
  201. package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +3 -0
  202. package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +3 -0
  203. package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +3 -0
  204. package/lib/dr-tooltip/dr-tooltip.component.d.ts +4 -1
  205. package/lib/dr-tooltip/dr-tooltip.directive.d.ts +3 -0
  206. package/lib/dr-tooltip/dr-tooltip.module.d.ts +11 -0
  207. package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +1 -1
  208. package/lib/dr-treeview/components/treeview/treeview.component.d.ts +3 -0
  209. package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +3 -0
  210. package/lib/dr-treeview/dr-tree-view.module.d.ts +9 -0
  211. package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +9 -0
  212. package/lib/dr-treeview/models/treeview-config.d.ts +3 -0
  213. package/lib/dr-treeview/models/treeview-i18n.d.ts +5 -0
  214. package/lib/dr-treeview/pipes/treeview.pipe.d.ts +3 -0
  215. package/lib/list-tags/list-tag.component.d.ts +3 -0
  216. package/lib/list-tags/list-tag.module.d.ts +8 -0
  217. package/lib/models/chat.d.ts +2 -2
  218. package/lib/models/datePicker.d.ts +10 -3
  219. package/lib/models/dropdown.d.ts +1 -1
  220. package/lib/models/popover.d.ts +1 -1
  221. package/lib/models/serverTags.d.ts +4 -4
  222. package/lib/stepper/interfaces/stepper.d.ts +1 -1
  223. package/lib/stepper/stepper.component.d.ts +3 -0
  224. package/lib/stepper/stepper.module.d.ts +7 -0
  225. package/package.json +27 -15
  226. package/public-api.d.ts +25 -0
  227. package/bundles/datarailsshared-datarailsshared.umd.js +0 -8041
  228. package/bundles/datarailsshared-datarailsshared.umd.js.map +0 -1
  229. package/datarailsshared-datarailsshared-1.4.188.tgz +0 -0
  230. package/datarailsshared-datarailsshared.d.ts +0 -34
  231. package/datarailsshared-datarailsshared.metadata.json +0 -1
  232. package/esm2015/datarailsshared-datarailsshared.js +0 -35
  233. package/esm2015/lib/date-tags/date-tag.component.js +0 -73
  234. package/esm2015/lib/date-tags/date-tag.module.js +0 -36
  235. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +0 -77
  236. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +0 -153
  237. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +0 -80
  238. package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +0 -105
  239. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +0 -84
  240. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +0 -78
  241. package/esm2015/lib/dr-accordion/accordion-item-body.component.js +0 -55
  242. package/esm2015/lib/dr-accordion/accordion-item-header.component.js +0 -77
  243. package/esm2015/lib/dr-accordion/accordion-item.component.js +0 -123
  244. package/esm2015/lib/dr-accordion/accordion.component.js +0 -43
  245. package/esm2015/lib/dr-accordion/accordion.module.js +0 -23
  246. package/esm2015/lib/dr-avatar/dr-avatar.component.js +0 -44
  247. package/esm2015/lib/dr-avatar/dr-avatar.module.js +0 -26
  248. package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +0 -16
  249. package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +0 -25
  250. package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +0 -20
  251. package/esm2015/lib/dr-chat/chat.component.js +0 -119
  252. package/esm2015/lib/dr-chat/chat.module.js +0 -41
  253. package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -155
  254. package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -71
  255. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
  256. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -47
  257. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
  258. package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +0 -87
  259. package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +0 -15
  260. package/esm2015/lib/dr-details-list/dr-details-list.component.js +0 -65
  261. package/esm2015/lib/dr-details-list/dr-details-list.module.js +0 -16
  262. package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +0 -70
  263. package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +0 -92
  264. package/esm2015/lib/dr-dialog/dialog.module.js +0 -34
  265. package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +0 -25
  266. package/esm2015/lib/dr-dialog/services/dialog.service.js +0 -78
  267. package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +0 -12
  268. package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +0 -104
  269. package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +0 -114
  270. package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +0 -104
  271. package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +0 -34
  272. package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +0 -24
  273. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +0 -103
  274. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +0 -19
  275. package/esm2015/lib/dr-error/dr-error.component.js +0 -64
  276. package/esm2015/lib/dr-error/dr-error.module.js +0 -22
  277. package/esm2015/lib/dr-inputs/button/button.component.js +0 -39
  278. package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +0 -65
  279. package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +0 -47
  280. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +0 -216
  281. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +0 -180
  282. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +0 -183
  283. package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +0 -12
  284. package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +0 -194
  285. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +0 -194
  286. package/esm2015/lib/dr-inputs/dr-inputs.module.js +0 -66
  287. package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +0 -29
  288. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +0 -119
  289. package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +0 -74
  290. package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +0 -68
  291. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +0 -63
  292. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +0 -73
  293. package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +0 -157
  294. package/esm2015/lib/dr-layout/dr-layout-body.component.js +0 -13
  295. package/esm2015/lib/dr-layout/dr-layout-header.component.js +0 -17
  296. package/esm2015/lib/dr-layout/dr-layout.component.js +0 -14
  297. package/esm2015/lib/dr-layout/dr-layout.module.js +0 -20
  298. package/esm2015/lib/dr-popover/dr-popover-ref.js +0 -20
  299. package/esm2015/lib/dr-popover/dr-popover.component.js +0 -106
  300. package/esm2015/lib/dr-popover/dr-popover.directive.js +0 -84
  301. package/esm2015/lib/dr-popover/dr-popover.module.js +0 -23
  302. package/esm2015/lib/dr-popover/dr-popover.service.js +0 -106
  303. package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +0 -102
  304. package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +0 -74
  305. package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +0 -73
  306. package/esm2015/lib/dr-scenario/dr-scenario.module.js +0 -28
  307. package/esm2015/lib/dr-scenario/services/scenario.service.js +0 -167
  308. package/esm2015/lib/dr-spinner/dr-spinner.component.js +0 -18
  309. package/esm2015/lib/dr-spinner/dr-spinner.directive.js +0 -56
  310. package/esm2015/lib/dr-spinner/dr-spinner.module.js +0 -18
  311. package/esm2015/lib/dr-tabs/dr-tab.component.js +0 -26
  312. package/esm2015/lib/dr-tabs/dr-tabs.component.js +0 -35
  313. package/esm2015/lib/dr-tabs/dr-tabs.module.js +0 -32
  314. package/esm2015/lib/dr-tags/dr-tag.component.js +0 -177
  315. package/esm2015/lib/dr-tags/dr-tag.module.js +0 -24
  316. package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +0 -19
  317. package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +0 -18
  318. package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +0 -20
  319. package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +0 -34
  320. package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +0 -40
  321. package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +0 -147
  322. package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +0 -35
  323. package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +0 -210
  324. package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +0 -58
  325. package/esm2015/lib/dr-treeview/dr-tree-view.module.js +0 -38
  326. package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +0 -97
  327. package/esm2015/lib/dr-treeview/models/treeview-config.js +0 -22
  328. package/esm2015/lib/dr-treeview/models/treeview-i18n.js +0 -42
  329. package/esm2015/lib/dr-treeview/models/treeview-item.js +0 -155
  330. package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +0 -17
  331. package/esm2015/lib/list-tags/list-tag.component.js +0 -37
  332. package/esm2015/lib/list-tags/list-tag.module.js +0 -23
  333. package/esm2015/lib/models/chat.js +0 -36
  334. package/esm2015/lib/models/datePicker.js +0 -73
  335. package/esm2015/lib/models/popover.js +0 -27
  336. package/esm2015/lib/stepper/stepper.component.js +0 -55
  337. package/esm2015/lib/stepper/stepper.module.js +0 -17
  338. package/esm2015/public-api.js +0 -93
  339. package/fesm2015/datarailsshared-datarailsshared.js +0 -6885
  340. package/fesm2015/datarailsshared-datarailsshared.js.map +0 -1
  341. /package/{esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js → esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs} +0 -0
  342. /package/{esm2015/lib/dr-scenario/interfaces/scenario.js → esm2022/lib/dr-scenario/interfaces/scenario.mjs} +0 -0
  343. /package/{esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs} +0 -0
  344. /package/{esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js → esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs} +0 -0
  345. /package/{esm2015/lib/dr-treeview/helpers/treeview-helper.js → esm2022/lib/dr-treeview/helpers/treeview-helper.mjs} +0 -0
  346. /package/{esm2015/lib/dr-treeview/models/treeview-header-template-context.js → esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs} +0 -0
  347. /package/{esm2015/lib/dr-treeview/models/treeview-item-template-context.js → esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs} +0 -0
  348. /package/{esm2015/lib/models/badgeStatus.js → esm2022/lib/models/badgeStatus.mjs} +0 -0
  349. /package/{esm2015/lib/models/constants.js → esm2022/lib/models/constants.mjs} +0 -0
  350. /package/{esm2015/lib/models/dropdown.js → esm2022/lib/models/dropdown.mjs} +0 -0
  351. /package/{esm2015/lib/models/serverTags.js → esm2022/lib/models/serverTags.mjs} +0 -0
  352. /package/{esm2015/lib/models/spinnerOptions.js → esm2022/lib/models/spinnerOptions.mjs} +0 -0
  353. /package/{esm2015/lib/models/validationError.js → esm2022/lib/models/validationError.mjs} +0 -0
  354. /package/{esm2015/lib/stepper/interfaces/stepper.js → esm2022/lib/stepper/interfaces/stepper.mjs} +0 -0
  355. /package/{esm2015/lib/utils/dr-shared-utils.js → esm2022/lib/utils/dr-shared-utils.mjs} +0 -0
@@ -0,0 +1,51 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DialogWrapperComponent } from './components/dialog-wrapper/dialog-wrapper.component';
4
+ import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogModule as MatDialogModule, MatLegacyDialogRef as MatDialogRef } from '@angular/material/legacy-dialog';
5
+ import { DialogModalWrapperComponent } from './components/dialog-modal-wrapper/dialog-modal-wrapper.component';
6
+ import { DialogService } from './services/dialog.service';
7
+ import { DrInputsModule } from '../dr-inputs/dr-inputs.module';
8
+ import { ReactiveFormsModule } from '@angular/forms';
9
+ import { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';
10
+ import { DrDetailsListModule } from '../dr-details-list/dr-details-list.module';
11
+ import * as i0 from "@angular/core";
12
+ export class DrDialogModule {
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: DrDialogModule, declarations: [DialogWrapperComponent, DialogModalWrapperComponent], imports: [CommonModule,
15
+ MatDialogModule,
16
+ DrInputsModule,
17
+ ReactiveFormsModule,
18
+ DrTooltipModule,
19
+ DrDetailsListModule], exports: [DialogWrapperComponent, DialogModalWrapperComponent] });
20
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDialogModule, providers: [
21
+ { provide: MatDialogRef, useValue: {} },
22
+ { provide: MAT_DIALOG_DATA, useValue: {} },
23
+ DialogService
24
+ ], imports: [CommonModule,
25
+ MatDialogModule,
26
+ DrInputsModule,
27
+ ReactiveFormsModule,
28
+ DrTooltipModule,
29
+ DrDetailsListModule] });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDialogModule, decorators: [{
32
+ type: NgModule,
33
+ args: [{
34
+ declarations: [DialogWrapperComponent, DialogModalWrapperComponent],
35
+ imports: [
36
+ CommonModule,
37
+ MatDialogModule,
38
+ DrInputsModule,
39
+ ReactiveFormsModule,
40
+ DrTooltipModule,
41
+ DrDetailsListModule
42
+ ],
43
+ exports: [DialogWrapperComponent, DialogModalWrapperComponent],
44
+ providers: [
45
+ { provide: MatDialogRef, useValue: {} },
46
+ { provide: MAT_DIALOG_DATA, useValue: {} },
47
+ DialogService
48
+ ]
49
+ }]
50
+ }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxlQUFlLEVBQUUscUJBQXFCLElBQUksZUFBZSxFQUFFLGtCQUFrQixJQUFJLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFLLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQW1CaEYsTUFBTSxPQUFPLGNBQWM7dUdBQWQsY0FBYzt3R0FBZCxjQUFjLGlCQWhCUixzQkFBc0IsRUFBRSwyQkFBMkIsYUFFOUQsWUFBWTtZQUNaLGVBQWU7WUFDZixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixtQkFBbUIsYUFFYixzQkFBc0IsRUFBRSwyQkFBMkI7d0dBT3BELGNBQWMsYUFOWjtZQUNQLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQ3ZDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQzFDLGFBQWE7U0FDaEIsWUFaRyxZQUFZO1lBQ1osZUFBZTtZQUNmLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLG1CQUFtQjs7MkZBU2QsY0FBYztrQkFqQjFCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLENBQUM7b0JBQ25FLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwyQkFBMkIsQ0FBQztvQkFDOUQsU0FBUyxFQUFFO3dCQUNQLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO3dCQUN2QyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTt3QkFDMUMsYUFBYTtxQkFDaEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpYWxvZ1dyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nLXdyYXBwZXIvZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBLCBNYXRMZWdhY3lEaWFsb2dNb2R1bGUgYXMgTWF0RGlhbG9nTW9kdWxlLCBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBEaWFsb2dNb2RhbFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IERySW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vZHItaW5wdXRzL2RyLWlucHV0cy5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERyVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5tb2R1bGUnO1xuaW1wb3J0IHsgRHJEZXRhaWxzTGlzdE1vZHVsZSB9IGZyb20gJy4uL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtEaWFsb2dXcmFwcGVyQ29tcG9uZW50LCBEaWFsb2dNb2RhbFdyYXBwZXJDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIERySW5wdXRzTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBEclRvb2x0aXBNb2R1bGUsXG4gICAgICAgIERyRGV0YWlsc0xpc3RNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtEaWFsb2dXcmFwcGVyQ29tcG9uZW50LCBEaWFsb2dNb2RhbFdyYXBwZXJDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE1hdERpYWxvZ1JlZiwgdXNlVmFsdWU6IHt9IH0sXG4gICAgICAgIHsgcHJvdmlkZTogTUFUX0RJQUxPR19EQVRBLCB1c2VWYWx1ZToge30gfSxcbiAgICAgICAgRGlhbG9nU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRHJEaWFsb2dNb2R1bGUge1xufVxuIl19
@@ -0,0 +1,25 @@
1
+ export var DIALOG_SIZE;
2
+ (function (DIALOG_SIZE) {
3
+ DIALOG_SIZE["SMALL"] = "small-modal";
4
+ DIALOG_SIZE["MEDIUM"] = "medium-modal";
5
+ DIALOG_SIZE["MEDIUM_SMALL"] = "medium-small-modal";
6
+ DIALOG_SIZE["MEDIUM_MAX_HEIGHT"] = "medium-modal-max-height";
7
+ DIALOG_SIZE["MEDIUM_LARGE"] = "medium-large-modal";
8
+ DIALOG_SIZE["LARGE"] = "large-modal";
9
+ DIALOG_SIZE["X_LARGE"] = "xl-modal";
10
+ DIALOG_SIZE["X_CUSTOM_LARGE"] = "xl-custom-modal";
11
+ })(DIALOG_SIZE || (DIALOG_SIZE = {}));
12
+ export var DIALOG_BUTTON_LABEL;
13
+ (function (DIALOG_BUTTON_LABEL) {
14
+ DIALOG_BUTTON_LABEL["SAVE"] = "Save";
15
+ DIALOG_BUTTON_LABEL["CANCEL"] = "Cancel";
16
+ DIALOG_BUTTON_LABEL["CLOSE"] = "Close";
17
+ })(DIALOG_BUTTON_LABEL || (DIALOG_BUTTON_LABEL = {}));
18
+ export var DIALOG_FIELD_TYPE;
19
+ (function (DIALOG_FIELD_TYPE) {
20
+ DIALOG_FIELD_TYPE["INPUT"] = "input";
21
+ DIALOG_FIELD_TYPE["SELECT"] = "select";
22
+ DIALOG_FIELD_TYPE["DATE_PICKER"] = "date_picker";
23
+ DIALOG_FIELD_TYPE["CHECKBOX"] = "checkbox";
24
+ })(DIALOG_FIELD_TYPE || (DIALOG_FIELD_TYPE = {}));
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kaWFsb2cvaW50ZXJmYWNlcy9kaWFsb2ctZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4SEEsTUFBTSxDQUFOLElBQVksV0FTWDtBQVRELFdBQVksV0FBVztJQUNuQixvQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBdUIsQ0FBQTtJQUN2QixrREFBbUMsQ0FBQTtJQUNuQyw0REFBNkMsQ0FBQTtJQUM3QyxrREFBbUMsQ0FBQTtJQUNuQyxvQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBb0IsQ0FBQTtJQUNwQixpREFBa0MsQ0FBQTtBQUN0QyxDQUFDLEVBVFcsV0FBVyxLQUFYLFdBQVcsUUFTdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzNCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUN6QixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsZ0RBQTJCLENBQUE7SUFDM0IsMENBQXFCLENBQUE7QUFDekIsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dDb25maWcgYXMgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5cbnR5cGUgRGlhbG9nQ29uZmlnID0gT21pdDxNYXREaWFsb2dDb25maWcsICdkYXRhJz47XG5cbi8vIERhdGEgT2JqIGZvciBvcGVuRGlhbG9nV3JhcHBlcigpXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0RhdGE8VCA9IGFueT4gZXh0ZW5kcyBEaWFsb2dDb25maWcge1xuICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICAgIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICAgICAgICBjbGVhcmFibGU/OiBib29sZWFuO1xuICAgICAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICAgICAgY29udGVudD86IGFueTtcbiAgICAgICAgY29udGVudEljb24/OiB7XG4gICAgICAgICAgICBjbGFzcz86IHN0cmluZztcbiAgICAgICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBhY2NlcHRCdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgICAgIGNhbmNlbEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICAgICAgY3VzdG9tQnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgICAgICB0b29sdGlwcz86IGFueTtcbiAgICAgICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAgICAgICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgICAgIGNoaWxkPzogQ29tcG9uZW50VHlwZTxUPjtcbiAgICAgICAgY2hpbGREYXRhPzogUGFydGlhbDxUPjtcbiAgICAgICAgdGhlbWU/OiB7XG4gICAgICAgICAgICB0aGVtZVNpemU/OiBTaXplTW9kYWw7XG4gICAgICAgICAgICB0eXBlPzogJ3N1Y2Nlc3NmdWwnO1xuICAgICAgICAgICAgY29udGVudE5vUGFkZGluZz86IGJvb2xlYW47XG4gICAgICAgICAgICBpc0NvbmZpcm1hdGlvbj86IGJvb2xlYW47XG4gICAgICAgICAgICBub1RoZW1lU2l6ZUNsYXNzPzogYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICAgICAgY29uZmlybUZuPzogYW55O1xuICAgICAgICBmaWVsZHM/OiBNb2RhbEZvcm1GaWVsZFtdO1xuICAgICAgICBoaWRlQ2xvc2VCdG4/OiBib29sZWFuO1xuICAgICAgICBmb290ZXJUZW1wbGF0ZURhdGE/OiBGb290ZXJUZW1wbGF0ZURhdGE7XG4gICAgICAgIGRldGFpbHM/OiB7XG4gICAgICAgICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgICAgICAgIGl0ZW1zPzogc3RyaW5nW10gfCBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuXG4vLyBEYXRhIE9iaiBmb3Igb3BlbkNvbmZpcm1EaWFsb2coKVxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtRGlhbG9nRGF0YSB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc2VhcmNoYWJsZT86IGJvb2xlYW47XG4gICAgY2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGNvbnRlbnRJY29uPzoge1xuICAgICAgICBjbGFzcz86IHN0cmluZztcbiAgICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgfTtcbiAgICBhY2NlcHRCdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgY2FuY2VsQnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgIGN1c3RvbUJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICB0b29sdGlwcz86IGFueTtcbiAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAgIGhpZGVDbG9zZUJ0bj86IGJvb2xlYW47XG4gICAgY29uZmlybUZuPzogKHJlc3BvbnNlPzogYW55KSA9PiBPYnNlcnZhYmxlPGFueT47XG4gICAgZmllbGRzPzogTW9kYWxGb3JtRmllbGRbXTtcbiAgICBmb290ZXJUZW1wbGF0ZURhdGE/OiBGb290ZXJUZW1wbGF0ZURhdGE7XG4gICAgZGV0YWlscz86IHtcbiAgICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICAgIGl0ZW1zPzogc3RyaW5nW10gfCBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgICB9O1xuICAgIHRoZW1lPzoge1xuICAgICAgICB0aGVtZVNpemU/OiBTaXplTW9kYWw7XG4gICAgfTtcbn1cblxuLy8gRGF0YSBPYmogZm9yIG9wZW5Db25maXJtRGlhbG9nTW9kYWwoKVxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtRGlhbG9nTW9kYWxEYXRhIGV4dGVuZHMgQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIGNvbmZpcm1Gbj86IGFueTtcbiAgICBoaWRlQ2xvc2VCdG4/OiBib29sZWFuO1xuICAgIGZvb3RlclRlbXBsYXRlRGF0YT86IEZvb3RlclRlbXBsYXRlRGF0YTtcbiAgICBmaWVsZHM/OiBNb2RhbEZvcm1GaWVsZFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlclRlbXBsYXRlRGF0YSB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIGFjdGlvbjogKG9ialRvU2F2ZT86IGFueSkgPT4gYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsRm9ybUZpZWxkIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogVERpYWxvZ0ZpZWxkVHlwZTtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBpc0xhYmVsRnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICBpdGVtcz86IGFueVtdO1xuICAgIGl0ZW1zJD86IE9ic2VydmFibGU8YW55W10+IHwgT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGRlZmF1bHQ/OiBhbnk7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgYmluZExhYmVsPzogc3RyaW5nO1xuICAgIGJpbmRWYWx1ZT86IHN0cmluZztcbiAgICB2YWxpZGF0b3JzPzogYW55W107XG4gICAgZGF0ZVBpY2tlckZvcm1hdD86IFRpbWVmcmFtZU9wdGlvbjtcbn1cblxuZXhwb3J0IHR5cGUgU2l6ZU1vZGFsID1cbiAgICB8ICdzbWFsbC1tb2RhbCdcbiAgICB8ICdtZWRpdW0tc21hbGwtbW9kYWwnXG4gICAgfCAnbWVkaXVtLW1vZGFsJ1xuICAgIHwgJ21lZGl1bS1tb2RhbC1tYXgtaGVpZ2h0J1xuICAgIHwgJ21lZGl1bS1sYXJnZS1tb2RhbCdcbiAgICB8ICdsYXJnZS1tb2RhbCdcbiAgICB8ICd4bC1tb2RhbCdcbiAgICB8ICd4bC1jdXN0b20tbW9kYWwnO1xuXG5leHBvcnQgdHlwZSBEYXRhUHJvcDxUID0gYW55PiA9IERpYWxvZ0RhdGE8VD5bJ2RhdGEnXTtcblxuZXhwb3J0IHR5cGUgRGlhbG9nVGhlbWUgPSBEYXRhUHJvcFsndGhlbWUnXTtcblxuZXhwb3J0IHR5cGUgRGlhbG9nRm9vdGVyQnV0dG9uID0ge1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGxvYWRpbmdMYWJlbD86IHN0cmluZztcbiAgICBmdW5jdGlvbnM/OiBhbnk7XG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgbG9hZGluZz86IGFueTtcbiAgICB0aGVtZT86IGFueTtcbn07XG5cbmV4cG9ydCBlbnVtIERJQUxPR19TSVpFIHtcbiAgICBTTUFMTCA9ICdzbWFsbC1tb2RhbCcsXG4gICAgTUVESVVNID0gJ21lZGl1bS1tb2RhbCcsXG4gICAgTUVESVVNX1NNQUxMID0gJ21lZGl1bS1zbWFsbC1tb2RhbCcsXG4gICAgTUVESVVNX01BWF9IRUlHSFQgPSAnbWVkaXVtLW1vZGFsLW1heC1oZWlnaHQnLFxuICAgIE1FRElVTV9MQVJHRSA9ICdtZWRpdW0tbGFyZ2UtbW9kYWwnLFxuICAgIExBUkdFID0gJ2xhcmdlLW1vZGFsJyxcbiAgICBYX0xBUkdFID0gJ3hsLW1vZGFsJyxcbiAgICBYX0NVU1RPTV9MQVJHRSA9ICd4bC1jdXN0b20tbW9kYWwnLFxufVxuXG5leHBvcnQgZW51bSBESUFMT0dfQlVUVE9OX0xBQkVMIHtcbiAgICBTQVZFID0gJ1NhdmUnLFxuICAgIENBTkNFTCA9ICdDYW5jZWwnLFxuICAgIENMT1NFID0gJ0Nsb3NlJyxcbn1cblxuZXhwb3J0IGVudW0gRElBTE9HX0ZJRUxEX1RZUEUge1xuICAgIElOUFVUID0gJ2lucHV0JyxcbiAgICBTRUxFQ1QgPSAnc2VsZWN0JyxcbiAgICBEQVRFX1BJQ0tFUiA9ICdkYXRlX3BpY2tlcicsXG4gICAgQ0hFQ0tCT1ggPSAnY2hlY2tib3gnLFxufVxuXG5leHBvcnQgdHlwZSBURGlhbG9nRmllbGRUeXBlID0gRElBTE9HX0ZJRUxEX1RZUEU7XG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { DialogWrapperComponent } from '../components/dialog-wrapper/dialog-wrapper.component';
3
+ import { DialogModalWrapperComponent } from '../components/dialog-modal-wrapper/dialog-modal-wrapper.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/legacy-dialog";
6
+ const DEFAULT_PANE_CLASS_NAME = 'wrapper-dialog';
7
+ const DEFAULT_CONFIRM_THEME = { themeSize: 'small-modal' };
8
+ export class DialogService {
9
+ dialog;
10
+ wrapperComponent;
11
+ constructor(dialog) {
12
+ this.dialog = dialog;
13
+ }
14
+ /**
15
+ * Function to open modal with custom form
16
+ */
17
+ openDialogWrapper(componentTypeChild, dialogData, componentTypeWrapper) {
18
+ if (!componentTypeWrapper)
19
+ componentTypeWrapper = DialogWrapperComponent;
20
+ dialogData.data.child = componentTypeChild;
21
+ if (dialogData.panelClass instanceof Array) {
22
+ dialogData.panelClass.push(DEFAULT_PANE_CLASS_NAME);
23
+ }
24
+ else {
25
+ dialogData.panelClass = [dialogData.panelClass || '', DEFAULT_PANE_CLASS_NAME];
26
+ }
27
+ this.wrapperComponent = this.openDialog(componentTypeWrapper, dialogData);
28
+ return this.wrapperComponent;
29
+ }
30
+ /**
31
+ * Function to open confirmation modal
32
+ */
33
+ openConfirmDialog(confirmDialogData) {
34
+ const dialogData = { panelClass: DEFAULT_PANE_CLASS_NAME, data: null };
35
+ Object.assign(dialogData, { data: confirmDialogData });
36
+ if (!dialogData.data.theme)
37
+ dialogData.data.theme = DEFAULT_CONFIRM_THEME;
38
+ dialogData.data.theme.isConfirmation = true;
39
+ return this.openDialog(DialogWrapperComponent, dialogData);
40
+ }
41
+ /**
42
+ * Function to open confirmation modal with inputs
43
+ */
44
+ openConfirmDialogModal(confirmDialogData) {
45
+ const dialogData = { panelClass: DEFAULT_PANE_CLASS_NAME, data: null };
46
+ Object.assign(dialogData, { data: confirmDialogData });
47
+ if (!dialogData.data.theme)
48
+ dialogData.data.theme = DEFAULT_CONFIRM_THEME;
49
+ return this.openDialog(DialogModalWrapperComponent, dialogData);
50
+ }
51
+ close(params) {
52
+ this.wrapperComponent.close(params);
53
+ }
54
+ enableAcceptButton() {
55
+ this.wrapperComponent.componentInstance.enableAcceptButton();
56
+ }
57
+ changeDialogThemeSize(theme) {
58
+ this.wrapperComponent.componentInstance.class = theme;
59
+ }
60
+ openDialog(componentType, dialogData) {
61
+ return this.dialog.open(componentType, dialogData);
62
+ }
63
+ throwErr(err, load) {
64
+ if (load) {
65
+ load.next(false);
66
+ }
67
+ throw err;
68
+ }
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DialogService, deps: [{ token: i1.MatLegacyDialog }], target: i0.ɵɵFactoryTarget.Injectable });
70
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DialogService, providedIn: 'root' });
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DialogService, decorators: [{
73
+ type: Injectable,
74
+ args: [{
75
+ providedIn: 'root'
76
+ }]
77
+ }], ctorParameters: function () { return [{ type: i1.MatLegacyDialog }]; } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kaWFsb2cvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQzs7O0FBR2hILE1BQU0sdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUM7QUFFakQsTUFBTSxxQkFBcUIsR0FBZ0IsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUM7QUFLeEUsTUFBTSxPQUFPLGFBQWE7SUFLVjtJQUhKLGdCQUFnQixDQUFvQjtJQUU1QyxZQUNZLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7SUFFN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQ2Isa0JBQW9DLEVBQ3BDLFVBQXlCLEVBQ3pCLG9CQUF1QztRQUV2QyxJQUFJLENBQUMsb0JBQW9CO1lBQUUsb0JBQW9CLEdBQUksc0JBQThCLENBQUM7UUFFbEYsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFFM0MsSUFBSSxVQUFVLENBQUMsVUFBVSxZQUFZLEtBQUssRUFBRTtZQUN4QyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1NBQ3ZEO2FBQU07WUFDSCxVQUFVLENBQUMsVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztTQUNsRjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFVLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFVLGlCQUFvQztRQUMzRCxNQUFNLFVBQVUsR0FBZSxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbkYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQztRQUMxRSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBK0Msc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVEOztPQUVHO0lBQ0gsc0JBQXNCLENBQVUsaUJBQW9DO1FBQ2hFLE1BQU0sVUFBVSxHQUFlLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNuRixNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFxQixDQUFDO1FBQzFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBb0QsMkJBQTJCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFZO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDMUQsQ0FBQztJQUVPLFVBQVUsQ0FBeUMsYUFBeUMsRUFBRSxVQUF5QjtRQUMzSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUF1QyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFVLEVBQUUsSUFBMEM7UUFDM0QsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO1FBQ0QsTUFBTSxHQUFHLENBQUM7SUFDZCxDQUFDO3VHQXpFUSxhQUFhOzJHQUFiLGFBQWEsY0FGVixNQUFNOzsyRkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2csIE1hdExlZ2FjeURpYWxvZ1JlZiBhcyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhLCBEYXRhUHJvcCwgRGlhbG9nRGF0YSwgRGlhbG9nVGhlbWUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RpYWxvZy1kYXRhJztcbmltcG9ydCB7IERpYWxvZ1dyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2RpYWxvZy13cmFwcGVyL2RpYWxvZy13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dNb2RhbFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2RpYWxvZy1tb2RhbC13cmFwcGVyL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgREVGQVVMVF9QQU5FX0NMQVNTX05BTUUgPSAnd3JhcHBlci1kaWFsb2cnO1xuXG5jb25zdCBERUZBVUxUX0NPTkZJUk1fVEhFTUU6IERpYWxvZ1RoZW1lID0geyB0aGVtZVNpemU6ICdzbWFsbC1tb2RhbCcgfTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgd3JhcHBlckNvbXBvbmVudDogTWF0RGlhbG9nUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICApIHtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBvcGVuIG1vZGFsIHdpdGggY3VzdG9tIGZvcm1cbiAgICAgKi9cbiAgICBvcGVuRGlhbG9nV3JhcHBlcjxULCBEID0gYW55LCBSID0gYW55PihcbiAgICAgICAgY29tcG9uZW50VHlwZUNoaWxkOiBDb21wb25lbnRUeXBlPFQ+LFxuICAgICAgICBkaWFsb2dEYXRhOiBEaWFsb2dEYXRhPFQ+LFxuICAgICAgICBjb21wb25lbnRUeXBlV3JhcHBlcj86IENvbXBvbmVudFR5cGU8RD4sXG4gICAgKSB7XG4gICAgICAgIGlmICghY29tcG9uZW50VHlwZVdyYXBwZXIpIGNvbXBvbmVudFR5cGVXcmFwcGVyID0gKERpYWxvZ1dyYXBwZXJDb21wb25lbnQgYXMgYW55KTtcblxuICAgICAgICBkaWFsb2dEYXRhLmRhdGEuY2hpbGQgPSBjb21wb25lbnRUeXBlQ2hpbGQ7XG5cbiAgICAgICAgaWYgKGRpYWxvZ0RhdGEucGFuZWxDbGFzcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICBkaWFsb2dEYXRhLnBhbmVsQ2xhc3MucHVzaChERUZBVUxUX1BBTkVfQ0xBU1NfTkFNRSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkaWFsb2dEYXRhLnBhbmVsQ2xhc3MgPSBbZGlhbG9nRGF0YS5wYW5lbENsYXNzIHx8ICcnLCBERUZBVUxUX1BBTkVfQ0xBU1NfTkFNRV07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndyYXBwZXJDb21wb25lbnQgPSB0aGlzLm9wZW5EaWFsb2c8RCwgUiwgVD4oY29tcG9uZW50VHlwZVdyYXBwZXIsIGRpYWxvZ0RhdGEpO1xuICAgICAgICByZXR1cm4gdGhpcy53cmFwcGVyQ29tcG9uZW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIG9wZW4gY29uZmlybWF0aW9uIG1vZGFsXG4gICAgICovXG4gICAgb3BlbkNvbmZpcm1EaWFsb2c8UiA9IGFueT4oY29uZmlybURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhKTogTWF0RGlhbG9nUmVmPERpYWxvZ1dyYXBwZXJDb21wb25lbnQsIFI+IHtcbiAgICAgICAgY29uc3QgZGlhbG9nRGF0YTogRGlhbG9nRGF0YSA9IHsgcGFuZWxDbGFzczogREVGQVVMVF9QQU5FX0NMQVNTX05BTUUsIGRhdGE6IG51bGwgfTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihkaWFsb2dEYXRhLCB7IGRhdGE6IGNvbmZpcm1EaWFsb2dEYXRhIH0pO1xuICAgICAgICBpZiAoIWRpYWxvZ0RhdGEuZGF0YS50aGVtZSkgZGlhbG9nRGF0YS5kYXRhLnRoZW1lID0gREVGQVVMVF9DT05GSVJNX1RIRU1FO1xuICAgICAgICBkaWFsb2dEYXRhLmRhdGEudGhlbWUuaXNDb25maXJtYXRpb24gPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuRGlhbG9nPERpYWxvZ1dyYXBwZXJDb21wb25lbnQsIFIsIENvbmZpcm1EaWFsb2dEYXRhPihEaWFsb2dXcmFwcGVyQ29tcG9uZW50LCBkaWFsb2dEYXRhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBvcGVuIGNvbmZpcm1hdGlvbiBtb2RhbCB3aXRoIGlucHV0c1xuICAgICAqL1xuICAgIG9wZW5Db25maXJtRGlhbG9nTW9kYWw8UiA9IGFueT4oY29uZmlybURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhKTogTWF0RGlhbG9nUmVmPERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudCwgUj4ge1xuICAgICAgICBjb25zdCBkaWFsb2dEYXRhOiBEaWFsb2dEYXRhID0geyBwYW5lbENsYXNzOiBERUZBVUxUX1BBTkVfQ0xBU1NfTkFNRSwgZGF0YTogbnVsbCB9O1xuICAgICAgICBPYmplY3QuYXNzaWduKGRpYWxvZ0RhdGEsIHsgZGF0YTogY29uZmlybURpYWxvZ0RhdGEgfSk7XG4gICAgICAgIGlmICghZGlhbG9nRGF0YS5kYXRhLnRoZW1lKSBkaWFsb2dEYXRhLmRhdGEudGhlbWUgPSBERUZBVUxUX0NPTkZJUk1fVEhFTUU7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5EaWFsb2c8RGlhbG9nTW9kYWxXcmFwcGVyQ29tcG9uZW50LCBSLCBDb25maXJtRGlhbG9nRGF0YT4oRGlhbG9nTW9kYWxXcmFwcGVyQ29tcG9uZW50LCBkaWFsb2dEYXRhKTtcbiAgICB9XG5cbiAgICBjbG9zZShwYXJhbXM/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cmFwcGVyQ29tcG9uZW50LmNsb3NlKHBhcmFtcyk7XG4gICAgfVxuXG4gICAgZW5hYmxlQWNjZXB0QnV0dG9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyYXBwZXJDb21wb25lbnQuY29tcG9uZW50SW5zdGFuY2UuZW5hYmxlQWNjZXB0QnV0dG9uKCk7XG4gICAgfVxuXG4gICAgY2hhbmdlRGlhbG9nVGhlbWVTaXplKHRoZW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cmFwcGVyQ29tcG9uZW50LmNvbXBvbmVudEluc3RhbmNlLmNsYXNzID0gdGhlbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRGlhbG9nPFdyYXBwZXJUeXBlLCBSZXR1cm5UeXBlID0gYW55LCBEID0gYW55Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPFdyYXBwZXJUeXBlPiwgZGlhbG9nRGF0YTogRGlhbG9nRGF0YTxEPik6IE1hdERpYWxvZ1JlZjxXcmFwcGVyVHlwZSwgUmV0dXJuVHlwZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbjxXcmFwcGVyVHlwZSwgRGF0YVByb3A8RD4sIFJldHVyblR5cGU+KGNvbXBvbmVudFR5cGUsIGRpYWxvZ0RhdGEpO1xuICAgIH1cblxuICAgIHRocm93RXJyKGVycjogRXJyb3IsIGxvYWQ/OiBTdWJqZWN0PGFueT4gfCBCZWhhdmlvclN1YmplY3Q8YW55Pik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmIChsb2FkKSB7XG4gICAgICAgICAgICBsb2FkLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DrDropdownItemShowPipe {
4
+ transform(arr) {
5
+ return arr.filter(item => item.show ? item.show(item.data) : true);
6
+ }
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownItemShowPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
8
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownItemShowPipe, name: "drDropdownItemShowPipe" });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownItemShowPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: 'drDropdownItemShowPipe'
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24taXRlbS1zaG93LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixTQUFTLENBQUMsR0FBdUI7UUFDN0IsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7dUdBSFEsc0JBQXNCO3FHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSGxDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHdCQUF3QjtpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdkckRyb3Bkb3duSXRlbVNob3dQaXBlJ1xufSlcbmV4cG9ydCBjbGFzcyBEckRyb3Bkb3duSXRlbVNob3dQaXBlPFQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGFycjogSURyb3Bkb3duSXRlbTxUPltdKTogSURyb3Bkb3duSXRlbTxUPltdIHtcbiAgICAgICAgcmV0dXJuIGFyci5maWx0ZXIoaXRlbSA9PiBpdGVtLnNob3cgPyBpdGVtLnNob3coaXRlbS5kYXRhKSA6IHRydWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,108 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DrDropdownPositionDirective {
4
+ el;
5
+ renderer;
6
+ drDropdownPosition;
7
+ position = 'left';
8
+ widthMoreRight;
9
+ constructor(el, renderer) {
10
+ this.el = el;
11
+ this.renderer = renderer;
12
+ }
13
+ ngOnInit() {
14
+ setTimeout(this.calculatePosition.bind(this), 1);
15
+ }
16
+ calculatePosition() {
17
+ let xDifference = 0;
18
+ let defaultDelta = 10;
19
+ let defaultPadding = 0;
20
+ const originalPosition = this.position;
21
+ if (this.position === 'child') {
22
+ defaultDelta = 0;
23
+ defaultPadding = 10;
24
+ xDifference = this.el.nativeElement.parentElement.parentElement.offsetWidth - this.el.nativeElement.offsetWidth;
25
+ const parentRect = this.el.nativeElement.parentElement.parentElement.getBoundingClientRect();
26
+ this.position = {
27
+ x: this.el.nativeElement.offsetWidth,
28
+ y: this.el.nativeElement.parentElement.parentElement.offsetTop - 9,
29
+ clientX: parentRect.x + this.el.nativeElement.parentElement.parentElement.offsetWidth,
30
+ clientY: parentRect.y
31
+ };
32
+ }
33
+ if (typeof this.position === 'string') {
34
+ this.renderer.setStyle(this.el.nativeElement, 'top', this.position === 'bottom' ?
35
+ this.drDropdownPosition.y - this.drDropdownPosition.height + 'px' :
36
+ this.drDropdownPosition.y + 'px');
37
+ this.renderer.setStyle(this.el.nativeElement, 'left', this.position === 'right' ?
38
+ this.drDropdownPosition.x + this.drDropdownPosition.width + 'px' :
39
+ this.drDropdownPosition.x + 'px');
40
+ const menuHeight = this.el.nativeElement.offsetHeight;
41
+ const heightMoreWindowBottom = menuHeight + this.drDropdownPosition.y > window.innerHeight;
42
+ const heightMoreWindowTop = menuHeight - this.drDropdownPosition.y + this.drDropdownPosition.height / 2 > 48; // header height;
43
+ const widthMoreWindowRight = this.drDropdownPosition.x + 250 > window.innerWidth;
44
+ const spaceBetweenElAndRightBorder = window.innerWidth - (this.drDropdownPosition.x + this.el.nativeElement.offsetWidth);
45
+ this.widthMoreRight = this.drDropdownPosition.x < spaceBetweenElAndRightBorder;
46
+ if (heightMoreWindowBottom) {
47
+ this.position = 'top';
48
+ }
49
+ if (heightMoreWindowBottom && widthMoreWindowRight && !heightMoreWindowTop || this.position === 'top-left') {
50
+ this.position = 'top-left';
51
+ const translateX = `calc(-100% + ${this.drDropdownPosition.width}px)`;
52
+ const translateY = 'calc(-100% - 8px)';
53
+ this.renderer.setStyle(this.el.nativeElement, 'transform', `translate(${translateX}, ${translateY})`);
54
+ }
55
+ if (heightMoreWindowTop && heightMoreWindowBottom) {
56
+ this.position = 'left-center';
57
+ }
58
+ if (this.position === 'bottom-left') {
59
+ this.renderer.setStyle(this.el.nativeElement, 'transform', `translate(calc(-100% + ${this.drDropdownPosition.width}px), ${this.drDropdownPosition.height + 8}px)`);
60
+ }
61
+ const className = this.position === 'top' ? 'content-top'
62
+ : this.position === 'top-left' ? 'content-top-left'
63
+ : this.position === 'bottom' ? 'content-bottom'
64
+ : this.position === 'bottom-left' ? 'content-bottom-left'
65
+ : this.position === 'left' ? 'content-left'
66
+ : this.position === 'left-center' ? 'content-left-center'
67
+ : this.position === 'right' ? 'content-right'
68
+ : this.position === 'bottom-right' ? 'content-bottom-right' : '';
69
+ this.renderer.addClass(this.el.nativeElement, className);
70
+ this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');
71
+ }
72
+ else {
73
+ const defaultChildPadding = 3;
74
+ const widthMoreWindowRight = originalPosition !== 'child'
75
+ ? window.innerWidth - (this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding)
76
+ : window.innerWidth - this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding;
77
+ const widthMoreWindowBottom = originalPosition !== 'child'
78
+ ? window.innerHeight - (this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding)
79
+ : window.innerHeight - this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding;
80
+ const spaceRightAmount = window.innerWidth - (this.position.clientX + this.el.nativeElement.offsetWidth + defaultPadding);
81
+ this.widthMoreRight = !(widthMoreWindowRight < 0);
82
+ let calculatedHorizantallyPos = widthMoreWindowRight < 0
83
+ ? -this.position.x + -defaultChildPadding
84
+ : this.position.x + defaultChildPadding + xDifference;
85
+ if (spaceRightAmount <= 0 && originalPosition !== 'child') {
86
+ calculatedHorizantallyPos -= this.el.nativeElement.offsetWidth;
87
+ }
88
+ const deltaHeight = widthMoreWindowBottom < 0 ? widthMoreWindowBottom : defaultDelta;
89
+ this.renderer.setStyle(this.el.nativeElement, 'top', (this.position.y + deltaHeight) + 'px');
90
+ this.renderer.setStyle(this.el.nativeElement, 'left', (calculatedHorizantallyPos) + 'px');
91
+ this.renderer.setStyle(this.el.nativeElement, 'z-index', '10010');
92
+ }
93
+ }
94
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
95
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: DrDropdownPositionDirective, selector: "[drDropdownPosition]", inputs: { drDropdownPosition: "drDropdownPosition", position: "position" }, exportAs: ["dropdownPosition"], ngImport: i0 });
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownPositionDirective, decorators: [{
98
+ type: Directive,
99
+ args: [{
100
+ selector: '[drDropdownPosition]',
101
+ exportAs: 'dropdownPosition'
102
+ }]
103
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { drDropdownPosition: [{
104
+ type: Input
105
+ }], position: [{
106
+ type: Input
107
+ }] } });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7QUFPaEYsTUFBTSxPQUFPLDJCQUEyQjtJQU9oQjtJQUF3QjtJQUxuQyxrQkFBa0IsQ0FBQztJQUNuQixRQUFRLEdBQXFDLE1BQU0sQ0FBQztJQUU3RCxjQUFjLENBQVU7SUFFeEIsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ0osVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFO1lBQzNCLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDakIsY0FBYyxHQUFHLEVBQUUsQ0FBQztZQUNwQixXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQ2hI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QkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSxrQkFBa0I7aUJBQy9CO3lIQUdZLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsUG9zaXRpb24sIElEcm9wZG93bkNvb3JkaW5hdGUgfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkckRyb3Bkb3duUG9zaXRpb25dJyxcbiAgICBleHBvcnRBczogJ2Ryb3Bkb3duUG9zaXRpb24nXG59KVxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBASW5wdXQoKSBkckRyb3Bkb3duUG9zaXRpb247XG4gICAgQElucHV0KCkgcG9zaXRpb246IEVsUG9zaXRpb24gfCBJRHJvcGRvd25Db29yZGluYXRlID0gJ2xlZnQnO1xuXG4gICAgd2lkdGhNb3JlUmlnaHQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCh0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uLmJpbmQodGhpcyksIDEpO1xuICAgIH1cblxuICAgIGNhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgICAgICBsZXQgeERpZmZlcmVuY2UgPSAwO1xuICAgICAgICBsZXQgZGVmYXVsdERlbHRhID0gMTA7XG4gICAgICAgIGxldCBkZWZhdWx0UGFkZGluZyA9IDA7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uO1xuXG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnY2hpbGQnKSB7XG4gICAgICAgICAgICBkZWZhdWx0RGVsdGEgPSAwO1xuICAgICAgICAgICAgZGVmYXVsdFBhZGRpbmcgPSAxMDtcbiAgICAgICAgICAgIHhEaWZmZXJlbmNlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCAtIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0ge1xuICAgICAgICAgICAgICAgIHg6IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICB5OiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFRvcCAtIDksXG4gICAgICAgICAgICAgICAgY2xpZW50WDogcGFyZW50UmVjdC54ICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICBjbGllbnRZOiBwYXJlbnRSZWN0LnlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zaXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RvcCcsXG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgP1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi55IC0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24uaGVpZ2h0ICsgJ3B4JyA6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnkgKyAncHgnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnbGVmdCcsXG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JyA/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnggKyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi53aWR0aCArICdweCcgOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi54ICsgJ3B4Jyk7XG4gICAgICAgICAgICBjb25zdCBtZW51SGVpZ2h0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodE1vcmVXaW5kb3dCb3R0b20gPSBtZW51SGVpZ2h0ICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueSA+IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodE1vcmVXaW5kb3dUb3AgPSBtZW51SGVpZ2h0IC0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueSArIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLmhlaWdodCAvIDIgPiA0ODsgLy8gaGVhZGVyIGhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoTW9yZVdpbmRvd1JpZ2h0ID0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueCArIDI1MCA+IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgICAgICAgICBjb25zdCBzcGFjZUJldHdlZW5FbEFuZFJpZ2h0Qm9yZGVyID0gd2luZG93LmlubmVyV2lkdGggLSAodGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueCArIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XG4gICAgICAgICAgICB0aGlzLndpZHRoTW9yZVJpZ2h0ID0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueCA8IHNwYWNlQmV0d2VlbkVsQW5kUmlnaHRCb3JkZXI7XG5cbiAgICAgICAgICAgIGlmIChoZWlnaHRNb3JlV2luZG93Qm90dG9tKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9ICd0b3AnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhlaWdodE1vcmVXaW5kb3dCb3R0b20gJiYgd2lkdGhNb3JlV2luZG93UmlnaHQgJiYgIWhlaWdodE1vcmVXaW5kb3dUb3AgfHwgdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcC1sZWZ0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSAndG9wLWxlZnQnO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZVggPSBgY2FsYygtMTAwJSArICR7IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLndpZHRoIH1weClgO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZVkgPSAnY2FsYygtMTAwJSAtIDhweCknO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgkeyB0cmFuc2xhdGVYIH0sICR7IHRyYW5zbGF0ZVkgfSlgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChoZWlnaHRNb3JlV2luZG93VG9wICYmIGhlaWdodE1vcmVXaW5kb3dCb3R0b20pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gJ2xlZnQtY2VudGVyJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tLWxlZnQnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAndHJhbnNmb3JtJyxcbiAgICAgICAgICAgICAgICAgICAgYHRyYW5zbGF0ZShjYWxjKC0xMDAlICsgJHsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ud2lkdGggfXB4KSwgJHsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24uaGVpZ2h0ICsgOCB9cHgpYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLnBvc2l0aW9uID09PSAndG9wJyA/ICdjb250ZW50LXRvcCdcbiAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICd0b3AtbGVmdCcgPyAnY29udGVudC10b3AtbGVmdCdcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJyA/ICdjb250ZW50LWJvdHRvbSdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbS1sZWZ0JyA/ICdjb250ZW50LWJvdHRvbS1sZWZ0J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2xlZnQnID8gJ2NvbnRlbnQtbGVmdCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdC1jZW50ZXInID8gJ2NvbnRlbnQtbGVmdC1jZW50ZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdyaWdodCcgPyAnY29udGVudC1yaWdodCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdib3R0b20tcmlnaHQnID8gJ2NvbnRlbnQtYm90dG9tLXJpZ2h0JyA6ICcnO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3otaW5kZXgnLCAnMTAwMTAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRDaGlsZFBhZGRpbmcgPSAzO1xuICAgICAgICAgICAgY29uc3Qgd2lkdGhNb3JlV2luZG93UmlnaHQgPSBvcmlnaW5hbFBvc2l0aW9uICE9PSAnY2hpbGQnXG4gICAgICAgICAgICAgICAgPyB3aW5kb3cuaW5uZXJXaWR0aCAtICh0aGlzLnBvc2l0aW9uLmNsaWVudFggLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLSBkZWZhdWx0UGFkZGluZylcbiAgICAgICAgICAgICAgICA6IHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy5wb3NpdGlvbi5jbGllbnRYIC0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gZGVmYXVsdFBhZGRpbmc7XG5cbiAgICAgICAgICAgIGNvbnN0IHdpZHRoTW9yZVdpbmRvd0JvdHRvbSA9IG9yaWdpbmFsUG9zaXRpb24gIT09ICdjaGlsZCdcbiAgICAgICAgICAgICAgICA/IHdpbmRvdy5pbm5lckhlaWdodCAtICh0aGlzLnBvc2l0aW9uLmNsaWVudFkgLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gZGVmYXVsdFBhZGRpbmcpXG4gICAgICAgICAgICAgICAgOiB3aW5kb3cuaW5uZXJIZWlnaHQgLSB0aGlzLnBvc2l0aW9uLmNsaWVudFkgLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gZGVmYXVsdFBhZGRpbmc7XG5cbiAgICAgICAgICAgIGNvbnN0IHNwYWNlUmlnaHRBbW91bnQgPSB3aW5kb3cuaW5uZXJXaWR0aCAtICh0aGlzLnBvc2l0aW9uLmNsaWVudFggKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyBkZWZhdWx0UGFkZGluZyk7XG4gICAgICAgICAgICB0aGlzLndpZHRoTW9yZVJpZ2h0ID0gISh3aWR0aE1vcmVXaW5kb3dSaWdodCA8IDApO1xuXG4gICAgICAgICAgICBsZXQgY2FsY3VsYXRlZEhvcml6YW50YWxseVBvcyA9IHdpZHRoTW9yZVdpbmRvd1JpZ2h0IDwgMFxuICAgICAgICAgICAgICAgID8gLXRoaXMucG9zaXRpb24ueCArIC1kZWZhdWx0Q2hpbGRQYWRkaW5nXG4gICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uLnggKyBkZWZhdWx0Q2hpbGRQYWRkaW5nICsgeERpZmZlcmVuY2U7XG5cbiAgICAgICAgICAgIGlmIChzcGFjZVJpZ2h0QW1vdW50IDw9IDAgJiYgb3JpZ2luYWxQb3NpdGlvbiAhPT0gJ2NoaWxkJykge1xuICAgICAgICAgICAgICAgIGNhbGN1bGF0ZWRIb3JpemFudGFsbHlQb3MgLT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBkZWx0YUhlaWdodCA9IHdpZHRoTW9yZVdpbmRvd0JvdHRvbSA8IDAgPyB3aWR0aE1vcmVXaW5kb3dCb3R0b20gOiBkZWZhdWx0RGVsdGE7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndG9wJywgKHRoaXMucG9zaXRpb24ueSArIGRlbHRhSGVpZ2h0KSArICdweCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgKGNhbGN1bGF0ZWRIb3JpemFudGFsbHlQb3MpICsgJ3B4Jyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3otaW5kZXgnLCAnMTAwMTAnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,124 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./dr-dropdown.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "../dr-tooltip/dr-tooltip.directive";
6
+ import * as i4 from "./dr-dropdown-position.directive";
7
+ import * as i5 from "./dr-dropdown-item-show.pipe";
8
+ export class DrDropdownComponent {
9
+ menuService;
10
+ cdr;
11
+ viewMenu;
12
+ menuContainer;
13
+ option;
14
+ position = 'left';
15
+ drDropdownInHover;
16
+ list;
17
+ containerClass;
18
+ wasHovered = false;
19
+ firstInit;
20
+ constructor(menuService, cdr) {
21
+ this.menuService = menuService;
22
+ this.cdr = cdr;
23
+ }
24
+ set options(data) {
25
+ if (data) {
26
+ this.option = data.option;
27
+ this.position = data.position;
28
+ this.drDropdownInHover = data.drDropdownInHover;
29
+ this.containerClass = data.class;
30
+ this.list = data.list || [];
31
+ this.list.forEach(item => {
32
+ if (item.children?.length) {
33
+ item.childOptions = {
34
+ list: item.children,
35
+ class: item?.childOptions?.class || '',
36
+ position: 'child'
37
+ };
38
+ }
39
+ });
40
+ this.cdr.markForCheck();
41
+ }
42
+ }
43
+ onMouseEnter() {
44
+ this.wasHovered = true;
45
+ }
46
+ onMouseLeave() {
47
+ if (this.drDropdownInHover)
48
+ this.menuService.destroy();
49
+ }
50
+ onClickedOutside() {
51
+ if (this.firstInit) {
52
+ this.menuService.destroy();
53
+ }
54
+ else {
55
+ this.firstInit = true;
56
+ }
57
+ }
58
+ hide() {
59
+ this.menuService.destroy();
60
+ }
61
+ disabled(act) {
62
+ if (!act.disabled) {
63
+ return false;
64
+ }
65
+ if (typeof act.disabled === 'boolean') {
66
+ return act.disabled;
67
+ }
68
+ else {
69
+ return act.disabled(act.data);
70
+ }
71
+ }
72
+ selected(act) {
73
+ if (!act.selected) {
74
+ return false;
75
+ }
76
+ if (typeof act.selected === 'boolean') {
77
+ return act.selected;
78
+ }
79
+ else {
80
+ return act.selected(act.data);
81
+ }
82
+ }
83
+ tooltipToShow(act) {
84
+ if (act.toolTipIfDisabled && !this.disabled(act))
85
+ return '';
86
+ return act.customTooltip ? act.customTooltip(act.data) : act.toolTip;
87
+ }
88
+ tooltipPosition(widthMoreRight) {
89
+ return widthMoreRight ? 'right' : 'left';
90
+ }
91
+ action(act) {
92
+ if (!this.disabled(act)) {
93
+ if (act.action) {
94
+ act.action(act.data);
95
+ }
96
+ else {
97
+ this.menuService.actionItem.next({ event: act.event || act.title || 'default', data: act.data });
98
+ }
99
+ this.hide();
100
+ }
101
+ }
102
+ onActionIconClick($event, actionIcon, data) {
103
+ $event.stopPropagation();
104
+ if (!this.disabled(actionIcon)) {
105
+ actionIcon.action(data);
106
+ this.hide();
107
+ }
108
+ }
109
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownComponent, deps: [{ token: i1.DrDropdownService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
110
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrDropdownComponent, selector: "dr-dropdown", inputs: { options: "options" }, viewQueries: [{ propertyName: "viewMenu", first: true, predicate: ["listMenu"], descendants: true }, { propertyName: "menuContainer", first: true, predicate: ["menuContainer"], descendants: true }], ngImport: i0, template: "<div #menuContainer\n (mouseleave)=\"onMouseLeave()\"\n (mouseenter)=\"onMouseEnter()\"\n (clickOutside)=\"onClickedOutside()\"\n [drDropdownPosition]=\"option\"\n #dropdownPosition=\"dropdownPosition\"\n [position]=\"position\"\n [class]=\"containerClass\"\n class=\"dr-dropdown\">\n <div class=\"dr-dropdown__container\">\n <div *ngFor=\"let act of list | drDropdownItemShowPipe\"\n (click)=\"action(act)\"\n [drTooltip]=\"tooltipToShow(act)\"\n [drTooltipPosition]=\"tooltipPosition(dropdownPosition.widthMoreRight)\"\n [drTooltipOptions]=\"{ withoutArrow: true }\"\n [drTooltipClass]=\"'dr-dropdown__tooltip'\"\n class=\"dr-dropdown__container__item\"\n [class.item-disabled]=\"disabled(act)\"\n [class.item-selected]=\"selected(act)\"\n [class.separate-line]=\"act.separateLine\">\n <i *ngIf=\"act.icon\" [class]=\"act.icon\"></i>\n <span class=\"dr-dropdown__container__item__text\">{{act.title}}</span>\n <i *ngFor=\"let actionIcon of act.actionIcons\"\n [class]=\"actionIcon.icon\"\n [class.showOnHover]=\"actionIcon.showOnHover\"\n (click)=\"onActionIconClick($event, actionIcon, act.data)\"></i>\n <i *ngIf=\"act.children?.length\" class=\"dr-icon-arrow-right\"></i>\n <dr-dropdown *ngIf=\"act.children?.length\" [options]=\"act.childOptions\"></dr-dropdown>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep .dr-dropdown__container__item .dr-dropdown{visibility:hidden;transition-delay:.2s}::ng-deep .dr-dropdown__container__item:hover>*>.dr-dropdown{visibility:visible;transition-delay:0s}::ng-deep .dr-dropdown__tooltip>.default-content{max-width:300px;white-space:normal!important}.dr-dropdown{position:absolute;z-index:-1;top:0;left:0;width:auto}.dr-dropdown__container{display:flex;flex-direction:column;background:#fff;border-radius:4px;box-shadow:0 4px 8px 1px #00000040;padding:8px 0;overflow-y:auto;max-height:60vh}.dr-dropdown__container__item{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}.dr-dropdown__container__item.separate-line{border-top:1px solid #bcbcbc}.dr-dropdown__container__item:hover{background-color:#f9faff}.dr-dropdown__container__item:hover .showOnHover{visibility:visible}.dr-dropdown__container__item.item-selected{background:#f3f7ff}.dr-dropdown__container__item.item-disabled,.dr-dropdown__container__item.item-disabled i,.dr-dropdown__container__item.item-disabled .dr-dropdown__container__item__text{color:#bcbcbc}.dr-dropdown__container__item i:first-child{margin-right:8px}.dr-dropdown__container__item__text{margin-right:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dr-dropdown__container__item i,.dr-dropdown__container__item__text{color:#151b3f}.dr-dropdown__container__item i{color:#4e566c}.dr-dropdown__container__item i:hover{color:#4646ce}.dr-dropdown__container__item .showOnHover{visibility:hidden}.dr-dropdown.content-top{transform:translate(-50%,-100%)}.dr-dropdown.content-top-left{transform:translate(-100%,-100%)}.dr-dropdown.content-bottom{transform:translate(-50%,50%)}.dr-dropdown.content-bottom-left{transform:translate(-90%,35%)}.dr-dropdown.content-bottom-right{transform:translateY(15%)}.dr-dropdown.content-left{transform:translate(-100%)}.dr-dropdown.content-left-center{transform:translate(-100%,-50%)}.dr-dropdown.content-right{transform:translate(5%)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DrTooltipDirective, selector: "[drTooltip]", inputs: ["drTooltip", "drTooltipContext", "drTooltipPosition", "drTooltipClass", "drTooltipMousleaveTimeout", "drTooltipOptions", "drTooltipShow"] }, { kind: "directive", type: i4.DrDropdownPositionDirective, selector: "[drDropdownPosition]", inputs: ["drDropdownPosition", "position"], exportAs: ["dropdownPosition"] }, { kind: "component", type: DrDropdownComponent, selector: "dr-dropdown", inputs: ["options"] }, { kind: "pipe", type: i5.DrDropdownItemShowPipe, name: "drDropdownItemShowPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
111
+ }
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownComponent, decorators: [{
113
+ type: Component,
114
+ args: [{ selector: 'dr-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #menuContainer\n (mouseleave)=\"onMouseLeave()\"\n (mouseenter)=\"onMouseEnter()\"\n (clickOutside)=\"onClickedOutside()\"\n [drDropdownPosition]=\"option\"\n #dropdownPosition=\"dropdownPosition\"\n [position]=\"position\"\n [class]=\"containerClass\"\n class=\"dr-dropdown\">\n <div class=\"dr-dropdown__container\">\n <div *ngFor=\"let act of list | drDropdownItemShowPipe\"\n (click)=\"action(act)\"\n [drTooltip]=\"tooltipToShow(act)\"\n [drTooltipPosition]=\"tooltipPosition(dropdownPosition.widthMoreRight)\"\n [drTooltipOptions]=\"{ withoutArrow: true }\"\n [drTooltipClass]=\"'dr-dropdown__tooltip'\"\n class=\"dr-dropdown__container__item\"\n [class.item-disabled]=\"disabled(act)\"\n [class.item-selected]=\"selected(act)\"\n [class.separate-line]=\"act.separateLine\">\n <i *ngIf=\"act.icon\" [class]=\"act.icon\"></i>\n <span class=\"dr-dropdown__container__item__text\">{{act.title}}</span>\n <i *ngFor=\"let actionIcon of act.actionIcons\"\n [class]=\"actionIcon.icon\"\n [class.showOnHover]=\"actionIcon.showOnHover\"\n (click)=\"onActionIconClick($event, actionIcon, act.data)\"></i>\n <i *ngIf=\"act.children?.length\" class=\"dr-icon-arrow-right\"></i>\n <dr-dropdown *ngIf=\"act.children?.length\" [options]=\"act.childOptions\"></dr-dropdown>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep .dr-dropdown__container__item .dr-dropdown{visibility:hidden;transition-delay:.2s}::ng-deep .dr-dropdown__container__item:hover>*>.dr-dropdown{visibility:visible;transition-delay:0s}::ng-deep .dr-dropdown__tooltip>.default-content{max-width:300px;white-space:normal!important}.dr-dropdown{position:absolute;z-index:-1;top:0;left:0;width:auto}.dr-dropdown__container{display:flex;flex-direction:column;background:#fff;border-radius:4px;box-shadow:0 4px 8px 1px #00000040;padding:8px 0;overflow-y:auto;max-height:60vh}.dr-dropdown__container__item{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}.dr-dropdown__container__item.separate-line{border-top:1px solid #bcbcbc}.dr-dropdown__container__item:hover{background-color:#f9faff}.dr-dropdown__container__item:hover .showOnHover{visibility:visible}.dr-dropdown__container__item.item-selected{background:#f3f7ff}.dr-dropdown__container__item.item-disabled,.dr-dropdown__container__item.item-disabled i,.dr-dropdown__container__item.item-disabled .dr-dropdown__container__item__text{color:#bcbcbc}.dr-dropdown__container__item i:first-child{margin-right:8px}.dr-dropdown__container__item__text{margin-right:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dr-dropdown__container__item i,.dr-dropdown__container__item__text{color:#151b3f}.dr-dropdown__container__item i{color:#4e566c}.dr-dropdown__container__item i:hover{color:#4646ce}.dr-dropdown__container__item .showOnHover{visibility:hidden}.dr-dropdown.content-top{transform:translate(-50%,-100%)}.dr-dropdown.content-top-left{transform:translate(-100%,-100%)}.dr-dropdown.content-bottom{transform:translate(-50%,50%)}.dr-dropdown.content-bottom-left{transform:translate(-90%,35%)}.dr-dropdown.content-bottom-right{transform:translateY(15%)}.dr-dropdown.content-left{transform:translate(-100%)}.dr-dropdown.content-left-center{transform:translate(-100%,-50%)}.dr-dropdown.content-right{transform:translate(5%)}\n"] }]
115
+ }], ctorParameters: function () { return [{ type: i1.DrDropdownService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { viewMenu: [{
116
+ type: ViewChild,
117
+ args: ['listMenu']
118
+ }], menuContainer: [{
119
+ type: ViewChild,
120
+ args: ['menuContainer']
121
+ }], options: [{
122
+ type: Input
123
+ }] } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVV4RyxNQUFNLE9BQU8sbUJBQW1CO0lBWU47SUFBd0M7SUFWdkMsUUFBUSxDQUFjO0lBQ2pCLGFBQWEsQ0FBYztJQUN2RCxNQUFNLENBQU07SUFDWixRQUFRLEdBQXFDLE1BQU0sQ0FBQztJQUNwRCxpQkFBaUIsQ0FBVTtJQUMzQixJQUFJLENBQTJCO0lBQy9CLGNBQWMsQ0FBUztJQUNoQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFNBQVMsQ0FBVTtJQUUzQixZQUFzQixXQUE4QixFQUFVLEdBQXNCO1FBQTlELGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQ3BGLENBQUM7SUFFRCxJQUFhLE9BQU8sQ0FBQyxJQUFtQztRQUNwRCxJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNoRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLElB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LEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7YUFDcEc7WUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsVUFBb0MsRUFBRSxJQUFTO1FBQ3JFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM1QixVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQzt1R0F2R1EsbUJBQW1COzJGQUFuQixtQkFBbUIsMFJDVmhDLG1oREErQkEsd3ZGRHJCYSxtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNO3dJQUl4QixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ08sYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQVliLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxQb3NpdGlvbiwgSURyb3Bkb3duLCBJRHJvcGRvd25BY3Rpb25JY29uLCBJRHJvcGRvd25Db29yZGluYXRlLCBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcbmltcG9ydCB7IERyRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSAnLi9kci1kcm9wZG93bi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25Db21wb25lbnQge1xuXG4gICAgQFZpZXdDaGlsZCgnbGlzdE1lbnUnKSB2aWV3TWVudTogSFRNTEVsZW1lbnQ7XG4gICAgQFZpZXdDaGlsZCgnbWVudUNvbnRhaW5lcicpIG1lbnVDb250YWluZXI6IEhUTUxFbGVtZW50O1xuICAgIG9wdGlvbjogYW55O1xuICAgIHBvc2l0aW9uOiBFbFBvc2l0aW9uIHwgSURyb3Bkb3duQ29vcmRpbmF0ZSA9ICdsZWZ0JztcbiAgICBkckRyb3Bkb3duSW5Ib3ZlcjogYm9vbGVhbjtcbiAgICBsaXN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+W107XG4gICAgY29udGFpbmVyQ2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgd2FzSG92ZXJlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgZmlyc3RJbml0OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIG1lbnVTZXJ2aWNlOiBEckRyb3Bkb3duU2VydmljZSwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG9wdGlvbnMoZGF0YTogSURyb3Bkb3duPElEcm9wZG93bkl0ZW08YW55Pj4pIHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uID0gZGF0YS5vcHRpb247XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gZGF0YS5wb3NpdGlvbjtcbiAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93bkluSG92ZXIgPSBkYXRhLmRyRHJvcGRvd25JbkhvdmVyO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXJDbGFzcyA9IGRhdGEuY2xhc3M7XG4gICAgICAgICAgICB0aGlzLmxpc3QgPSBkYXRhLmxpc3QgfHwgW107XG4gICAgICAgICAgICB0aGlzLmxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdDogaXRlbS5jaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBpdGVtPy5jaGlsZE9wdGlvbnM/LmNsYXNzIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdjaGlsZCdcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndhc0hvdmVyZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZHJEcm9wZG93bkluSG92ZXIpIHRoaXMubWVudVNlcnZpY2UuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIG9uQ2xpY2tlZE91dHNpZGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpcnN0SW5pdCkge1xuICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5kZXN0cm95KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpcnN0SW5pdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBkaXNhYmxlZChhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4gfCBJRHJvcGRvd25BY3Rpb25JY29uPGFueT4pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFhY3QuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGFjdC5kaXNhYmxlZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gYWN0LmRpc2FibGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5kaXNhYmxlZChhY3QuZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RlZChhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFhY3Quc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGFjdC5zZWxlY3RlZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gYWN0LnNlbGVjdGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5zZWxlY3RlZChhY3QuZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b29sdGlwVG9TaG93KGFjdDogSURyb3Bkb3duSXRlbTx1bmtub3duPik6IHN0cmluZyB7XG4gICAgICAgIGlmIChhY3QudG9vbFRpcElmRGlzYWJsZWQgJiYgIXRoaXMuZGlzYWJsZWQoYWN0KSkgcmV0dXJuICcnO1xuICAgICAgICByZXR1cm4gYWN0LmN1c3RvbVRvb2x0aXAgPyBhY3QuY3VzdG9tVG9vbHRpcChhY3QuZGF0YSkgOiBhY3QudG9vbFRpcDtcbiAgICB9XG5cbiAgICB0b29sdGlwUG9zaXRpb24od2lkdGhNb3JlUmlnaHQ6IGJvb2xlYW4pIHtcbiAgICAgICAgcmV0dXJuIHdpZHRoTW9yZVJpZ2h0ID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgICB9XG5cbiAgICBhY3Rpb24oYWN0OiBJRHJvcGRvd25JdGVtPGFueT4pIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKGFjdCkpIHtcbiAgICAgICAgICAgIGlmIChhY3QuYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgYWN0LmFjdGlvbihhY3QuZGF0YSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UuYWN0aW9uSXRlbS5uZXh0KHsgZXZlbnQ6IGFjdC5ldmVudCB8fCBhY3QudGl0bGUgfHwgJ2RlZmF1bHQnLCBkYXRhOiBhY3QuZGF0YSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BY3Rpb25JY29uQ2xpY2soJGV2ZW50LCBhY3Rpb25JY29uOiBJRHJvcGRvd25BY3Rpb25JY29uPGFueT4sIGRhdGE6IGFueSkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZChhY3Rpb25JY29uKSkge1xuICAgICAgICAgICAgYWN0aW9uSWNvbi5hY3Rpb24oZGF0YSk7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiPGRpdiAjbWVudUNvbnRhaW5lclxuICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXG4gICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcbiAgICAgKGNsaWNrT3V0c2lkZSk9XCJvbkNsaWNrZWRPdXRzaWRlKClcIlxuICAgICBbZHJEcm9wZG93blBvc2l0aW9uXT1cIm9wdGlvblwiXG4gICAgICNkcm9wZG93blBvc2l0aW9uPVwiZHJvcGRvd25Qb3NpdGlvblwiXG4gICAgIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiXG4gICAgIFtjbGFzc109XCJjb250YWluZXJDbGFzc1wiXG4gICAgIGNsYXNzPVwiZHItZHJvcGRvd25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHItZHJvcGRvd25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhY3Qgb2YgbGlzdCB8IGRyRHJvcGRvd25JdGVtU2hvd1BpcGVcIlxuICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24oYWN0KVwiXG4gICAgICAgICAgICAgW2RyVG9vbHRpcF09XCJ0b29sdGlwVG9TaG93KGFjdClcIlxuICAgICAgICAgICAgIFtkclRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb24oZHJvcGRvd25Qb3NpdGlvbi53aWR0aE1vcmVSaWdodClcIlxuICAgICAgICAgICAgIFtkclRvb2x0aXBPcHRpb25zXT1cInsgd2l0aG91dEFycm93OiB0cnVlIH1cIlxuICAgICAgICAgICAgIFtkclRvb2x0aXBDbGFzc109XCInZHItZHJvcGRvd25fX3Rvb2x0aXAnXCJcbiAgICAgICAgICAgICBjbGFzcz1cImRyLWRyb3Bkb3duX19jb250YWluZXJfX2l0ZW1cIlxuICAgICAgICAgICAgIFtjbGFzcy5pdGVtLWRpc2FibGVkXT1cImRpc2FibGVkKGFjdClcIlxuICAgICAgICAgICAgIFtjbGFzcy5pdGVtLXNlbGVjdGVkXT1cInNlbGVjdGVkKGFjdClcIlxuICAgICAgICAgICAgIFtjbGFzcy5zZXBhcmF0ZS1saW5lXT1cImFjdC5zZXBhcmF0ZUxpbmVcIj5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiYWN0Lmljb25cIiBbY2xhc3NdPVwiYWN0Lmljb25cIj48L2k+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyLWRyb3Bkb3duX19jb250YWluZXJfX2l0ZW1fX3RleHRcIj57e2FjdC50aXRsZX19PC9zcGFuPlxuICAgICAgICAgICAgPGkgKm5nRm9yPVwibGV0IGFjdGlvbkljb24gb2YgYWN0LmFjdGlvbkljb25zXCJcbiAgICAgICAgICAgICAgIFtjbGFzc109XCJhY3Rpb25JY29uLmljb25cIlxuICAgICAgICAgICAgICAgW2NsYXNzLnNob3dPbkhvdmVyXT1cImFjdGlvbkljb24uc2hvd09uSG92ZXJcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uSWNvbkNsaWNrKCRldmVudCwgYWN0aW9uSWNvbiwgYWN0LmRhdGEpXCI+PC9pPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJhY3QuY2hpbGRyZW4/Lmxlbmd0aFwiIGNsYXNzPVwiZHItaWNvbi1hcnJvdy1yaWdodFwiPjwvaT5cbiAgICAgICAgICAgIDxkci1kcm9wZG93biAqbmdJZj1cImFjdC5jaGlsZHJlbj8ubGVuZ3RoXCIgW29wdGlvbnNdPVwiYWN0LmNoaWxkT3B0aW9uc1wiPjwvZHItZHJvcGRvd24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=