@datarailsshared/datarailsshared 1.4.564 → 1.5.1

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 (493) hide show
  1. package/assets/styles/_storybook-styles.scss +37 -0
  2. package/assets/styles/_styles.scss +9 -2
  3. package/assets/styles/colors.scss +88 -74
  4. package/assets/styles/dataRailsFont.scss +1 -1
  5. package/assets/styles/dialog.scss +22 -0
  6. package/assets/styles/icons.scss +1 -1
  7. package/assets/styles/mixins.scss +106 -6
  8. package/assets/styles/vars.scss +6 -4
  9. package/datarailsshared-datarailsshared-1.5.1.tgz +0 -0
  10. package/esm2022/datarailsshared-datarailsshared.mjs +5 -0
  11. package/esm2022/lib/date-tags/any-tag.component.mjs +42 -0
  12. package/esm2022/lib/date-tags/date-tag.component.mjs +126 -0
  13. package/esm2022/lib/date-tags/date-tag.module.mjs +53 -0
  14. package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +95 -0
  15. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +222 -0
  16. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.service.mjs +87 -0
  17. package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +98 -0
  18. package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +126 -0
  19. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +102 -0
  20. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +96 -0
  21. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +92 -0
  22. package/esm2022/lib/directives/click-outside/click-outside.module.mjs +19 -0
  23. package/esm2022/lib/directives/dr-shine-animation/dr-shine-animation.directive.mjs +63 -0
  24. package/esm2022/lib/directives/let/let.directive.mjs +35 -0
  25. package/esm2022/lib/directives/ng-track-by-property/ng-track-by-property.directive.mjs +23 -0
  26. package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +61 -0
  27. package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +154 -0
  28. package/esm2022/lib/dr-accordion/accordion-item.component.mjs +143 -0
  29. package/esm2022/lib/dr-accordion/accordion.component.mjs +55 -0
  30. package/esm2022/lib/dr-accordion/accordion.module.mjs +35 -0
  31. package/esm2022/lib/dr-alert/dr-alert.component.mjs +64 -0
  32. package/esm2022/lib/dr-alert/dr-alert.module.mjs +20 -0
  33. package/{esm2015/lib/dr-alert/enums/dr-alert-theme.enum.js → esm2022/lib/dr-alert/enums/dr-alert-theme.enum.mjs} +1 -2
  34. package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +142 -0
  35. package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +21 -0
  36. package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +20 -0
  37. package/esm2022/lib/dr-avatar/services/dr-avatar.service.mjs +17 -0
  38. package/esm2022/lib/dr-avatar/types.mjs +2 -0
  39. package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +53 -0
  40. package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +21 -0
  41. package/esm2022/lib/dr-chat/chat.component.mjs +202 -0
  42. package/esm2022/lib/dr-chat/chat.module.mjs +81 -0
  43. package/esm2022/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.mjs +31 -0
  44. package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +273 -0
  45. package/esm2022/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.mjs +380 -0
  46. package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +185 -0
  47. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +47 -0
  48. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +26 -0
  49. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +78 -0
  50. package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +30 -0
  51. package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +187 -0
  52. package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +14 -0
  53. package/esm2022/lib/dr-chip/dr-chip.component.mjs +58 -0
  54. package/esm2022/lib/dr-code-editor/components/code-editor-hint-wrapper.component.mjs +19 -0
  55. package/esm2022/lib/dr-code-editor/components/dr-codemirror.component.mjs +204 -0
  56. package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +326 -0
  57. package/esm2022/lib/dr-code-editor/dr-code-editor.module.mjs +29 -0
  58. package/esm2022/lib/dr-code-editor/models/code-editor-hint.mjs +6 -0
  59. package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +106 -0
  60. package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +20 -0
  61. package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +339 -0
  62. package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +238 -0
  63. package/esm2022/lib/dr-dialog/dialog.module.mjs +27 -0
  64. package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +27 -0
  65. package/esm2022/lib/dr-dialog/services/dialog.service.mjs +77 -0
  66. package/esm2022/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.mjs +29 -0
  67. package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +16 -0
  68. package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +248 -0
  69. package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +142 -0
  70. package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +41 -0
  71. package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +62 -0
  72. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +203 -0
  73. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +21 -0
  74. package/esm2022/lib/dr-error/dr-error.component.mjs +90 -0
  75. package/esm2022/lib/dr-error/dr-error.module.mjs +22 -0
  76. package/esm2022/lib/dr-inputs/button/button.component.mjs +101 -0
  77. package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +110 -0
  78. package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +55 -0
  79. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +400 -0
  80. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.mjs +157 -0
  81. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +269 -0
  82. package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +326 -0
  83. package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +16 -0
  84. package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +224 -0
  85. package/esm2022/lib/dr-inputs/date-pickers/services/week-selection-strategy.mjs +34 -0
  86. package/esm2022/lib/dr-inputs/date-pickers/week-selector/week-selector.component.mjs +91 -0
  87. package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +336 -0
  88. package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +128 -0
  89. package/esm2022/lib/dr-inputs/dr-link/dr-link.component.mjs +43 -0
  90. package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +37 -0
  91. package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +391 -0
  92. package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +138 -0
  93. package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +53 -0
  94. package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +108 -0
  95. package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +108 -0
  96. package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +88 -0
  97. package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +185 -0
  98. package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +19 -0
  99. package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +25 -0
  100. package/esm2022/lib/dr-layout/dr-layout.component.mjs +21 -0
  101. package/esm2022/lib/dr-layout/dr-layout.module.mjs +22 -0
  102. package/esm2022/lib/dr-popover/dr-popover-ref.mjs +23 -0
  103. package/esm2022/lib/dr-popover/dr-popover.component.mjs +155 -0
  104. package/esm2022/lib/dr-popover/dr-popover.directive.mjs +137 -0
  105. package/esm2022/lib/dr-popover/dr-popover.module.mjs +20 -0
  106. package/esm2022/lib/dr-popover/dr-popover.service.mjs +117 -0
  107. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +104 -0
  108. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +100 -0
  109. package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +87 -0
  110. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +27 -0
  111. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +195 -0
  112. package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +27 -0
  113. package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +66 -0
  114. package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +22 -0
  115. package/esm2022/lib/dr-tabs/dr-tab.component.mjs +47 -0
  116. package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +252 -0
  117. package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +25 -0
  118. package/esm2022/lib/dr-tags/dr-tag.component.mjs +235 -0
  119. package/esm2022/lib/dr-tags/dr-tag.module.mjs +23 -0
  120. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +161 -0
  121. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +24 -0
  122. package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +71 -0
  123. package/esm2022/lib/dr-toastr/default-toastr/default-toastr.component.mjs +73 -0
  124. package/esm2022/lib/dr-toastr/dr-toastr.module.mjs +31 -0
  125. package/esm2022/lib/dr-toastr/dr-toastr.service.mjs +44 -0
  126. package/esm2022/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.mjs +31 -0
  127. package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +82 -0
  128. package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +86 -0
  129. package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +194 -0
  130. package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +24 -0
  131. package/esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs +14 -0
  132. package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +407 -0
  133. package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +97 -0
  134. package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +31 -0
  135. package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +108 -0
  136. package/esm2022/lib/dr-treeview/helpers/treeview-helper.mjs +82 -0
  137. package/esm2022/lib/dr-treeview/models/treeview-config.mjs +25 -0
  138. package/{esm2015/lib/dr-treeview/models/treeview-header-template-context.js → esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs} +1 -1
  139. package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +47 -0
  140. package/{esm2015/lib/dr-treeview/models/treeview-item-template-context.js → esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs} +1 -1
  141. package/esm2022/lib/dr-treeview/models/treeview-item.mjs +155 -0
  142. package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +21 -0
  143. package/esm2022/lib/drawer/drawer-animation.mjs +18 -0
  144. package/esm2022/lib/drawer/drawer-config.mjs +35 -0
  145. package/esm2022/lib/drawer/drawer-container.component.mjs +179 -0
  146. package/esm2022/lib/drawer/drawer-position-strategy.mjs +14 -0
  147. package/esm2022/lib/drawer/drawer-ref.mjs +106 -0
  148. package/esm2022/lib/drawer/drawer.module.mjs +19 -0
  149. package/esm2022/lib/drawer/drawer.service.mjs +140 -0
  150. package/esm2022/lib/drawer/public-api.mjs +6 -0
  151. package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +78 -0
  152. package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +133 -0
  153. package/esm2022/lib/image-cropper/dr-image-cropper.types.mjs +6 -0
  154. package/esm2022/lib/list-tags/list-tag.component.mjs +82 -0
  155. package/esm2022/lib/list-tags/list-tag.module.mjs +22 -0
  156. package/esm2022/lib/models/chat.mjs +36 -0
  157. package/{esm2015/lib/models/constants.js → esm2022/lib/models/constants.mjs} +17 -22
  158. package/{esm2015/lib/models/datePicker.js → esm2022/lib/models/datePicker.mjs} +2 -2
  159. package/esm2022/lib/models/datePickerRange.mjs +2 -0
  160. package/esm2022/lib/models/dropdown.mjs +2 -0
  161. package/{esm2015/lib/models/feedback.js → esm2022/lib/models/feedback.mjs} +1 -2
  162. package/esm2022/lib/models/popover.mjs +27 -0
  163. package/{esm2015/lib/models/serverTags.js → esm2022/lib/models/serverTags.mjs} +1 -1
  164. package/esm2022/lib/models/spinnerOptions.mjs +2 -0
  165. package/esm2022/lib/models/toastr.mjs +14 -0
  166. package/esm2022/lib/pipes/filter/filter.pipe.mjs +48 -0
  167. package/esm2022/lib/pipes/img/img.pipe.mjs +19 -0
  168. package/esm2022/lib/stepper/stepper.component.mjs +270 -0
  169. package/esm2022/lib/stepper/stepper.module.mjs +20 -0
  170. package/esm2022/lib/utils/data-analytics.service.mjs +21 -0
  171. package/esm2022/lib/utils/decorators.mjs +12 -0
  172. package/esm2022/lib/utils/dr-shared-utils.mjs +85 -0
  173. package/esm2022/public-api.mjs +156 -0
  174. package/esm2022/src/lib/drawer/drDrawer.mjs +5 -0
  175. package/esm2022/src/lib/drawer/drawer-animation.mjs +18 -0
  176. package/esm2022/src/lib/drawer/drawer-config.mjs +35 -0
  177. package/esm2022/src/lib/drawer/drawer-container.component.mjs +179 -0
  178. package/esm2022/src/lib/drawer/drawer-position-strategy.mjs +14 -0
  179. package/esm2022/src/lib/drawer/drawer-ref.mjs +106 -0
  180. package/esm2022/src/lib/drawer/drawer.module.mjs +19 -0
  181. package/esm2022/src/lib/drawer/drawer.service.mjs +140 -0
  182. package/esm2022/src/lib/drawer/public-api.mjs +6 -0
  183. package/fesm2022/datarailsshared-datarailsshared.mjs +13716 -0
  184. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -0
  185. package/fesm2022/drDrawer.mjs +496 -0
  186. package/fesm2022/drDrawer.mjs.map +1 -0
  187. package/index.d.ts +5 -0
  188. package/lib/date-tags/any-tag.component.d.ts +20 -0
  189. package/lib/date-tags/date-tag.component.d.ts +4 -16
  190. package/lib/date-tags/date-tag.module.d.ts +19 -2
  191. package/lib/date-tags/day-tag/day-tag.component.d.ts +4 -1
  192. package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +4 -1
  193. package/lib/date-tags/forecast-tag/forecast-tag.service.d.ts +11 -8
  194. package/lib/date-tags/month-tag/month-tag.component.d.ts +4 -1
  195. package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +4 -1
  196. package/lib/date-tags/week-tag/week-tag.component.d.ts +4 -1
  197. package/lib/date-tags/year-tag/year-tag.component.d.ts +4 -1
  198. package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
  199. package/lib/directives/click-outside/click-outside.module.d.ts +8 -0
  200. package/lib/directives/dr-shine-animation/dr-shine-animation.directive.d.ts +18 -0
  201. package/lib/directives/let/let.directive.d.ts +19 -0
  202. package/lib/directives/ng-track-by-property/ng-track-by-property.directive.d.ts +8 -0
  203. package/lib/dr-accordion/accordion-item-body.component.d.ts +3 -0
  204. package/lib/dr-accordion/accordion-item-header.component.d.ts +14 -1
  205. package/lib/dr-accordion/accordion-item.component.d.ts +4 -1
  206. package/lib/dr-accordion/accordion.component.d.ts +5 -0
  207. package/lib/dr-accordion/accordion.module.d.ts +9 -0
  208. package/lib/dr-alert/dr-alert.component.d.ts +3 -0
  209. package/lib/dr-alert/dr-alert.module.d.ts +6 -0
  210. package/lib/dr-avatar/dr-avatar.component.d.ts +15 -13
  211. package/lib/dr-avatar/dr-avatar.module.d.ts +8 -0
  212. package/lib/dr-avatar/dr-avatar.pipe.d.ts +5 -1
  213. package/lib/dr-avatar/services/dr-avatar.service.d.ts +1 -1
  214. package/lib/dr-avatar/types.d.ts +8 -0
  215. package/lib/dr-badge-status/dr-badge-status.component.d.ts +5 -4
  216. package/lib/dr-badge-status/dr-badge-status.module.d.ts +7 -0
  217. package/lib/dr-chat/chat.component.d.ts +6 -7
  218. package/lib/dr-chat/chat.module.d.ts +20 -0
  219. package/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.d.ts +8 -0
  220. package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +11 -1
  221. package/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.d.ts +81 -0
  222. package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +4 -0
  223. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +3 -0
  224. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +3 -0
  225. package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +3 -0
  226. package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +3 -0
  227. package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +15 -2
  228. package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +3 -0
  229. package/lib/dr-chip/dr-chip.component.d.ts +10 -0
  230. package/lib/dr-code-editor/components/code-editor-hint-wrapper.component.d.ts +7 -0
  231. package/lib/dr-code-editor/components/dr-codemirror.component.d.ts +47 -0
  232. package/lib/dr-code-editor/dr-code-editor.component.d.ts +45 -0
  233. package/lib/dr-code-editor/dr-code-editor.module.d.ts +17 -0
  234. package/lib/dr-code-editor/models/code-editor-hint.d.ts +14 -0
  235. package/lib/dr-details-list/dr-details-list.component.d.ts +3 -0
  236. package/lib/dr-details-list/dr-details-list.module.d.ts +6 -0
  237. package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +6 -5
  238. package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +6 -5
  239. package/lib/dr-dialog/dialog.module.d.ts +12 -0
  240. package/lib/dr-dialog/interfaces/dialog-data.d.ts +13 -9
  241. package/lib/dr-dialog/services/dialog.service.d.ts +10 -3
  242. package/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.d.ts +8 -0
  243. package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +3 -0
  244. package/lib/dr-dropdown/dr-dropdown.component.d.ts +28 -21
  245. package/lib/dr-dropdown/dr-dropdown.directive.d.ts +21 -14
  246. package/lib/dr-dropdown/dr-dropdown.module.d.ts +11 -0
  247. package/lib/dr-dropdown/dr-dropdown.service.d.ts +26 -8
  248. package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +3 -0
  249. package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +8 -0
  250. package/lib/dr-error/dr-error.component.d.ts +12 -8
  251. package/lib/dr-error/dr-error.module.d.ts +8 -0
  252. package/lib/dr-inputs/button/button.component.d.ts +6 -8
  253. package/lib/dr-inputs/checkbox/checkbox.component.d.ts +10 -2
  254. package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +3 -0
  255. package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +29 -9
  256. package/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.d.ts +40 -0
  257. package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +18 -11
  258. package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +11 -10
  259. package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +4 -2
  260. package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +22 -5
  261. package/lib/dr-inputs/date-pickers/services/week-selection-strategy.d.ts +12 -0
  262. package/lib/dr-inputs/date-pickers/week-selector/week-selector.component.d.ts +23 -0
  263. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +35 -20
  264. package/lib/dr-inputs/dr-inputs.module.d.ts +30 -0
  265. package/lib/dr-inputs/dr-link/dr-link.component.d.ts +16 -0
  266. package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +4 -0
  267. package/lib/dr-inputs/dr-select/dr-select.component.d.ts +20 -3
  268. package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +4 -0
  269. package/lib/dr-inputs/dr-slider/dr-slider.component.d.ts +18 -0
  270. package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +3 -0
  271. package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +6 -1
  272. package/lib/dr-inputs/radio-button/radio-button.component.d.ts +3 -0
  273. package/lib/dr-inputs/radio-button/radio-group.component.d.ts +3 -0
  274. package/lib/dr-layout/dr-layout-body.component.d.ts +3 -0
  275. package/lib/dr-layout/dr-layout-header.component.d.ts +3 -0
  276. package/lib/dr-layout/dr-layout.component.d.ts +3 -0
  277. package/lib/dr-layout/dr-layout.module.d.ts +8 -0
  278. package/lib/dr-popover/dr-popover-ref.d.ts +1 -0
  279. package/lib/dr-popover/dr-popover.component.d.ts +8 -4
  280. package/lib/dr-popover/dr-popover.directive.d.ts +9 -5
  281. package/lib/dr-popover/dr-popover.module.d.ts +7 -0
  282. package/lib/dr-popover/dr-popover.service.d.ts +5 -1
  283. package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +3 -4
  284. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +3 -0
  285. package/lib/dr-scenario/dr-scenario.module.d.ts +11 -0
  286. package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
  287. package/lib/dr-scenario/services/scenario.service.d.ts +3 -0
  288. package/lib/dr-spinner/dr-spinner.component.d.ts +3 -0
  289. package/lib/dr-spinner/dr-spinner.directive.d.ts +4 -2
  290. package/lib/dr-spinner/dr-spinner.module.d.ts +7 -0
  291. package/lib/dr-tabs/dr-tab.component.d.ts +5 -0
  292. package/lib/dr-tabs/dr-tabs.component.d.ts +21 -4
  293. package/lib/dr-tabs/dr-tabs.module.d.ts +11 -0
  294. package/lib/dr-tags/dr-tag.component.d.ts +3 -0
  295. package/lib/dr-tags/dr-tag.module.d.ts +9 -0
  296. package/lib/dr-tags-constructor/dr-tags-constructor.component.d.ts +33 -0
  297. package/lib/dr-tags-constructor/dr-tags-constructor.module.d.ts +10 -0
  298. package/lib/dr-tags-constructor/tags-constructor.service.d.ts +12 -0
  299. package/lib/dr-toastr/default-toastr/default-toastr.component.d.ts +15 -0
  300. package/lib/dr-toastr/dr-toastr.module.d.ts +9 -0
  301. package/lib/dr-toastr/dr-toastr.service.d.ts +14 -0
  302. package/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.d.ts +9 -0
  303. package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +3 -1
  304. package/lib/dr-tooltip/dr-tooltip.component.d.ts +4 -1
  305. package/lib/dr-tooltip/dr-tooltip.directive.d.ts +7 -0
  306. package/lib/dr-tooltip/dr-tooltip.module.d.ts +9 -0
  307. package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +18 -2
  308. package/lib/dr-treeview/components/treeview/treeview.component.d.ts +3 -0
  309. package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +3 -0
  310. package/lib/dr-treeview/dr-tree-view.module.d.ts +9 -0
  311. package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +9 -0
  312. package/lib/dr-treeview/models/treeview-config.d.ts +3 -0
  313. package/lib/dr-treeview/models/treeview-i18n.d.ts +5 -0
  314. package/lib/dr-treeview/models/treeview-item.d.ts +2 -1
  315. package/lib/dr-treeview/pipes/treeview.pipe.d.ts +3 -0
  316. package/lib/drawer/drawer-animation.d.ts +5 -0
  317. package/lib/drawer/drawer-config.d.ts +68 -0
  318. package/lib/drawer/drawer-container.component.d.ts +45 -0
  319. package/lib/drawer/drawer-position-strategy.d.ts +10 -0
  320. package/lib/drawer/drawer-ref.d.ts +55 -0
  321. package/lib/drawer/drawer.module.d.ts +7 -0
  322. package/lib/drawer/drawer.service.d.ts +62 -0
  323. package/lib/drawer/public-api.d.ts +5 -0
  324. package/lib/image-cropper/dr-image-cropper-canvas.service.d.ts +20 -0
  325. package/lib/image-cropper/dr-image-cropper.component.d.ts +28 -0
  326. package/lib/image-cropper/dr-image-cropper.types.d.ts +9 -0
  327. package/lib/list-tags/list-tag.component.d.ts +3 -0
  328. package/lib/list-tags/list-tag.module.d.ts +8 -0
  329. package/lib/models/chat.d.ts +3 -3
  330. package/lib/models/datePicker.d.ts +10 -3
  331. package/lib/models/datePickerRange.d.ts +4 -0
  332. package/lib/models/dropdown.d.ts +15 -21
  333. package/lib/models/popover.d.ts +7 -4
  334. package/lib/models/serverTags.d.ts +4 -4
  335. package/lib/models/spinnerOptions.d.ts +2 -10
  336. package/lib/models/toastr.d.ts +18 -0
  337. package/lib/pipes/filter/filter.pipe.d.ts +7 -0
  338. package/lib/pipes/img/img.pipe.d.ts +7 -0
  339. package/lib/stepper/interfaces/stepper.d.ts +1 -1
  340. package/lib/stepper/stepper.component.d.ts +13 -8
  341. package/lib/stepper/stepper.module.d.ts +7 -0
  342. package/lib/utils/data-analytics.service.d.ts +8 -0
  343. package/lib/utils/decorators.d.ts +1 -0
  344. package/lib/utils/dr-shared-utils.d.ts +9 -0
  345. package/package.json +41 -15
  346. package/public-api.d.ts +59 -5
  347. package/src/lib/drawer/drawer-animation.d.ts +5 -0
  348. package/src/lib/drawer/drawer-config.d.ts +68 -0
  349. package/src/lib/drawer/drawer-container.component.d.ts +45 -0
  350. package/src/lib/drawer/drawer-position-strategy.d.ts +10 -0
  351. package/src/lib/drawer/drawer-ref.d.ts +55 -0
  352. package/src/lib/drawer/drawer.module.d.ts +7 -0
  353. package/src/lib/drawer/drawer.service.d.ts +62 -0
  354. package/src/lib/drawer/index.d.ts +5 -0
  355. package/src/lib/drawer/public-api.d.ts +5 -0
  356. package/styles.css +749 -0
  357. package/_datarailsshared.styles.css +0 -4
  358. package/assets/styles/img/dr-icon-info.svg +0 -4
  359. package/bundles/datarailsshared-datarailsshared.umd.js +0 -8372
  360. package/bundles/datarailsshared-datarailsshared.umd.js.map +0 -1
  361. package/datarailsshared-datarailsshared-1.4.564.tgz +0 -0
  362. package/datarailsshared-datarailsshared.d.ts +0 -34
  363. package/datarailsshared-datarailsshared.metadata.json +0 -1
  364. package/esm2015/datarailsshared-datarailsshared.js +0 -35
  365. package/esm2015/lib/date-tags/date-tag.component.js +0 -74
  366. package/esm2015/lib/date-tags/date-tag.module.js +0 -36
  367. package/esm2015/lib/date-tags/day-tag/day-tag.component.js +0 -77
  368. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +0 -164
  369. package/esm2015/lib/date-tags/forecast-tag/forecast-tag.service.js +0 -83
  370. package/esm2015/lib/date-tags/month-tag/month-tag.component.js +0 -80
  371. package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +0 -114
  372. package/esm2015/lib/date-tags/week-tag/week-tag.component.js +0 -84
  373. package/esm2015/lib/date-tags/year-tag/year-tag.component.js +0 -78
  374. package/esm2015/lib/dr-accordion/accordion-item-body.component.js +0 -55
  375. package/esm2015/lib/dr-accordion/accordion-item-header.component.js +0 -77
  376. package/esm2015/lib/dr-accordion/accordion-item.component.js +0 -123
  377. package/esm2015/lib/dr-accordion/accordion.component.js +0 -43
  378. package/esm2015/lib/dr-accordion/accordion.module.js +0 -23
  379. package/esm2015/lib/dr-alert/dr-alert.component.js +0 -35
  380. package/esm2015/lib/dr-alert/dr-alert.module.js +0 -18
  381. package/esm2015/lib/dr-avatar/dr-avatar.component.js +0 -54
  382. package/esm2015/lib/dr-avatar/dr-avatar.module.js +0 -26
  383. package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +0 -16
  384. package/esm2015/lib/dr-avatar/services/dr-avatar.service.js +0 -17
  385. package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +0 -25
  386. package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +0 -20
  387. package/esm2015/lib/dr-chat/chat.component.js +0 -119
  388. package/esm2015/lib/dr-chat/chat.module.js +0 -41
  389. package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -155
  390. package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -71
  391. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +0 -49
  392. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
  393. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -47
  394. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
  395. package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +0 -87
  396. package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +0 -15
  397. package/esm2015/lib/dr-details-list/dr-details-list.component.js +0 -65
  398. package/esm2015/lib/dr-details-list/dr-details-list.module.js +0 -16
  399. package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +0 -84
  400. package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +0 -92
  401. package/esm2015/lib/dr-dialog/dialog.module.js +0 -34
  402. package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +0 -25
  403. package/esm2015/lib/dr-dialog/services/dialog.service.js +0 -78
  404. package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +0 -12
  405. package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +0 -104
  406. package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +0 -114
  407. package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +0 -104
  408. package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +0 -34
  409. package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +0 -24
  410. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +0 -120
  411. package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +0 -19
  412. package/esm2015/lib/dr-error/dr-error.component.js +0 -56
  413. package/esm2015/lib/dr-error/dr-error.module.js +0 -22
  414. package/esm2015/lib/dr-inputs/button/button.component.js +0 -39
  415. package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +0 -66
  416. package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +0 -47
  417. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +0 -234
  418. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +0 -182
  419. package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +0 -183
  420. package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +0 -12
  421. package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +0 -194
  422. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +0 -194
  423. package/esm2015/lib/dr-inputs/dr-inputs.module.js +0 -68
  424. package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +0 -29
  425. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +0 -123
  426. package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +0 -74
  427. package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +0 -68
  428. package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +0 -67
  429. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +0 -73
  430. package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +0 -157
  431. package/esm2015/lib/dr-layout/dr-layout-body.component.js +0 -13
  432. package/esm2015/lib/dr-layout/dr-layout-header.component.js +0 -17
  433. package/esm2015/lib/dr-layout/dr-layout.component.js +0 -14
  434. package/esm2015/lib/dr-layout/dr-layout.module.js +0 -20
  435. package/esm2015/lib/dr-popover/dr-popover-ref.js +0 -20
  436. package/esm2015/lib/dr-popover/dr-popover.component.js +0 -106
  437. package/esm2015/lib/dr-popover/dr-popover.directive.js +0 -84
  438. package/esm2015/lib/dr-popover/dr-popover.module.js +0 -23
  439. package/esm2015/lib/dr-popover/dr-popover.service.js +0 -106
  440. package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +0 -104
  441. package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +0 -75
  442. package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +0 -79
  443. package/esm2015/lib/dr-scenario/dr-scenario.module.js +0 -28
  444. package/esm2015/lib/dr-scenario/services/scenario.service.js +0 -196
  445. package/esm2015/lib/dr-spinner/dr-spinner.component.js +0 -18
  446. package/esm2015/lib/dr-spinner/dr-spinner.directive.js +0 -58
  447. package/esm2015/lib/dr-spinner/dr-spinner.module.js +0 -18
  448. package/esm2015/lib/dr-tabs/dr-tab.component.js +0 -26
  449. package/esm2015/lib/dr-tabs/dr-tabs.component.js +0 -35
  450. package/esm2015/lib/dr-tabs/dr-tabs.module.js +0 -32
  451. package/esm2015/lib/dr-tags/dr-tag.component.js +0 -183
  452. package/esm2015/lib/dr-tags/dr-tag.module.js +0 -24
  453. package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +0 -19
  454. package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +0 -18
  455. package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +0 -20
  456. package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +0 -34
  457. package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +0 -41
  458. package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +0 -151
  459. package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +0 -38
  460. package/esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js +0 -2
  461. package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +0 -210
  462. package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +0 -58
  463. package/esm2015/lib/dr-treeview/dr-tree-view.module.js +0 -38
  464. package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +0 -97
  465. package/esm2015/lib/dr-treeview/helpers/treeview-helper.js +0 -82
  466. package/esm2015/lib/dr-treeview/models/treeview-config.js +0 -22
  467. package/esm2015/lib/dr-treeview/models/treeview-i18n.js +0 -42
  468. package/esm2015/lib/dr-treeview/models/treeview-item.js +0 -155
  469. package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +0 -17
  470. package/esm2015/lib/list-tags/list-tag.component.js +0 -37
  471. package/esm2015/lib/list-tags/list-tag.module.js +0 -23
  472. package/esm2015/lib/models/chat.js +0 -38
  473. package/esm2015/lib/models/dropdown.js +0 -2
  474. package/esm2015/lib/models/popover.js +0 -27
  475. package/esm2015/lib/models/spinnerOptions.js +0 -13
  476. package/esm2015/lib/stepper/stepper.component.js +0 -55
  477. package/esm2015/lib/stepper/stepper.module.js +0 -17
  478. package/esm2015/lib/utils/dr-shared-utils.js +0 -47
  479. package/esm2015/public-api.js +0 -100
  480. package/fesm2015/datarailsshared-datarailsshared.js +0 -7194
  481. package/fesm2015/datarailsshared-datarailsshared.js.map +0 -1
  482. package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -12
  483. package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +0 -5
  484. package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +0 -6
  485. package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +0 -4
  486. /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
  487. /package/{esm2015/lib/dr-scenario/interfaces/scenario.js → esm2022/lib/dr-scenario/interfaces/scenario.mjs} +0 -0
  488. /package/{esm2015/lib/dr-tags/dr-tag.types.js → esm2022/lib/dr-tags/dr-tag.types.mjs} +0 -0
  489. /package/{esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs} +0 -0
  490. /package/{esm2015/lib/dr-tooltip/enums/tooltip-theme.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-theme.enum.mjs} +0 -0
  491. /package/{esm2015/lib/models/badgeStatus.js → esm2022/lib/models/badgeStatus.mjs} +0 -0
  492. /package/{esm2015/lib/models/validationError.js → esm2022/lib/models/validationError.mjs} +0 -0
  493. /package/{esm2015/lib/stepper/interfaces/stepper.js → esm2022/lib/stepper/interfaces/stepper.mjs} +0 -0
