@tetacom/ng-components 1.1.2 → 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 -697
  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 +7287 -6542
  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,143 @@
1
+ import { Directive, EventEmitter, HostBinding, HostListener, Inject, Input, Optional, Output, SkipSelf } from '@angular/core';
2
+ import { DragInstance } from './model/drag-instance';
3
+ import { DragContainerDirective } from './drag-container.directive';
4
+ import { filter, takeWhile } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./drag-drop.service";
7
+ import * as i2 from "./drag-container.directive";
8
+ export class DragDirective {
9
+ _container;
10
+ _dragService;
11
+ _zone;
12
+ _cdr;
13
+ data;
14
+ allowDrag = true;
15
+ allowDrop = true;
16
+ allowDropPredicate;
17
+ tetaDragEnter = new EventEmitter();
18
+ tetaDrop = new EventEmitter();
19
+ dropTarget;
20
+ instance;
21
+ get selection() {
22
+ return this._dragService?.selection?.items?.indexOf(this.instance) >= 0;
23
+ }
24
+ get isDropTarget() {
25
+ return this.dropTarget === this.instance && this.allowDrop;
26
+ }
27
+ _alive = true;
28
+ mousedown(event) {
29
+ if (!this.allowDrag) {
30
+ return;
31
+ }
32
+ if (event.ctrlKey && this._container?.multiple) {
33
+ this._dragService.addSelection(this.instance, this._container?.instance);
34
+ }
35
+ else {
36
+ this._dragService.setSelection(this.instance, this._container?.instance);
37
+ }
38
+ this._dragService.setStartPosition({
39
+ x: event.x,
40
+ y: event.y
41
+ });
42
+ }
43
+ mouseenter(event) {
44
+ if (this.allowDrop) {
45
+ event.stopPropagation();
46
+ if (this.allowDropPredicate === undefined || this.allowDropPredicate(this._dragService.selection, this.data)) {
47
+ this._dragService.setDropTarget(this.instance);
48
+ }
49
+ }
50
+ }
51
+ mouseleave(event) {
52
+ this._dragService.setDropTarget(null);
53
+ }
54
+ constructor(_container, _dragService, _zone, _cdr) {
55
+ this._container = _container;
56
+ this._dragService = _dragService;
57
+ this._zone = _zone;
58
+ this._cdr = _cdr;
59
+ }
60
+ ngOnInit() {
61
+ this.instance = new DragInstance({
62
+ container: this._container?.instance,
63
+ data: this.data
64
+ });
65
+ this._dragService.dropTarget.pipe(takeWhile(() => this._alive))
66
+ .subscribe((target) => {
67
+ this.dropTarget = target;
68
+ if (target === this.instance) {
69
+ this.tetaDragEnter.emit(this.instance);
70
+ }
71
+ this._cdr.detectChanges();
72
+ this._cdr.markForCheck();
73
+ });
74
+ this._dragService.dropped.pipe(takeWhile(() => this._alive))
75
+ .pipe(filter((event) => {
76
+ return event.target === this.instance;
77
+ }))
78
+ .subscribe((event) => {
79
+ this.tetaDrop.emit(event);
80
+ });
81
+ }
82
+ ngOnDestroy() {
83
+ this._alive = false;
84
+ }
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DragDirective, deps: [{ token: DragContainerDirective, optional: true, skipSelf: true }, { token: i1.DragDropService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
86
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", type: DragDirective, selector: "[tetaDrag]", inputs: { data: ["tetaDrag", "data"], allowDrag: "allowDrag", allowDrop: "allowDrop", allowDropPredicate: "allowDropPredicate" }, outputs: { tetaDragEnter: "tetaDragEnter", tetaDrop: "tetaDrop" }, host: { listeners: { "mousedown": "mousedown($event)", "touchstart": "mousedown($event)", "mouseenter": "mouseenter($event)", "mouseleave": "mouseleave($event)" }, properties: { "style.userSelect": "\"none\"", "class.teta-drag-item": "\"true\"", "class.teta_draggable_item": "this.allowDrag", "class.teta_droppable_item": "this.allowDrop", "class.teta-drag-selection": "this.selection", "class.teta-drop-target": "this.isDropTarget" } }, exportAs: ["drag"], ngImport: i0 });
87
+ }
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DragDirective, decorators: [{
89
+ type: Directive,
90
+ args: [{
91
+ selector: '[tetaDrag]',
92
+ exportAs: 'drag',
93
+ host: {
94
+ '[style.userSelect]': '"none"',
95
+ '[class.teta-drag-item]': '"true"'
96
+ }
97
+ }]
98
+ }], ctorParameters: function () { return [{ type: i2.DragContainerDirective, decorators: [{
99
+ type: Inject,
100
+ args: [DragContainerDirective]
101
+ }, {
102
+ type: Optional
103
+ }, {
104
+ type: SkipSelf
105
+ }] }, { type: i1.DragDropService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
106
+ type: Input,
107
+ args: ['tetaDrag']
108
+ }], allowDrag: [{
109
+ type: HostBinding,
110
+ args: ['class.teta_draggable_item']
111
+ }, {
112
+ type: Input
113
+ }], allowDrop: [{
114
+ type: HostBinding,
115
+ args: ['class.teta_droppable_item']
116
+ }, {
117
+ type: Input
118
+ }], allowDropPredicate: [{
119
+ type: Input
120
+ }], tetaDragEnter: [{
121
+ type: Output
122
+ }], tetaDrop: [{
123
+ type: Output
124
+ }], selection: [{
125
+ type: HostBinding,
126
+ args: ['class.teta-drag-selection']
127
+ }], isDropTarget: [{
128
+ type: HostBinding,
129
+ args: ['class.teta-drop-target']
130
+ }], mousedown: [{
131
+ type: HostListener,
132
+ args: ['mousedown', ['$event']]
133
+ }, {
134
+ type: HostListener,
135
+ args: ['touchstart', ['$event']]
136
+ }], mouseenter: [{
137
+ type: HostListener,
138
+ args: ['mouseenter', ['$event']]
139
+ }], mouseleave: [{
140
+ type: HostListener,
141
+ args: ['mouseleave', ['$event']]
142
+ }] } });
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2RyYWctZHJvcC9kcmFnLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBR2xFLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFZakQsTUFBTSxPQUFPLGFBQWE7SUE0RG9EO0lBQ3hEO0lBQ0E7SUFDQTtJQTlERCxJQUFJLENBQUk7SUFHbEIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUdqQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRWpCLGtCQUFrQixDQUFpRDtJQUVsRSxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFDcEQsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO0lBRXRELFVBQVUsQ0FBZ0I7SUFDMUIsUUFBUSxDQUFrQjtJQUUxQixJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFDSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sTUFBTSxHQUFHLElBQUksQ0FBQztJQUl0QixTQUFTLENBQUMsS0FBSztRQUNiLElBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE9BQU87U0FDUjtRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRTtZQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDMUU7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUMxRTtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7WUFDakMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFVBQVUsQ0FBQyxLQUFpQjtRQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUcsSUFBSSxDQUFDLGtCQUFrQixLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMzRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDaEQ7U0FDRjtJQUNILENBQUM7SUFFdUMsVUFBVSxDQUFDLEtBQUs7UUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQTRFLFVBQXFDLEVBQzdGLFlBQWdDLEVBQ2hDLEtBQWEsRUFDYixJQUF1QjtRQUhpQyxlQUFVLEdBQVYsVUFBVSxDQUEyQjtRQUM3RixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQzNDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQztZQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRO1lBQ3BDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM1RCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUN6QixJQUFJLE1BQU0sS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN6RCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBbUIsRUFBRSxFQUFFO1lBQzdCLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO2FBQ0osU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7dUdBNUZVLGFBQWEsa0JBNERKLHNCQUFzQjsyRkE1RC9CLGFBQWE7OzJGQUFiLGFBQWE7a0JBUnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxNQUFNO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osb0JBQW9CLEVBQUUsUUFBUTt3QkFDOUIsd0JBQXdCLEVBQUUsUUFBUTtxQkFDbkM7aUJBQ0Y7OzBCQTZEYyxNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQUcsUUFBUTs7MEJBQUksUUFBUTsrSEEzRDlDLElBQUk7c0JBQXRCLEtBQUs7dUJBQUMsVUFBVTtnQkFHUixTQUFTO3NCQURqQixXQUFXO3VCQUFDLDJCQUEyQjs7c0JBQ3ZDLEtBQUs7Z0JBR0csU0FBUztzQkFEakIsV0FBVzt1QkFBQywyQkFBMkI7O3NCQUN2QyxLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBTUgsU0FBUztzQkFEWixXQUFXO3VCQUFDLDJCQUEyQjtnQkFNcEMsWUFBWTtzQkFEZixXQUFXO3VCQUFDLHdCQUF3QjtnQkFTckMsU0FBUztzQkFGUixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3BDLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCdEMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVRSxVQUFVO3NCQUFqRCxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2tpcFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RyYWdJbnN0YW5jZX0gZnJvbSAnLi9tb2RlbC9kcmFnLWluc3RhbmNlJztcbmltcG9ydCB7RHJhZ0NvbnRhaW5lckRpcmVjdGl2ZX0gZnJvbSAnLi9kcmFnLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtEcmFnRHJvcFNlcnZpY2V9IGZyb20gJy4vZHJhZy1kcm9wLnNlcnZpY2UnO1xuaW1wb3J0IHtEcm9wVGFyZ2V0fSBmcm9tICcuL21vZGVsL2Ryb3AtdGFyZ2V0JztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlV2hpbGV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RHJvcEV2ZW50fSBmcm9tICcuL21vZGVsL2Ryb3AtZXZlbnQnO1xuaW1wb3J0IHtEcmFnU2VsZWN0aW9ufSBmcm9tICcuL21vZGVsL2RyYWctc2VsZWN0aW9uJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RldGFEcmFnXScsXG4gIGV4cG9ydEFzOiAnZHJhZycsXG4gIGhvc3Q6IHtcbiAgICAnW3N0eWxlLnVzZXJTZWxlY3RdJzogJ1wibm9uZVwiJyxcbiAgICAnW2NsYXNzLnRldGEtZHJhZy1pdGVtXSc6ICdcInRydWVcIidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEcmFnRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ3RldGFEcmFnJykgZGF0YTogVDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRldGFfZHJhZ2dhYmxlX2l0ZW0nKVxuICBASW5wdXQoKSBhbGxvd0RyYWcgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV0YV9kcm9wcGFibGVfaXRlbScpXG4gIEBJbnB1dCgpIGFsbG93RHJvcCA9IHRydWU7XG5cbiAgQElucHV0KCkgYWxsb3dEcm9wUHJlZGljYXRlOiAoZGF0YTogRHJhZ1NlbGVjdGlvbjxUPiwgdGFyZ2V0OiBUKSA9PiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSB0ZXRhRHJhZ0VudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxEcmFnSW5zdGFuY2U8VD4+KCk7XG4gIEBPdXRwdXQoKSB0ZXRhRHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8RHJvcEV2ZW50PFQ+PigpO1xuXG4gIGRyb3BUYXJnZXQ6IERyb3BUYXJnZXQ8VD47XG4gIGluc3RhbmNlOiBEcmFnSW5zdGFuY2U8VD47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXRhLWRyYWctc2VsZWN0aW9uJylcbiAgZ2V0IHNlbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZHJhZ1NlcnZpY2U/LnNlbGVjdGlvbj8uaXRlbXM/LmluZGV4T2YodGhpcy5pbnN0YW5jZSkgPj0gMDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV0YS1kcm9wLXRhcmdldCcpXG4gIGdldCBpc0Ryb3BUYXJnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZHJvcFRhcmdldCA9PT0gdGhpcy5pbnN0YW5jZSAmJiB0aGlzLmFsbG93RHJvcDtcbiAgfVxuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgWyckZXZlbnQnXSlcbiAgbW91c2Vkb3duKGV2ZW50KSB7XG4gICAgaWYoIXRoaXMuYWxsb3dEcmFnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIHRoaXMuX2NvbnRhaW5lcj8ubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuX2RyYWdTZXJ2aWNlLmFkZFNlbGVjdGlvbih0aGlzLmluc3RhbmNlLCB0aGlzLl9jb250YWluZXI/Lmluc3RhbmNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZHJhZ1NlcnZpY2Uuc2V0U2VsZWN0aW9uKHRoaXMuaW5zdGFuY2UsIHRoaXMuX2NvbnRhaW5lcj8uaW5zdGFuY2UpO1xuICAgIH1cbiAgICB0aGlzLl9kcmFnU2VydmljZS5zZXRTdGFydFBvc2l0aW9uKHtcbiAgICAgIHg6IGV2ZW50LngsXG4gICAgICB5OiBldmVudC55XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgbW91c2VlbnRlcihldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmFsbG93RHJvcCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBpZih0aGlzLmFsbG93RHJvcFByZWRpY2F0ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuYWxsb3dEcm9wUHJlZGljYXRlKHRoaXMuX2RyYWdTZXJ2aWNlLnNlbGVjdGlvbiwgdGhpcy5kYXRhKSkge1xuICAgICAgICB0aGlzLl9kcmFnU2VydmljZS5zZXREcm9wVGFyZ2V0KHRoaXMuaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKSBtb3VzZWxlYXZlKGV2ZW50KSB7XG4gICAgdGhpcy5fZHJhZ1NlcnZpY2Uuc2V0RHJvcFRhcmdldChudWxsKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRHJhZ0NvbnRhaW5lckRpcmVjdGl2ZSkgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBfY29udGFpbmVyOiBEcmFnQ29udGFpbmVyRGlyZWN0aXZlPFQ+LFxuICAgICAgICAgICAgICBwcml2YXRlIF9kcmFnU2VydmljZTogRHJhZ0Ryb3BTZXJ2aWNlPFQ+LFxuICAgICAgICAgICAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5zdGFuY2UgPSBuZXcgRHJhZ0luc3RhbmNlKHtcbiAgICAgIGNvbnRhaW5lcjogdGhpcy5fY29udGFpbmVyPy5pbnN0YW5jZSxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YVxuICAgIH0pO1xuICAgIHRoaXMuX2RyYWdTZXJ2aWNlLmRyb3BUYXJnZXQucGlwZSh0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgodGFyZ2V0KSA9PiB7XG4gICAgICAgIHRoaXMuZHJvcFRhcmdldCA9IHRhcmdldDtcbiAgICAgICAgaWYgKHRhcmdldCA9PT0gdGhpcy5pbnN0YW5jZSkge1xuICAgICAgICAgIHRoaXMudGV0YURyYWdFbnRlci5lbWl0KHRoaXMuaW5zdGFuY2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuX2RyYWdTZXJ2aWNlLmRyb3BwZWQucGlwZSh0YWtlV2hpbGUoKCkgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQ6IERyb3BFdmVudDxUPikgPT4ge1xuICAgICAgICAgIHJldHVybiBldmVudC50YXJnZXQgPT09IHRoaXMuaW5zdGFuY2U7XG4gICAgICAgIH0pKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50ZXRhRHJvcC5lbWl0KGV2ZW50KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ export class DragContainerInstance {
2
+ data;
3
+ previewTemplate;
4
+ viewContainer;
5
+ constructor(options) {
6
+ this.data = options.data;
7
+ this.previewTemplate = options.previewTemplate;
8
+ this.viewContainer = options.viewContainer;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1jb250YWluZXItaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2RyYWctZHJvcC9tb2RlbC9kcmFnLWNvbnRhaW5lci1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLElBQUksQ0FBTTtJQUNWLGVBQWUsQ0FBbUI7SUFDbEMsYUFBYSxDQUFtQjtJQUVoQyxZQUFZLE9BSVg7UUFDQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIERyYWdDb250YWluZXJJbnN0YW5jZTxUPiB7XG4gIGRhdGE6IFRbXTtcbiAgcHJldmlld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IHtcbiAgICBkYXRhOiBUW10sXG4gICAgcHJldmlld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWZcbiAgfSkge1xuICAgIHRoaXMuZGF0YSA9IG9wdGlvbnMuZGF0YTtcbiAgICB0aGlzLnByZXZpZXdUZW1wbGF0ZSA9IG9wdGlvbnMucHJldmlld1RlbXBsYXRlO1xuICAgIHRoaXMudmlld0NvbnRhaW5lciA9IG9wdGlvbnMudmlld0NvbnRhaW5lcjtcbiAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ export class DragInstance {
2
+ container;
3
+ data;
4
+ constructor(options) {
5
+ this.container = options.container;
6
+ this.data = options.data;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvZHJhZy1kcm9wL21vZGVsL2RyYWctaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFlBQVk7SUFDdkIsU0FBUyxDQUEyQjtJQUNwQyxJQUFJLENBQUk7SUFFUixZQUFZLE9BR1g7UUFDQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RHJhZ0NvbnRhaW5lckluc3RhbmNlfSBmcm9tICcuL2RyYWctY29udGFpbmVyLWluc3RhbmNlJztcblxuZXhwb3J0IGNsYXNzIERyYWdJbnN0YW5jZTxUPiB7XG4gIGNvbnRhaW5lcjogRHJhZ0NvbnRhaW5lckluc3RhbmNlPFQ+O1xuICBkYXRhOiBUO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiB7XG4gICAgY29udGFpbmVyOiBEcmFnQ29udGFpbmVySW5zdGFuY2U8VD4sXG4gICAgZGF0YTogVFxuICB9KSB7XG4gICAgdGhpcy5jb250YWluZXIgPSBvcHRpb25zLmNvbnRhaW5lcjtcbiAgICB0aGlzLmRhdGEgPSBvcHRpb25zLmRhdGE7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,68 @@
1
+ import {
2
+ // ContentChildren,
3
+ Directive, EventEmitter, HostListener, Input, Output,
4
+ // QueryList,
5
+ } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ // import {DragSortItemDirective} from './drag-sort-item.directive';
8
+ export class DragSortContainerDirective {
9
+ dragSortList;
10
+ dragSorted = new EventEmitter();
11
+ // @ContentChildren(DragSortItemDirective, {descendants: true})
12
+ // private items: QueryList<DragSortItemDirective<T>>;
13
+ _dragItem;
14
+ constructor() {
15
+ }
16
+ drop(event) {
17
+ event.stopPropagation();
18
+ event.preventDefault();
19
+ }
20
+ setDragItem(item) {
21
+ this._dragItem = item;
22
+ }
23
+ getDragItem() {
24
+ return this._dragItem;
25
+ }
26
+ getList() {
27
+ return this.dragSortList;
28
+ }
29
+ setList(list) {
30
+ this.dragSortList = list;
31
+ }
32
+ updateSortOrder(source, target, insertBefore) {
33
+ if (source === target) {
34
+ return;
35
+ }
36
+ const list = this.getList();
37
+ const sourceIndex = list.indexOf(source);
38
+ const targetIndex = list.indexOf(target);
39
+ if ((insertBefore && sourceIndex + 1 === targetIndex) ||
40
+ (!insertBefore && sourceIndex === targetIndex + 1)) {
41
+ return;
42
+ }
43
+ const newIndex = list.indexOf(target) + (insertBefore ? 0 : 1);
44
+ this.dragSorted.emit({
45
+ list,
46
+ source,
47
+ target,
48
+ newIndex,
49
+ previousIndex: sourceIndex,
50
+ });
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DragSortContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
53
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", type: DragSortContainerDirective, selector: "[tetaDragSortContainer]", inputs: { dragSortList: "dragSortList" }, outputs: { dragSorted: "dragSorted" }, host: { listeners: { "drop": "drop($event)" } }, ngImport: i0 });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DragSortContainerDirective, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ selector: '[tetaDragSortContainer]',
59
+ }]
60
+ }], ctorParameters: function () { return []; }, propDecorators: { dragSortList: [{
61
+ type: Input
62
+ }], dragSorted: [{
63
+ type: Output
64
+ }], drop: [{
65
+ type: HostListener,
66
+ args: ['drop', ['$event']]
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zb3J0LWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2RyYWctc29ydC9kcmFnLXNvcnQtY29udGFpbmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPO0FBQ0wsbUJBQW1CO0FBQ25CLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNO0FBQ04sYUFBYTtFQUNkLE1BQU0sZUFBZSxDQUFDOztBQUV2QixvRUFBb0U7QUFLcEUsTUFBTSxPQUFPLDBCQUEwQjtJQUM1QixZQUFZLENBQU07SUFDakIsVUFBVSxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUU1RiwrREFBK0Q7SUFDL0Qsc0RBQXNEO0lBQzlDLFNBQVMsQ0FBSTtJQUVyQjtJQUNBLENBQUM7SUFFaUMsSUFBSSxDQUFDLEtBQWdCO1FBQ3JELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFPO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBUztRQUNmLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBUyxFQUFFLE1BQVMsRUFBRSxZQUFxQjtRQUN6RCxJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUU7WUFDckIsT0FBTztTQUNSO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUNFLENBQUMsWUFBWSxJQUFJLFdBQVcsR0FBRyxDQUFDLEtBQUssV0FBVyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxZQUFZLElBQUksV0FBVyxLQUFLLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFDbEQ7WUFDQSxPQUFPO1NBQ1I7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ25CLElBQUk7WUFDSixNQUFNO1lBQ04sTUFBTTtZQUNOLFFBQVE7WUFDUixhQUFhLEVBQUUsV0FBVztTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXREVSwwQkFBMEI7MkZBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO2lCQUNwQzswRUFFVSxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBUzJCLElBQUk7c0JBQXJDLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgLy8gQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICAvLyBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcmFnU29ydEV2ZW50fSBmcm9tICcuL2RyYWctc29ydC1ldmVudCc7XG4vLyBpbXBvcnQge0RyYWdTb3J0SXRlbURpcmVjdGl2ZX0gZnJvbSAnLi9kcmFnLXNvcnQtaXRlbS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YURyYWdTb3J0Q29udGFpbmVyXScsXG59KVxuZXhwb3J0IGNsYXNzIERyYWdTb3J0Q29udGFpbmVyRGlyZWN0aXZlPFQ+IHtcbiAgQElucHV0KCkgZHJhZ1NvcnRMaXN0OiBUW107XG4gIEBPdXRwdXQoKSBkcmFnU29ydGVkOiBFdmVudEVtaXR0ZXI8RHJhZ1NvcnRFdmVudDxUPj4gPSBuZXcgRXZlbnRFbWl0dGVyPERyYWdTb3J0RXZlbnQ8VD4+KCk7XG5cbiAgLy8gQENvbnRlbnRDaGlsZHJlbihEcmFnU29ydEl0ZW1EaXJlY3RpdmUsIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gIC8vIHByaXZhdGUgaXRlbXM6IFF1ZXJ5TGlzdDxEcmFnU29ydEl0ZW1EaXJlY3RpdmU8VD4+O1xuICBwcml2YXRlIF9kcmFnSXRlbTogVDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKSBkcm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgc2V0RHJhZ0l0ZW0oaXRlbTogVCkge1xuICAgIHRoaXMuX2RyYWdJdGVtID0gaXRlbTtcbiAgfVxuXG4gIGdldERyYWdJdGVtKCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9kcmFnSXRlbTtcbiAgfVxuXG4gIGdldExpc3QoKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy5kcmFnU29ydExpc3Q7XG4gIH1cblxuICBzZXRMaXN0KGxpc3Q6IFRbXSkge1xuICAgIHRoaXMuZHJhZ1NvcnRMaXN0ID0gbGlzdDtcbiAgfVxuXG4gIHVwZGF0ZVNvcnRPcmRlcihzb3VyY2U6IFQsIHRhcmdldDogVCwgaW5zZXJ0QmVmb3JlOiBib29sZWFuKSB7XG4gICAgaWYgKHNvdXJjZSA9PT0gdGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmdldExpc3QoKTtcbiAgICBjb25zdCBzb3VyY2VJbmRleCA9IGxpc3QuaW5kZXhPZihzb3VyY2UpO1xuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gbGlzdC5pbmRleE9mKHRhcmdldCk7XG4gICAgaWYgKFxuICAgICAgKGluc2VydEJlZm9yZSAmJiBzb3VyY2VJbmRleCArIDEgPT09IHRhcmdldEluZGV4KSB8fFxuICAgICAgKCFpbnNlcnRCZWZvcmUgJiYgc291cmNlSW5kZXggPT09IHRhcmdldEluZGV4ICsgMSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV3SW5kZXggPSBsaXN0LmluZGV4T2YodGFyZ2V0KSArIChpbnNlcnRCZWZvcmUgPyAwIDogMSk7XG5cbiAgICB0aGlzLmRyYWdTb3J0ZWQuZW1pdCh7XG4gICAgICBsaXN0LFxuICAgICAgc291cmNlLFxuICAgICAgdGFyZ2V0LFxuICAgICAgbmV3SW5kZXgsXG4gICAgICBwcmV2aW91c0luZGV4OiBzb3VyY2VJbmRleCxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,121 @@
1
+ import { Directive, Host, HostBinding, HostListener, Input, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./drag-sort-container.directive";
4
+ export class DragSortItemDirective {
5
+ _container;
6
+ _elementRef;
7
+ _renderer;
8
+ tetaDragSortItem;
9
+ dragSortDirection = 'horizontal';
10
+ draggable = true;
11
+ relative = true;
12
+ _dragElement;
13
+ rect;
14
+ constructor(_container, _elementRef, _renderer) {
15
+ this._container = _container;
16
+ this._elementRef = _elementRef;
17
+ this._renderer = _renderer;
18
+ }
19
+ dragstart(event) {
20
+ this._container.setDragItem(this.tetaDragSortItem);
21
+ }
22
+ dragenter(event) {
23
+ this.rect = this._elementRef.nativeElement.getBoundingClientRect();
24
+ }
25
+ dragover(event) {
26
+ event.preventDefault();
27
+ event.stopPropagation();
28
+ if (this.rect && this._container.getDragItem()) {
29
+ this.showDrag(this.getDropPosition(event));
30
+ }
31
+ }
32
+ dragleave(event) {
33
+ event.preventDefault();
34
+ this.hideDrag();
35
+ }
36
+ dragend(event) {
37
+ this._container.setDragItem(null);
38
+ this.hideDrag();
39
+ }
40
+ drop(event) {
41
+ event.stopPropagation();
42
+ this._container.updateSortOrder(this._container.getDragItem(), this.tetaDragSortItem, this.getDropPosition(event) === 'start');
43
+ this.hideDrag();
44
+ }
45
+ ngOnInit() {
46
+ this.createDrag();
47
+ }
48
+ ngOnDestroy() {
49
+ this.destroyDrag();
50
+ }
51
+ showDrag(position) {
52
+ this.hideDrag();
53
+ this._renderer.addClass(this._dragElement, `drop-direction-${position}`);
54
+ }
55
+ hideDrag() {
56
+ this._renderer.removeClass(this._dragElement, 'drop-direction-start');
57
+ this._renderer.removeClass(this._dragElement, 'drop-direction-end');
58
+ }
59
+ createDrag() {
60
+ this._dragElement = this._renderer.createElement('div');
61
+ this._renderer.appendChild(this._elementRef.nativeElement, this._dragElement);
62
+ this._renderer.addClass(this._dragElement, 'drop-direction');
63
+ this._renderer.addClass(this._dragElement, this.dragSortDirection === 'horizontal'
64
+ ? 'drop-direction-horizontal'
65
+ : 'drop-direction-vertical');
66
+ }
67
+ destroyDrag() {
68
+ this._renderer.removeChild(this._renderer, this._dragElement);
69
+ }
70
+ getDropPosition(event) {
71
+ if (this.dragSortDirection === 'horizontal') {
72
+ return event.clientX >= this.rect.x + this.rect.width / 2
73
+ ? 'end'
74
+ : 'start';
75
+ }
76
+ else {
77
+ return event.clientY >= this.rect.y + this.rect.height / 2
78
+ ? 'end'
79
+ : 'start';
80
+ }
81
+ }
82
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DragSortItemDirective, deps: [{ token: i1.DragSortContainerDirective, host: true }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
83
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", type: DragSortItemDirective, selector: "[tetaDragSortItem]", inputs: { tetaDragSortItem: "tetaDragSortItem", dragSortDirection: "dragSortDirection" }, host: { listeners: { "dragstart": "dragstart($event)", "dragenter": "dragenter($event)", "dragover": "dragover($event)", "dragleave": "dragleave($event)", "dragend": "dragend($event)", "drop": "drop($event)" }, properties: { "attr.draggable": "this.draggable", "class.position-relative": "this.relative" } }, ngImport: i0 });
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DragSortItemDirective, decorators: [{
86
+ type: Directive,
87
+ args: [{
88
+ selector: '[tetaDragSortItem]',
89
+ }]
90
+ }], ctorParameters: function () { return [{ type: i1.DragSortContainerDirective, decorators: [{
91
+ type: Host
92
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tetaDragSortItem: [{
93
+ type: Input
94
+ }], dragSortDirection: [{
95
+ type: Input
96
+ }], draggable: [{
97
+ type: HostBinding,
98
+ args: ['attr.draggable']
99
+ }], relative: [{
100
+ type: HostBinding,
101
+ args: ['class.position-relative']
102
+ }], dragstart: [{
103
+ type: HostListener,
104
+ args: ['dragstart', ['$event']]
105
+ }], dragenter: [{
106
+ type: HostListener,
107
+ args: ['dragenter', ['$event']]
108
+ }], dragover: [{
109
+ type: HostListener,
110
+ args: ['dragover', ['$event']]
111
+ }], dragleave: [{
112
+ type: HostListener,
113
+ args: ['dragleave', ['$event']]
114
+ }], dragend: [{
115
+ type: HostListener,
116
+ args: ['dragend', ['$event']]
117
+ }], drop: [{
118
+ type: HostListener,
119
+ args: ['drop', ['$event']]
120
+ }] } });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zb3J0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9kcmFnLXNvcnQvZHJhZy1zb3J0LWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsSUFBSSxFQUNKLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDOzs7QUFNdkIsTUFBTSxPQUFPLHFCQUFxQjtJQVlkO0lBQ1I7SUFDQTtJQWJELGdCQUFnQixDQUFJO0lBQ3BCLGlCQUFpQixHQUE4QixZQUFZLENBQUM7SUFFckIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUNSLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFFakUsWUFBWSxDQUFjO0lBRTFCLElBQUksQ0FBTTtJQUVsQixZQUNrQixVQUF5QyxFQUNqRCxXQUF1QixFQUN2QixTQUFvQjtRQUZaLGVBQVUsR0FBVixVQUFVLENBQStCO1FBQ2pELGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVzQyxTQUFTLENBQUMsS0FBZ0I7UUFDL0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVzQyxTQUFTLENBQUMsS0FBZ0I7UUFDL0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3JFLENBQUM7SUFFcUMsUUFBUSxDQUFDLEtBQWdCO1FBQzdELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUU7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QUFPLENBQUM7U0FDYjtJQUNILENBQUM7dUdBckdVLHFCQUFxQjsyRkFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9COzswQkFhSSxJQUFJOzZGQVhFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRTBDLFNBQVM7c0JBQXhELFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUM0QixRQUFRO3NCQUFoRSxXQUFXO3VCQUFDLHlCQUF5QjtnQkFhQyxTQUFTO3NCQUEvQyxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFJRSxTQUFTO3NCQUEvQyxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFJQyxRQUFRO3NCQUE3QyxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRRyxTQUFTO3NCQUEvQyxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFLQSxPQUFPO3NCQUEzQyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFLRCxJQUFJO3NCQUFyQyxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdCxcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcmFnU29ydENvbnRhaW5lckRpcmVjdGl2ZX0gZnJvbSAnLi9kcmFnLXNvcnQtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZXRhRHJhZ1NvcnRJdGVtXScsXG59KVxuZXhwb3J0IGNsYXNzIERyYWdTb3J0SXRlbURpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdGV0YURyYWdTb3J0SXRlbTogVDtcbiAgQElucHV0KCkgZHJhZ1NvcnREaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRyYWdnYWJsZScpIHByaXZhdGUgcmVhZG9ubHkgZHJhZ2dhYmxlID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wb3NpdGlvbi1yZWxhdGl2ZScpIHByaXZhdGUgcmVhZG9ubHkgcmVsYXRpdmUgPSB0cnVlO1xuXG4gIHByaXZhdGUgX2RyYWdFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBwcml2YXRlIHJlY3Q6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASG9zdCgpIHByaXZhdGUgX2NvbnRhaW5lcjogRHJhZ1NvcnRDb250YWluZXJEaXJlY3RpdmU8VD4sXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ3N0YXJ0JywgWyckZXZlbnQnXSkgZHJhZ3N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250YWluZXIuc2V0RHJhZ0l0ZW0odGhpcy50ZXRhRHJhZ1NvcnRJdGVtKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbnRlcicsIFsnJGV2ZW50J10pIGRyYWdlbnRlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5yZWN0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKSBkcmFnb3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5yZWN0ICYmIHRoaXMuX2NvbnRhaW5lci5nZXREcmFnSXRlbSgpKSB7XG4gICAgICB0aGlzLnNob3dEcmFnKHRoaXMuZ2V0RHJvcFBvc2l0aW9uKGV2ZW50KSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSkgZHJhZ2xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaGlkZURyYWcoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbmQnLCBbJyRldmVudCddKSBkcmFnZW5kKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250YWluZXIuc2V0RHJhZ0l0ZW0obnVsbCk7XG4gICAgdGhpcy5oaWRlRHJhZygpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pIGRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuX2NvbnRhaW5lci51cGRhdGVTb3J0T3JkZXIoXG4gICAgICB0aGlzLl9jb250YWluZXIuZ2V0RHJhZ0l0ZW0oKSxcbiAgICAgIHRoaXMudGV0YURyYWdTb3J0SXRlbSxcbiAgICAgIHRoaXMuZ2V0RHJvcFBvc2l0aW9uKGV2ZW50KSA9PT0gJ3N0YXJ0J1xuICAgICk7XG4gICAgdGhpcy5oaWRlRHJhZygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVEcmFnKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3lEcmFnKCk7XG4gIH1cblxuICBwcml2YXRlIHNob3dEcmFnKHBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcpIHtcbiAgICB0aGlzLmhpZGVEcmFnKCk7XG4gICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZHJhZ0VsZW1lbnQsIGBkcm9wLWRpcmVjdGlvbi0ke3Bvc2l0aW9ufWApO1xuICB9XG5cbiAgcHJpdmF0ZSBoaWRlRHJhZygpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLl9kcmFnRWxlbWVudCwgJ2Ryb3AtZGlyZWN0aW9uLXN0YXJ0Jyk7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fZHJhZ0VsZW1lbnQsICdkcm9wLWRpcmVjdGlvbi1lbmQnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRHJhZygpIHtcbiAgICB0aGlzLl9kcmFnRWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKFxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5fZHJhZ0VsZW1lbnRcbiAgICApO1xuICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2RyYWdFbGVtZW50LCAnZHJvcC1kaXJlY3Rpb24nKTtcbiAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgIHRoaXMuX2RyYWdFbGVtZW50LFxuICAgICAgdGhpcy5kcmFnU29ydERpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnXG4gICAgICAgID8gJ2Ryb3AtZGlyZWN0aW9uLWhvcml6b250YWwnXG4gICAgICAgIDogJ2Ryb3AtZGlyZWN0aW9uLXZlcnRpY2FsJ1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lEcmFnKCkge1xuICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX3JlbmRlcmVyLCB0aGlzLl9kcmFnRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldERyb3BQb3NpdGlvbihldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJhZ1NvcnREaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgcmV0dXJuIGV2ZW50LmNsaWVudFggPj0gdGhpcy5yZWN0LnggKyB0aGlzLnJlY3Qud2lkdGggLyAyXG4gICAgICAgID8gJ2VuZCdcbiAgICAgICAgOiAnc3RhcnQnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZXZlbnQuY2xpZW50WSA+PSB0aGlzLnJlY3QueSArIHRoaXMucmVjdC5oZWlnaHQgLyAyXG4gICAgICAgID8gJ2VuZCdcbiAgICAgICAgOiAnc3RhcnQnO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -4,11 +4,11 @@ import { DragSortContainerDirective } from './drag-sort-container.directive';
4
4
  import { DragSortItemDirective } from './drag-sort-item.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  export class DragSortModule {
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DragSortModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: DragSortModule, declarations: [DragSortContainerDirective, DragSortItemDirective], imports: [CommonModule], exports: [DragSortContainerDirective, DragSortItemDirective] });
9
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DragSortModule, imports: [CommonModule] });
7
10
  }
8
- DragSortModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DragSortModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- DragSortModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: DragSortModule, declarations: [DragSortContainerDirective, DragSortItemDirective], imports: [CommonModule], exports: [DragSortContainerDirective, DragSortItemDirective] });
10
- DragSortModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DragSortModule, imports: [CommonModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DragSortModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DragSortModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [DragSortContainerDirective, DragSortItemDirective],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
16
16
  imports: [CommonModule],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvZHJhZy1zb3J0L2RyYWctc29ydC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT25FLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBSlYsMEJBQTBCLEVBQUUscUJBQXFCLGFBRXRELFlBQVksYUFEWiwwQkFBMEIsRUFBRSxxQkFBcUI7NEdBR2hELGNBQWMsWUFGZixZQUFZOzJGQUVYLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMEJBQTBCLEVBQUUscUJBQXFCLENBQUM7b0JBQ2pFLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixFQUFFLHFCQUFxQixDQUFDO29CQUM1RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEcmFnU29ydENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZHJhZy1zb3J0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJhZ1NvcnRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLXNvcnQtaXRlbS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEcmFnU29ydENvbnRhaW5lckRpcmVjdGl2ZSwgRHJhZ1NvcnRJdGVtRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0RyYWdTb3J0Q29udGFpbmVyRGlyZWN0aXZlLCBEcmFnU29ydEl0ZW1EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ1NvcnRNb2R1bGUge31cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvZHJhZy1zb3J0L2RyYWctc29ydC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT25FLE1BQU0sT0FBTyxjQUFjO3VHQUFkLGNBQWM7d0dBQWQsY0FBYyxpQkFKViwwQkFBMEIsRUFBRSxxQkFBcUIsYUFFdEQsWUFBWSxhQURaLDBCQUEwQixFQUFFLHFCQUFxQjt3R0FHaEQsY0FBYyxZQUZmLFlBQVk7OzJGQUVYLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMEJBQTBCLEVBQUUscUJBQXFCLENBQUM7b0JBQ2pFLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixFQUFFLHFCQUFxQixDQUFDO29CQUM1RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEcmFnU29ydENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZHJhZy1zb3J0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJhZ1NvcnRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLXNvcnQtaXRlbS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEcmFnU29ydENvbnRhaW5lckRpcmVjdGl2ZSwgRHJhZ1NvcnRJdGVtRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0RyYWdTb3J0Q29udGFpbmVyRGlyZWN0aXZlLCBEcmFnU29ydEl0ZW1EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ1NvcnRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,91 @@
1
+ import { Directive, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { Align } from '../common/enum/align.enum';
3
+ import { VerticalAlign } from '../common/enum/vertical-align.enum';
4
+ import { filter, takeWhile } from 'rxjs/operators';
5
+ import { PopupContentComponent } from '../component/dynamic-component/popup-content/popup-content.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../common/service/dynamic-component.service";
8
+ export class DynamicContentBaseDirective {
9
+ _document;
10
+ _elementRef;
11
+ _service;
12
+ _injector;
13
+ _zone;
14
+ _cdr;
15
+ data;
16
+ className;
17
+ align = Align.left;
18
+ verticalAlign = VerticalAlign.auto;
19
+ appendToBody;
20
+ set open(open) {
21
+ this._open = open;
22
+ if (this._open) {
23
+ this.createContentRef();
24
+ }
25
+ else {
26
+ this.destroyContentRef();
27
+ }
28
+ }
29
+ openChange = new EventEmitter();
30
+ _alive = true;
31
+ _componentRef;
32
+ _content;
33
+ _open = false;
34
+ constructor(_document, _elementRef, _service, _injector, _zone, _cdr) {
35
+ this._document = _document;
36
+ this._elementRef = _elementRef;
37
+ this._service = _service;
38
+ this._injector = _injector;
39
+ this._zone = _zone;
40
+ this._cdr = _cdr;
41
+ this._zone.onStable
42
+ .pipe(takeWhile((_) => this._alive), filter((_) => this._open))
43
+ .subscribe((_) => {
44
+ this.setPosition();
45
+ });
46
+ }
47
+ ngOnDestroy() {
48
+ this._alive = false;
49
+ this.destroyContentRef();
50
+ }
51
+ ngOnInit() {
52
+ }
53
+ createContentRef(className) {
54
+ if (!this._componentRef) {
55
+ this._open = true;
56
+ const injector = this._service.getInjector(this.data, this._injector);
57
+ const context = this._service.getContext(this._dynamicContent, this.data);
58
+ this._content = this._service.createContent(this._dynamicContent, this._injector, context);
59
+ this._componentRef = this._service.createComponent(PopupContentComponent, this._content, injector, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
60
+ if (className) {
61
+ this._componentRef.instance.addClass(className);
62
+ }
63
+ }
64
+ return this._componentRef;
65
+ }
66
+ destroyContentRef() {
67
+ this._open = false;
68
+ this._service.destroy(this._componentRef, this._content, this.appendToBody ? this._document.body : this._elementRef.nativeElement);
69
+ this._componentRef = null;
70
+ }
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DynamicContentBaseDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
72
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", type: DynamicContentBaseDirective, inputs: { data: "data", className: "className", align: "align", verticalAlign: "verticalAlign", appendToBody: "appendToBody", open: "open" }, outputs: { openChange: "openChange" }, ngImport: i0 });
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DynamicContentBaseDirective, decorators: [{
75
+ type: Directive
76
+ }], ctorParameters: function () { return [{ type: undefined }, { type: i0.ElementRef }, { type: i1.DynamicComponentService }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
77
+ type: Input
78
+ }], className: [{
79
+ type: Input
80
+ }], align: [{
81
+ type: Input
82
+ }], verticalAlign: [{
83
+ type: Input
84
+ }], appendToBody: [{
85
+ type: Input
86
+ }], open: [{
87
+ type: Input
88
+ }], openChange: [{
89
+ type: Output
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb250ZW50LWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZS9keW5hbWljLWNvbnRlbnQtYmFzZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBRVosS0FBSyxFQUlMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0VBQXNFLENBQUM7OztBQUczRyxNQUFNLE9BQWdCLDJCQUEyQjtJQTZCbkM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBakNILElBQUksQ0FBTTtJQUNWLFNBQVMsQ0FBb0I7SUFDN0IsS0FBSyxHQUFVLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDMUIsYUFBYSxHQUFrQixhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ2xELFlBQVksQ0FBVTtJQUUvQixJQUFhLElBQUksQ0FBQyxJQUFhO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFUyxVQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFaEUsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNkLGFBQWEsQ0FBb0I7SUFDakMsUUFBUSxDQUFpQjtJQUN6QixLQUFLLEdBQUcsS0FBSyxD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SUFBSTtzQkFBaEIsS0FBSztnQkFTSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0R5bmFtaWNDb21wb25lbnRTZXJ2aWNlfSBmcm9tICcuLi9jb21tb24vc2VydmljZS9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJztcbmltcG9ydCB7QWxpZ259IGZyb20gJy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHtWZXJ0aWNhbEFsaWdufSBmcm9tICcuLi9jb21tb24vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlV2hpbGV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VGV0YUNvbnRlbnRSZWZ9IGZyb20gJy4uL2NvbW1vbi9jb250cmFjdC90ZXRhLWNvbnRlbnQtcmVmJztcbmltcG9ydCB7UG9wdXBDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQvcG9wdXAtY29udGVudC9wb3B1cC1jb250ZW50LmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIER5bmFtaWNDb250ZW50QmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGF0YTogYW55O1xuICBASW5wdXQoKSBjbGFzc05hbWU6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBASW5wdXQoKSBhbGlnbjogQWxpZ24gPSBBbGlnbi5sZWZ0O1xuICBASW5wdXQoKSB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5hdXRvO1xuICBASW5wdXQoKSBhcHBlbmRUb0JvZHk6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2V0IG9wZW4ob3BlbjogYm9vbGVhbikge1xuICAgIHRoaXMuX29wZW4gPSBvcGVuO1xuICAgIGlmICh0aGlzLl9vcGVuKSB7XG4gICAgICB0aGlzLmNyZWF0ZUNvbnRlbnRSZWYoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZXN0cm95Q29udGVudFJlZigpO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJvdGVjdGVkIF9hbGl2ZSA9IHRydWU7XG4gIHByb3RlY3RlZCBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcbiAgcHJvdGVjdGVkIF9jb250ZW50OiBUZXRhQ29udGVudFJlZjtcbiAgcHJvdGVjdGVkIF9vcGVuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBfZHluYW1pY0NvbnRlbnQoKTpcbiAgICB8IHN0cmluZ1xuICAgIHwgVGVtcGxhdGVSZWY8YW55PlxuICAgIHwgVHlwZTxhbnk+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2RvY3VtZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByb3RlY3RlZCBfc2VydmljZTogRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIF96b25lOiBOZ1pvbmUsXG4gICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuX3pvbmUub25TdGFibGVcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgICAgZmlsdGVyKChfKSA9PiB0aGlzLl9vcGVuKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gICAgdGhpcy5kZXN0cm95Q29udGVudFJlZigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29udGVudFJlZjxUPihcbiAgICBjbGFzc05hbWU/OiBzdHJpbmcgfCBzdHJpbmdbXVxuICApOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLl9vcGVuID0gdHJ1ZTtcbiAgICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5fc2VydmljZS5nZXRJbmplY3Rvcih0aGlzLmRhdGEsIHRoaXMuX2luamVjdG9yKTtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9zZXJ2aWNlLmdldENvbnRleHQodGhpcy5fZHluYW1pY0NvbnRlbnQsIHRoaXMuZGF0YSk7XG4gICAgICB0aGlzLl9jb250ZW50ID0gdGhpcy5fc2VydmljZS5jcmVhdGVDb250ZW50KFxuICAgICAgICB0aGlzLl9keW5hbWljQ29udGVudCxcbiAgICAgICAgdGhpcy5faW5qZWN0b3IsXG4gICAgICAgIGNvbnRleHRcbiAgICAgICk7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB0aGlzLl9zZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgUG9wdXBDb250ZW50Q29tcG9uZW50LFxuICAgICAgICB0aGlzLl9jb250ZW50LFxuICAgICAgICBpbmplY3RvcixcbiAgICAgICAgdGhpcy5hcHBlbmRUb0JvZHkgPyB0aGlzLl9kb2N1bWVudC5ib2R5IDogdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICApO1xuICAgICAgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuYWRkQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95Q29udGVudFJlZigpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuID0gZmFsc2U7XG4gICAgdGhpcy5fc2VydmljZS5kZXN0cm95KFxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLFxuICAgICAgdGhpcy5fY29udGVudCxcbiAgICAgIHRoaXMuYXBwZW5kVG9Cb2R5ID8gdGhpcy5fZG9jdW1lbnQuYm9keSA6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICk7XG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRQb3NpdGlvbigpOiB2b2lkO1xufVxuIl19
@@ -0,0 +1,73 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class HighlightDirective {
4
+ elementRef;
5
+ set tetaHighlight(text) {
6
+ setTimeout(() => {
7
+ if (this._initialElement) {
8
+ this.elementRef.nativeElement.innerHTML = this._initialElement;
9
+ }
10
+ if (!text) {
11
+ return;
12
+ }
13
+ const pattern = /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;
14
+ const searchWithOutRegExp = text
15
+ .toLowerCase()
16
+ .replace(pattern, '\\$&')
17
+ .split(' ')
18
+ .filter(t => t.length > 0)
19
+ .join('|');
20
+ this._initialElement = this.elementRef.nativeElement.innerHTML;
21
+ this.recursiveReplaceNode(this.elementRef.nativeElement.childNodes, searchWithOutRegExp);
22
+ }, 10);
23
+ }
24
+ _initialElement = null;
25
+ constructor(elementRef) {
26
+ this.elementRef = elementRef;
27
+ }
28
+ recursiveReplaceNode(nodes, searchWithOutRegExp) {
29
+ let match = false;
30
+ const cacheNodes = [];
31
+ nodes.forEach((node) => {
32
+ cacheNodes.push(node);
33
+ });
34
+ cacheNodes.forEach(node => {
35
+ if (node.nodeType === 3) {
36
+ if (node.nodeValue && node.nodeValue.search(new RegExp(searchWithOutRegExp, 'i')) > -1) {
37
+ match = true;
38
+ this.wrapNode(node, searchWithOutRegExp);
39
+ }
40
+ }
41
+ else {
42
+ match = this.recursiveReplaceNode(node.childNodes, searchWithOutRegExp) || match;
43
+ }
44
+ });
45
+ return match;
46
+ }
47
+ wrapNode(textNode, searchWithOutRegExp) {
48
+ if (!textNode || !textNode.nodeValue) {
49
+ return;
50
+ }
51
+ const tempDiv = document.createElement('div');
52
+ tempDiv.innerHTML = textNode.nodeValue
53
+ .replace(new RegExp(searchWithOutRegExp, 'gi'), match => `<mark>${match}</mark>`);
54
+ const parentNode = textNode.parentNode;
55
+ if (parentNode) {
56
+ while (tempDiv.firstChild) {
57
+ parentNode.insertBefore(tempDiv.firstChild, textNode);
58
+ }
59
+ parentNode.removeChild(textNode);
60
+ }
61
+ }
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: HighlightDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
63
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", type: HighlightDirective, selector: "[tetaHighlight]", inputs: { tetaHighlight: "tetaHighlight" }, ngImport: i0 });
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: HighlightDirective, decorators: [{
66
+ type: Directive,
67
+ args: [{
68
+ selector: '[tetaHighlight]',
69
+ }]
70
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { tetaHighlight: [{
71
+ type: Input
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvaGlnaGxpZ2h0L2hpZ2hsaWdodC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBSzNELE1BQU0sT0FBTyxrQkFBa0I7SUF1QlQ7SUF0QnBCLElBQWEsYUFBYSxDQUFDLElBQVk7UUFDckMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7YUFDaEU7WUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU87YUFDUjtZQUNELE1BQU0sT0FBTyxHQUFHLHFDQUFxQyxDQUFDO1lBQ3RELE1BQU0sbUJBQW1CLEdBQUcsSUFBSTtpQkFDN0IsV0FBVyxFQUFFO2lCQUNiLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO2lCQUN4QixLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2lCQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMvRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDM0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVPLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFFL0IsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUMxQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBNEIsRUFBRSxtQkFBMkI7UUFDcEYsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLE1BQU0sVUFBVSxHQUFnQixFQUFFLENBQUM7UUFDbkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWUsRUFBRSxFQUFFO1lBQ2hDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUN0RixLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7aUJBQzFDO2FBQ0Y7aUJBQU07Z0JBQ0wsS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLElBQUksS0FBSyxDQUFDO2FBQ2xGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxRQUFRLENBQUMsUUFBbUIsRUFBRSxtQkFBMkI7UUFDL0QsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFDcEMsT0FBTztTQUNSO1FBQ0QsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxPQUFPLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTO2FBQ25DLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUVwRixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ3ZDLElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUN6QixVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDdkQ7WUFDRCxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzt1R0E3RFUsa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7aUdBRWMsYUFBYTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZXRhSGlnaGxpZ2h0XScsXG59KVxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHNldCB0ZXRhSGlnaGxpZ2h0KHRleHQ6IHN0cmluZykge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX2luaXRpYWxFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuX2luaXRpYWxFbGVtZW50O1xuICAgICAgfVxuICAgICAgaWYgKCF0ZXh0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhdHRlcm4gPSAvW1xcLVxcW1xcXVxcL1xce1xcfVxcKFxcKVxcKlxcK1xcP1xcLlxcXFxcXF5cXCRcXHxdL2c7XG4gICAgICBjb25zdCBzZWFyY2hXaXRoT3V0UmVnRXhwID0gdGV4dFxuICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAucmVwbGFjZShwYXR0ZXJuLCAnXFxcXCQmJylcbiAgICAgICAgLnNwbGl0KCcgJylcbiAgICAgICAgLmZpbHRlcih0ID0+IHQubGVuZ3RoID4gMClcbiAgICAgICAgLmpvaW4oJ3wnKTtcbiAgICAgIHRoaXMuX2luaXRpYWxFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICAgICAgdGhpcy5yZWN1cnNpdmVSZXBsYWNlTm9kZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzLCBzZWFyY2hXaXRoT3V0UmVnRXhwKTtcbiAgICB9LCAxMCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsRWxlbWVudCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBwcml2YXRlIHJlY3Vyc2l2ZVJlcGxhY2VOb2RlKG5vZGVzOiBOb2RlTGlzdE9mPENoaWxkTm9kZT4sIHNlYXJjaFdpdGhPdXRSZWdFeHA6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCBtYXRjaCA9IGZhbHNlO1xuICAgIGNvbnN0IGNhY2hlTm9kZXM6IENoaWxkTm9kZVtdID0gW107XG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZTogQ2hpbGROb2RlKSA9PiB7XG4gICAgICBjYWNoZU5vZGVzLnB1c2gobm9kZSk7XG4gICAgfSk7XG4gICAgY2FjaGVOb2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IDMpIHtcbiAgICAgICAgaWYgKG5vZGUubm9kZVZhbHVlICYmIG5vZGUubm9kZVZhbHVlLnNlYXJjaChuZXcgUmVnRXhwKHNlYXJjaFdpdGhPdXRSZWdFeHAsICdpJykpID4gLTEpIHtcbiAgICAgICAgICBtYXRjaCA9IHRydWU7XG4gICAgICAgICAgdGhpcy53cmFwTm9kZShub2RlLCBzZWFyY2hXaXRoT3V0UmVnRXhwKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWF0Y2ggPSB0aGlzLnJlY3Vyc2l2ZVJlcGxhY2VOb2RlKG5vZGUuY2hpbGROb2Rlcywgc2VhcmNoV2l0aE91dFJlZ0V4cCkgfHwgbWF0Y2g7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWF0Y2g7XG4gIH1cblxuICBwcml2YXRlIHdyYXBOb2RlKHRleHROb2RlOiBDaGlsZE5vZGUsIHNlYXJjaFdpdGhPdXRSZWdFeHA6IHN0cmluZykge1xuICAgIGlmICghdGV4dE5vZGUgfHwgIXRleHROb2RlLm5vZGVWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0ZW1wRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGVtcERpdi5pbm5lckhUTUwgPSB0ZXh0Tm9kZS5ub2RlVmFsdWVcbiAgICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoc2VhcmNoV2l0aE91dFJlZ0V4cCwgJ2dpJyksIG1hdGNoID0+IGA8bWFyaz4ke21hdGNofTwvbWFyaz5gKTtcblxuICAgIGNvbnN0IHBhcmVudE5vZGUgPSB0ZXh0Tm9kZS5wYXJlbnROb2RlO1xuICAgIGlmIChwYXJlbnROb2RlKSB7XG4gICAgICB3aGlsZSAodGVtcERpdi5maXJzdENoaWxkKSB7XG4gICAgICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRlbXBEaXYuZmlyc3RDaGlsZCwgdGV4dE5vZGUpO1xuICAgICAgfVxuICAgICAgcGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0ZXh0Tm9kZSk7XG4gICAgfVxuICB9XG59XG4iXX0=