@tetacom/ng-components 1.1.1 → 1.1.3

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 (738) hide show
  1. package/assets/color-icons.svg +374 -687
  2. package/assets/file-icons.svg +0 -1
  3. package/assets/icons.svg +205 -138
  4. package/common/contract/auto-close-ignore-case.d.ts +1 -1
  5. package/common/contract/constructor-type.d.ts +1 -1
  6. package/common/model/public-api.d.ts +1 -0
  7. package/common/model/view-type.model.d.ts +1 -0
  8. package/common/public-api.d.ts +1 -0
  9. package/component/accordion/accordion/accordion.component.d.ts +1 -1
  10. package/component/accordion/accordion-content.directive.d.ts +1 -1
  11. package/component/accordion/accordion-head/accordion-head.component.d.ts +1 -1
  12. package/component/accordion/accordion-item/accordion-item.component.d.ts +4 -1
  13. package/component/autocomplete/autocomplete/autocomplete.component.d.ts +1 -1
  14. package/component/avatar/avatar/avatar.component.d.ts +17 -0
  15. package/component/avatar/avatar.module.d.ts +9 -0
  16. package/component/avatar/model/avatar-color.enum.d.ts +20 -0
  17. package/component/avatar/public-api.d.ts +2 -0
  18. package/component/button/button/button.component.d.ts +5 -2
  19. package/component/chart-3d/chart3d/chart3d.component.d.ts +1 -1
  20. package/component/checkbox/checkbox/checkbox.component.d.ts +2 -1
  21. package/component/date-picker/base-calendar.d.ts +49 -0
  22. package/component/date-picker/base-picker.d.ts +60 -0
  23. package/component/date-picker/date-picker/date-calendar/date-calendar.component.d.ts +20 -0
  24. package/component/date-picker/date-picker/date-picker.component.d.ts +38 -68
  25. package/component/date-picker/date-picker.module.d.ts +19 -16
  26. package/component/date-picker/date-range/date-range.component.d.ts +46 -0
  27. package/component/date-picker/date-range/range-calendar/range-calendar.component.d.ts +39 -0
  28. package/component/date-picker/day-picker/day-item/day-item.component.d.ts +9 -0
  29. package/component/date-picker/day-picker/day-picker.component.d.ts +30 -0
  30. package/component/date-picker/model/from-to.model.d.ts +4 -0
  31. package/component/date-picker/model/min-max-date.model.d.ts +4 -0
  32. package/component/date-picker/model/public-api.d.ts +5 -0
  33. package/component/date-picker/month-picker/month-picker.component.d.ts +16 -50
  34. package/component/date-picker/public-api.d.ts +6 -5
  35. package/component/date-picker/year-picker/scroll-to-selected-year.directive.d.ts +11 -0
  36. package/component/date-picker/year-picker/year-picker.component.d.ts +24 -0
  37. package/component/delimiter/delimiter/delimiter.component.d.ts +1 -1
  38. package/component/divider/divider/divider.component.d.ts +10 -0
  39. package/component/divider/divider.module.d.ts +8 -0
  40. package/component/divider/public-api.d.ts +2 -0
  41. package/component/dropdown/dropdown/dropdown.component.d.ts +1 -1
  42. package/component/dropdown/dropdown-base.d.ts +3 -1
  43. package/component/dropdown/dropdown-content.directive.d.ts +1 -1
  44. package/component/dropdown/dropdown-head.directive.d.ts +1 -1
  45. package/component/dropdown/dropdown.directive.d.ts +1 -1
  46. package/component/dynamic-component/popup-content/popup-content.component.d.ts +1 -1
  47. package/component/expand-card/expand-card/expand-card.component.d.ts +1 -1
  48. package/component/expand-card/expand-item/expand-item.component.d.ts +1 -1
  49. package/component/expand-panel/expand-panel/expand-panel.component.d.ts +1 -1
  50. package/component/expand-panel/expand-panel-content.directive.d.ts +1 -1
  51. package/component/expand-panel/expand-panel-head.directive.d.ts +1 -1
  52. package/component/file-upload/file-item/file-item.component.d.ts +1 -1
  53. package/component/file-upload/file-upload-area/file-upload-area.component.d.ts +1 -1
  54. package/component/filter/base/filter-base.d.ts +2 -2
  55. package/component/filter/base/filter-component-base.d.ts +1 -1
  56. package/component/filter/boolean-filter/boolean-filter.component.d.ts +2 -2
  57. package/component/filter/contarct/boolean-filter.d.ts +1 -2
  58. package/component/filter/contarct/date-filter.d.ts +1 -2
  59. package/component/filter/contarct/i-filter.d.ts +2 -2
  60. package/component/filter/contarct/list-filter.d.ts +1 -2
  61. package/component/filter/contarct/numeric-filter.d.ts +1 -2
  62. package/component/filter/contarct/string-filter.d.ts +1 -2
  63. package/component/filter/date-filter/date-filter.component.d.ts +3 -2
  64. package/component/filter/filter-host/filter-host.component.d.ts +2 -2
  65. package/component/filter/list-filter/list-filter.component.d.ts +2 -2
  66. package/component/filter/numeric-filter/numeric-filter.component.d.ts +3 -2
  67. package/component/filter/string-filter/string-filter.component.d.ts +2 -2
  68. package/component/icon/icon/icon.component.d.ts +1 -1
  69. package/component/icon/icon-file/icon-file.component.d.ts +9 -3
  70. package/component/icon/icon-file/icon-file.module.d.ts +9 -0
  71. package/component/icon/icon-sprite.directive.d.ts +1 -1
  72. package/component/icon/icon.module.d.ts +4 -5
  73. package/component/icon/public-api.d.ts +1 -0
  74. package/component/input/color-input/color-input.component.d.ts +1 -1
  75. package/component/input/form-group-title/form-group-title.component.d.ts +1 -1
  76. package/component/input/input/input.component.d.ts +3 -1
  77. package/component/input/text-field/text-field.component.d.ts +1 -1
  78. package/component/message/message/message.component.d.ts +1 -1
  79. package/component/message/message-host/message-host.component.d.ts +1 -1
  80. package/component/message/model/message.d.ts +3 -0
  81. package/component/modal/dialog/dialog.component.d.ts +1 -1
  82. package/component/modal/modal-container/modal-container.component.d.ts +1 -1
  83. package/component/pager/pager/pager.component.d.ts +1 -1
  84. package/component/panel/panel/panel.component.d.ts +1 -1
  85. package/component/progress-bar/progress-bar/progress-bar.component.d.ts +1 -1
  86. package/component/property-grid/property-grid/property-grid-group/property-grid-group.component.d.ts +1 -1
  87. package/component/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +1 -1
  88. package/component/property-grid/property-grid/property-grid-item-description.directive.d.ts +1 -1
  89. package/component/property-grid/property-grid/property-grid.component.d.ts +1 -1
  90. package/component/public-api.d.ts +2 -0
  91. package/component/radio/radio/radio.component.d.ts +1 -1
  92. package/component/radio/radio-button/radio-button.component.d.ts +1 -1
  93. package/component/resize-panel/resize-panel/resize-panel.component.d.ts +1 -1
  94. package/component/select/select/select.component.d.ts +4 -1
  95. package/component/select/select-option.directive.d.ts +1 -1
  96. package/component/select/select-value.directive.d.ts +1 -1
  97. package/component/sidebar/sidebar/sidebar.component.d.ts +1 -1
  98. package/component/switch/switch/switch.component.d.ts +4 -1
  99. package/component/switch/switch-button/switch-button.component.d.ts +1 -1
  100. package/component/table/base/cell-component-base.d.ts +1 -1
  101. package/component/table/base/head-cell-component-base.d.ts +1 -1
  102. package/component/table/cell/cell.component.d.ts +1 -1
  103. package/component/table/cell-host/cell-host.component.d.ts +1 -1
  104. package/component/table/contract/table-column.d.ts +0 -2
  105. package/component/table/default/boolean-cell/boolean-cell.component.d.ts +1 -4
  106. package/component/table/default/date-cell/date-cell.component.d.ts +1 -4
  107. package/component/table/default/date-time-cell/date-time-cell.component.d.ts +1 -4
  108. package/component/table/default/default-head-cell/default-head-cell.component.d.ts +1 -1
  109. package/component/table/default/list-cell/list-cell.component.d.ts +1 -5
  110. package/component/table/default/numeric-cell/numeric-cell.component.d.ts +1 -4
  111. package/component/table/default/string-cell/string-cell.component.d.ts +1 -4
  112. package/component/table/head-cell/head-cell.component.d.ts +1 -1
  113. package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +1 -1
  114. package/component/table/head-cell-host/head-cell-host.component.d.ts +1 -1
  115. package/component/table/selection-cell/selection-cell.component.d.ts +1 -1
  116. package/component/table/selection-head-cell/selection-head-cell.component.d.ts +1 -1
  117. package/component/table/table/table.component.d.ts +1 -1
  118. package/component/table/table-body/table-body.component.d.ts +1 -1
  119. package/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.d.ts +1 -1
  120. package/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.d.ts +1 -1
  121. package/component/table/table-head/table-head.component.d.ts +1 -1
  122. package/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.d.ts +1 -1
  123. package/component/table/table-head-group/table-head-group.component.d.ts +1 -1
  124. package/component/tabs/tab/tab.component.d.ts +1 -1
  125. package/component/tabs/tab-content.directive.d.ts +1 -1
  126. package/component/tabs/tab-title.directive.d.ts +1 -1
  127. package/component/tabs/tabs/tabs.component.d.ts +1 -1
  128. package/component/theme-switch/theme-switch/theme-switch.component.d.ts +1 -1
  129. package/component/toggle/toggle/toggle.component.d.ts +1 -1
  130. package/component/toolbar/toolbar/toolbar.component.d.ts +1 -1
  131. package/component/tree/tree/tree.component.d.ts +1 -1
  132. package/component/tree/tree-item/tree-item.component.d.ts +1 -1
  133. package/component/tree/tree-item-toggle/tree-item-toggle.component.d.ts +1 -1
  134. package/directive/auto-position/auto-position.directive.d.ts +1 -1
  135. package/directive/click-outside/click-outside.directive.d.ts +1 -1
  136. package/directive/context-menu/context-menu.directive.d.ts +1 -1
  137. package/directive/disable-control/disable-control.directive.d.ts +1 -1
  138. package/directive/drag-drop/drag-container.directive.d.ts +1 -1
  139. package/directive/drag-drop/drag-placeholder.directive.d.ts +1 -1
  140. package/directive/drag-drop/drag-preview.directive.d.ts +1 -1
  141. package/directive/drag-drop/drag.directive.d.ts +1 -1
  142. package/directive/drag-drop/model/drop-target.d.ts +1 -1
  143. package/directive/drag-sort/drag-sort-container.directive.d.ts +1 -1
  144. package/directive/drag-sort/drag-sort-item.directive.d.ts +1 -1
  145. package/directive/dynamic-content-base.directive.d.ts +1 -1
  146. package/directive/highlight/highlight.directive.d.ts +1 -1
  147. package/directive/hint/hint.directive.d.ts +3 -1
  148. package/directive/let/let.directive.d.ts +1 -1
  149. package/directive/loader/loader.directive.d.ts +1 -1
  150. package/directive/no-autofill/no-autofill.directive.d.ts +1 -1
  151. package/directive/only-number/only-number.directive.d.ts +1 -1
  152. package/directive/resize-drag/resize-drag.directive.d.ts +1 -1
  153. package/directive/scroll-into-view/scroll-into-view.directive.d.ts +1 -1
  154. package/directive/scrollable/scrollable/scrollable.component.d.ts +1 -1
  155. package/directive/scrollable/scrollable.directive.d.ts +1 -1
  156. package/directive/teta-template/teta-template.directive.d.ts +1 -1
  157. package/directive/tooltip/tooltip.directive.d.ts +1 -1
  158. package/esm2022/common/contract/teta-content-ref.mjs +11 -0
  159. package/esm2022/common/model/public-api.mjs +2 -0
  160. package/esm2022/common/model/view-type.model.mjs +2 -0
  161. package/esm2022/common/public-api.mjs +6 -0
  162. package/esm2022/common/service/click.service.mjs +26 -0
  163. package/esm2022/common/service/dynamic-component.service.mjs +97 -0
  164. package/esm2022/common/service/overlay-container.service.mjs +43 -0
  165. package/esm2022/component/accordion/accordion/accordion.component.mjs +19 -0
  166. package/esm2022/component/accordion/accordion-content.directive.mjs +17 -0
  167. package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +54 -0
  168. package/esm2022/component/accordion/accordion-item/accordion-item.component.mjs +58 -0
  169. package/{esm2020 → esm2022}/component/accordion/accordion.module.mjs +7 -7
  170. package/{esm2020 → esm2022}/component/autocomplete/autocomplete/autocomplete.component.mjs +4 -4
  171. package/{esm2020 → esm2022}/component/autocomplete/autocomplete.module.mjs +5 -5
  172. package/esm2022/component/avatar/avatar/avatar.component.mjs +60 -0
  173. package/esm2022/component/avatar/avatar.module.mjs +28 -0
  174. package/esm2022/component/avatar/model/avatar-color.enum.mjs +22 -0
  175. package/esm2022/component/avatar/public-api.mjs +3 -0
  176. package/esm2022/component/button/button/button.component.mjs +57 -0
  177. package/{esm2020 → esm2022}/component/button/button.module.mjs +5 -5
  178. package/{esm2020 → esm2022}/component/chart-3d/chart-3d.module.mjs +5 -5
  179. package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +255 -0
  180. package/esm2022/component/chart-3d/model/chart-3d-options.mjs +9 -0
  181. package/esm2022/component/chart-3d/model/series-3d.mjs +9 -0
  182. package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +154 -0
  183. package/{esm2020 → esm2022}/component/checkbox/checkbox.module.mjs +7 -7
  184. package/esm2022/component/date-picker/base-calendar.mjs +100 -0
  185. package/esm2022/component/date-picker/base-picker.mjs +107 -0
  186. package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +56 -0
  187. package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +206 -0
  188. package/esm2022/component/date-picker/date-picker.module.mjs +65 -0
  189. package/esm2022/component/date-picker/date-range/date-range.component.mjs +218 -0
  190. package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +119 -0
  191. package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +16 -0
  192. package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +120 -0
  193. package/esm2022/component/date-picker/model/date-period.mjs +9 -0
  194. package/esm2022/component/date-picker/model/day-model.mjs +19 -0
  195. package/esm2022/component/date-picker/model/from-to.model.mjs +2 -0
  196. package/esm2022/component/date-picker/model/min-max-date.model.mjs +2 -0
  197. package/esm2022/component/date-picker/model/public-api.mjs +6 -0
  198. package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +53 -0
  199. package/esm2022/component/date-picker/public-api.mjs +7 -0
  200. package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +27 -0
  201. package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +53 -0
  202. package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +63 -0
  203. package/{esm2020 → esm2022}/component/delimiter/delimiter.module.mjs +5 -5
  204. package/esm2022/component/divider/divider/divider.component.mjs +20 -0
  205. package/esm2022/component/divider/divider.module.mjs +20 -0
  206. package/esm2022/component/divider/public-api.mjs +3 -0
  207. package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +36 -0
  208. package/esm2022/component/dropdown/dropdown-base.mjs +238 -0
  209. package/esm2022/component/dropdown/dropdown-content.directive.mjs +19 -0
  210. package/esm2022/component/dropdown/dropdown-head.directive.mjs +19 -0
  211. package/esm2022/component/dropdown/dropdown.directive.mjs +43 -0
  212. package/{esm2020 → esm2022}/component/dropdown/dropdown.module.mjs +11 -11
  213. package/{esm2020 → esm2022}/component/dynamic-component/dynamic-component.module.mjs +5 -5
  214. package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +59 -0
  215. package/{esm2020 → esm2022}/component/expand-card/expand-card/expand-card.component.mjs +8 -8
  216. package/{esm2020 → esm2022}/component/expand-card/expand-card.module.mjs +15 -15
  217. package/{esm2020 → esm2022}/component/expand-card/expand-item/expand-item.component.mjs +6 -6
  218. package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +68 -0
  219. package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +17 -0
  220. package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +17 -0
  221. package/{esm2020 → esm2022}/component/expand-panel/expand-panel.module.mjs +17 -17
  222. package/{esm2020 → esm2022}/component/file-upload/file-item/file-item.component.mjs +4 -4
  223. package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +87 -0
  224. package/{esm2020 → esm2022}/component/file-upload/file-upload.module.mjs +5 -5
  225. package/esm2022/component/filter/base/filter-base.mjs +13 -0
  226. package/{esm2020 → esm2022}/component/filter/base/filter-component-base.mjs +1 -1
  227. package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +67 -0
  228. package/esm2022/component/filter/contarct/boolean-filter.mjs +8 -0
  229. package/esm2022/component/filter/contarct/date-filter-value.mjs +17 -0
  230. package/esm2022/component/filter/contarct/date-filter.mjs +11 -0
  231. package/esm2022/component/filter/contarct/filter-item.mjs +78 -0
  232. package/esm2022/component/filter/contarct/filter-state.mjs +145 -0
  233. package/{esm2020 → esm2022}/component/filter/contarct/i-filter.mjs +1 -1
  234. package/esm2022/component/filter/contarct/list-filter.mjs +13 -0
  235. package/esm2022/component/filter/contarct/numeric-filter-value.mjs +22 -0
  236. package/esm2022/component/filter/contarct/numeric-filter.mjs +10 -0
  237. package/esm2022/component/filter/contarct/sort-param.mjs +26 -0
  238. package/esm2022/component/filter/contarct/string-filter.mjs +13 -0
  239. package/esm2022/component/filter/date-filter/date-filter.component.mjs +67 -0
  240. package/esm2022/component/filter/filter-host/filter-host.component.mjs +85 -0
  241. package/{esm2020 → esm2022}/component/filter/filter.module.mjs +31 -31
  242. package/esm2022/component/filter/list-filter/list-filter.component.mjs +103 -0
  243. package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +67 -0
  244. package/esm2022/component/filter/string-filter/string-filter.component.mjs +68 -0
  245. package/esm2022/component/icon/icon/icon.component.mjs +39 -0
  246. package/esm2022/component/icon/icon-file/icon-file.component.mjs +30 -0
  247. package/esm2022/component/icon/icon-file/icon-file.module.mjs +28 -0
  248. package/esm2022/component/icon/icon-sprite.directive.mjs +34 -0
  249. package/esm2022/component/icon/icon.module.mjs +33 -0
  250. package/esm2022/component/icon/icon.service.mjs +64 -0
  251. package/{esm2020 → esm2022}/component/icon/public-api.mjs +2 -1
  252. package/esm2022/component/input/color-input/color-input.component.mjs +75 -0
  253. package/{esm2020 → esm2022}/component/input/form-group-title/form-group-title.component.mjs +6 -7
  254. package/esm2022/component/input/input/input.component.mjs +41 -0
  255. package/esm2022/component/input/input.module.mjs +26 -0
  256. package/esm2022/component/input/text-field/text-field.component.mjs +102 -0
  257. package/esm2022/component/message/message/message.component.mjs +79 -0
  258. package/esm2022/component/message/message-host/message-host.component.mjs +91 -0
  259. package/{esm2020 → esm2022}/component/message/message.module.mjs +9 -9
  260. package/esm2022/component/message/message.service.mjs +37 -0
  261. package/esm2022/component/message/model/message.mjs +29 -0
  262. package/esm2022/component/modal/dialog/dialog.component.mjs +51 -0
  263. package/esm2022/component/modal/dialog.service.mjs +40 -0
  264. package/esm2022/component/modal/modal-container/modal-container.component.mjs +86 -0
  265. package/esm2022/component/modal/modal.module.mjs +50 -0
  266. package/esm2022/component/modal/modal.service.mjs +125 -0
  267. package/{esm2020 → esm2022}/component/modal/model/current-modal.mjs +2 -1
  268. package/esm2022/component/modal/model/modal-instance.mjs +37 -0
  269. package/esm2022/component/pager/model/pager-state.mjs +70 -0
  270. package/{esm2020 → esm2022}/component/pager/pager/pager.component.mjs +4 -4
  271. package/{esm2020 → esm2022}/component/pager/pager.module.mjs +7 -7
  272. package/esm2022/component/panel/panel/panel.component.mjs +50 -0
  273. package/{esm2020 → esm2022}/component/panel/panel.module.mjs +5 -5
  274. package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +139 -0
  275. package/{esm2020 → esm2022}/component/progress-bar/progress-bar.module.mjs +5 -5
  276. package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +45 -0
  277. package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +141 -0
  278. package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +21 -0
  279. package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +105 -0
  280. package/esm2022/component/property-grid/property-grid.module.mjs +87 -0
  281. package/esm2022/component/public-api.mjs +68 -0
  282. package/esm2022/component/radio/radio/radio.component.mjs +250 -0
  283. package/esm2022/component/radio/radio-button/radio-button.component.mjs +69 -0
  284. package/{esm2020 → esm2022}/component/radio/radio.module.mjs +5 -5
  285. package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +176 -0
  286. package/{esm2020 → esm2022}/component/resize-panel/resize-panel.module.mjs +5 -5
  287. package/esm2022/component/select/select/select.component.mjs +284 -0
  288. package/esm2022/component/select/select-option.directive.mjs +17 -0
  289. package/esm2022/component/select/select-value.directive.mjs +17 -0
  290. package/{esm2020 → esm2022}/component/select/select.module.mjs +21 -21
  291. package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +56 -0
  292. package/{esm2020 → esm2022}/component/sidebar/sidebar.module.mjs +9 -9
  293. package/esm2022/component/switch/switch/switch.component.mjs +67 -0
  294. package/esm2022/component/switch/switch-button/switch-button.component.mjs +52 -0
  295. package/{esm2020 → esm2022}/component/switch/switch.module.mjs +5 -5
  296. package/esm2022/component/switch/switch.service.mjs +22 -0
  297. package/esm2022/component/table/base/cell-component-base.mjs +108 -0
  298. package/{esm2020 → esm2022}/component/table/base/head-cell-component-base.mjs +4 -4
  299. package/esm2022/component/table/cell/cell.component.mjs +38 -0
  300. package/esm2022/component/table/cell-host/cell-host.component.mjs +56 -0
  301. package/esm2022/component/table/contract/column-reorder-event.mjs +9 -0
  302. package/esm2022/component/table/contract/column-resize-event.mjs +9 -0
  303. package/esm2022/component/table/contract/sort-event.mjs +9 -0
  304. package/esm2022/component/table/contract/table-column-store.mjs +17 -0
  305. package/esm2022/component/table/contract/table-column.mjs +112 -0
  306. package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +44 -0
  307. package/esm2022/component/table/default/date-cell/date-cell.component.mjs +46 -0
  308. package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +45 -0
  309. package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +51 -0
  310. package/esm2022/component/table/default/list-cell/list-cell.component.mjs +71 -0
  311. package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +53 -0
  312. package/esm2022/component/table/default/string-cell/string-cell.component.mjs +53 -0
  313. package/esm2022/component/table/head-cell/head-cell.component.mjs +207 -0
  314. package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +59 -0
  315. package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +66 -0
  316. package/esm2022/component/table/selection-cell/selection-cell.component.mjs +49 -0
  317. package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +47 -0
  318. package/esm2022/component/table/service/table.service.mjs +672 -0
  319. package/esm2022/component/table/table/table.component.mjs +491 -0
  320. package/esm2022/component/table/table-body/table-body.component.mjs +224 -0
  321. package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +66 -0
  322. package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +97 -0
  323. package/esm2022/component/table/table-head/table-head.component.mjs +85 -0
  324. package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +153 -0
  325. package/esm2022/component/table/table-head-group/table-head-group.component.mjs +82 -0
  326. package/{esm2020 → esm2022}/component/table/table.module.mjs +74 -74
  327. package/esm2022/component/tabs/tab/tab.component.mjs +46 -0
  328. package/esm2022/component/tabs/tab-content.directive.mjs +17 -0
  329. package/esm2022/component/tabs/tab-title.directive.mjs +17 -0
  330. package/esm2022/component/tabs/tabs/tabs.component.mjs +74 -0
  331. package/{esm2020 → esm2022}/component/tabs/tabs.module.mjs +11 -11
  332. package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +30 -0
  333. package/{esm2020 → esm2022}/component/theme-switch/theme-switch.module.mjs +9 -9
  334. package/esm2022/component/theme-switch/theme-switch.service.mjs +36 -0
  335. package/esm2022/component/toggle/toggle/toggle.component.mjs +89 -0
  336. package/{esm2020 → esm2022}/component/toggle/toggle.module.mjs +5 -5
  337. package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +28 -0
  338. package/{esm2020 → esm2022}/component/toolbar/toolbar.module.mjs +5 -5
  339. package/esm2022/component/tree/tree/tree.component.mjs +150 -0
  340. package/esm2022/component/tree/tree-item/tree-item.component.mjs +90 -0
  341. package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +32 -0
  342. package/{esm2020 → esm2022}/component/tree/tree.module.mjs +5 -5
  343. package/esm2022/component/tree/tree.service.mjs +42 -0
  344. package/esm2022/directive/auto-position/auto-position.directive.mjs +72 -0
  345. package/{esm2020 → esm2022}/directive/auto-position/auto-position.module.mjs +5 -5
  346. package/esm2022/directive/click-outside/click-outside.directive.mjs +67 -0
  347. package/{esm2020 → esm2022}/directive/click-outside/click-outside.module.mjs +5 -5
  348. package/esm2022/directive/context-menu/context-menu.directive.mjs +132 -0
  349. package/{esm2020 → esm2022}/directive/context-menu/context-menu.module.mjs +7 -7
  350. package/esm2022/directive/disable-control/disable-control.directive.mjs +30 -0
  351. package/{esm2020 → esm2022}/directive/disable-control/disable-control.module.mjs +5 -5
  352. package/esm2022/directive/drag-drop/drag-container.directive.mjs +101 -0
  353. package/{esm2020 → esm2022}/directive/drag-drop/drag-drop.module.mjs +11 -11
  354. package/esm2022/directive/drag-drop/drag-drop.service.mjs +152 -0
  355. package/{esm2020 → esm2022}/directive/drag-drop/drag-placeholder.directive.mjs +4 -4
  356. package/esm2022/directive/drag-drop/drag-preview.directive.mjs +17 -0
  357. package/esm2022/directive/drag-drop/drag.directive.mjs +143 -0
  358. package/esm2022/directive/drag-drop/model/drag-container-instance.mjs +11 -0
  359. package/esm2022/directive/drag-drop/model/drag-instance.mjs +9 -0
  360. package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +68 -0
  361. package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +121 -0
  362. package/{esm2020 → esm2022}/directive/drag-sort/drag-sort.module.mjs +5 -5
  363. package/esm2022/directive/dynamic-content-base.directive.mjs +91 -0
  364. package/esm2022/directive/highlight/highlight.directive.mjs +73 -0
  365. package/{esm2020 → esm2022}/directive/highlight/highlight.module.mjs +5 -5
  366. package/esm2022/directive/hint/hint.directive.mjs +118 -0
  367. package/{esm2020 → esm2022}/directive/hint/hint.module.mjs +7 -7
  368. package/esm2022/directive/let/let.directive.mjs +40 -0
  369. package/{esm2020 → esm2022}/directive/let/let.module.mjs +5 -5
  370. package/esm2022/directive/loader/loader.directive.mjs +93 -0
  371. package/{esm2020 → esm2022}/directive/loader/loader.module.mjs +5 -5
  372. package/esm2022/directive/no-autofill/no-autofill.directive.mjs +32 -0
  373. package/{esm2020 → esm2022}/directive/no-autofill/no-autofill.module.mjs +5 -5
  374. package/esm2022/directive/only-number/only-number.directive.mjs +200 -0
  375. package/{esm2020 → esm2022}/directive/only-number/only-number.module.mjs +5 -5
  376. package/esm2022/directive/resize-drag/resize-drag.directive.mjs +73 -0
  377. package/{esm2020 → esm2022}/directive/resize-drag/resize-drag.module.mjs +5 -5
  378. package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +43 -0
  379. package/{esm2020 → esm2022}/directive/scroll-into-view/scroll-into-view.module.mjs +5 -5
  380. package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +107 -0
  381. package/esm2022/directive/scrollable/scrollable.directive.mjs +17 -0
  382. package/{esm2020 → esm2022}/directive/scrollable/scrollable.module.mjs +9 -9
  383. package/esm2022/directive/teta-template/teta-template.directive.mjs +24 -0
  384. package/{esm2020 → esm2022}/directive/teta-template/teta-template.module.mjs +5 -5
  385. package/esm2022/directive/tooltip/tooltip.directive.mjs +88 -0
  386. package/{esm2020 → esm2022}/directive/tooltip/tooltip.module.mjs +5 -5
  387. package/esm2022/locale/en.mjs +62 -0
  388. package/esm2022/locale/ru.mjs +62 -0
  389. package/esm2022/locale/teta-config.service.mjs +28 -0
  390. package/{esm2020 → esm2022}/locale/teta-localisation.mjs +1 -1
  391. package/{esm2020 → esm2022}/pipe/date-pipe/teta-date-pipe.module.mjs +5 -5
  392. package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +35 -0
  393. package/{esm2020 → esm2022}/pipe/number-pipe/number-pipe.module.mjs +5 -5
  394. package/{esm2020 → esm2022}/pipe/number-pipe/number.pipe.mjs +4 -4
  395. package/{esm2020 → esm2022}/util/forms-util.mjs +9 -9
  396. package/{fesm2020 → fesm2022}/tetacom-ng-components.mjs +7289 -6544
  397. package/fesm2022/tetacom-ng-components.mjs.map +1 -0
  398. package/locale/teta-localisation.d.ts +2 -0
  399. package/package.json +13 -14
  400. package/style/accordion.scss +28 -6
  401. package/style/assembly-library.scss +4 -1
  402. package/style/assembly-presets.scss +0 -1
  403. package/style/badge.scss +28 -0
  404. package/style/border.scss +2 -1
  405. package/style/bottombar.scss +5 -0
  406. package/style/button.scss +16 -13
  407. package/style/checkbox.scss +26 -13
  408. package/style/chips.scss +10 -10
  409. package/style/color.scss +1 -36
  410. package/style/datepicker.scss +139 -24
  411. package/style/divider.scss +15 -0
  412. package/style/drag.scss +1 -1
  413. package/style/dropdown.scss +6 -4
  414. package/style/hint.scss +5 -5
  415. package/style/icon.scss +2 -1
  416. package/style/input.scss +32 -23
  417. package/style/layout.scss +6 -2
  418. package/style/list.scss +11 -8
  419. package/style/loader.scss +2 -2
  420. package/style/message.scss +15 -7
  421. package/style/modal.scss +3 -2
  422. package/style/navigation.scss +4 -1
  423. package/style/presets/color-presets.scss +8 -160
  424. package/style/presets/font-presets.scss +26 -25
  425. package/style/presets/view-types.scss +17 -0
  426. package/style/progress.scss +3 -3
  427. package/style/radio.scss +21 -7
  428. package/style/reset.scss +1 -0
  429. package/style/resize-panel.scss +2 -2
  430. package/style/scroll.scss +3 -3
  431. package/style/select.scss +26 -21
  432. package/style/shadow.scss +0 -20
  433. package/style/sidebar.scss +1 -1
  434. package/style/skeleton.scss +1 -1
  435. package/style/switch.scss +15 -10
  436. package/style/table.scss +15 -15
  437. package/style/tabs.scss +11 -11
  438. package/style/tag.scss +37 -0
  439. package/style/toggle.scss +20 -18
  440. package/style/toolbar.scss +1 -1
  441. package/style/tooltip.scss +8 -6
  442. package/style/tree.scss +4 -4
  443. package/util/export-dom-image.d.ts +1 -1
  444. package/component/date-picker/day-select/day-select.component.d.ts +0 -51
  445. package/component/date-picker/month-select/month-select.component.d.ts +0 -40
  446. package/component/date-picker/service/picker-touch.service.d.ts +0 -12
  447. package/component/date-picker/time-part-control/time-part-control.component.d.ts +0 -26
  448. package/component/date-picker/util/date-picker-util.d.ts +0 -15
  449. package/component/date-picker/year-select/year-select.component.d.ts +0 -45
  450. package/esm2020/common/contract/teta-content-ref.mjs +0 -8
  451. package/esm2020/common/public-api.mjs +0 -5
  452. package/esm2020/common/service/click.service.mjs +0 -23
  453. package/esm2020/common/service/dynamic-component.service.mjs +0 -93
  454. package/esm2020/common/service/overlay-container.service.mjs +0 -41
  455. package/esm2020/component/accordion/accordion/accordion.component.mjs +0 -18
  456. package/esm2020/component/accordion/accordion-content.directive.mjs +0 -16
  457. package/esm2020/component/accordion/accordion-head/accordion-head.component.mjs +0 -52
  458. package/esm2020/component/accordion/accordion-item/accordion-item.component.mjs +0 -43
  459. package/esm2020/component/button/button/button.component.mjs +0 -40
  460. package/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +0 -244
  461. package/esm2020/component/chart-3d/model/chart-3d-options.mjs +0 -7
  462. package/esm2020/component/chart-3d/model/series-3d.mjs +0 -7
  463. package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +0 -134
  464. package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +0 -289
  465. package/esm2020/component/date-picker/date-picker.module.mjs +0 -69
  466. package/esm2020/component/date-picker/day-select/day-select.component.mjs +0 -184
  467. package/esm2020/component/date-picker/model/date-period.mjs +0 -7
  468. package/esm2020/component/date-picker/model/day-model.mjs +0 -13
  469. package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +0 -253
  470. package/esm2020/component/date-picker/month-select/month-select.component.mjs +0 -148
  471. package/esm2020/component/date-picker/public-api.mjs +0 -6
  472. package/esm2020/component/date-picker/service/picker-touch.service.mjs +0 -34
  473. package/esm2020/component/date-picker/time-part-control/time-part-control.component.mjs +0 -73
  474. package/esm2020/component/date-picker/util/date-picker-util.mjs +0 -142
  475. package/esm2020/component/date-picker/year-select/year-select.component.mjs +0 -189
  476. package/esm2020/component/delimiter/delimiter/delimiter.component.mjs +0 -63
  477. package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +0 -30
  478. package/esm2020/component/dropdown/dropdown-base.mjs +0 -225
  479. package/esm2020/component/dropdown/dropdown-content.directive.mjs +0 -17
  480. package/esm2020/component/dropdown/dropdown-head.directive.mjs +0 -18
  481. package/esm2020/component/dropdown/dropdown.directive.mjs +0 -38
  482. package/esm2020/component/dynamic-component/popup-content/popup-content.component.mjs +0 -59
  483. package/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +0 -65
  484. package/esm2020/component/expand-panel/expand-panel-content.directive.mjs +0 -16
  485. package/esm2020/component/expand-panel/expand-panel-head.directive.mjs +0 -16
  486. package/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +0 -82
  487. package/esm2020/component/filter/base/filter-base.mjs +0 -10
  488. package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +0 -60
  489. package/esm2020/component/filter/contarct/boolean-filter.mjs +0 -10
  490. package/esm2020/component/filter/contarct/date-filter-value.mjs +0 -9
  491. package/esm2020/component/filter/contarct/date-filter.mjs +0 -11
  492. package/esm2020/component/filter/contarct/filter-item.mjs +0 -34
  493. package/esm2020/component/filter/contarct/filter-state.mjs +0 -145
  494. package/esm2020/component/filter/contarct/list-filter.mjs +0 -12
  495. package/esm2020/component/filter/contarct/numeric-filter-value.mjs +0 -10
  496. package/esm2020/component/filter/contarct/numeric-filter.mjs +0 -11
  497. package/esm2020/component/filter/contarct/sort-param.mjs +0 -14
  498. package/esm2020/component/filter/contarct/string-filter.mjs +0 -12
  499. package/esm2020/component/filter/date-filter/date-filter.component.mjs +0 -60
  500. package/esm2020/component/filter/filter-host/filter-host.component.mjs +0 -78
  501. package/esm2020/component/filter/list-filter/list-filter.component.mjs +0 -95
  502. package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +0 -60
  503. package/esm2020/component/filter/string-filter/string-filter.component.mjs +0 -61
  504. package/esm2020/component/icon/icon/icon.component.mjs +0 -37
  505. package/esm2020/component/icon/icon-file/icon-file.component.mjs +0 -14
  506. package/esm2020/component/icon/icon-sprite.directive.mjs +0 -32
  507. package/esm2020/component/icon/icon.module.mjs +0 -38
  508. package/esm2020/component/icon/icon.service.mjs +0 -59
  509. package/esm2020/component/input/color-input/color-input.component.mjs +0 -73
  510. package/esm2020/component/input/input/input.component.mjs +0 -36
  511. package/esm2020/component/input/input.module.mjs +0 -26
  512. package/esm2020/component/input/text-field/text-field.component.mjs +0 -96
  513. package/esm2020/component/message/message/message.component.mjs +0 -74
  514. package/esm2020/component/message/message-host/message-host.component.mjs +0 -88
  515. package/esm2020/component/message/message.service.mjs +0 -35
  516. package/esm2020/component/message/model/message.mjs +0 -21
  517. package/esm2020/component/modal/dialog/dialog.component.mjs +0 -44
  518. package/esm2020/component/modal/dialog.service.mjs +0 -39
  519. package/esm2020/component/modal/modal-container/modal-container.component.mjs +0 -84
  520. package/esm2020/component/modal/modal.module.mjs +0 -50
  521. package/esm2020/component/modal/modal.service.mjs +0 -121
  522. package/esm2020/component/modal/model/modal-instance.mjs +0 -34
  523. package/esm2020/component/pager/model/pager-state.mjs +0 -50
  524. package/esm2020/component/panel/panel/panel.component.mjs +0 -51
  525. package/esm2020/component/progress-bar/progress-bar/progress-bar.component.mjs +0 -131
  526. package/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +0 -38
  527. package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +0 -130
  528. package/esm2020/component/property-grid/property-grid/property-grid-item-description.directive.mjs +0 -19
  529. package/esm2020/component/property-grid/property-grid/property-grid.component.mjs +0 -97
  530. package/esm2020/component/property-grid/property-grid.module.mjs +0 -87
  531. package/esm2020/component/public-api.mjs +0 -65
  532. package/esm2020/component/radio/radio/radio.component.mjs +0 -245
  533. package/esm2020/component/radio/radio-button/radio-button.component.mjs +0 -63
  534. package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +0 -168
  535. package/esm2020/component/select/select/select.component.mjs +0 -260
  536. package/esm2020/component/select/select-option.directive.mjs +0 -16
  537. package/esm2020/component/select/select-value.directive.mjs +0 -16
  538. package/esm2020/component/sidebar/sidebar/sidebar.component.mjs +0 -54
  539. package/esm2020/component/switch/switch/switch.component.mjs +0 -52
  540. package/esm2020/component/switch/switch-button/switch-button.component.mjs +0 -47
  541. package/esm2020/component/switch/switch.service.mjs +0 -21
  542. package/esm2020/component/table/base/cell-component-base.mjs +0 -97
  543. package/esm2020/component/table/cell/cell.component.mjs +0 -33
  544. package/esm2020/component/table/cell-host/cell-host.component.mjs +0 -50
  545. package/esm2020/component/table/contract/column-reorder-event.mjs +0 -7
  546. package/esm2020/component/table/contract/column-resize-event.mjs +0 -7
  547. package/esm2020/component/table/contract/sort-event.mjs +0 -7
  548. package/esm2020/component/table/contract/table-column-store.mjs +0 -12
  549. package/esm2020/component/table/contract/table-column.mjs +0 -38
  550. package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +0 -45
  551. package/esm2020/component/table/default/date-cell/date-cell.component.mjs +0 -47
  552. package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +0 -46
  553. package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +0 -47
  554. package/esm2020/component/table/default/list-cell/list-cell.component.mjs +0 -76
  555. package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +0 -55
  556. package/esm2020/component/table/default/string-cell/string-cell.component.mjs +0 -54
  557. package/esm2020/component/table/head-cell/head-cell.component.mjs +0 -189
  558. package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +0 -50
  559. package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +0 -60
  560. package/esm2020/component/table/selection-cell/selection-cell.component.mjs +0 -46
  561. package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +0 -45
  562. package/esm2020/component/table/service/table.service.mjs +0 -648
  563. package/esm2020/component/table/table/table.component.mjs +0 -472
  564. package/esm2020/component/table/table-body/table-body.component.mjs +0 -203
  565. package/esm2020/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +0 -55
  566. package/esm2020/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +0 -86
  567. package/esm2020/component/table/table-head/table-head.component.mjs +0 -77
  568. package/esm2020/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +0 -141
  569. package/esm2020/component/table/table-head-group/table-head-group.component.mjs +0 -76
  570. package/esm2020/component/tabs/tab/tab.component.mjs +0 -42
  571. package/esm2020/component/tabs/tab-content.directive.mjs +0 -16
  572. package/esm2020/component/tabs/tab-title.directive.mjs +0 -16
  573. package/esm2020/component/tabs/tabs/tabs.component.mjs +0 -70
  574. package/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +0 -28
  575. package/esm2020/component/theme-switch/theme-switch.service.mjs +0 -34
  576. package/esm2020/component/toggle/toggle/toggle.component.mjs +0 -79
  577. package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +0 -26
  578. package/esm2020/component/tree/tree/tree.component.mjs +0 -138
  579. package/esm2020/component/tree/tree-item/tree-item.component.mjs +0 -85
  580. package/esm2020/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +0 -28
  581. package/esm2020/component/tree/tree.service.mjs +0 -40
  582. package/esm2020/directive/auto-position/auto-position.directive.mjs +0 -69
  583. package/esm2020/directive/click-outside/click-outside.directive.mjs +0 -65
  584. package/esm2020/directive/context-menu/context-menu.directive.mjs +0 -120
  585. package/esm2020/directive/disable-control/disable-control.directive.mjs +0 -29
  586. package/esm2020/directive/drag-drop/drag-container.directive.mjs +0 -92
  587. package/esm2020/directive/drag-drop/drag-drop.service.mjs +0 -142
  588. package/esm2020/directive/drag-drop/drag-preview.directive.mjs +0 -16
  589. package/esm2020/directive/drag-drop/drag.directive.mjs +0 -135
  590. package/esm2020/directive/drag-drop/model/drag-container-instance.mjs +0 -8
  591. package/esm2020/directive/drag-drop/model/drag-instance.mjs +0 -7
  592. package/esm2020/directive/drag-sort/drag-sort-container.directive.mjs +0 -64
  593. package/esm2020/directive/drag-sort/drag-sort-item.directive.mjs +0 -115
  594. package/esm2020/directive/dynamic-content-base.directive.mjs +0 -80
  595. package/esm2020/directive/highlight/highlight.directive.mjs +0 -72
  596. package/esm2020/directive/hint/hint.directive.mjs +0 -103
  597. package/esm2020/directive/let/let.directive.mjs +0 -38
  598. package/esm2020/directive/loader/loader.directive.mjs +0 -85
  599. package/esm2020/directive/no-autofill/no-autofill.directive.mjs +0 -30
  600. package/esm2020/directive/only-number/only-number.directive.mjs +0 -198
  601. package/esm2020/directive/resize-drag/resize-drag.directive.mjs +0 -71
  602. package/esm2020/directive/scroll-into-view/scroll-into-view.directive.mjs +0 -40
  603. package/esm2020/directive/scrollable/scrollable/scrollable.component.mjs +0 -96
  604. package/esm2020/directive/scrollable/scrollable.directive.mjs +0 -19
  605. package/esm2020/directive/teta-template/teta-template.directive.mjs +0 -22
  606. package/esm2020/directive/tooltip/tooltip.directive.mjs +0 -76
  607. package/esm2020/locale/en.mjs +0 -60
  608. package/esm2020/locale/ru.mjs +0 -60
  609. package/esm2020/locale/teta-config.service.mjs +0 -28
  610. package/esm2020/pipe/date-pipe/teta-date.pipe.mjs +0 -34
  611. package/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +0 -18
  612. package/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +0 -21
  613. package/fesm2015/tetacom-ng-components.mjs +0 -13042
  614. package/fesm2015/tetacom-ng-components.mjs.map +0 -1
  615. package/fesm2020/tetacom-ng-components.mjs.map +0 -1
  616. package/pipe/prepend-zero/prepend-zero.module.d.ts +0 -8
  617. package/pipe/prepend-zero/prepend-zero.pipe.d.ts +0 -7
  618. package/style/presets/shadow-presets.scss +0 -16
  619. package/style/tokens/basedark.tokens.css +0 -77
  620. package/style/tokens/baselight.tokens.css +0 -61
  621. package/style/tokens/global.tokens.css +0 -235
  622. package/style/tokens/utility.tokens.css +0 -1119
  623. package/style/util/button-util.scss +0 -58
  624. /package/{esm2020 → esm2022}/common/contract/auto-close-ignore-case.mjs +0 -0
  625. /package/{esm2020 → esm2022}/common/contract/constructor-type.mjs +0 -0
  626. /package/{esm2020 → esm2022}/common/contract/dynamic-data.mjs +0 -0
  627. /package/{esm2020 → esm2022}/common/contract/i-dictionary.mjs +0 -0
  628. /package/{esm2020 → esm2022}/common/contract/i-id-name.mjs +0 -0
  629. /package/{esm2020 → esm2022}/common/contract/i-id.mjs +0 -0
  630. /package/{esm2020 → esm2022}/common/contract/i-rect.mjs +0 -0
  631. /package/{esm2020 → esm2022}/common/contract/i-tree-data.mjs +0 -0
  632. /package/{esm2020 → esm2022}/common/contract/public-api.mjs +0 -0
  633. /package/{esm2020 → esm2022}/common/enum/align.enum.mjs +0 -0
  634. /package/{esm2020 → esm2022}/common/enum/public-api.mjs +0 -0
  635. /package/{esm2020 → esm2022}/common/enum/teta-size.enum.mjs +0 -0
  636. /package/{esm2020 → esm2022}/common/enum/vertical-align.enum.mjs +0 -0
  637. /package/{esm2020 → esm2022}/common/service/public-api.mjs +0 -0
  638. /package/{esm2020 → esm2022}/common/util/array-util.mjs +0 -0
  639. /package/{esm2020 → esm2022}/common/util/dom-util.mjs +0 -0
  640. /package/{esm2020 → esm2022}/common/util/position-util.mjs +0 -0
  641. /package/{esm2020 → esm2022}/common/util/public-api.mjs +0 -0
  642. /package/{esm2020 → esm2022}/component/accordion/public-api.mjs +0 -0
  643. /package/{esm2020 → esm2022}/component/autocomplete/public-api.mjs +0 -0
  644. /package/{esm2020 → esm2022}/component/button/public-api.mjs +0 -0
  645. /package/{esm2020 → esm2022}/component/chart-3d/model/base-3d-point.mjs +0 -0
  646. /package/{esm2020 → esm2022}/component/chart-3d/model/public-api.mjs +0 -0
  647. /package/{esm2020 → esm2022}/component/chart-3d/public-api.mjs +0 -0
  648. /package/{esm2020 → esm2022}/component/checkbox/public-api.mjs +0 -0
  649. /package/{esm2020 → esm2022}/component/date-picker/model/date-picker-mode.enum.mjs +0 -0
  650. /package/{esm2020 → esm2022}/component/delimiter/public-api.mjs +0 -0
  651. /package/{esm2020 → esm2022}/component/dropdown/public-api.mjs +0 -0
  652. /package/{esm2020 → esm2022}/component/dynamic-component/public-api.mjs +0 -0
  653. /package/{esm2020 → esm2022}/component/expand-card/public-api.mjs +0 -0
  654. /package/{esm2020 → esm2022}/component/expand-panel/public-api.mjs +0 -0
  655. /package/{esm2020 → esm2022}/component/file-upload/public-api.mjs +0 -0
  656. /package/{esm2020 → esm2022}/component/filter/contarct/filter-component-map.mjs +0 -0
  657. /package/{esm2020 → esm2022}/component/filter/enum/filter-type.enum.mjs +0 -0
  658. /package/{esm2020 → esm2022}/component/filter/enum/list-filter-type.enum.mjs +0 -0
  659. /package/{esm2020 → esm2022}/component/filter/enum/string-filter-type.enum.mjs +0 -0
  660. /package/{esm2020 → esm2022}/component/filter/public-api.mjs +0 -0
  661. /package/{esm2020 → esm2022}/component/input/public-api.mjs +0 -0
  662. /package/{esm2020 → esm2022}/component/message/public-api.mjs +0 -0
  663. /package/{esm2020 → esm2022}/component/modal/model/i-modal-config.mjs +0 -0
  664. /package/{esm2020 → esm2022}/component/modal/model/i-modal-result.mjs +0 -0
  665. /package/{esm2020 → esm2022}/component/modal/model/modal-close-reason.enum.mjs +0 -0
  666. /package/{esm2020 → esm2022}/component/modal/public-api.mjs +0 -0
  667. /package/{esm2020 → esm2022}/component/pager/public-api.mjs +0 -0
  668. /package/{esm2020 → esm2022}/component/pager/util/pager-util.mjs +0 -0
  669. /package/{esm2020 → esm2022}/component/panel/public-api.mjs +0 -0
  670. /package/{esm2020 → esm2022}/component/progress-bar/public-api.mjs +0 -0
  671. /package/{esm2020 → esm2022}/component/property-grid/public-api.mjs +0 -0
  672. /package/{esm2020 → esm2022}/component/radio/public-api.mjs +0 -0
  673. /package/{esm2020 → esm2022}/component/resize-panel/public-api.mjs +0 -0
  674. /package/{esm2020 → esm2022}/component/select/public-api.mjs +0 -0
  675. /package/{esm2020 → esm2022}/component/sidebar/public-api.mjs +0 -0
  676. /package/{esm2020 → esm2022}/component/sidebar/sidebar-position.enum.mjs +0 -0
  677. /package/{esm2020 → esm2022}/component/switch/public-api.mjs +0 -0
  678. /package/{esm2020 → esm2022}/component/table/base/detail-component-base.mjs +0 -0
  679. /package/{esm2020 → esm2022}/component/table/contract/cell-components-map.mjs +0 -0
  680. /package/{esm2020 → esm2022}/component/table/contract/head-dropdown-tab.mjs +0 -0
  681. /package/{esm2020 → esm2022}/component/table/contract/i-cell-coordinates.mjs +0 -0
  682. /package/{esm2020 → esm2022}/component/table/contract/i-cell-event.mjs +0 -0
  683. /package/{esm2020 → esm2022}/component/table/contract/i-cell-instance.mjs +0 -0
  684. /package/{esm2020 → esm2022}/component/table/contract/i-cell-value.mjs +0 -0
  685. /package/{esm2020 → esm2022}/component/table/contract/public-api.mjs +0 -0
  686. /package/{esm2020 → esm2022}/component/table/enum/aggregation-type.enum.mjs +0 -0
  687. /package/{esm2020 → esm2022}/component/table/enum/edit-event.enum.mjs +0 -0
  688. /package/{esm2020 → esm2022}/component/table/enum/edit-type.enum.mjs +0 -0
  689. /package/{esm2020 → esm2022}/component/table/enum/public-api.mjs +0 -0
  690. /package/{esm2020 → esm2022}/component/table/enum/select-type.enum.mjs +0 -0
  691. /package/{esm2020 → esm2022}/component/table/public-api.mjs +0 -0
  692. /package/{esm2020 → esm2022}/component/table/util/public-api.mjs +0 -0
  693. /package/{esm2020 → esm2022}/component/table/util/state-util.mjs +0 -0
  694. /package/{esm2020 → esm2022}/component/table/util/table-util.mjs +0 -0
  695. /package/{esm2020 → esm2022}/component/tabs/public-api.mjs +0 -0
  696. /package/{esm2020 → esm2022}/component/theme-switch/public-api.mjs +0 -0
  697. /package/{esm2020 → esm2022}/component/toggle/public-api.mjs +0 -0
  698. /package/{esm2020 → esm2022}/component/toolbar/public-api.mjs +0 -0
  699. /package/{esm2020 → esm2022}/component/tree/public-api.mjs +0 -0
  700. /package/{esm2020 → esm2022}/directive/auto-position/public-api.mjs +0 -0
  701. /package/{esm2020 → esm2022}/directive/click-outside/public-api.mjs +0 -0
  702. /package/{esm2020 → esm2022}/directive/context-menu/public-api.mjs +0 -0
  703. /package/{esm2020 → esm2022}/directive/disable-control/public-api.mjs +0 -0
  704. /package/{esm2020 → esm2022}/directive/drag-drop/model/drag-process.mjs +0 -0
  705. /package/{esm2020 → esm2022}/directive/drag-drop/model/drag-selection.mjs +0 -0
  706. /package/{esm2020 → esm2022}/directive/drag-drop/model/drop-event.mjs +0 -0
  707. /package/{esm2020 → esm2022}/directive/drag-drop/model/drop-target.mjs +0 -0
  708. /package/{esm2020 → esm2022}/directive/drag-drop/model/point.mjs +0 -0
  709. /package/{esm2020 → esm2022}/directive/drag-drop/model/public-api.mjs +0 -0
  710. /package/{esm2020 → esm2022}/directive/drag-drop/public-api.mjs +0 -0
  711. /package/{esm2020 → esm2022}/directive/drag-sort/drag-sort-event.mjs +0 -0
  712. /package/{esm2020 → esm2022}/directive/drag-sort/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/directive/highlight/public-api.mjs +0 -0
  714. /package/{esm2020 → esm2022}/directive/hint/public-api.mjs +0 -0
  715. /package/{esm2020 → esm2022}/directive/let/public-api.mjs +0 -0
  716. /package/{esm2020 → esm2022}/directive/loader/public-api.mjs +0 -0
  717. /package/{esm2020 → esm2022}/directive/no-autofill/public-api.mjs +0 -0
  718. /package/{esm2020 → esm2022}/directive/only-number/public-api.mjs +0 -0
  719. /package/{esm2020 → esm2022}/directive/public-api.mjs +0 -0
  720. /package/{esm2020 → esm2022}/directive/resize-drag/public-api.mjs +0 -0
  721. /package/{esm2020 → esm2022}/directive/scroll-into-view/public-api.mjs +0 -0
  722. /package/{esm2020 → esm2022}/directive/scrollable/public-api.mjs +0 -0
  723. /package/{esm2020 → esm2022}/directive/teta-template/public-api.mjs +0 -0
  724. /package/{esm2020 → esm2022}/directive/tooltip/public-api.mjs +0 -0
  725. /package/{esm2020 → esm2022}/locale/public-api.mjs +0 -0
  726. /package/{esm2020 → esm2022}/observable/animation-frame.mjs +0 -0
  727. /package/{esm2020 → esm2022}/observable/public-api.mjs +0 -0
  728. /package/{esm2020 → esm2022}/observable/zoneObservable.mjs +0 -0
  729. /package/{esm2020 → esm2022}/pipe/date-pipe/public-api.mjs +0 -0
  730. /package/{esm2020 → esm2022}/pipe/number-pipe/public-api.mjs +0 -0
  731. /package/{esm2020 → esm2022}/pipe/public-api.mjs +0 -0
  732. /package/{esm2020 → esm2022}/pipe/util/number-helper.mjs +0 -0
  733. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  734. /package/{esm2020 → esm2022}/tetacom-ng-components.mjs +0 -0
  735. /package/{esm2020 → esm2022}/util/date-util.mjs +0 -0
  736. /package/{esm2020 → esm2022}/util/export-dom-image.mjs +0 -0
  737. /package/{esm2020 → esm2022}/util/public-api.mjs +0 -0
  738. /package/{esm2020 → esm2022}/util/string-util.mjs +0 -0
