@datarailsshared/datarailsshared 1.4.202 → 1.4.203-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 (358) hide show
  1. package/_datarailsshared.styles.css +4 -4
  2. package/assets/styles/_styles.scss +2 -2
  3. package/datarailsshared-datarailsshared-1.4.203-rocket.tgz +0 -0
  4. package/esm2022/datarailsshared-datarailsshared.mjs +5 -0
  5. package/esm2022/lib/date-tags/any-tag.component.mjs +44 -0
  6. package/esm2022/lib/date-tags/date-tag.component.mjs +47 -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 +82 -0
  9. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +159 -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 +106 -0
  12. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +89 -0
  13. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +83 -0
  14. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +92 -0
  15. package/esm2022/lib/directives/click-outside/click-outside.module.mjs +18 -0
  16. package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +58 -0
  17. package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +108 -0
  18. package/esm2022/lib/dr-accordion/accordion-item.component.mjs +138 -0
  19. package/esm2022/lib/dr-accordion/accordion.component.mjs +42 -0
  20. package/esm2022/lib/dr-accordion/accordion.module.mjs +34 -0
  21. package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +48 -0
  22. package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +37 -0
  23. package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +20 -0
  24. package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +27 -0
  25. package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +27 -0
  26. package/esm2022/lib/dr-chat/chat.component.mjs +138 -0
  27. package/esm2022/lib/dr-chat/chat.module.mjs +68 -0
  28. package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +168 -0
  29. package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +89 -0
  30. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +47 -0
  31. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +26 -0
  32. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +49 -0
  33. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +17 -0
  34. package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +88 -0
  35. package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +13 -0
  36. package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +79 -0
  37. package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +21 -0
  38. package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +76 -0
  39. package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +97 -0
  40. package/esm2022/lib/dr-dialog/dialog.module.mjs +51 -0
  41. package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +25 -0
  42. package/esm2022/lib/dr-dialog/services/dialog.service.mjs +77 -0
  43. package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +16 -0
  44. package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +104 -0
  45. package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +116 -0
  46. package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +117 -0
  47. package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +49 -0
  48. package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +25 -0
  49. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +112 -0
  50. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +28 -0
  51. package/esm2022/lib/dr-error/dr-error.component.mjs +67 -0
  52. package/esm2022/lib/dr-error/dr-error.module.mjs +31 -0
  53. package/esm2022/lib/dr-inputs/button/button.component.mjs +66 -0
  54. package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +65 -0
  55. package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +64 -0
  56. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +226 -0
  57. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +190 -0
  58. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +186 -0
  59. package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +16 -0
  60. package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +195 -0
  61. package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +218 -0
  62. package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +108 -0
  63. package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +31 -0
  64. package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +159 -0
  65. package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +79 -0
  66. package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +72 -0
  67. package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +66 -0
  68. package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +78 -0
  69. package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +173 -0
  70. package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +16 -0
  71. package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +24 -0
  72. package/esm2022/lib/dr-layout/dr-layout.component.mjs +13 -0
  73. package/esm2022/lib/dr-layout/dr-layout.module.mjs +29 -0
  74. package/esm2022/lib/dr-popover/dr-popover.component.mjs +126 -0
  75. package/esm2022/lib/dr-popover/dr-popover.directive.mjs +110 -0
  76. package/esm2022/lib/dr-popover/dr-popover.module.mjs +30 -0
  77. package/esm2022/lib/dr-popover/dr-popover.service.mjs +107 -0
  78. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +105 -0
  79. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +83 -0
  80. package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +81 -0
  81. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +41 -0
  82. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +165 -0
  83. package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +17 -0
  84. package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +59 -0
  85. package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +23 -0
  86. package/esm2022/lib/dr-tabs/dr-tab.component.mjs +37 -0
  87. package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +47 -0
  88. package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +49 -0
  89. package/esm2022/lib/dr-tags/dr-tag.component.mjs +188 -0
  90. package/esm2022/lib/dr-tags/dr-tag.module.mjs +35 -0
  91. package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +18 -0
  92. package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +16 -0
  93. package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +18 -0
  94. package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +19 -0
  95. package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +48 -0
  96. package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +156 -0
  97. package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +48 -0
  98. package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +215 -0
  99. package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +60 -0
  100. package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +48 -0
  101. package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +106 -0
  102. package/esm2022/lib/dr-treeview/models/treeview-config.mjs +25 -0
  103. package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +47 -0
  104. package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +21 -0
  105. package/esm2022/lib/list-tags/list-tag.component.mjs +42 -0
  106. package/esm2022/lib/list-tags/list-tag.module.mjs +34 -0
  107. package/esm2022/lib/models/chat.mjs +36 -0
  108. package/{esm2015/lib/models/datePicker.js → esm2022/lib/models/datePicker.mjs} +1 -1
  109. package/esm2022/lib/models/popover.mjs +27 -0
  110. package/esm2022/lib/stepper/stepper.component.mjs +63 -0
  111. package/esm2022/lib/stepper/stepper.module.mjs +24 -0
  112. package/esm2022/lib/utils/dr-shared-utils.mjs +47 -0
  113. package/esm2022/public-api.mjs +120 -0
  114. package/fesm2022/datarailsshared-datarailsshared.mjs +7551 -0
  115. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -0
  116. package/index.d.ts +5 -0
  117. package/lib/date-tags/any-tag.component.d.ts +20 -0
  118. package/lib/date-tags/date-tag.component.d.ts +4 -16
  119. package/lib/date-tags/date-tag.module.d.ts +19 -2
  120. package/lib/date-tags/day-tag/day-tag.component.d.ts +4 -1
  121. package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +5 -2
  122. package/lib/date-tags/month-tag/month-tag.component.d.ts +4 -1
  123. package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +4 -1
  124. package/lib/date-tags/week-tag/week-tag.component.d.ts +4 -1
  125. package/lib/date-tags/year-tag/year-tag.component.d.ts +4 -1
  126. package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
  127. package/lib/directives/click-outside/click-outside.module.d.ts +8 -0
  128. package/lib/dr-accordion/accordion-item-body.component.d.ts +3 -0
  129. package/lib/dr-accordion/accordion-item-header.component.d.ts +3 -0
  130. package/lib/dr-accordion/accordion-item.component.d.ts +3 -0
  131. package/lib/dr-accordion/accordion.component.d.ts +3 -0
  132. package/lib/dr-accordion/accordion.module.d.ts +9 -0
  133. package/lib/dr-avatar/dr-avatar.component.d.ts +3 -0
  134. package/lib/dr-avatar/dr-avatar.module.d.ts +9 -0
  135. package/lib/dr-avatar/dr-avatar.pipe.d.ts +3 -0
  136. package/lib/dr-badge-status/dr-badge-status.component.d.ts +3 -0
  137. package/lib/dr-badge-status/dr-badge-status.module.d.ts +7 -0
  138. package/lib/dr-chat/chat.component.d.ts +3 -0
  139. package/lib/dr-chat/chat.module.d.ts +17 -0
  140. package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +3 -0
  141. package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +3 -0
  142. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +3 -0
  143. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +3 -0
  144. package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +3 -0
  145. package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +3 -0
  146. package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +3 -0
  147. package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +3 -0
  148. package/lib/dr-details-list/dr-details-list.component.d.ts +3 -0
  149. package/lib/dr-details-list/dr-details-list.module.d.ts +6 -0
  150. package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +4 -1
  151. package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +5 -2
  152. package/lib/dr-dialog/dialog.module.d.ts +12 -0
  153. package/lib/dr-dialog/interfaces/dialog-data.d.ts +7 -7
  154. package/lib/dr-dialog/services/dialog.service.d.ts +4 -1
  155. package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +3 -0
  156. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +3 -0
  157. package/lib/dr-dropdown/dr-dropdown.component.d.ts +3 -0
  158. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +3 -0
  159. package/lib/dr-dropdown/dr-dropdown.module.d.ts +10 -0
  160. package/lib/dr-dropdown/dr-dropdown.service.d.ts +3 -0
  161. package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +3 -0
  162. package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +8 -0
  163. package/lib/dr-error/dr-error.component.d.ts +3 -0
  164. package/lib/dr-error/dr-error.module.d.ts +8 -0
  165. package/lib/dr-inputs/button/button.component.d.ts +4 -1
  166. package/lib/dr-inputs/checkbox/checkbox.component.d.ts +3 -0
  167. package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +3 -0
  168. package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +3 -0
  169. package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +3 -0
  170. package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +4 -8
  171. package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +4 -2
  172. package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +3 -0
  173. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +3 -0
  174. package/lib/dr-inputs/dr-inputs.module.d.ts +25 -0
  175. package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +3 -0
  176. package/lib/dr-inputs/dr-select/dr-select.component.d.ts +3 -0
  177. package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +3 -0
  178. package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +3 -0
  179. package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +3 -0
  180. package/lib/dr-inputs/radio-button/radio-button.component.d.ts +3 -0
  181. package/lib/dr-inputs/radio-button/radio-group.component.d.ts +3 -0
  182. package/lib/dr-layout/dr-layout-body.component.d.ts +3 -0
  183. package/lib/dr-layout/dr-layout-header.component.d.ts +3 -0
  184. package/lib/dr-layout/dr-layout.component.d.ts +3 -0
  185. package/lib/dr-layout/dr-layout.module.d.ts +8 -0
  186. package/lib/dr-popover/dr-popover.component.d.ts +8 -4
  187. package/lib/dr-popover/dr-popover.directive.d.ts +3 -0
  188. package/lib/dr-popover/dr-popover.module.d.ts +7 -0
  189. package/lib/dr-popover/dr-popover.service.d.ts +3 -0
  190. package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +3 -0
  191. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +3 -0
  192. package/lib/dr-scenario/dr-scenario.module.d.ts +10 -0
  193. package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
  194. package/lib/dr-scenario/services/scenario.service.d.ts +3 -0
  195. package/lib/dr-spinner/dr-spinner.component.d.ts +3 -0
  196. package/lib/dr-spinner/dr-spinner.directive.d.ts +3 -0
  197. package/lib/dr-spinner/dr-spinner.module.d.ts +7 -0
  198. package/lib/dr-tabs/dr-tab.component.d.ts +3 -0
  199. package/lib/dr-tabs/dr-tabs.component.d.ts +3 -0
  200. package/lib/dr-tabs/dr-tabs.module.d.ts +11 -0
  201. package/lib/dr-tags/dr-tag.component.d.ts +3 -0
  202. package/lib/dr-tags/dr-tag.module.d.ts +9 -0
  203. package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +3 -0
  204. package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +3 -0
  205. package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +3 -0
  206. package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +3 -0
  207. package/lib/dr-tooltip/dr-tooltip.component.d.ts +4 -1
  208. package/lib/dr-tooltip/dr-tooltip.directive.d.ts +3 -0
  209. package/lib/dr-tooltip/dr-tooltip.module.d.ts +11 -0
  210. package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +1 -1
  211. package/lib/dr-treeview/components/treeview/treeview.component.d.ts +3 -0
  212. package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +3 -0
  213. package/lib/dr-treeview/dr-tree-view.module.d.ts +9 -0
  214. package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +9 -0
  215. package/lib/dr-treeview/models/treeview-config.d.ts +3 -0
  216. package/lib/dr-treeview/models/treeview-i18n.d.ts +5 -0
  217. package/lib/dr-treeview/pipes/treeview.pipe.d.ts +3 -0
  218. package/lib/list-tags/list-tag.component.d.ts +3 -0
  219. package/lib/list-tags/list-tag.module.d.ts +8 -0
  220. package/lib/models/chat.d.ts +2 -2
  221. package/lib/models/datePicker.d.ts +10 -3
  222. package/lib/models/dropdown.d.ts +1 -1
  223. package/lib/models/popover.d.ts +1 -1
  224. package/lib/models/serverTags.d.ts +4 -4
  225. package/lib/stepper/interfaces/stepper.d.ts +1 -1
  226. package/lib/stepper/stepper.component.d.ts +3 -0
  227. package/lib/stepper/stepper.module.d.ts +7 -0
  228. package/package.json +27 -15
  229. package/public-api.d.ts +27 -0
  230. package/bundles/datarailsshared-datarailsshared.umd.js +0 -8041
  231. package/bundles/datarailsshared-datarailsshared.umd.js.map +0 -1
  232. package/datarailsshared-datarailsshared-1.4.202.tgz +0 -0
  233. package/datarailsshared-datarailsshared.d.ts +0 -34
  234. package/datarailsshared-datarailsshared.metadata.json +0 -1
  235. package/esm2015/datarailsshared-datarailsshared.js +0 -35
  236. package/esm2015/lib/date-tags/date-tag.component.js +0 -73
  237. package/esm2015/lib/date-tags/date-tag.module.js +0 -36
  238. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +0 -77
  239. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +0 -153
  240. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +0 -80
  241. package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +0 -105
  242. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +0 -84
  243. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +0 -78
  244. package/esm2015/lib/dr-accordion/accordion-item-body.component.js +0 -55
  245. package/esm2015/lib/dr-accordion/accordion-item-header.component.js +0 -77
  246. package/esm2015/lib/dr-accordion/accordion-item.component.js +0 -123
  247. package/esm2015/lib/dr-accordion/accordion.component.js +0 -43
  248. package/esm2015/lib/dr-accordion/accordion.module.js +0 -23
  249. package/esm2015/lib/dr-avatar/dr-avatar.component.js +0 -44
  250. package/esm2015/lib/dr-avatar/dr-avatar.module.js +0 -26
  251. package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +0 -16
  252. package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +0 -25
  253. package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +0 -20
  254. package/esm2015/lib/dr-chat/chat.component.js +0 -119
  255. package/esm2015/lib/dr-chat/chat.module.js +0 -41
  256. package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -155
  257. package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -71
  258. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +0 -49
  259. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
  260. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -47
  261. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
  262. package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +0 -87
  263. package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +0 -15
  264. package/esm2015/lib/dr-details-list/dr-details-list.component.js +0 -65
  265. package/esm2015/lib/dr-details-list/dr-details-list.module.js +0 -16
  266. package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +0 -70
  267. package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +0 -92
  268. package/esm2015/lib/dr-dialog/dialog.module.js +0 -34
  269. package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +0 -25
  270. package/esm2015/lib/dr-dialog/services/dialog.service.js +0 -78
  271. package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +0 -12
  272. package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +0 -104
  273. package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +0 -114
  274. package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +0 -104
  275. package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +0 -34
  276. package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +0 -24
  277. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +0 -103
  278. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +0 -19
  279. package/esm2015/lib/dr-error/dr-error.component.js +0 -64
  280. package/esm2015/lib/dr-error/dr-error.module.js +0 -22
  281. package/esm2015/lib/dr-inputs/button/button.component.js +0 -39
  282. package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +0 -65
  283. package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +0 -47
  284. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +0 -216
  285. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +0 -180
  286. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +0 -183
  287. package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +0 -12
  288. package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +0 -194
  289. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +0 -194
  290. package/esm2015/lib/dr-inputs/dr-inputs.module.js +0 -66
  291. package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +0 -29
  292. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +0 -119
  293. package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +0 -74
  294. package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +0 -68
  295. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +0 -63
  296. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +0 -73
  297. package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +0 -157
  298. package/esm2015/lib/dr-layout/dr-layout-body.component.js +0 -13
  299. package/esm2015/lib/dr-layout/dr-layout-header.component.js +0 -17
  300. package/esm2015/lib/dr-layout/dr-layout.component.js +0 -14
  301. package/esm2015/lib/dr-layout/dr-layout.module.js +0 -20
  302. package/esm2015/lib/dr-popover/dr-popover.component.js +0 -106
  303. package/esm2015/lib/dr-popover/dr-popover.directive.js +0 -84
  304. package/esm2015/lib/dr-popover/dr-popover.module.js +0 -23
  305. package/esm2015/lib/dr-popover/dr-popover.service.js +0 -106
  306. package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +0 -102
  307. package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +0 -74
  308. package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +0 -73
  309. package/esm2015/lib/dr-scenario/dr-scenario.module.js +0 -28
  310. package/esm2015/lib/dr-scenario/services/scenario.service.js +0 -167
  311. package/esm2015/lib/dr-spinner/dr-spinner.component.js +0 -18
  312. package/esm2015/lib/dr-spinner/dr-spinner.directive.js +0 -56
  313. package/esm2015/lib/dr-spinner/dr-spinner.module.js +0 -18
  314. package/esm2015/lib/dr-tabs/dr-tab.component.js +0 -26
  315. package/esm2015/lib/dr-tabs/dr-tabs.component.js +0 -35
  316. package/esm2015/lib/dr-tabs/dr-tabs.module.js +0 -32
  317. package/esm2015/lib/dr-tags/dr-tag.component.js +0 -177
  318. package/esm2015/lib/dr-tags/dr-tag.module.js +0 -24
  319. package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +0 -19
  320. package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +0 -18
  321. package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +0 -20
  322. package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +0 -34
  323. package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +0 -40
  324. package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +0 -147
  325. package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +0 -35
  326. package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +0 -210
  327. package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +0 -58
  328. package/esm2015/lib/dr-treeview/dr-tree-view.module.js +0 -38
  329. package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +0 -97
  330. package/esm2015/lib/dr-treeview/models/treeview-config.js +0 -22
  331. package/esm2015/lib/dr-treeview/models/treeview-i18n.js +0 -42
  332. package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +0 -17
  333. package/esm2015/lib/list-tags/list-tag.component.js +0 -37
  334. package/esm2015/lib/list-tags/list-tag.module.js +0 -23
  335. package/esm2015/lib/models/chat.js +0 -36
  336. package/esm2015/lib/models/popover.js +0 -27
  337. package/esm2015/lib/stepper/stepper.component.js +0 -55
  338. package/esm2015/lib/stepper/stepper.module.js +0 -17
  339. package/esm2015/lib/utils/dr-shared-utils.js +0 -47
  340. package/esm2015/public-api.js +0 -93
  341. package/fesm2015/datarailsshared-datarailsshared.js +0 -6885
  342. package/fesm2015/datarailsshared-datarailsshared.js.map +0 -1
  343. /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
  344. /package/{esm2015/lib/dr-popover/dr-popover-ref.js → esm2022/lib/dr-popover/dr-popover-ref.mjs} +0 -0
  345. /package/{esm2015/lib/dr-scenario/interfaces/scenario.js → esm2022/lib/dr-scenario/interfaces/scenario.mjs} +0 -0
  346. /package/{esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs} +0 -0
  347. /package/{esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js → esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs} +0 -0
  348. /package/{esm2015/lib/dr-treeview/helpers/treeview-helper.js → esm2022/lib/dr-treeview/helpers/treeview-helper.mjs} +0 -0
  349. /package/{esm2015/lib/dr-treeview/models/treeview-header-template-context.js → esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs} +0 -0
  350. /package/{esm2015/lib/dr-treeview/models/treeview-item-template-context.js → esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs} +0 -0
  351. /package/{esm2015/lib/dr-treeview/models/treeview-item.js → esm2022/lib/dr-treeview/models/treeview-item.mjs} +0 -0
  352. /package/{esm2015/lib/models/badgeStatus.js → esm2022/lib/models/badgeStatus.mjs} +0 -0
  353. /package/{esm2015/lib/models/constants.js → esm2022/lib/models/constants.mjs} +0 -0
  354. /package/{esm2015/lib/models/dropdown.js → esm2022/lib/models/dropdown.mjs} +0 -0
  355. /package/{esm2015/lib/models/serverTags.js → esm2022/lib/models/serverTags.mjs} +0 -0
  356. /package/{esm2015/lib/models/spinnerOptions.js → esm2022/lib/models/spinnerOptions.mjs} +0 -0
  357. /package/{esm2015/lib/models/validationError.js → esm2022/lib/models/validationError.mjs} +0 -0
  358. /package/{esm2015/lib/stepper/interfaces/stepper.js → esm2022/lib/stepper/interfaces/stepper.mjs} +0 -0
