@datarailsshared/datarailsshared 1.4.195-rocket → 1.4.202

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 (360) hide show
  1. package/_datarailsshared.styles.css +4 -4
  2. package/assets/styles/_styles.scss +2 -2
  3. package/assets/styles/mixins.scss +7 -0
  4. package/bundles/datarailsshared-datarailsshared.umd.js +8041 -0
  5. package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -0
  6. package/datarailsshared-datarailsshared-1.4.202.tgz +0 -0
  7. package/datarailsshared-datarailsshared.d.ts +34 -0
  8. package/datarailsshared-datarailsshared.metadata.json +1 -0
  9. package/esm2015/datarailsshared-datarailsshared.js +35 -0
  10. package/esm2015/lib/date-tags/date-tag.component.js +73 -0
  11. package/esm2015/lib/date-tags/date-tag.module.js +36 -0
  12. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +77 -0
  13. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +153 -0
  14. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +80 -0
  15. package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +105 -0
  16. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +84 -0
  17. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +78 -0
  18. package/esm2015/lib/dr-accordion/accordion-item-body.component.js +55 -0
  19. package/esm2015/lib/dr-accordion/accordion-item-header.component.js +77 -0
  20. package/esm2015/lib/dr-accordion/accordion-item.component.js +123 -0
  21. package/esm2015/lib/dr-accordion/accordion.component.js +43 -0
  22. package/esm2015/lib/dr-accordion/accordion.module.js +23 -0
  23. package/esm2015/lib/dr-avatar/dr-avatar.component.js +44 -0
  24. package/esm2015/lib/dr-avatar/dr-avatar.module.js +26 -0
  25. package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +16 -0
  26. package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +25 -0
  27. package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +20 -0
  28. package/esm2015/lib/dr-chat/chat.component.js +119 -0
  29. package/esm2015/lib/dr-chat/chat.module.js +41 -0
  30. package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +155 -0
  31. package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +71 -0
  32. package/{esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs → esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js} +21 -21
  33. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +23 -0
  34. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +47 -0
  35. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +18 -0
  36. package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +87 -0
  37. package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +15 -0
  38. package/esm2015/lib/dr-details-list/dr-details-list.component.js +65 -0
  39. package/esm2015/lib/dr-details-list/dr-details-list.module.js +16 -0
  40. package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +70 -0
  41. package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +92 -0
  42. package/esm2015/lib/dr-dialog/dialog.module.js +34 -0
  43. package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +25 -0
  44. package/esm2015/lib/dr-dialog/services/dialog.service.js +78 -0
  45. package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +12 -0
  46. package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +104 -0
  47. package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +114 -0
  48. package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +104 -0
  49. package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +34 -0
  50. package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +24 -0
  51. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +103 -0
  52. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +19 -0
  53. package/esm2015/lib/dr-error/dr-error.component.js +64 -0
  54. package/esm2015/lib/dr-error/dr-error.module.js +22 -0
  55. package/esm2015/lib/dr-inputs/button/button.component.js +39 -0
  56. package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +65 -0
  57. package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +47 -0
  58. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +216 -0
  59. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +180 -0
  60. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +183 -0
  61. package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +12 -0
  62. package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +194 -0
  63. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +194 -0
  64. package/esm2015/lib/dr-inputs/dr-inputs.module.js +66 -0
  65. package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +29 -0
  66. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +119 -0
  67. package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +74 -0
  68. package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +68 -0
  69. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +63 -0
  70. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +73 -0
  71. package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +157 -0
  72. package/esm2015/lib/dr-layout/dr-layout-body.component.js +13 -0
  73. package/esm2015/lib/dr-layout/dr-layout-header.component.js +17 -0
  74. package/esm2015/lib/dr-layout/dr-layout.component.js +14 -0
  75. package/esm2015/lib/dr-layout/dr-layout.module.js +20 -0
  76. package/esm2015/lib/dr-popover/dr-popover-ref.js +20 -0
  77. package/esm2015/lib/dr-popover/dr-popover.component.js +106 -0
  78. package/esm2015/lib/dr-popover/dr-popover.directive.js +84 -0
  79. package/esm2015/lib/dr-popover/dr-popover.module.js +23 -0
  80. package/esm2015/lib/dr-popover/dr-popover.service.js +106 -0
  81. package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +102 -0
  82. package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +74 -0
  83. package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +73 -0
  84. package/esm2015/lib/dr-scenario/dr-scenario.module.js +28 -0
  85. package/esm2015/lib/dr-scenario/services/scenario.service.js +167 -0
  86. package/esm2015/lib/dr-spinner/dr-spinner.component.js +18 -0
  87. package/esm2015/lib/dr-spinner/dr-spinner.directive.js +56 -0
  88. package/esm2015/lib/dr-spinner/dr-spinner.module.js +18 -0
  89. package/esm2015/lib/dr-tabs/dr-tab.component.js +26 -0
  90. package/esm2015/lib/dr-tabs/dr-tabs.component.js +35 -0
  91. package/esm2015/lib/dr-tabs/dr-tabs.module.js +32 -0
  92. package/esm2015/lib/dr-tags/dr-tag.component.js +177 -0
  93. package/esm2015/lib/dr-tags/dr-tag.module.js +24 -0
  94. package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +19 -0
  95. package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +18 -0
  96. package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +20 -0
  97. package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +34 -0
  98. package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +40 -0
  99. package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +147 -0
  100. package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +35 -0
  101. package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +210 -0
  102. package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +58 -0
  103. package/esm2015/lib/dr-treeview/dr-tree-view.module.js +38 -0
  104. package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +97 -0
  105. package/esm2015/lib/dr-treeview/models/treeview-config.js +22 -0
  106. package/esm2015/lib/dr-treeview/models/treeview-i18n.js +42 -0
  107. package/esm2015/lib/dr-treeview/models/treeview-item.js +155 -0
  108. package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +17 -0
  109. package/esm2015/lib/list-tags/list-tag.component.js +37 -0
  110. package/esm2015/lib/list-tags/list-tag.module.js +23 -0
  111. package/esm2015/lib/models/chat.js +36 -0
  112. package/esm2015/lib/models/datePicker.js +73 -0
  113. package/esm2015/lib/models/popover.js +27 -0
  114. package/esm2015/lib/stepper/stepper.component.js +55 -0
  115. package/esm2015/lib/stepper/stepper.module.js +17 -0
  116. package/esm2015/public-api.js +93 -0
  117. package/fesm2015/datarailsshared-datarailsshared.js +6885 -0
  118. package/fesm2015/datarailsshared-datarailsshared.js.map +1 -0
  119. package/lib/date-tags/date-tag.component.d.ts +16 -4
  120. package/lib/date-tags/date-tag.module.d.ts +2 -19
  121. package/lib/date-tags/day-tag/day-tag.component.d.ts +1 -4
  122. package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +2 -5
  123. package/lib/date-tags/month-tag/month-tag.component.d.ts +1 -4
  124. package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +1 -4
  125. package/lib/date-tags/week-tag/week-tag.component.d.ts +1 -4
  126. package/lib/date-tags/year-tag/year-tag.component.d.ts +1 -4
  127. package/lib/dr-accordion/accordion-item-body.component.d.ts +0 -3
  128. package/lib/dr-accordion/accordion-item-header.component.d.ts +0 -3
  129. package/lib/dr-accordion/accordion-item.component.d.ts +0 -3
  130. package/lib/dr-accordion/accordion.component.d.ts +0 -3
  131. package/lib/dr-accordion/accordion.module.d.ts +0 -9
  132. package/lib/dr-avatar/dr-avatar.component.d.ts +0 -3
  133. package/lib/dr-avatar/dr-avatar.module.d.ts +0 -9
  134. package/lib/dr-avatar/dr-avatar.pipe.d.ts +0 -3
  135. package/lib/dr-badge-status/dr-badge-status.component.d.ts +0 -3
  136. package/lib/dr-badge-status/dr-badge-status.module.d.ts +0 -7
  137. package/lib/dr-chat/chat.component.d.ts +0 -3
  138. package/lib/dr-chat/chat.module.d.ts +0 -17
  139. package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +0 -3
  140. package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +0 -3
  141. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +0 -3
  142. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +0 -3
  143. package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +0 -3
  144. package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +0 -3
  145. package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +0 -3
  146. package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +0 -3
  147. package/lib/dr-details-list/dr-details-list.component.d.ts +0 -3
  148. package/lib/dr-details-list/dr-details-list.module.d.ts +0 -6
  149. package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +1 -4
  150. package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +1 -4
  151. package/lib/dr-dialog/dialog.module.d.ts +0 -12
  152. package/lib/dr-dialog/interfaces/dialog-data.d.ts +7 -7
  153. package/lib/dr-dialog/services/dialog.service.d.ts +1 -4
  154. package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +0 -3
  155. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -3
  156. package/lib/dr-dropdown/dr-dropdown.component.d.ts +0 -3
  157. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +0 -3
  158. package/lib/dr-dropdown/dr-dropdown.module.d.ts +0 -10
  159. package/lib/dr-dropdown/dr-dropdown.service.d.ts +0 -3
  160. package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +0 -3
  161. package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +0 -8
  162. package/lib/dr-error/dr-error.component.d.ts +0 -3
  163. package/lib/dr-error/dr-error.module.d.ts +0 -8
  164. package/lib/dr-inputs/button/button.component.d.ts +1 -4
  165. package/lib/dr-inputs/checkbox/checkbox.component.d.ts +0 -3
  166. package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +0 -3
  167. package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +0 -3
  168. package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +0 -3
  169. package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +8 -4
  170. package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +2 -4
  171. package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +0 -3
  172. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +0 -3
  173. package/lib/dr-inputs/dr-inputs.module.d.ts +0 -25
  174. package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +0 -3
  175. package/lib/dr-inputs/dr-select/dr-select.component.d.ts +0 -3
  176. package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +0 -3
  177. package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +0 -3
  178. package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +0 -3
  179. package/lib/dr-inputs/radio-button/radio-button.component.d.ts +0 -3
  180. package/lib/dr-inputs/radio-button/radio-group.component.d.ts +0 -3
  181. package/lib/dr-layout/dr-layout-body.component.d.ts +0 -3
  182. package/lib/dr-layout/dr-layout-header.component.d.ts +0 -3
  183. package/lib/dr-layout/dr-layout.component.d.ts +0 -3
  184. package/lib/dr-layout/dr-layout.module.d.ts +0 -8
  185. package/lib/dr-popover/dr-popover.component.d.ts +4 -8
  186. package/lib/dr-popover/dr-popover.directive.d.ts +0 -3
  187. package/lib/dr-popover/dr-popover.module.d.ts +0 -7
  188. package/lib/dr-popover/dr-popover.service.d.ts +0 -3
  189. package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +0 -3
  190. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +0 -3
  191. package/lib/dr-scenario/dr-scenario.module.d.ts +0 -10
  192. package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
  193. package/lib/dr-scenario/services/scenario.service.d.ts +0 -3
  194. package/lib/dr-spinner/dr-spinner.component.d.ts +0 -3
  195. package/lib/dr-spinner/dr-spinner.directive.d.ts +0 -3
  196. package/lib/dr-spinner/dr-spinner.module.d.ts +0 -7
  197. package/lib/dr-tabs/dr-tab.component.d.ts +0 -3
  198. package/lib/dr-tabs/dr-tabs.component.d.ts +0 -3
  199. package/lib/dr-tabs/dr-tabs.module.d.ts +0 -11
  200. package/lib/dr-tags/dr-tag.component.d.ts +0 -3
  201. package/lib/dr-tags/dr-tag.module.d.ts +0 -9
  202. package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +0 -3
  203. package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +0 -3
  204. package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +0 -3
  205. package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +0 -3
  206. package/lib/dr-tooltip/dr-tooltip.component.d.ts +1 -4
  207. package/lib/dr-tooltip/dr-tooltip.directive.d.ts +0 -3
  208. package/lib/dr-tooltip/dr-tooltip.module.d.ts +0 -11
  209. package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +1 -1
  210. package/lib/dr-treeview/components/treeview/treeview.component.d.ts +0 -3
  211. package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +0 -3
  212. package/lib/dr-treeview/dr-tree-view.module.d.ts +0 -9
  213. package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +0 -9
  214. package/lib/dr-treeview/models/treeview-config.d.ts +0 -3
  215. package/lib/dr-treeview/models/treeview-i18n.d.ts +0 -5
  216. package/lib/dr-treeview/pipes/treeview.pipe.d.ts +0 -3
  217. package/lib/list-tags/list-tag.component.d.ts +0 -3
  218. package/lib/list-tags/list-tag.module.d.ts +0 -8
  219. package/lib/models/chat.d.ts +2 -2
  220. package/lib/models/datePicker.d.ts +3 -10
  221. package/lib/models/dropdown.d.ts +1 -1
  222. package/lib/models/popover.d.ts +1 -1
  223. package/lib/models/serverTags.d.ts +4 -4
  224. package/lib/stepper/interfaces/stepper.d.ts +1 -1
  225. package/lib/stepper/stepper.component.d.ts +0 -3
  226. package/lib/stepper/stepper.module.d.ts +0 -7
  227. package/package.json +15 -27
  228. package/public-api.d.ts +0 -27
  229. package/datarailsshared-datarailsshared-1.4.195-rocket.tgz +0 -0
  230. package/esm2022/datarailsshared-datarailsshared.mjs +0 -5
  231. package/esm2022/lib/date-tags/any-tag.component.mjs +0 -45
  232. package/esm2022/lib/date-tags/date-tag.component.mjs +0 -48
  233. package/esm2022/lib/date-tags/date-tag.module.mjs +0 -66
  234. package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +0 -83
  235. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +0 -161
  236. package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +0 -88
  237. package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +0 -106
  238. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +0 -90
  239. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +0 -84
  240. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +0 -94
  241. package/esm2022/lib/directives/click-outside/click-outside.module.mjs +0 -18
  242. package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +0 -59
  243. package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +0 -109
  244. package/esm2022/lib/dr-accordion/accordion-item.component.mjs +0 -142
  245. package/esm2022/lib/dr-accordion/accordion.component.mjs +0 -41
  246. package/esm2022/lib/dr-accordion/accordion.module.mjs +0 -34
  247. package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +0 -48
  248. package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +0 -37
  249. package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +0 -20
  250. package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +0 -30
  251. package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +0 -27
  252. package/esm2022/lib/dr-chat/chat.component.mjs +0 -147
  253. package/esm2022/lib/dr-chat/chat.module.mjs +0 -68
  254. package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +0 -169
  255. package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +0 -108
  256. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +0 -24
  257. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +0 -57
  258. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +0 -23
  259. package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +0 -89
  260. package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +0 -13
  261. package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +0 -78
  262. package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +0 -21
  263. package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +0 -79
  264. package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +0 -102
  265. package/esm2022/lib/dr-dialog/dialog.module.mjs +0 -51
  266. package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +0 -25
  267. package/esm2022/lib/dr-dialog/services/dialog.service.mjs +0 -78
  268. package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +0 -16
  269. package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +0 -108
  270. package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +0 -124
  271. package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +0 -125
  272. package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +0 -49
  273. package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +0 -26
  274. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +0 -119
  275. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +0 -28
  276. package/esm2022/lib/dr-error/dr-error.component.mjs +0 -69
  277. package/esm2022/lib/dr-error/dr-error.module.mjs +0 -31
  278. package/esm2022/lib/dr-inputs/button/button.component.mjs +0 -70
  279. package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +0 -67
  280. package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +0 -67
  281. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +0 -233
  282. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +0 -194
  283. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +0 -194
  284. package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +0 -16
  285. package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +0 -196
  286. package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +0 -232
  287. package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +0 -108
  288. package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +0 -32
  289. package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +0 -182
  290. package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +0 -82
  291. package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +0 -77
  292. package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +0 -69
  293. package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +0 -82
  294. package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +0 -180
  295. package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +0 -16
  296. package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +0 -24
  297. package/esm2022/lib/dr-layout/dr-layout.component.mjs +0 -13
  298. package/esm2022/lib/dr-layout/dr-layout.module.mjs +0 -29
  299. package/esm2022/lib/dr-popover/dr-popover-ref.mjs +0 -23
  300. package/esm2022/lib/dr-popover/dr-popover.component.mjs +0 -141
  301. package/esm2022/lib/dr-popover/dr-popover.directive.mjs +0 -115
  302. package/esm2022/lib/dr-popover/dr-popover.module.mjs +0 -30
  303. package/esm2022/lib/dr-popover/dr-popover.service.mjs +0 -110
  304. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +0 -110
  305. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +0 -85
  306. package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +0 -81
  307. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +0 -41
  308. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +0 -166
  309. package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +0 -18
  310. package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +0 -66
  311. package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +0 -23
  312. package/esm2022/lib/dr-tabs/dr-tab.component.mjs +0 -42
  313. package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +0 -51
  314. package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +0 -49
  315. package/esm2022/lib/dr-tags/dr-tag.component.mjs +0 -201
  316. package/esm2022/lib/dr-tags/dr-tag.module.mjs +0 -35
  317. package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +0 -20
  318. package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +0 -17
  319. package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +0 -19
  320. package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +0 -20
  321. package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +0 -53
  322. package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +0 -165
  323. package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +0 -48
  324. package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +0 -224
  325. package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +0 -62
  326. package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +0 -48
  327. package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +0 -103
  328. package/esm2022/lib/dr-treeview/models/treeview-config.mjs +0 -23
  329. package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +0 -47
  330. package/esm2022/lib/dr-treeview/models/treeview-item.mjs +0 -158
  331. package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +0 -21
  332. package/esm2022/lib/list-tags/list-tag.component.mjs +0 -45
  333. package/esm2022/lib/list-tags/list-tag.module.mjs +0 -34
  334. package/esm2022/lib/models/chat.mjs +0 -49
  335. package/esm2022/lib/models/datePicker.mjs +0 -71
  336. package/esm2022/lib/models/popover.mjs +0 -27
  337. package/esm2022/lib/stepper/stepper.component.mjs +0 -66
  338. package/esm2022/lib/stepper/stepper.module.mjs +0 -24
  339. package/esm2022/public-api.mjs +0 -120
  340. package/fesm2022/datarailsshared-datarailsshared.mjs +0 -7879
  341. package/fesm2022/datarailsshared-datarailsshared.mjs.map +0 -1
  342. package/index.d.ts +0 -5
  343. package/lib/date-tags/any-tag.component.d.ts +0 -20
  344. package/lib/directives/click-outside/click-outside.directive.d.ts +0 -23
  345. package/lib/directives/click-outside/click-outside.module.d.ts +0 -8
  346. /package/{esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs → esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js} +0 -0
  347. /package/{esm2022/lib/dr-scenario/interfaces/scenario.mjs → esm2015/lib/dr-scenario/interfaces/scenario.js} +0 -0
  348. /package/{esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs → esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js} +0 -0
  349. /package/{esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs → esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js} +0 -0
  350. /package/{esm2022/lib/dr-treeview/helpers/treeview-helper.mjs → esm2015/lib/dr-treeview/helpers/treeview-helper.js} +0 -0
  351. /package/{esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs → esm2015/lib/dr-treeview/models/treeview-header-template-context.js} +0 -0
  352. /package/{esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs → esm2015/lib/dr-treeview/models/treeview-item-template-context.js} +0 -0
  353. /package/{esm2022/lib/models/badgeStatus.mjs → esm2015/lib/models/badgeStatus.js} +0 -0
  354. /package/{esm2022/lib/models/constants.mjs → esm2015/lib/models/constants.js} +0 -0
  355. /package/{esm2022/lib/models/dropdown.mjs → esm2015/lib/models/dropdown.js} +0 -0
  356. /package/{esm2022/lib/models/serverTags.mjs → esm2015/lib/models/serverTags.js} +0 -0
  357. /package/{esm2022/lib/models/spinnerOptions.mjs → esm2015/lib/models/spinnerOptions.js} +0 -0
  358. /package/{esm2022/lib/models/validationError.mjs → esm2015/lib/models/validationError.js} +0 -0
  359. /package/{esm2022/lib/stepper/interfaces/stepper.mjs → esm2015/lib/stepper/interfaces/stepper.js} +0 -0
  360. /package/{esm2022/lib/utils/dr-shared-utils.mjs → esm2015/lib/utils/dr-shared-utils.js} +0 -0