@@ -0,0 +1,150 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, } from '@angular/core';
2
+ import { TreeService } from '../tree.service';
3
+ import { TetaTemplateDirective } from '../../../directive/teta-template/teta-template.directive';
4
+ import { filter, takeWhile } from 'rxjs/operators';
5
+ import { CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../tree.service";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "@angular/cdk/scrolling";
10
+ import * as i4 from "../../../directive/scrollable/scrollable.directive";
11
+ import * as i5 from "../../../directive/scrollable/scrollable/scrollable.component";
12
+ import * as i6 from "../tree-item/tree-item.component";
13
+ export class TreeComponent {
14
+ _service;
15
+ _elementRef;
16
+ _cdr;
17
+ _zone;
18
+ set data(data) {
19
+ this._data = data;
20
+ }
21
+ get data() {
22
+ return this._data;
23
+ }
24
+ padding = 8;
25
+ childNodeName = 'children';
26
+ virtual;
27
+ height = 28;
28
+ set openItems(items) {
29
+ this._openItems = items;
30
+ this._service.setOpenItems(items);
31
+ }
32
+ service = new EventEmitter();
33
+ openItemsChange = new EventEmitter();
34
+ viewport;
35
+ template;
36
+ childPadding;
37
+ displayData;
38
+ _data;
39
+ _openItems;
40
+ _alive = true;
41
+ _obs;
42
+ constructor(_service, _elementRef, _cdr, _zone) {
43
+ this._service = _service;
44
+ this._elementRef = _elementRef;
45
+ this._cdr = _cdr;
46
+ this._zone = _zone;
47
+ this._service.openItems
48
+ .pipe(takeWhile((_) => this._alive), filter((_) => this._openItems !== _))
49
+ .subscribe((_) => {
50
+ this._openItems = _;
51
+ this.displayData = this.getDisplayData(this._data, 0);
52
+ this.openItemsChange.emit(_);
53
+ this.viewport?.checkViewportSize();
54
+ });
55
+ }
56
+ set compareItems(func) {
57
+ this._service.compareItems = func;
58
+ }
59
+ get compareItems() {
60
+ return this._service.compareItems;
61
+ }
62
+ treeClass = true;
63
+ ngOnInit() {
64
+ this.service.emit(this._service);
65
+ this.addResizeObserver();
66
+ }
67
+ ngOnChanges(changes) {
68
+ this.displayData = this.getDisplayData(this._data, 0);
69
+ this.childPadding = this.hasChildren(this._data);
70
+ this.viewport?.checkViewportSize();
71
+ }
72
+ ngOnDestroy() {
73
+ this._alive = false;
74
+ this.removeResizeObserver();
75
+ }
76
+ ngAfterViewInit() {
77
+ this._service.scrollToIndex.pipe(takeWhile(() => this._alive)).subscribe((index) => {
78
+ this._zone.runOutsideAngular(() => {
79
+ setTimeout(() => {
80
+ this.viewport?.scrollToIndex(index, 'smooth');
81
+ });
82
+ });
83
+ });
84
+ }
85
+ trackRow = (index, item) => {
86
+ if (this.compareItems) {
87
+ return this.compareItems(item);
88
+ }
89
+ return index;
90
+ };
91
+ hasChildren(data) {
92
+ return data?.some((_) => _[this.childNodeName]?.length > 0);
93
+ }
94
+ getDisplayData(data, level) {
95
+ const result = [];
96
+ data?.forEach((item) => {
97
+ item['level'] = level;
98
+ result.push(item);
99
+ if (item[this.childNodeName]?.length > 0
100
+ && this._openItems?.find((openItem) => this.compareItems(openItem) === this.compareItems(item))) {
101
+ result.push(...this.getDisplayData(item[this.childNodeName], level + 1));
102
+ }
103
+ });
104
+ return result;
105
+ }
106
+ addResizeObserver() {
107
+ this._obs = new ResizeObserver((_) => {
108
+ this.viewport?.checkViewportSize();
109
+ });
110
+ this._obs.observe(this._elementRef.nativeElement);
111
+ }
112
+ removeResizeObserver() {
113
+ this._obs.unobserve(this._elementRef.nativeElement);
114
+ this._obs.disconnect();
115
+ }
116
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeComponent, deps: [{ token: i1.TreeService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
117
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: TreeComponent, selector: "teta-tree", inputs: { data: "data", padding: "padding", childNodeName: "childNodeName", virtual: "virtual", height: "height", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class.tree": "this.treeClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<teta-scrollable *ngIf=\"virtual; else default\" class=\"column column_auto\">\n <cdk-virtual-scroll-viewport tetaScrollable\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n </cdk-virtual-scroll-viewport>\n</teta-scrollable>\n<ng-template #default>\n <teta-scrollable class=\"column column_auto\" direction=\"column\">\n <teta-tree-item *ngFor=\"let item of displayData; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n </teta-scrollable>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i4.ScrollableDirective, selector: "[tetaScrollable]" }, { kind: "component", type: i5.ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: i6.TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "childPadding"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeComponent, decorators: [{
120
+ type: Component,
121
+ args: [{ selector: 'teta-tree', providers: [TreeService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-scrollable *ngIf=\"virtual; else default\" class=\"column column_auto\">\n <cdk-virtual-scroll-viewport tetaScrollable\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n </cdk-virtual-scroll-viewport>\n</teta-scrollable>\n<ng-template #default>\n <teta-scrollable class=\"column column_auto\" direction=\"column\">\n <teta-tree-item *ngFor=\"let item of displayData; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n </teta-scrollable>\n</ng-template>\n" }]
122
+ }], ctorParameters: function () { return [{ type: i1.TreeService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { data: [{
123
+ type: Input
124
+ }], padding: [{
125
+ type: Input
126
+ }], childNodeName: [{
127
+ type: Input
128
+ }], virtual: [{
129
+ type: Input
130
+ }], height: [{
131
+ type: Input
132
+ }], openItems: [{
133
+ type: Input
134
+ }], service: [{
135
+ type: Output
136
+ }], openItemsChange: [{
137
+ type: Output
138
+ }], viewport: [{
139
+ type: ViewChild,
140
+ args: [CdkVirtualScrollViewport, { static: false }]
141
+ }], template: [{
142
+ type: ContentChild,
143
+ args: [TetaTemplateDirective, { static: true }]
144
+ }], compareItems: [{
145
+ type: Input
146
+ }], treeClass: [{
147
+ type: HostBinding,
148
+ args: ['class.tree']
149
+ }] } });
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RyZWUvdHJlZS90cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlL3RyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFDUyxTQUFTLEdBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMvRixPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQVNoRSxNQUFNLE9BQU8sYUFBYTtJQXFDSjtJQUNBO0lBQ0E7SUFDQTtJQXZDcEIsSUFDSSxJQUFJLENBQUMsSUFBaUI7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRVEsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNaLGFBQWEsR0FBRyxVQUFVLENBQUM7SUFDM0IsT0FBTyxDQUFVO0lBQ2pCLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFFckIsSUFDSSxTQUFTLENBQUMsS0FBa0I7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVTLE9BQU8sR0FDZixJQUFJLFlBQVksRUFBZSxDQUFDO0lBQ3hCLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRU8sUUFBUSxDQUEyQjtJQUd6RixRQUFRLENBQXdCO0lBQ2hDLFlBQVksQ0FBVTtJQUN0QixXQUFXLENBQWM7SUFFakIsS0FBSyxDQUFjO0lBQ25CLFVBQVUsQ0FBYztJQUN4QixNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2QsSUFBSSxDQUFpQjtJQUU3QixZQUFvQixRQUFxQixFQUNyQixXQUF1QixFQUN2QixJQUF1QixFQUN2QixLQUFhO1FBSGIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUzthQUNwQixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzdCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUMsQ0FDckM7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFjLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFDSSxZQUFZLENBQUMsSUFBOEI7UUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFMkMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUU3RCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDOUIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDN0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7Z0JBQy9DLENBQUMsQ0FBQyxDQUFBO1lBQ0osQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxRQUFRLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBZSxFQUFPLEVBQUU7UUFDakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBR00sV0FBVyxDQUFDLElBQWlCO1FBQ25DLE9BQU8sSUFBSSxFQUFFLElBQUksQ0FDZixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFpQixFQUFFLEtBQWE7UUFDckQsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztRQUMvQixJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBZSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQzttQkFDbkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNqRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7dUdBcElVLGFBQWE7MkZBQWIsYUFBYSw2VUFIYixDQUFDLFdBQVcsQ0FBQyxnRUE4QlYscUJBQXFCLHdHQUZ4Qix3QkFBd0IscUVDcERyQyxrekNBMEJBOzsyRkRDYSxhQUFhO2tCQVB6QixTQUFTOytCQUNFLFdBQVcsYUFHVixDQUFDLFdBQVcsQ0FBQyxtQkFDUCx1QkFBdUIsQ0FBQyxNQUFNO2dMQUkzQyxJQUFJO3NCQURQLEtBQUs7Z0JBU0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7Z0JBTUksT0FBTztzQkFBaEIsTUFBTTtnQkFFRyxlQUFlO3NCQUF4QixNQUFNO2dCQUUrQyxRQUFRO3NCQUE3RCxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFHcEQsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkE0Qi9DLFlBQVk7c0JBRGYsS0FBSztnQkFTc0MsU0FBUztzQkFBcEQsV0FBVzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJVHJlZURhdGF9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLXRyZWUtZGF0YSc7XG5pbXBvcnQge1RyZWVTZXJ2aWNlfSBmcm9tICcuLi90cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHtUZXRhVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS90ZXRhLXRlbXBsYXRlL3RldGEtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlV2hpbGV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXRyZWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyZWUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbVHJlZVNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBzZXQgZGF0YShkYXRhOiBJVHJlZURhdGFbXSkge1xuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICB9XG5cbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cblxuICBASW5wdXQoKSBwYWRkaW5nID0gODtcbiAgQElucHV0KCkgY2hpbGROb2RlTmFtZSA9ICdjaGlsZHJlbic7XG4gIEBJbnB1dCgpIHZpcnR1YWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhlaWdodCA9IDI4O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBvcGVuSXRlbXMoaXRlbXM6IElUcmVlRGF0YVtdKSB7XG4gICAgdGhpcy5fb3Blbkl0ZW1zID0gaXRlbXM7XG4gICAgdGhpcy5fc2VydmljZS5zZXRPcGVuSXRlbXMoaXRlbXMpO1xuICB9XG5cbiAgQE91dHB1dCgpIHNlcnZpY2U6IEV2ZW50RW1pdHRlcjxUcmVlU2VydmljZT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8VHJlZVNlcnZpY2U+KCk7XG4gIEBPdXRwdXQoKSBvcGVuSXRlbXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsIHtzdGF0aWM6IGZhbHNlfSkgdmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcblxuICBAQ29udGVudENoaWxkKFRldGFUZW1wbGF0ZURpcmVjdGl2ZSwge3N0YXRpYzogdHJ1ZX0pXG4gIHRlbXBsYXRlOiBUZXRhVGVtcGxhdGVEaXJlY3RpdmU7XG4gIGNoaWxkUGFkZGluZzogYm9vbGVhbjtcbiAgZGlzcGxheURhdGE6IElUcmVlRGF0YVtdO1xuXG4gIHByaXZhdGUgX2RhdGE6IElUcmVlRGF0YVtdO1xuICBwcml2YXRlIF9vcGVuSXRlbXM6IElUcmVlRGF0YVtdO1xuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG4gIHByaXZhdGUgX29iczogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2VydmljZTogVHJlZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSkge1xuICAgIHRoaXMuX3NlcnZpY2Uub3Blbkl0ZW1zXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIGZpbHRlcigoXykgPT4gdGhpcy5fb3Blbkl0ZW1zICE9PSBfKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoXzogSVRyZWVEYXRhW10pID0+IHtcbiAgICAgICAgdGhpcy5fb3Blbkl0ZW1zID0gXztcbiAgICAgICAgdGhpcy5kaXNwbGF5RGF0YSA9IHRoaXMuZ2V0RGlzcGxheURhdGEodGhpcy5fZGF0YSwgMCk7XG4gICAgICAgIHRoaXMub3Blbkl0ZW1zQ2hhbmdlLmVtaXQoXyk7XG4gICAgICAgIHRoaXMudmlld3BvcnQ/LmNoZWNrVmlld3BvcnRTaXplKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjb21wYXJlSXRlbXMoZnVuYzogKGl0ZW06IElUcmVlRGF0YSkgPT4gYW55KSB7XG4gICAgdGhpcy5fc2VydmljZS5jb21wYXJlSXRlbXMgPSBmdW5jO1xuICB9XG5cbiAgZ2V0IGNvbXBhcmVJdGVtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VydmljZS5jb21wYXJlSXRlbXM7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRyZWUnKSBwcml2YXRlIHJlYWRvbmx5IHRyZWVDbGFzcyA9IHRydWU7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmVtaXQodGhpcy5fc2VydmljZSk7XG4gICAgdGhpcy5hZGRSZXNpemVPYnNlcnZlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheURhdGEgPSB0aGlzLmdldERpc3BsYXlEYXRhKHRoaXMuX2RhdGEsIDApO1xuICAgIHRoaXMuY2hpbGRQYWRkaW5nID0gdGhpcy5oYXNDaGlsZHJlbih0aGlzLl9kYXRhKTtcbiAgICB0aGlzLnZpZXdwb3J0Py5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnJlbW92ZVJlc2l6ZU9ic2VydmVyKClcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9zZXJ2aWNlLnNjcm9sbFRvSW5kZXgucGlwZShcbiAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSlcbiAgICApLnN1YnNjcmliZSgoaW5kZXgpID0+IHtcblxuICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlld3BvcnQ/LnNjcm9sbFRvSW5kZXgoaW5kZXgsICdzbW9vdGgnKVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgdHJhY2tSb3cgPSAoaW5kZXg6IG51bWJlciwgaXRlbTogSVRyZWVEYXRhKTogYW55ID0+IHtcbiAgICBpZiAodGhpcy5jb21wYXJlSXRlbXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVJdGVtcyhpdGVtKTtcbiAgICB9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9O1xuXG5cbiAgcHJpdmF0ZSBoYXNDaGlsZHJlbihkYXRhOiBJVHJlZURhdGFbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXRhPy5zb21lKFxuICAgICAgKF8pID0+IF9bdGhpcy5jaGlsZE5vZGVOYW1lXT8ubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldERpc3BsYXlEYXRhKGRhdGE6IElUcmVlRGF0YVtdLCBsZXZlbDogbnVtYmVyKSB7XG4gICAgY29uc3QgcmVzdWx0OiBJVHJlZURhdGFbXSA9IFtdO1xuICAgIGRhdGE/LmZvckVhY2goKGl0ZW06IElUcmVlRGF0YSkgPT4ge1xuICAgICAgaXRlbVsnbGV2ZWwnXSA9IGxldmVsO1xuICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICBpZiAoaXRlbVt0aGlzLmNoaWxkTm9kZU5hbWVdPy5sZW5ndGggPiAwXG4gICAgICAgICYmIHRoaXMuX29wZW5JdGVtcz8uZmluZCgob3Blbkl0ZW0pID0+IHRoaXMuY29tcGFyZUl0ZW1zKG9wZW5JdGVtKSA9PT0gdGhpcy5jb21wYXJlSXRlbXMoaXRlbSkpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0RGlzcGxheURhdGEoaXRlbVt0aGlzLmNoaWxkTm9kZU5hbWVdLCBsZXZlbCArIDEpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRSZXNpemVPYnNlcnZlcigpIHtcbiAgICB0aGlzLl9vYnMgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKF8pID0+IHtcbiAgICAgIHRoaXMudmlld3BvcnQ/LmNoZWNrVmlld3BvcnRTaXplKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9vYnMub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVSZXNpemVPYnNlcnZlcigpIHtcbiAgICB0aGlzLl9vYnMudW5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5fb2JzLmRpc2Nvbm5lY3QoKTtcbiAgfVxufVxuIiwiPHRldGEtc2Nyb2xsYWJsZSAqbmdJZj1cInZpcnR1YWw7IGVsc2UgZGVmYXVsdFwiIGNsYXNzPVwiY29sdW1uIGNvbHVtbl9hdXRvXCI+XG4gIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgdGV0YVNjcm9sbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWJvZHktY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbVNpemVdPVwiaGVpZ2h0XCI+XG4gICAgPHRldGEtdHJlZS1pdGVtICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheURhdGE7dGVtcGxhdGVDYWNoZVNpemU6IDA7IHRyYWNrQnk6IHRyYWNrUm93O1wiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIFtkZXB0aF09XCJpdGVtWydsZXZlbCddXCJcbiAgICAgICAgICAgICAgICAgICAgW3BhZGRpbmddPVwicGFkZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjaGlsZE5vZGVOYW1lXT1cImNoaWxkTm9kZU5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbY2hpbGRQYWRkaW5nXT1cImNoaWxkUGFkZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZT8udGVtcGxhdGVcIj48L3RldGEtdHJlZS1pdGVtPlxuICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbjwvdGV0YS1zY3JvbGxhYmxlPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICA8dGV0YS1zY3JvbGxhYmxlIGNsYXNzPVwiY29sdW1uIGNvbHVtbl9hdXRvXCIgZGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgPHRldGEtdHJlZS1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhOyB0cmFja0J5OiB0cmFja1Jvd1wiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIFtkZXB0aF09XCJpdGVtWydsZXZlbCddXCJcbiAgICAgICAgICAgICAgICAgICAgW3BhZGRpbmddPVwicGFkZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjaGlsZE5vZGVOYW1lXT1cImNoaWxkTm9kZU5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbY2hpbGRQYWRkaW5nXT1cImNoaWxkUGFkZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZT8udGVtcGxhdGVcIj48L3RldGEtdHJlZS1pdGVtPlxuICA8L3RldGEtc2Nyb2xsYWJsZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,90 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, } from '@angular/core';
2
+ import { takeWhile } from 'rxjs/operators';
3
+ import { animate, style, transition, trigger } from '@angular/animations';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../tree.service";
6
+ import * as i2 from "@angular/common";
7
+ /**
8
+ * TODO: Lazy загрузка дочерних элементов, Output onExpand, шаблон для иконки expand
9
+ */
10
+ export class TreeItemComponent {
11
+ service;
12
+ _cdr;
13
+ item;
14
+ depth = 0;
15
+ padding = 16;
16
+ childNodeName = 'children';
17
+ template;
18
+ childPadding;
19
+ treeItemClass = true;
20
+ itemIsOpen = false;
21
+ _alive = true;
22
+ treeItemInstance = true;
23
+ get computedDepth() {
24
+ return (this.depth +
25
+ (this.item[this.childNodeName]?.length > 0 ? 0 : this.childPadding ? 2 : 1));
26
+ }
27
+ constructor(service, _cdr) {
28
+ this.service = service;
29
+ this._cdr = _cdr;
30
+ }
31
+ openItem() {
32
+ this.service.openItem(this.item);
33
+ }
34
+ ngOnInit() {
35
+ this.service.openItems
36
+ .pipe(takeWhile((_) => this._alive))
37
+ .subscribe((_) => {
38
+ const found = _?.find((x) => this.service.compareItems(x) ===
39
+ this.service.compareItems(this.item));
40
+ this.itemIsOpen = found != null;
41
+ this._cdr.markForCheck();
42
+ });
43
+ }
44
+ ngOnChanges(changes) {
45
+ }
46
+ ngOnDestroy() {
47
+ this._alive = false;
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeItemComponent, deps: [{ token: i1.TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: TreeItemComponent, selector: "teta-tree-item", inputs: { item: "item", depth: "depth", padding: "padding", childNodeName: "childNodeName", template: "template", childPadding: "childPadding" }, host: { properties: { "class.tree__item-container": "this.treeItemClass", "@treeItemInstance": "this.treeItemInstance" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree__item_content\" [ngClass]=\"'tree__item_content-' + computedDepth\" (click)=\"openItem()\">\n <ng-container\n *ngTemplateOutlet=\"template; context: {$implicit: item, item: item, open: itemIsOpen, service: service, depth: depth}\"></ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
51
+ trigger('treeItemInstance', [
52
+ transition('void => *', [
53
+ style({ opacity: '0' }),
54
+ animate(200, style({ opacity: '1' })),
55
+ ]),
56
+ // transition('* => void', [animate(200, style({opacity: '0'}))]),
57
+ ]),
58
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeItemComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ selector: 'teta-tree-item', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
63
+ trigger('treeItemInstance', [
64
+ transition('void => *', [
65
+ style({ opacity: '0' }),
66
+ animate(200, style({ opacity: '1' })),
67
+ ]),
68
+ // transition('* => void', [animate(200, style({opacity: '0'}))]),
69
+ ]),
70
+ ], template: "<div class=\"tree__item_content\" [ngClass]=\"'tree__item_content-' + computedDepth\" (click)=\"openItem()\">\n <ng-container\n *ngTemplateOutlet=\"template; context: {$implicit: item, item: item, open: itemIsOpen, service: service, depth: depth}\"></ng-container>\n</div>\n" }]
71
+ }], ctorParameters: function () { return [{ type: i1.TreeService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
72
+ type: Input
73
+ }], depth: [{
74
+ type: Input
75
+ }], padding: [{
76
+ type: Input
77
+ }], childNodeName: [{
78
+ type: Input
79
+ }], template: [{
80
+ type: Input
81
+ }], childPadding: [{
82
+ type: Input
83
+ }], treeItemClass: [{
84
+ type: HostBinding,
85
+ args: ['class.tree__item-container']
86
+ }], treeItemInstance: [{
87
+ type: HostBinding,
88
+ args: ['@treeItemInstance']
89
+ }] } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBTU4sTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUV4RTs7R0FFRztBQWdCSCxNQUFNLE9BQU8saUJBQWlCO0lBdUJUO0lBQThCO0lBdEJ4QyxJQUFJLENBQVk7SUFDaEIsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDYixhQUFhLEdBQUcsVUFBVSxDQUFDO0lBQzNCLFFBQVEsQ0FBbUI7SUFDM0IsWUFBWSxDQUFVO0lBRTZCLGFBQWEsR0FDdkUsSUFBSSxDQUFDO0lBRVAsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVYLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDNkIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBRTNFLElBQUksYUFBYTtRQUNmLE9BQU8sQ0FDTCxJQUFJLENBQUMsS0FBSztZQUNWLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUM1RSxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQW1CLE9BQW9CLEVBQVUsSUFBdUI7UUFBckQsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUFVLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO2FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQ25CLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDdkMsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7dUdBakRVLGlCQUFpQjsyRkFBakIsaUJBQWlCLHlWQ25DOUIsd1JBSUEsaVREcUJjO1lBQ1YsT0FBTyxDQUFDLGtCQUFrQixFQUFFO2dCQUMxQixVQUFVLENBQUMsV0FBVyxFQUFFO29CQUN0QixLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUM7b0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7aUJBQ3BDLENBQUM7Z0JBQ0Ysa0VBQWtFO2FBQ25FLENBQUM7U0FDSDs7MkZBRVUsaUJBQWlCO2tCQWY3QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTs0QkFDMUIsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQ0FDdEIsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBQyxDQUFDO2dDQUNyQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDOzZCQUNwQyxDQUFDOzRCQUNGLGtFQUFrRTt5QkFDbkUsQ0FBQztxQkFDSDtrSUFHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFc0QsYUFBYTtzQkFBeEUsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBTVUsZ0JBQWdCO3NCQUFsRSxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SVRyZWVEYXRhfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS10cmVlLWRhdGEnO1xuaW1wb3J0IHtUcmVlU2VydmljZX0gZnJvbSAnLi4vdHJlZS5zZXJ2aWNlJztcbmltcG9ydCB7dGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuLyoqXG4gKiBUT0RPOiBMYXp5INC30LDQs9GA0YPQt9C60LAg0LTQvtGH0LXRgNC90LjRhSDRjdC70LXQvNC10L3RgtC+0LIsIE91dHB1dCBvbkV4cGFuZCwg0YjQsNCx0LvQvtC9INC00LvRjyDQuNC60L7QvdC60LggZXhwYW5kXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtdHJlZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyZWUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3RyZWVJdGVtSW5zdGFuY2UnLCBbXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXG4gICAgICAgIHN0eWxlKHtvcGFjaXR5OiAnMCd9KSxcbiAgICAgICAgYW5pbWF0ZSgyMDAsIHN0eWxlKHtvcGFjaXR5OiAnMSd9KSksXG4gICAgICBdKSxcbiAgICAgIC8vIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFthbmltYXRlKDIwMCwgc3R5bGUoe29wYWNpdHk6ICcwJ30pKV0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBpdGVtOiBJVHJlZURhdGE7XG4gIEBJbnB1dCgpIGRlcHRoID0gMDtcbiAgQElucHV0KCkgcGFkZGluZyA9IDE2O1xuICBASW5wdXQoKSBjaGlsZE5vZGVOYW1lID0gJ2NoaWxkcmVuJztcbiAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGNoaWxkUGFkZGluZzogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRyZWVfX2l0ZW0tY29udGFpbmVyJykgcHJpdmF0ZSByZWFkb25seSB0cmVlSXRlbUNsYXNzID1cbiAgICB0cnVlO1xuXG4gIGl0ZW1Jc09wZW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnQHRyZWVJdGVtSW5zdGFuY2UnKSBwcml2YXRlIHJlYWRvbmx5IHRyZWVJdGVtSW5zdGFuY2UgPSB0cnVlO1xuXG4gIGdldCBjb21wdXRlZERlcHRoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZGVwdGggK1xuICAgICAgKHRoaXMuaXRlbVt0aGlzLmNoaWxkTm9kZU5hbWVdPy5sZW5ndGggPiAwID8gMCA6IHRoaXMuY2hpbGRQYWRkaW5nID8gMiA6IDEpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBUcmVlU2VydmljZSwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgb3Blbkl0ZW0oKSB7XG4gICAgdGhpcy5zZXJ2aWNlLm9wZW5JdGVtKHRoaXMuaXRlbSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlcnZpY2Uub3Blbkl0ZW1zXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgY29uc3QgZm91bmQgPSBfPy5maW5kKFxuICAgICAgICAgICh4KSA9PlxuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNvbXBhcmVJdGVtcyh4KSA9PT1cbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5jb21wYXJlSXRlbXModGhpcy5pdGVtKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLml0ZW1Jc09wZW4gPSBmb3VuZCAhPSBudWxsO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0cmVlX19pdGVtX2NvbnRlbnRcIiBbbmdDbGFzc109XCIndHJlZV9faXRlbV9jb250ZW50LScgKyBjb21wdXRlZERlcHRoXCIgKGNsaWNrKT1cIm9wZW5JdGVtKClcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGl0ZW0sIGl0ZW06IGl0ZW0sIG9wZW46IGl0ZW1Jc09wZW4sIHNlcnZpY2U6IHNlcnZpY2UsIGRlcHRoOiBkZXB0aH1cIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,32 @@
1
+ import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../tree.service";
5
+ import * as i2 from "../../icon/icon/icon.component";
6
+ import * as i3 from "@angular/common";
7
+ export class TreeItemToggleComponent {
8
+ service;
9
+ _cdr;
10
+ item;
11
+ open;
12
+ constructor(service, _cdr) {
13
+ this.service = service;
14
+ this._cdr = _cdr;
15
+ }
16
+ ngOnInit() {
17
+ this.open = this.service.openItems.pipe(map((_) => {
18
+ const found = _?.find((x) => this.service.compareItems(x) ===
19
+ this.service.compareItems(this.item));
20
+ return found != null;
21
+ }));
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeItemToggleComponent, deps: [{ token: i1.TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: { item: "item" }, ngImport: i0, template: "<teta-icon [name]=\"(open | async) ? 'arrowDownKey' : 'arrowRightKey'\"\n class=\"tree__icon\"></teta-icon>\n", styles: [":host{display:inline-flex;align-items:center}\n"], dependencies: [{ kind: "component", type: i2.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeItemToggleComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'teta-tree-item-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon [name]=\"(open | async) ? 'arrowDownKey' : 'arrowRightKey'\"\n class=\"tree__icon\"></teta-icon>\n", styles: [":host{display:inline-flex;align-items:center}\n"] }]
29
+ }], ctorParameters: function () { return [{ type: i1.TreeService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
30
+ type: Input
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RyZWUvdHJlZS1pdGVtLXRvZ2dsZS90cmVlLWl0ZW0tdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlLWl0ZW0tdG9nZ2xlL3RyZWUtaXRlbS10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFTckMsTUFBTSxPQUFPLHVCQUF1QjtJQUlmO0lBQThCO0lBSHhDLElBQUksQ0FBWTtJQUN6QixJQUFJLENBQXNCO0lBRTFCLFlBQW1CLE9BQW9CLEVBQVUsSUFBdUI7UUFBckQsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUFVLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQUcsQ0FBQztJQUU1RSxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FDbkIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUN2QyxDQUFDO1lBQ0YsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3VHQWpCVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qix1RkNsQnBDLHlIQUVBOzsyRkRnQmEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtrSUFHdEMsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZVNlcnZpY2UgfSBmcm9tICcuLi90cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVRyZWVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktdHJlZS1kYXRhJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10cmVlLWl0ZW0tdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtaXRlbS10b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLWl0ZW0tdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbVRvZ2dsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGl0ZW06IElUcmVlRGF0YTtcbiAgb3BlbjogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZTogVHJlZVNlcnZpY2UsIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gdGhpcy5zZXJ2aWNlLm9wZW5JdGVtcy5waXBlKFxuICAgICAgbWFwKChfKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0gXz8uZmluZChcbiAgICAgICAgICAoeCkgPT5cbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5jb21wYXJlSXRlbXMoeCkgPT09XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuY29tcGFyZUl0ZW1zKHRoaXMuaXRlbSlcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGZvdW5kICE9IG51bGw7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjx0ZXRhLWljb24gW25hbWVdPVwiKG9wZW4gfCBhc3luYykgPyAnYXJyb3dEb3duS2V5JyA6ICdhcnJvd1JpZ2h0S2V5J1wiXG4gICAgICAgICAgIGNsYXNzPVwidHJlZV9faWNvblwiPjwvdGV0YS1pY29uPlxuIl19
@@ -9,11 +9,11 @@ import { ScrollingModule } from '@angular/cdk/scrolling';
9
9
  import { ScrollableModule } from "../../directive/scrollable/scrollable.module";
10
10
  import * as i0 from "@angular/core";
11
11
  export class TreeModule {
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: TreeModule, declarations: [TreeComponent, TreeItemComponent, TreeItemToggleComponent], imports: [CommonModule, IconModule, TetaTemplateModule, ScrollingModule, ScrollableModule], exports: [TreeComponent, TetaTemplateModule, TreeItemToggleComponent] });
14
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeModule, imports: [CommonModule, IconModule, TetaTemplateModule, ScrollingModule, ScrollableModule, TetaTemplateModule] });
12
15
  }
13
- TreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- TreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: TreeModule, declarations: [TreeComponent, TreeItemComponent, TreeItemToggleComponent], imports: [CommonModule, IconModule, TetaTemplateModule, ScrollingModule, ScrollableModule], exports: [TreeComponent, TetaTemplateModule, TreeItemToggleComponent] });
15
- TreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeModule, imports: [CommonModule, IconModule, TetaTemplateModule, ScrollingModule, ScrollableModule, TetaTemplateModule] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  declarations: [TreeComponent, TreeItemComponent, TreeItemToggleComponent],
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
21
21
  imports: [CommonModule, IconModule, TetaTemplateModule, ScrollingModule, ScrollableModule],
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RyZWUvdHJlZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOENBQThDLENBQUM7O0FBTzlFLE1BQU0sT0FBTyxVQUFVOzt1R0FBVixVQUFVO3dHQUFWLFVBQVUsaUJBSk4sYUFBYSxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixhQUU1RCxZQUFZLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsYUFEakYsYUFBYSxFQUFFLGtCQUFrQixFQUFFLHVCQUF1Qjt3R0FHekQsVUFBVSxZQUZULFlBQVksRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQURsRSxrQkFBa0I7MkZBR2hDLFVBQVU7a0JBTHRCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixDQUFDO29CQUN6RSxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLENBQUM7b0JBQ25FLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDO2lCQUM3RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vdHJlZS90cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV0YVRlbXBsYXRlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3RldGEtdGVtcGxhdGUvdGV0YS10ZW1wbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgVHJlZUl0ZW1Ub2dnbGVDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtaXRlbS10b2dnbGUvdHJlZS1pdGVtLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtTY3JvbGxpbmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtTY3JvbGxhYmxlTW9kdWxlfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlL3Njcm9sbGFibGUvc2Nyb2xsYWJsZS5tb2R1bGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVHJlZUNvbXBvbmVudCwgVHJlZUl0ZW1Db21wb25lbnQsIFRyZWVJdGVtVG9nZ2xlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1RyZWVDb21wb25lbnQsIFRldGFUZW1wbGF0ZU1vZHVsZSwgVHJlZUl0ZW1Ub2dnbGVDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Nb2R1bGUsIFRldGFUZW1wbGF0ZU1vZHVsZSwgU2Nyb2xsaW5nTW9kdWxlLCBTY3JvbGxhYmxlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZU1vZHVsZSB7fVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RyZWUvdHJlZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOENBQThDLENBQUM7O0FBTzlFLE1BQU0sT0FBTyxVQUFVO3VHQUFWLFVBQVU7d0dBQVYsVUFBVSxpQkFKTixhQUFhLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLGFBRTVELFlBQVksRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixhQURqRixhQUFhLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCO3dHQUd6RCxVQUFVLFlBRlQsWUFBWSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBRGxFLGtCQUFrQjs7MkZBR2hDLFVBQVU7a0JBTHRCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixDQUFDO29CQUN6RSxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLENBQUM7b0JBQ25FLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDO2lCQUM3RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vdHJlZS90cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV0YVRlbXBsYXRlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3RldGEtdGVtcGxhdGUvdGV0YS10ZW1wbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgVHJlZUl0ZW1Ub2dnbGVDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtaXRlbS10b2dnbGUvdHJlZS1pdGVtLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtTY3JvbGxpbmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtTY3JvbGxhYmxlTW9kdWxlfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlL3Njcm9sbGFibGUvc2Nyb2xsYWJsZS5tb2R1bGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVHJlZUNvbXBvbmVudCwgVHJlZUl0ZW1Db21wb25lbnQsIFRyZWVJdGVtVG9nZ2xlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1RyZWVDb21wb25lbnQsIFRldGFUZW1wbGF0ZU1vZHVsZSwgVHJlZUl0ZW1Ub2dnbGVDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Nb2R1bGUsIFRldGFUZW1wbGF0ZU1vZHVsZSwgU2Nyb2xsaW5nTW9kdWxlLCBTY3JvbGxhYmxlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,42 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class TreeService {
5
+ openItems;
6
+ scrollToIndex;
7
+ _openItems = new BehaviorSubject([]);
8
+ _scrollToIndex = new BehaviorSubject(0);
9
+ constructor() {
10
+ this.openItems = this._openItems.asObservable();
11
+ this.scrollToIndex = this._scrollToIndex.asObservable();
12
+ }
13
+ compareItems = (item) => item;
14
+ openItem(item) {
15
+ const newValue = this.addOrRemove(item, this._openItems.value);
16
+ this.setOpenItems(newValue);
17
+ }
18
+ setOpenItems(items) {
19
+ this._openItems.next(items);
20
+ }
21
+ scrollTo(index) {
22
+ this._scrollToIndex.next(index);
23
+ }
24
+ addOrRemove(needle, list) {
25
+ const found = list?.find((x) => this.compareItems(x) === this.compareItems(needle));
26
+ if (found) {
27
+ return list.filter((x) => this.compareItems(x) !== this.compareItems(needle));
28
+ }
29
+ else {
30
+ return [...list, needle];
31
+ }
32
+ }
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeService, providedIn: 'root' });
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TreeService, decorators: [{
37
+ type: Injectable,
38
+ args: [{
39
+ providedIn: 'root',
40
+ }]
41
+ }], ctorParameters: function () { return []; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90cmVlL3RyZWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBQyxlQUFlLEVBQXNCLE1BQU0sTUFBTSxDQUFDOztBQUsxRCxNQUFNLE9BQU8sV0FBVztJQUN0QixTQUFTLENBQTBCO0lBQ25DLGFBQWEsQ0FBcUI7SUFFMUIsVUFBVSxHQUFpQyxJQUFJLGVBQWUsQ0FFcEUsRUFBRSxDQUFDLENBQUM7SUFDRSxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFFeEQ7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxZQUFZLEdBQTZCLENBQUMsSUFBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFFbkUsUUFBUSxDQUFDLElBQWU7UUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBa0I7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFTyxXQUFXLENBQUksTUFBUyxFQUFFLElBQVM7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FDdEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FDMUQsQ0FBQztRQUNGLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUMxRCxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7dUdBeENVLFdBQVc7MkdBQVgsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVRyZWVEYXRhIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktdHJlZS1kYXRhJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVTZXJ2aWNlIHtcbiAgb3Blbkl0ZW1zOiBPYnNlcnZhYmxlPElUcmVlRGF0YVtdPjtcbiAgc2Nyb2xsVG9JbmRleDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIHByaXZhdGUgX29wZW5JdGVtczogQmVoYXZpb3JTdWJqZWN0PElUcmVlRGF0YVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgSVRyZWVEYXRhW11cbiAgPihbXSk7XG4gIHByaXZhdGUgX3Njcm9sbFRvSW5kZXggPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5vcGVuSXRlbXMgPSB0aGlzLl9vcGVuSXRlbXMuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5zY3JvbGxUb0luZGV4ID0gdGhpcy5fc2Nyb2xsVG9JbmRleC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbXBhcmVJdGVtczogKGl0ZW06IElUcmVlRGF0YSkgPT4gYW55ID0gKGl0ZW06IElUcmVlRGF0YSkgPT4gaXRlbTtcblxuICBvcGVuSXRlbShpdGVtOiBJVHJlZURhdGEpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuYWRkT3JSZW1vdmUoaXRlbSwgdGhpcy5fb3Blbkl0ZW1zLnZhbHVlKTtcbiAgICB0aGlzLnNldE9wZW5JdGVtcyhuZXdWYWx1ZSk7XG4gIH1cblxuICBzZXRPcGVuSXRlbXMoaXRlbXM6IElUcmVlRGF0YVtdKSB7XG4gICAgdGhpcy5fb3Blbkl0ZW1zLm5leHQoaXRlbXMpO1xuICB9XG5cbiAgc2Nyb2xsVG8oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuX3Njcm9sbFRvSW5kZXgubmV4dChpbmRleClcbiAgfVxuXG4gIHByaXZhdGUgYWRkT3JSZW1vdmU8Rz4obmVlZGxlOiBHLCBsaXN0OiBHW10pOiBHW10ge1xuICAgIGNvbnN0IGZvdW5kID0gbGlzdD8uZmluZChcbiAgICAgICh4KSA9PiB0aGlzLmNvbXBhcmVJdGVtcyh4KSA9PT0gdGhpcy5jb21wYXJlSXRlbXMobmVlZGxlKVxuICAgICk7XG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICByZXR1cm4gbGlzdC5maWx0ZXIoXG4gICAgICAgICh4KSA9PiB0aGlzLmNvbXBhcmVJdGVtcyh4KSAhPT0gdGhpcy5jb21wYXJlSXRlbXMobmVlZGxlKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFsuLi5saXN0LCBuZWVkbGVdO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==
@@ -0,0 +1,72 @@
1
+ import { Directive, HostBinding, Input } from '@angular/core';
2
+ import { VerticalAlign } from '../../common/enum/vertical-align.enum';
3
+ import { DomUtil } from '../../common/util/dom-util';
4
+ import { PositionUtil } from '../../common/util/position-util';
5
+ import { takeWhile } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ export class AutoPositionDirective {
8
+ _elementRef;
9
+ _zone;
10
+ align;
11
+ verticalAlign = VerticalAlign.auto;
12
+ fixed = 'fixed';
13
+ _alive = true;
14
+ constructor(_elementRef, _zone) {
15
+ this._elementRef = _elementRef;
16
+ this._zone = _zone;
17
+ }
18
+ ngAfterViewInit() {
19
+ this.setPosition();
20
+ this._zone.onStable.pipe(takeWhile(() => this._alive)).subscribe(() => {
21
+ this.setPosition();
22
+ });
23
+ }
24
+ ngOnDestroy() {
25
+ this._alive = false;
26
+ }
27
+ setPosition() {
28
+ const target = this._elementRef.nativeElement;
29
+ const containerPosition = this._elementRef.nativeElement.parentElement.getBoundingClientRect();
30
+ const targetPosition = target.getBoundingClientRect();
31
+ const rect = {
32
+ bottom: containerPosition.bottom,
33
+ top: containerPosition.top,
34
+ left: containerPosition.left,
35
+ right: containerPosition.right,
36
+ };
37
+ const targetRect = {
38
+ bottom: targetPosition.bottom,
39
+ top: targetPosition.top,
40
+ left: targetPosition.left,
41
+ right: targetPosition.right,
42
+ };
43
+ const targetTransformedParent = DomUtil.findTransformedParent(target);
44
+ let parentPosition = {
45
+ left: 0,
46
+ right: 0,
47
+ top: 0,
48
+ bottom: 0
49
+ };
50
+ if (targetTransformedParent) {
51
+ parentPosition = targetTransformedParent.getBoundingClientRect();
52
+ }
53
+ const position = PositionUtil.getPosition(rect, targetRect, this.align, this.verticalAlign, 0, 0, parentPosition);
54
+ PositionUtil.setElementPosition(target, position);
55
+ }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
57
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", type: AutoPositionDirective, selector: "[tetaAutoPosition]", inputs: { align: "align", verticalAlign: "verticalAlign" }, host: { properties: { "style.position": "this.fixed" } }, ngImport: i0 });
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AutoPositionDirective, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[tetaAutoPosition]'
63
+ }]
64
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { align: [{
65
+ type: Input
66
+ }], verticalAlign: [{
67
+ type: Input
68
+ }], fixed: [{
69
+ type: HostBinding,
70
+ args: ['style.position']
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2F1dG8tcG9zaXRpb24vYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUt6QyxNQUFNLE9BQU8scUJBQXFCO0lBUVo7SUFBaUM7SUFQNUMsS0FBSyxDQUFRO0lBQ2IsYUFBYSxHQUFrQixhQUFhLENBQUMsSUFBSSxDQUFDO0lBRTVCLEtBQUssR0FBRyxPQUFPLENBQUM7SUFFdkMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUV0QixZQUFvQixXQUF1QixFQUFVLEtBQWE7UUFBOUMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFRO0lBQ2xFLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQzlDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0YsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFdEQsTUFBTSxJQUFJLEdBQVU7WUFDbEIsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU07WUFDaEMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLEdBQUc7WUFDMUIsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUk7WUFDNUIsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEtBQUs7U0FDL0IsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFVO1lBQ3hCLE1BQU0sRUFBRSxjQUFjLENBQUMsTUFBTTtZQUM3QixHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUc7WUFDdkIsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1lBQ3pCLEtBQUssRUFBRSxjQUFjLENBQUMsS0FBSztTQUM1QixDQUFDO1FBRUYsTUFBTSx1QkFBdUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEUsSUFBSSxjQUFjLEdBQUc7WUFDbkIsSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsQ0FBQztZQUNSLEdBQUcsRUFBRSxDQUFDO1lBQ04sTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDO1FBQ0YsSUFBSSx1QkFBdUIsRUFBRTtZQUMzQixjQUFjLEdBQUcsdUJBQXVCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUNsRTtRQUVELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQ3ZDLElBQUksRUFDSixVQUFVLEVBQ1YsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsYUFBYSxFQUNsQixDQUFDLEVBQ0QsQ0FBQyxFQUNELGNBQWMsQ0FDZixDQUFDO1FBRUYsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDO3VHQS9EVSxxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjtzSEFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFeUIsS0FBSztzQkFBbkMsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5pbXBvcnQge0lSZWN0fSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7RG9tVXRpbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZG9tLXV0aWwnO1xuaW1wb3J0IHtQb3NpdGlvblV0aWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwnO1xuaW1wb3J0IHt0YWtlV2hpbGV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RldGFBdXRvUG9zaXRpb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBBdXRvUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBhbGlnbjogQWxpZ247XG4gIEBJbnB1dCgpIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmF1dG87XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb3NpdGlvbicpIGZpeGVkID0gJ2ZpeGVkJztcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfem9uZTogTmdab25lKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgIHRoaXMuX3pvbmUub25TdGFibGUucGlwZSh0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb24oKTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGNvbnRhaW5lclBvc2l0aW9uID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdGFyZ2V0UG9zaXRpb24gPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCByZWN0OiBJUmVjdCA9IHtcbiAgICAgIGJvdHRvbTogY29udGFpbmVyUG9zaXRpb24uYm90dG9tLFxuICAgICAgdG9wOiBjb250YWluZXJQb3NpdGlvbi50b3AsXG4gICAgICBsZWZ0OiBjb250YWluZXJQb3NpdGlvbi5sZWZ0LFxuICAgICAgcmlnaHQ6IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0LFxuICAgIH07XG5cbiAgICBjb25zdCB0YXJnZXRSZWN0OiBJUmVjdCA9IHtcbiAgICAgIGJvdHRvbTogdGFyZ2V0UG9zaXRpb24uYm90dG9tLFxuICAgICAgdG9wOiB0YXJnZXRQb3NpdGlvbi50b3AsXG4gICAgICBsZWZ0OiB0YXJnZXRQb3NpdGlvbi5sZWZ0LFxuICAgICAgcmlnaHQ6IHRhcmdldFBvc2l0aW9uLnJpZ2h0LFxuICAgIH07XG5cbiAgICBjb25zdCB0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudCA9IERvbVV0aWwuZmluZFRyYW5zZm9ybWVkUGFyZW50KHRhcmdldCk7XG4gICAgbGV0IHBhcmVudFBvc2l0aW9uID0ge1xuICAgICAgbGVmdDogMCxcbiAgICAgIHJpZ2h0OiAwLFxuICAgICAgdG9wOiAwLFxuICAgICAgYm90dG9tOiAwXG4gICAgfTtcbiAgICBpZiAodGFyZ2V0VHJhbnNmb3JtZWRQYXJlbnQpIHtcbiAgICAgIHBhcmVudFBvc2l0aW9uID0gdGFyZ2V0VHJhbnNmb3JtZWRQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgcG9zaXRpb24gPSBQb3NpdGlvblV0aWwuZ2V0UG9zaXRpb24oXG4gICAgICByZWN0LFxuICAgICAgdGFyZ2V0UmVjdCxcbiAgICAgIHRoaXMuYWxpZ24sXG4gICAgICB0aGlzLnZlcnRpY2FsQWxpZ24sXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIHBhcmVudFBvc2l0aW9uXG4gICAgKTtcblxuICAgIFBvc2l0aW9uVXRpbC5zZXRFbGVtZW50UG9zaXRpb24odGFyZ2V0LCBwb3NpdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
3
3
  import { AutoPositionDirective } from './auto-position.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class AutoPositionModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AutoPositionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: AutoPositionModule, declarations: [AutoPositionDirective], imports: [CommonModule], exports: [AutoPositionDirective] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AutoPositionModule, imports: [CommonModule] });
6
9
  }
7
- AutoPositionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- AutoPositionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionModule, declarations: [AutoPositionDirective], imports: [CommonModule], exports: [AutoPositionDirective] });
9
- AutoPositionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AutoPositionModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
21
21
  ]
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wb3NpdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2F1dG8tcG9zaXRpb24vYXV0by1wb3NpdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBYWhFLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFUM0IscUJBQXFCLGFBTXJCLFlBQVksYUFIWixxQkFBcUI7Z0hBTVosa0JBQWtCLFlBSDNCLFlBQVk7MkZBR0gsa0JBQWtCO2tCQVg5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QXV0b1Bvc2l0aW9uRGlyZWN0aXZlfSBmcm9tICcuL2F1dG8tcG9zaXRpb24uZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXV0b1Bvc2l0aW9uRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBdXRvUG9zaXRpb25EaXJlY3RpdmVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Qb3NpdGlvbk1vZHVsZSB7XG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wb3NpdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2F1dG8tcG9zaXRpb24vYXV0by1wb3NpdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBYWhFLE1BQU0sT0FBTyxrQkFBa0I7dUdBQWxCLGtCQUFrQjt3R0FBbEIsa0JBQWtCLGlCQVQzQixxQkFBcUIsYUFNckIsWUFBWSxhQUhaLHFCQUFxQjt3R0FNWixrQkFBa0IsWUFIM0IsWUFBWTs7MkZBR0gsa0JBQWtCO2tCQVg5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QXV0b1Bvc2l0aW9uRGlyZWN0aXZlfSBmcm9tICcuL2F1dG8tcG9zaXRpb24uZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXV0b1Bvc2l0aW9uRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBdXRvUG9zaXRpb25EaXJlY3RpdmVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Qb3NpdGlvbk1vZHVsZSB7XG59XG4iXX0=
@@ -0,0 +1,67 @@
1
+ import { Directive, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { DomUtil } from '../../common/util/dom-util';
3
+ import * as i0 from "@angular/core";
4
+ export class ClickOutsideDirective {
5
+ _elementRef;
6
+ _ngZone;
7
+ clickOutside = new EventEmitter();
8
+ rightClick = false;
9
+ _handleEvents = false;
10
+ set tetaClickOutside(val) {
11
+ this._handleEvents = val;
12
+ if (this._handleEvents) {
13
+ this._ngZone.runOutsideAngular(() => {
14
+ setTimeout(() => {
15
+ this.addListener(this.rightClick);
16
+ });
17
+ });
18
+ }
19
+ else {
20
+ this.removeListener();
21
+ }
22
+ }
23
+ get tetaClickOutside() {
24
+ return this._handleEvents;
25
+ }
26
+ constructor(_elementRef, _ngZone) {
27
+ this._elementRef = _elementRef;
28
+ this._ngZone = _ngZone;
29
+ }
30
+ ngOnDestroy() {
31
+ this.removeListener();
32
+ }
33
+ addListener(handleRightClick) {
34
+ window.addEventListener('click', this.listener);
35
+ if (handleRightClick) {
36
+ window.addEventListener('contextmenu', this.listener);
37
+ }
38
+ }
39
+ removeListener() {
40
+ window.removeEventListener('click', this.listener);
41
+ window.removeEventListener('contextmenu', this.listener);
42
+ }
43
+ listener = (click) => {
44
+ if (!this._handleEvents) {
45
+ return;
46
+ }
47
+ const clickedInside = DomUtil.clickedInside(this._elementRef.nativeElement, click);
48
+ if (!clickedInside) {
49
+ this.clickOutside.emit(click);
50
+ }
51
+ };
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
53
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", type: ClickOutsideDirective, selector: "[tetaClickOutside]", inputs: { rightClick: "rightClick", tetaClickOutside: "tetaClickOutside" }, outputs: { clickOutside: "clickOutside" }, ngImport: i0 });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ClickOutsideDirective, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ selector: '[tetaClickOutside]',
59
+ }]
60
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { clickOutside: [{
61
+ type: Output
62
+ }], rightClick: [{
63
+ type: Input
64
+ }], tetaClickOutside: [{
65
+ type: Input
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7O0FBS25ELE1BQU0sT0FBTyxxQkFBcUI7SUF3Qlo7SUFBaUM7SUF2QjNDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBQy9DLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFcEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUU5QixJQUNJLGdCQUFnQixDQUFDLEdBQVk7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUNsQyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQW9CLFdBQXVCLEVBQVUsT0FBZTtRQUFoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDcEUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxnQkFBeUI7UUFDM0MsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxnQkFBZ0IsRUFBRTtZQUNwQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxRQUFRLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsT0FBTztTQUNSO1FBQ0QsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FDekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQzlCLEtBQUssQ0FDTixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUMsQ0FBQzt1R0F0RFMscUJBQXFCOzJGQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0I7c0hBRVcsWUFBWTtzQkFBckIsTUFBTTtnQkFDRSxVQUFVO3NCQUFsQixLQUFLO2dCQUtGLGdCQUFnQjtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCwgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVV0aWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2RvbS11dGlsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RldGFDbGlja091dHNpZGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpIGNsaWNrT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgQElucHV0KCkgcmlnaHRDbGljayA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2hhbmRsZUV2ZW50cyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB0ZXRhQ2xpY2tPdXRzaWRlKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX2hhbmRsZUV2ZW50cyA9IHZhbDtcbiAgICBpZiAodGhpcy5faGFuZGxlRXZlbnRzKSB7XG4gICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFkZExpc3RlbmVyKHRoaXMucmlnaHRDbGljayk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdGV0YUNsaWNrT3V0c2lkZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFuZGxlRXZlbnRzO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTGlzdGVuZXIoaGFuZGxlUmlnaHRDbGljazogYm9vbGVhbik6IHZvaWQge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubGlzdGVuZXIpO1xuICAgIGlmIChoYW5kbGVSaWdodENsaWNrKSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCB0aGlzLmxpc3RlbmVyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubGlzdGVuZXIpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMubGlzdGVuZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5lciA9IChjbGljazogTW91c2VFdmVudCkgPT4ge1xuICAgIGlmICghdGhpcy5faGFuZGxlRXZlbnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSBEb21VdGlsLmNsaWNrZWRJbnNpZGUoXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICBjbGlja1xuICAgICk7XG4gICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICB0aGlzLmNsaWNrT3V0c2lkZS5lbWl0KGNsaWNrKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
3
3
  import { ClickOutsideDirective } from './click-outside.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ClickOutsideModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ClickOutsideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: ClickOutsideModule, declarations: [ClickOutsideDirective], imports: [CommonModule], exports: [ClickOutsideDirective] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ClickOutsideModule, imports: [CommonModule] });
6
9
  }
7
- ClickOutsideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ClickOutsideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- ClickOutsideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: ClickOutsideModule, declarations: [ClickOutsideDirective], imports: [CommonModule], exports: [ClickOutsideDirective] });
9
- ClickOutsideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ClickOutsideModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ClickOutsideModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ClickOutsideModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [ClickOutsideDirective],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
17
17
  ]
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBU2hFLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFOZCxxQkFBcUIsYUFHbEMsWUFBWSxhQUZKLHFCQUFxQjtnSEFLcEIsa0JBQWtCLFlBSDNCLFlBQVk7MkZBR0gsa0JBQWtCO2tCQVA5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDaEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDbGlja091dHNpZGVEaXJlY3RpdmV9IGZyb20gJy4vY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDbGlja091dHNpZGVEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbQ2xpY2tPdXRzaWRlRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENsaWNrT3V0c2lkZU1vZHVsZSB7XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBU2hFLE1BQU0sT0FBTyxrQkFBa0I7dUdBQWxCLGtCQUFrQjt3R0FBbEIsa0JBQWtCLGlCQU5kLHFCQUFxQixhQUdsQyxZQUFZLGFBRkoscUJBQXFCO3dHQUtwQixrQkFBa0IsWUFIM0IsWUFBWTs7MkZBR0gsa0JBQWtCO2tCQVA5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDaEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDbGlja091dHNpZGVEaXJlY3RpdmV9IGZyb20gJy4vY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDbGlja091dHNpZGVEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbQ2xpY2tPdXRzaWRlRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENsaWNrT3V0c2lkZU1vZHVsZSB7XG59XG4iXX0=