@@ -0,0 +1,116 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';
2
+ import { DrDropdownService } from './dr-dropdown.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./dr-dropdown.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../dr-tooltip/dr-tooltip.directive";
7
+ import * as i4 from "./dr-dropdown-position.directive";
8
+ import * as i5 from "./dr-dropdown-item-show.pipe";
9
+ export class DrDropdownComponent {
10
+ constructor(menuService, cdr) {
11
+ this.menuService = menuService;
12
+ this.cdr = cdr;
13
+ this.position = 'left';
14
+ this.wasHovered = false;
15
+ }
16
+ set options(data) {
17
+ if (data) {
18
+ this.option = data.option;
19
+ this.position = data.position;
20
+ this.drDropdownInHover = data.drDropdownInHover;
21
+ this.containerClass = data.class;
22
+ this.list = data.list || [];
23
+ this.list.forEach(item => {
24
+ if (item.children?.length) {
25
+ item.childOptions = {
26
+ list: item.children,
27
+ class: item?.childOptions?.class || '',
28
+ position: 'child'
29
+ };
30
+ }
31
+ });
32
+ this.cdr.markForCheck();
33
+ }
34
+ }
35
+ onMouseEnter() {
36
+ this.wasHovered = true;
37
+ }
38
+ onMouseLeave() {
39
+ if (this.drDropdownInHover)
40
+ this.menuService.destroy();
41
+ }
42
+ onClickedOutside() {
43
+ if (this.firstInit) {
44
+ this.menuService.destroy();
45
+ }
46
+ else {
47
+ this.firstInit = true;
48
+ }
49
+ }
50
+ hide() {
51
+ this.menuService.destroy();
52
+ }
53
+ disabled(act) {
54
+ if (!act.disabled) {
55
+ return false;
56
+ }
57
+ if (typeof act.disabled === 'boolean') {
58
+ return act.disabled;
59
+ }
60
+ else {
61
+ return act.disabled(act.data);
62
+ }
63
+ }
64
+ selected(act) {
65
+ if (!act.selected) {
66
+ return false;
67
+ }
68
+ if (typeof act.selected === 'boolean') {
69
+ return act.selected;
70
+ }
71
+ else {
72
+ return act.selected(act.data);
73
+ }
74
+ }
75
+ tooltipToShow(act) {
76
+ if (act.toolTipIfDisabled && !this.disabled(act))
77
+ return '';
78
+ return act.customTooltip ? act.customTooltip(act.data) : act.toolTip;
79
+ }
80
+ tooltipPosition(widthMoreRight) {
81
+ return widthMoreRight ? 'right' : 'left';
82
+ }
83
+ action(act) {
84
+ if (!this.disabled(act)) {
85
+ if (act.action) {
86
+ act.action(act.data);
87
+ }
88
+ else {
89
+ this.menuService.actionItem.next({ event: act.event || act.title || 'default', data: act.data });
90
+ }
91
+ this.hide();
92
+ }
93
+ }
94
+ onActionIconClick($event, actionIcon, data) {
95
+ $event.stopPropagation();
96
+ if (!this.disabled(actionIcon)) {
97
+ actionIcon.action(data);
98
+ this.hide();
99
+ }
100
+ }
101
+ /** @nocollapse */ static { this.ɵ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 }); }
102
+ /** @nocollapse */ static { this.ɵ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 }); }
103
+ }
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownComponent, decorators: [{
105
+ type: Component,
106
+ 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"] }]
107
+ }], ctorParameters: function () { return [{ type: i1.DrDropdownService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { viewMenu: [{
108
+ type: ViewChild,
109
+ args: ['listMenu']
110
+ }], menuContainer: [{
111
+ type: ViewChild,
112
+ args: ['menuContainer']
113
+ }], options: [{
114
+ type: Input
115
+ }] } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBUTFELE1BQU0sT0FBTyxtQkFBbUI7SUFZNUIsWUFBc0IsV0FBOEIsRUFBVSxHQUFzQjtRQUE5RCxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVBwRixhQUFRLEdBQXFDLE1BQU0sQ0FBQztRQUk3QyxlQUFVLEdBQUcsS0FBSyxDQUFDO0lBSTFCLENBQUM7SUFFRCxJQUFhLE9BQU8sQ0FBQyxJQUFtQztRQUNwRCxJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNoRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8s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QUM7U0FDZjtJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsVUFBb0MsRUFBRSxJQUFTO1FBQ3JFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM1QixVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQztpSUF2R1EsbUJBQW1CO3FIQUFuQixtQkFBbUIsMFJDVmhDLG1oREErQkEsd3ZGRHJCYSxtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNO3dJQUl4QixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ08sYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQVliLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxQb3NpdGlvbiwgSURyb3Bkb3duLCBJRHJvcGRvd25BY3Rpb25JY29uLCBJRHJvcGRvd25Db29yZGluYXRlLCBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcbmltcG9ydCB7IERyRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSAnLi9kci1kcm9wZG93bi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25Db21wb25lbnQge1xuXG4gICAgQFZpZXdDaGlsZCgnbGlzdE1lbnUnKSB2aWV3TWVudTogSFRNTEVsZW1lbnQ7XG4gICAgQFZpZXdDaGlsZCgnbWVudUNvbnRhaW5lcicpIG1lbnVDb250YWluZXI6IEhUTUxFbGVtZW50O1xuICAgIG9wdGlvbjogYW55O1xuICAgIHBvc2l0aW9uOiBFbFBvc2l0aW9uIHwgSURyb3Bkb3duQ29vcmRpbmF0ZSA9ICdsZWZ0JztcbiAgICBkckRyb3Bkb3duSW5Ib3ZlcjogYm9vbGVhbjtcbiAgICBsaXN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+W107XG4gICAgY29udGFpbmVyQ2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgd2FzSG92ZXJlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgZmlyc3RJbml0OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIG1lbnVTZXJ2aWNlOiBEckRyb3Bkb3duU2VydmljZSwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG9wdGlvbnMoZGF0YTogSURyb3Bkb3duPElEcm9wZG93bkl0ZW08YW55Pj4pIHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uID0gZGF0YS5vcHRpb247XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gZGF0YS5wb3NpdGlvbjtcbiAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93bkluSG92ZXIgPSBkYXRhLmRyRHJvcGRvd25JbkhvdmVyO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXJDbGFzcyA9IGRhdGEuY2xhc3M7XG4gICAgICAgICAgICB0aGlzLmxpc3QgPSBkYXRhLmxpc3QgfHwgW107XG4gICAgICAgICAgICB0aGlzLmxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdDogaXRlbS5jaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBpdGVtPy5jaGlsZE9wdGlvbnM/LmNsYXNzIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdjaGlsZCdcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndhc0hvdmVyZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZHJEcm9wZG93bkluSG92ZXIpIHRoaXMubWVudVNlcnZpY2UuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIG9uQ2xpY2tlZE91dHNpZGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpcnN0SW5pdCkge1xuICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5kZXN0cm95KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpcnN0SW5pdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBkaXNhYmxlZChhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4gfCBJRHJvcGRvd25BY3Rpb25JY29uPGFueT4pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFhY3QuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGFjdC5kaXNhYmxlZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gYWN0LmRpc2FibGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5kaXNhYmxlZChhY3QuZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RlZChhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFhY3Quc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGFjdC5zZWxlY3RlZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gYWN0LnNlbGVjdGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5zZWxlY3RlZChhY3QuZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b29sdGlwVG9TaG93KGFjdDogSURyb3Bkb3duSXRlbTx1bmtub3duPik6IHN0cmluZyB7XG4gICAgICAgIGlmIChhY3QudG9vbFRpcElmRGlzYWJsZWQgJiYgIXRoaXMuZGlzYWJsZWQoYWN0KSkgcmV0dXJuICcnO1xuICAgICAgICByZXR1cm4gYWN0LmN1c3RvbVRvb2x0aXAgPyBhY3QuY3VzdG9tVG9vbHRpcChhY3QuZGF0YSkgOiBhY3QudG9vbFRpcDtcbiAgICB9XG5cbiAgICB0b29sdGlwUG9zaXRpb24od2lkdGhNb3JlUmlnaHQ6IGJvb2xlYW4pIHtcbiAgICAgICAgcmV0dXJuIHdpZHRoTW9yZVJpZ2h0ID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgICB9XG5cbiAgICBhY3Rpb24oYWN0OiBJRHJvcGRvd25JdGVtPGFueT4pIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKGFjdCkpIHtcbiAgICAgICAgICAgIGlmIChhY3QuYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgYWN0LmFjdGlvbihhY3QuZGF0YSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UuYWN0aW9uSXRlbS5uZXh0KHsgZXZlbnQ6IGFjdC5ldmVudCB8fCBhY3QudGl0bGUgfHwgJ2RlZmF1bHQnLCBkYXRhOiBhY3QuZGF0YSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BY3Rpb25JY29uQ2xpY2soJGV2ZW50LCBhY3Rpb25JY29uOiBJRHJvcGRvd25BY3Rpb25JY29uPGFueT4sIGRhdGE6IGFueSkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZChhY3Rpb25JY29uKSkge1xuICAgICAgICAgICAgYWN0aW9uSWNvbi5hY3Rpb24oZGF0YSk7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiPGRpdiAjbWVudUNvbnRhaW5lclxuICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXG4gICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcbiAgICAgKGNsaWNrT3V0c2lkZSk9XCJvbkNsaWNrZWRPdXRzaWRlKClcIlxuICAgICBbZHJEcm9wZG93blBvc2l0aW9uXT1cIm9wdGlvblwiXG4gICAgICNkcm9wZG93blBvc2l0aW9uPVwiZHJvcGRvd25Qb3NpdGlvblwiXG4gICAgIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiXG4gICAgIFtjbGFzc109XCJjb250YWluZXJDbGFzc1wiXG4gICAgIGNsYXNzPVwiZHItZHJvcGRvd25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHItZHJvcGRvd25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhY3Qgb2YgbGlzdCB8IGRyRHJvcGRvd25JdGVtU2hvd1BpcGVcIlxuICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24oYWN0KVwiXG4gICAgICAgICAgICAgW2RyVG9vbHRpcF09XCJ0b29sdGlwVG9TaG93KGFjdClcIlxuICAgICAgICAgICAgIFtkclRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb24oZHJvcGRvd25Qb3NpdGlvbi53aWR0aE1vcmVSaWdodClcIlxuICAgICAgICAgICAgIFtkclRvb2x0aXBPcHRpb25zXT1cInsgd2l0aG91dEFycm93OiB0cnVlIH1cIlxuICAgICAgICAgICAgIFtkclRvb2x0aXBDbGFzc109XCInZHItZHJvcGRvd25fX3Rvb2x0aXAnXCJcbiAgICAgICAgICAgICBjbGFzcz1cImRyLWRyb3Bkb3duX19jb250YWluZXJfX2l0ZW1cIlxuICAgICAgICAgICAgIFtjbGFzcy5pdGVtLWRpc2FibGVkXT1cImRpc2FibGVkKGFjdClcIlxuICAgICAgICAgICAgIFtjbGFzcy5pdGVtLXNlbGVjdGVkXT1cInNlbGVjdGVkKGFjdClcIlxuICAgICAgICAgICAgIFtjbGFzcy5zZXBhcmF0ZS1saW5lXT1cImFjdC5zZXBhcmF0ZUxpbmVcIj5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiYWN0Lmljb25cIiBbY2xhc3NdPVwiYWN0Lmljb25cIj48L2k+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyLWRyb3Bkb3duX19jb250YWluZXJfX2l0ZW1fX3RleHRcIj57e2FjdC50aXRsZX19PC9zcGFuPlxuICAgICAgICAgICAgPGkgKm5nRm9yPVwibGV0IGFjdGlvbkljb24gb2YgYWN0LmFjdGlvbkljb25zXCJcbiAgICAgICAgICAgICAgIFtjbGFzc109XCJhY3Rpb25JY29uLmljb25cIlxuICAgICAgICAgICAgICAgW2NsYXNzLnNob3dPbkhvdmVyXT1cImFjdGlvbkljb24uc2hvd09uSG92ZXJcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uSWNvbkNsaWNrKCRldmVudCwgYWN0aW9uSWNvbiwgYWN0LmRhdGEpXCI+PC9pPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJhY3QuY2hpbGRyZW4/Lmxlbmd0aFwiIGNsYXNzPVwiZHItaWNvbi1hcnJvdy1yaWdodFwiPjwvaT5cbiAgICAgICAgICAgIDxkci1kcm9wZG93biAqbmdJZj1cImFjdC5jaGlsZHJlbj8ubGVuZ3RoXCIgW29wdGlvbnNdPVwiYWN0LmNoaWxkT3B0aW9uc1wiPjwvZHItZHJvcGRvd24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,117 @@
1
+ import { ComponentFactoryResolver, Directive, ElementRef, HostListener, Inject, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { DrDropdownComponent } from './dr-dropdown.component';
4
+ import { DrDropdownService } from './dr-dropdown.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./dr-dropdown.service";
7
+ export class DrDropdownDirective {
8
+ constructor(componentFactoryResolver, viewContainerRef, service, el, _document) {
9
+ this.componentFactoryResolver = componentFactoryResolver;
10
+ this.viewContainerRef = viewContainerRef;
11
+ this.service = service;
12
+ this.el = el;
13
+ this._document = _document;
14
+ this.position = 'left';
15
+ this.mouseleaveTimeout = 200;
16
+ }
17
+ elementHover() {
18
+ if (!this.drDropdownInHover)
19
+ return;
20
+ this.openDropdown();
21
+ }
22
+ elementClick() {
23
+ this.openDropdown();
24
+ }
25
+ leaveDropdownTriggerElement() {
26
+ if (this.drDropdownInHover) {
27
+ setTimeout(_ => {
28
+ if (this.contentCmpRef && !this.contentCmpRef.instance.wasHovered) {
29
+ this.contentCmpRef.destroy();
30
+ this.contentCmpRef = null;
31
+ }
32
+ }, this.mouseleaveTimeout);
33
+ }
34
+ }
35
+ documentClick(e) {
36
+ this.closeDropdown(e);
37
+ }
38
+ openDropdown() {
39
+ const option = this.el.nativeElement.getBoundingClientRect();
40
+ this._document.querySelectorAll('dr-dropdown').forEach(item => item.remove());
41
+ if (this.contentCmpRef && this.contentCmpRef.destroyCbs) {
42
+ this.contentCmpRef.destroy();
43
+ this.contentCmpRef = null;
44
+ }
45
+ else {
46
+ this.service.destroy();
47
+ this.showMenu({
48
+ option,
49
+ drDropdownInHover: this.drDropdownInHover,
50
+ position: this.position,
51
+ list: this.drDropdown,
52
+ class: this.drDropdownClass
53
+ });
54
+ }
55
+ }
56
+ closeDropdown(e) {
57
+ if (!this.contentCmpRef) {
58
+ return;
59
+ }
60
+ const clickTarget = e.target;
61
+ const triggerElement = this.el.nativeElement;
62
+ const dropdownElement = this.contentCmpRef.location.nativeElement;
63
+ const isClickTriggerElement = triggerElement.contains(clickTarget) || triggerElement === clickTarget;
64
+ const isClickDropdownContents = dropdownElement.contains(clickTarget);
65
+ if (!isClickTriggerElement && !isClickDropdownContents) {
66
+ const elems = this._document.querySelectorAll('dr-dropdown');
67
+ setTimeout(() => elems.forEach(item => item.remove()), 100);
68
+ }
69
+ }
70
+ showMenu(options) {
71
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrDropdownComponent);
72
+ this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);
73
+ this.service.addMenu = this.contentCmpRef;
74
+ this._document.querySelector('dr-layout').appendChild(this.contentCmpRef.location.nativeElement);
75
+ this.contentCmpRef.instance.options = options;
76
+ }
77
+ ngOnDestroy() {
78
+ if (this.contentCmpRef) {
79
+ this.contentCmpRef.destroy();
80
+ }
81
+ }
82
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownDirective, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i1.DrDropdownService }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
83
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: DrDropdownDirective, selector: "[drDropdown]", inputs: { position: "position", drDropdown: "drDropdown", drDropdownClass: "drDropdownClass", drDropdownInHover: "drDropdownInHover" }, host: { listeners: { "mouseenter": "elementHover()", "click": "elementClick()", "mouseleave": "leaveDropdownTriggerElement()", "document:mouseup": "documentClick($event)" } }, viewQueries: [{ propertyName: "contentCmpRef", first: true, predicate: DrDropdownComponent, descendants: true, read: ViewContainerRef, static: true }], ngImport: i0 }); }
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownDirective, decorators: [{
86
+ type: Directive,
87
+ args: [{
88
+ selector: '[drDropdown]'
89
+ }]
90
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i1.DrDropdownService }, { type: i0.ElementRef }, { type: undefined, decorators: [{
91
+ type: Inject,
92
+ args: [DOCUMENT]
93
+ }] }]; }, propDecorators: { position: [{
94
+ type: Input
95
+ }], drDropdown: [{
96
+ type: Input
97
+ }], drDropdownClass: [{
98
+ type: Input
99
+ }], drDropdownInHover: [{
100
+ type: Input
101
+ }], contentCmpRef: [{
102
+ type: ViewChild,
103
+ args: [DrDropdownComponent, { static: true, read: ViewContainerRef }]
104
+ }], elementHover: [{
105
+ type: HostListener,
106
+ args: ['mouseenter']
107
+ }], elementClick: [{
108
+ type: HostListener,
109
+ args: ['click']
110
+ }], leaveDropdownTriggerElement: [{
111
+ type: HostListener,
112
+ args: ['mouseleave']
113
+ }], documentClick: [{
114
+ type: HostListener,
115
+ args: ['document:mouseup', ['$event']]
116
+ }] } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBSzFELE1BQU0sT0FBTyxtQkFBbUI7SUFVNUIsWUFBb0Isd0JBQWtELEVBQ2xELGdCQUFrQyxFQUNsQyxPQUEwQixFQUMxQixFQUFjLEVBQ0ksU0FBYztRQUpoQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNJLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFaM0MsYUFBUSxHQUFlLE1BQU0sQ0FBQztRQU10QixzQkFBaUIsR0FBRyxHQUFHLENBQUM7SUFPekMsQ0FBQztJQUUyQixZQUFZO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVzQixZQUFZO1FBQy9CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRTJCLDJCQUEyQjtRQUNuRCxJ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VyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDbEQsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQztJQUNMLENBQUM7aUlBekZRLG1CQUFtQixxSkFjUixRQUFRO3FIQWRuQixtQkFBbUIsMlpBTWpCLG1CQUFtQiwyQkFBd0IsZ0JBQWdCOzsyRkFON0QsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO2lCQUMzQjs7MEJBZWdCLE1BQU07MkJBQUMsUUFBUTs0Q0FabkIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNvRSxhQUFhO3NCQUF0RixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVzVDLFlBQVk7c0JBQXZDLFlBQVk7dUJBQUMsWUFBWTtnQkFLSCxZQUFZO3NCQUFsQyxZQUFZO3VCQUFDLE9BQU87Z0JBSU8sMkJBQTJCO3NCQUF0RCxZQUFZO3VCQUFDLFlBQVk7Z0JBV29CLGFBQWE7c0JBQTFELFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnksXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWxQb3NpdGlvbiwgSURyb3Bkb3duLCBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcbmltcG9ydCB7IERyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2RyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckRyb3Bkb3duU2VydmljZSB9IGZyb20gJy4vZHItZHJvcGRvd24uc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RyRHJvcGRvd25dJ1xufSlcbmV4cG9ydCBjbGFzcyBEckRyb3Bkb3duRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiBFbFBvc2l0aW9uID0gJ2xlZnQnO1xuICAgIEBJbnB1dCgpIGRyRHJvcGRvd246IElEcm9wZG93bkl0ZW08VD5bXTtcbiAgICBASW5wdXQoKSBkckRyb3Bkb3duQ2xhc3M6IHN0cmluZztcbiAgICBASW5wdXQoKSBkckRyb3Bkb3duSW5Ib3ZlcjogYm9vbGVhbjtcbiAgICBAVmlld0NoaWxkKERyRHJvcGRvd25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGNvbnRlbnRDbXBSZWY7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vdXNlbGVhdmVUaW1lb3V0ID0gMjAwO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlOiBEckRyb3Bkb3duU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnkpIHtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgZWxlbWVudEhvdmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuZHJEcm9wZG93bkluSG92ZXIpIHJldHVybjtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpIGVsZW1lbnRDbGljaygpIHtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgbGVhdmVEcm9wZG93blRyaWdnZXJFbGVtZW50KCkge1xuICAgICAgICBpZiAodGhpcy5kckRyb3Bkb3duSW5Ib3Zlcikge1xuICAgICAgICAgICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZW50Q21wUmVmICYmICF0aGlzLmNvbnRlbnRDbXBSZWYuaW5zdGFuY2Uud2FzSG92ZXJlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMubW91c2VsZWF2ZVRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pIGRvY3VtZW50Q2xpY2soZSkge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgdGhpcy5fZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZHItZHJvcGRvd24nKS5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5yZW1vdmUoKSk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRDbXBSZWYgJiYgdGhpcy5jb250ZW50Q21wUmVmLmRlc3Ryb3lDYnMpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYgPSBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd01lbnUoe1xuICAgICAgICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICAgICAgICBkckRyb3Bkb3duSW5Ib3ZlcjogdGhpcy5kckRyb3Bkb3duSW5Ib3ZlcixcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICBsaXN0OiB0aGlzLmRyRHJvcGRvd24sXG4gICAgICAgICAgICAgICAgY2xhc3M6IHRoaXMuZHJEcm9wZG93bkNsYXNzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VEcm9wZG93bihlKTogdm9pZCB7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnRDbXBSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsaWNrVGFyZ2V0ID0gZS50YXJnZXQ7XG4gICAgICAgIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBkcm9wZG93bkVsZW1lbnQgPSB0aGlzLmNvbnRlbnRDbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaXNDbGlja1RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlckVsZW1lbnQuY29udGFpbnMoY2xpY2tUYXJnZXQpIHx8IHRyaWdnZXJFbGVtZW50ID09PSBjbGlja1RhcmdldDtcbiAgICAgICAgY29uc3QgaXNDbGlja0Ryb3Bkb3duQ29udGVudHMgPSBkcm9wZG93bkVsZW1lbnQuY29udGFpbnMoY2xpY2tUYXJnZXQpO1xuXG4gICAgICAgIGlmICghaXNDbGlja1RyaWdnZXJFbGVtZW50ICYmICFpc0NsaWNrRHJvcGRvd25Db250ZW50cykge1xuICAgICAgICAgICAgY29uc3QgZWxlbXMgPSB0aGlzLl9kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkci1kcm9wZG93bicpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBlbGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5yZW1vdmUoKSksIDEwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dNZW51KG9wdGlvbnM6IElEcm9wZG93bjxUPikge1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PERyRHJvcGRvd25Db21wb25lbnQ+ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRHJEcm9wZG93bkNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMuY29udGVudENtcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XG4gICAgICAgIHRoaXMuc2VydmljZS5hZGRNZW51ID0gdGhpcy5jb250ZW50Q21wUmVmO1xuICAgICAgICB0aGlzLl9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkci1sYXlvdXQnKS5hcHBlbmRDaGlsZCh0aGlzLmNvbnRlbnRDbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMuY29udGVudENtcFJlZi5pbnN0YW5jZS5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRDbXBSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DrDropdownPositionDirective } from './dr-dropdown-position.directive';
3
+ import { DrDropdownDirective } from './dr-dropdown.directive';
4
+ import { DrDropdownComponent } from './dr-dropdown.component';
5
+ import { CommonModule } from '@angular/common';
6
+ import { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';
7
+ import { DrDropdownItemShowPipe } from './dr-dropdown-item-show.pipe';
8
+ import { DrDropdownService } from './dr-dropdown.service';
9
+ import * as i0 from "@angular/core";
10
+ export class DrDropdownModule {
11
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownModule, declarations: [DrDropdownDirective,
13
+ DrDropdownPositionDirective,
14
+ DrDropdownComponent,
15
+ DrDropdownItemShowPipe], imports: [CommonModule,
16
+ DrTooltipModule], exports: [DrDropdownDirective,
17
+ DrDropdownPositionDirective,
18
+ DrDropdownComponent,
19
+ DrDropdownItemShowPipe] }); }
20
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownModule, providers: [
21
+ DrDropdownService,
22
+ ], imports: [CommonModule,
23
+ DrTooltipModule] }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownModule, decorators: [{
26
+ type: NgModule,
27
+ args: [{
28
+ imports: [
29
+ CommonModule,
30
+ DrTooltipModule,
31
+ ],
32
+ declarations: [
33
+ DrDropdownDirective,
34
+ DrDropdownPositionDirective,
35
+ DrDropdownComponent,
36
+ DrDropdownItemShowPipe,
37
+ ],
38
+ exports: [
39
+ DrDropdownDirective,
40
+ DrDropdownPositionDirective,
41
+ DrDropdownComponent,
42
+ DrDropdownItemShowPipe,
43
+ ],
44
+ providers: [
45
+ DrDropdownService,
46
+ ],
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUF3QjFELE1BQU0sT0FBTyxnQkFBZ0I7aUlBQWhCLGdCQUFnQjtrSUFBaEIsZ0JBQWdCLGlCQWhCckIsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQixtQkFBbUI7WUFDbkIsc0JBQXNCLGFBUHRCLFlBQVk7WUFDWixlQUFlLGFBU2YsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQixtQkFBbUI7WUFDbkIsc0JBQXNCO2tJQU9qQixnQkFBZ0IsYUFMZDtZQUNQLGlCQUFpQjtTQUNwQixZQWpCRyxZQUFZO1lBQ1osZUFBZTs7MkZBbUJWLGdCQUFnQjtrQkF0QjVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZUFBZTtxQkFDbEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLHNCQUFzQjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLHNCQUFzQjtxQkFDekI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLGlCQUFpQjtxQkFDcEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJEcm9wZG93blBvc2l0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kci1kcm9wZG93bi1wb3NpdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4vZHItZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7IERyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2RyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBEckRyb3Bkb3duSXRlbVNob3dQaXBlIH0gZnJvbSAnLi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZSc7XG5pbXBvcnQgeyBEckRyb3Bkb3duU2VydmljZSB9IGZyb20gJy4vZHItZHJvcGRvd24uc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIERyVG9vbHRpcE1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBEckRyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBEckRyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUsXG4gICAgICAgIERyRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIERyRHJvcGRvd25JdGVtU2hvd1BpcGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIERyRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIERyRHJvcGRvd25Qb3NpdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgRHJEcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgRHJEcm9wZG93bkl0ZW1TaG93UGlwZSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBEckRyb3Bkb3duU2VydmljZSxcbiAgICBdLFxufSlcblxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25Nb2R1bGUge1xufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class DrDropdownService {
5
+ constructor() {
6
+ this.actionItem = new Subject();
7
+ }
8
+ set addMenu(item) {
9
+ this.menuInView = item;
10
+ }
11
+ destroy() {
12
+ if (this.menuInView) {
13
+ this.menuInView.destroy();
14
+ }
15
+ }
16
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownService, providedIn: 'root' }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDropdownService, decorators: [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root'
23
+ }]
24
+ }], ctorParameters: function () { return []; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPL0IsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQjtRQUhBLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztJQUlyRCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsSUFBdUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7aUlBaEJRLGlCQUFpQjtxSUFBakIsaUJBQWlCLGNBRmQsTUFBTTs7MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IElEcm9wZG93bkFjdGlvbiB9IGZyb20gJy4uL21vZGVscy9kcm9wZG93bic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93blNlcnZpY2Uge1xuXG4gICAgYWN0aW9uSXRlbSA9IG5ldyBTdWJqZWN0PElEcm9wZG93bkFjdGlvbjx1bmtub3duPj4oKTtcbiAgICBwcm90ZWN0ZWQgbWVudUluVmlldzogQ29tcG9uZW50UmVmPERyRHJvcGRvd25Db21wb25lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxuXG4gICAgc2V0IGFkZE1lbnUoaXRlbTogQ29tcG9uZW50UmVmPERyRHJvcGRvd25Db21wb25lbnQ+KSB7XG4gICAgICAgIHRoaXMubWVudUluVmlldyA9IGl0ZW07XG4gICAgfVxuXG4gICAgZGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubWVudUluVmlldykge1xuICAgICAgICAgICAgdGhpcy5tZW51SW5WaWV3LmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,112 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { find as _find, isNumber as _isNumber, isObject as _isObject, isNil as _isNil, map as _map } from 'lodash';
3
+ import moment from 'moment';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../dr-inputs/dr-select/dr-select.component";
7
+ import * as i3 from "../dr-inputs/dr-select-add-item/dr-select-add-item.component";
8
+ import * as i4 from "@angular/forms";
9
+ export class DrDynamicTagComponent {
10
+ constructor() {
11
+ this.lockedTags = [];
12
+ this.tagChange = new EventEmitter();
13
+ this.tagAdd = new EventEmitter();
14
+ }
15
+ get isPrimitiveDataSource() {
16
+ const values = Object.values(this.values) || [];
17
+ return !_isObject(values[0]);
18
+ }
19
+ ngOnChanges(changes) {
20
+ this.updateDynamicTagValues();
21
+ }
22
+ onTagChanged($event) {
23
+ const resultEvent = {
24
+ id: this.tagConfig.id,
25
+ name: this.tagConfig.name,
26
+ value: $event,
27
+ locked: this.lockedTags.includes($event)
28
+ };
29
+ if (!_isNil(this.selectedTag?.locked)) {
30
+ resultEvent.locked = this.selectedTag.locked;
31
+ }
32
+ if (!_isNil(this.selectedTag?.label)) {
33
+ resultEvent.label = this.selectedTag.label;
34
+ }
35
+ this.isLockedTagSelected = resultEvent.locked;
36
+ this.tagChange.emit(resultEvent);
37
+ }
38
+ onOptionClick($event, tagValue) {
39
+ if (this.lockedTags.includes(tagValue)) {
40
+ $event.stopImmediatePropagation();
41
+ }
42
+ }
43
+ onDynamicValueAdd($event) {
44
+ const parentValueKey = this.getParentValueKey();
45
+ const parentValues = this.values[parentValueKey] || [];
46
+ if (this.isPrimitiveDataSource) {
47
+ this.values[parentValueKey] = [$event, ...parentValues];
48
+ }
49
+ else {
50
+ this.values[parentValueKey] = [{ value: $event }, ...parentValues];
51
+ }
52
+ this.selectedDynamicTag = $event;
53
+ this.currentValues = this.values[parentValueKey];
54
+ this.onTagChanged($event);
55
+ this.tagAdd.emit($event);
56
+ }
57
+ updateDynamicTagValues() {
58
+ const parentValueKey = this.getParentValueKey();
59
+ this.currentValues = this.values[parentValueKey];
60
+ this.selectedDynamicTag = this.getSelectedDynamicTag(this.currentValues, this.selectedTag?.value);
61
+ this.onTagChanged(this.selectedDynamicTag);
62
+ }
63
+ getSelectedDynamicTag(currentValues, selectedValue) {
64
+ if (!currentValues?.length)
65
+ return null;
66
+ if (_isObject(currentValues[0])) {
67
+ const valueFromConfig = _find(currentValues, { value: selectedValue });
68
+ const favoriteValue = _find(currentValues, { is_favorite: true });
69
+ return (valueFromConfig || favoriteValue || currentValues[0]).value;
70
+ }
71
+ const valueFromConfig = _find(currentValues, (value) => value === selectedValue);
72
+ return (valueFromConfig || currentValues[0]);
73
+ }
74
+ getParentValueKey() {
75
+ return _map(this.connectedTags, this.tryToParseParentValue).join('__');
76
+ }
77
+ tryToParseParentValue(connectedTags) {
78
+ if (_isNumber(connectedTags.value)) {
79
+ const momentData = moment.unix(connectedTags.value);
80
+ const convertedParentValue = momentData.get('year'); // TODO: add input prop (selectedTimeDimension) or Format
81
+ if (momentData.isValid() && convertedParentValue) {
82
+ return convertedParentValue;
83
+ }
84
+ }
85
+ return connectedTags.value;
86
+ }
87
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDynamicTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
88
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrDynamicTagComponent, selector: "dr-dynamic-tag", inputs: { values: "values", tagConfig: "tagConfig", selectedTag: "selectedTag", lockedTags: "lockedTags", connectedTags: "connectedTags", isDynamicTagAddEnabled: "isDynamicTagAddEnabled", disabled: "disabled" }, outputs: { tagChange: "tagChange", tagAdd: "tagAdd" }, usesOnChanges: true, ngImport: i0, template: "<p class=\"dynamic-tag__label\">{{ tagConfig.name }}</p>\n<dr-select [(ngModel)]=\"selectedDynamicTag\"\n [class.dynamic-tag__locked]=\"isLockedTagSelected\"\n bindLabel=\"value\"\n bindValue=\"value\"\n [items]=\"currentValues\"\n [disabled]=\"disabled\"\n dropdownClass=\"dynamic-tag__select dr-tag__select\"\n (ngModelChange)=\"onTagChanged($event)\">\n <ng-template #optionHeaderTemplate *ngIf=\"isDynamicTagAddEnabled\">\n <dr-select-add-item bindValue=\"value\"\n [values]=\"currentValues\"\n [dynamicAddLabel]=\"' Add new ' + tagConfig.name\"\n (dynamicValueAdded)=\"onDynamicValueAdd($event)\"></dr-select-add-item>\n </ng-template>\n <ng-template #labelTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--label\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n <ng-template #optionTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--option\"\n [class.disabled]=\"lockedTags.includes(item?.value || item)\"\n (click)=\"onOptionClick($event, item?.value || item)\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n</dr-select>\n", styles: [".dynamic-tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}.dynamic-tag__field{cursor:pointer;height:24px}.dynamic-tag__field--option{cursor:pointer;height:24px;padding:8px 12px;width:100%;display:flex;justify-content:space-between;align-items:center}.dynamic-tag__field--option.disabled{opacity:.5;box-sizing:content-box}.dynamic-tag__field--label{cursor:pointer;height:24px;display:flex;align-items:center}.dynamic-tag__field--label>.dynamic-tag__field__icon{position:absolute;right:25px}.dynamic-tag__field--label>dynamic-tag__field__text{margin:0}.dr-icon-star-fill{color:#f0bc57}::ng-deep dr-select.dynamic-tag__locked>ng-select>.ng-select-container{opacity:.4}::ng-deep .ng-option:has(.dynamic-tag__field--option){padding:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DrSelectComponent, selector: "dr-select", inputs: ["className", "items", "addTag", "appendTo", "bindLabel", "bindValue", "clearable", "searchable", "searchFn", "multiple", "hideSelected", "placeholder", "loading", "readonly", "disabled", "groupBy", "optionWithDescription", "id", "keyDownFn", "selectedItem", "dropdownClass", "closeOnSelect", "textView", "autofocus", "isOpen"], outputs: ["change", "open"] }, { kind: "component", type: i3.DrSelectAddItemComponent, selector: "dr-select-add-item", inputs: ["dynamicAddLabel", "bindValue", "values"], outputs: ["dynamicValueAdded"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDynamicTagComponent, decorators: [{
91
+ type: Component,
92
+ args: [{ selector: 'dr-dynamic-tag', template: "<p class=\"dynamic-tag__label\">{{ tagConfig.name }}</p>\n<dr-select [(ngModel)]=\"selectedDynamicTag\"\n [class.dynamic-tag__locked]=\"isLockedTagSelected\"\n bindLabel=\"value\"\n bindValue=\"value\"\n [items]=\"currentValues\"\n [disabled]=\"disabled\"\n dropdownClass=\"dynamic-tag__select dr-tag__select\"\n (ngModelChange)=\"onTagChanged($event)\">\n <ng-template #optionHeaderTemplate *ngIf=\"isDynamicTagAddEnabled\">\n <dr-select-add-item bindValue=\"value\"\n [values]=\"currentValues\"\n [dynamicAddLabel]=\"' Add new ' + tagConfig.name\"\n (dynamicValueAdded)=\"onDynamicValueAdd($event)\"></dr-select-add-item>\n </ng-template>\n <ng-template #labelTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--label\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n <ng-template #optionTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--option\"\n [class.disabled]=\"lockedTags.includes(item?.value || item)\"\n (click)=\"onOptionClick($event, item?.value || item)\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n</dr-select>\n", styles: [".dynamic-tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}.dynamic-tag__field{cursor:pointer;height:24px}.dynamic-tag__field--option{cursor:pointer;height:24px;padding:8px 12px;width:100%;display:flex;justify-content:space-between;align-items:center}.dynamic-tag__field--option.disabled{opacity:.5;box-sizing:content-box}.dynamic-tag__field--label{cursor:pointer;height:24px;display:flex;align-items:center}.dynamic-tag__field--label>.dynamic-tag__field__icon{position:absolute;right:25px}.dynamic-tag__field--label>dynamic-tag__field__text{margin:0}.dr-icon-star-fill{color:#f0bc57}::ng-deep dr-select.dynamic-tag__locked>ng-select>.ng-select-container{opacity:.4}::ng-deep .ng-option:has(.dynamic-tag__field--option){padding:0!important}\n"] }]
93
+ }], propDecorators: { values: [{
94
+ type: Input
95
+ }], tagConfig: [{
96
+ type: Input
97
+ }], selectedTag: [{
98
+ type: Input
99
+ }], lockedTags: [{
100
+ type: Input
101
+ }], connectedTags: [{
102
+ type: Input
103
+ }], isDynamicTagAddEnabled: [{
104
+ type: Input
105
+ }], disabled: [{
106
+ type: Input
107
+ }], tagChange: [{
108
+ type: Output
109
+ }], tagAdd: [{
110
+ type: Output
111
+ }] } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHluYW1pYy10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHluYW1pYy10YWcvZHItZHluYW1pYy10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHluYW1pYy10YWcvZHItZHluYW1pYy10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxRQUFRLElBQUksU0FBUyxFQUFFLFFBQVEsSUFBSSxTQUFTLEVBQUUsS0FBSyxJQUFJLE1BQU0sRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRW5ILE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7O0FBTzVCLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFXb0IsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUs3QixjQUFTLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBQzNFLFdBQU0sR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7S0E4RjNGO0lBeEZHLElBQVcscUJBQXFCO1FBQzVCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLFlBQVks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QUE1QixLQUFLO2dCQUNVLHNCQUFzQjtzQkFBckMsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbmQgYXMgX2ZpbmQsIGlzTnVtYmVyIGFzIF9pc051bWJlciwgaXNPYmplY3QgYXMgX2lzT2JqZWN0LCBpc05pbCBhcyBfaXNOaWwsIG1hcCBhcyBfbWFwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IElEeW5hbWljVGFnLCBJVGFnLCBJVGFnRm9yU2VydmVyLCBURHluYW1pY1RhZywgVER5bmFtaWNUYWdWYWx1ZSB9IGZyb20gJy4uL21vZGVscy9zZXJ2ZXJUYWdzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1keW5hbWljLXRhZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWR5bmFtaWMtdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1keW5hbWljLXRhZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERyRHluYW1pY1RhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWVzOiBURHluYW1pY1RhZztcbiAgICBASW5wdXQoKSBwdWJsaWMgdGFnQ29uZmlnOiBJVGFnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZFRhZzogSVRhZ0ZvclNlcnZlcjtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2NrZWRUYWdzOiBhbnlbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb25uZWN0ZWRUYWdzOiBJVGFnRm9yU2VydmVyW107XG4gICAgQElucHV0KCkgcHVibGljIGlzRHluYW1pY1RhZ0FkZEVuYWJsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHRhZ0NoYW5nZTogRXZlbnRFbWl0dGVyPElUYWdGb3JTZXJ2ZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxJVGFnRm9yU2VydmVyPigpO1xuICAgIEBPdXRwdXQoKSB0YWdBZGQ6IEV2ZW50RW1pdHRlcjxURHluYW1pY1RhZ1ZhbHVlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VER5bmFtaWNUYWdWYWx1ZT4oKTtcblxuICAgIHB1YmxpYyBzZWxlY3RlZER5bmFtaWNUYWc6IFREeW5hbWljVGFnVmFsdWU7XG4gICAgcHVibGljIGN1cnJlbnRWYWx1ZXM6IFREeW5hbWljVGFnVmFsdWVbXTtcbiAgICBwdWJsaWMgaXNMb2NrZWRUYWdTZWxlY3RlZDogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBnZXQgaXNQcmltaXRpdmVEYXRhU291cmNlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKHRoaXMudmFsdWVzKSB8fCBbXTtcbiAgICAgICAgcmV0dXJuICFfaXNPYmplY3QodmFsdWVzWzBdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUR5bmFtaWNUYWdWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25UYWdDaGFuZ2VkKCRldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlc3VsdEV2ZW50OiBJVGFnRm9yU2VydmVyID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMudGFnQ29uZmlnLmlkLFxuICAgICAgICAgICAgbmFtZTogdGhpcy50YWdDb25maWcubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiAkZXZlbnQsXG4gICAgICAgICAgICBsb2NrZWQ6IHRoaXMubG9ja2VkVGFncy5pbmNsdWRlcygkZXZlbnQpXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCFfaXNOaWwodGhpcy5zZWxlY3RlZFRhZz8ubG9ja2VkKSkge1xuICAgICAgICAgICAgcmVzdWx0RXZlbnQubG9ja2VkID0gdGhpcy5zZWxlY3RlZFRhZy5sb2NrZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIV9pc05pbCh0aGlzLnNlbGVjdGVkVGFnPy5sYWJlbCkpIHtcbiAgICAgICAgICAgIHJlc3VsdEV2ZW50LmxhYmVsID0gdGhpcy5zZWxlY3RlZFRhZy5sYWJlbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNMb2NrZWRUYWdTZWxlY3RlZCA9IHJlc3VsdEV2ZW50LmxvY2tlZDtcbiAgICAgICAgdGhpcy50YWdDaGFuZ2UuZW1pdChyZXN1bHRFdmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uT3B0aW9uQ2xpY2soJGV2ZW50OiBFdmVudCwgdGFnVmFsdWU6IHN0cmluZyB8IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5sb2NrZWRUYWdzLmluY2x1ZGVzKHRhZ1ZhbHVlKSkge1xuICAgICAgICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHluYW1pY1ZhbHVlQWRkKCRldmVudDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudFZhbHVlS2V5ID0gdGhpcy5nZXRQYXJlbnRWYWx1ZUtleSgpO1xuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZXMgPSB0aGlzLnZhbHVlc1twYXJlbnRWYWx1ZUtleV0gfHwgW107XG5cbiAgICAgICAgaWYgKHRoaXMuaXNQcmltaXRpdmVEYXRhU291cmNlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlc1twYXJlbnRWYWx1ZUtleV0gPSBbJGV2ZW50LCAuLi5wYXJlbnRWYWx1ZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXNbcGFyZW50VmFsdWVLZXldID0gW3sgdmFsdWU6ICRldmVudCB9LCAuLi5wYXJlbnRWYWx1ZXNdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZER5bmFtaWNUYWcgPSAkZXZlbnQ7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWVzID0gdGhpcy52YWx1ZXNbcGFyZW50VmFsdWVLZXldO1xuICAgICAgICB0aGlzLm9uVGFnQ2hhbmdlZCgkZXZlbnQpO1xuICAgICAgICB0aGlzLnRhZ0FkZC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVEeW5hbWljVGFnVmFsdWVzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZUtleSA9IHRoaXMuZ2V0UGFyZW50VmFsdWVLZXkoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWVzID0gdGhpcy52YWx1ZXNbcGFyZW50VmFsdWVLZXldO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRHluYW1pY1RhZyA9IHRoaXMuZ2V0U2VsZWN0ZWREeW5hbWljVGFnKHRoaXMuY3VycmVudFZhbHVlcywgdGhpcy5zZWxlY3RlZFRhZz8udmFsdWUpO1xuICAgICAgICB0aGlzLm9uVGFnQ2hhbmdlZCh0aGlzLnNlbGVjdGVkRHluYW1pY1RhZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZER5bmFtaWNUYWcoY3VycmVudFZhbHVlczogVER5bmFtaWNUYWdWYWx1ZVtdLCBzZWxlY3RlZFZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWN1cnJlbnRWYWx1ZXM/Lmxlbmd0aCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgaWYgKF9pc09iamVjdChjdXJyZW50VmFsdWVzWzBdKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVGcm9tQ29uZmlnID0gX2ZpbmQoY3VycmVudFZhbHVlcywgeyB2YWx1ZTogc2VsZWN0ZWRWYWx1ZSB9KSBhcyBJRHluYW1pY1RhZztcbiAgICAgICAgICAgIGNvbnN0IGZhdm9yaXRlVmFsdWUgPSBfZmluZChjdXJyZW50VmFsdWVzLCB7IGlzX2Zhdm9yaXRlOiB0cnVlIH0pIGFzIElEeW5hbWljVGFnO1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZUZyb21Db25maWcgfHwgZmF2b3JpdGVWYWx1ZSB8fCBjdXJyZW50VmFsdWVzWzBdKS52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlRnJvbUNvbmZpZyA9IF9maW5kKGN1cnJlbnRWYWx1ZXMsICh2YWx1ZSkgPT4gdmFsdWUgPT09IHNlbGVjdGVkVmFsdWUpO1xuICAgICAgICByZXR1cm4gKHZhbHVlRnJvbUNvbmZpZyB8fCBjdXJyZW50VmFsdWVzWzBdKSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQYXJlbnRWYWx1ZUtleSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gX21hcCh0aGlzLmNvbm5lY3RlZFRhZ3MsIHRoaXMudHJ5VG9QYXJzZVBhcmVudFZhbHVlKS5qb2luKCdfXycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJ5VG9QYXJzZVBhcmVudFZhbHVlKGNvbm5lY3RlZFRhZ3M6IElUYWdGb3JTZXJ2ZXIpIHtcbiAgICAgICAgaWYgKF9pc051bWJlcihjb25uZWN0ZWRUYWdzLnZhbHVlKSkge1xuICAgICAgICAgICAgY29uc3QgbW9tZW50RGF0YSA9IG1vbWVudC51bml4KGNvbm5lY3RlZFRhZ3MudmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgY29udmVydGVkUGFyZW50VmFsdWUgPSBtb21lbnREYXRhLmdldCgneWVhcicpOyAvLyBUT0RPOiBhZGQgaW5wdXQgcHJvcCAoc2VsZWN0ZWRUaW1lRGltZW5zaW9uKSBvciBGb3JtYXRcblxuICAgICAgICAgICAgaWYgKG1vbWVudERhdGEuaXNWYWxpZCgpICYmIGNvbnZlcnRlZFBhcmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlZFBhcmVudFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbm5lY3RlZFRhZ3MudmFsdWU7XG4gICAgfVxufVxuIiwiPHAgY2xhc3M9XCJkeW5hbWljLXRhZ19fbGFiZWxcIj57eyB0YWdDb25maWcubmFtZSB9fTwvcD5cbjxkci1zZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZER5bmFtaWNUYWdcIlxuICAgICAgICAgICBbY2xhc3MuZHluYW1pYy10YWdfX2xvY2tlZF09XCJpc0xvY2tlZFRhZ1NlbGVjdGVkXCJcbiAgICAgICAgICAgYmluZExhYmVsPVwidmFsdWVcIlxuICAgICAgICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgIFtpdGVtc109XCJjdXJyZW50VmFsdWVzXCJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgZHJvcGRvd25DbGFzcz1cImR5bmFtaWMtdGFnX19zZWxlY3QgZHItdGFnX19zZWxlY3RcIlxuICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRhZ0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uSGVhZGVyVGVtcGxhdGUgKm5nSWY9XCJpc0R5bmFtaWNUYWdBZGRFbmFibGVkXCI+XG4gICAgICAgIDxkci1zZWxlY3QtYWRkLWl0ZW0gYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZXNdPVwiY3VycmVudFZhbHVlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2R5bmFtaWNBZGRMYWJlbF09XCInIEFkZCBuZXcgJyArIHRhZ0NvbmZpZy5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZHluYW1pY1ZhbHVlQWRkZWQpPVwib25EeW5hbWljVmFsdWVBZGQoJGV2ZW50KVwiPjwvZHItc2VsZWN0LWFkZC1pdGVtPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNsYWJlbFRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkLS1sYWJlbFwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJkeW5hbWljLXRhZ19fZmllbGRfX3RleHRcIj57eyBpdGVtPy52YWx1ZSB8fCBpdGVtIH19PC9wPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJpdGVtPy5pc19mYXZvcml0ZVwiIGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkX19pY29uIGRyLWljb24tc3Rhci1maWxsXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLXRhZ19fZmllbGQtLW9wdGlvblwiXG4gICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxvY2tlZFRhZ3MuaW5jbHVkZXMoaXRlbT8udmFsdWUgfHwgaXRlbSlcIlxuICAgICAgICAgICAgIChjbGljayk9XCJvbk9wdGlvbkNsaWNrKCRldmVudCwgaXRlbT8udmFsdWUgfHwgaXRlbSlcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkX190ZXh0XCI+e3sgaXRlbT8udmFsdWUgfHwgaXRlbSB9fTwvcD5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiaXRlbT8uaXNfZmF2b3JpdGVcIiBjbGFzcz1cImR5bmFtaWMtdGFnX19maWVsZF9faWNvbiBkci1pY29uLXN0YXItZmlsbFwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZHItc2VsZWN0PlxuIl19
@@ -0,0 +1,28 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DrDynamicTagComponent } from './dr-dynamic-tag.component';
4
+ import { DrInputsModule } from '../dr-inputs/dr-inputs.module';
5
+ import { FormsModule } from '@angular/forms';
6
+ import * as i0 from "@angular/core";
7
+ export class DrDynamicTagModule {
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDynamicTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: DrDynamicTagModule, declarations: [DrDynamicTagComponent], imports: [CommonModule,
10
+ DrInputsModule,
11
+ FormsModule], exports: [DrDynamicTagComponent] }); }
12
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDynamicTagModule, imports: [CommonModule,
13
+ DrInputsModule,
14
+ FormsModule] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDynamicTagModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [DrDynamicTagComponent],
20
+ imports: [
21
+ CommonModule,
22
+ DrInputsModule,
23
+ FormsModule,
24
+ ],
25
+ exports: [DrDynamicTagComponent]
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHluYW1pYy10YWcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHluYW1pYy10YWcvZHItZHluYW1pYy10YWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBVzdDLE1BQU0sT0FBTyxrQkFBa0I7aUlBQWxCLGtCQUFrQjtrSUFBbEIsa0JBQWtCLGlCQVJaLHFCQUFxQixhQUVoQyxZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVcsYUFFTCxxQkFBcUI7a0lBRXRCLGtCQUFrQixZQU52QixZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7OzJGQUlOLGtCQUFrQjtrQkFUOUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxXQUFXO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJEeW5hbWljVGFnQ29tcG9uZW50IH0gZnJvbSAnLi9kci1keW5hbWljLXRhZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtEckR5bmFtaWNUYWdDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBEcklucHV0c01vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbRHJEeW5hbWljVGFnQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEckR5bmFtaWNUYWdNb2R1bGUge1xufVxuIl19