@@ -1,82 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- export class RadioButtonComponent {
6
- cdr;
7
- name;
8
- _value;
9
- valueChange = new EventEmitter();
10
- get disabled() {
11
- return this._disabled;
12
- }
13
- set disabled(disabled) {
14
- this._disabled = disabled;
15
- }
16
- _disabled = false;
17
- modelValue;
18
- get value() {
19
- return this._value;
20
- }
21
- onChange = (onchanges => {
22
- });
23
- onTouched = () => {
24
- };
25
- constructor(cdr) {
26
- this.cdr = cdr;
27
- }
28
- registerOnChange(fn) {
29
- this.onChange = fn;
30
- }
31
- registerOnTouched(fn) {
32
- this.onTouched = fn;
33
- }
34
- writeValue(value) {
35
- this.modelValue = value;
36
- this.cdr.markForCheck();
37
- }
38
- toggleChange(event) {
39
- if (event.target.checked) {
40
- this.modelValue = this.value;
41
- }
42
- }
43
- valueChanged(event) {
44
- this.onChange(this.modelValue);
45
- this.valueChange.emit(this.value);
46
- }
47
- _setName(name) {
48
- this.name = name;
49
- this.cdr.markForCheck();
50
- }
51
- _markForCheck() {
52
- this.cdr.markForCheck();
53
- }
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: RadioButtonComponent, selector: "dr-radio-button", inputs: { name: "name", _value: ["value", "_value"], disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [
56
- {
57
- provide: NG_VALUE_ACCESSOR,
58
- useExisting: RadioButtonComponent,
59
- multi: true
60
- }
61
- ], ngImport: i0, template: "<label>\n <input\n type=\"radio\"\n [name]=\"name\"\n [value]=\"value\"\n (change)=\"valueChanged(value)\"\n [(ngModel)]=\"modelValue\"\n [disabled]=\"disabled\"\n (click)=\"toggleChange($event)\">\n <span>\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [":host{display:flex;line-height:22px;font-size:14px}label input[type=radio].radiobox+span{vertical-align:middle;line-height:20px}input+span,input+span:after,input+span:before{box-sizing:content-box!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important}input{visibility:hidden;position:absolute;width:18px;height:18px}label input+span{position:relative;z-index:19;display:inline-block;margin:0 5px 0 0;line-height:17px;min-height:14px;min-width:14px}label input+span:hover{cursor:pointer}label input+span:before{content:\"\";font-size:14px;border-radius:0;display:inline-block;text-align:center;vertical-align:middle;padding:1px;height:12px;line-height:13px;width:12px;margin-right:5px;border:1px solid #8f929e;background-color:#fff;font-weight:400;margin-top:-1px}label input+span:before{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}label input:checked+span:before,label:hover input:checked+span:before{font-family:DataRails!important;background-image:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%234646CE\"/></svg> ');background-repeat:no-repeat;background-position:center;border-color:#4646ce;color:#4646ce}label input:disabled+span:before{border-color:#8f929e}label input[disabled]:checked+span:before{background-image:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%238F929E\"/></svg> ');background-repeat:no-repeat;background-position:center;border-color:#8f929e!important;color:#8f929e}label span:hover:before{border-color:#4e566c}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioButtonComponent, decorators: [{
64
- type: Component,
65
- args: [{ selector: 'dr-radio-button', providers: [
66
- {
67
- provide: NG_VALUE_ACCESSOR,
68
- useExisting: RadioButtonComponent,
69
- multi: true
70
- }
71
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<label>\n <input\n type=\"radio\"\n [name]=\"name\"\n [value]=\"value\"\n (change)=\"valueChanged(value)\"\n [(ngModel)]=\"modelValue\"\n [disabled]=\"disabled\"\n (click)=\"toggleChange($event)\">\n <span>\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [":host{display:flex;line-height:22px;font-size:14px}label input[type=radio].radiobox+span{vertical-align:middle;line-height:20px}input+span,input+span:after,input+span:before{box-sizing:content-box!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important}input{visibility:hidden;position:absolute;width:18px;height:18px}label input+span{position:relative;z-index:19;display:inline-block;margin:0 5px 0 0;line-height:17px;min-height:14px;min-width:14px}label input+span:hover{cursor:pointer}label input+span:before{content:\"\";font-size:14px;border-radius:0;display:inline-block;text-align:center;vertical-align:middle;padding:1px;height:12px;line-height:13px;width:12px;margin-right:5px;border:1px solid #8f929e;background-color:#fff;font-weight:400;margin-top:-1px}label input+span:before{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}label input:checked+span:before,label:hover input:checked+span:before{font-family:DataRails!important;background-image:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%234646CE\"/></svg> ');background-repeat:no-repeat;background-position:center;border-color:#4646ce;color:#4646ce}label input:disabled+span:before{border-color:#8f929e}label input[disabled]:checked+span:before{background-image:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%238F929E\"/></svg> ');background-repeat:no-repeat;background-position:center;border-color:#8f929e!important;color:#8f929e}label span:hover:before{border-color:#4e566c}\n"] }]
72
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
73
- type: Input
74
- }], _value: [{
75
- type: Input,
76
- args: ['value']
77
- }], valueChange: [{
78
- type: Output
79
- }], disabled: [{
80
- type: Input
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBZXpFLE1BQU0sT0FBTyxvQkFBb0I7SUEyQlQ7SUExQlgsSUFBSSxDQUFTO0lBQ04sTUFBTSxDQUFNO0lBQ2xCLFdBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU5RCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQWlCO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFTyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRTFCLFVBQVUsQ0FBTTtJQUVoQixJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVEsR0FBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsU0FBUyxHQUFRLEdBQUcsRUFBRTtJQUN0QixDQUFDLENBQUM7SUFFRixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFFO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSztRQUNkLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO3VHQTdEUSxvQkFBb0I7MkZBQXBCLG9CQUFvQixnS0FUbEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsb0JBQW9CO2dCQUNqQyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osMEJDYkwsMlZBYUE7OzJGREdhLG9CQUFvQjtrQkFiaEMsU0FBUzsrQkFDSSxpQkFBaUIsYUFHaEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxzQkFBc0I7NEJBQ2pDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSzt1QkFBQyxPQUFPO2dCQUNKLFdBQVc7c0JBQXBCLE1BQU07Z0JBR0gsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1yYWRpby1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCd2YWx1ZScpIF92YWx1ZTogYW55O1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICBtb2RlbFZhbHVlOiBhbnk7XG5cbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZTogYW55ID0gKG9uY2hhbmdlcyA9PiB7XG4gICAgfSk7XG4gICAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7XG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICB0b2dnbGVDaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFsdWVDaGFuZ2VkKGV2ZW50KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5tb2RlbFZhbHVlKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIF9zZXROYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBfbWFya0ZvckNoZWNrKCkge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8bGFiZWw+XG4gICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQodmFsdWUpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWxWYWx1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPHNwYW4+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvbGFiZWw+XG4iXX0=
@@ -1,180 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, forwardRef, Inject, Input, Output, PLATFORM_ID, } from '@angular/core';
2
- import { DOCUMENT, isPlatformBrowser } from '@angular/common';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { from, fromEvent, merge, Subject } from 'rxjs';
5
- import { filter, startWith, switchMap, takeUntil } from 'rxjs/operators';
6
- import { RadioButtonComponent } from './radio-button.component';
7
- import * as i0 from "@angular/core";
8
- export class RadioGroupComponent {
9
- hostElement;
10
- platformId;
11
- document;
12
- get value() {
13
- return this._value;
14
- }
15
- set value(value) {
16
- this._value = value;
17
- this.updateValues();
18
- }
19
- get name() {
20
- return this._name;
21
- }
22
- set name(name) {
23
- this._name = name;
24
- this.updateNames();
25
- }
26
- get disabled() {
27
- return this._disabled;
28
- }
29
- set disabled(disabled) {
30
- this._disabled = !!disabled;
31
- this.updateDisabled();
32
- }
33
- constructor(hostElement, platformId, document) {
34
- this.hostElement = hostElement;
35
- this.platformId = platformId;
36
- this.document = document;
37
- }
38
- destroy$ = new Subject();
39
- _value;
40
- _name;
41
- _disabled;
42
- radios;
43
- valueChange = new EventEmitter();
44
- onChange = (value) => {
45
- };
46
- onTouched = () => {
47
- };
48
- ngAfterContentInit() {
49
- // In case option 'name' isn't set on dr-radio component,
50
- // we need to set it's name right away, so it won't overlap with options
51
- // without names from other radio groups. Otherwise they all would have
52
- // same name and will be considered as options from one group so only the
53
- // last option will stay selected.
54
- this.updateNames();
55
- this.radios.changes.pipe(startWith(this.radios),
56
- // 'changes' emit during change detection run and we can't update
57
- // option properties right of since they already was initialized.
58
- // Instead we schedule microtask to update radios after change detection
59
- // run is finished and trigger one more change detection run.
60
- switchMap((radios) => from(Promise.resolve(radios))), takeUntil(this.destroy$)).subscribe(() => this.updateAndSubscribeToRadios());
61
- }
62
- ngOnDestroy() {
63
- this.destroy$.next();
64
- this.destroy$.complete();
65
- }
66
- registerOnChange(fn) {
67
- this.onChange = fn;
68
- }
69
- registerOnTouched(fn) {
70
- this.onTouched = fn;
71
- }
72
- writeValue(value) {
73
- this.value = value;
74
- }
75
- setDisabledState(isDisabled) {
76
- this.disabled = isDisabled;
77
- }
78
- updateAndSubscribeToRadios() {
79
- this.updateValueFromCheckedOption();
80
- this.updateNames();
81
- this.updateValues();
82
- this.updateDisabled();
83
- this.subscribeOnRadiosValueChange();
84
- this.subscribeOnRadiosBlur();
85
- }
86
- updateNames() {
87
- if (this.radios) {
88
- this.radios.forEach((radio) => radio._setName(this.name));
89
- }
90
- }
91
- updateValues() {
92
- this.updateAndMarkForCheckRadios((radio) => {
93
- radio.modelValue = this.value;
94
- });
95
- }
96
- updateDisabled() {
97
- if (typeof this.disabled !== 'undefined') {
98
- this.updateAndMarkForCheckRadios((radio) => radio.disabled = this.disabled);
99
- }
100
- }
101
- subscribeOnRadiosValueChange() {
102
- if (!this.radios || !this.radios.length) {
103
- return;
104
- }
105
- merge(...this.radios.map((radio) => radio.valueChange)).pipe(takeUntil(merge(this.radios.changes, this.destroy$))).subscribe((value) => {
106
- this.writeValue(value);
107
- this.propagateValue(value);
108
- });
109
- }
110
- propagateValue(value) {
111
- this.valueChange.emit(value);
112
- this.onChange(value);
113
- }
114
- subscribeOnRadiosBlur() {
115
- const hasNoRadios = !this.radios || !this.radios.length;
116
- if (!isPlatformBrowser(this.platformId) || hasNoRadios) {
117
- return;
118
- }
119
- const hostElement = this.hostElement.nativeElement;
120
- fromEvent(hostElement, 'focusin').pipe(filter(event => hostElement.contains(event.target)), switchMap(() => merge(fromEvent(this.document, 'focusin'), fromEvent(this.document, 'click'))), filter(event => !hostElement.contains(event.target)), takeUntil(merge(this.radios.changes, this.destroy$))).subscribe(() => this.onTouched());
121
- }
122
- updateAndMarkForCheckRadios(updateFn) {
123
- if (this.radios) {
124
- this.radios.forEach((radio) => {
125
- updateFn(radio);
126
- radio._markForCheck();
127
- });
128
- }
129
- }
130
- updateValueFromCheckedOption() {
131
- const checkedRadio = this.radios.find((radio) => radio.modelValue);
132
- const isValueMissing = this.value === undefined || this.value === null;
133
- if (checkedRadio && isValueMissing && checkedRadio.value !== this.value) {
134
- this.value = checkedRadio.value;
135
- }
136
- }
137
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioGroupComponent, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
138
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: RadioGroupComponent, selector: "dr-radio-group", inputs: { value: "value", name: "name", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [
139
- {
140
- provide: NG_VALUE_ACCESSOR,
141
- useExisting: forwardRef(() => RadioGroupComponent),
142
- multi: true,
143
- },
144
- ], queries: [{ propertyName: "radios", predicate: RadioButtonComponent, descendants: true }], ngImport: i0, template: `
145
- <ng-content select="dr-radio-button"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
146
- }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioGroupComponent, decorators: [{
148
- type: Component,
149
- args: [{
150
- selector: 'dr-radio-group',
151
- template: `
152
- <ng-content select="dr-radio-button"></ng-content>`,
153
- providers: [
154
- {
155
- provide: NG_VALUE_ACCESSOR,
156
- useExisting: forwardRef(() => RadioGroupComponent),
157
- multi: true,
158
- },
159
- ],
160
- changeDetection: ChangeDetectionStrategy.OnPush,
161
- }]
162
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
163
- type: Inject,
164
- args: [PLATFORM_ID]
165
- }] }, { type: undefined, decorators: [{
166
- type: Inject,
167
- args: [DOCUMENT]
168
- }] }]; }, propDecorators: { value: [{
169
- type: Input
170
- }], name: [{
171
- type: Input
172
- }], disabled: [{
173
- type: Input
174
- }], radios: [{
175
- type: ContentChildren,
176
- args: [RadioButtonComponent, { descendants: true }]
177
- }], valueChange: [{
178
- type: Output
179
- }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL3JhZGlvLWJ1dHRvbi9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBZWhFLE1BQU0sT0FBTyxtQkFBbUI7SUFpQ2Q7SUFDcUI7SUFDSDtJQWpDaEMsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFZO1FBQ2pC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QkFEWCxLQUFLO2dCQXNCd0QsTUFBTTtzQkFBbkUsZUFBZTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBRWxELFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZnJvbSwgZnJvbUV2ZW50LCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXJhZGlvLWdyb3VwJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1yYWRpby1idXR0b25cIj48L25nLWNvbnRlbnQ+YCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0dyb3VwQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gICAgfVxuXG4gICAgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLnVwZGF0ZU5hbWVzKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSAhIWRpc2FibGVkO1xuICAgICAgICB0aGlzLnVwZGF0ZURpc2FibGVkKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBob3N0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByb3RlY3RlZCBwbGF0Zm9ybUlkLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcm90ZWN0ZWQgZG9jdW1lbnQsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlOiBhbnk7XG4gICAgcHJvdGVjdGVkIF9uYW1lOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9kaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUmFkaW9CdXR0b25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgcmFkaW9zOiBRdWVyeUxpc3Q8UmFkaW9CdXR0b25Db21wb25lbnQ+O1xuXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgIH07XG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICB9O1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICAvLyBJbiBjYXNlIG9wdGlvbiAnbmFtZScgaXNuJ3Qgc2V0IG9uIGRyLXJhZGlvIGNvbXBvbmVudCxcbiAgICAgICAgLy8gd2UgbmVlZCB0byBzZXQgaXQncyBuYW1lIHJpZ2h0IGF3YXksIHNvIGl0IHdvbid0IG92ZXJsYXAgd2l0aCBvcHRpb25zXG4gICAgICAgIC8vIHdpdGhvdXQgbmFtZXMgZnJvbSBvdGhlciByYWRpbyBncm91cHMuIE90aGVyd2lzZSB0aGV5IGFsbCB3b3VsZCBoYXZlXG4gICAgICAgIC8vIHNhbWUgbmFtZSBhbmQgd2lsbCBiZSBjb25zaWRlcmVkIGFzIG9wdGlvbnMgZnJvbSBvbmUgZ3JvdXAgc28gb25seSB0aGVcbiAgICAgICAgLy8gbGFzdCBvcHRpb24gd2lsbCBzdGF5IHNlbGVjdGVkLlxuICAgICAgICB0aGlzLnVwZGF0ZU5hbWVzKCk7XG5cbiAgICAgICAgdGhpcy5yYWRpb3MuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMucmFkaW9zKSxcbiAgICAgICAgICAgIC8vICdjaGFuZ2VzJyBlbWl0IGR1cmluZyBjaGFuZ2UgZGV0ZWN0aW9uIHJ1biBhbmQgd2UgY2FuJ3QgdXBkYXRlXG4gICAgICAgICAgICAvLyBvcHRpb24gcHJvcGVydGllcyByaWdodCBvZiBzaW5jZSB0aGV5IGFscmVhZHkgd2FzIGluaXRpYWxpemVkLlxuICAgICAgICAgICAgLy8gSW5zdGVhZCB3ZSBzY2hlZHVsZSBtaWNyb3Rhc2sgdG8gdXBkYXRlIHJhZGlvcyBhZnRlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgICAgICAvLyBydW4gaXMgZmluaXNoZWQgYW5kIHRyaWdnZXIgb25lIG1vcmUgY2hhbmdlIGRldGVjdGlvbiBydW4uXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHJhZGlvczogUXVlcnlMaXN0PFJhZGlvQnV0dG9uQ29tcG9uZW50PikgPT4gZnJvbShQcm9taXNlLnJlc29sdmUocmFkaW9zKSkpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZUFuZFN1YnNjcmliZVRvUmFkaW9zKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVBbmRTdWJzY3JpYmVUb1JhZGlvcygpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUZyb21DaGVja2VkT3B0aW9uKCk7XG4gICAgICAgIHRoaXMudXBkYXRlTmFtZXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVEaXNhYmxlZCgpO1xuICAgICAgICB0aGlzLnN1YnNjcmliZU9uUmFkaW9zVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVPblJhZGlvc0JsdXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlTmFtZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLnJhZGlvcykge1xuICAgICAgICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaCgocmFkaW86IFJhZGlvQnV0dG9uQ29tcG9uZW50KSA9PiByYWRpby5fc2V0TmFtZSh0aGlzLm5hbWUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVWYWx1ZXMoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQW5kTWFya0ZvckNoZWNrUmFkaW9zKChyYWRpbzogUmFkaW9CdXR0b25Db21wb25lbnQpID0+IHtcbiAgICAgICAgICAgIHJhZGlvLm1vZGVsVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRGlzYWJsZWQoKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kaXNhYmxlZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQW5kTWFya0ZvckNoZWNrUmFkaW9zKChyYWRpbzogUmFkaW9CdXR0b25Db21wb25lbnQpID0+IHJhZGlvLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaWJlT25SYWRpb3NWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJhZGlvcyB8fCAhdGhpcy5yYWRpb3MubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBtZXJnZSguLi50aGlzLnJhZGlvcy5tYXAoKHJhZGlvOiBSYWRpb0J1dHRvbkNvbXBvbmVudCkgPT4gcmFkaW8udmFsdWVDaGFuZ2UpKS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKFxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhZGlvcy5jaGFuZ2VzLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3kkLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICApLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJvcGFnYXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaWJlT25SYWRpb3NCbHVyKCkge1xuICAgICAgICBjb25zdCBoYXNOb1JhZGlvcyA9ICF0aGlzLnJhZGlvcyB8fCAhdGhpcy5yYWRpb3MubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHwgaGFzTm9SYWRpb3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBmcm9tRXZlbnQ8RXZlbnQ+KGhvc3RFbGVtZW50LCAnZm9jdXNpbicpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gaG9zdEVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBtZXJnZShcbiAgICAgICAgICAgICAgICBmcm9tRXZlbnQ8RXZlbnQ+KHRoaXMuZG9jdW1lbnQsICdmb2N1c2luJyksXG4gICAgICAgICAgICAgICAgZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmRvY3VtZW50LCAnY2xpY2snKSxcbiAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+ICFob3N0RWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpLFxuICAgICAgICAgICAgdGFrZVVudGlsKFxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhZGlvcy5jaGFuZ2VzLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3kkLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uVG91Y2hlZCgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlQW5kTWFya0ZvckNoZWNrUmFkaW9zKHVwZGF0ZUZuOiAoUmFkaW9CdXR0b25Db21wb25lbnQpID0+IHZvaWQpIHtcbiAgICAgICAgaWYgKHRoaXMucmFkaW9zKSB7XG4gICAgICAgICAgICB0aGlzLnJhZGlvcy5mb3JFYWNoKChyYWRpbykgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZUZuKHJhZGlvKTtcbiAgICAgICAgICAgICAgICByYWRpby5fbWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVWYWx1ZUZyb21DaGVja2VkT3B0aW9uKCkge1xuICAgICAgICBjb25zdCBjaGVja2VkUmFkaW8gPSB0aGlzLnJhZGlvcy5maW5kKChyYWRpbykgPT4gcmFkaW8ubW9kZWxWYWx1ZSk7XG4gICAgICAgIGNvbnN0IGlzVmFsdWVNaXNzaW5nID0gdGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWUgPT09IG51bGw7XG4gICAgICAgIGlmIChjaGVja2VkUmFkaW8gJiYgaXNWYWx1ZU1pc3NpbmcgJiYgY2hlY2tlZFJhZGlvLnZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gY2hlY2tlZFJhZGlvLnZhbHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,16 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DrLayoutBodyComponent {
4
- constructor() {
5
- }
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrLayoutBodyComponent, selector: "dr-layout-body", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutBodyComponent, decorators: [{
10
- type: Component,
11
- args: [{
12
- selector: 'dr-layout-body',
13
- template: '<ng-content></ng-content>',
14
- }]
15
- }], ctorParameters: function () { return []; } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0LWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbGF5b3V0L2RyLWxheW91dC1ib2R5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0xQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCO0lBQ0EsQ0FBQzt1R0FGUSxxQkFBcUI7MkZBQXJCLHFCQUFxQixzREFGcEIsMkJBQTJCOzsyRkFFNUIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItbGF5b3V0LWJvZHknLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIERyTGF5b3V0Qm9keUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxufVxuIl19
@@ -1,24 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DrLayoutHeaderComponent {
4
- constructor() {
5
- }
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrLayoutHeaderComponent, selector: "dr-layout-header", ngImport: i0, template: `
8
- <nav>
9
- <ng-content></ng-content>
10
- </nav>
11
- `, isInline: true });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutHeaderComponent, decorators: [{
14
- type: Component,
15
- args: [{
16
- selector: 'dr-layout-header',
17
- template: `
18
- <nav>
19
- <ng-content></ng-content>
20
- </nav>
21
- `,
22
- }]
23
- }], ctorParameters: function () { return []; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVMUMsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQztJQUNBLENBQUM7dUdBRlEsdUJBQXVCOzJGQUF2Qix1QkFBdUIsd0RBTnRCOzs7O0tBSVQ7OzJGQUVRLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7S0FJVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWxheW91dC1oZWFkZXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuYXY+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmF2PlxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIERyTGF5b3V0SGVhZGVyQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG59XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DrLayoutComponent {
4
- constructor() {
5
- }
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrLayoutComponent, selector: "dr-layout", ngImport: i0, template: "<div class=\"dr-layout\">\n <ng-content select=\"dr-layout-header\"></ng-content>\n <div class=\"dr-layout__container\">\n <div class=\"content\">\n <div class=\"columns\">\n <ng-content select=\"dr-layout-body\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{font-size:16px;font-weight:400;font-family:Poppins,sans-serif;line-height:1.25rem;-webkit-font-smoothing:antialiased}:host .dr-layout{display:flex;flex-direction:column;min-height:100vh;font-size:16px;font-weight:400;line-height:1.4rem}:host .dr-layout ::ng-deep dr-layout-header{display:block;position:fixed;top:0;left:0;right:0;z-index:1040}:host .dr-layout ::ng-deep dr-layout-header nav{align-items:center;justify-content:flex-start;display:flex}:host .dr-layout__container{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:row}:host .dr-layout__container .content{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:column;min-width:0}:host .dr-layout__container .content .columns{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:row;width:100%}:host .dr-layout__container .content .columns ::ng-deep dr-layout-body{flex:1 0;min-width:0}\n"] });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutComponent, decorators: [{
10
- type: Component,
11
- args: [{ selector: 'dr-layout', template: "<div class=\"dr-layout\">\n <ng-content select=\"dr-layout-header\"></ng-content>\n <div class=\"dr-layout__container\">\n <div class=\"content\">\n <div class=\"columns\">\n <ng-content select=\"dr-layout-body\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{font-size:16px;font-weight:400;font-family:Poppins,sans-serif;line-height:1.25rem;-webkit-font-smoothing:antialiased}:host .dr-layout{display:flex;flex-direction:column;min-height:100vh;font-size:16px;font-weight:400;line-height:1.4rem}:host .dr-layout ::ng-deep dr-layout-header{display:block;position:fixed;top:0;left:0;right:0;z-index:1040}:host .dr-layout ::ng-deep dr-layout-header nav{align-items:center;justify-content:flex-start;display:flex}:host .dr-layout__container{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:row}:host .dr-layout__container .content{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:column;min-width:0}:host .dr-layout__container .content .columns{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:row;width:100%}:host .dr-layout__container .content .columns ::ng-deep dr-layout-body{flex:1 0;min-width:0}\n"] }]
12
- }], ctorParameters: function () { return []; } });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWxheW91dC9kci1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbGF5b3V0L2RyLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCO0lBQ0EsQ0FBQzt1R0FGUSxpQkFBaUI7MkZBQWpCLGlCQUFpQixpRENQOUIscVVBVUE7OzJGREhhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItbGF5b3V0JyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRHJMYXlvdXRDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkci1sYXlvdXRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1sYXlvdXQtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJkci1sYXlvdXRfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1sYXlvdXQtYm9keVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,29 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { DrLayoutComponent } from './dr-layout.component';
3
- import { CommonModule } from '@angular/common';
4
- import { DrLayoutHeaderComponent } from './dr-layout-header.component';
5
- import { DrLayoutBodyComponent } from './dr-layout-body.component';
6
- import * as i0 from "@angular/core";
7
- const components = [
8
- DrLayoutComponent,
9
- DrLayoutHeaderComponent,
10
- DrLayoutBodyComponent
11
- ];
12
- export class DrLayoutModule {
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutModule, declarations: [DrLayoutComponent,
15
- DrLayoutHeaderComponent,
16
- DrLayoutBodyComponent], imports: [CommonModule], exports: [DrLayoutComponent,
17
- DrLayoutHeaderComponent,
18
- DrLayoutBodyComponent] });
19
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutModule, imports: [CommonModule] });
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutModule, decorators: [{
22
- type: NgModule,
23
- args: [{
24
- imports: [CommonModule],
25
- exports: [...components],
26
- declarations: [...components],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWxheW91dC9kci1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxNQUFNLFVBQVUsR0FBRztJQUNmLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIscUJBQXFCO0NBQ3hCLENBQUM7QUFRRixNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBWHZCLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIscUJBQXFCLGFBSVgsWUFBWSxhQU50QixpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHFCQUFxQjt3R0FTWixjQUFjLFlBTGIsWUFBWTs7MkZBS2IsY0FBYztrQkFOMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2RyLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERyTGF5b3V0SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kci1sYXlvdXQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckxheW91dEJvZHlDb21wb25lbnQgfSBmcm9tICcuL2RyLWxheW91dC1ib2R5LmNvbXBvbmVudCc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgRHJMYXlvdXRDb21wb25lbnQsXG4gICAgRHJMYXlvdXRIZWFkZXJDb21wb25lbnQsXG4gICAgRHJMYXlvdXRCb2R5Q29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBEckxheW91dE1vZHVsZSB7XG59XG4iXX0=
@@ -1,23 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- export class DrPopoverRef {
3
- overlayRef;
4
- componentRef;
5
- onClose$ = new Subject();
6
- // FIXME: this decision was made because of the incompatible rxjs version
7
- /**
8
- * Correct type is @type {Observable<any>}
9
- */
10
- onClose = this.onClose$.asObservable();
11
- onBackdropClick;
12
- constructor(overlayRef) {
13
- this.overlayRef = overlayRef;
14
- this.onBackdropClick = this.overlayRef.backdropClick();
15
- }
16
- close(res) {
17
- this.overlayRef.detach();
18
- this.overlayRef.dispose();
19
- this.onClose$.next(res);
20
- this.onClose$.complete();
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXItcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0MsTUFBTSxPQUFPLFlBQVk7SUFhRDtJQVhwQixZQUFZLENBQXNDO0lBRXhDLFFBQVEsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNqRCx5RUFBeUU7SUFDekU7O09BRUc7SUFDTSxPQUFPLEdBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU1QyxlQUFlLENBQXlCO0lBRWpELFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxLQUFLLENBQUMsR0FBUztRQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZHItcG9wb3Zlci5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRHJQb3BvdmVyUmVmPFQgPSBhbnk+IHtcblxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPERyUG9wb3ZlckNvbXBvbmVudDxUPj47XG5cbiAgICBwcm90ZWN0ZWQgb25DbG9zZSQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgLy8gRklYTUU6IHRoaXMgZGVjaXNpb24gd2FzIG1hZGUgYmVjYXVzZSBvZiB0aGUgaW5jb21wYXRpYmxlIHJ4anMgdmVyc2lvblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdHlwZSBpcyBAdHlwZSB7T2JzZXJ2YWJsZTxhbnk+fVxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9uQ2xvc2U6IGFueSA9IHRoaXMub25DbG9zZSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICByZWFkb25seSBvbkJhY2tkcm9wQ2xpY2s6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYpIHtcbiAgICAgICAgdGhpcy5vbkJhY2tkcm9wQ2xpY2sgPSB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpO1xuICAgIH1cblxuICAgIGNsb3NlKHJlcz86IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMub25DbG9zZSQubmV4dChyZXMpO1xuICAgICAgICB0aGlzLm9uQ2xvc2UkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
@@ -1,141 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
2
- import { trigger } from '@angular/animations';
3
- import { POPUP_ANIMATION } from '../models/constants';
4
- import { getAlignmentDimension } from '../models/popover';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./dr-popover-ref";
7
- import * as i2 from "@angular/common";
8
- export class DrPopoverComponent {
9
- cdr;
10
- viewContainerRef;
11
- elementRef;
12
- popoverRef;
13
- popoverOpened = new EventEmitter();
14
- _contentAsType;
15
- _contentAsTemplate;
16
- set content(value) {
17
- this.isContentTemplate = value instanceof TemplateRef;
18
- if (this.isContentTemplate) {
19
- this._contentAsTemplate = value;
20
- }
21
- else {
22
- this._contentAsType = value;
23
- }
24
- }
25
- ;
26
- contentContext;
27
- class = '';
28
- hostRef;
29
- manualClosing;
30
- alignment;
31
- position;
32
- freezeToContainerSelector;
33
- popoverContainer;
34
- isContentTemplate = false;
35
- componentRef;
36
- width;
37
- height;
38
- popover = true;
39
- clickOutside(e) {
40
- const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || this.hostRef.nativeElement.contains(e.target));
41
- const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);
42
- const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');
43
- const isTargetInSelect = e.target.closest('ng-dropdown-panel');
44
- const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');
45
- if (!isTargetHost
46
- && !isTargetInPopover
47
- && !isTargetInDatepicker
48
- && !isTargetInSelect
49
- && !isTargetInDatepickerContent
50
- && !this.manualClosing.enabled) {
51
- this.popoverRef.close();
52
- }
53
- }
54
- constructor(cdr, viewContainerRef, elementRef, popoverRef) {
55
- this.cdr = cdr;
56
- this.viewContainerRef = viewContainerRef;
57
- this.elementRef = elementRef;
58
- this.popoverRef = popoverRef;
59
- }
60
- ngOnInit() {
61
- if (!this.isContentTemplate) {
62
- this.componentRef = this.viewContainerRef.createComponent(this._contentAsType);
63
- Object.assign(this.componentRef.instance, this.contentContext);
64
- this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);
65
- }
66
- if (this.alignment === 'host') {
67
- this[getAlignmentDimension(this.position)] = '100%';
68
- }
69
- this.popoverOpened.emit();
70
- this.repositionToNewContainerAndFreeze();
71
- this.cdr.detectChanges();
72
- }
73
- /**
74
- * Removing popover element from cdk-overlay and attach to provided container after element is positioned
75
- * is required for specific case of preserving popover at same position on document while scroll (not fixed)
76
- *
77
- * TODO: implement more neat, transparent and Angular way solution: i.e. create another service (or extend existiong one)
78
- * without attaching component to cdk Overlay and instead positioning it to element passed in directive input parameter
79
- */
80
- repositionToNewContainerAndFreeze() {
81
- const newContainer = !!this.freezeToContainerSelector && document.querySelector(this.freezeToContainerSelector);
82
- if (newContainer) {
83
- // waiting until element is positioned on overlay
84
- setTimeout(() => {
85
- const element = this.elementRef.nativeElement;
86
- if (!element.closest('.cdk-overlay-container'))
87
- return;
88
- const position = element.getBoundingClientRect();
89
- const newContainerPosition = newContainer.getBoundingClientRect();
90
- element.style.position = 'absolute';
91
- element.style.top = `${newContainer.scrollTop + position.top - newContainerPosition.top}px`;
92
- element.style.left = `${newContainerPosition.left + position.left}px`;
93
- newContainer.appendChild(element);
94
- });
95
- }
96
- }
97
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrPopoverComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i1.DrPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
98
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrPopoverComponent, selector: "dr-popover", inputs: { content: "content", contentContext: "contentContext", class: "class", hostRef: "hostRef", manualClosing: "manualClosing", alignment: "alignment", position: "position", freezeToContainerSelector: "freezeToContainerSelector" }, outputs: { popoverOpened: "popoverOpened" }, host: { listeners: { "document:mouseup": "clickOutside($event)" }, properties: { "style.width": "this.width", "style.height": "this.height", "@popover": "this.popover" } }, viewQueries: [{ propertyName: "popoverContainer", first: true, predicate: ["popoverContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"dr-popover\" [class]=\"class\" #popoverContainer>\n <ng-container *ngIf=\"isContentTemplate\">\n <ng-container *ngTemplateOutlet=\"_contentAsTemplate; context: contentContext\"></ng-container>\n </ng-container>\n</div>\n", styles: [".dr-popover{display:flex;background:#fff;border:1px solid #e5e5e5;border-radius:5px;box-sizing:border-box;box-shadow:0 4px 14px #0003;font-size:12px;color:#545a6b;max-height:100vh;max-width:100vw;overflow:auto}::ng-deep .dr-popover-transparent-backdrop{background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
99
- trigger('popover', POPUP_ANIMATION),
100
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
101
- }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrPopoverComponent, decorators: [{
103
- type: Component,
104
- args: [{ selector: 'dr-popover', animations: [
105
- trigger('popover', POPUP_ANIMATION),
106
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dr-popover\" [class]=\"class\" #popoverContainer>\n <ng-container *ngIf=\"isContentTemplate\">\n <ng-container *ngTemplateOutlet=\"_contentAsTemplate; context: contentContext\"></ng-container>\n </ng-container>\n</div>\n", styles: [".dr-popover{display:flex;background:#fff;border:1px solid #e5e5e5;border-radius:5px;box-sizing:border-box;box-shadow:0 4px 14px #0003;font-size:12px;color:#545a6b;max-height:100vh;max-width:100vw;overflow:auto}::ng-deep .dr-popover-transparent-backdrop{background-color:transparent}\n"] }]
107
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i1.DrPopoverRef }]; }, propDecorators: { popoverOpened: [{
108
- type: Output
109
- }], content: [{
110
- type: Input
111
- }], contentContext: [{
112
- type: Input
113
- }], class: [{
114
- type: Input
115
- }], hostRef: [{
116
- type: Input
117
- }], manualClosing: [{
118
- type: Input
119
- }], alignment: [{
120
- type: Input
121
- }], position: [{
122
- type: Input
123
- }], freezeToContainerSelector: [{
124
- type: Input
125
- }], popoverContainer: [{
126
- type: ViewChild,
127
- args: ['popoverContainer', { read: ElementRef, static: true }]
128
- }], width: [{
129
- type: HostBinding,
130
- args: ['style.width']
131
- }], height: [{
132
- type: HostBinding,
133
- args: ['style.height']
134
- }], popover: [{
135
- type: HostBinding,
136
- args: ['@popover']
137
- }], clickOutside: [{
138
- type: HostListener,
139
- args: ['document:mouseup', ['$event']]
140
- }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFFWCxTQUFTLEdBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQXNCLHFCQUFxQixFQUFnQyxNQUFNLG1CQUFtQixDQUFDOzs7O0FBVzVHLE1BQU0sT0FBTyxrQkFBa0I7SUFtRGY7SUFDQTtJQUNBO0lBQ0E7SUFwREYsYUFBYSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXZFLGNBQWMsQ0FBVTtJQUN4QixrQkFBa0IsQ0FBbUI7SUFDckMsSUFBYSxPQUFPLENBQUMsS0FBaUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssWUFBWSxXQUFXLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFJLEtBQTBCLENBQUM7U0FDekQ7YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLEdBQUksS0FBaUIsQ0FBQztTQUM1QztJQUNMLENBQUM7SUFBQSxDQUFDO0lBQ08sY0FBYyxDQUFNO0lBQ3BCLEtBQUss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Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFFNkQsZ0JBQWdCO3NCQUFsRixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlyQyxLQUFLO3NCQUFoQyxXQUFXO3VCQUFDLGFBQWE7Z0JBQ0csTUFBTTtzQkFBbEMsV0FBVzt1QkFBQyxjQUFjO2dCQUVLLE9BQU87c0JBQXRDLFdBQVc7dUJBQUMsVUFBVTtnQkFHdkIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgUE9QVVBfQU5JTUFUSU9OIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuL2RyLXBvcG92ZXItcmVmJztcbmltcG9ydCB7IERyUG9wb3ZlckFsaWdubWVudCwgZ2V0QWxpZ25tZW50RGltZW5zaW9uLCBJUG9wb3Zlck1hbnVhbENsb3NpbmcsIFBvaW50IH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXBvcG92ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdwb3BvdmVyJywgUE9QVVBfQU5JTUFUSU9OKSxcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQE91dHB1dCgpIHBvcG92ZXJPcGVuZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIF9jb250ZW50QXNUeXBlOiBUeXBlPFQ+O1xuICAgIF9jb250ZW50QXNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBzZXQgY29udGVudCh2YWx1ZTogVGVtcGxhdGVSZWY8YW55PiB8IFR5cGU8VD4pIHtcbiAgICAgICAgdGhpcy5pc0NvbnRlbnRUZW1wbGF0ZSA9IHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG4gICAgICAgIGlmICh0aGlzLmlzQ29udGVudFRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9jb250ZW50QXNUZW1wbGF0ZSA9ICh2YWx1ZSBhcyBUZW1wbGF0ZVJlZjxhbnk+KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRBc1R5cGUgPSAodmFsdWUgYXMgVHlwZTxUPik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEBJbnB1dCgpIGNvbnRlbnRDb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgY2xhc3MgPSAnJztcbiAgICBASW5wdXQoKSBob3N0UmVmOiBFbGVtZW50UmVmPHVua25vd24+IHwgSFRNTEVsZW1lbnQgfCBQb2ludDtcbiAgICBASW5wdXQoKSBtYW51YWxDbG9zaW5nOiBJUG9wb3Zlck1hbnVhbENsb3Npbmc7XG4gICAgQElucHV0KCkgYWxpZ25tZW50OiBEclBvcG92ZXJBbGlnbm1lbnQ7XG4gICAgQElucHV0KCkgcG9zaXRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBmcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCdwb3BvdmVyQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgcG9wb3ZlckNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgaXNDb250ZW50VGVtcGxhdGUgPSBmYWxzZTtcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSB3aWR0aDogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgaGVpZ2h0OiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ0Bwb3BvdmVyJykgcHVibGljIHBvcG92ZXIgPSB0cnVlO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXG4gICAgY2xpY2tPdXRzaWRlKGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNUYXJnZXRIb3N0ID0gdGhpcy5ob3N0UmVmIGluc3RhbmNlb2YgRWxlbWVudFJlZiAmJiAodGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQgPT09IGUudGFyZ2V0IHx8ICh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZS50YXJnZXQpKTtcbiAgICAgICAgY29uc3QgaXNUYXJnZXRJblBvcG92ZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SW5EYXRlcGlja2VyID0gZS50YXJnZXQuY2xvc2VzdCgnbWF0LWRhdGVwaWNrZXItcG9wdXAnKTtcbiAgICAgICAgY29uc3QgaXNUYXJnZXRJblNlbGVjdCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ25nLWRyb3Bkb3duLXBhbmVsJyk7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SW5EYXRlcGlja2VyQ29udGVudCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ21hdC1kYXRlcGlja2VyLWNvbnRlbnQnKTtcblxuICAgICAgICBpZiAoIWlzVGFyZ2V0SG9zdFxuICAgICAgICAgICAgJiYgIWlzVGFyZ2V0SW5Qb3BvdmVyXG4gICAgICAgICAgICAmJiAhaXNUYXJnZXRJbkRhdGVwaWNrZXJcbiAgICAgICAgICAgICYmICFpc1RhcmdldEluU2VsZWN0XG4gICAgICAgICAgICAmJiAhaXNUYXJnZXRJbkRhdGVwaWNrZXJDb250ZW50XG4gICAgICAgICAgICAmJiAhdGhpcy5tYW51YWxDbG9zaW5nLmVuYWJsZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPixcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ29udGVudFRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodGhpcy5fY29udGVudEFzVHlwZSk7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLCB0aGlzLmNvbnRlbnRDb250ZXh0KTtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFsaWdubWVudCA9PT0gJ2hvc3QnKSB7XG4gICAgICAgICAgICB0aGlzW2dldEFsaWdubWVudERpbWVuc2lvbih0aGlzLnBvc2l0aW9uKV0gPSAnMTAwJSc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQuZW1pdCgpO1xuICAgICAgICB0aGlzLnJlcG9zaXRpb25Ub05ld0NvbnRhaW5lckFuZEZyZWV6ZSgpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZpbmcgcG9wb3ZlciBlbGVtZW50IGZyb20gY2RrLW92ZXJsYXkgYW5kIGF0dGFjaCB0byBwcm92aWRlZCBjb250YWluZXIgYWZ0ZXIgZWxlbWVudCBpcyBwb3NpdGlvbmVkXG4gICAgICogaXMgcmVxdWlyZWQgZm9yIHNwZWNpZmljIGNhc2Ugb2YgcHJlc2VydmluZyBwb3BvdmVyIGF0IHNhbWUgcG9zaXRpb24gb24gZG9jdW1lbnQgd2hpbGUgc2Nyb2xsIChub3QgZml4ZWQpXG4gICAgICpcbiAgICAgKiBUT0RPOiBpbXBsZW1lbnQgbW9yZSBuZWF0LCB0cmFuc3BhcmVudCBhbmQgQW5ndWxhciB3YXkgc29sdXRpb246IGkuZS4gY3JlYXRlIGFub3RoZXIgc2VydmljZSAob3IgZXh0ZW5kIGV4aXN0aW9uZyBvbmUpXG4gICAgICogd2l0aG91dCBhdHRhY2hpbmcgY29tcG9uZW50IHRvIGNkayBPdmVybGF5IGFuZCBpbnN0ZWFkIHBvc2l0aW9uaW5nIGl0IHRvIGVsZW1lbnQgcGFzc2VkIGluIGRpcmVjdGl2ZSBpbnB1dCBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlcG9zaXRpb25Ub05ld0NvbnRhaW5lckFuZEZyZWV6ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3Q29udGFpbmVyID0gISF0aGlzLmZyZWV6ZVRvQ29udGFpbmVyU2VsZWN0b3IgJiYgZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLmZyZWV6ZVRvQ29udGFpbmVyU2VsZWN0b3IpO1xuICAgICAgICBpZiAobmV3Q29udGFpbmVyKSB7XG5cbiAgICAgICAgICAgIC8vIHdhaXRpbmcgdW50aWwgZWxlbWVudCBpcyBwb3NpdGlvbmVkIG9uIG92ZXJsYXlcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQuY2xvc2VzdCgnLmNkay1vdmVybGF5LWNvbnRhaW5lcicpKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q29udGFpbmVyUG9zaXRpb24gPSBuZXdDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLnRvcCA9IGAkeyBuZXdDb250YWluZXIuc2Nyb2xsVG9wICsgcG9zaXRpb24udG9wIC0gbmV3Q29udGFpbmVyUG9zaXRpb24udG9wIH1weGA7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7IG5ld0NvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBwb3NpdGlvbi5sZWZ0IH1weGA7XG5cbiAgICAgICAgICAgICAgICBuZXdDb250YWluZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRyLXBvcG92ZXJcIiBbY2xhc3NdPVwiY2xhc3NcIiAjcG9wb3ZlckNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb250ZW50VGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIl9jb250ZW50QXNUZW1wbGF0ZTsgY29udGV4dDogY29udGVudENvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19