@@ -0,0 +1,187 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import * as _ from 'lodash';
3
+ import { DrSharedUtils } from '../../utils/dr-shared-utils';
4
+ import { Subject } from 'rxjs';
5
+ import { takeUntil } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "../../dr-inputs/button/button.component";
9
+ const _c0 = ["suggestionsContainer"];
10
+ function DrChatSuggestionsComponent_ng_container_2_div_1_ng_container_3_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵelementContainer(0);
12
+ } }
13
+ function DrChatSuggestionsComponent_ng_container_2_div_1_Template(rf, ctx) { if (rf & 1) {
14
+ const _r7 = i0.ɵɵgetCurrentView();
15
+ i0.ɵɵelementStart(0, "div", 5)(1, "dr-button", 6);
16
+ i0.ɵɵlistener("click", function DrChatSuggestionsComponent_ng_container_2_div_1_Template_dr_button_click_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r6.toggleSuggestedMenu()); });
17
+ i0.ɵɵtext(2, " Suggested chats ");
18
+ i0.ɵɵelementEnd();
19
+ i0.ɵɵtemplate(3, DrChatSuggestionsComponent_ng_container_2_div_1_ng_container_3_Template, 1, 0, "ng-container", 7);
20
+ i0.ɵɵelementEnd();
21
+ } if (rf & 2) {
22
+ const ctx_r4 = i0.ɵɵnextContext(2);
23
+ const _r2 = i0.ɵɵreference(4);
24
+ i0.ɵɵclassProp("chat-suggestions__container--opened", ctx_r4.isSuggestedMenuOpen);
25
+ i0.ɵɵadvance(3);
26
+ i0.ɵɵproperty("ngTemplateOutlet", _r2);
27
+ } }
28
+ function DrChatSuggestionsComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵelementContainerStart(0);
30
+ i0.ɵɵtemplate(1, DrChatSuggestionsComponent_ng_container_2_div_1_Template, 4, 3, "div", 4);
31
+ i0.ɵɵelementContainerEnd();
32
+ } if (rf & 2) {
33
+ const ctx_r1 = i0.ɵɵnextContext();
34
+ i0.ɵɵadvance(1);
35
+ i0.ɵɵproperty("ngIf", ctx_r1.visibleValues.length);
36
+ } }
37
+ function DrChatSuggestionsComponent_ng_template_3_div_1_Template(rf, ctx) { if (rf & 1) {
38
+ const _r11 = i0.ɵɵgetCurrentView();
39
+ i0.ɵɵelementStart(0, "div", 10);
40
+ i0.ɵɵlistener("click", function DrChatSuggestionsComponent_ng_template_3_div_1_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r11); const item_r9 = restoredCtx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.onItemClick(item_r9)); });
41
+ i0.ɵɵtext(1);
42
+ i0.ɵɵelementEnd();
43
+ } if (rf & 2) {
44
+ const item_r9 = ctx.$implicit;
45
+ i0.ɵɵadvance(1);
46
+ i0.ɵɵtextInterpolate1(" ", item_r9, " ");
47
+ } }
48
+ const _c1 = function (a0, a1, a2) { return { "chat-suggestions__items--three-cols": a0, "chat-suggestions__items--two-cols": a1, "chat-suggestions__items--one-col": a2 }; };
49
+ function DrChatSuggestionsComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
50
+ i0.ɵɵelementStart(0, "div", 8);
51
+ i0.ɵɵtemplate(1, DrChatSuggestionsComponent_ng_template_3_div_1_Template, 2, 1, "div", 9);
52
+ i0.ɵɵelementEnd();
53
+ } if (rf & 2) {
54
+ const ctx_r3 = i0.ɵɵnextContext();
55
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(2, _c1, ctx_r3.colsCount === 3, ctx_r3.colsCount === 2, ctx_r3.colsCount === 1));
56
+ i0.ɵɵadvance(1);
57
+ i0.ɵɵproperty("ngForOf", ctx_r3.visibleValues);
58
+ } }
59
+ const _c2 = function (a0, a1, a2, a3) { return { "chat-suggestions--three-cols": a0, "chat-suggestions--two-cols": a1, "chat-suggestions--one-col": a2, "chat-suggestions--button-mode": a3 }; };
60
+ export class DrChatSuggestionsComponent {
61
+ get hiddenValues() {
62
+ return JSON.parse(localStorage.getItem('aiChatSuggestions')) || [];
63
+ }
64
+ set hiddenValues(values) {
65
+ localStorage.setItem('aiChatSuggestions', JSON.stringify(values));
66
+ }
67
+ constructor(cdr) {
68
+ this.cdr = cdr;
69
+ this._nonHiddenValues = [];
70
+ this.visibleValues = [];
71
+ this.isSuggestedMenuOpen = false;
72
+ this.colsCount = 1;
73
+ this.destroy$ = new Subject();
74
+ this.values = [];
75
+ this.fullScreen = false;
76
+ this.buttonMode = false;
77
+ /**
78
+ * Parameter to check is send message function available
79
+ *
80
+ * @type {boolean}
81
+ */
82
+ this.waitForReply = false;
83
+ this.suggestionSelect = new EventEmitter();
84
+ this.colWidth = 300;
85
+ this.colGap = 28;
86
+ }
87
+ ngOnInit() {
88
+ this.filterValues();
89
+ }
90
+ ngAfterViewInit() {
91
+ this.onResize$ = DrSharedUtils.fromResizeObserver(this.suggestionContainer?.nativeElement);
92
+ this.onResize$.pipe(takeUntil(this.destroy$)).subscribe(() => {
93
+ this.recalculateColsCount();
94
+ });
95
+ this.recalculateColsCount();
96
+ }
97
+ onItemClick(item) {
98
+ if (this.waitForReply) {
99
+ return;
100
+ }
101
+ this.isSuggestedMenuOpen = false;
102
+ this.suggestionSelect.emit(item);
103
+ this.hiddenValues = [...this.hiddenValues, item];
104
+ this.filterValues();
105
+ }
106
+ filterValues() {
107
+ const hiddenValues = this.hiddenValues;
108
+ this._nonHiddenValues = _.filter(this.values, (val) => !hiddenValues.includes(val));
109
+ this.fillVisibleValues();
110
+ }
111
+ fillVisibleValues() {
112
+ const maxItemsCount = this.fullScreen ? 6 : 3;
113
+ const nonHiddenValues = _.clone(this._nonHiddenValues);
114
+ this.visibleValues.length = 0;
115
+ for (let i = 0; i < maxItemsCount; i++) {
116
+ if (!nonHiddenValues.length) {
117
+ break;
118
+ }
119
+ const randomIndex = Math.floor(Math.random() * nonHiddenValues.length);
120
+ const item = nonHiddenValues.splice(randomIndex, 1)[0];
121
+ this.visibleValues.push(item);
122
+ }
123
+ this.cdr.markForCheck();
124
+ }
125
+ clearHidden() {
126
+ localStorage.setItem('aiChatSuggestions', null);
127
+ this.filterValues();
128
+ }
129
+ recalculateColsCount() {
130
+ if (this.suggestionContainer?.nativeElement?.offsetWidth >= this.colWidth * 3 + this.colGap * 2) {
131
+ this.colsCount = 3;
132
+ }
133
+ else if (this.suggestionContainer?.nativeElement?.offsetWidth > this.colWidth * 2 + this.colGap) {
134
+ this.colsCount = 2;
135
+ }
136
+ else {
137
+ this.colsCount = 1;
138
+ }
139
+ this.cdr.markForCheck();
140
+ }
141
+ toggleSuggestedMenu() {
142
+ this.isSuggestedMenuOpen = !this.isSuggestedMenuOpen;
143
+ if (this.isSuggestedMenuOpen) {
144
+ this.fillVisibleValues();
145
+ }
146
+ this.cdr.markForCheck();
147
+ }
148
+ ngOnDestroy() {
149
+ this.destroy$.next();
150
+ this.destroy$.complete();
151
+ }
152
+ /** @nocollapse */ static { this.ɵfac = function DrChatSuggestionsComponent_Factory(t) { return new (t || DrChatSuggestionsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
153
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChatSuggestionsComponent, selectors: [["dr-chat-suggestions"]], viewQuery: function DrChatSuggestionsComponent_Query(rf, ctx) { if (rf & 1) {
154
+ i0.ɵɵviewQuery(_c0, 5);
155
+ } if (rf & 2) {
156
+ let _t;
157
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.suggestionContainer = _t.first);
158
+ } }, inputs: { values: "values", fullScreen: "fullScreen", buttonMode: "buttonMode", waitForReply: "waitForReply" }, outputs: { suggestionSelect: "suggestionSelect" }, decls: 5, vars: 8, consts: [[1, "chat-suggestions", 3, "ngClass"], ["suggestionsContainer", ""], [4, "ngIf", "ngIfElse"], ["suggestionCards", ""], ["class", "chat-suggestions__container", 3, "chat-suggestions__container--opened", 4, "ngIf"], [1, "chat-suggestions__container"], ["theme", "secondary", 1, "chat-suggestions__container__button", 3, "click"], [4, "ngTemplateOutlet"], [1, "chat-suggestions__items", 3, "ngClass"], ["class", "chat-suggestions__items__item", 3, "click", 4, "ngFor", "ngForOf"], [1, "chat-suggestions__items__item", 3, "click"]], template: function DrChatSuggestionsComponent_Template(rf, ctx) { if (rf & 1) {
159
+ i0.ɵɵelementStart(0, "div", 0, 1);
160
+ i0.ɵɵtemplate(2, DrChatSuggestionsComponent_ng_container_2_Template, 2, 1, "ng-container", 2);
161
+ i0.ɵɵelementEnd();
162
+ i0.ɵɵtemplate(3, DrChatSuggestionsComponent_ng_template_3_Template, 2, 6, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
163
+ } if (rf & 2) {
164
+ const _r2 = i0.ɵɵreference(4);
165
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction4(3, _c2, ctx.colsCount === 3, ctx.colsCount === 2, ctx.colsCount === 1, ctx.buttonMode));
166
+ i0.ɵɵadvance(2);
167
+ i0.ɵɵproperty("ngIf", ctx.buttonMode)("ngIfElse", _r2);
168
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i2.DrButtonComponent], styles: ["[_nghost-%COMP%]{display:flex;align-items:flex-start;justify-content:center}[_nghost-%COMP%] .chat-suggestions[_ngcontent-%COMP%]{display:flex;width:100%;justify-content:center;max-width:956px}[_nghost-%COMP%] .chat-suggestions--button-mode[_ngcontent-%COMP%]{justify-content:flex-start}[_nghost-%COMP%] .chat-suggestions--button-mode[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{padding-top:32px}[_nghost-%COMP%] .chat-suggestions--one-col[_ngcontent-%COMP%]{padding-left:0;grid-template-columns:repeat(1,300px)}[_nghost-%COMP%] .chat-suggestions--one-col[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{grid-template-columns:repeat(1,300px)}[_nghost-%COMP%] .chat-suggestions--two-cols[_ngcontent-%COMP%]{padding-left:0;grid-template-columns:repeat(2,300px)}[_nghost-%COMP%] .chat-suggestions--two-cols[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{grid-template-columns:repeat(2,300px)}[_nghost-%COMP%] .chat-suggestions--three-cols[_ngcontent-%COMP%]{padding-left:0;grid-template-columns:repeat(3,300px)}[_nghost-%COMP%] .chat-suggestions--three-cols[_ngcontent-%COMP%] .chat-suggestions__container[_ngcontent-%COMP%]{padding-left:0}[_nghost-%COMP%] .chat-suggestions--three-cols[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{grid-template-columns:repeat(3,300px)}[_nghost-%COMP%] .chat-suggestions__container[_ngcontent-%COMP%]{display:flex;position:relative;width:auto;margin-top:12px;padding:0 16px}[_nghost-%COMP%] .chat-suggestions__container__button[_ngcontent-%COMP%]{z-index:3;background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box;border-radius:2em;border:1.5px solid transparent}[_nghost-%COMP%] .chat-suggestions__container__button[_ngcontent-%COMP%] button{background:#fff;border-radius:24px;color:#4646ce;border:none;cursor:pointer}[_nghost-%COMP%] .chat-suggestions__container[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:56px;z-index:2}[_nghost-%COMP%] .chat-suggestions__container--opened[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .chat-suggestions__container--opened[_ngcontent-%COMP%] .chat-suggestions__container__button[_ngcontent-%COMP%] button{color:#4646ce;background:#f2f2fb}[_nghost-%COMP%] .chat-suggestions__container--opened[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{display:grid;align-items:center;justify-content:center}[_nghost-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{padding:0 16px;display:grid;gap:28px;grid-auto-rows:minmax(86px,auto);background:#ffffffb3}[_nghost-%COMP%] .chat-suggestions__items__item[_ngcontent-%COMP%]{display:inline-flex;min-height:86px;width:300px;align-items:center;justify-content:center;text-align:center;padding:16px;border-radius:8px;background:#f2f2fb;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}[_nghost-%COMP%] .chat-suggestions__items__item[_ngcontent-%COMP%]:hover{cursor:pointer;background:#eaeaff}"], changeDetection: 0 }); }
169
+ }
170
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatSuggestionsComponent, [{
171
+ type: Component,
172
+ args: [{ selector: 'dr-chat-suggestions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"chat-suggestions\"\n #suggestionsContainer\n [ngClass]=\"{\n 'chat-suggestions--three-cols': colsCount === 3,\n 'chat-suggestions--two-cols': colsCount === 2,\n 'chat-suggestions--one-col': colsCount === 1,\n 'chat-suggestions--button-mode': buttonMode\n }\">\n <ng-container *ngIf=\"buttonMode; else suggestionCards\">\n <div\n class=\"chat-suggestions__container\"\n [class.chat-suggestions__container--opened]=\"isSuggestedMenuOpen\"\n *ngIf=\"visibleValues.length\">\n <dr-button theme=\"secondary\" class=\"chat-suggestions__container__button\" (click)=\"toggleSuggestedMenu()\">\n Suggested chats\n </dr-button>\n <ng-container *ngTemplateOutlet=\"suggestionCards\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #suggestionCards>\n <div\n class=\"chat-suggestions__items\"\n [ngClass]=\"{\n 'chat-suggestions__items--three-cols': colsCount === 3,\n 'chat-suggestions__items--two-cols': colsCount === 2,\n 'chat-suggestions__items--one-col': colsCount === 1\n }\">\n <div *ngFor=\"let item of visibleValues\" class=\"chat-suggestions__items__item\" (click)=\"onItemClick(item)\">\n {{ item }}\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:flex;align-items:flex-start;justify-content:center}:host .chat-suggestions{display:flex;width:100%;justify-content:center;max-width:956px}:host .chat-suggestions--button-mode{justify-content:flex-start}:host .chat-suggestions--button-mode .chat-suggestions__items{padding-top:32px}:host .chat-suggestions--one-col{padding-left:0;grid-template-columns:repeat(1,300px)}:host .chat-suggestions--one-col .chat-suggestions__items{grid-template-columns:repeat(1,300px)}:host .chat-suggestions--two-cols{padding-left:0;grid-template-columns:repeat(2,300px)}:host .chat-suggestions--two-cols .chat-suggestions__items{grid-template-columns:repeat(2,300px)}:host .chat-suggestions--three-cols{padding-left:0;grid-template-columns:repeat(3,300px)}:host .chat-suggestions--three-cols .chat-suggestions__container{padding-left:0}:host .chat-suggestions--three-cols .chat-suggestions__items{grid-template-columns:repeat(3,300px)}:host .chat-suggestions__container{display:flex;position:relative;width:auto;margin-top:12px;padding:0 16px}:host .chat-suggestions__container__button{z-index:3;background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box;border-radius:2em;border:1.5px solid transparent}:host .chat-suggestions__container__button::ng-deep button{background:#fff;border-radius:24px;color:#4646ce;border:none;cursor:pointer}:host .chat-suggestions__container .chat-suggestions__items{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:56px;z-index:2}:host .chat-suggestions__container--opened{width:100%}:host .chat-suggestions__container--opened .chat-suggestions__container__button::ng-deep button{color:#4646ce;background:#f2f2fb}:host .chat-suggestions__container--opened .chat-suggestions__items{display:grid;align-items:center;justify-content:center}:host .chat-suggestions__items{padding:0 16px;display:grid;gap:28px;grid-auto-rows:minmax(86px,auto);background:#ffffffb3}:host .chat-suggestions__items__item{display:inline-flex;min-height:86px;width:300px;align-items:center;justify-content:center;text-align:center;padding:16px;border-radius:8px;background:#f2f2fb;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}:host .chat-suggestions__items__item:hover{cursor:pointer;background:#eaeaff}\n"] }]
173
+ }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { values: [{
174
+ type: Input
175
+ }], fullScreen: [{
176
+ type: Input
177
+ }], buttonMode: [{
178
+ type: Input
179
+ }], waitForReply: [{
180
+ type: Input
181
+ }], suggestionSelect: [{
182
+ type: Output
183
+ }], suggestionContainer: [{
184
+ type: ViewChild,
185
+ args: ['suggestionsContainer', { static: false }]
186
+ }] }); })();
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFFWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztJQ0QvQix3QkFBaUU7Ozs7SUFQckUsOEJBR2lDLG1CQUFBO0lBQzRDLDBMQUFTLGVBQUEsNEJBQXFCLENBQUEsSUFBQztJQUNwRyxpQ0FDSjtJQUFBLGlCQUFZO0lBQ1osa0hBQWlFO0lBQ3JFLGlCQUFNOzs7O0lBTkYsaUZBQWlFO0lBS2xELGVBQWlDO0lBQWpDLHNDQUFpQzs7O0lBUnhELDZCQUF1RDtJQUNuRCwwRkFRTTtJQUNWLDBCQUFlOzs7SUFOTixlQUEwQjtJQUExQixrREFBMEI7Ozs7SUFpQi9CLCtCQUEwRztJQUE1QixnUEFBUyxlQUFBLDRCQUFpQixDQUFBLElBQUM7SUFDckcsWUFDSjtJQUFBLGlC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QUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs4R0ExR1EsMEJBQTBCO21HQUExQiwwQkFBMEI7Ozs7OztZQzFCdkMsaUNBUU87WUFDSCw2RkFVZTtZQUNuQixpQkFBTTtZQUVOLDRIQVljOzs7WUEvQlYsbUlBS0U7WUFDYSxlQUFrQjtZQUFsQixxQ0FBa0IsaUJBQUE7Ozt1RkRpQnhCLDBCQUEwQjtjQU50QyxTQUFTOzJCQUNJLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNO29FQVN0QyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQU9HLFlBQVk7a0JBQXBCLEtBQUs7WUFFSSxnQkFBZ0I7a0JBQXpCLE1BQU07WUFFK0MsbUJBQW1CO2tCQUF4RSxTQUFTO21CQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERyU2hhcmVkVXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy9kci1zaGFyZWQtdXRpbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoYXQtc3VnZ2VzdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBfbm9uSGlkZGVuVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHZpc2libGVWYWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICAgaXNTdWdnZXN0ZWRNZW51T3BlbiA9IGZhbHNlO1xuICAgIGNvbHNDb3VudCA9IDE7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKSB2YWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICAgQElucHV0KCkgZnVsbFNjcmVlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGJ1dHRvbk1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB3YWl0Rm9yUmVwbHkgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBzdWdnZXN0aW9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnc3VnZ2VzdGlvbnNDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgc3VnZ2VzdGlvbkNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIGdldCBoaWRkZW5WYWx1ZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYWlDaGF0U3VnZ2VzdGlvbnMnKSkgfHwgW107XG4gICAgfVxuICAgIHNldCBoaWRkZW5WYWx1ZXModmFsdWVzKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhaUNoYXRTdWdnZXN0aW9ucycsIEpTT04uc3RyaW5naWZ5KHZhbHVlcykpO1xuICAgIH1cblxuICAgIG9uUmVzaXplJDogT2JzZXJ2YWJsZTxSZXNpemVPYnNlcnZlckVudHJ5W10+O1xuXG4gICAgY29sV2lkdGggPSAzMDA7XG4gICAgY29sR2FwID0gMjg7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMub25SZXNpemUkID0gRHJTaGFyZWRVdGlscy5mcm9tUmVzaXplT2JzZXJ2ZXIodGhpcy5zdWdnZXN0aW9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgdGhpcy5vblJlc2l6ZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQ29sc0NvdW50KCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQ29sc0NvdW50KCk7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soaXRlbTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLndhaXRGb3JSZXBseSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTdWdnZXN0ZWRNZW51T3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25TZWxlY3QuZW1pdChpdGVtKTtcbiAgICAgICAgdGhpcy5oaWRkZW5WYWx1ZXMgPSBbLi4udGhpcy5oaWRkZW5WYWx1ZXMsIGl0ZW1dO1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlcygpO1xuICAgIH1cblxuICAgIGZpbHRlclZhbHVlcygpIHtcbiAgICAgICAgY29uc3QgaGlkZGVuVmFsdWVzID0gdGhpcy5oaWRkZW5WYWx1ZXM7XG4gICAgICAgIHRoaXMuX25vbkhpZGRlblZhbHVlcyA9IF8uZmlsdGVyKHRoaXMudmFsdWVzLCAodmFsKSA9PiAhaGlkZGVuVmFsdWVzLmluY2x1ZGVzKHZhbCkpO1xuICAgICAgICB0aGlzLmZpbGxWaXNpYmxlVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgZmlsbFZpc2libGVWYWx1ZXMoKSB7XG4gICAgICAgIGNvbnN0IG1heEl0ZW1zQ291bnQgPSB0aGlzLmZ1bGxTY3JlZW4gPyA2IDogMztcbiAgICAgICAgY29uc3Qgbm9uSGlkZGVuVmFsdWVzID0gXy5jbG9uZSh0aGlzLl9ub25IaWRkZW5WYWx1ZXMpO1xuICAgICAgICB0aGlzLnZpc2libGVWYWx1ZXMubGVuZ3RoID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhJdGVtc0NvdW50OyBpKyspIHtcbiAgICAgICAgICAgIGlmICghbm9uSGlkZGVuVmFsdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBub25IaWRkZW5WYWx1ZXMubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBub25IaWRkZW5WYWx1ZXMuc3BsaWNlKHJhbmRvbUluZGV4LCAxKVswXTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZVZhbHVlcy5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGNsZWFySGlkZGVuKCkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYWlDaGF0U3VnZ2VzdGlvbnMnLCBudWxsKTtcbiAgICAgICAgdGhpcy5maWx0ZXJWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICByZWNhbGN1bGF0ZUNvbHNDb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3VnZ2VzdGlvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0V2lkdGggPj0gdGhpcy5jb2xXaWR0aCAqIDMgKyB0aGlzLmNvbEdhcCAqIDIpIHtcbiAgICAgICAgICAgIHRoaXMuY29sc0NvdW50ID0gMztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN1Z2dlc3Rpb25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldFdpZHRoID4gdGhpcy5jb2xXaWR0aCAqIDIgKyB0aGlzLmNvbEdhcCkge1xuICAgICAgICAgICAgdGhpcy5jb2xzQ291bnQgPSAyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb2xzQ291bnQgPSAxO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHRvZ2dsZVN1Z2dlc3RlZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTdWdnZXN0ZWRNZW51T3BlbiA9ICF0aGlzLmlzU3VnZ2VzdGVkTWVudU9wZW47XG4gICAgICAgIGlmICh0aGlzLmlzU3VnZ2VzdGVkTWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZmlsbFZpc2libGVWYWx1ZXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJjaGF0LXN1Z2dlc3Rpb25zXCJcbiAgICAjc3VnZ2VzdGlvbnNDb250YWluZXJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdjaGF0LXN1Z2dlc3Rpb25zLS10aHJlZS1jb2xzJzogY29sc0NvdW50ID09PSAzLFxuICAgICAgICAnY2hhdC1zdWdnZXN0aW9ucy0tdHdvLWNvbHMnOiBjb2xzQ291bnQgPT09IDIsXG4gICAgICAgICdjaGF0LXN1Z2dlc3Rpb25zLS1vbmUtY29sJzogY29sc0NvdW50ID09PSAxLFxuICAgICAgICAnY2hhdC1zdWdnZXN0aW9ucy0tYnV0dG9uLW1vZGUnOiBidXR0b25Nb2RlXG4gICAgfVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b25Nb2RlOyBlbHNlIHN1Z2dlc3Rpb25DYXJkc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNoYXQtc3VnZ2VzdGlvbnNfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3MuY2hhdC1zdWdnZXN0aW9uc19fY29udGFpbmVyLS1vcGVuZWRdPVwiaXNTdWdnZXN0ZWRNZW51T3BlblwiXG4gICAgICAgICAgICAqbmdJZj1cInZpc2libGVWYWx1ZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICA8ZHItYnV0dG9uIHRoZW1lPVwic2Vjb25kYXJ5XCIgY2xhc3M9XCJjaGF0LXN1Z2dlc3Rpb25zX19jb250YWluZXJfX2J1dHRvblwiIChjbGljayk9XCJ0b2dnbGVTdWdnZXN0ZWRNZW51KClcIj5cbiAgICAgICAgICAgICAgICBTdWdnZXN0ZWQgY2hhdHNcbiAgICAgICAgICAgIDwvZHItYnV0dG9uPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Z2dlc3Rpb25DYXJkc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3N1Z2dlc3Rpb25DYXJkcz5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY2hhdC1zdWdnZXN0aW9uc19faXRlbXNcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnY2hhdC1zdWdnZXN0aW9uc19faXRlbXMtLXRocmVlLWNvbHMnOiBjb2xzQ291bnQgPT09IDMsXG4gICAgICAgICAgICAnY2hhdC1zdWdnZXN0aW9uc19faXRlbXMtLXR3by1jb2xzJzogY29sc0NvdW50ID09PSAyLFxuICAgICAgICAgICAgJ2NoYXQtc3VnZ2VzdGlvbnNfX2l0ZW1zLS1vbmUtY29sJzogY29sc0NvdW50ID09PSAxXG4gICAgICAgIH1cIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2aXNpYmxlVmFsdWVzXCIgY2xhc3M9XCJjaGF0LXN1Z2dlc3Rpb25zX19pdGVtc19faXRlbVwiIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiPlxuICAgICAgICAgICAge3sgaXRlbSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DrDotFlashingComponent {
4
+ constructor() { }
5
+ /** @nocollapse */ static { this.ɵfac = function DrDotFlashingComponent_Factory(t) { return new (t || DrDotFlashingComponent)(); }; }
6
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDotFlashingComponent, selectors: [["dr-dot-flashing"]], decls: 1, vars: 0, consts: [[1, "dot-flashing"]], template: function DrDotFlashingComponent_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelement(0, "div", 0);
8
+ } }, styles: ["[_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]{position:relative;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:_ngcontent-%COMP%_dot-flashing 1s infinite linear alternate;animation-delay:.5s;margin-left:11px}[_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]:before, [_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]:after{content:\"\";display:inline-block;position:absolute;top:0}[_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]:before{left:-10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:_ngcontent-%COMP%_dot-flashing 1s infinite alternate;animation-delay:0s}[_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]:after{left:10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:_ngcontent-%COMP%_dot-flashing 1s infinite alternate;animation-delay:1s}@keyframes _ngcontent-%COMP%_dot-flashing{0%{background-color:#25258c}50%,to{background-color:#9880ff33}}"], changeDetection: 0 }); }
9
+ }
10
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDotFlashingComponent, [{
11
+ type: Component,
12
+ args: [{ selector: 'dr-dot-flashing', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dot-flashing\"></div>\n", styles: [":host .dot-flashing{position:relative;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite linear alternate;animation-delay:.5s;margin-left:11px}:host .dot-flashing:before,:host .dot-flashing:after{content:\"\";display:inline-block;position:absolute;top:0}:host .dot-flashing:before{left:-10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite alternate;animation-delay:0s}:host .dot-flashing:after{left:10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite alternate;animation-delay:1s}@keyframes dot-flashing{0%{background-color:#25258c}50%,to{background-color:#9880ff33}}\n"] }]
13
+ }], function () { return []; }, null); })();
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZG90LWZsYXNoaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItZG90LWZsYXNoaW5nL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWRvdC1mbGFzaGluZy9kci1kb3QtZmxhc2hpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRbkUsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixnQkFBZSxDQUFDOzBHQURQLHNCQUFzQjttR0FBdEIsc0JBQXNCO1lDUm5DLHlCQUFnQzs7O3VGRFFuQixzQkFBc0I7Y0FObEMsU0FBUzsyQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kb3QtZmxhc2hpbmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnZHItZG90LWZsYXNoaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1kb3QtZmxhc2hpbmcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJEb3RGbGFzaGluZ0NvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cImRvdC1mbGFzaGluZ1wiPjwvZGl2PlxuIl19
@@ -0,0 +1,58 @@
1
+ import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ function DrChipComponent_i_0_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelement(0, "i", 4);
7
+ } if (rf & 2) {
8
+ const ctx_r0 = i0.ɵɵnextContext();
9
+ i0.ɵɵclassMap(ctx_r0.icon);
10
+ } }
11
+ function DrChipComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementContainerStart(0);
13
+ i0.ɵɵprojection(1);
14
+ i0.ɵɵelementContainerEnd();
15
+ } }
16
+ function DrChipComponent_i_4_Template(rf, ctx) { if (rf & 1) {
17
+ const _r4 = i0.ɵɵgetCurrentView();
18
+ i0.ɵɵelementStart(0, "i", 5);
19
+ i0.ɵɵlistener("click", function DrChipComponent_i_4_Template_i_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.remove.next(null)); });
20
+ i0.ɵɵelementEnd();
21
+ } }
22
+ const _c0 = ["*"];
23
+ export class DrChipComponent {
24
+ constructor() {
25
+ this.remove = new EventEmitter();
26
+ }
27
+ /** @nocollapse */ static { this.ɵfac = function DrChipComponent_Factory(t) { return new (t || DrChipComponent)(); }; }
28
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChipComponent, selectors: [["dr-chip"]], inputs: { label: "label", icon: "icon", removable: "removable" }, outputs: { remove: "remove" }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 5, vars: 4, consts: [["class", "chip__icon", 3, "class", 4, "ngIf"], [1, "chip__label"], [4, "ngIf"], ["class", "chip__remove dr-icon-exit", 3, "click", 4, "ngIf"], [1, "chip__icon"], [1, "chip__remove", "dr-icon-exit", 3, "click"]], template: function DrChipComponent_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵprojectionDef();
30
+ i0.ɵɵtemplate(0, DrChipComponent_i_0_Template, 1, 2, "i", 0);
31
+ i0.ɵɵelementStart(1, "div", 1);
32
+ i0.ɵɵtemplate(2, DrChipComponent_ng_container_2_Template, 2, 0, "ng-container", 2);
33
+ i0.ɵɵtext(3);
34
+ i0.ɵɵelementEnd();
35
+ i0.ɵɵtemplate(4, DrChipComponent_i_4_Template, 1, 0, "i", 3);
36
+ } if (rf & 2) {
37
+ i0.ɵɵproperty("ngIf", ctx.icon);
38
+ i0.ɵɵadvance(2);
39
+ i0.ɵɵproperty("ngIf", !ctx.label);
40
+ i0.ɵɵadvance(1);
41
+ i0.ɵɵtextInterpolate1(" ", ctx.label, "\n");
42
+ i0.ɵɵadvance(1);
43
+ i0.ɵɵproperty("ngIf", ctx.removable);
44
+ } }, dependencies: [CommonModule, i1.NgIf], styles: ["[_nghost-%COMP%]{display:inline-flex;align-items:center;height:24px;border-radius:12px;padding:0 4px;background-color:#f0f1f4}[_nghost-%COMP%] .chip__icon[_ngcontent-%COMP%]{margin-left:4px;font-size:20px;color:#6d6e6f}[_nghost-%COMP%] .chip__label[_ngcontent-%COMP%]{margin:0 4px;flex-grow:1;color:#333;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]{border-radius:50%;color:#6d6e6f;font-size:20px;cursor:pointer;flex-shrink:0}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:hover{background-color:#f5f5f5;color:#333}"], changeDetection: 0 }); }
45
+ }
46
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChipComponent, [{
47
+ type: Component,
48
+ args: [{ selector: 'dr-chip', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<i *ngIf=\"icon\" [class]=\"icon\" class=\"chip__icon\"></i>\n<div class=\"chip__label\">\n <ng-container *ngIf=\"!label\">\n <ng-content></ng-content>\n </ng-container>\n {{ label }}\n</div>\n<i *ngIf=\"removable\" class=\"chip__remove dr-icon-exit\" (click)=\"remove.next(null)\"></i>\n", styles: [":host{display:inline-flex;align-items:center;height:24px;border-radius:12px;padding:0 4px;background-color:#f0f1f4}:host .chip__icon{margin-left:4px;font-size:20px;color:#6d6e6f}:host .chip__label{margin:0 4px;flex-grow:1;color:#333;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400}:host .chip__remove{border-radius:50%;color:#6d6e6f;font-size:20px;cursor:pointer;flex-shrink:0}:host .chip__remove:hover{background-color:#f5f5f5;color:#333}\n"] }]
49
+ }], null, { label: [{
50
+ type: Input
51
+ }], icon: [{
52
+ type: Input
53
+ }], removable: [{
54
+ type: Input
55
+ }], remove: [{
56
+ type: Output
57
+ }] }); })();
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGlwL2RyLWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hpcC9kci1jaGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0lDRC9DLHVCQUFzRDs7O0lBQXRDLDBCQUFjOzs7SUFFMUIsNkJBQTZCO0lBQ3pCLGtCQUF5QjtJQUM3QiwwQkFBZTs7OztJQUduQiw0QkFBbUY7SUFBNUIscUpBQVMsZUFBQSxtQkFBWSxJQUFJLENBQUMsQ0FBQSxJQUFDO0lBQUMsaUJBQUk7OztBREl2RixNQUFNLE9BQU8sZUFBZTtJQVI1QjtRQWVjLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBQy9DO21HQVJZLGVBQWU7bUdBQWYsZUFBZTs7WUNYNUIsNERBQXNEO1lBQ3RELDhCQUF5QjtZQUNyQixrRkFFZTtZQUNmLFlBQ0o7WUFBQSxpQkFBTTtZQUNOLDREQUF1Rjs7WUFQbkYsK0JBQVU7WUFFSyxlQUFZO1lBQVosaUNBQVk7WUFHM0IsZUFDSjtZQURJLDJDQUNKO1lBQ0ksZUFBZTtZQUFmLG9DQUFlOzRCREVMLFlBQVk7O3VGQUViLGVBQWU7Y0FSM0IsU0FBUzsyQkFDSSxTQUFTLG1CQUdGLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDO2dCQUdkLEtBQUs7a0JBQWIsS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hpcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWNoaXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWNoaXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoaXBDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSByZW1vdmFibGU6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xufVxuIiwiPGkgKm5nSWY9XCJpY29uXCIgW2NsYXNzXT1cImljb25cIiBjbGFzcz1cImNoaXBfX2ljb25cIj48L2k+XG48ZGl2IGNsYXNzPVwiY2hpcF9fbGFiZWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxhYmVsXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICB7eyBsYWJlbCB9fVxuPC9kaXY+XG48aSAqbmdJZj1cInJlbW92YWJsZVwiIGNsYXNzPVwiY2hpcF9fcmVtb3ZlIGRyLWljb24tZXhpdFwiIChjbGljayk9XCJyZW1vdmUubmV4dChudWxsKVwiPjwvaT5cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../dr-tooltip/dr-tooltip.directive";
4
+ export class CodeEditorHintWrapperComponent {
5
+ /** @nocollapse */ static { this.ɵfac = function CodeEditorHintWrapperComponent_Factory(t) { return new (t || CodeEditorHintWrapperComponent)(); }; }
6
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: CodeEditorHintWrapperComponent, selectors: [["dr-code-editor-hint-wrapper"]], decls: 1, vars: 2, consts: [[3, "innerHTML", "drTooltip"]], template: function CodeEditorHintWrapperComponent_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelement(0, "span", 0);
8
+ } if (rf & 2) {
9
+ i0.ɵɵproperty("innerHTML", ctx.content, i0.ɵɵsanitizeHtml)("drTooltip", ctx.tooltip);
10
+ } }, dependencies: [i1.DrTooltipDirective], encapsulation: 2 }); }
11
+ }
12
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CodeEditorHintWrapperComponent, [{
13
+ type: Component,
14
+ args: [{
15
+ selector: 'dr-code-editor-hint-wrapper',
16
+ template: ` <span [innerHTML]="content" [drTooltip]="tooltip"></span> `,
17
+ }]
18
+ }], null, null); })();
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3ItaGludC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNvZGUtZWRpdG9yL2NvbXBvbmVudHMvY29kZS1lZGl0b3ItaGludC13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNMUMsTUFBTSxPQUFPLDhCQUE4QjtrSEFBOUIsOEJBQThCO21HQUE5Qiw4QkFBOEI7WUFGM0IsMEJBQXlEOztZQUFuRCwwREFBcUIsMEJBQUE7Ozt1RkFFOUIsOEJBQThCO2NBSjFDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxRQUFRLEVBQUUsNkRBQTZEO2FBQzFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY29kZS1lZGl0b3ItaGludC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZTogYCA8c3BhbiBbaW5uZXJIVE1MXT1cImNvbnRlbnRcIiBbZHJUb29sdGlwXT1cInRvb2x0aXBcIj48L3NwYW4+IGAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGVFZGl0b3JIaW50V3JhcHBlckNvbXBvbmVudCB7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIHRvb2x0aXA6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,204 @@
1
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, Input, KeyValueDiffers, NgZone, Output, ViewChild, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import * as CodeMirror from 'codemirror';
4
+ import { DrSharedUtils } from '../../utils/dr-shared-utils';
5
+ import * as i0 from "@angular/core";
6
+ const _c0 = ["ref"];
7
+ export class DrCodemirrorComponent {
8
+ set options(value) {
9
+ this._options = value;
10
+ if (!this._differ && value) {
11
+ this._differ = this._differs.find(value).create();
12
+ }
13
+ }
14
+ constructor(_differs, _ngZone) {
15
+ this._differs = _differs;
16
+ this._ngZone = _ngZone;
17
+ this.className = '';
18
+ this.name = 'codemirror';
19
+ this.autoFocus = false;
20
+ this.preserveScrollPosition = false;
21
+ this.cursorActivity = new EventEmitter();
22
+ this.focusChange = new EventEmitter();
23
+ this.scroll = new EventEmitter();
24
+ this.drop = new EventEmitter();
25
+ this.codeMirrorLoaded = new EventEmitter();
26
+ this.value = '';
27
+ this.disabled = false;
28
+ this.isFocused = false;
29
+ this.onChange = (_) => { };
30
+ this.onTouched = () => { };
31
+ }
32
+ get codeMirrorGlobal() {
33
+ if (this._codeMirror) {
34
+ return this._codeMirror;
35
+ }
36
+ this._codeMirror = CodeMirror;
37
+ return this._codeMirror;
38
+ }
39
+ ngAfterViewInit() {
40
+ this._ngZone.runOutsideAngular(async () => {
41
+ const codeMirrorObj = await this.codeMirrorGlobal;
42
+ const codeMirror = codeMirrorObj?.default ? codeMirrorObj.default : codeMirrorObj;
43
+ this.codeMirror = codeMirror.fromTextArea(this.ref.nativeElement, this._options);
44
+ this.codeMirror.on('cursorActivity', (cm) => this._ngZone.run(() => this.cursorActive(cm)));
45
+ this.codeMirror.on('scroll', this.scrollChanged.bind(this));
46
+ this.codeMirror.on('blur', () => this._ngZone.run(() => this.focusChanged(false)));
47
+ this.codeMirror.on('focus', () => this._ngZone.run(() => this.focusChanged(true)));
48
+ this.codeMirror.on('change', (cm, change) => this._ngZone.run(() => this.codemirrorValueChanged(cm, change)));
49
+ this.codeMirror.on('drop', (cm, e) => {
50
+ this._ngZone.run(() => this.dropFiles(cm, e));
51
+ });
52
+ this.codeMirror.setValue(this.value);
53
+ this.codeMirrorLoaded.emit(this);
54
+ });
55
+ }
56
+ ngDoCheck() {
57
+ if (!this._differ) {
58
+ return;
59
+ }
60
+ // check options have not changed
61
+ const changes = this._differ.diff(this._options);
62
+ if (changes) {
63
+ changes.forEachChangedItem((option) => this.setOptionIfChanged(option.key, option.currentValue));
64
+ changes.forEachAddedItem((option) => this.setOptionIfChanged(option.key, option.currentValue));
65
+ changes.forEachRemovedItem((option) => this.setOptionIfChanged(option.key, option.currentValue));
66
+ }
67
+ }
68
+ ngOnDestroy() {
69
+ // is there a lighter-weight way to remove the cm instance?
70
+ if (this.codeMirror) {
71
+ this.codeMirror.toTextArea();
72
+ }
73
+ }
74
+ codemirrorValueChanged(cm, change) {
75
+ const cmVal = cm.getValue();
76
+ if (this.value !== cmVal) {
77
+ this.value = cmVal;
78
+ this.onChange(this.value);
79
+ }
80
+ }
81
+ setOptionIfChanged(optionName, newValue) {
82
+ if (!this.codeMirror) {
83
+ return;
84
+ }
85
+ // cast to any to handle strictly typed option names
86
+ // could possibly import settings strings available in the future
87
+ this.codeMirror.setOption(optionName, newValue);
88
+ }
89
+ focusChanged(focused) {
90
+ this.onTouched();
91
+ this.isFocused = focused;
92
+ this.focusChange.emit(focused);
93
+ }
94
+ scrollChanged(cm) {
95
+ this.scroll.emit(cm.getScrollInfo());
96
+ }
97
+ cursorActive(cm) {
98
+ this.cursorActivity.emit(cm);
99
+ }
100
+ dropFiles(cm, e) {
101
+ this.drop.emit([cm, e]);
102
+ }
103
+ writeValue(value) {
104
+ if (value === null || value === undefined) {
105
+ return;
106
+ }
107
+ if (!this.codeMirror) {
108
+ this.value = value;
109
+ return;
110
+ }
111
+ const cur = this.codeMirror.getValue();
112
+ if (value !== cur && DrSharedUtils.normalizeLineEndings(cur) !== DrSharedUtils.normalizeLineEndings(value)) {
113
+ this.value = value;
114
+ if (this.preserveScrollPosition) {
115
+ const prevScrollPosition = this.codeMirror.getScrollInfo();
116
+ this.codeMirror.setValue(this.value);
117
+ this.codeMirror.scrollTo(prevScrollPosition.left, prevScrollPosition.top);
118
+ }
119
+ else {
120
+ this.codeMirror.setValue(this.value);
121
+ }
122
+ }
123
+ }
124
+ registerOnChange(fn) {
125
+ this.onChange = fn;
126
+ }
127
+ registerOnTouched(fn) {
128
+ this.onTouched = fn;
129
+ }
130
+ setDisabledState(isDisabled) {
131
+ this.disabled = isDisabled;
132
+ this.setOptionIfChanged('readOnly', this.disabled);
133
+ }
134
+ /** @nocollapse */ static { this.ɵfac = function DrCodemirrorComponent_Factory(t) { return new (t || DrCodemirrorComponent)(i0.ɵɵdirectiveInject(i0.KeyValueDiffers), i0.ɵɵdirectiveInject(i0.NgZone)); }; }
135
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrCodemirrorComponent, selectors: [["dr-codemirror"]], viewQuery: function DrCodemirrorComponent_Query(rf, ctx) { if (rf & 1) {
136
+ i0.ɵɵviewQuery(_c0, 5);
137
+ } if (rf & 2) {
138
+ let _t;
139
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ref = _t.first);
140
+ } }, inputs: { className: "className", name: "name", autoFocus: "autoFocus", options: "options", preserveScrollPosition: "preserveScrollPosition" }, outputs: { cursorActivity: "cursorActivity", focusChange: "focusChange", scroll: "scroll", drop: "drop", codeMirrorLoaded: "codeMirrorLoaded" }, features: [i0.ɵɵProvidersFeature([
141
+ {
142
+ provide: NG_VALUE_ACCESSOR,
143
+ useExisting: forwardRef((() => DrCodemirrorComponent)),
144
+ multi: true,
145
+ },
146
+ ])], decls: 3, vars: 7, consts: [["autocomplete", "off", 3, "name", "autofocus"], ["ref", ""]], template: function DrCodemirrorComponent_Template(rf, ctx) { if (rf & 1) {
147
+ i0.ɵɵelementStart(0, "textarea", 0, 1);
148
+ i0.ɵɵtext(2, " ");
149
+ i0.ɵɵelementEnd();
150
+ } if (rf & 2) {
151
+ i0.ɵɵclassMapInterpolate1("dr-codemirror ", ctx.className, "");
152
+ i0.ɵɵclassProp("dr-codemirror--focused", ctx.isFocused);
153
+ i0.ɵɵproperty("name", ctx.name)("autofocus", ctx.autoFocus);
154
+ } }, encapsulation: 2, changeDetection: 0 }); }
155
+ }
156
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrCodemirrorComponent, [{
157
+ type: Component,
158
+ args: [{
159
+ selector: 'dr-codemirror',
160
+ template: `
161
+ <textarea
162
+ [name]="name"
163
+ class="dr-codemirror {{ className }}"
164
+ [class.dr-codemirror--focused]="isFocused"
165
+ autocomplete="off"
166
+ [autofocus]="autoFocus"
167
+ #ref>
168
+ </textarea>
169
+ `,
170
+ providers: [
171
+ {
172
+ provide: NG_VALUE_ACCESSOR,
173
+ useExisting: forwardRef((() => DrCodemirrorComponent)),
174
+ multi: true,
175
+ },
176
+ ],
177
+ preserveWhitespaces: false,
178
+ changeDetection: ChangeDetectionStrategy.OnPush,
179
+ }]
180
+ }], function () { return [{ type: i0.KeyValueDiffers }, { type: i0.NgZone }]; }, { className: [{
181
+ type: Input
182
+ }], name: [{
183
+ type: Input
184
+ }], autoFocus: [{
185
+ type: Input
186
+ }], options: [{
187
+ type: Input
188
+ }], preserveScrollPosition: [{
189
+ type: Input
190
+ }], cursorActivity: [{
191
+ type: Output
192
+ }], focusChange: [{
193
+ type: Output
194
+ }], scroll: [{
195
+ type: Output
196
+ }], drop: [{
197
+ type: Output
198
+ }], codeMirrorLoaded: [{
199
+ type: Output
200
+ }], ref: [{
201
+ type: ViewChild,
202
+ args: ['ref']
203
+ }] }); })();
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY29kZW1pcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jb2RlLWVkaXRvci9jb21wb25lbnRzL2RyLWNvZGVtaXJyb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxlQUFlLEVBQ2YsTUFBTSxFQUVOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBd0I1RCxNQUFNLE9BQU8scUJBQXFCO0lBSzlCLElBQ0ksT0FBTyxDQUFDLEtBQTZCO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQWlCRCxZQUNZLFFBQXlCLEVBQ3pCLE9BQWU7UUFEZixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBN0JsQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsU0FBSSxHQUFHLFlBQVksQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBU2xCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUM5QixtQkFBYyxH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QUUsQ0FBQyxxQkFBcUIsRUFBQztvQkFDcEQsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtZQWZHLHNDQU1TO1lBQ1Qsd0JBQUE7WUFBQSxpQkFBVzs7WUFMUCw4REFBcUM7WUFDckMsdURBQTBDO1lBRjFDLCtCQUFhLDRCQUFBOzs7dUZBa0JaLHFCQUFxQjtjQXRCakMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7OztLQVNUO2dCQUNELFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxzQkFBc0IsRUFBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7aUJBQ0o7Z0JBQ0QsbUJBQW1CLEVBQUUsS0FBSztnQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7dUZBRVksU0FBUztrQkFBakIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFHRixPQUFPO2tCQURWLEtBQUs7WUFPRyxzQkFBc0I7a0JBQTlCLEtBQUs7WUFDSSxjQUFjO2tCQUF2QixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLE1BQU07a0JBQWYsTUFBTTtZQUNHLElBQUk7a0JBQWIsTUFBTTtZQUNHLGdCQUFnQjtrQkFBekIsTUFBTTtZQUNXLEdBQUc7a0JBQXBCLFNBQVM7bUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIEtleVZhbHVlRGlmZmVyLFxuICAgIEtleVZhbHVlRGlmZmVycyxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWRpdG9yLCBFZGl0b3JDaGFuZ2UsIEVkaXRvckZyb21UZXh0QXJlYSwgU2Nyb2xsSW5mbyB9IGZyb20gJ2NvZGVtaXJyb3InO1xuaW1wb3J0ICogYXMgQ29kZU1pcnJvciBmcm9tICdjb2RlbWlycm9yJztcbmltcG9ydCB7IERyU2hhcmVkVXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy9kci1zaGFyZWQtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNvZGVtaXJyb3InLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImRyLWNvZGVtaXJyb3Ige3sgY2xhc3NOYW1lIH19XCJcbiAgICAgICAgICAgIFtjbGFzcy5kci1jb2RlbWlycm9yLS1mb2N1c2VkXT1cImlzRm9jdXNlZFwiXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvRm9jdXNcIlxuICAgICAgICAgICAgI3JlZj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICBgLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERyQ29kZW1pcnJvckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNvZGVtaXJyb3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrIHtcbiAgICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgICBASW5wdXQoKSBuYW1lID0gJ2NvZGVtaXJyb3InO1xuICAgIEBJbnB1dCgpIGF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgb3B0aW9ucyh2YWx1ZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XG4gICAgICAgIGlmICghdGhpcy5fZGlmZmVyICYmIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9kaWZmZXIgPSB0aGlzLl9kaWZmZXJzLmZpbmQodmFsdWUpLmNyZWF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIHByZXNlcnZlU2Nyb2xsUG9zaXRpb24gPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgY3Vyc29yQWN0aXZpdHkgPSBuZXcgRXZlbnRFbWl0dGVyPEVkaXRvcj4oKTtcbiAgICBAT3V0cHV0KCkgZm9jdXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIHNjcm9sbCA9IG5ldyBFdmVudEVtaXR0ZXI8U2Nyb2xsSW5mbz4oKTtcbiAgICBAT3V0cHV0KCkgZHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8W0VkaXRvciwgRHJhZ0V2ZW50XT4oKTtcbiAgICBAT3V0cHV0KCkgY29kZU1pcnJvckxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RHJDb2RlbWlycm9yQ29tcG9uZW50PigpO1xuICAgIEBWaWV3Q2hpbGQoJ3JlZicpIHJlZiE6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XG4gICAgdmFsdWUgPSAnJztcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIGlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIGNvZGVNaXJyb3I/OiBFZGl0b3JGcm9tVGV4dEFyZWE7XG5cbiAgICBwcml2YXRlIF9jb2RlTWlycm9yOiBhbnk7XG4gICAgcHJpdmF0ZSBfZGlmZmVyPzogS2V5VmFsdWVEaWZmZXI8c3RyaW5nLCBhbnk+O1xuICAgIHByaXZhdGUgX29wdGlvbnM6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9kaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxuICAgICkge31cblxuICAgIGdldCBjb2RlTWlycm9yR2xvYmFsKCk6IGFueSB7XG4gICAgICAgIGlmICh0aGlzLl9jb2RlTWlycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29kZU1pcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NvZGVNaXJyb3IgPSBDb2RlTWlycm9yO1xuICAgICAgICByZXR1cm4gdGhpcy5fY29kZU1pcnJvcjtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb2RlTWlycm9yT2JqID0gYXdhaXQgdGhpcy5jb2RlTWlycm9yR2xvYmFsO1xuICAgICAgICAgICAgY29uc3QgY29kZU1pcnJvciA9IGNvZGVNaXJyb3JPYmo/LmRlZmF1bHQgPyBjb2RlTWlycm9yT2JqLmRlZmF1bHQgOiBjb2RlTWlycm9yT2JqO1xuICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yID0gY29kZU1pcnJvci5mcm9tVGV4dEFyZWEodGhpcy5yZWYubmF0aXZlRWxlbWVudCwgdGhpcy5fb3B0aW9ucykgYXMgRWRpdG9yRnJvbVRleHRBcmVhO1xuICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yLm9uKCdjdXJzb3JBY3Rpdml0eScsIChjbSkgPT4gdGhpcy5fbmdab25lLnJ1bigoKSA9PiB0aGlzLmN1cnNvckFjdGl2ZShjbSkpKTtcbiAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci5vbignc2Nyb2xsJywgdGhpcy5zY3JvbGxDaGFuZ2VkLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yLm9uKCdibHVyJywgKCkgPT4gdGhpcy5fbmdab25lLnJ1bigoKSA9PiB0aGlzLmZvY3VzQ2hhbmdlZChmYWxzZSkpKTtcbiAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci5vbignZm9jdXMnLCAoKSA9PiB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuZm9jdXNDaGFuZ2VkKHRydWUpKSk7XG4gICAgICAgICAgICB0aGlzLmNvZGVNaXJyb3Iub24oJ2NoYW5nZScsIChjbSwgY2hhbmdlKSA9PiB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuY29kZW1pcnJvclZhbHVlQ2hhbmdlZChjbSwgY2hhbmdlKSkpO1xuICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yLm9uKCdkcm9wJywgKGNtLCBlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB0aGlzLmRyb3BGaWxlcyhjbSwgZSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNvZGVNaXJyb3Iuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmNvZGVNaXJyb3JMb2FkZWQuZW1pdCh0aGlzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2RpZmZlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNoZWNrIG9wdGlvbnMgaGF2ZSBub3QgY2hhbmdlZFxuICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fZGlmZmVyLmRpZmYodGhpcy5fb3B0aW9ucyk7XG4gICAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgICAgICBjaGFuZ2VzLmZvckVhY2hDaGFuZ2VkSXRlbSgob3B0aW9uKSA9PiB0aGlzLnNldE9wdGlvbklmQ2hhbmdlZChvcHRpb24ua2V5LCBvcHRpb24uY3VycmVudFZhbHVlKSk7XG4gICAgICAgICAgICBjaGFuZ2VzLmZvckVhY2hBZGRlZEl0ZW0oKG9wdGlvbikgPT4gdGhpcy5zZXRPcHRpb25JZkNoYW5nZWQob3B0aW9uLmtleSwgb3B0aW9uLmN1cnJlbnRWYWx1ZSkpO1xuICAgICAgICAgICAgY2hhbmdlcy5mb3JFYWNoUmVtb3ZlZEl0ZW0oKG9wdGlvbikgPT4gdGhpcy5zZXRPcHRpb25JZkNoYW5nZWQob3B0aW9uLmtleSwgb3B0aW9uLmN1cnJlbnRWYWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIGlzIHRoZXJlIGEgbGlnaHRlci13ZWlnaHQgd2F5IHRvIHJlbW92ZSB0aGUgY20gaW5zdGFuY2U/XG4gICAgICAgIGlmICh0aGlzLmNvZGVNaXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci50b1RleHRBcmVhKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb2RlbWlycm9yVmFsdWVDaGFuZ2VkKGNtOiBFZGl0b3IsIGNoYW5nZTogRWRpdG9yQ2hhbmdlKSB7XG4gICAgICAgIGNvbnN0IGNtVmFsID0gY20uZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IGNtVmFsKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gY21WYWw7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0T3B0aW9uSWZDaGFuZ2VkKG9wdGlvbk5hbWU6IHN0cmluZywgbmV3VmFsdWU6IGFueSkge1xuICAgICAgICBpZiAoIXRoaXMuY29kZU1pcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2FzdCB0byBhbnkgdG8gaGFuZGxlIHN0cmljdGx5IHR5cGVkIG9wdGlvbiBuYW1lc1xuICAgICAgICAvLyBjb3VsZCBwb3NzaWJseSBpbXBvcnQgc2V0dGluZ3Mgc3RyaW5ncyBhdmFpbGFibGUgaW4gdGhlIGZ1dHVyZVxuICAgICAgICB0aGlzLmNvZGVNaXJyb3Iuc2V0T3B0aW9uKG9wdGlvbk5hbWUgYXMgYW55LCBuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgZm9jdXNDaGFuZ2VkKGZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmb2N1c2VkO1xuICAgICAgICB0aGlzLmZvY3VzQ2hhbmdlLmVtaXQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgc2Nyb2xsQ2hhbmdlZChjbTogRWRpdG9yKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsLmVtaXQoY20uZ2V0U2Nyb2xsSW5mbygpKTtcbiAgICB9XG5cbiAgICBjdXJzb3JBY3RpdmUoY206IEVkaXRvcikge1xuICAgICAgICB0aGlzLmN1cnNvckFjdGl2aXR5LmVtaXQoY20pO1xuICAgIH1cblxuICAgIGRyb3BGaWxlcyhjbTogRWRpdG9yLCBlOiBEcmFnRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kcm9wLmVtaXQoW2NtLCBlXSk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmNvZGVNaXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXIgPSB0aGlzLmNvZGVNaXJyb3IuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKHZhbHVlICE9PSBjdXIgJiYgRHJTaGFyZWRVdGlscy5ub3JtYWxpemVMaW5lRW5kaW5ncyhjdXIpICE9PSBEclNoYXJlZFV0aWxzLm5vcm1hbGl6ZUxpbmVFbmRpbmdzKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJlc2VydmVTY3JvbGxQb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZTY3JvbGxQb3NpdGlvbiA9IHRoaXMuY29kZU1pcnJvci5nZXRTY3JvbGxJbmZvKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci5zY3JvbGxUbyhwcmV2U2Nyb2xsUG9zaXRpb24ubGVmdCwgcHJldlNjcm9sbFBvc2l0aW9uLnRvcCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5zZXRPcHRpb25JZkNoYW5nZWQoJ3JlYWRPbmx5JywgdGhpcy5kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7fTtcbn1cbiJdfQ==