@tetacom/ng-components 1.0.24 → 1.0.25

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 (1796) hide show
  1. package/.browserslistrc +16 -0
  2. package/dist/README.md +24 -0
  3. package/dist/assets/color-icons.svg +339 -0
  4. package/dist/assets/icons.svg +669 -0
  5. package/dist/assets/intersect.svg +3 -0
  6. package/dist/assets/lithotype-icons.svg +429 -0
  7. package/{common → dist/common}/contract/auto-close-ignore-case.d.ts +0 -0
  8. package/{common → dist/common}/contract/constructor-type.d.ts +0 -0
  9. package/{common → dist/common}/contract/dynamic-data.d.ts +0 -0
  10. package/{common → dist/common}/contract/i-dictionary.d.ts +0 -0
  11. package/{common → dist/common}/contract/i-id-name.d.ts +0 -0
  12. package/{common → dist/common}/contract/i-rect.d.ts +0 -0
  13. package/{common → dist/common}/contract/i-tree-data.d.ts +0 -0
  14. package/{common → dist/common}/contract/public-api.d.ts +0 -0
  15. package/{common → dist/common}/contract/teta-content-ref.d.ts +0 -0
  16. package/{common → dist/common}/enum/align.enum.d.ts +0 -0
  17. package/{common → dist/common}/enum/public-api.d.ts +0 -0
  18. package/{common → dist/common}/enum/teta-size.enum.d.ts +0 -0
  19. package/{common → dist/common}/enum/vertical-align.enum.d.ts +0 -0
  20. package/{common → dist/common}/public-api.d.ts +0 -0
  21. package/{common → dist/common}/service/click.service.d.ts +0 -0
  22. package/{common → dist/common}/service/dynamic-component.service.d.ts +0 -0
  23. package/{common → dist/common}/service/overlay-container.service.d.ts +0 -0
  24. package/{common → dist/common}/service/public-api.d.ts +0 -0
  25. package/{common → dist/common}/util/array-util.d.ts +0 -0
  26. package/{common → dist/common}/util/dom-util.d.ts +0 -0
  27. package/{common → dist/common}/util/position-util.d.ts +0 -0
  28. package/{common → dist/common}/util/public-api.d.ts +0 -0
  29. package/{component → dist/component}/accordion/accordion/accordion.component.d.ts +0 -0
  30. package/{component → dist/component}/accordion/accordion-content.directive.d.ts +0 -0
  31. package/{component → dist/component}/accordion/accordion-head/accordion-head.component.d.ts +0 -0
  32. package/{component → dist/component}/accordion/accordion-item/accordion-item.component.d.ts +0 -0
  33. package/{component → dist/component}/accordion/accordion.module.d.ts +0 -0
  34. package/{component → dist/component}/accordion/public-api.d.ts +0 -0
  35. package/{component → dist/component}/button/button/button.component.d.ts +0 -0
  36. package/{component → dist/component}/button/button.module.d.ts +0 -0
  37. package/{component → dist/component}/button/public-api.d.ts +0 -0
  38. package/{component → dist/component}/chart/chart/chart.component.d.ts +0 -0
  39. package/{component → dist/component}/chart/chart.module.d.ts +0 -0
  40. package/dist/component/chart/core/axis-creator.d.ts +29 -0
  41. package/{component → dist/component}/chart/core/chart.d.ts +0 -0
  42. package/{component → dist/component}/chart/core/public-api.d.ts +0 -0
  43. package/{component → dist/component}/chart/drawer/area-drawer.d.ts +0 -0
  44. package/{component → dist/component}/chart/drawer/bar-drawer.d.ts +0 -0
  45. package/{component → dist/component}/chart/drawer/contour-drawer.d.ts +0 -0
  46. package/{component → dist/component}/chart/drawer/default-drawer-mapping.d.ts +0 -0
  47. package/{component → dist/component}/chart/drawer/line-drawer.d.ts +0 -0
  48. package/{component → dist/component}/chart/drawer/pie-drawer.d.ts +0 -0
  49. package/{component → dist/component}/chart/drawer/public-api.d.ts +0 -0
  50. package/{component → dist/component}/chart/drawer/scatter-drawer.d.ts +0 -0
  51. package/{component → dist/component}/chart/drawer/spline-drawer.d.ts +0 -0
  52. package/{component → dist/component}/chart/legend-drawer/default-drawer-legend-mapping.d.ts +0 -0
  53. package/{component → dist/component}/chart/legend-drawer/gradient-drawer.d.ts +0 -0
  54. package/{component → dist/component}/chart/legend-drawer/swatch-drawer.d.ts +0 -0
  55. package/{component → dist/component}/chart/model/annotation.d.ts +0 -0
  56. package/{component → dist/component}/chart/model/axis-options.d.ts +0 -0
  57. package/{component → dist/component}/chart/model/chart-bounds.d.ts +0 -0
  58. package/{component → dist/component}/chart/model/chart-options.d.ts +0 -0
  59. package/{component → dist/component}/chart/model/enum/axis-type.d.ts +0 -0
  60. package/{component → dist/component}/chart/model/enum/dispatch-type.d.ts +0 -0
  61. package/{component → dist/component}/chart/model/enum/drag-point-type.d.ts +0 -0
  62. package/{component → dist/component}/chart/model/enum/legend-type.d.ts +0 -0
  63. package/{component → dist/component}/chart/model/enum/public-api.d.ts +0 -0
  64. package/dist/component/chart/model/enum/scale-type.d.ts +7 -0
  65. package/{component → dist/component}/chart/model/enum/scale.d.ts +0 -0
  66. package/{component → dist/component}/chart/model/enum/series-type.d.ts +0 -0
  67. package/{component → dist/component}/chart/model/enum/zoom-type.d.ts +0 -0
  68. package/{component → dist/component}/chart/model/i-drag-event.d.ts +0 -0
  69. package/{component → dist/component}/chart/model/i-drawer-legend.d.ts +0 -0
  70. package/{component → dist/component}/chart/model/i-drawer.d.ts +0 -0
  71. package/{component → dist/component}/chart/model/i-zoom-event.d.ts +0 -0
  72. package/{component → dist/component}/chart/model/plot-band.d.ts +0 -0
  73. package/{component → dist/component}/chart/model/plot-line.d.ts +0 -0
  74. package/{component → dist/component}/chart/model/point/bar-point.d.ts +0 -0
  75. package/{component → dist/component}/chart/model/point/base-point.d.ts +0 -0
  76. package/{component → dist/component}/chart/model/point/contour-point.d.ts +0 -0
  77. package/{component → dist/component}/chart/model/point/marker-options.d.ts +0 -0
  78. package/{component → dist/component}/chart/model/point/public-api.d.ts +0 -0
  79. package/{component → dist/component}/chart/model/point/scatter-point.d.ts +0 -0
  80. package/{component → dist/component}/chart/model/public-api.d.ts +0 -0
  81. package/dist/component/chart/model/series.d.ts +62 -0
  82. package/{component → dist/component}/chart/model/tooltip-options.d.ts +0 -0
  83. package/{component → dist/component}/chart/public-api.d.ts +0 -0
  84. package/{component → dist/component}/chart-3d/chart-3d.module.d.ts +0 -0
  85. package/{component → dist/component}/chart-3d/chart3d/chart3d.component.d.ts +0 -0
  86. package/{component → dist/component}/chart-3d/model/base-3d-point.d.ts +0 -0
  87. package/{component → dist/component}/chart-3d/model/chart-3d-options.d.ts +0 -0
  88. package/{component → dist/component}/chart-3d/model/public-api.d.ts +0 -0
  89. package/{component → dist/component}/chart-3d/model/series-3d.d.ts +0 -0
  90. package/{component → dist/component}/chart-3d/public-api.d.ts +0 -0
  91. package/{component → dist/component}/checkbox/checkbox/checkbox.component.d.ts +0 -0
  92. package/{component → dist/component}/checkbox/checkbox.module.d.ts +0 -0
  93. package/{component → dist/component}/checkbox/public-api.d.ts +0 -0
  94. package/{component → dist/component}/date-picker/date-picker/date-picker.component.d.ts +0 -0
  95. package/{component → dist/component}/date-picker/date-picker.module.d.ts +0 -0
  96. package/{component → dist/component}/date-picker/day-select/day-select.component.d.ts +0 -0
  97. package/{component → dist/component}/date-picker/model/date-period.d.ts +0 -0
  98. package/{component → dist/component}/date-picker/model/date-picker-mode.enum.d.ts +0 -0
  99. package/{component → dist/component}/date-picker/model/day-model.d.ts +0 -0
  100. package/{component → dist/component}/date-picker/model/picker-locale-model.d.ts +0 -0
  101. package/{component → dist/component}/date-picker/month-picker/month-picker.component.d.ts +0 -0
  102. package/{component → dist/component}/date-picker/month-select/month-select.component.d.ts +0 -0
  103. package/{component → dist/component}/date-picker/public-api.d.ts +0 -0
  104. package/{component → dist/component}/date-picker/service/picker-locale.service.d.ts +0 -0
  105. package/{component → dist/component}/date-picker/service/picker-touch.service.d.ts +0 -0
  106. package/{component → dist/component}/date-picker/time-part-control/time-part-control.component.d.ts +0 -0
  107. package/{component → dist/component}/date-picker/util/date-picker-util.d.ts +0 -0
  108. package/{component → dist/component}/date-picker/year-select/year-select.component.d.ts +0 -0
  109. package/{component → dist/component}/delimiter/delimiter/delimiter.component.d.ts +0 -0
  110. package/{component → dist/component}/delimiter/delimiter.module.d.ts +0 -0
  111. package/{component → dist/component}/delimiter/public-api.d.ts +0 -0
  112. package/{component → dist/component}/dropdown/dropdown/dropdown.component.d.ts +0 -0
  113. package/{component → dist/component}/dropdown/dropdown-base.d.ts +0 -0
  114. package/{component → dist/component}/dropdown/dropdown-content.directive.d.ts +0 -0
  115. package/{component → dist/component}/dropdown/dropdown-head.directive.d.ts +0 -0
  116. package/{component → dist/component}/dropdown/dropdown.directive.d.ts +0 -0
  117. package/{component → dist/component}/dropdown/dropdown.module.d.ts +0 -0
  118. package/{component → dist/component}/dropdown/public-api.d.ts +0 -0
  119. package/{component → dist/component}/dynamic-component/dynamic-component.module.d.ts +0 -0
  120. package/{component → dist/component}/dynamic-component/popup-content/popup-content.component.d.ts +0 -0
  121. package/{component → dist/component}/dynamic-component/public-api.d.ts +0 -0
  122. package/{component → dist/component}/expand-panel/expand-panel/expand-panel.component.d.ts +0 -0
  123. package/{component → dist/component}/expand-panel/expand-panel-content.directive.d.ts +0 -0
  124. package/{component → dist/component}/expand-panel/expand-panel-head.directive.d.ts +0 -0
  125. package/{component → dist/component}/expand-panel/expand-panel.module.d.ts +0 -0
  126. package/{component → dist/component}/expand-panel/public-api.d.ts +0 -0
  127. package/{component → dist/component}/file-upload/file-item/file-item.component.d.ts +0 -0
  128. package/{component → dist/component}/file-upload/file-upload-area/file-upload-area.component.d.ts +0 -0
  129. package/{component → dist/component}/file-upload/file-upload.module.d.ts +0 -0
  130. package/{component → dist/component}/file-upload/public-api.d.ts +0 -0
  131. package/{component → dist/component}/filter/base/filter-base.d.ts +0 -0
  132. package/{component → dist/component}/filter/base/filter-component-base.d.ts +0 -0
  133. package/{component → dist/component}/filter/boolean-filter/boolean-filter.component.d.ts +0 -0
  134. package/{component → dist/component}/filter/contarct/boolean-filter.d.ts +0 -0
  135. package/{component → dist/component}/filter/contarct/date-filter-value.d.ts +0 -0
  136. package/{component → dist/component}/filter/contarct/date-filter.d.ts +0 -0
  137. package/{component → dist/component}/filter/contarct/filter-component-map.d.ts +0 -0
  138. package/{component → dist/component}/filter/contarct/filter-item.d.ts +0 -0
  139. package/{component → dist/component}/filter/contarct/filter-state.d.ts +0 -0
  140. package/{component → dist/component}/filter/contarct/i-filter.d.ts +0 -0
  141. package/{component → dist/component}/filter/contarct/list-filter.d.ts +0 -0
  142. package/{component → dist/component}/filter/contarct/numeric-filter-value.d.ts +0 -0
  143. package/{component → dist/component}/filter/contarct/numeric-filter.d.ts +0 -0
  144. package/{component → dist/component}/filter/contarct/sort-param.d.ts +0 -0
  145. package/{component → dist/component}/filter/contarct/string-filter.d.ts +0 -0
  146. package/{component → dist/component}/filter/date-filter/date-filter.component.d.ts +0 -0
  147. package/{component → dist/component}/filter/enum/filter-type.enum.d.ts +0 -0
  148. package/{component → dist/component}/filter/enum/list-filter-type.enum.d.ts +0 -0
  149. package/{component → dist/component}/filter/enum/string-filter-type.enum.d.ts +0 -0
  150. package/{component → dist/component}/filter/filter-host/filter-host.component.d.ts +0 -0
  151. package/{component → dist/component}/filter/filter-panel/filter-panel.component.d.ts +0 -0
  152. package/{component → dist/component}/filter/filter.module.d.ts +0 -0
  153. package/{component → dist/component}/filter/list-filter/list-filter.component.d.ts +0 -0
  154. package/{component → dist/component}/filter/numeric-filter/numeric-filter.component.d.ts +0 -0
  155. package/{component → dist/component}/filter/public-api.d.ts +0 -0
  156. package/{component → dist/component}/filter/string-filter/string-filter.component.d.ts +0 -0
  157. package/{component → dist/component}/icon/icon/icon.component.d.ts +0 -0
  158. package/{component → dist/component}/icon/icon-sprite.directive.d.ts +0 -0
  159. package/{component → dist/component}/icon/icon.module.d.ts +0 -0
  160. package/{component → dist/component}/icon/icon.service.d.ts +0 -0
  161. package/{component → dist/component}/icon/public-api.d.ts +0 -0
  162. package/{component → dist/component}/input/form-group-title/form-group-title.component.d.ts +0 -0
  163. package/{component → dist/component}/input/input/input.component.d.ts +0 -0
  164. package/{component → dist/component}/input/input.module.d.ts +0 -0
  165. package/{component → dist/component}/input/public-api.d.ts +0 -0
  166. package/{component → dist/component}/input/text-field/text-field.component.d.ts +0 -0
  167. package/{component → dist/component}/message/message/message.component.d.ts +0 -0
  168. package/{component → dist/component}/message/message-host/message-host.component.d.ts +0 -0
  169. package/{component → dist/component}/message/message.module.d.ts +0 -0
  170. package/{component → dist/component}/message/message.service.d.ts +0 -0
  171. package/{component → dist/component}/message/model/message.d.ts +0 -0
  172. package/{component → dist/component}/message/public-api.d.ts +0 -0
  173. package/{component → dist/component}/modal/dialog/dialog.component.d.ts +0 -0
  174. package/{component → dist/component}/modal/dialog.service.d.ts +0 -0
  175. package/{component → dist/component}/modal/modal-container/modal-container.component.d.ts +0 -0
  176. package/{component → dist/component}/modal/modal.module.d.ts +0 -0
  177. package/{component → dist/component}/modal/modal.service.d.ts +0 -0
  178. package/{component → dist/component}/modal/model/current-modal.d.ts +0 -0
  179. package/{component → dist/component}/modal/model/i-modal-config.d.ts +0 -0
  180. package/{component → dist/component}/modal/model/i-modal-result.d.ts +0 -0
  181. package/{component → dist/component}/modal/model/modal-close-reason.enum.d.ts +0 -0
  182. package/{component → dist/component}/modal/model/modal-instance.d.ts +0 -0
  183. package/{component → dist/component}/modal/public-api.d.ts +0 -0
  184. package/{component → dist/component}/pager/model/pager-state.d.ts +0 -0
  185. package/{component → dist/component}/pager/pager/pager.component.d.ts +0 -0
  186. package/{component → dist/component}/pager/pager.module.d.ts +0 -0
  187. package/{component → dist/component}/pager/public-api.d.ts +0 -0
  188. package/{component → dist/component}/pager/util/pager-util.d.ts +0 -0
  189. package/{component → dist/component}/panel/panel/panel.component.d.ts +0 -0
  190. package/{component → dist/component}/panel/panel.module.d.ts +0 -0
  191. package/{component → dist/component}/panel/public-api.d.ts +0 -0
  192. package/{component → dist/component}/progress-bar/progress-bar/progress-bar.component.d.ts +0 -0
  193. package/{component → dist/component}/progress-bar/progress-bar.module.d.ts +0 -0
  194. package/{component → dist/component}/progress-bar/public-api.d.ts +0 -0
  195. package/{component → dist/component}/property-grid/default/date-item-default/date-item-default.component.d.ts +0 -0
  196. package/{component → dist/component}/property-grid/default/list-item-default/list-item-default.component.d.ts +0 -0
  197. package/{component → dist/component}/property-grid/default/numeric-item-default/numeric-item-default.component.d.ts +0 -0
  198. package/{component → dist/component}/property-grid/default/string-item-default/string-item-default.component.d.ts +0 -0
  199. package/{component → dist/component}/property-grid/property-grid/property-grid-group/property-grid-group.component.d.ts +0 -0
  200. package/{component → dist/component}/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +0 -0
  201. package/{component → dist/component}/property-grid/property-grid/property-grid.component.d.ts +0 -0
  202. package/{component → dist/component}/property-grid/property-grid.module.d.ts +0 -0
  203. package/{component → dist/component}/property-grid/public-api.d.ts +0 -0
  204. package/{component → dist/component}/public-api.d.ts +0 -0
  205. package/{component → dist/component}/radio/public-api.d.ts +0 -0
  206. package/{component → dist/component}/radio/radio/radio.component.d.ts +0 -0
  207. package/{component → dist/component}/radio/radio-button/radio-button.component.d.ts +0 -0
  208. package/{component → dist/component}/radio/radio.module.d.ts +0 -0
  209. package/{component → dist/component}/resize-panel/public-api.d.ts +0 -0
  210. package/{component → dist/component}/resize-panel/resize-panel/resize-panel.component.d.ts +0 -0
  211. package/{component → dist/component}/resize-panel/resize-panel.module.d.ts +0 -0
  212. package/{component → dist/component}/select/public-api.d.ts +0 -0
  213. package/{component → dist/component}/select/select/select.component.d.ts +0 -0
  214. package/{component → dist/component}/select/select-option.directive.d.ts +0 -0
  215. package/{component → dist/component}/select/select-value.directive.d.ts +0 -0
  216. package/{component → dist/component}/select/select.module.d.ts +0 -0
  217. package/{component → dist/component}/sidebar/public-api.d.ts +0 -0
  218. package/{component → dist/component}/sidebar/sidebar/sidebar.component.d.ts +0 -0
  219. package/{component → dist/component}/sidebar/sidebar-position.enum.d.ts +0 -0
  220. package/{component → dist/component}/sidebar/sidebar.module.d.ts +0 -0
  221. package/{component → dist/component}/switch/public-api.d.ts +0 -0
  222. package/{component → dist/component}/switch/switch/switch.component.d.ts +0 -0
  223. package/{component → dist/component}/switch/switch-button/switch-button.component.d.ts +0 -0
  224. package/{component → dist/component}/switch/switch.module.d.ts +0 -0
  225. package/{component → dist/component}/switch/switch.service.d.ts +0 -0
  226. package/{component → dist/component}/table/base/cell-component-base.d.ts +0 -0
  227. package/{component → dist/component}/table/base/detail-component-base.d.ts +0 -0
  228. package/{component → dist/component}/table/base/group-row-component-base.d.ts +0 -0
  229. package/{component → dist/component}/table/base/head-cell-component-base.d.ts +0 -0
  230. package/{component → dist/component}/table/cell/cell.component.d.ts +0 -0
  231. package/{component → dist/component}/table/cell-host/cell-host.component.d.ts +0 -0
  232. package/{component → dist/component}/table/contract/cell-components-map.d.ts +0 -0
  233. package/{component → dist/component}/table/contract/column-reorder-event.d.ts +0 -0
  234. package/{component → dist/component}/table/contract/column-resize-event.d.ts +0 -0
  235. package/{component → dist/component}/table/contract/i-cell-coordinates.d.ts +0 -0
  236. package/{component → dist/component}/table/contract/i-cell-event.d.ts +0 -0
  237. package/{component → dist/component}/table/contract/i-cell-value.d.ts +0 -0
  238. package/{component → dist/component}/table/contract/public-api.d.ts +0 -0
  239. package/{component → dist/component}/table/contract/sort-event.d.ts +0 -0
  240. package/{component → dist/component}/table/contract/table-column-store.d.ts +0 -0
  241. package/dist/component/table/contract/table-column.d.ts +142 -0
  242. package/{component → dist/component}/table/contract/table-context-menu-config.d.ts +0 -0
  243. package/{component → dist/component}/table/contract/table-row.d.ts +0 -0
  244. package/{component → dist/component}/table/default/boolean-cell/boolean-cell.component.d.ts +0 -0
  245. package/{component → dist/component}/table/default/date-cell/date-cell.component.d.ts +0 -0
  246. package/{component → dist/component}/table/default/date-time-cell/date-time-cell.component.d.ts +0 -0
  247. package/{component → dist/component}/table/default/default-head-cell/default-head-cell.component.d.ts +0 -0
  248. package/{component → dist/component}/table/default/group-row/group-row.component.d.ts +0 -0
  249. package/{component → dist/component}/table/default/list-cell/list-cell.component.d.ts +0 -0
  250. package/{component → dist/component}/table/default/numeric-cell/numeric-cell.component.d.ts +0 -0
  251. package/{component → dist/component}/table/default/string-cell/string-cell.component.d.ts +0 -0
  252. package/{component → dist/component}/table/enum/aggregation-type.enum.d.ts +0 -0
  253. package/{component → dist/component}/table/enum/edit-event.enum.d.ts +0 -0
  254. package/{component → dist/component}/table/enum/edit-type.enum.d.ts +0 -0
  255. package/{component → dist/component}/table/enum/public-api.d.ts +0 -0
  256. package/{component → dist/component}/table/enum/select-type.enum.d.ts +0 -0
  257. package/{component → dist/component}/table/head-cell/head-cell.component.d.ts +0 -0
  258. package/dist/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +59 -0
  259. package/{component → dist/component}/table/head-cell-host/head-cell-host.component.d.ts +0 -0
  260. package/{component → dist/component}/table/public-api.d.ts +0 -0
  261. package/{component → dist/component}/table/selection-cell/selection-cell.component.d.ts +0 -0
  262. package/{component → dist/component}/table/selection-head-cell/selection-head-cell.component.d.ts +0 -0
  263. package/dist/component/table/service/table.service.d.ts +118 -0
  264. package/dist/component/table/table/table.component.d.ts +98 -0
  265. package/{component → dist/component}/table/table-body/table-body.component.d.ts +0 -0
  266. package/{component → dist/component}/table/table-head/table-head.component.d.ts +0 -0
  267. package/{component → dist/component}/table/table-head-group/table-head-group.component.d.ts +0 -0
  268. package/{component → dist/component}/table/table.module.d.ts +0 -0
  269. package/{component → dist/component}/table/util/public-api.d.ts +0 -0
  270. package/{component → dist/component}/table/util/state-util.d.ts +0 -0
  271. package/{component → dist/component}/table/util/table-util.d.ts +0 -0
  272. package/{component → dist/component}/tabs/public-api.d.ts +0 -0
  273. package/{component → dist/component}/tabs/tab/tab.component.d.ts +0 -0
  274. package/{component → dist/component}/tabs/tab-content.directive.d.ts +0 -0
  275. package/{component → dist/component}/tabs/tab-title.directive.d.ts +0 -0
  276. package/{component → dist/component}/tabs/tabs/tabs.component.d.ts +0 -0
  277. package/{component → dist/component}/tabs/tabs.module.d.ts +0 -0
  278. package/{component → dist/component}/theme-switch/public-api.d.ts +0 -0
  279. package/{component → dist/component}/theme-switch/theme-switch/theme-switch.component.d.ts +0 -0
  280. package/{component → dist/component}/theme-switch/theme-switch.module.d.ts +0 -0
  281. package/{component → dist/component}/theme-switch/theme-switch.service.d.ts +0 -0
  282. package/{component → dist/component}/toggle/public-api.d.ts +0 -0
  283. package/{component → dist/component}/toggle/toggle/toggle.component.d.ts +0 -0
  284. package/{component → dist/component}/toggle/toggle.module.d.ts +0 -0
  285. package/{component → dist/component}/toolbar/public-api.d.ts +0 -0
  286. package/{component → dist/component}/toolbar/toolbar/toolbar.component.d.ts +0 -0
  287. package/{component → dist/component}/toolbar/toolbar.module.d.ts +0 -0
  288. package/{component → dist/component}/tree/public-api.d.ts +0 -0
  289. package/{component → dist/component}/tree/tree/tree.component.d.ts +0 -0
  290. package/{component → dist/component}/tree/tree-item/tree-item.component.d.ts +0 -0
  291. package/{component → dist/component}/tree/tree-item-toggle/tree-item-toggle.component.d.ts +0 -0
  292. package/{component → dist/component}/tree/tree.module.d.ts +0 -0
  293. package/{component → dist/component}/tree/tree.service.d.ts +0 -0
  294. package/{directive → dist/directive}/click-outside/click-outside.directive.d.ts +0 -0
  295. package/{directive → dist/directive}/click-outside/click-outside.module.d.ts +0 -0
  296. package/{directive → dist/directive}/click-outside/public-api.d.ts +0 -0
  297. package/{directive → dist/directive}/context-menu/context-menu.directive.d.ts +0 -0
  298. package/{directive → dist/directive}/context-menu/context-menu.module.d.ts +0 -0
  299. package/{directive → dist/directive}/context-menu/public-api.d.ts +0 -0
  300. package/{directive → dist/directive}/disable-control/disable-control.directive.d.ts +0 -0
  301. package/{directive → dist/directive}/disable-control/disable-control.module.d.ts +0 -0
  302. package/{directive → dist/directive}/disable-control/public-api.d.ts +0 -0
  303. package/{directive → dist/directive}/drag-sort/drag-sort-container.directive.d.ts +0 -0
  304. package/{directive → dist/directive}/drag-sort/drag-sort-event.d.ts +0 -0
  305. package/{directive → dist/directive}/drag-sort/drag-sort-item.directive.d.ts +0 -0
  306. package/{directive → dist/directive}/drag-sort/drag-sort.module.d.ts +0 -0
  307. package/{directive → dist/directive}/drag-sort/public-api.d.ts +0 -0
  308. package/{directive → dist/directive}/dynamic-content-base.directive.d.ts +0 -0
  309. package/{directive → dist/directive}/highlight/highlight.directive.d.ts +0 -0
  310. package/{directive → dist/directive}/highlight/highlight.module.d.ts +0 -0
  311. package/{directive → dist/directive}/highlight/public-api.d.ts +0 -0
  312. package/{directive → dist/directive}/hint/hint.directive.d.ts +0 -0
  313. package/{directive → dist/directive}/hint/hint.module.d.ts +0 -0
  314. package/{directive → dist/directive}/hint/public-api.d.ts +0 -0
  315. package/{directive → dist/directive}/loader/loader.directive.d.ts +0 -0
  316. package/{directive → dist/directive}/loader/loader.module.d.ts +0 -0
  317. package/{directive → dist/directive}/loader/public-api.d.ts +0 -0
  318. package/{directive → dist/directive}/no-autofill/no-autofill.directive.d.ts +0 -0
  319. package/{directive → dist/directive}/no-autofill/no-autofill.module.d.ts +0 -0
  320. package/{directive → dist/directive}/no-autofill/public-api.d.ts +0 -0
  321. package/{directive → dist/directive}/only-number/only-number.directive.d.ts +0 -0
  322. package/{directive → dist/directive}/only-number/only-number.module.d.ts +0 -0
  323. package/{directive → dist/directive}/only-number/public-api.d.ts +0 -0
  324. package/{directive → dist/directive}/public-api.d.ts +0 -0
  325. package/{directive → dist/directive}/resize-drag/public-api.d.ts +0 -0
  326. package/{directive → dist/directive}/resize-drag/resize-drag.directive.d.ts +0 -0
  327. package/{directive → dist/directive}/resize-drag/resize-drag.module.d.ts +0 -0
  328. package/{directive → dist/directive}/teta-template/public-api.d.ts +0 -0
  329. package/{directive → dist/directive}/teta-template/teta-template.directive.d.ts +0 -0
  330. package/{directive → dist/directive}/teta-template/teta-template.module.d.ts +0 -0
  331. package/{directive → dist/directive}/tooltip/public-api.d.ts +0 -0
  332. package/{directive → dist/directive}/tooltip/tooltip.directive.d.ts +0 -0
  333. package/{directive → dist/directive}/tooltip/tooltip.module.d.ts +0 -0
  334. package/dist/esm2020/common/contract/auto-close-ignore-case.mjs +2 -0
  335. package/dist/esm2020/common/contract/constructor-type.mjs +2 -0
  336. package/dist/esm2020/common/contract/dynamic-data.mjs +10 -0
  337. package/dist/esm2020/common/contract/i-dictionary.mjs +2 -0
  338. package/dist/esm2020/common/contract/i-id-name.mjs +2 -0
  339. package/dist/esm2020/common/contract/i-rect.mjs +2 -0
  340. package/dist/esm2020/common/contract/i-tree-data.mjs +2 -0
  341. package/dist/esm2020/common/contract/public-api.mjs +9 -0
  342. package/dist/esm2020/common/contract/teta-content-ref.mjs +8 -0
  343. package/dist/esm2020/common/enum/align.enum.mjs +10 -0
  344. package/dist/esm2020/common/enum/public-api.mjs +4 -0
  345. package/dist/esm2020/common/enum/teta-size.enum.mjs +9 -0
  346. package/dist/esm2020/common/enum/vertical-align.enum.mjs +8 -0
  347. package/dist/esm2020/common/public-api.mjs +5 -0
  348. package/dist/esm2020/common/service/click.service.mjs +23 -0
  349. package/dist/esm2020/common/service/dynamic-component.service.mjs +93 -0
  350. package/dist/esm2020/common/service/overlay-container.service.mjs +41 -0
  351. package/dist/esm2020/common/service/public-api.mjs +4 -0
  352. package/dist/esm2020/common/util/array-util.mjs +119 -0
  353. package/dist/esm2020/common/util/dom-util.mjs +16 -0
  354. package/dist/esm2020/common/util/position-util.mjs +96 -0
  355. package/dist/esm2020/common/util/public-api.mjs +4 -0
  356. package/dist/esm2020/component/accordion/accordion/accordion.component.mjs +18 -0
  357. package/dist/esm2020/component/accordion/accordion-content.directive.mjs +16 -0
  358. package/dist/esm2020/component/accordion/accordion-head/accordion-head.component.mjs +52 -0
  359. package/dist/esm2020/component/accordion/accordion-item/accordion-item.component.mjs +43 -0
  360. package/dist/esm2020/component/accordion/accordion.module.mjs +29 -0
  361. package/dist/esm2020/component/accordion/public-api.mjs +6 -0
  362. package/dist/esm2020/component/button/button/button.component.mjs +40 -0
  363. package/dist/esm2020/component/button/button.module.mjs +24 -0
  364. package/dist/esm2020/component/button/public-api.mjs +3 -0
  365. package/dist/esm2020/component/chart/chart/chart.component.mjs +164 -0
  366. package/dist/esm2020/component/chart/chart.module.mjs +18 -0
  367. package/dist/esm2020/component/chart/core/axis-creator.mjs +82 -0
  368. package/dist/esm2020/component/chart/core/chart.mjs +1339 -0
  369. package/dist/esm2020/component/chart/core/public-api.mjs +3 -0
  370. package/dist/esm2020/component/chart/drawer/area-drawer.mjs +20 -0
  371. package/dist/esm2020/component/chart/drawer/bar-drawer.mjs +23 -0
  372. package/dist/esm2020/component/chart/drawer/contour-drawer.mjs +29 -0
  373. package/dist/esm2020/component/chart/drawer/default-drawer-mapping.mjs +17 -0
  374. package/dist/esm2020/component/chart/drawer/line-drawer.mjs +152 -0
  375. package/dist/esm2020/component/chart/drawer/pie-drawer.mjs +4 -0
  376. package/dist/esm2020/component/chart/drawer/public-api.mjs +7 -0
  377. package/dist/esm2020/component/chart/drawer/scatter-drawer.mjs +93 -0
  378. package/dist/esm2020/component/chart/drawer/spline-drawer.mjs +23 -0
  379. package/dist/esm2020/component/chart/legend-drawer/default-drawer-legend-mapping.mjs +7 -0
  380. package/dist/esm2020/component/chart/legend-drawer/gradient-drawer.mjs +45 -0
  381. package/dist/esm2020/component/chart/legend-drawer/swatch-drawer.mjs +62 -0
  382. package/dist/esm2020/component/chart/model/annotation.mjs +30 -0
  383. package/dist/esm2020/component/chart/model/axis-options.mjs +26 -0
  384. package/dist/esm2020/component/chart/model/chart-bounds.mjs +13 -0
  385. package/dist/esm2020/component/chart/model/chart-options.mjs +37 -0
  386. package/dist/esm2020/component/chart/model/enum/axis-type.mjs +6 -0
  387. package/dist/esm2020/component/chart/model/enum/dispatch-type.mjs +6 -0
  388. package/dist/esm2020/component/chart/model/enum/drag-point-type.mjs +7 -0
  389. package/dist/esm2020/component/chart/model/enum/legend-type.mjs +6 -0
  390. package/dist/esm2020/component/chart/model/enum/public-api.mjs +8 -0
  391. package/dist/esm2020/component/chart/model/enum/scale-type.mjs +9 -0
  392. package/dist/esm2020/component/chart/model/enum/scale.mjs +7 -0
  393. package/dist/esm2020/component/chart/model/enum/series-type.mjs +12 -0
  394. package/dist/esm2020/component/chart/model/enum/zoom-type.mjs +7 -0
  395. package/dist/esm2020/component/chart/model/i-drag-event.mjs +2 -0
  396. package/dist/esm2020/component/chart/model/i-drawer-legend.mjs +2 -0
  397. package/dist/esm2020/component/chart/model/i-drawer.mjs +2 -0
  398. package/dist/esm2020/component/chart/model/i-zoom-event.mjs +2 -0
  399. package/dist/esm2020/component/chart/model/plot-band.mjs +18 -0
  400. package/dist/esm2020/component/chart/model/plot-line.mjs +13 -0
  401. package/dist/esm2020/component/chart/model/point/bar-point.mjs +2 -0
  402. package/dist/esm2020/component/chart/model/point/base-point.mjs +2 -0
  403. package/dist/esm2020/component/chart/model/point/contour-point.mjs +2 -0
  404. package/dist/esm2020/component/chart/model/point/marker-options.mjs +2 -0
  405. package/dist/esm2020/component/chart/model/point/public-api.mjs +4 -0
  406. package/dist/esm2020/component/chart/model/point/scatter-point.mjs +2 -0
  407. package/dist/esm2020/component/chart/model/public-api.mjs +16 -0
  408. package/dist/esm2020/component/chart/model/series.mjs +27 -0
  409. package/dist/esm2020/component/chart/model/tooltip-options.mjs +19 -0
  410. package/dist/esm2020/component/chart/public-api.mjs +6 -0
  411. package/dist/esm2020/component/chart-3d/chart-3d.module.mjs +18 -0
  412. package/dist/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +232 -0
  413. package/dist/esm2020/component/chart-3d/model/base-3d-point.mjs +2 -0
  414. package/dist/esm2020/component/chart-3d/model/chart-3d-options.mjs +7 -0
  415. package/dist/esm2020/component/chart-3d/model/public-api.mjs +3 -0
  416. package/dist/esm2020/component/chart-3d/model/series-3d.mjs +7 -0
  417. package/dist/esm2020/component/chart-3d/public-api.mjs +4 -0
  418. package/dist/esm2020/component/checkbox/checkbox/checkbox.component.mjs +134 -0
  419. package/dist/esm2020/component/checkbox/checkbox.module.mjs +28 -0
  420. package/dist/esm2020/component/checkbox/public-api.mjs +3 -0
  421. package/dist/esm2020/component/date-picker/date-picker/date-picker.component.mjs +279 -0
  422. package/dist/esm2020/component/date-picker/date-picker.module.mjs +67 -0
  423. package/dist/esm2020/component/date-picker/day-select/day-select.component.mjs +166 -0
  424. package/dist/esm2020/component/date-picker/model/date-period.mjs +7 -0
  425. package/dist/esm2020/component/date-picker/model/date-picker-mode.enum.mjs +7 -0
  426. package/dist/esm2020/component/date-picker/model/day-model.mjs +13 -0
  427. package/dist/esm2020/component/date-picker/model/picker-locale-model.mjs +13 -0
  428. package/dist/esm2020/component/date-picker/month-picker/month-picker.component.mjs +250 -0
  429. package/dist/esm2020/component/date-picker/month-select/month-select.component.mjs +147 -0
  430. package/dist/esm2020/component/date-picker/public-api.mjs +6 -0
  431. package/dist/esm2020/component/date-picker/service/picker-locale.service.mjs +30 -0
  432. package/dist/esm2020/component/date-picker/service/picker-touch.service.mjs +34 -0
  433. package/dist/esm2020/component/date-picker/time-part-control/time-part-control.component.mjs +73 -0
  434. package/dist/esm2020/component/date-picker/util/date-picker-util.mjs +142 -0
  435. package/dist/esm2020/component/date-picker/year-select/year-select.component.mjs +189 -0
  436. package/dist/esm2020/component/delimiter/delimiter/delimiter.component.mjs +63 -0
  437. package/dist/esm2020/component/delimiter/delimiter.module.mjs +22 -0
  438. package/dist/esm2020/component/delimiter/public-api.mjs +3 -0
  439. package/dist/esm2020/component/dropdown/dropdown/dropdown.component.mjs +29 -0
  440. package/dist/esm2020/component/dropdown/dropdown-base.mjs +204 -0
  441. package/dist/esm2020/component/dropdown/dropdown-content.directive.mjs +17 -0
  442. package/dist/esm2020/component/dropdown/dropdown-head.directive.mjs +18 -0
  443. package/dist/esm2020/component/dropdown/dropdown.directive.mjs +37 -0
  444. package/dist/esm2020/component/dropdown/dropdown.module.mjs +41 -0
  445. package/dist/esm2020/component/dropdown/public-api.mjs +6 -0
  446. package/dist/esm2020/component/dynamic-component/dynamic-component.module.mjs +22 -0
  447. package/dist/esm2020/component/dynamic-component/popup-content/popup-content.component.mjs +59 -0
  448. package/dist/esm2020/component/dynamic-component/public-api.mjs +3 -0
  449. package/dist/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +65 -0
  450. package/dist/esm2020/component/expand-panel/expand-panel-content.directive.mjs +16 -0
  451. package/dist/esm2020/component/expand-panel/expand-panel-head.directive.mjs +16 -0
  452. package/dist/esm2020/component/expand-panel/expand-panel.module.mjs +52 -0
  453. package/dist/esm2020/component/expand-panel/public-api.mjs +5 -0
  454. package/dist/esm2020/component/file-upload/file-item/file-item.component.mjs +13 -0
  455. package/dist/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +77 -0
  456. package/dist/esm2020/component/file-upload/file-upload.module.mjs +21 -0
  457. package/dist/esm2020/component/file-upload/public-api.mjs +4 -0
  458. package/dist/esm2020/component/filter/base/filter-base.mjs +9 -0
  459. package/dist/esm2020/component/filter/base/filter-component-base.mjs +3 -0
  460. package/dist/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +53 -0
  461. package/dist/esm2020/component/filter/contarct/boolean-filter.mjs +10 -0
  462. package/dist/esm2020/component/filter/contarct/date-filter-value.mjs +9 -0
  463. package/dist/esm2020/component/filter/contarct/date-filter.mjs +11 -0
  464. package/dist/esm2020/component/filter/contarct/filter-component-map.mjs +17 -0
  465. package/dist/esm2020/component/filter/contarct/filter-item.mjs +33 -0
  466. package/dist/esm2020/component/filter/contarct/filter-state.mjs +145 -0
  467. package/dist/esm2020/component/filter/contarct/i-filter.mjs +2 -0
  468. package/dist/esm2020/component/filter/contarct/list-filter.mjs +12 -0
  469. package/dist/esm2020/component/filter/contarct/numeric-filter-value.mjs +10 -0
  470. package/dist/esm2020/component/filter/contarct/numeric-filter.mjs +11 -0
  471. package/dist/esm2020/component/filter/contarct/sort-param.mjs +13 -0
  472. package/dist/esm2020/component/filter/contarct/string-filter.mjs +12 -0
  473. package/dist/esm2020/component/filter/date-filter/date-filter.component.mjs +54 -0
  474. package/dist/esm2020/component/filter/enum/filter-type.enum.mjs +10 -0
  475. package/dist/esm2020/component/filter/enum/list-filter-type.enum.mjs +6 -0
  476. package/dist/esm2020/component/filter/enum/string-filter-type.enum.mjs +20 -0
  477. package/dist/esm2020/component/filter/filter-host/filter-host.component.mjs +73 -0
  478. package/dist/esm2020/component/filter/filter-panel/filter-panel.component.mjs +13 -0
  479. package/dist/esm2020/component/filter/filter.module.mjs +80 -0
  480. package/dist/esm2020/component/filter/list-filter/list-filter.component.mjs +86 -0
  481. package/dist/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +53 -0
  482. package/dist/esm2020/component/filter/public-api.mjs +25 -0
  483. package/dist/esm2020/component/filter/string-filter/string-filter.component.mjs +54 -0
  484. package/dist/esm2020/component/icon/icon/icon.component.mjs +37 -0
  485. package/dist/esm2020/component/icon/icon-sprite.directive.mjs +32 -0
  486. package/dist/esm2020/component/icon/icon.module.mjs +35 -0
  487. package/dist/esm2020/component/icon/icon.service.mjs +59 -0
  488. package/dist/esm2020/component/icon/public-api.mjs +5 -0
  489. package/dist/esm2020/component/input/form-group-title/form-group-title.component.mjs +18 -0
  490. package/dist/esm2020/component/input/input/input.component.mjs +31 -0
  491. package/dist/esm2020/component/input/input.module.mjs +23 -0
  492. package/dist/esm2020/component/input/public-api.mjs +5 -0
  493. package/dist/esm2020/component/input/text-field/text-field.component.mjs +94 -0
  494. package/dist/esm2020/component/message/message/message.component.mjs +74 -0
  495. package/dist/esm2020/component/message/message-host/message-host.component.mjs +88 -0
  496. package/dist/esm2020/component/message/message.module.mjs +31 -0
  497. package/dist/esm2020/component/message/message.service.mjs +35 -0
  498. package/dist/esm2020/component/message/model/message.mjs +21 -0
  499. package/dist/esm2020/component/message/public-api.mjs +6 -0
  500. package/dist/esm2020/component/modal/dialog/dialog.component.mjs +44 -0
  501. package/dist/esm2020/component/modal/dialog.service.mjs +39 -0
  502. package/dist/esm2020/component/modal/modal-container/modal-container.component.mjs +84 -0
  503. package/dist/esm2020/component/modal/modal.module.mjs +52 -0
  504. package/dist/esm2020/component/modal/modal.service.mjs +121 -0
  505. package/dist/esm2020/component/modal/model/current-modal.mjs +3 -0
  506. package/dist/esm2020/component/modal/model/i-modal-config.mjs +2 -0
  507. package/dist/esm2020/component/modal/model/i-modal-result.mjs +2 -0
  508. package/dist/esm2020/component/modal/model/modal-close-reason.enum.mjs +8 -0
  509. package/dist/esm2020/component/modal/model/modal-instance.mjs +32 -0
  510. package/dist/esm2020/component/modal/public-api.mjs +11 -0
  511. package/dist/esm2020/component/pager/model/pager-state.mjs +50 -0
  512. package/dist/esm2020/component/pager/pager/pager.component.mjs +13 -0
  513. package/dist/esm2020/component/pager/pager.module.mjs +26 -0
  514. package/dist/esm2020/component/pager/public-api.mjs +5 -0
  515. package/dist/esm2020/component/pager/util/pager-util.mjs +6 -0
  516. package/dist/esm2020/component/panel/panel/panel.component.mjs +51 -0
  517. package/dist/esm2020/component/panel/panel.module.mjs +22 -0
  518. package/dist/esm2020/component/panel/public-api.mjs +3 -0
  519. package/dist/esm2020/component/progress-bar/progress-bar/progress-bar.component.mjs +131 -0
  520. package/dist/esm2020/component/progress-bar/progress-bar.module.mjs +22 -0
  521. package/dist/esm2020/component/progress-bar/public-api.mjs +3 -0
  522. package/dist/esm2020/component/property-grid/default/date-item-default/date-item-default.component.mjs +13 -0
  523. package/dist/esm2020/component/property-grid/default/list-item-default/list-item-default.component.mjs +13 -0
  524. package/dist/esm2020/component/property-grid/default/numeric-item-default/numeric-item-default.component.mjs +13 -0
  525. package/dist/esm2020/component/property-grid/default/string-item-default/string-item-default.component.mjs +13 -0
  526. package/dist/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +34 -0
  527. package/dist/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +103 -0
  528. package/dist/esm2020/component/property-grid/property-grid/property-grid.component.mjs +59 -0
  529. package/dist/esm2020/component/property-grid/property-grid.module.mjs +94 -0
  530. package/dist/esm2020/component/property-grid/public-api.mjs +3 -0
  531. package/dist/esm2020/component/public-api.mjs +61 -0
  532. package/dist/esm2020/component/radio/public-api.mjs +4 -0
  533. package/dist/esm2020/component/radio/radio/radio.component.mjs +245 -0
  534. package/dist/esm2020/component/radio/radio-button/radio-button.component.mjs +63 -0
  535. package/dist/esm2020/component/radio/radio.module.mjs +20 -0
  536. package/dist/esm2020/component/resize-panel/public-api.mjs +3 -0
  537. package/dist/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +162 -0
  538. package/dist/esm2020/component/resize-panel/resize-panel.module.mjs +20 -0
  539. package/dist/esm2020/component/select/public-api.mjs +5 -0
  540. package/dist/esm2020/component/select/select/select.component.mjs +234 -0
  541. package/dist/esm2020/component/select/select-option.directive.mjs +16 -0
  542. package/dist/esm2020/component/select/select-value.directive.mjs +16 -0
  543. package/dist/esm2020/component/select/select.module.mjs +48 -0
  544. package/dist/esm2020/component/sidebar/public-api.mjs +4 -0
  545. package/dist/esm2020/component/sidebar/sidebar/sidebar.component.mjs +54 -0
  546. package/dist/esm2020/component/sidebar/sidebar-position.enum.mjs +8 -0
  547. package/dist/esm2020/component/sidebar/sidebar.module.mjs +30 -0
  548. package/dist/esm2020/component/switch/public-api.mjs +4 -0
  549. package/dist/esm2020/component/switch/switch/switch.component.mjs +52 -0
  550. package/dist/esm2020/component/switch/switch-button/switch-button.component.mjs +47 -0
  551. package/dist/esm2020/component/switch/switch.module.mjs +23 -0
  552. package/dist/esm2020/component/switch/switch.service.mjs +21 -0
  553. package/dist/esm2020/component/table/base/cell-component-base.mjs +103 -0
  554. package/dist/esm2020/component/table/base/detail-component-base.mjs +3 -0
  555. package/dist/esm2020/component/table/base/group-row-component-base.mjs +3 -0
  556. package/dist/esm2020/component/table/base/head-cell-component-base.mjs +17 -0
  557. package/dist/esm2020/component/table/cell/cell.component.mjs +33 -0
  558. package/dist/esm2020/component/table/cell-host/cell-host.component.mjs +50 -0
  559. package/dist/esm2020/component/table/contract/cell-components-map.mjs +17 -0
  560. package/dist/esm2020/component/table/contract/column-reorder-event.mjs +7 -0
  561. package/dist/esm2020/component/table/contract/column-resize-event.mjs +7 -0
  562. package/dist/esm2020/component/table/contract/i-cell-coordinates.mjs +2 -0
  563. package/dist/esm2020/component/table/contract/i-cell-event.mjs +2 -0
  564. package/dist/esm2020/component/table/contract/i-cell-value.mjs +2 -0
  565. package/dist/esm2020/component/table/contract/public-api.mjs +12 -0
  566. package/dist/esm2020/component/table/contract/sort-event.mjs +7 -0
  567. package/dist/esm2020/component/table/contract/table-column-store.mjs +12 -0
  568. package/dist/esm2020/component/table/contract/table-column.mjs +43 -0
  569. package/dist/esm2020/component/table/contract/table-context-menu-config.mjs +17 -0
  570. package/dist/esm2020/component/table/contract/table-row.mjs +40 -0
  571. package/dist/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +45 -0
  572. package/dist/esm2020/component/table/default/date-cell/date-cell.component.mjs +47 -0
  573. package/dist/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +46 -0
  574. package/dist/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +28 -0
  575. package/dist/esm2020/component/table/default/group-row/group-row.component.mjs +20 -0
  576. package/dist/esm2020/component/table/default/list-cell/list-cell.component.mjs +66 -0
  577. package/dist/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +46 -0
  578. package/dist/esm2020/component/table/default/string-cell/string-cell.component.mjs +44 -0
  579. package/dist/esm2020/component/table/enum/aggregation-type.enum.mjs +9 -0
  580. package/dist/esm2020/component/table/enum/edit-event.enum.mjs +7 -0
  581. package/dist/esm2020/component/table/enum/edit-type.enum.mjs +6 -0
  582. package/dist/esm2020/component/table/enum/public-api.mjs +5 -0
  583. package/dist/esm2020/component/table/enum/select-type.enum.mjs +7 -0
  584. package/dist/esm2020/component/table/head-cell/head-cell.component.mjs +136 -0
  585. package/dist/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +198 -0
  586. package/dist/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +36 -0
  587. package/dist/esm2020/component/table/public-api.mjs +43 -0
  588. package/dist/esm2020/component/table/selection-cell/selection-cell.component.mjs +46 -0
  589. package/dist/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +45 -0
  590. package/dist/esm2020/component/table/service/table.service.mjs +434 -0
  591. package/dist/esm2020/component/table/table/table.component.mjs +422 -0
  592. package/dist/esm2020/component/table/table-body/table-body.component.mjs +240 -0
  593. package/dist/esm2020/component/table/table-head/table-head.component.mjs +98 -0
  594. package/dist/esm2020/component/table/table-head-group/table-head-group.component.mjs +59 -0
  595. package/dist/esm2020/component/table/table.module.mjs +176 -0
  596. package/dist/esm2020/component/table/util/public-api.mjs +3 -0
  597. package/dist/esm2020/component/table/util/state-util.mjs +139 -0
  598. package/dist/esm2020/component/table/util/table-util.mjs +131 -0
  599. package/dist/esm2020/component/tabs/public-api.mjs +12 -0
  600. package/dist/esm2020/component/tabs/tab/tab.component.mjs +42 -0
  601. package/dist/esm2020/component/tabs/tab-content.directive.mjs +16 -0
  602. package/dist/esm2020/component/tabs/tab-title.directive.mjs +16 -0
  603. package/dist/esm2020/component/tabs/tabs/tabs.component.mjs +70 -0
  604. package/dist/esm2020/component/tabs/tabs.module.mjs +41 -0
  605. package/dist/esm2020/component/theme-switch/public-api.mjs +4 -0
  606. package/dist/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +28 -0
  607. package/dist/esm2020/component/theme-switch/theme-switch.module.mjs +30 -0
  608. package/dist/esm2020/component/theme-switch/theme-switch.service.mjs +34 -0
  609. package/dist/esm2020/component/toggle/public-api.mjs +3 -0
  610. package/dist/esm2020/component/toggle/toggle/toggle.component.mjs +79 -0
  611. package/dist/esm2020/component/toggle/toggle.module.mjs +19 -0
  612. package/dist/esm2020/component/toolbar/public-api.mjs +6 -0
  613. package/dist/esm2020/component/toolbar/toolbar/toolbar.component.mjs +26 -0
  614. package/dist/esm2020/component/toolbar/toolbar.module.mjs +22 -0
  615. package/dist/esm2020/component/tree/public-api.mjs +5 -0
  616. package/dist/esm2020/component/tree/tree/tree.component.mjs +76 -0
  617. package/dist/esm2020/component/tree/tree-item/tree-item.component.mjs +80 -0
  618. package/dist/esm2020/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +28 -0
  619. package/dist/esm2020/component/tree/tree.module.mjs +22 -0
  620. package/dist/esm2020/component/tree/tree.service.mjs +35 -0
  621. package/dist/esm2020/directive/click-outside/click-outside.directive.mjs +60 -0
  622. package/dist/esm2020/directive/click-outside/click-outside.module.mjs +22 -0
  623. package/dist/esm2020/directive/click-outside/public-api.mjs +3 -0
  624. package/dist/esm2020/directive/context-menu/context-menu.directive.mjs +94 -0
  625. package/dist/esm2020/directive/context-menu/context-menu.module.mjs +26 -0
  626. package/dist/esm2020/directive/context-menu/public-api.mjs +3 -0
  627. package/dist/esm2020/directive/disable-control/disable-control.directive.mjs +29 -0
  628. package/dist/esm2020/directive/disable-control/disable-control.module.mjs +24 -0
  629. package/dist/esm2020/directive/disable-control/public-api.mjs +3 -0
  630. package/dist/esm2020/directive/drag-sort/drag-sort-container.directive.mjs +64 -0
  631. package/dist/esm2020/directive/drag-sort/drag-sort-event.mjs +2 -0
  632. package/dist/esm2020/directive/drag-sort/drag-sort-item.directive.mjs +115 -0
  633. package/dist/esm2020/directive/drag-sort/drag-sort.module.mjs +19 -0
  634. package/dist/esm2020/directive/drag-sort/public-api.mjs +5 -0
  635. package/dist/esm2020/directive/dynamic-content-base.directive.mjs +81 -0
  636. package/dist/esm2020/directive/highlight/highlight.directive.mjs +72 -0
  637. package/dist/esm2020/directive/highlight/highlight.module.mjs +22 -0
  638. package/dist/esm2020/directive/highlight/public-api.mjs +3 -0
  639. package/dist/esm2020/directive/hint/hint.directive.mjs +97 -0
  640. package/dist/esm2020/directive/hint/hint.module.mjs +26 -0
  641. package/dist/esm2020/directive/hint/public-api.mjs +3 -0
  642. package/dist/esm2020/directive/loader/loader.directive.mjs +63 -0
  643. package/dist/esm2020/directive/loader/loader.module.mjs +22 -0
  644. package/dist/esm2020/directive/loader/public-api.mjs +3 -0
  645. package/dist/esm2020/directive/no-autofill/no-autofill.directive.mjs +30 -0
  646. package/dist/esm2020/directive/no-autofill/no-autofill.module.mjs +18 -0
  647. package/dist/esm2020/directive/no-autofill/public-api.mjs +3 -0
  648. package/dist/esm2020/directive/only-number/only-number.directive.mjs +175 -0
  649. package/dist/esm2020/directive/only-number/only-number.module.mjs +18 -0
  650. package/dist/esm2020/directive/only-number/public-api.mjs +3 -0
  651. package/dist/esm2020/directive/public-api.mjs +15 -0
  652. package/dist/esm2020/directive/resize-drag/public-api.mjs +3 -0
  653. package/dist/esm2020/directive/resize-drag/resize-drag.directive.mjs +71 -0
  654. package/dist/esm2020/directive/resize-drag/resize-drag.module.mjs +18 -0
  655. package/dist/esm2020/directive/teta-template/public-api.mjs +3 -0
  656. package/dist/esm2020/directive/teta-template/teta-template.directive.mjs +22 -0
  657. package/dist/esm2020/directive/teta-template/teta-template.module.mjs +26 -0
  658. package/dist/esm2020/directive/tooltip/public-api.mjs +3 -0
  659. package/dist/esm2020/directive/tooltip/tooltip.directive.mjs +76 -0
  660. package/dist/esm2020/directive/tooltip/tooltip.module.mjs +20 -0
  661. package/dist/esm2020/pipe/number-pipe/number-pipe.module.mjs +24 -0
  662. package/dist/esm2020/pipe/number-pipe/number.pipe.mjs +24 -0
  663. package/dist/esm2020/pipe/number-pipe/public-api.mjs +3 -0
  664. package/dist/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +18 -0
  665. package/dist/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +21 -0
  666. package/dist/esm2020/pipe/public-api.mjs +2 -0
  667. package/dist/esm2020/pipe/util/number-helper.mjs +25 -0
  668. package/dist/esm2020/public-api.mjs +21 -0
  669. package/dist/esm2020/tetacom-ng-components.mjs +5 -0
  670. package/dist/esm2020/util/date-util.mjs +195 -0
  671. package/dist/esm2020/util/forms-util.mjs +61 -0
  672. package/dist/esm2020/util/public-api.mjs +4 -0
  673. package/dist/esm2020/util/string-util.mjs +7 -0
  674. package/dist/fesm2015/tetacom-ng-components.mjs +13342 -0
  675. package/dist/fesm2015/tetacom-ng-components.mjs.map +1 -0
  676. package/dist/fesm2020/tetacom-ng-components.mjs +13234 -0
  677. package/dist/fesm2020/tetacom-ng-components.mjs.map +1 -0
  678. package/dist/package.json +35 -0
  679. package/{pipe → dist/pipe}/number-pipe/number-pipe.module.d.ts +0 -0
  680. package/{pipe → dist/pipe}/number-pipe/number.pipe.d.ts +0 -0
  681. package/{pipe → dist/pipe}/number-pipe/public-api.d.ts +0 -0
  682. package/{pipe → dist/pipe}/prepend-zero/prepend-zero.module.d.ts +0 -0
  683. package/{pipe → dist/pipe}/prepend-zero/prepend-zero.pipe.d.ts +0 -0
  684. package/{pipe → dist/pipe}/public-api.d.ts +0 -0
  685. package/{pipe → dist/pipe}/util/number-helper.d.ts +0 -0
  686. package/{public-api.d.ts → dist/public-api.d.ts} +0 -0
  687. package/dist/style/accordion.scss +47 -0
  688. package/dist/style/assembly-library.scss +36 -0
  689. package/dist/style/assembly-presets.scss +5 -0
  690. package/dist/style/assembly.scss +4 -0
  691. package/dist/style/border.scss +24 -0
  692. package/dist/style/button.scss +43 -0
  693. package/dist/style/checkbox.scss +31 -0
  694. package/dist/style/chips.scss +23 -0
  695. package/dist/style/color.scss +42 -0
  696. package/dist/style/common.scss +1 -0
  697. package/dist/style/datepicker.scss +106 -0
  698. package/dist/style/drag.scss +40 -0
  699. package/dist/style/dropdown.scss +30 -0
  700. package/dist/style/font.scss +7 -0
  701. package/dist/style/hint.scss +13 -0
  702. package/dist/style/icon.scss +12 -0
  703. package/dist/style/input.scss +162 -0
  704. package/dist/style/layout.scss +109 -0
  705. package/dist/style/library.scss +208 -0
  706. package/dist/style/list.scss +70 -0
  707. package/dist/style/loader.scss +40 -0
  708. package/dist/style/message.scss +51 -0
  709. package/dist/style/modal.scss +29 -0
  710. package/dist/style/navigation.scss +26 -0
  711. package/dist/style/presets/color-presets.scss +151 -0
  712. package/dist/style/presets/font-presets.scss +132 -0
  713. package/dist/style/presets/layout-presets.scss +1 -0
  714. package/dist/style/presets/shadow-presets.scss +16 -0
  715. package/dist/style/presets/spacing-presets.scss +2 -0
  716. package/dist/style/progress.scss +28 -0
  717. package/dist/style/radio.scss +56 -0
  718. package/dist/style/reset.scss +35 -0
  719. package/dist/style/resize-panel.scss +58 -0
  720. package/dist/style/scroll.scss +60 -0
  721. package/dist/style/select.scss +108 -0
  722. package/dist/style/shadow.scss +23 -0
  723. package/dist/style/sidebar.scss +40 -0
  724. package/dist/style/sizing.scss +12 -0
  725. package/dist/style/spacing.scss +45 -0
  726. package/dist/style/switch.scss +36 -0
  727. package/dist/style/table.scss +226 -0
  728. package/dist/style/tabs.scss +64 -0
  729. package/dist/style/toggle.scss +70 -0
  730. package/dist/style/toolbar.scss +23 -0
  731. package/dist/style/tooltip.scss +60 -0
  732. package/dist/style/tree.scss +60 -0
  733. package/dist/style/util/button-util.scss +58 -0
  734. package/dist/style/util/color-util.scss +3 -0
  735. package/dist/style/util/font-util.scss +11 -0
  736. package/dist/style/util/scroll-util.scss +4 -0
  737. package/dist/style/util/shadow-util.scss +3 -0
  738. package/{tetacom-ng-components.d.ts → dist/tetacom-ng-components.d.ts} +0 -0
  739. package/{util → dist/util}/date-util.d.ts +0 -0
  740. package/{util → dist/util}/forms-util.d.ts +0 -0
  741. package/{util → dist/util}/public-api.d.ts +0 -0
  742. package/{util → dist/util}/string-util.d.ts +0 -0
  743. package/karma.conf.js +44 -0
  744. package/ng-package.json +11 -0
  745. package/package.json +2 -22
  746. package/src/Introduction.stories.mdx +178 -0
  747. package/src/common/contract/auto-close-ignore-case.ts +1 -0
  748. package/src/common/contract/constructor-type.ts +1 -0
  749. package/src/common/contract/dynamic-data.ts +11 -0
  750. package/src/common/contract/i-dictionary.ts +3 -0
  751. package/src/common/contract/i-id-name.ts +6 -0
  752. package/src/common/contract/i-rect.ts +8 -0
  753. package/src/common/contract/i-tree-data.ts +4 -0
  754. package/src/common/contract/public-api.ts +8 -0
  755. package/src/common/contract/teta-content-ref.ts +6 -0
  756. package/src/common/enum/align.enum.ts +8 -0
  757. package/src/common/enum/public-api.ts +3 -0
  758. package/src/common/enum/teta-size.enum.ts +7 -0
  759. package/src/common/enum/vertical-align.enum.ts +6 -0
  760. package/src/common/public-api.ts +4 -0
  761. package/src/common/service/click.service.spec.ts +16 -0
  762. package/src/common/service/click.service.ts +16 -0
  763. package/src/common/service/dynamic-component.service.spec.ts +16 -0
  764. package/src/common/service/dynamic-component.service.ts +134 -0
  765. package/src/common/service/overlay-container.service.spec.ts +16 -0
  766. package/src/common/service/overlay-container.service.ts +37 -0
  767. package/src/common/service/public-api.ts +3 -0
  768. package/src/common/util/array-util.ts +140 -0
  769. package/src/common/util/dom-util.ts +16 -0
  770. package/src/common/util/position-util.ts +112 -0
  771. package/src/common/util/public-api.ts +3 -0
  772. package/src/component/accordion/Accordion.stories.ts +49 -0
  773. package/src/component/accordion/accordion/accordion.component.html +1 -0
  774. package/src/component/accordion/accordion/accordion.component.scss +0 -0
  775. package/src/component/accordion/accordion/accordion.component.spec.ts +25 -0
  776. package/src/component/accordion/accordion/accordion.component.ts +20 -0
  777. package/src/component/accordion/accordion-content.directive.spec.ts +8 -0
  778. package/src/component/accordion/accordion-content.directive.ts +9 -0
  779. package/src/component/accordion/accordion-head/accordion-head.component.html +6 -0
  780. package/src/component/accordion/accordion-head/accordion-head.component.scss +0 -0
  781. package/src/component/accordion/accordion-head/accordion-head.component.spec.ts +25 -0
  782. package/src/component/accordion/accordion-head/accordion-head.component.ts +54 -0
  783. package/src/component/accordion/accordion-item/accordion-item.component.html +4 -0
  784. package/src/component/accordion/accordion-item/accordion-item.component.scss +0 -0
  785. package/src/component/accordion/accordion-item/accordion-item.component.spec.ts +25 -0
  786. package/src/component/accordion/accordion-item/accordion-item.component.ts +48 -0
  787. package/src/component/accordion/accordion.module.ts +18 -0
  788. package/src/component/accordion/public-api.ts +5 -0
  789. package/src/component/button/Button.stories.ts +61 -0
  790. package/src/component/button/button/button.component.html +1 -0
  791. package/src/component/button/button/button.component.scss +0 -0
  792. package/src/component/button/button/button.component.spec.ts +25 -0
  793. package/src/component/button/button/button.component.ts +42 -0
  794. package/src/component/button/button.module.ts +16 -0
  795. package/src/component/button/public-api.ts +2 -0
  796. package/src/component/chart/Chart.stories.ts +97 -0
  797. package/src/component/chart/chart/chart.component.html +9 -0
  798. package/src/component/chart/chart/chart.component.scss +70 -0
  799. package/src/component/chart/chart/chart.component.spec.ts +25 -0
  800. package/src/component/chart/chart/chart.component.ts +241 -0
  801. package/src/component/chart/chart-data.ts +653 -0
  802. package/src/component/chart/chart.module.ts +10 -0
  803. package/src/component/chart/color-list.ts +22 -0
  804. package/src/component/chart/core/axis-creator.ts +130 -0
  805. package/src/component/chart/core/chart.ts +1831 -0
  806. package/src/component/chart/core/public-api.ts +2 -0
  807. package/src/component/chart/drawer/area-drawer.ts +30 -0
  808. package/src/component/chart/drawer/bar-drawer.ts +36 -0
  809. package/src/component/chart/drawer/contour-drawer.ts +47 -0
  810. package/src/component/chart/drawer/default-drawer-mapping.ts +19 -0
  811. package/src/component/chart/drawer/line-drawer.ts +203 -0
  812. package/src/component/chart/drawer/pie-drawer.ts +13 -0
  813. package/src/component/chart/drawer/public-api.ts +6 -0
  814. package/src/component/chart/drawer/scatter-drawer.ts +138 -0
  815. package/src/component/chart/drawer/spline-drawer.ts +33 -0
  816. package/src/component/chart/legend-drawer/default-drawer-legend-mapping.ts +8 -0
  817. package/src/component/chart/legend-drawer/gradient-drawer.ts +65 -0
  818. package/src/component/chart/legend-drawer/swatch-drawer.ts +81 -0
  819. package/src/component/chart/model/annotation.ts +96 -0
  820. package/src/component/chart/model/axis-options.ts +65 -0
  821. package/src/component/chart/model/chart-bounds.ts +18 -0
  822. package/src/component/chart/model/chart-options.ts +79 -0
  823. package/src/component/chart/model/enum/axis-type.ts +4 -0
  824. package/src/component/chart/model/enum/dispatch-type.ts +4 -0
  825. package/src/component/chart/model/enum/drag-point-type.ts +5 -0
  826. package/src/component/chart/model/enum/legend-type.ts +4 -0
  827. package/src/component/chart/model/enum/public-api.ts +7 -0
  828. package/src/component/chart/model/enum/scale-type.ts +7 -0
  829. package/src/component/chart/model/enum/scale.ts +5 -0
  830. package/src/component/chart/model/enum/series-type.ts +10 -0
  831. package/src/component/chart/model/enum/zoom-type.ts +5 -0
  832. package/src/component/chart/model/i-drag-event.ts +5 -0
  833. package/src/component/chart/model/i-drawer-legend.ts +14 -0
  834. package/src/component/chart/model/i-drawer.ts +19 -0
  835. package/src/component/chart/model/i-zoom-event.ts +9 -0
  836. package/src/component/chart/model/plot-band.ts +43 -0
  837. package/src/component/chart/model/plot-line.ts +30 -0
  838. package/src/component/chart/model/point/bar-point.ts +7 -0
  839. package/src/component/chart/model/point/base-point.ts +10 -0
  840. package/src/component/chart/model/point/contour-point.ts +5 -0
  841. package/src/component/chart/model/point/marker-options.ts +12 -0
  842. package/src/component/chart/model/point/public-api.ts +3 -0
  843. package/src/component/chart/model/point/scatter-point.ts +6 -0
  844. package/src/component/chart/model/public-api.ts +16 -0
  845. package/src/component/chart/model/series.ts +85 -0
  846. package/src/component/chart/model/tooltip-options.ts +35 -0
  847. package/src/component/chart/public-api.ts +6 -0
  848. package/src/component/chart-3d/chart-3d.module.ts +10 -0
  849. package/src/component/chart-3d/chart3d/chart3d.component.html +1 -0
  850. package/src/component/chart-3d/chart3d/chart3d.component.scss +5 -0
  851. package/src/component/chart-3d/chart3d/chart3d.component.spec.ts +25 -0
  852. package/src/component/chart-3d/chart3d/chart3d.component.ts +336 -0
  853. package/src/component/chart-3d/model/base-3d-point.ts +5 -0
  854. package/src/component/chart-3d/model/chart-3d-options.ts +15 -0
  855. package/src/component/chart-3d/model/public-api.ts +2 -0
  856. package/src/component/chart-3d/model/series-3d.ts +11 -0
  857. package/src/component/chart-3d/public-api.ts +3 -0
  858. package/src/component/checkbox/Checkbox.mdx +18 -0
  859. package/src/component/checkbox/Checkbox.stories.ts +92 -0
  860. package/src/component/checkbox/checkbox/checkbox.component.html +6 -0
  861. package/src/component/checkbox/checkbox/checkbox.component.scss +0 -0
  862. package/src/component/checkbox/checkbox/checkbox.component.spec.ts +25 -0
  863. package/src/component/checkbox/checkbox/checkbox.component.ts +149 -0
  864. package/src/component/checkbox/checkbox.module.ts +17 -0
  865. package/src/component/checkbox/public-api.ts +2 -0
  866. package/src/component/date-picker/DatePicker.stories.ts +51 -0
  867. package/src/component/date-picker/MonthPicker.stories.ts +32 -0
  868. package/src/component/date-picker/date-picker/date-picker.component.html +91 -0
  869. package/src/component/date-picker/date-picker/date-picker.component.scss +0 -0
  870. package/src/component/date-picker/date-picker/date-picker.component.spec.ts +25 -0
  871. package/src/component/date-picker/date-picker/date-picker.component.ts +305 -0
  872. package/src/component/date-picker/date-picker.module.ts +38 -0
  873. package/src/component/date-picker/day-select/day-select.component.html +23 -0
  874. package/src/component/date-picker/day-select/day-select.component.scss +0 -0
  875. package/src/component/date-picker/day-select/day-select.component.spec.ts +25 -0
  876. package/src/component/date-picker/day-select/day-select.component.ts +216 -0
  877. package/src/component/date-picker/model/date-period.ts +9 -0
  878. package/src/component/date-picker/model/date-picker-mode.enum.ts +5 -0
  879. package/src/component/date-picker/model/day-model.ts +26 -0
  880. package/src/component/date-picker/model/picker-locale-model.ts +26 -0
  881. package/src/component/date-picker/month-picker/month-picker.component.html +64 -0
  882. package/src/component/date-picker/month-picker/month-picker.component.scss +0 -0
  883. package/src/component/date-picker/month-picker/month-picker.component.spec.ts +25 -0
  884. package/src/component/date-picker/month-picker/month-picker.component.ts +278 -0
  885. package/src/component/date-picker/month-select/month-select.component.html +15 -0
  886. package/src/component/date-picker/month-select/month-select.component.scss +3 -0
  887. package/src/component/date-picker/month-select/month-select.component.spec.ts +25 -0
  888. package/src/component/date-picker/month-select/month-select.component.ts +193 -0
  889. package/src/component/date-picker/public-api.ts +5 -0
  890. package/src/component/date-picker/service/picker-locale.service.spec.ts +14 -0
  891. package/src/component/date-picker/service/picker-locale.service.ts +27 -0
  892. package/src/component/date-picker/service/picker-touch.service.spec.ts +16 -0
  893. package/src/component/date-picker/service/picker-touch.service.ts +38 -0
  894. package/src/component/date-picker/time-part-control/time-part-control.component.html +9 -0
  895. package/src/component/date-picker/time-part-control/time-part-control.component.scss +4 -0
  896. package/src/component/date-picker/time-part-control/time-part-control.component.spec.ts +25 -0
  897. package/src/component/date-picker/time-part-control/time-part-control.component.ts +86 -0
  898. package/src/component/date-picker/util/date-picker-util.spec.ts +7 -0
  899. package/src/component/date-picker/util/date-picker-util.ts +227 -0
  900. package/src/component/date-picker/year-select/year-select.component.html +11 -0
  901. package/src/component/date-picker/year-select/year-select.component.scss +3 -0
  902. package/src/component/date-picker/year-select/year-select.component.spec.ts +25 -0
  903. package/src/component/date-picker/year-select/year-select.component.ts +229 -0
  904. package/src/component/delimiter/Delimiter.stories.ts +54 -0
  905. package/src/component/delimiter/delimiter/delimiter.component.html +0 -0
  906. package/src/component/delimiter/delimiter/delimiter.component.scss +3 -0
  907. package/src/component/delimiter/delimiter/delimiter.component.spec.ts +25 -0
  908. package/src/component/delimiter/delimiter/delimiter.component.ts +56 -0
  909. package/src/component/delimiter/delimiter.module.ts +13 -0
  910. package/src/component/delimiter/public-api.ts +2 -0
  911. package/src/component/dropdown/Dropdown.stories.ts +167 -0
  912. package/src/component/dropdown/dropdown/dropdown.component.html +1 -0
  913. package/src/component/dropdown/dropdown/dropdown.component.scss +0 -0
  914. package/src/component/dropdown/dropdown/dropdown.component.spec.ts +25 -0
  915. package/src/component/dropdown/dropdown/dropdown.component.ts +41 -0
  916. package/src/component/dropdown/dropdown-base.spec.ts +7 -0
  917. package/src/component/dropdown/dropdown-base.ts +225 -0
  918. package/src/component/dropdown/dropdown-content.directive.spec.ts +8 -0
  919. package/src/component/dropdown/dropdown-content.directive.ts +12 -0
  920. package/src/component/dropdown/dropdown-head.directive.spec.ts +8 -0
  921. package/src/component/dropdown/dropdown-head.directive.ts +9 -0
  922. package/src/component/dropdown/dropdown.directive.spec.ts +8 -0
  923. package/src/component/dropdown/dropdown.directive.ts +39 -0
  924. package/src/component/dropdown/dropdown.module.ts +26 -0
  925. package/src/component/dropdown/public-api.ts +5 -0
  926. package/src/component/dynamic-component/dynamic-component.module.ts +13 -0
  927. package/src/component/dynamic-component/popup-content/popup-content.component.html +1 -0
  928. package/src/component/dynamic-component/popup-content/popup-content.component.scss +0 -0
  929. package/src/component/dynamic-component/popup-content/popup-content.component.spec.ts +25 -0
  930. package/src/component/dynamic-component/popup-content/popup-content.component.ts +56 -0
  931. package/src/component/dynamic-component/public-api.ts +2 -0
  932. package/src/component/expand-panel/ExpandPanel.stories.ts +22 -0
  933. package/src/component/expand-panel/expand-panel/expand-panel.component.html +36 -0
  934. package/src/component/expand-panel/expand-panel/expand-panel.component.scss +9 -0
  935. package/src/component/expand-panel/expand-panel/expand-panel.component.spec.ts +25 -0
  936. package/src/component/expand-panel/expand-panel/expand-panel.component.ts +65 -0
  937. package/src/component/expand-panel/expand-panel-content.directive.spec.ts +8 -0
  938. package/src/component/expand-panel/expand-panel-content.directive.ts +8 -0
  939. package/src/component/expand-panel/expand-panel-head.directive.spec.ts +8 -0
  940. package/src/component/expand-panel/expand-panel-head.directive.ts +8 -0
  941. package/src/component/expand-panel/expand-panel.module.ts +30 -0
  942. package/src/component/expand-panel/public-api.ts +4 -0
  943. package/src/component/file-upload/File.stories.ts +36 -0
  944. package/src/component/file-upload/file-item/file-item.component.html +1 -0
  945. package/src/component/file-upload/file-item/file-item.component.scss +0 -0
  946. package/src/component/file-upload/file-item/file-item.component.spec.ts +25 -0
  947. package/src/component/file-upload/file-item/file-item.component.ts +12 -0
  948. package/src/component/file-upload/file-upload-area/file-upload-area.component.html +16 -0
  949. package/src/component/file-upload/file-upload-area/file-upload-area.component.scss +3 -0
  950. package/src/component/file-upload/file-upload-area/file-upload-area.component.spec.ts +25 -0
  951. package/src/component/file-upload/file-upload-area/file-upload-area.component.ts +75 -0
  952. package/src/component/file-upload/file-upload.module.ts +13 -0
  953. package/src/component/file-upload/public-api.ts +3 -0
  954. package/src/component/filter/base/filter-base.spec.ts +7 -0
  955. package/src/component/filter/base/filter-base.ts +17 -0
  956. package/src/component/filter/base/filter-component-base.spec.ts +7 -0
  957. package/src/component/filter/base/filter-component-base.ts +13 -0
  958. package/src/component/filter/boolean-filter/boolean-filter.component.html +7 -0
  959. package/src/component/filter/boolean-filter/boolean-filter.component.scss +0 -0
  960. package/src/component/filter/boolean-filter/boolean-filter.component.spec.ts +25 -0
  961. package/src/component/filter/boolean-filter/boolean-filter.component.ts +71 -0
  962. package/src/component/filter/contarct/boolean-filter.ts +12 -0
  963. package/src/component/filter/contarct/date-filter-value.ts +20 -0
  964. package/src/component/filter/contarct/date-filter.ts +17 -0
  965. package/src/component/filter/contarct/filter-component-map.ts +24 -0
  966. package/src/component/filter/contarct/filter-item.ts +95 -0
  967. package/src/component/filter/contarct/filter-state.ts +172 -0
  968. package/src/component/filter/contarct/i-filter.ts +5 -0
  969. package/src/component/filter/contarct/list-filter.ts +20 -0
  970. package/src/component/filter/contarct/numeric-filter-value.ts +26 -0
  971. package/src/component/filter/contarct/numeric-filter.ts +20 -0
  972. package/src/component/filter/contarct/sort-param.ts +29 -0
  973. package/src/component/filter/contarct/string-filter.ts +21 -0
  974. package/src/component/filter/date-filter/date-filter.component.html +14 -0
  975. package/src/component/filter/date-filter/date-filter.component.scss +0 -0
  976. package/src/component/filter/date-filter/date-filter.component.spec.ts +25 -0
  977. package/src/component/filter/date-filter/date-filter.component.ts +68 -0
  978. package/src/component/filter/enum/filter-type.enum.ts +8 -0
  979. package/src/component/filter/enum/list-filter-type.enum.ts +4 -0
  980. package/src/component/filter/enum/string-filter-type.enum.ts +18 -0
  981. package/src/component/filter/filter-host/filter-host.component.html +1 -0
  982. package/src/component/filter/filter-host/filter-host.component.scss +0 -0
  983. package/src/component/filter/filter-host/filter-host.component.spec.ts +25 -0
  984. package/src/component/filter/filter-host/filter-host.component.ts +90 -0
  985. package/src/component/filter/filter-panel/filter-panel.component.html +1 -0
  986. package/src/component/filter/filter-panel/filter-panel.component.scss +0 -0
  987. package/src/component/filter/filter-panel/filter-panel.component.spec.ts +25 -0
  988. package/src/component/filter/filter-panel/filter-panel.component.ts +13 -0
  989. package/src/component/filter/filter.module.ts +46 -0
  990. package/src/component/filter/list-filter/list-filter.component.html +21 -0
  991. package/src/component/filter/list-filter/list-filter.component.scss +7 -0
  992. package/src/component/filter/list-filter/list-filter.component.spec.ts +25 -0
  993. package/src/component/filter/list-filter/list-filter.component.ts +109 -0
  994. package/src/component/filter/numeric-filter/numeric-filter.component.html +14 -0
  995. package/src/component/filter/numeric-filter/numeric-filter.component.scss +0 -0
  996. package/src/component/filter/numeric-filter/numeric-filter.component.spec.ts +25 -0
  997. package/src/component/filter/numeric-filter/numeric-filter.component.ts +72 -0
  998. package/src/component/filter/public-api.ts +27 -0
  999. package/src/component/filter/string-filter/string-filter.component.html +6 -0
  1000. package/src/component/filter/string-filter/string-filter.component.scss +0 -0
  1001. package/src/component/filter/string-filter/string-filter.component.spec.ts +25 -0
  1002. package/src/component/filter/string-filter/string-filter.component.ts +73 -0
  1003. package/src/component/icon/Icon.stories.ts +46 -0
  1004. package/src/component/icon/icon/icon.component.html +3 -0
  1005. package/src/component/icon/icon/icon.component.scss +0 -0
  1006. package/src/component/icon/icon/icon.component.spec.ts +25 -0
  1007. package/src/component/icon/icon/icon.component.ts +39 -0
  1008. package/src/component/icon/icon-sprite.directive.spec.ts +8 -0
  1009. package/src/component/icon/icon-sprite.directive.ts +24 -0
  1010. package/src/component/icon/icon.module.ts +23 -0
  1011. package/src/component/icon/icon.service.spec.ts +16 -0
  1012. package/src/component/icon/icon.service.ts +57 -0
  1013. package/src/component/icon/icons-list.ts +173 -0
  1014. package/src/component/icon/public-api.ts +4 -0
  1015. package/src/component/input/Input.stories.ts +142 -0
  1016. package/src/component/input/form-group-title/form-group-title.component.html +4 -0
  1017. package/src/component/input/form-group-title/form-group-title.component.scss +0 -0
  1018. package/src/component/input/form-group-title/form-group-title.component.spec.ts +25 -0
  1019. package/src/component/input/form-group-title/form-group-title.component.ts +20 -0
  1020. package/src/component/input/input/input.component.html +12 -0
  1021. package/src/component/input/input/input.component.scss +6 -0
  1022. package/src/component/input/input/input.component.spec.ts +25 -0
  1023. package/src/component/input/input/input.component.ts +33 -0
  1024. package/src/component/input/input.module.ts +15 -0
  1025. package/src/component/input/public-api.ts +4 -0
  1026. package/src/component/input/sample-input/sample-input/sample-input.component.html +28 -0
  1027. package/src/component/input/sample-input/sample-input/sample-input.component.scss +25 -0
  1028. package/src/component/input/sample-input/sample-input/sample-input.component.spec.ts +25 -0
  1029. package/src/component/input/sample-input/sample-input/sample-input.component.ts +38 -0
  1030. package/src/component/input/sample-input/sample-input.module.ts +22 -0
  1031. package/src/component/input/text-field/text-field.component.html +19 -0
  1032. package/src/component/input/text-field/text-field.component.scss +0 -0
  1033. package/src/component/input/text-field/text-field.component.spec.ts +25 -0
  1034. package/src/component/input/text-field/text-field.component.ts +84 -0
  1035. package/src/component/list/List.stories.ts +56 -0
  1036. package/src/component/list/list.module.ts +12 -0
  1037. package/src/component/message/Message.stories.ts +20 -0
  1038. package/src/component/message/message/message.component.html +18 -0
  1039. package/src/component/message/message/message.component.scss +0 -0
  1040. package/src/component/message/message/message.component.spec.ts +25 -0
  1041. package/src/component/message/message/message.component.ts +80 -0
  1042. package/src/component/message/message-host/message-host.component.html +6 -0
  1043. package/src/component/message/message-host/message-host.component.scss +0 -0
  1044. package/src/component/message/message-host/message-host.component.spec.ts +25 -0
  1045. package/src/component/message/message-host/message-host.component.ts +94 -0
  1046. package/src/component/message/message-samples/message-sample/message-sample.component.html +31 -0
  1047. package/src/component/message/message-samples/message-sample/message-sample.component.scss +0 -0
  1048. package/src/component/message/message-samples/message-sample/message-sample.component.spec.ts +25 -0
  1049. package/src/component/message/message-samples/message-sample/message-sample.component.ts +40 -0
  1050. package/src/component/message/message-samples/message-samples.module.ts +19 -0
  1051. package/src/component/message/message.module.ts +18 -0
  1052. package/src/component/message/message.service.spec.ts +16 -0
  1053. package/src/component/message/message.service.ts +38 -0
  1054. package/src/component/message/model/message.spec.ts +7 -0
  1055. package/src/component/message/model/message.ts +38 -0
  1056. package/src/component/message/public-api.ts +5 -0
  1057. package/src/component/modal/Modal.stories.ts +43 -0
  1058. package/src/component/modal/dialog/dialog.component.html +20 -0
  1059. package/src/component/modal/dialog/dialog.component.scss +5 -0
  1060. package/src/component/modal/dialog/dialog.component.spec.ts +25 -0
  1061. package/src/component/modal/dialog/dialog.component.ts +33 -0
  1062. package/src/component/modal/dialog.service.spec.ts +16 -0
  1063. package/src/component/modal/dialog.service.ts +59 -0
  1064. package/src/component/modal/modal-container/modal-container.component.html +3 -0
  1065. package/src/component/modal/modal-container/modal-container.component.scss +0 -0
  1066. package/src/component/modal/modal-container/modal-container.component.spec.ts +25 -0
  1067. package/src/component/modal/modal-container/modal-container.component.ts +76 -0
  1068. package/src/component/modal/modal-samples/alert-sample/alert-sample.component.html +13 -0
  1069. package/src/component/modal/modal-samples/alert-sample/alert-sample.component.scss +0 -0
  1070. package/src/component/modal/modal-samples/alert-sample/alert-sample.component.spec.ts +25 -0
  1071. package/src/component/modal/modal-samples/alert-sample/alert-sample.component.ts +31 -0
  1072. package/src/component/modal/modal-samples/modal-example/modal-example.component.html +24 -0
  1073. package/src/component/modal/modal-samples/modal-example/modal-example.component.scss +0 -0
  1074. package/src/component/modal/modal-samples/modal-example/modal-example.component.spec.ts +25 -0
  1075. package/src/component/modal/modal-samples/modal-example/modal-example.component.ts +18 -0
  1076. package/src/component/modal/modal-samples/modal-from-component/modal-from-component.component.html +3 -0
  1077. package/src/component/modal/modal-samples/modal-from-component/modal-from-component.component.scss +0 -0
  1078. package/src/component/modal/modal-samples/modal-from-component/modal-from-component.component.spec.ts +25 -0
  1079. package/src/component/modal/modal-samples/modal-from-component/modal-from-component.component.ts +31 -0
  1080. package/src/component/modal/modal-samples/modal-from-template/modal-from-template.component.html +31 -0
  1081. package/src/component/modal/modal-samples/modal-from-template/modal-from-template.component.scss +0 -0
  1082. package/src/component/modal/modal-samples/modal-from-template/modal-from-template.component.spec.ts +25 -0
  1083. package/src/component/modal/modal-samples/modal-from-template/modal-from-template.component.ts +34 -0
  1084. package/src/component/modal/modal-samples/modal-samples.module.ts +43 -0
  1085. package/src/component/modal/modal.module.ts +28 -0
  1086. package/src/component/modal/modal.service.spec.ts +16 -0
  1087. package/src/component/modal/modal.service.ts +153 -0
  1088. package/src/component/modal/model/current-modal.ts +5 -0
  1089. package/src/component/modal/model/i-modal-config.ts +12 -0
  1090. package/src/component/modal/model/i-modal-result.ts +13 -0
  1091. package/src/component/modal/model/modal-close-reason.enum.ts +6 -0
  1092. package/src/component/modal/model/modal-instance.ts +44 -0
  1093. package/src/component/modal/public-api.ts +11 -0
  1094. package/src/component/pager/Pager.stories.ts +19 -0
  1095. package/src/component/pager/model/pager-state.spec.ts +7 -0
  1096. package/src/component/pager/model/pager-state.ts +80 -0
  1097. package/src/component/pager/pager/pager.component.html +1 -0
  1098. package/src/component/pager/pager/pager.component.scss +0 -0
  1099. package/src/component/pager/pager/pager.component.spec.ts +25 -0
  1100. package/src/component/pager/pager/pager.component.ts +13 -0
  1101. package/src/component/pager/pager.module.ts +15 -0
  1102. package/src/component/pager/public-api.ts +4 -0
  1103. package/src/component/pager/util/pager-util.spec.ts +7 -0
  1104. package/src/component/pager/util/pager-util.ts +7 -0
  1105. package/src/component/panel/panel/panel.component.html +1 -0
  1106. package/src/component/panel/panel/panel.component.scss +0 -0
  1107. package/src/component/panel/panel/panel.component.spec.ts +25 -0
  1108. package/src/component/panel/panel/panel.component.ts +42 -0
  1109. package/src/component/panel/panel.module.ts +13 -0
  1110. package/src/component/panel/public-api.ts +2 -0
  1111. package/src/component/progress-bar/ProgressBar.stories.ts +29 -0
  1112. package/src/component/progress-bar/progress-bar/progress-bar.component.html +7 -0
  1113. package/src/component/progress-bar/progress-bar/progress-bar.component.scss +0 -0
  1114. package/src/component/progress-bar/progress-bar/progress-bar.component.spec.ts +25 -0
  1115. package/src/component/progress-bar/progress-bar/progress-bar.component.ts +158 -0
  1116. package/src/component/progress-bar/progress-bar.module.ts +13 -0
  1117. package/src/component/progress-bar/public-api.ts +2 -0
  1118. package/src/component/property-grid/PropertyGrid.stories.ts +110 -0
  1119. package/src/component/property-grid/default/date-item-default/date-item-default.component.html +1 -0
  1120. package/src/component/property-grid/default/date-item-default/date-item-default.component.scss +0 -0
  1121. package/src/component/property-grid/default/date-item-default/date-item-default.component.spec.ts +25 -0
  1122. package/src/component/property-grid/default/date-item-default/date-item-default.component.ts +13 -0
  1123. package/src/component/property-grid/default/list-item-default/list-item-default.component.html +1 -0
  1124. package/src/component/property-grid/default/list-item-default/list-item-default.component.scss +0 -0
  1125. package/src/component/property-grid/default/list-item-default/list-item-default.component.spec.ts +25 -0
  1126. package/src/component/property-grid/default/list-item-default/list-item-default.component.ts +13 -0
  1127. package/src/component/property-grid/default/numeric-item-default/numeric-item-default.component.html +1 -0
  1128. package/src/component/property-grid/default/numeric-item-default/numeric-item-default.component.scss +0 -0
  1129. package/src/component/property-grid/default/numeric-item-default/numeric-item-default.component.spec.ts +25 -0
  1130. package/src/component/property-grid/default/numeric-item-default/numeric-item-default.component.ts +13 -0
  1131. package/src/component/property-grid/default/string-item-default/string-item-default.component.html +1 -0
  1132. package/src/component/property-grid/default/string-item-default/string-item-default.component.scss +0 -0
  1133. package/src/component/property-grid/default/string-item-default/string-item-default.component.spec.ts +25 -0
  1134. package/src/component/property-grid/default/string-item-default/string-item-default.component.ts +13 -0
  1135. package/src/component/property-grid/property-grid/property-grid-group/property-grid-group.component.html +20 -0
  1136. package/src/component/property-grid/property-grid/property-grid-group/property-grid-group.component.scss +0 -0
  1137. package/src/component/property-grid/property-grid/property-grid-group/property-grid-group.component.spec.ts +25 -0
  1138. package/src/component/property-grid/property-grid/property-grid-group/property-grid-group.component.ts +31 -0
  1139. package/src/component/property-grid/property-grid/property-grid-item/property-grid-item.component.html +39 -0
  1140. package/src/component/property-grid/property-grid/property-grid-item/property-grid-item.component.scss +0 -0
  1141. package/src/component/property-grid/property-grid/property-grid-item/property-grid-item.component.spec.ts +24 -0
  1142. package/src/component/property-grid/property-grid/property-grid-item/property-grid-item.component.ts +122 -0
  1143. package/src/component/property-grid/property-grid/property-grid.component.html +18 -0
  1144. package/src/component/property-grid/property-grid/property-grid.component.scss +3 -0
  1145. package/src/component/property-grid/property-grid/property-grid.component.spec.ts +25 -0
  1146. package/src/component/property-grid/property-grid/property-grid.component.ts +62 -0
  1147. package/src/component/property-grid/property-grid.module.ts +53 -0
  1148. package/src/component/property-grid/public-api.ts +2 -0
  1149. package/src/component/public-api.ts +89 -0
  1150. package/src/component/radio/Radio.stories.ts +28 -0
  1151. package/src/component/radio/public-api.ts +3 -0
  1152. package/src/component/radio/radio/radio.component.html +1 -0
  1153. package/src/component/radio/radio/radio.component.scss +0 -0
  1154. package/src/component/radio/radio/radio.component.spec.ts +26 -0
  1155. package/src/component/radio/radio/radio.component.ts +264 -0
  1156. package/src/component/radio/radio-button/radio-button.component.html +4 -0
  1157. package/src/component/radio/radio-button/radio-button.component.scss +0 -0
  1158. package/src/component/radio/radio-button/radio-button.component.spec.ts +26 -0
  1159. package/src/component/radio/radio-button/radio-button.component.ts +71 -0
  1160. package/src/component/radio/radio.module.ts +12 -0
  1161. package/src/component/resize-panel/Resize.stories.ts +83 -0
  1162. package/src/component/resize-panel/public-api.ts +2 -0
  1163. package/src/component/resize-panel/resize-panel/resize-panel.component.html +9 -0
  1164. package/src/component/resize-panel/resize-panel/resize-panel.component.scss +0 -0
  1165. package/src/component/resize-panel/resize-panel/resize-panel.component.spec.ts +25 -0
  1166. package/src/component/resize-panel/resize-panel/resize-panel.component.ts +210 -0
  1167. package/src/component/resize-panel/resize-panel.module.ts +12 -0
  1168. package/src/component/select/Select.stories.ts +254 -0
  1169. package/src/component/select/public-api.ts +4 -0
  1170. package/src/component/select/select/select.component.html +92 -0
  1171. package/src/component/select/select/select.component.scss +0 -0
  1172. package/src/component/select/select/select.component.spec.ts +25 -0
  1173. package/src/component/select/select/select.component.ts +222 -0
  1174. package/src/component/select/select-option.directive.spec.ts +8 -0
  1175. package/src/component/select/select-option.directive.ts +9 -0
  1176. package/src/component/select/select-value.directive.spec.ts +8 -0
  1177. package/src/component/select/select-value.directive.ts +9 -0
  1178. package/src/component/select/select.module.ts +26 -0
  1179. package/src/component/sidebar/Sidebar.stories.ts +61 -0
  1180. package/src/component/sidebar/public-api.ts +3 -0
  1181. package/src/component/sidebar/sidebar/sidebar.component.html +14 -0
  1182. package/src/component/sidebar/sidebar/sidebar.component.scss +0 -0
  1183. package/src/component/sidebar/sidebar/sidebar.component.spec.ts +25 -0
  1184. package/src/component/sidebar/sidebar/sidebar.component.ts +47 -0
  1185. package/src/component/sidebar/sidebar-position.enum.ts +6 -0
  1186. package/src/component/sidebar/sidebar.module.ts +16 -0
  1187. package/src/component/switch/Switch.stories.ts +37 -0
  1188. package/src/component/switch/public-api.ts +3 -0
  1189. package/src/component/switch/switch/switch.component.html +1 -0
  1190. package/src/component/switch/switch/switch.component.scss +0 -0
  1191. package/src/component/switch/switch/switch.component.spec.ts +25 -0
  1192. package/src/component/switch/switch/switch.component.ts +70 -0
  1193. package/src/component/switch/switch-button/switch-button.component.html +1 -0
  1194. package/src/component/switch/switch-button/switch-button.component.scss +0 -0
  1195. package/src/component/switch/switch-button/switch-button.component.spec.ts +25 -0
  1196. package/src/component/switch/switch-button/switch-button.component.ts +55 -0
  1197. package/src/component/switch/switch.module.ts +15 -0
  1198. package/src/component/switch/switch.service.spec.ts +16 -0
  1199. package/src/component/switch/switch.service.ts +18 -0
  1200. package/src/component/table/Table.stories.ts +102 -0
  1201. package/src/component/table/base/cell-component-base.ts +146 -0
  1202. package/src/component/table/base/detail-component-base.ts +13 -0
  1203. package/src/component/table/base/group-row-component-base.ts +13 -0
  1204. package/src/component/table/base/head-cell-component-base.ts +12 -0
  1205. package/src/component/table/cell/cell.component.html +4 -0
  1206. package/src/component/table/cell/cell.component.scss +0 -0
  1207. package/src/component/table/cell/cell.component.spec.ts +25 -0
  1208. package/src/component/table/cell/cell.component.ts +37 -0
  1209. package/src/component/table/cell-host/cell-host.component.html +1 -0
  1210. package/src/component/table/cell-host/cell-host.component.scss +0 -0
  1211. package/src/component/table/cell-host/cell-host.component.spec.ts +25 -0
  1212. package/src/component/table/cell-host/cell-host.component.ts +67 -0
  1213. package/src/component/table/contract/cell-components-map.ts +24 -0
  1214. package/src/component/table/contract/column-reorder-event.ts +11 -0
  1215. package/src/component/table/contract/column-resize-event.ts +11 -0
  1216. package/src/component/table/contract/i-cell-coordinates.ts +8 -0
  1217. package/src/component/table/contract/i-cell-event.ts +5 -0
  1218. package/src/component/table/contract/i-cell-value.ts +6 -0
  1219. package/src/component/table/contract/public-api.ts +11 -0
  1220. package/src/component/table/contract/sort-event.ts +11 -0
  1221. package/src/component/table/contract/table-column-store.ts +24 -0
  1222. package/src/component/table/contract/table-column.ts +172 -0
  1223. package/src/component/table/contract/table-context-menu-config.ts +23 -0
  1224. package/src/component/table/contract/table-row.ts +51 -0
  1225. package/src/component/table/default/boolean-cell/boolean-cell.component.html +10 -0
  1226. package/src/component/table/default/boolean-cell/boolean-cell.component.scss +0 -0
  1227. package/src/component/table/default/boolean-cell/boolean-cell.component.spec.ts +25 -0
  1228. package/src/component/table/default/boolean-cell/boolean-cell.component.ts +54 -0
  1229. package/src/component/table/default/date-cell/date-cell.component.html +11 -0
  1230. package/src/component/table/default/date-cell/date-cell.component.scss +0 -0
  1231. package/src/component/table/default/date-cell/date-cell.component.spec.ts +25 -0
  1232. package/src/component/table/default/date-cell/date-cell.component.ts +59 -0
  1233. package/src/component/table/default/date-time-cell/date-time-cell.component.html +10 -0
  1234. package/src/component/table/default/date-time-cell/date-time-cell.component.scss +0 -0
  1235. package/src/component/table/default/date-time-cell/date-time-cell.component.spec.ts +25 -0
  1236. package/src/component/table/default/date-time-cell/date-time-cell.component.ts +56 -0
  1237. package/src/component/table/default/default-head-cell/default-head-cell.component.html +8 -0
  1238. package/src/component/table/default/default-head-cell/default-head-cell.component.scss +6 -0
  1239. package/src/component/table/default/default-head-cell/default-head-cell.component.spec.ts +25 -0
  1240. package/src/component/table/default/default-head-cell/default-head-cell.component.ts +38 -0
  1241. package/src/component/table/default/group-row/group-row.component.html +2 -0
  1242. package/src/component/table/default/group-row/group-row.component.scss +0 -0
  1243. package/src/component/table/default/group-row/group-row.component.spec.ts +25 -0
  1244. package/src/component/table/default/group-row/group-row.component.ts +29 -0
  1245. package/src/component/table/default/list-cell/list-cell.component.html +15 -0
  1246. package/src/component/table/default/list-cell/list-cell.component.scss +0 -0
  1247. package/src/component/table/default/list-cell/list-cell.component.spec.ts +25 -0
  1248. package/src/component/table/default/list-cell/list-cell.component.ts +85 -0
  1249. package/src/component/table/default/numeric-cell/numeric-cell.component.html +11 -0
  1250. package/src/component/table/default/numeric-cell/numeric-cell.component.scss +3 -0
  1251. package/src/component/table/default/numeric-cell/numeric-cell.component.spec.ts +25 -0
  1252. package/src/component/table/default/numeric-cell/numeric-cell.component.ts +57 -0
  1253. package/src/component/table/default/string-cell/string-cell.component.html +11 -0
  1254. package/src/component/table/default/string-cell/string-cell.component.scss +0 -0
  1255. package/src/component/table/default/string-cell/string-cell.component.spec.ts +25 -0
  1256. package/src/component/table/default/string-cell/string-cell.component.ts +54 -0
  1257. package/src/component/table/enum/aggregation-type.enum.ts +7 -0
  1258. package/src/component/table/enum/edit-event.enum.ts +5 -0
  1259. package/src/component/table/enum/edit-type.enum.ts +4 -0
  1260. package/src/component/table/enum/public-api.ts +4 -0
  1261. package/src/component/table/enum/select-type.enum.ts +5 -0
  1262. package/src/component/table/head-cell/head-cell.component.html +45 -0
  1263. package/src/component/table/head-cell/head-cell.component.scss +16 -0
  1264. package/src/component/table/head-cell/head-cell.component.spec.ts +25 -0
  1265. package/src/component/table/head-cell/head-cell.component.ts +150 -0
  1266. package/src/component/table/head-cell-dropdown/head-cell-dropdown.component.html +145 -0
  1267. package/src/component/table/head-cell-dropdown/head-cell-dropdown.component.scss +6 -0
  1268. package/src/component/table/head-cell-dropdown/head-cell-dropdown.component.spec.ts +25 -0
  1269. package/src/component/table/head-cell-dropdown/head-cell-dropdown.component.ts +240 -0
  1270. package/src/component/table/head-cell-host/head-cell-host.component.html +1 -0
  1271. package/src/component/table/head-cell-host/head-cell-host.component.scss +3 -0
  1272. package/src/component/table/head-cell-host/head-cell-host.component.spec.ts +25 -0
  1273. package/src/component/table/head-cell-host/head-cell-host.component.ts +50 -0
  1274. package/src/component/table/public-api.ts +48 -0
  1275. package/src/component/table/selection-cell/selection-cell.component.html +4 -0
  1276. package/src/component/table/selection-cell/selection-cell.component.scss +5 -0
  1277. package/src/component/table/selection-cell/selection-cell.component.spec.ts +25 -0
  1278. package/src/component/table/selection-cell/selection-cell.component.ts +50 -0
  1279. package/src/component/table/selection-head-cell/selection-head-cell.component.html +5 -0
  1280. package/src/component/table/selection-head-cell/selection-head-cell.component.scss +5 -0
  1281. package/src/component/table/selection-head-cell/selection-head-cell.component.spec.ts +25 -0
  1282. package/src/component/table/selection-head-cell/selection-head-cell.component.ts +49 -0
  1283. package/src/component/table/service/table.service.spec.ts +16 -0
  1284. package/src/component/table/service/table.service.ts +570 -0
  1285. package/src/component/table/table/table.component.html +68 -0
  1286. package/src/component/table/table/table.component.scss +0 -0
  1287. package/src/component/table/table/table.component.spec.ts +25 -0
  1288. package/src/component/table/table/table.component.ts +444 -0
  1289. package/src/component/table/table-body/table-body.component.html +121 -0
  1290. package/src/component/table/table-body/table-body.component.scss +0 -0
  1291. package/src/component/table/table-body/table-body.component.spec.ts +25 -0
  1292. package/src/component/table/table-body/table-body.component.ts +280 -0
  1293. package/src/component/table/table-demo/table-demo/table-demo.component.html +28 -0
  1294. package/src/component/table/table-demo/table-demo/table-demo.component.scss +6 -0
  1295. package/src/component/table/table-demo/table-demo/table-demo.component.spec.ts +25 -0
  1296. package/src/component/table/table-demo/table-demo/table-demo.component.ts +136 -0
  1297. package/src/component/table/table-demo/table-demo.module.ts +23 -0
  1298. package/src/component/table/table-head/table-head.component.html +21 -0
  1299. package/src/component/table/table-head/table-head.component.scss +0 -0
  1300. package/src/component/table/table-head/table-head.component.spec.ts +25 -0
  1301. package/src/component/table/table-head/table-head.component.ts +118 -0
  1302. package/src/component/table/table-head-group/table-head-group.component.html +24 -0
  1303. package/src/component/table/table-head-group/table-head-group.component.scss +0 -0
  1304. package/src/component/table/table-head-group/table-head-group.component.spec.ts +25 -0
  1305. package/src/component/table/table-head-group/table-head-group.component.ts +73 -0
  1306. package/src/component/table/table.module.ts +100 -0
  1307. package/src/component/table/util/public-api.ts +2 -0
  1308. package/src/component/table/util/state-util.spec.ts +7 -0
  1309. package/src/component/table/util/state-util.ts +182 -0
  1310. package/src/component/table/util/table-util.spec.ts +7 -0
  1311. package/src/component/table/util/table-util.ts +150 -0
  1312. package/src/component/tabs/Tabs.stories.ts +55 -0
  1313. package/src/component/tabs/public-api.ts +13 -0
  1314. package/src/component/tabs/tab/tab.component.html +1 -0
  1315. package/src/component/tabs/tab/tab.component.scss +0 -0
  1316. package/src/component/tabs/tab/tab.component.spec.ts +25 -0
  1317. package/src/component/tabs/tab/tab.component.ts +46 -0
  1318. package/src/component/tabs/tab-content.directive.spec.ts +8 -0
  1319. package/src/component/tabs/tab-content.directive.ts +9 -0
  1320. package/src/component/tabs/tab-title.directive.spec.ts +8 -0
  1321. package/src/component/tabs/tab-title.directive.ts +9 -0
  1322. package/src/component/tabs/tabs/tabs.component.html +24 -0
  1323. package/src/component/tabs/tabs/tabs.component.scss +0 -0
  1324. package/src/component/tabs/tabs/tabs.component.spec.ts +25 -0
  1325. package/src/component/tabs/tabs/tabs.component.ts +85 -0
  1326. package/src/component/tabs/tabs.module.ts +26 -0
  1327. package/src/component/theme-switch/public-api.ts +3 -0
  1328. package/src/component/theme-switch/theme-switch/theme-switch.component.html +3 -0
  1329. package/src/component/theme-switch/theme-switch/theme-switch.component.scss +4 -0
  1330. package/src/component/theme-switch/theme-switch/theme-switch.component.spec.ts +25 -0
  1331. package/src/component/theme-switch/theme-switch/theme-switch.component.ts +31 -0
  1332. package/src/component/theme-switch/theme-switch.module.ts +17 -0
  1333. package/src/component/theme-switch/theme-switch.service.spec.ts +16 -0
  1334. package/src/component/theme-switch/theme-switch.service.ts +34 -0
  1335. package/src/component/toggle/Toggle.stories.ts +34 -0
  1336. package/src/component/toggle/public-api.ts +2 -0
  1337. package/src/component/toggle/toggle/toggle.component.html +6 -0
  1338. package/src/component/toggle/toggle/toggle.component.scss +0 -0
  1339. package/src/component/toggle/toggle/toggle.component.spec.ts +25 -0
  1340. package/src/component/toggle/toggle/toggle.component.ts +95 -0
  1341. package/src/component/toggle/toggle.module.ts +11 -0
  1342. package/src/component/toolbar/Toolbar.stories.ts +110 -0
  1343. package/src/component/toolbar/public-api.ts +6 -0
  1344. package/src/component/toolbar/toolbar/toolbar.component.html +1 -0
  1345. package/src/component/toolbar/toolbar/toolbar.component.scss +0 -0
  1346. package/src/component/toolbar/toolbar/toolbar.component.spec.ts +25 -0
  1347. package/src/component/toolbar/toolbar/toolbar.component.ts +29 -0
  1348. package/src/component/toolbar/toolbar.module.ts +13 -0
  1349. package/src/component/tree/Tree.stories.ts +93 -0
  1350. package/src/component/tree/public-api.ts +4 -0
  1351. package/src/component/tree/tree/tree.component.html +8 -0
  1352. package/src/component/tree/tree/tree.component.scss +0 -0
  1353. package/src/component/tree/tree/tree.component.spec.ts +25 -0
  1354. package/src/component/tree/tree/tree.component.ts +92 -0
  1355. package/src/component/tree/tree-item/tree-item.component.html +12 -0
  1356. package/src/component/tree/tree-item/tree-item.component.scss +0 -0
  1357. package/src/component/tree/tree-item/tree-item.component.spec.ts +25 -0
  1358. package/src/component/tree/tree-item/tree-item.component.ts +84 -0
  1359. package/src/component/tree/tree-item-toggle/tree-item-toggle.component.html +2 -0
  1360. package/src/component/tree/tree-item-toggle/tree-item-toggle.component.scss +4 -0
  1361. package/src/component/tree/tree-item-toggle/tree-item-toggle.component.spec.ts +25 -0
  1362. package/src/component/tree/tree-item-toggle/tree-item-toggle.component.ts +37 -0
  1363. package/src/component/tree/tree.module.ts +14 -0
  1364. package/src/component/tree/tree.service.spec.ts +16 -0
  1365. package/src/component/tree/tree.service.ts +41 -0
  1366. package/src/directive/click-outside/click-outside.directive.spec.ts +8 -0
  1367. package/src/directive/click-outside/click-outside.directive.ts +64 -0
  1368. package/src/directive/click-outside/click-outside.module.ts +13 -0
  1369. package/src/directive/click-outside/public-api.ts +2 -0
  1370. package/src/directive/context-menu/ContextMenu.stories.ts +65 -0
  1371. package/src/directive/context-menu/context-menu.directive.spec.ts +8 -0
  1372. package/src/directive/context-menu/context-menu.directive.ts +136 -0
  1373. package/src/directive/context-menu/context-menu.module.ts +15 -0
  1374. package/src/directive/context-menu/public-api.ts +2 -0
  1375. package/src/directive/disable-control/disable-control.directive.spec.ts +8 -0
  1376. package/src/directive/disable-control/disable-control.directive.ts +20 -0
  1377. package/src/directive/disable-control/disable-control.module.ts +16 -0
  1378. package/src/directive/disable-control/public-api.ts +2 -0
  1379. package/src/directive/drag-sort/DragSort.stories.ts +60 -0
  1380. package/src/directive/drag-sort/drag-sort-container.directive.spec.ts +8 -0
  1381. package/src/directive/drag-sort/drag-sort-container.directive.ts +71 -0
  1382. package/src/directive/drag-sort/drag-sort-event.spec.ts +7 -0
  1383. package/src/directive/drag-sort/drag-sort-event.ts +7 -0
  1384. package/src/directive/drag-sort/drag-sort-item.directive.spec.ts +8 -0
  1385. package/src/directive/drag-sort/drag-sort-item.directive.ts +119 -0
  1386. package/src/directive/drag-sort/drag-sort.module.ts +11 -0
  1387. package/src/directive/drag-sort/public-api.ts +4 -0
  1388. package/src/directive/dynamic-content-base.directive.ts +113 -0
  1389. package/src/directive/highlight/highlight.directive.spec.ts +8 -0
  1390. package/src/directive/highlight/highlight.directive.ts +68 -0
  1391. package/src/directive/highlight/highlight.module.ts +13 -0
  1392. package/src/directive/highlight/public-api.ts +2 -0
  1393. package/src/directive/hint/Hint.stories.ts +111 -0
  1394. package/src/directive/hint/hint.directive.spec.ts +8 -0
  1395. package/src/directive/hint/hint.directive.ts +117 -0
  1396. package/src/directive/hint/hint.module.ts +15 -0
  1397. package/src/directive/hint/public-api.ts +2 -0
  1398. package/src/directive/loader/Loader.stories.ts +21 -0
  1399. package/src/directive/loader/loader.directive.spec.ts +8 -0
  1400. package/src/directive/loader/loader.directive.ts +80 -0
  1401. package/src/directive/loader/loader.module.ts +13 -0
  1402. package/src/directive/loader/public-api.ts +2 -0
  1403. package/src/directive/no-autofill/no-autofill.directive.spec.ts +8 -0
  1404. package/src/directive/no-autofill/no-autofill.directive.ts +28 -0
  1405. package/src/directive/no-autofill/no-autofill.module.ts +10 -0
  1406. package/src/directive/no-autofill/public-api.ts +2 -0
  1407. package/src/directive/only-number/OnlyNumber.stories.ts +29 -0
  1408. package/src/directive/only-number/only-number.directive.spec.ts +8 -0
  1409. package/src/directive/only-number/only-number.directive.ts +174 -0
  1410. package/src/directive/only-number/only-number.module.ts +10 -0
  1411. package/src/directive/only-number/public-api.ts +2 -0
  1412. package/src/directive/public-api.ts +14 -0
  1413. package/src/directive/resize-drag/public-api.ts +2 -0
  1414. package/src/directive/resize-drag/resize-drag.directive.spec.ts +8 -0
  1415. package/src/directive/resize-drag/resize-drag.directive.ts +62 -0
  1416. package/src/directive/resize-drag/resize-drag.module.ts +10 -0
  1417. package/src/directive/teta-template/public-api.ts +2 -0
  1418. package/src/directive/teta-template/teta-template.directive.spec.ts +8 -0
  1419. package/src/directive/teta-template/teta-template.directive.ts +15 -0
  1420. package/src/directive/teta-template/teta-template.module.ts +18 -0
  1421. package/src/directive/tooltip/Tooltip.stories.ts +96 -0
  1422. package/src/directive/tooltip/public-api.ts +2 -0
  1423. package/src/directive/tooltip/tooltip.directive.spec.ts +8 -0
  1424. package/src/directive/tooltip/tooltip.directive.ts +116 -0
  1425. package/src/directive/tooltip/tooltip.module.ts +12 -0
  1426. package/src/pipe/number-pipe/number-pipe.module.ts +15 -0
  1427. package/src/pipe/number-pipe/number.pipe.spec.ts +8 -0
  1428. package/src/pipe/number-pipe/number.pipe.ts +26 -0
  1429. package/src/pipe/number-pipe/public-api.ts +2 -0
  1430. package/src/pipe/prepend-zero/prepend-zero.module.ts +10 -0
  1431. package/src/pipe/prepend-zero/prepend-zero.pipe.spec.ts +8 -0
  1432. package/src/pipe/prepend-zero/prepend-zero.pipe.ts +15 -0
  1433. package/src/pipe/prepend-zero/public-api.ts +2 -0
  1434. package/src/pipe/public-api.ts +1 -0
  1435. package/src/pipe/util/number-helper.ts +37 -0
  1436. package/src/public-api.ts +25 -0
  1437. package/src/test.ts +26 -0
  1438. package/src/util/date-util.ts +247 -0
  1439. package/src/util/forms-util.ts +83 -0
  1440. package/src/util/public-api.ts +3 -0
  1441. package/src/util/string-util.ts +5 -0
  1442. package/style/tabs.scss +1 -1
  1443. package/tsconfig.lib.json +18 -0
  1444. package/tsconfig.lib.prod.json +10 -0
  1445. package/tsconfig.spec.json +17 -0
  1446. package/component/chart/core/axis-creator.d.ts +0 -28
  1447. package/component/chart/model/enum/scale-type.d.ts +0 -6
  1448. package/component/chart/model/series.d.ts +0 -62
  1449. package/component/table/contract/table-column.d.ts +0 -141
  1450. package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +0 -58
  1451. package/component/table/service/table.service.d.ts +0 -119
  1452. package/component/table/table/table.component.d.ts +0 -99
  1453. package/esm2020/common/contract/auto-close-ignore-case.mjs +0 -2
  1454. package/esm2020/common/contract/constructor-type.mjs +0 -2
  1455. package/esm2020/common/contract/dynamic-data.mjs +0 -10
  1456. package/esm2020/common/contract/i-dictionary.mjs +0 -2
  1457. package/esm2020/common/contract/i-id-name.mjs +0 -2
  1458. package/esm2020/common/contract/i-rect.mjs +0 -2
  1459. package/esm2020/common/contract/i-tree-data.mjs +0 -2
  1460. package/esm2020/common/contract/public-api.mjs +0 -9
  1461. package/esm2020/common/contract/teta-content-ref.mjs +0 -8
  1462. package/esm2020/common/enum/align.enum.mjs +0 -10
  1463. package/esm2020/common/enum/public-api.mjs +0 -4
  1464. package/esm2020/common/enum/teta-size.enum.mjs +0 -9
  1465. package/esm2020/common/enum/vertical-align.enum.mjs +0 -8
  1466. package/esm2020/common/public-api.mjs +0 -5
  1467. package/esm2020/common/service/click.service.mjs +0 -23
  1468. package/esm2020/common/service/dynamic-component.service.mjs +0 -93
  1469. package/esm2020/common/service/overlay-container.service.mjs +0 -41
  1470. package/esm2020/common/service/public-api.mjs +0 -4
  1471. package/esm2020/common/util/array-util.mjs +0 -119
  1472. package/esm2020/common/util/dom-util.mjs +0 -16
  1473. package/esm2020/common/util/position-util.mjs +0 -96
  1474. package/esm2020/common/util/public-api.mjs +0 -4
  1475. package/esm2020/component/accordion/accordion/accordion.component.mjs +0 -18
  1476. package/esm2020/component/accordion/accordion-content.directive.mjs +0 -16
  1477. package/esm2020/component/accordion/accordion-head/accordion-head.component.mjs +0 -52
  1478. package/esm2020/component/accordion/accordion-item/accordion-item.component.mjs +0 -43
  1479. package/esm2020/component/accordion/accordion.module.mjs +0 -29
  1480. package/esm2020/component/accordion/public-api.mjs +0 -6
  1481. package/esm2020/component/button/button/button.component.mjs +0 -40
  1482. package/esm2020/component/button/button.module.mjs +0 -24
  1483. package/esm2020/component/button/public-api.mjs +0 -3
  1484. package/esm2020/component/chart/chart/chart.component.mjs +0 -164
  1485. package/esm2020/component/chart/chart.module.mjs +0 -18
  1486. package/esm2020/component/chart/core/axis-creator.mjs +0 -82
  1487. package/esm2020/component/chart/core/chart.mjs +0 -1339
  1488. package/esm2020/component/chart/core/public-api.mjs +0 -3
  1489. package/esm2020/component/chart/drawer/area-drawer.mjs +0 -20
  1490. package/esm2020/component/chart/drawer/bar-drawer.mjs +0 -23
  1491. package/esm2020/component/chart/drawer/contour-drawer.mjs +0 -29
  1492. package/esm2020/component/chart/drawer/default-drawer-mapping.mjs +0 -17
  1493. package/esm2020/component/chart/drawer/line-drawer.mjs +0 -152
  1494. package/esm2020/component/chart/drawer/pie-drawer.mjs +0 -4
  1495. package/esm2020/component/chart/drawer/public-api.mjs +0 -7
  1496. package/esm2020/component/chart/drawer/scatter-drawer.mjs +0 -93
  1497. package/esm2020/component/chart/drawer/spline-drawer.mjs +0 -23
  1498. package/esm2020/component/chart/legend-drawer/default-drawer-legend-mapping.mjs +0 -7
  1499. package/esm2020/component/chart/legend-drawer/gradient-drawer.mjs +0 -45
  1500. package/esm2020/component/chart/legend-drawer/swatch-drawer.mjs +0 -62
  1501. package/esm2020/component/chart/model/annotation.mjs +0 -30
  1502. package/esm2020/component/chart/model/axis-options.mjs +0 -26
  1503. package/esm2020/component/chart/model/chart-bounds.mjs +0 -13
  1504. package/esm2020/component/chart/model/chart-options.mjs +0 -37
  1505. package/esm2020/component/chart/model/enum/axis-type.mjs +0 -6
  1506. package/esm2020/component/chart/model/enum/dispatch-type.mjs +0 -6
  1507. package/esm2020/component/chart/model/enum/drag-point-type.mjs +0 -7
  1508. package/esm2020/component/chart/model/enum/legend-type.mjs +0 -6
  1509. package/esm2020/component/chart/model/enum/public-api.mjs +0 -8
  1510. package/esm2020/component/chart/model/enum/scale-type.mjs +0 -8
  1511. package/esm2020/component/chart/model/enum/scale.mjs +0 -7
  1512. package/esm2020/component/chart/model/enum/series-type.mjs +0 -12
  1513. package/esm2020/component/chart/model/enum/zoom-type.mjs +0 -7
  1514. package/esm2020/component/chart/model/i-drag-event.mjs +0 -2
  1515. package/esm2020/component/chart/model/i-drawer-legend.mjs +0 -2
  1516. package/esm2020/component/chart/model/i-drawer.mjs +0 -2
  1517. package/esm2020/component/chart/model/i-zoom-event.mjs +0 -2
  1518. package/esm2020/component/chart/model/plot-band.mjs +0 -18
  1519. package/esm2020/component/chart/model/plot-line.mjs +0 -13
  1520. package/esm2020/component/chart/model/point/bar-point.mjs +0 -2
  1521. package/esm2020/component/chart/model/point/base-point.mjs +0 -2
  1522. package/esm2020/component/chart/model/point/contour-point.mjs +0 -2
  1523. package/esm2020/component/chart/model/point/marker-options.mjs +0 -2
  1524. package/esm2020/component/chart/model/point/public-api.mjs +0 -4
  1525. package/esm2020/component/chart/model/point/scatter-point.mjs +0 -2
  1526. package/esm2020/component/chart/model/public-api.mjs +0 -16
  1527. package/esm2020/component/chart/model/series.mjs +0 -27
  1528. package/esm2020/component/chart/model/tooltip-options.mjs +0 -19
  1529. package/esm2020/component/chart/public-api.mjs +0 -6
  1530. package/esm2020/component/chart-3d/chart-3d.module.mjs +0 -18
  1531. package/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +0 -232
  1532. package/esm2020/component/chart-3d/model/base-3d-point.mjs +0 -2
  1533. package/esm2020/component/chart-3d/model/chart-3d-options.mjs +0 -7
  1534. package/esm2020/component/chart-3d/model/public-api.mjs +0 -3
  1535. package/esm2020/component/chart-3d/model/series-3d.mjs +0 -7
  1536. package/esm2020/component/chart-3d/public-api.mjs +0 -4
  1537. package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +0 -134
  1538. package/esm2020/component/checkbox/checkbox.module.mjs +0 -28
  1539. package/esm2020/component/checkbox/public-api.mjs +0 -3
  1540. package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +0 -279
  1541. package/esm2020/component/date-picker/date-picker.module.mjs +0 -67
  1542. package/esm2020/component/date-picker/day-select/day-select.component.mjs +0 -166
  1543. package/esm2020/component/date-picker/model/date-period.mjs +0 -7
  1544. package/esm2020/component/date-picker/model/date-picker-mode.enum.mjs +0 -7
  1545. package/esm2020/component/date-picker/model/day-model.mjs +0 -13
  1546. package/esm2020/component/date-picker/model/picker-locale-model.mjs +0 -13
  1547. package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +0 -250
  1548. package/esm2020/component/date-picker/month-select/month-select.component.mjs +0 -147
  1549. package/esm2020/component/date-picker/public-api.mjs +0 -6
  1550. package/esm2020/component/date-picker/service/picker-locale.service.mjs +0 -30
  1551. package/esm2020/component/date-picker/service/picker-touch.service.mjs +0 -34
  1552. package/esm2020/component/date-picker/time-part-control/time-part-control.component.mjs +0 -73
  1553. package/esm2020/component/date-picker/util/date-picker-util.mjs +0 -142
  1554. package/esm2020/component/date-picker/year-select/year-select.component.mjs +0 -189
  1555. package/esm2020/component/delimiter/delimiter/delimiter.component.mjs +0 -63
  1556. package/esm2020/component/delimiter/delimiter.module.mjs +0 -22
  1557. package/esm2020/component/delimiter/public-api.mjs +0 -3
  1558. package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +0 -29
  1559. package/esm2020/component/dropdown/dropdown-base.mjs +0 -204
  1560. package/esm2020/component/dropdown/dropdown-content.directive.mjs +0 -17
  1561. package/esm2020/component/dropdown/dropdown-head.directive.mjs +0 -18
  1562. package/esm2020/component/dropdown/dropdown.directive.mjs +0 -37
  1563. package/esm2020/component/dropdown/dropdown.module.mjs +0 -41
  1564. package/esm2020/component/dropdown/public-api.mjs +0 -6
  1565. package/esm2020/component/dynamic-component/dynamic-component.module.mjs +0 -22
  1566. package/esm2020/component/dynamic-component/popup-content/popup-content.component.mjs +0 -59
  1567. package/esm2020/component/dynamic-component/public-api.mjs +0 -3
  1568. package/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +0 -65
  1569. package/esm2020/component/expand-panel/expand-panel-content.directive.mjs +0 -16
  1570. package/esm2020/component/expand-panel/expand-panel-head.directive.mjs +0 -16
  1571. package/esm2020/component/expand-panel/expand-panel.module.mjs +0 -52
  1572. package/esm2020/component/expand-panel/public-api.mjs +0 -5
  1573. package/esm2020/component/file-upload/file-item/file-item.component.mjs +0 -13
  1574. package/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +0 -77
  1575. package/esm2020/component/file-upload/file-upload.module.mjs +0 -21
  1576. package/esm2020/component/file-upload/public-api.mjs +0 -4
  1577. package/esm2020/component/filter/base/filter-base.mjs +0 -9
  1578. package/esm2020/component/filter/base/filter-component-base.mjs +0 -3
  1579. package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +0 -53
  1580. package/esm2020/component/filter/contarct/boolean-filter.mjs +0 -10
  1581. package/esm2020/component/filter/contarct/date-filter-value.mjs +0 -9
  1582. package/esm2020/component/filter/contarct/date-filter.mjs +0 -11
  1583. package/esm2020/component/filter/contarct/filter-component-map.mjs +0 -17
  1584. package/esm2020/component/filter/contarct/filter-item.mjs +0 -33
  1585. package/esm2020/component/filter/contarct/filter-state.mjs +0 -145
  1586. package/esm2020/component/filter/contarct/i-filter.mjs +0 -2
  1587. package/esm2020/component/filter/contarct/list-filter.mjs +0 -12
  1588. package/esm2020/component/filter/contarct/numeric-filter-value.mjs +0 -10
  1589. package/esm2020/component/filter/contarct/numeric-filter.mjs +0 -11
  1590. package/esm2020/component/filter/contarct/sort-param.mjs +0 -13
  1591. package/esm2020/component/filter/contarct/string-filter.mjs +0 -12
  1592. package/esm2020/component/filter/date-filter/date-filter.component.mjs +0 -54
  1593. package/esm2020/component/filter/enum/filter-type.enum.mjs +0 -10
  1594. package/esm2020/component/filter/enum/list-filter-type.enum.mjs +0 -6
  1595. package/esm2020/component/filter/enum/string-filter-type.enum.mjs +0 -20
  1596. package/esm2020/component/filter/filter-host/filter-host.component.mjs +0 -73
  1597. package/esm2020/component/filter/filter-panel/filter-panel.component.mjs +0 -13
  1598. package/esm2020/component/filter/filter.module.mjs +0 -80
  1599. package/esm2020/component/filter/list-filter/list-filter.component.mjs +0 -86
  1600. package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +0 -53
  1601. package/esm2020/component/filter/public-api.mjs +0 -25
  1602. package/esm2020/component/filter/string-filter/string-filter.component.mjs +0 -54
  1603. package/esm2020/component/icon/icon/icon.component.mjs +0 -37
  1604. package/esm2020/component/icon/icon-sprite.directive.mjs +0 -32
  1605. package/esm2020/component/icon/icon.module.mjs +0 -35
  1606. package/esm2020/component/icon/icon.service.mjs +0 -59
  1607. package/esm2020/component/icon/public-api.mjs +0 -5
  1608. package/esm2020/component/input/form-group-title/form-group-title.component.mjs +0 -18
  1609. package/esm2020/component/input/input/input.component.mjs +0 -31
  1610. package/esm2020/component/input/input.module.mjs +0 -23
  1611. package/esm2020/component/input/public-api.mjs +0 -5
  1612. package/esm2020/component/input/text-field/text-field.component.mjs +0 -94
  1613. package/esm2020/component/message/message/message.component.mjs +0 -74
  1614. package/esm2020/component/message/message-host/message-host.component.mjs +0 -88
  1615. package/esm2020/component/message/message.module.mjs +0 -31
  1616. package/esm2020/component/message/message.service.mjs +0 -35
  1617. package/esm2020/component/message/model/message.mjs +0 -21
  1618. package/esm2020/component/message/public-api.mjs +0 -6
  1619. package/esm2020/component/modal/dialog/dialog.component.mjs +0 -44
  1620. package/esm2020/component/modal/dialog.service.mjs +0 -39
  1621. package/esm2020/component/modal/modal-container/modal-container.component.mjs +0 -84
  1622. package/esm2020/component/modal/modal.module.mjs +0 -52
  1623. package/esm2020/component/modal/modal.service.mjs +0 -121
  1624. package/esm2020/component/modal/model/current-modal.mjs +0 -3
  1625. package/esm2020/component/modal/model/i-modal-config.mjs +0 -2
  1626. package/esm2020/component/modal/model/i-modal-result.mjs +0 -2
  1627. package/esm2020/component/modal/model/modal-close-reason.enum.mjs +0 -8
  1628. package/esm2020/component/modal/model/modal-instance.mjs +0 -32
  1629. package/esm2020/component/modal/public-api.mjs +0 -11
  1630. package/esm2020/component/pager/model/pager-state.mjs +0 -50
  1631. package/esm2020/component/pager/pager/pager.component.mjs +0 -13
  1632. package/esm2020/component/pager/pager.module.mjs +0 -26
  1633. package/esm2020/component/pager/public-api.mjs +0 -5
  1634. package/esm2020/component/pager/util/pager-util.mjs +0 -6
  1635. package/esm2020/component/panel/panel/panel.component.mjs +0 -51
  1636. package/esm2020/component/panel/panel.module.mjs +0 -22
  1637. package/esm2020/component/panel/public-api.mjs +0 -3
  1638. package/esm2020/component/progress-bar/progress-bar/progress-bar.component.mjs +0 -131
  1639. package/esm2020/component/progress-bar/progress-bar.module.mjs +0 -22
  1640. package/esm2020/component/progress-bar/public-api.mjs +0 -3
  1641. package/esm2020/component/property-grid/default/date-item-default/date-item-default.component.mjs +0 -13
  1642. package/esm2020/component/property-grid/default/list-item-default/list-item-default.component.mjs +0 -13
  1643. package/esm2020/component/property-grid/default/numeric-item-default/numeric-item-default.component.mjs +0 -13
  1644. package/esm2020/component/property-grid/default/string-item-default/string-item-default.component.mjs +0 -13
  1645. package/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +0 -34
  1646. package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +0 -103
  1647. package/esm2020/component/property-grid/property-grid/property-grid.component.mjs +0 -59
  1648. package/esm2020/component/property-grid/property-grid.module.mjs +0 -94
  1649. package/esm2020/component/property-grid/public-api.mjs +0 -3
  1650. package/esm2020/component/public-api.mjs +0 -61
  1651. package/esm2020/component/radio/public-api.mjs +0 -4
  1652. package/esm2020/component/radio/radio/radio.component.mjs +0 -245
  1653. package/esm2020/component/radio/radio-button/radio-button.component.mjs +0 -63
  1654. package/esm2020/component/radio/radio.module.mjs +0 -20
  1655. package/esm2020/component/resize-panel/public-api.mjs +0 -3
  1656. package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +0 -162
  1657. package/esm2020/component/resize-panel/resize-panel.module.mjs +0 -20
  1658. package/esm2020/component/select/public-api.mjs +0 -5
  1659. package/esm2020/component/select/select/select.component.mjs +0 -234
  1660. package/esm2020/component/select/select-option.directive.mjs +0 -16
  1661. package/esm2020/component/select/select-value.directive.mjs +0 -16
  1662. package/esm2020/component/select/select.module.mjs +0 -48
  1663. package/esm2020/component/sidebar/public-api.mjs +0 -4
  1664. package/esm2020/component/sidebar/sidebar/sidebar.component.mjs +0 -54
  1665. package/esm2020/component/sidebar/sidebar-position.enum.mjs +0 -8
  1666. package/esm2020/component/sidebar/sidebar.module.mjs +0 -30
  1667. package/esm2020/component/switch/public-api.mjs +0 -4
  1668. package/esm2020/component/switch/switch/switch.component.mjs +0 -52
  1669. package/esm2020/component/switch/switch-button/switch-button.component.mjs +0 -47
  1670. package/esm2020/component/switch/switch.module.mjs +0 -23
  1671. package/esm2020/component/switch/switch.service.mjs +0 -21
  1672. package/esm2020/component/table/base/cell-component-base.mjs +0 -94
  1673. package/esm2020/component/table/base/detail-component-base.mjs +0 -3
  1674. package/esm2020/component/table/base/group-row-component-base.mjs +0 -3
  1675. package/esm2020/component/table/base/head-cell-component-base.mjs +0 -17
  1676. package/esm2020/component/table/cell/cell.component.mjs +0 -33
  1677. package/esm2020/component/table/cell-host/cell-host.component.mjs +0 -50
  1678. package/esm2020/component/table/contract/cell-components-map.mjs +0 -17
  1679. package/esm2020/component/table/contract/column-reorder-event.mjs +0 -7
  1680. package/esm2020/component/table/contract/column-resize-event.mjs +0 -7
  1681. package/esm2020/component/table/contract/i-cell-coordinates.mjs +0 -2
  1682. package/esm2020/component/table/contract/i-cell-event.mjs +0 -2
  1683. package/esm2020/component/table/contract/i-cell-value.mjs +0 -2
  1684. package/esm2020/component/table/contract/public-api.mjs +0 -12
  1685. package/esm2020/component/table/contract/sort-event.mjs +0 -7
  1686. package/esm2020/component/table/contract/table-column-store.mjs +0 -12
  1687. package/esm2020/component/table/contract/table-column.mjs +0 -43
  1688. package/esm2020/component/table/contract/table-context-menu-config.mjs +0 -17
  1689. package/esm2020/component/table/contract/table-row.mjs +0 -40
  1690. package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +0 -45
  1691. package/esm2020/component/table/default/date-cell/date-cell.component.mjs +0 -47
  1692. package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +0 -46
  1693. package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +0 -28
  1694. package/esm2020/component/table/default/group-row/group-row.component.mjs +0 -20
  1695. package/esm2020/component/table/default/list-cell/list-cell.component.mjs +0 -66
  1696. package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +0 -46
  1697. package/esm2020/component/table/default/string-cell/string-cell.component.mjs +0 -44
  1698. package/esm2020/component/table/enum/aggregation-type.enum.mjs +0 -9
  1699. package/esm2020/component/table/enum/edit-event.enum.mjs +0 -7
  1700. package/esm2020/component/table/enum/edit-type.enum.mjs +0 -6
  1701. package/esm2020/component/table/enum/public-api.mjs +0 -5
  1702. package/esm2020/component/table/enum/select-type.enum.mjs +0 -7
  1703. package/esm2020/component/table/head-cell/head-cell.component.mjs +0 -136
  1704. package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +0 -198
  1705. package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +0 -36
  1706. package/esm2020/component/table/public-api.mjs +0 -43
  1707. package/esm2020/component/table/selection-cell/selection-cell.component.mjs +0 -46
  1708. package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +0 -45
  1709. package/esm2020/component/table/service/table.service.mjs +0 -433
  1710. package/esm2020/component/table/table/table.component.mjs +0 -427
  1711. package/esm2020/component/table/table-body/table-body.component.mjs +0 -240
  1712. package/esm2020/component/table/table-head/table-head.component.mjs +0 -98
  1713. package/esm2020/component/table/table-head-group/table-head-group.component.mjs +0 -59
  1714. package/esm2020/component/table/table.module.mjs +0 -176
  1715. package/esm2020/component/table/util/public-api.mjs +0 -3
  1716. package/esm2020/component/table/util/state-util.mjs +0 -139
  1717. package/esm2020/component/table/util/table-util.mjs +0 -131
  1718. package/esm2020/component/tabs/public-api.mjs +0 -12
  1719. package/esm2020/component/tabs/tab/tab.component.mjs +0 -42
  1720. package/esm2020/component/tabs/tab-content.directive.mjs +0 -16
  1721. package/esm2020/component/tabs/tab-title.directive.mjs +0 -16
  1722. package/esm2020/component/tabs/tabs/tabs.component.mjs +0 -70
  1723. package/esm2020/component/tabs/tabs.module.mjs +0 -41
  1724. package/esm2020/component/theme-switch/public-api.mjs +0 -4
  1725. package/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +0 -28
  1726. package/esm2020/component/theme-switch/theme-switch.module.mjs +0 -30
  1727. package/esm2020/component/theme-switch/theme-switch.service.mjs +0 -34
  1728. package/esm2020/component/toggle/public-api.mjs +0 -3
  1729. package/esm2020/component/toggle/toggle/toggle.component.mjs +0 -79
  1730. package/esm2020/component/toggle/toggle.module.mjs +0 -19
  1731. package/esm2020/component/toolbar/public-api.mjs +0 -6
  1732. package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +0 -26
  1733. package/esm2020/component/toolbar/toolbar.module.mjs +0 -22
  1734. package/esm2020/component/tree/public-api.mjs +0 -5
  1735. package/esm2020/component/tree/tree/tree.component.mjs +0 -76
  1736. package/esm2020/component/tree/tree-item/tree-item.component.mjs +0 -80
  1737. package/esm2020/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +0 -28
  1738. package/esm2020/component/tree/tree.module.mjs +0 -22
  1739. package/esm2020/component/tree/tree.service.mjs +0 -35
  1740. package/esm2020/directive/click-outside/click-outside.directive.mjs +0 -60
  1741. package/esm2020/directive/click-outside/click-outside.module.mjs +0 -22
  1742. package/esm2020/directive/click-outside/public-api.mjs +0 -3
  1743. package/esm2020/directive/context-menu/context-menu.directive.mjs +0 -94
  1744. package/esm2020/directive/context-menu/context-menu.module.mjs +0 -26
  1745. package/esm2020/directive/context-menu/public-api.mjs +0 -3
  1746. package/esm2020/directive/disable-control/disable-control.directive.mjs +0 -29
  1747. package/esm2020/directive/disable-control/disable-control.module.mjs +0 -24
  1748. package/esm2020/directive/disable-control/public-api.mjs +0 -3
  1749. package/esm2020/directive/drag-sort/drag-sort-container.directive.mjs +0 -64
  1750. package/esm2020/directive/drag-sort/drag-sort-event.mjs +0 -2
  1751. package/esm2020/directive/drag-sort/drag-sort-item.directive.mjs +0 -115
  1752. package/esm2020/directive/drag-sort/drag-sort.module.mjs +0 -19
  1753. package/esm2020/directive/drag-sort/public-api.mjs +0 -5
  1754. package/esm2020/directive/dynamic-content-base.directive.mjs +0 -81
  1755. package/esm2020/directive/highlight/highlight.directive.mjs +0 -72
  1756. package/esm2020/directive/highlight/highlight.module.mjs +0 -22
  1757. package/esm2020/directive/highlight/public-api.mjs +0 -3
  1758. package/esm2020/directive/hint/hint.directive.mjs +0 -97
  1759. package/esm2020/directive/hint/hint.module.mjs +0 -26
  1760. package/esm2020/directive/hint/public-api.mjs +0 -3
  1761. package/esm2020/directive/loader/loader.directive.mjs +0 -63
  1762. package/esm2020/directive/loader/loader.module.mjs +0 -22
  1763. package/esm2020/directive/loader/public-api.mjs +0 -3
  1764. package/esm2020/directive/no-autofill/no-autofill.directive.mjs +0 -30
  1765. package/esm2020/directive/no-autofill/no-autofill.module.mjs +0 -18
  1766. package/esm2020/directive/no-autofill/public-api.mjs +0 -3
  1767. package/esm2020/directive/only-number/only-number.directive.mjs +0 -175
  1768. package/esm2020/directive/only-number/only-number.module.mjs +0 -18
  1769. package/esm2020/directive/only-number/public-api.mjs +0 -3
  1770. package/esm2020/directive/public-api.mjs +0 -15
  1771. package/esm2020/directive/resize-drag/public-api.mjs +0 -3
  1772. package/esm2020/directive/resize-drag/resize-drag.directive.mjs +0 -71
  1773. package/esm2020/directive/resize-drag/resize-drag.module.mjs +0 -18
  1774. package/esm2020/directive/teta-template/public-api.mjs +0 -3
  1775. package/esm2020/directive/teta-template/teta-template.directive.mjs +0 -22
  1776. package/esm2020/directive/teta-template/teta-template.module.mjs +0 -26
  1777. package/esm2020/directive/tooltip/public-api.mjs +0 -3
  1778. package/esm2020/directive/tooltip/tooltip.directive.mjs +0 -76
  1779. package/esm2020/directive/tooltip/tooltip.module.mjs +0 -20
  1780. package/esm2020/pipe/number-pipe/number-pipe.module.mjs +0 -24
  1781. package/esm2020/pipe/number-pipe/number.pipe.mjs +0 -24
  1782. package/esm2020/pipe/number-pipe/public-api.mjs +0 -3
  1783. package/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +0 -18
  1784. package/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +0 -21
  1785. package/esm2020/pipe/public-api.mjs +0 -2
  1786. package/esm2020/pipe/util/number-helper.mjs +0 -25
  1787. package/esm2020/public-api.mjs +0 -21
  1788. package/esm2020/tetacom-ng-components.mjs +0 -5
  1789. package/esm2020/util/date-util.mjs +0 -195
  1790. package/esm2020/util/forms-util.mjs +0 -61
  1791. package/esm2020/util/public-api.mjs +0 -4
  1792. package/esm2020/util/string-util.mjs +0 -7
  1793. package/fesm2015/tetacom-ng-components.mjs +0 -13336
  1794. package/fesm2015/tetacom-ng-components.mjs.map +0 -1
  1795. package/fesm2020/tetacom-ng-components.mjs +0 -13228
  1796. package/fesm2020/tetacom-ng-components.mjs.map +0 -1
@@ -0,0 +1,45 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, } from '@angular/core';
2
+ import { takeWhile } from 'rxjs/operators';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../service/table.service";
5
+ import * as i2 from "../../checkbox/checkbox/checkbox.component";
6
+ import * as i3 from "@angular/forms";
7
+ export class SelectionHeadCellComponent {
8
+ constructor(_svc, _cdr) {
9
+ this._svc = _svc;
10
+ this._cdr = _cdr;
11
+ this.tableCellClass = true;
12
+ this._alive = true;
13
+ }
14
+ selectAll(value) {
15
+ if (value) {
16
+ this._svc.selectAll();
17
+ }
18
+ else {
19
+ this._svc.deselectAll();
20
+ }
21
+ }
22
+ allSelected() {
23
+ return this._svc.allRowsSelected();
24
+ }
25
+ ngOnInit() {
26
+ this._svc.selectedRows
27
+ .pipe(takeWhile((_) => this._alive))
28
+ .subscribe((_) => {
29
+ this._cdr.markForCheck();
30
+ });
31
+ }
32
+ ngOnDestroy() {
33
+ this._alive = false;
34
+ }
35
+ }
36
+ SelectionHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionHeadCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
37
+ SelectionHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SelectionHeadCellComponent, selector: "teta-selection-head-cell", host: { properties: { "class.table-head__group": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], components: [{ type: i2.CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], directives: [{ type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionHeadCellComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'teta-selection-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"] }]
41
+ }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tableCellClass: [{
42
+ type: HostBinding,
43
+ args: ['class.table-head__group']
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3NlbGVjdGlvbi1oZWFkLWNlbGwvc2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3NlbGVjdGlvbi1oZWFkLWNlbGwvc2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxXQUFXLEdBR1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVEzQyxNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFlBQW9CLElBQXFCLEVBQVUsSUFBdUI7UUFBdEQsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUxqQixtQkFBYyxHQUNyRSxJQUFJLENBQUM7UUFFQyxXQUFNLEdBQUcsSUFBSSxDQUFDO0lBRXVELENBQUM7SUFFOUUsU0FBUyxDQUFDLEtBQWM7UUFDdEIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7YUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7dUhBOUJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDRJQ2pCdkMsK05BS0E7MkZEWWEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTTttSUFHVSxjQUFjO3NCQUF0RSxXQUFXO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1zZWxlY3Rpb24taGVhZC1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3Rpb24taGVhZC1jZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25IZWFkQ2VsbENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50YWJsZS1oZWFkX19ncm91cCcpIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDZWxsQ2xhc3MgPVxuICAgIHRydWU7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3N2YzogVGFibGVTZXJ2aWNlPFQ+LCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHNlbGVjdEFsbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fc3ZjLnNlbGVjdEFsbCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zdmMuZGVzZWxlY3RBbGwoKTtcbiAgICB9XG4gIH1cblxuICBhbGxTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3ZjLmFsbFJvd3NTZWxlY3RlZCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3ZjLnNlbGVjdGVkUm93c1xuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPHRldGEtY2hlY2tib3ggW2JpbmFyeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFthbGxvd051bGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbbm9MYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImFsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIj48L3RldGEtY2hlY2tib3g+XG4iXX0=
@@ -0,0 +1,434 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TableRow } from '../contract/table-row';
3
+ import { TableColumn } from '../contract/table-column';
4
+ import { FilterState } from '../../filter/contarct/filter-state';
5
+ import { BehaviorSubject, Subject } from 'rxjs';
6
+ import { ColumnReorderEvent } from '../contract/column-reorder-event';
7
+ import { ArrayUtil } from '../../../common/util/array-util';
8
+ import { StateUtil } from '../util/state-util';
9
+ import { SelectType } from '../enum/select-type.enum';
10
+ import { ListFilterType } from '../../filter/enum/list-filter-type.enum';
11
+ import { ListFilter } from '../../filter/contarct/list-filter';
12
+ import { FilterType } from '../../filter/enum/filter-type.enum';
13
+ import { NumericFilterValue } from '../../filter/contarct/numeric-filter-value';
14
+ import { NumericFilter } from '../../filter/contarct/numeric-filter';
15
+ import { StringFilter } from '../../filter/contarct/string-filter';
16
+ import { DateFilterValue } from '../../filter/contarct/date-filter-value';
17
+ import { DateFilter } from '../../filter/contarct/date-filter';
18
+ import { DateUtil } from '../../../util/date-util';
19
+ import objectHash from 'object-hash';
20
+ import { TableColumnStore } from '../contract/table-column-store';
21
+ import * as i0 from "@angular/core";
22
+ export class TableService {
23
+ constructor() {
24
+ this.initialColumns = [];
25
+ this.displayColumns = [];
26
+ this._columns = new BehaviorSubject([]);
27
+ this.initialData = [];
28
+ this._displayData = new BehaviorSubject([]);
29
+ this._dict = new BehaviorSubject({});
30
+ this._state = new BehaviorSubject(new FilterState());
31
+ this._editRowStart = new Subject();
32
+ this._editRowStop = new Subject();
33
+ this._editCellStart = new Subject();
34
+ this._editCellStop = new Subject();
35
+ this._valueChanged = new Subject();
36
+ this._valueSet = new Subject();
37
+ this._stateChanged = new Subject();
38
+ this._filterClear = new Subject();
39
+ this._groupToggle = new Subject();
40
+ this._selectedRows = new BehaviorSubject([]);
41
+ this._activeRow = new BehaviorSubject(null);
42
+ this._hiddenColumns = new BehaviorSubject([]);
43
+ this._scrollIndex = new Subject();
44
+ this.columns = this._columns.asObservable();
45
+ this.displayData = this._displayData.asObservable();
46
+ this.dict = this._dict.asObservable();
47
+ this.state = this._state.asObservable();
48
+ this.editRowStart = this._editRowStart.asObservable();
49
+ this.editRowStop = this._editRowStop.asObservable();
50
+ this.editCellStart = this._editCellStart.asObservable();
51
+ this.editCellStop = this._editCellStop.asObservable();
52
+ this.valueChanged = this._valueChanged.asObservable();
53
+ this.valueSet = this._valueSet.asObservable();
54
+ this.stateChanged = this._stateChanged.asObservable();
55
+ this.filterClear = this._filterClear.asObservable();
56
+ this.groupToggle = this._groupToggle.asObservable();
57
+ this.selectedRows = this._selectedRows.asObservable();
58
+ this.activeRow = this._activeRow.asObservable();
59
+ this.hiddenColumns = this._hiddenColumns.asObservable();
60
+ this.scrollIndex = this._scrollIndex.asObservable();
61
+ }
62
+ // cellEditable: boolean | ((row: ICellCoordinates<T>) => boolean);
63
+ get dragSource() {
64
+ return this._dragSource;
65
+ }
66
+ setData(data) {
67
+ this.initialData = data?.map((_) => new TableRow(_));
68
+ this._displayData.next(this.initialData);
69
+ }
70
+ setDict(dict) {
71
+ this._dict.next(dict);
72
+ }
73
+ setColumns(columns) {
74
+ this.initialColumns = columns ? columns.map((_) => new TableColumn(_)) : [];
75
+ this.initialColumnsHash = objectHash(this.initialColumns, {
76
+ algorithm: 'sha1',
77
+ ignoreUnknown: true,
78
+ excludeKeys: key => key === 'headDropdownTemplate',
79
+ });
80
+ const restored = this.restoreColumns();
81
+ if (restored) {
82
+ this.setDisplayColumns(restored);
83
+ }
84
+ else {
85
+ this.setDisplayColumns(this.initialColumns);
86
+ }
87
+ }
88
+ restoreDefaultColumns() {
89
+ this.setDisplayColumns(this.initialColumns);
90
+ this.clearColumnsState();
91
+ }
92
+ updateColumns(columns) {
93
+ this.setDisplayColumns(columns);
94
+ this.saveColumnsState();
95
+ }
96
+ saveColumnsState() {
97
+ if (this._cookieName) {
98
+ localStorage.setItem(this._columnsCookieName, JSON.stringify({
99
+ hash: this.initialColumnsHash,
100
+ columns: this.displayColumns.map((_) => new TableColumnStore(_)),
101
+ }));
102
+ }
103
+ }
104
+ clearColumnsState() {
105
+ localStorage.removeItem(this._columnsCookieName);
106
+ }
107
+ setDisplayColumns(columns) {
108
+ this.displayColumns = columns ? columns.map((_) => new TableColumn(_)) : [];
109
+ this._columns.next(this.displayColumns);
110
+ }
111
+ restoreColumns() {
112
+ const savedColumns = JSON.parse(localStorage.getItem(this._columnsCookieName));
113
+ if (savedColumns && savedColumns.hash === this.initialColumnsHash) {
114
+ return this.restoreColumnsState(savedColumns.columns);
115
+ }
116
+ return null;
117
+ }
118
+ restoreColumnsState(columns) {
119
+ return columns.map((column) => {
120
+ const found = ArrayUtil.findRecursive(this.initialColumns, (item) => item.name === column.name, 'columns');
121
+ const resultColumn = new TableColumn(found);
122
+ resultColumn.width = column.width;
123
+ resultColumn.flex = column.flex;
124
+ resultColumn.locked = column.locked;
125
+ if (column.columns?.length > 0) {
126
+ resultColumn.columns = this.restoreColumnsState(column.columns);
127
+ }
128
+ return resultColumn;
129
+ });
130
+ }
131
+ setState(state) {
132
+ state.save(this._cookieName);
133
+ this._state.next(state);
134
+ }
135
+ setCookieName(name) {
136
+ this._cookieName = name;
137
+ this._hiddenCookieName = `${this._cookieName}_hidden_columns`;
138
+ this._columnsCookieName = `${this._cookieName}_columns`;
139
+ }
140
+ restoreState() {
141
+ let state;
142
+ if (this._cookieName?.length > 0 && FilterState.restore(this._cookieName)) {
143
+ let newState = Object.assign(this._state.value, FilterState.restore(this._cookieName));
144
+ newState = DateUtil.convertDateStringsToDates(newState);
145
+ state = new FilterState(newState);
146
+ }
147
+ else {
148
+ state = new FilterState();
149
+ }
150
+ this.setState(state);
151
+ }
152
+ saveHiddenColumns(hiddenColumns) {
153
+ localStorage.setItem(this._hiddenCookieName, JSON.stringify(hiddenColumns));
154
+ }
155
+ restoreHiddenColumns() {
156
+ const hiddenColumns = localStorage.getItem(this._hiddenCookieName) || '[]';
157
+ this._hiddenColumns.next(JSON.parse(hiddenColumns));
158
+ }
159
+ sort(sortEvent) {
160
+ if (sortEvent.column.sortable) {
161
+ this.setState(StateUtil.sortColumn(sortEvent, this._state.value));
162
+ }
163
+ }
164
+ clearSort(column) {
165
+ this.setState(StateUtil.clearSort(column, this._state.value));
166
+ }
167
+ clearAllSort() {
168
+ this.setState(StateUtil.clearAllSort(this._state.value));
169
+ }
170
+ clearFilter(column) {
171
+ const state = this._state.value;
172
+ if (column !== null && column !== undefined && column.filterable) {
173
+ switch (column.filterType) {
174
+ case FilterType.date:
175
+ state.addDateFilter(new DateFilter({
176
+ name: column.name,
177
+ field: column.filterField,
178
+ value: new DateFilterValue(),
179
+ }));
180
+ break;
181
+ case FilterType.string:
182
+ state.addStringFilter(new StringFilter({
183
+ name: column.name,
184
+ field: column.filterField,
185
+ value: '',
186
+ }));
187
+ break;
188
+ case FilterType.number:
189
+ state.addNumericFilter(new NumericFilter({
190
+ name: column.name,
191
+ field: column.filterField,
192
+ value: new NumericFilterValue(),
193
+ }));
194
+ break;
195
+ case FilterType.list:
196
+ state.addListFilter(new ListFilter({
197
+ name: column.name,
198
+ field: column.filterField,
199
+ value: [],
200
+ type: ListFilterType.None,
201
+ }));
202
+ break;
203
+ }
204
+ this.setState(new FilterState(state));
205
+ }
206
+ }
207
+ clearAllFilters() {
208
+ const state = this._state.value;
209
+ state.stringFilters = [];
210
+ state.listFilters = [];
211
+ state.numericFilters = [];
212
+ state.dateFilters = [];
213
+ this.setState(new FilterState(state));
214
+ }
215
+ pinColumn(column) {
216
+ this.displayColumns.forEach((col) => {
217
+ if (col.name === column.name) {
218
+ col.locked = !col.locked;
219
+ }
220
+ });
221
+ this.updateColumns(this.displayColumns);
222
+ }
223
+ dragStart(column) {
224
+ this._dragSource = column;
225
+ }
226
+ lockPreviousColumns(column, element) {
227
+ const flat = ArrayUtil.flatten(this.displayColumns, 'columns', true).sort((a, b) => Number(b.locked) - Number(a.locked));
228
+ const index = flat.indexOf(column);
229
+ const previous = flat.slice(0, index).filter((_) => _.flex > 0);
230
+ if (previous?.length > 0) {
231
+ const tableElement = this.getTableElement(element);
232
+ previous.forEach((item) => {
233
+ const itemCol = tableElement.querySelector(`teta-head-cell[data-column=${item.name}]`);
234
+ if (itemCol) {
235
+ item.flex = 0;
236
+ item.width = itemCol.clientWidth;
237
+ }
238
+ });
239
+ }
240
+ }
241
+ resizeColumn(event) {
242
+ if (event.column !== null && event.column !== undefined) {
243
+ event.column.width = event.newWidth < 50 ? 50 : event.newWidth;
244
+ event.column.flex = 0;
245
+ }
246
+ this._columns.next(this.displayColumns);
247
+ this.saveColumnsState();
248
+ }
249
+ autosizeColumn(column, target) {
250
+ const tableElement = this.getTableElement(target);
251
+ this.setColumnAutoWidth(column, tableElement);
252
+ this._columns.next(this.displayColumns);
253
+ this.saveColumnsState();
254
+ }
255
+ autosizeAllColumns(target) {
256
+ const tableElement = this.getTableElement(target);
257
+ const flat = ArrayUtil.flatten(this.displayColumns, 'columns', true);
258
+ flat.forEach((col) => this.setColumnAutoWidth(col, tableElement));
259
+ this._columns.next(this.displayColumns);
260
+ this.saveColumnsState();
261
+ }
262
+ reorderColumn(column, insertBefore) {
263
+ const event = new ColumnReorderEvent(this._dragSource, column);
264
+ if (event.source !== event.target) {
265
+ const sourceParent = this.findParent(event.source, this.displayColumns);
266
+ const targetParent = this.findParent(event.target, this.displayColumns);
267
+ if (sourceParent && targetParent) {
268
+ const sourceIndex = sourceParent.indexOf(event.source);
269
+ sourceParent.splice(sourceIndex, 1);
270
+ let targetIndex = targetParent.indexOf(event.target);
271
+ if (!insertBefore) {
272
+ targetIndex = targetIndex + 1;
273
+ }
274
+ targetParent.splice(targetIndex, 0, event.source);
275
+ event.source.locked = event.target.locked;
276
+ this.updateColumns(this.displayColumns);
277
+ }
278
+ }
279
+ }
280
+ startEditRow(cellCoordinates) {
281
+ if (this._currentEditRow?.row !== cellCoordinates?.row) {
282
+ if (this._currentEditRow != null) {
283
+ this._editRowStop.next(this._currentEditRow);
284
+ }
285
+ if (cellCoordinates === null) {
286
+ this._editRowStart.next(cellCoordinates);
287
+ this._currentEditRow = cellCoordinates;
288
+ }
289
+ else {
290
+ if (this.boolOrFuncCallback(this.rowEditable)(cellCoordinates.row)) {
291
+ this._editRowStart.next(cellCoordinates);
292
+ this._currentEditRow = cellCoordinates;
293
+ }
294
+ }
295
+ }
296
+ }
297
+ startEditCell(cellCoordinates) {
298
+ if (this._currentEditCell?.column.name !== cellCoordinates?.column.name ||
299
+ this._currentEditCell?.row !== cellCoordinates?.row) {
300
+ if (this._currentEditCell != null) {
301
+ this._editCellStop.next(this._currentEditCell);
302
+ }
303
+ if (this.boolOrFuncCallback(cellCoordinates.column.editable)(cellCoordinates)) {
304
+ this._editCellStart.next(cellCoordinates);
305
+ this._currentEditCell = cellCoordinates;
306
+ }
307
+ }
308
+ }
309
+ setActiveRow(row) {
310
+ this._activeRow.next(row);
311
+ }
312
+ selectRows(rows) {
313
+ this._selectedRows.next(rows);
314
+ }
315
+ selectRow(row) {
316
+ if (this.selectType === SelectType.none) {
317
+ return;
318
+ }
319
+ if (this.selectType === SelectType.single) {
320
+ this._selectedRows.next([row]);
321
+ }
322
+ else {
323
+ this._selectedRows.next([...this._selectedRows.value, row]);
324
+ }
325
+ }
326
+ deselectRow(row) {
327
+ if (this.selectType === SelectType.none) {
328
+ return;
329
+ }
330
+ if (this.selectType === SelectType.single) {
331
+ this._selectedRows.next([]);
332
+ }
333
+ else {
334
+ this._selectedRows.next(this._selectedRows.value.filter((_) => _ !== row));
335
+ }
336
+ }
337
+ selectAll() {
338
+ this._selectedRows.next(this._displayData.value);
339
+ }
340
+ deselectAll() {
341
+ this._selectedRows.next([]);
342
+ }
343
+ allRowsSelected() {
344
+ if (this._displayData.value?.length &&
345
+ this._selectedRows.value?.length &&
346
+ this._displayData.value.every((_) => this._selectedRows.value.indexOf(_) >= 0)) {
347
+ return true;
348
+ }
349
+ else if (this._selectedRows.value == null ||
350
+ this._selectedRows.value.length === 0) {
351
+ return false;
352
+ }
353
+ return null;
354
+ }
355
+ setHiddenColumns(value) {
356
+ this.saveHiddenColumns(value);
357
+ this._hiddenColumns.next(value);
358
+ }
359
+ columnIsHidden(column) {
360
+ return this._hiddenColumns.value.indexOf(column.name) >= 0;
361
+ }
362
+ toggleGroup(row) {
363
+ this._groupToggle.next(row);
364
+ }
365
+ changeValue(coordinates) {
366
+ this._valueChanged.next(coordinates);
367
+ }
368
+ setValue(cellValue) {
369
+ this._valueSet.next(cellValue);
370
+ }
371
+ getRowByIndex(rowIndex) {
372
+ return this._displayData.value[parseInt(rowIndex, 10)];
373
+ }
374
+ getColumnByName(columnName) {
375
+ return ArrayUtil.findRecursive(this.displayColumns, (iterableNode) => columnName === iterableNode.name, 'columns');
376
+ }
377
+ scrollToIndex(index) {
378
+ this._scrollIndex.next(null);
379
+ this._scrollIndex.next(index);
380
+ }
381
+ boolOrFuncCallback(variable) {
382
+ return (args) => {
383
+ if (typeof variable === 'boolean') {
384
+ return variable;
385
+ }
386
+ else if (this.isFunction(variable)) {
387
+ return variable(args);
388
+ }
389
+ return true;
390
+ };
391
+ }
392
+ findParent(column, columns) {
393
+ const found = columns.find((x) => x.name === column.name);
394
+ if (found !== null && found !== undefined) {
395
+ return columns;
396
+ }
397
+ for (let i = 0, l = columns.length; i < l; i++) {
398
+ const col = columns[i];
399
+ if (col.columns && col.columns.length) {
400
+ const result = this.findParent(column, col.columns);
401
+ if (result !== null && result !== undefined) {
402
+ return result;
403
+ }
404
+ }
405
+ }
406
+ return null;
407
+ }
408
+ getTableElement(element) {
409
+ return element.closest('teta-table');
410
+ }
411
+ isFunction(obj) {
412
+ return !!(obj && obj?.constructor && obj?.call && obj?.apply);
413
+ }
414
+ setColumnAutoWidth(column, table) {
415
+ const cells = table.querySelectorAll(`teta-cell[data-column=${column.name}] .cell-text`);
416
+ let maxWidth = 0;
417
+ cells.forEach((cell) => {
418
+ if (cell.scrollWidth > maxWidth) {
419
+ maxWidth = cell.scrollWidth;
420
+ }
421
+ });
422
+ column.flex = 0;
423
+ column.width = maxWidth + 20;
424
+ }
425
+ }
426
+ TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
427
+ TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, providedIn: 'root' });
428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, decorators: [{
429
+ type: Injectable,
430
+ args: [{
431
+ providedIn: 'root',
432
+ }]
433
+ }], ctorParameters: function () { return []; } });
434
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvc2VydmljZS90YWJsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDOUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRzdELE9B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UyxFQUFFO29CQUMzQyxPQUFPLE1BQU0sQ0FBQztpQkFDZjthQUNGO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxlQUFlLENBQUMsT0FBb0I7UUFDMUMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxVQUFVLENBQUMsR0FBUTtRQUN6QixPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsV0FBVyxJQUFJLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxNQUFtQixFQUFFLEtBQWtCO1FBQ2hFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDbEMseUJBQXlCLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FDbkQsQ0FBQztRQUNGLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsRUFBRTtnQkFDL0IsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDOzt5R0F4aEJVLFlBQVk7NkdBQVosWUFBWSxjQUZYLE1BQU07MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZVJvd30gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtcm93JztcbmltcG9ydCB7SUNlbGxDb29yZGluYXRlc30gZnJvbSAnLi4vY29udHJhY3QvaS1jZWxsLWNvb3JkaW5hdGVzJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge0ZpbHRlclN0YXRlfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3QvZmlsdGVyLXN0YXRlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29sdW1uUmVzaXplRXZlbnR9IGZyb20gJy4uL2NvbnRyYWN0L2NvbHVtbi1yZXNpemUtZXZlbnQnO1xuaW1wb3J0IHtDb2x1bW5SZW9yZGVyRXZlbnR9IGZyb20gJy4uL2NvbnRyYWN0L2NvbHVtbi1yZW9yZGVyLWV2ZW50JztcbmltcG9ydCB7U29ydEV2ZW50fSBmcm9tICcuLi9jb250cmFjdC9zb3J0LWV2ZW50JztcbmltcG9ydCB7QXJyYXlVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbC9hcnJheS11dGlsJztcbmltcG9ydCB7U3RhdGVVdGlsfSBmcm9tICcuLi91dGlsL3N0YXRlLXV0aWwnO1xuaW1wb3J0IHtTZWxlY3RUeXBlfSBmcm9tICcuLi9lbnVtL3NlbGVjdC10eXBlLmVudW0nO1xuaW1wb3J0IHtFZGl0VHlwZX0gZnJvbSAnLi4vZW51bS9lZGl0LXR5cGUuZW51bSc7XG5pbXBvcnQge0VkaXRFdmVudH0gZnJvbSAnLi4vZW51bS9lZGl0LWV2ZW50LmVudW0nO1xuaW1wb3J0IHtMaXN0RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vbGlzdC1maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7TGlzdEZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2xpc3QtZmlsdGVyJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge051bWVyaWNGaWx0ZXJWYWx1ZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L251bWVyaWMtZmlsdGVyLXZhbHVlJztcbmltcG9ydCB7TnVtZXJpY0ZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L251bWVyaWMtZmlsdGVyJztcbmltcG9ydCB7U3RyaW5nRmlsdGVyfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3Qvc3RyaW5nLWZpbHRlcic7XG5pbXBvcnQge0RhdGVGaWx0ZXJWYWx1ZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2RhdGUtZmlsdGVyLXZhbHVlJztcbmltcG9ydCB7RGF0ZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2RhdGUtZmlsdGVyJztcbmltcG9ydCB7SURpY3Rpb25hcnl9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWRpY3Rpb25hcnknO1xuaW1wb3J0IHtJSWROYW1lfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7RGF0ZVV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0ZS11dGlsJztcbmltcG9ydCBvYmplY3RIYXNoIGZyb20gJ29iamVjdC1oYXNoJztcbmltcG9ydCB7VGFibGVDb2x1bW5TdG9yZX0gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtY29sdW1uLXN0b3JlJztcbmltcG9ydCB7SUNlbGxWYWx1ZX0gZnJvbSAnLi4vY29udHJhY3QvaS1jZWxsLXZhbHVlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2VydmljZTxUPiB7XG4gIGNvbHVtbnM6IE9ic2VydmFibGU8VGFibGVDb2x1bW5bXT47XG4gIGRpc3BsYXlEYXRhOiBPYnNlcnZhYmxlPFRhYmxlUm93PFQ+W10+O1xuICBkaWN0OiBPYnNlcnZhYmxlPElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPj47XG4gIHN0YXRlOiBPYnNlcnZhYmxlPEZpbHRlclN0YXRlPjtcbiAgc2VsZWN0VHlwZTogU2VsZWN0VHlwZTtcbiAgZWRpdFJvd1N0YXJ0OiBPYnNlcnZhYmxlPElDZWxsQ29vcmRpbmF0ZXM8VD4+O1xuICBlZGl0Um93U3RvcDogT2JzZXJ2YWJsZTxJQ2VsbENvb3JkaW5hdGVzPFQ+PjtcblxuICBlZGl0Q2VsbFN0YXJ0OiBPYnNlcnZhYmxlPElDZWxsQ29vcmRpbmF0ZXM8VD4+O1xuICBlZGl0Q2VsbFN0b3A6IE9ic2VydmFibGU8SUNlbGxDb29yZGluYXRlczxUPj47XG4gIHZhbHVlQ2hhbmdlZDogT2JzZXJ2YWJsZTxJQ2VsbENvb3JkaW5hdGVzPFQ+PjtcbiAgdmFsdWVTZXQ6IE9ic2VydmFibGU8SUNlbGxWYWx1ZTxUPj47XG4gIHN0YXRlQ2hhbmdlZDogT2JzZXJ2YWJsZTxGaWx0ZXJTdGF0ZT47XG4gIGZpbHRlckNsZWFyOiBPYnNlcnZhYmxlPFRhYmxlQ29sdW1uPjtcbiAgZ3JvdXBUb2dnbGU6IE9ic2VydmFibGU8VGFibGVSb3c8VD4+O1xuICBzZWxlY3RlZFJvd3M6IE9ic2VydmFibGU8VGFibGVSb3c8VD5bXT47XG4gIGFjdGl2ZVJvdzogT2JzZXJ2YWJsZTxUYWJsZVJvdzxUPj47XG4gIGhpZGRlbkNvbHVtbnM6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBzY3JvbGxJbmRleDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIGVkaXRUeXBlOiBFZGl0VHlwZTtcbiAgZWRpdEV2ZW50OiBFZGl0RXZlbnQ7XG4gIHJvd0VkaXRhYmxlOiBib29sZWFuIHwgKChyb3c6IFRhYmxlUm93PFQ+KSA9PiBib29sZWFuKTtcbiAgLy8gY2VsbEVkaXRhYmxlOiBib29sZWFuIHwgKChyb3c6IElDZWxsQ29vcmRpbmF0ZXM8VD4pID0+IGJvb2xlYW4pO1xuXG4gIGdldCBkcmFnU291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLl9kcmFnU291cmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsQ29sdW1uc0hhc2g6IHN0cmluZztcbiAgcHJpdmF0ZSBpbml0aWFsQ29sdW1uczogVGFibGVDb2x1bW5bXSA9IFtdO1xuICBwcml2YXRlIGRpc3BsYXlDb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XG4gIHByaXZhdGUgX2NvbHVtbnM6IEJlaGF2aW9yU3ViamVjdDxUYWJsZUNvbHVtbltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVDb2x1bW5bXT4oW10pO1xuICBwcml2YXRlIGluaXRpYWxEYXRhOiBUYWJsZVJvdzxUPltdID0gW107XG4gIHByaXZhdGUgX2Rpc3BsYXlEYXRhOiBCZWhhdmlvclN1YmplY3Q8VGFibGVSb3c8VD5bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlUm93PFQ+W10+KFtdKTtcbiAgcHJpdmF0ZSBfZGljdDogQmVoYXZpb3JTdWJqZWN0PElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPj4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8SURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+Pih7fSk7XG4gIHByaXZhdGUgX3N0YXRlOiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyU3RhdGU+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlclN0YXRlPihuZXcgRmlsdGVyU3RhdGUoKSk7XG4gIHByaXZhdGUgX2Nvb2tpZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfaGlkZGVuQ29va2llTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9jb2x1bW5zQ29va2llTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9lZGl0Um93U3RhcnQgPSBuZXcgU3ViamVjdDxJQ2VsbENvb3JkaW5hdGVzPFQ+IHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBfZWRpdFJvd1N0b3AgPSBuZXcgU3ViamVjdDxJQ2VsbENvb3JkaW5hdGVzPFQ+IHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBfZWRpdENlbGxTdGFydCA9IG5ldyBTdWJqZWN0PElDZWxsQ29vcmRpbmF0ZXM8VD4gfCBudWxsPigpO1xuICBwcml2YXRlIF9lZGl0Q2VsbFN0b3AgPSBuZXcgU3ViamVjdDxJQ2VsbENvb3JkaW5hdGVzPFQ+IHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VkID0gbmV3IFN1YmplY3Q8SUNlbGxDb29yZGluYXRlczxUPiB8IG51bGw+KCk7XG4gIHByaXZhdGUgX3ZhbHVlU2V0ID0gbmV3IFN1YmplY3Q8SUNlbGxWYWx1ZTxUPj4oKTtcbiAgcHJpdmF0ZSBfc3RhdGVDaGFuZ2VkID0gbmV3IFN1YmplY3Q8RmlsdGVyU3RhdGU+KCk7XG4gIHByaXZhdGUgX2ZpbHRlckNsZWFyID0gbmV3IFN1YmplY3Q8VGFibGVDb2x1bW4+KCk7XG4gIHByaXZhdGUgX2RyYWdTb3VyY2U6IFRhYmxlQ29sdW1uO1xuICBwcml2YXRlIF9ncm91cFRvZ2dsZSA9IG5ldyBTdWJqZWN0PFRhYmxlUm93PFQ+PigpO1xuICBwcml2YXRlIF9zZWxlY3RlZFJvd3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlUm93PFQ+W10+KFtdKTtcbiAgcHJpdmF0ZSBfYWN0aXZlUm93ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYWJsZVJvdzxUPj4obnVsbCk7XG4gIHByaXZhdGUgX2hpZGRlbkNvbHVtbnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gIHByaXZhdGUgX3Njcm9sbEluZGV4ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRFZGl0Um93OiBJQ2VsbENvb3JkaW5hdGVzPFQ+O1xuICBwcml2YXRlIF9jdXJyZW50RWRpdENlbGw6IElDZWxsQ29vcmRpbmF0ZXM8VD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb2x1bW5zID0gdGhpcy5fY29sdW1ucy5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmRpc3BsYXlEYXRhID0gdGhpcy5fZGlzcGxheURhdGEuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5kaWN0ID0gdGhpcy5fZGljdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnN0YXRlID0gdGhpcy5fc3RhdGUuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5lZGl0Um93U3RhcnQgPSB0aGlzLl9lZGl0Um93U3RhcnQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5lZGl0Um93U3RvcCA9IHRoaXMuX2VkaXRSb3dTdG9wLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuZWRpdENlbGxTdGFydCA9IHRoaXMuX2VkaXRDZWxsU3RhcnQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5lZGl0Q2VsbFN0b3AgPSB0aGlzLl9lZGl0Q2VsbFN0b3AuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQgPSB0aGlzLl92YWx1ZUNoYW5nZWQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy52YWx1ZVNldCA9IHRoaXMuX3ZhbHVlU2V0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VkID0gdGhpcy5fc3RhdGVDaGFuZ2VkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuZmlsdGVyQ2xlYXIgPSB0aGlzLl9maWx0ZXJDbGVhci5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmdyb3VwVG9nZ2xlID0gdGhpcy5fZ3JvdXBUb2dnbGUuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5zZWxlY3RlZFJvd3MgPSB0aGlzLl9zZWxlY3RlZFJvd3MuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5hY3RpdmVSb3cgPSB0aGlzLl9hY3RpdmVSb3cuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5oaWRkZW5Db2x1bW5zID0gdGhpcy5faGlkZGVuQ29sdW1ucy5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnNjcm9sbEluZGV4ID0gdGhpcy5fc2Nyb2xsSW5kZXguYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXREYXRhKGRhdGE6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbERhdGEgPSBkYXRhPy5tYXAoKF8pID0+IG5ldyBUYWJsZVJvdzxUPihfKSk7XG4gICAgdGhpcy5fZGlzcGxheURhdGEubmV4dCh0aGlzLmluaXRpYWxEYXRhKTtcbiAgfVxuXG4gIHNldERpY3QoZGljdDogSURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+KTogdm9pZCB7XG4gICAgdGhpcy5fZGljdC5uZXh0KGRpY3QpO1xuICB9XG5cbiAgc2V0Q29sdW1ucyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsQ29sdW1ucyA9IGNvbHVtbnMgPyBjb2x1bW5zLm1hcCgoXykgPT4gbmV3IFRhYmxlQ29sdW1uKF8pKSA6IFtdO1xuICAgIHRoaXMuaW5pdGlhbENvbHVtbnNIYXNoID0gb2JqZWN0SGFzaCh0aGlzLmluaXRpYWxDb2x1bW5zLCB7XG4gICAgICBhbGdvcml0aG06ICdzaGExJyxcbiAgICAgIGlnbm9yZVVua25vd246IHRydWUsXG4gICAgICBleGNsdWRlS2V5czoga2V5ID0+IGtleSA9PT0gJ2hlYWREcm9wZG93blRlbXBsYXRlJyxcbiAgICB9KTtcbiAgICBjb25zdCByZXN0b3JlZCA9IHRoaXMucmVzdG9yZUNvbHVtbnMoKTtcblxuICAgIGlmIChyZXN0b3JlZCkge1xuICAgICAgdGhpcy5zZXREaXNwbGF5Q29sdW1ucyhyZXN0b3JlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RGlzcGxheUNvbHVtbnModGhpcy5pbml0aWFsQ29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgcmVzdG9yZURlZmF1bHRDb2x1bW5zKCkge1xuICAgIHRoaXMuc2V0RGlzcGxheUNvbHVtbnModGhpcy5pbml0aWFsQ29sdW1ucyk7XG4gICAgdGhpcy5jbGVhckNvbHVtbnNTdGF0ZSgpO1xuICB9XG5cbiAgdXBkYXRlQ29sdW1ucyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdKTogdm9pZCB7XG4gICAgdGhpcy5zZXREaXNwbGF5Q29sdW1ucyhjb2x1bW5zKTtcbiAgICB0aGlzLnNhdmVDb2x1bW5zU3RhdGUoKTtcbiAgfVxuXG4gIHNhdmVDb2x1bW5zU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMuX2Nvb2tpZU5hbWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICB0aGlzLl9jb2x1bW5zQ29va2llTmFtZSxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGhhc2g6IHRoaXMuaW5pdGlhbENvbHVtbnNIYXNoLFxuICAgICAgICAgIGNvbHVtbnM6IHRoaXMuZGlzcGxheUNvbHVtbnMubWFwKChfKSA9PiBuZXcgVGFibGVDb2x1bW5TdG9yZShfKSksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyQ29sdW1uc1N0YXRlKCkge1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuX2NvbHVtbnNDb29raWVOYW1lKTtcbiAgfVxuXG4gIHNldERpc3BsYXlDb2x1bW5zKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10pOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlDb2x1bW5zID0gY29sdW1ucyA/IGNvbHVtbnMubWFwKChfKSA9PiBuZXcgVGFibGVDb2x1bW4oXykpIDogW107XG4gICAgdGhpcy5fY29sdW1ucy5uZXh0KHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICB9XG5cbiAgcmVzdG9yZUNvbHVtbnMoKSB7XG4gICAgY29uc3Qgc2F2ZWRDb2x1bW5zID0gSlNPTi5wYXJzZShcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuX2NvbHVtbnNDb29raWVOYW1lKVxuICAgICk7XG4gICAgaWYgKHNhdmVkQ29sdW1ucyAmJiBzYXZlZENvbHVtbnMuaGFzaCA9PT0gdGhpcy5pbml0aWFsQ29sdW1uc0hhc2gpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc3RvcmVDb2x1bW5zU3RhdGUoc2F2ZWRDb2x1bW5zLmNvbHVtbnMpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJlc3RvcmVDb2x1bW5zU3RhdGUoY29sdW1uczogVGFibGVDb2x1bW5TdG9yZVtdKSB7XG4gICAgcmV0dXJuIGNvbHVtbnMubWFwKChjb2x1bW46IFRhYmxlQ29sdW1uU3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IGZvdW5kID0gQXJyYXlVdGlsLmZpbmRSZWN1cnNpdmUoXG4gICAgICAgIHRoaXMuaW5pdGlhbENvbHVtbnMsXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLm5hbWUgPT09IGNvbHVtbi5uYW1lLFxuICAgICAgICAnY29sdW1ucydcbiAgICAgICk7XG4gICAgICBjb25zdCByZXN1bHRDb2x1bW4gPSBuZXcgVGFibGVDb2x1bW4oZm91bmQpO1xuICAgICAgcmVzdWx0Q29sdW1uLndpZHRoID0gY29sdW1uLndpZHRoO1xuICAgICAgcmVzdWx0Q29sdW1uLmZsZXggPSBjb2x1bW4uZmxleDtcbiAgICAgIHJlc3VsdENvbHVtbi5sb2NrZWQgPSBjb2x1bW4ubG9ja2VkO1xuICAgICAgaWYgKGNvbHVtbi5jb2x1bW5zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlc3VsdENvbHVtbi5jb2x1bW5zID0gdGhpcy5yZXN0b3JlQ29sdW1uc1N0YXRlKGNvbHVtbi5jb2x1bW5zKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHRDb2x1bW47XG4gICAgfSk7XG4gIH1cblxuICBzZXRTdGF0ZShzdGF0ZTogRmlsdGVyU3RhdGUpOiB2b2lkIHtcbiAgICBzdGF0ZS5zYXZlKHRoaXMuX2Nvb2tpZU5hbWUpO1xuICAgIHRoaXMuX3N0YXRlLm5leHQoc3RhdGUpO1xuICB9XG5cbiAgc2V0Q29va2llTmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9jb29raWVOYW1lID0gbmFtZTtcbiAgICB0aGlzLl9oaWRkZW5Db29raWVOYW1lID0gYCR7dGhpcy5fY29va2llTmFtZX1faGlkZGVuX2NvbHVtbnNgO1xuICAgIHRoaXMuX2NvbHVtbnNDb29raWVOYW1lID0gYCR7dGhpcy5fY29va2llTmFtZX1fY29sdW1uc2A7XG4gIH1cblxuICByZXN0b3JlU3RhdGUoKTogdm9pZCB7XG4gICAgbGV0IHN0YXRlOiBGaWx0ZXJTdGF0ZTtcbiAgICBpZiAodGhpcy5fY29va2llTmFtZT8ubGVuZ3RoID4gMCAmJiBGaWx0ZXJTdGF0ZS5yZXN0b3JlKHRoaXMuX2Nvb2tpZU5hbWUpKSB7XG4gICAgICBsZXQgbmV3U3RhdGUgPSBPYmplY3QuYXNzaWduKFxuICAgICAgICB0aGlzLl9zdGF0ZS52YWx1ZSxcbiAgICAgICAgRmlsdGVyU3RhdGUucmVzdG9yZSh0aGlzLl9jb29raWVOYW1lKVxuICAgICAgKTtcbiAgICAgIG5ld1N0YXRlID0gRGF0ZVV0aWwuY29udmVydERhdGVTdHJpbmdzVG9EYXRlcyhuZXdTdGF0ZSk7XG4gICAgICBzdGF0ZSA9IG5ldyBGaWx0ZXJTdGF0ZShuZXdTdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlID0gbmV3IEZpbHRlclN0YXRlKCk7XG4gICAgfVxuICAgIHRoaXMuc2V0U3RhdGUoc3RhdGUpO1xuICB9XG5cbiAgc2F2ZUhpZGRlbkNvbHVtbnMoaGlkZGVuQ29sdW1uczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLl9oaWRkZW5Db29raWVOYW1lLCBKU09OLnN0cmluZ2lmeShoaWRkZW5Db2x1bW5zKSk7XG4gIH1cblxuICByZXN0b3JlSGlkZGVuQ29sdW1ucygpOiB2b2lkIHtcbiAgICBjb25zdCBoaWRkZW5Db2x1bW5zID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5faGlkZGVuQ29va2llTmFtZSkgfHwgJ1tdJztcbiAgICB0aGlzLl9oaWRkZW5Db2x1bW5zLm5leHQoSlNPTi5wYXJzZShoaWRkZW5Db2x1bW5zKSk7XG4gIH1cblxuICBzb3J0KHNvcnRFdmVudDogU29ydEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHNvcnRFdmVudC5jb2x1bW4uc29ydGFibGUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoU3RhdGVVdGlsLnNvcnRDb2x1bW4oc29ydEV2ZW50LCB0aGlzLl9zdGF0ZS52YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyU29ydChjb2x1bW46IFRhYmxlQ29sdW1uKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdGF0ZShTdGF0ZVV0aWwuY2xlYXJTb3J0KGNvbHVtbiwgdGhpcy5fc3RhdGUudmFsdWUpKTtcbiAgfVxuXG4gIGNsZWFyQWxsU29ydCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0YXRlKFN0YXRlVXRpbC5jbGVhckFsbFNvcnQodGhpcy5fc3RhdGUudmFsdWUpKTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVyKGNvbHVtbjogVGFibGVDb2x1bW4pIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3N0YXRlLnZhbHVlO1xuICAgIGlmIChjb2x1bW4gIT09IG51bGwgJiYgY29sdW1uICE9PSB1bmRlZmluZWQgJiYgY29sdW1uLmZpbHRlcmFibGUpIHtcbiAgICAgIHN3aXRjaCAoY29sdW1uLmZpbHRlclR5cGUpIHtcbiAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLmRhdGU6XG4gICAgICAgICAgc3RhdGUuYWRkRGF0ZUZpbHRlcihcbiAgICAgICAgICAgIG5ldyBEYXRlRmlsdGVyKHtcbiAgICAgICAgICAgICAgbmFtZTogY29sdW1uLm5hbWUsXG4gICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmlsdGVyRmllbGQsXG4gICAgICAgICAgICAgIHZhbHVlOiBuZXcgRGF0ZUZpbHRlclZhbHVlKCksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRmlsdGVyVHlwZS5zdHJpbmc6XG4gICAgICAgICAgc3RhdGUuYWRkU3RyaW5nRmlsdGVyKFxuICAgICAgICAgICAgbmV3IFN0cmluZ0ZpbHRlcih7XG4gICAgICAgICAgICAgIG5hbWU6IGNvbHVtbi5uYW1lLFxuICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmZpbHRlckZpZWxkLFxuICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRmlsdGVyVHlwZS5udW1iZXI6XG4gICAgICAgICAgc3RhdGUuYWRkTnVtZXJpY0ZpbHRlcihcbiAgICAgICAgICAgIG5ldyBOdW1lcmljRmlsdGVyKHtcbiAgICAgICAgICAgICAgbmFtZTogY29sdW1uLm5hbWUsXG4gICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmlsdGVyRmllbGQsXG4gICAgICAgICAgICAgIHZhbHVlOiBuZXcgTnVtZXJpY0ZpbHRlclZhbHVlKCksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRmlsdGVyVHlwZS5saXN0OlxuICAgICAgICAgIHN0YXRlLmFkZExpc3RGaWx0ZXIoXG4gICAgICAgICAgICBuZXcgTGlzdEZpbHRlcih7XG4gICAgICAgICAgICAgIG5hbWU6IGNvbHVtbi5uYW1lLFxuICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmZpbHRlckZpZWxkLFxuICAgICAgICAgICAgICB2YWx1ZTogW10sXG4gICAgICAgICAgICAgIHR5cGU6IExpc3RGaWx0ZXJUeXBlLk5vbmUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKG5ldyBGaWx0ZXJTdGF0ZShzdGF0ZSkpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyQWxsRmlsdGVycygpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3N0YXRlLnZhbHVlO1xuICAgIHN0YXRlLnN0cmluZ0ZpbHRlcnMgPSBbXTtcbiAgICBzdGF0ZS5saXN0RmlsdGVycyA9IFtdO1xuICAgIHN0YXRlLm51bWVyaWNGaWx0ZXJzID0gW107XG4gICAgc3RhdGUuZGF0ZUZpbHRlcnMgPSBbXTtcbiAgICB0aGlzLnNldFN0YXRlKG5ldyBGaWx0ZXJTdGF0ZShzdGF0ZSkpO1xuICB9XG5cbiAgcGluQ29sdW1uKGNvbHVtbjogVGFibGVDb2x1bW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlDb2x1bW5zLmZvckVhY2goKGNvbDogVGFibGVDb2x1bW4pID0+IHtcbiAgICAgIGlmIChjb2wubmFtZSA9PT0gY29sdW1uLm5hbWUpIHtcbiAgICAgICAgY29sLmxvY2tlZCA9ICFjb2wubG9ja2VkO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlQ29sdW1ucyh0aGlzLmRpc3BsYXlDb2x1bW5zKTtcbiAgfVxuXG4gIGRyYWdTdGFydChjb2x1bW46IFRhYmxlQ29sdW1uKTogdm9pZCB7XG4gICAgdGhpcy5fZHJhZ1NvdXJjZSA9IGNvbHVtbjtcbiAgfVxuXG4gIGxvY2tQcmV2aW91c0NvbHVtbnMoY29sdW1uOiBUYWJsZUNvbHVtbiwgZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBmbGF0ID0gQXJyYXlVdGlsLmZsYXR0ZW4odGhpcy5kaXNwbGF5Q29sdW1ucywgJ2NvbHVtbnMnLCB0cnVlKS5zb3J0KFxuICAgICAgKGEsIGIpID0+IE51bWJlcihiLmxvY2tlZCkgLSBOdW1iZXIoYS5sb2NrZWQpXG4gICAgKTtcbiAgICBjb25zdCBpbmRleCA9IGZsYXQuaW5kZXhPZihjb2x1bW4pO1xuICAgIGNvbnN0IHByZXZpb3VzID0gZmxhdC5zbGljZSgwLCBpbmRleCkuZmlsdGVyKChfKSA9PiBfLmZsZXggPiAwKTtcbiAgICBpZiAocHJldmlvdXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHRhYmxlRWxlbWVudCA9IHRoaXMuZ2V0VGFibGVFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgcHJldmlvdXMuZm9yRWFjaCgoaXRlbTogVGFibGVDb2x1bW4pID0+IHtcbiAgICAgICAgY29uc3QgaXRlbUNvbCA9IHRhYmxlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIGB0ZXRhLWhlYWQtY2VsbFtkYXRhLWNvbHVtbj0ke2l0ZW0ubmFtZX1dYFxuICAgICAgICApIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoaXRlbUNvbCkge1xuICAgICAgICAgIGl0ZW0uZmxleCA9IDA7XG4gICAgICAgICAgaXRlbS53aWR0aCA9IGl0ZW1Db2wuY2xpZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlc2l6ZUNvbHVtbihldmVudDogQ29sdW1uUmVzaXplRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY29sdW1uICE9PSBudWxsICYmIGV2ZW50LmNvbHVtbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBldmVudC5jb2x1bW4ud2lkdGggPSBldmVudC5uZXdXaWR0aCA8IDUwID8gNTAgOiBldmVudC5uZXdXaWR0aDtcbiAgICAgIGV2ZW50LmNvbHVtbi5mbGV4ID0gMDtcbiAgICB9XG4gICAgdGhpcy5fY29sdW1ucy5uZXh0KHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICAgIHRoaXMuc2F2ZUNvbHVtbnNTdGF0ZSgpO1xuICB9XG5cbiAgYXV0b3NpemVDb2x1bW4oY29sdW1uOiBUYWJsZUNvbHVtbiwgdGFyZ2V0OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IHRhYmxlRWxlbWVudCA9IHRoaXMuZ2V0VGFibGVFbGVtZW50KHRhcmdldCk7XG4gICAgdGhpcy5zZXRDb2x1bW5BdXRvV2lkdGgoY29sdW1uLCB0YWJsZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIHRoaXMuX2NvbHVtbnMubmV4dCh0aGlzLmRpc3BsYXlDb2x1bW5zKTtcbiAgICB0aGlzLnNhdmVDb2x1bW5zU3RhdGUoKTtcbiAgfVxuXG4gIGF1dG9zaXplQWxsQ29sdW1ucyh0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgdGFibGVFbGVtZW50ID0gdGhpcy5nZXRUYWJsZUVsZW1lbnQodGFyZ2V0KTtcbiAgICBjb25zdCBmbGF0ID0gQXJyYXlVdGlsLmZsYXR0ZW4odGhpcy5kaXNwbGF5Q29sdW1ucywgJ2NvbHVtbnMnLCB0cnVlKTtcbiAgICBmbGF0LmZvckVhY2goKGNvbCkgPT5cbiAgICAgIHRoaXMuc2V0Q29sdW1uQXV0b1dpZHRoKGNvbCwgdGFibGVFbGVtZW50IGFzIEhUTUxFbGVtZW50KVxuICAgICk7XG4gICAgdGhpcy5fY29sdW1ucy5uZXh0KHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICAgIHRoaXMuc2F2ZUNvbHVtbnNTdGF0ZSgpO1xuICB9XG5cbiAgcmVvcmRlckNvbHVtbihjb2x1bW46IFRhYmxlQ29sdW1uLCBpbnNlcnRCZWZvcmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDb2x1bW5SZW9yZGVyRXZlbnQodGhpcy5fZHJhZ1NvdXJjZSwgY29sdW1uKTtcbiAgICBpZiAoZXZlbnQuc291cmNlICE9PSBldmVudC50YXJnZXQpIHtcbiAgICAgIGNvbnN0IHNvdXJjZVBhcmVudCA9IHRoaXMuZmluZFBhcmVudChldmVudC5zb3VyY2UsIHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICAgICAgY29uc3QgdGFyZ2V0UGFyZW50ID0gdGhpcy5maW5kUGFyZW50KGV2ZW50LnRhcmdldCwgdGhpcy5kaXNwbGF5Q29sdW1ucyk7XG5cbiAgICAgIGlmIChzb3VyY2VQYXJlbnQgJiYgdGFyZ2V0UGFyZW50KSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZUluZGV4ID0gc291cmNlUGFyZW50LmluZGV4T2YoZXZlbnQuc291cmNlKTtcbiAgICAgICAgc291cmNlUGFyZW50LnNwbGljZShzb3VyY2VJbmRleCwgMSk7XG4gICAgICAgIGxldCB0YXJnZXRJbmRleCA9IHRhcmdldFBhcmVudC5pbmRleE9mKGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmICghaW5zZXJ0QmVmb3JlKSB7XG4gICAgICAgICAgdGFyZ2V0SW5kZXggPSB0YXJnZXRJbmRleCArIDE7XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0UGFyZW50LnNwbGljZSh0YXJnZXRJbmRleCwgMCwgZXZlbnQuc291cmNlKTtcbiAgICAgICAgZXZlbnQuc291cmNlLmxvY2tlZCA9IGV2ZW50LnRhcmdldC5sb2NrZWQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVDb2x1bW5zKHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXJ0RWRpdFJvdyhjZWxsQ29vcmRpbmF0ZXM6IElDZWxsQ29vcmRpbmF0ZXM8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY3VycmVudEVkaXRSb3c/LnJvdyAhPT0gY2VsbENvb3JkaW5hdGVzPy5yb3cpIHtcbiAgICAgIGlmICh0aGlzLl9jdXJyZW50RWRpdFJvdyAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2VkaXRSb3dTdG9wLm5leHQodGhpcy5fY3VycmVudEVkaXRSb3cpO1xuICAgICAgfVxuICAgICAgaWYgKGNlbGxDb29yZGluYXRlcyA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9lZGl0Um93U3RhcnQubmV4dChjZWxsQ29vcmRpbmF0ZXMpO1xuICAgICAgICB0aGlzLl9jdXJyZW50RWRpdFJvdyA9IGNlbGxDb29yZGluYXRlcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmJvb2xPckZ1bmNDYWxsYmFjazxUYWJsZVJvdzxUPj4odGhpcy5yb3dFZGl0YWJsZSkoXG4gICAgICAgICAgICBjZWxsQ29vcmRpbmF0ZXMucm93XG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLl9lZGl0Um93U3RhcnQubmV4dChjZWxsQ29vcmRpbmF0ZXMpO1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnRFZGl0Um93ID0gY2VsbENvb3JkaW5hdGVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhcnRFZGl0Q2VsbChjZWxsQ29vcmRpbmF0ZXM6IElDZWxsQ29vcmRpbmF0ZXM8VD4pOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLl9jdXJyZW50RWRpdENlbGw/LmNvbHVtbi5uYW1lICE9PSBjZWxsQ29vcmRpbmF0ZXM/LmNvbHVtbi5uYW1lIHx8XG4gICAgICB0aGlzLl9jdXJyZW50RWRpdENlbGw/LnJvdyAhPT0gY2VsbENvb3JkaW5hdGVzPy5yb3dcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLl9jdXJyZW50RWRpdENlbGwgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9lZGl0Q2VsbFN0b3AubmV4dCh0aGlzLl9jdXJyZW50RWRpdENlbGwpO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmJvb2xPckZ1bmNDYWxsYmFjazxJQ2VsbENvb3JkaW5hdGVzPFQ+PihjZWxsQ29vcmRpbmF0ZXMuY29sdW1uLmVkaXRhYmxlKShcbiAgICAgICAgICBjZWxsQ29vcmRpbmF0ZXNcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX2VkaXRDZWxsU3RhcnQubmV4dChjZWxsQ29vcmRpbmF0ZXMpO1xuICAgICAgICB0aGlzLl9jdXJyZW50RWRpdENlbGwgPSBjZWxsQ29vcmRpbmF0ZXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0QWN0aXZlUm93KHJvdzogVGFibGVSb3c8VD4pOiB2b2lkIHtcbiAgICB0aGlzLl9hY3RpdmVSb3cubmV4dChyb3cpO1xuICB9XG5cbiAgc2VsZWN0Um93cyhyb3dzOiBUYWJsZVJvdzxUPltdKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0ZWRSb3dzLm5leHQocm93cyk7XG4gIH1cblxuICBzZWxlY3RSb3cocm93OiBUYWJsZVJvdzxUPik6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgPT09IFNlbGVjdFR5cGUubm9uZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RUeXBlID09PSBTZWxlY3RUeXBlLnNpbmdsZSkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb3dzLm5leHQoW3Jvd10pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvd3MubmV4dChbLi4udGhpcy5fc2VsZWN0ZWRSb3dzLnZhbHVlLCByb3ddKTtcbiAgICB9XG4gIH1cblxuICBkZXNlbGVjdFJvdyhyb3c6IFRhYmxlUm93PFQ+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0VHlwZSA9PT0gU2VsZWN0VHlwZS5ub25lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgPT09IFNlbGVjdFR5cGUuc2luZ2xlKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvd3MubmV4dChbXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkUm93cy5uZXh0KFxuICAgICAgICB0aGlzLl9zZWxlY3RlZFJvd3MudmFsdWUuZmlsdGVyKChfKSA9PiBfICE9PSByb3cpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLl9zZWxlY3RlZFJvd3MubmV4dCh0aGlzLl9kaXNwbGF5RGF0YS52YWx1ZSk7XG4gIH1cblxuICBkZXNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLl9zZWxlY3RlZFJvd3MubmV4dChbXSk7XG4gIH1cblxuICBhbGxSb3dzU2VsZWN0ZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgIGlmIChcbiAgICAgIHRoaXMuX2Rpc3BsYXlEYXRhLnZhbHVlPy5sZW5ndGggJiZcbiAgICAgIHRoaXMuX3NlbGVjdGVkUm93cy52YWx1ZT8ubGVuZ3RoICYmXG4gICAgICB0aGlzLl9kaXNwbGF5RGF0YS52YWx1ZS5ldmVyeShcbiAgICAgICAgKF8pID0+IHRoaXMuX3NlbGVjdGVkUm93cy52YWx1ZS5pbmRleE9mKF8pID49IDBcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLl9zZWxlY3RlZFJvd3MudmFsdWUgPT0gbnVsbCB8fFxuICAgICAgdGhpcy5fc2VsZWN0ZWRSb3dzLnZhbHVlLmxlbmd0aCA9PT0gMFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHNldEhpZGRlbkNvbHVtbnModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5zYXZlSGlkZGVuQ29sdW1ucyh2YWx1ZSk7XG4gICAgdGhpcy5faGlkZGVuQ29sdW1ucy5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIGNvbHVtbklzSGlkZGVuKGNvbHVtbjogVGFibGVDb2x1bW4pIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZGVuQ29sdW1ucy52YWx1ZS5pbmRleE9mKGNvbHVtbi5uYW1lKSA+PSAwO1xuICB9XG5cbiAgdG9nZ2xlR3JvdXAocm93OiBUYWJsZVJvdzxUPik6IHZvaWQge1xuICAgIHRoaXMuX2dyb3VwVG9nZ2xlLm5leHQocm93KTtcbiAgfVxuXG4gIGNoYW5nZVZhbHVlKGNvb3JkaW5hdGVzOiBJQ2VsbENvb3JkaW5hdGVzPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWVDaGFuZ2VkLm5leHQoY29vcmRpbmF0ZXMpO1xuICB9XG5cbiAgc2V0VmFsdWUoY2VsbFZhbHVlOiBJQ2VsbFZhbHVlPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWVTZXQubmV4dChjZWxsVmFsdWUpO1xuICB9XG5cbiAgZ2V0Um93QnlJbmRleChyb3dJbmRleDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlEYXRhLnZhbHVlW3BhcnNlSW50KHJvd0luZGV4LCAxMCldO1xuICB9XG5cbiAgZ2V0Q29sdW1uQnlOYW1lKGNvbHVtbk5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBBcnJheVV0aWwuZmluZFJlY3Vyc2l2ZShcbiAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMsXG4gICAgICAoaXRlcmFibGVOb2RlKSA9PiBjb2x1bW5OYW1lID09PSBpdGVyYWJsZU5vZGUubmFtZSxcbiAgICAgICdjb2x1bW5zJ1xuICAgICk7XG4gIH1cblxuICBzY3JvbGxUb0luZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLl9zY3JvbGxJbmRleC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX3Njcm9sbEluZGV4Lm5leHQoaW5kZXgpO1xuICB9XG5cbiAgYm9vbE9yRnVuY0NhbGxiYWNrPE0+KHZhcmlhYmxlOiBib29sZWFuIHwgKChyb3c6IE0pID0+IGJvb2xlYW4pKSB7XG4gICAgcmV0dXJuIChhcmdzOiBNKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHZhcmlhYmxlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgcmV0dXJuIHZhcmlhYmxlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRnVuY3Rpb24odmFyaWFibGUpKSB7XG4gICAgICAgIHJldHVybiAodmFyaWFibGUgYXMgKHJvdzogTSkgPT4gYm9vbGVhbikoYXJncyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUGFyZW50KFxuICAgIGNvbHVtbjogVGFibGVDb2x1bW4sXG4gICAgY29sdW1uczogVGFibGVDb2x1bW5bXVxuICApOiBUYWJsZUNvbHVtbltdIHwgbnVsbCB7XG4gICAgY29uc3QgZm91bmQgPSBjb2x1bW5zLmZpbmQoKHgpID0+IHgubmFtZSA9PT0gY29sdW1uLm5hbWUpO1xuICAgIGlmIChmb3VuZCAhPT0gbnVsbCAmJiBmb3VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY29sdW1ucztcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBjb2x1bW5zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgY29sID0gY29sdW1uc1tpXTtcbiAgICAgIGlmIChjb2wuY29sdW1ucyAmJiBjb2wuY29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kUGFyZW50KGNvbHVtbiwgY29sLmNvbHVtbnMpO1xuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsICYmIHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFibGVFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQuY2xvc2VzdCgndGV0YS10YWJsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Z1bmN0aW9uKG9iajogYW55KSB7XG4gICAgcmV0dXJuICEhKG9iaiAmJiBvYmo/LmNvbnN0cnVjdG9yICYmIG9iaj8uY2FsbCAmJiBvYmo/LmFwcGx5KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29sdW1uQXV0b1dpZHRoKGNvbHVtbjogVGFibGVDb2x1bW4sIHRhYmxlOiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGNlbGxzID0gdGFibGUucXVlcnlTZWxlY3RvckFsbChcbiAgICAgIGB0ZXRhLWNlbGxbZGF0YS1jb2x1bW49JHtjb2x1bW4ubmFtZX1dIC5jZWxsLXRleHRgXG4gICAgKTtcbiAgICBsZXQgbWF4V2lkdGggPSAwO1xuICAgIGNlbGxzLmZvckVhY2goKGNlbGwpID0+IHtcbiAgICAgIGlmIChjZWxsLnNjcm9sbFdpZHRoID4gbWF4V2lkdGgpIHtcbiAgICAgICAgbWF4V2lkdGggPSBjZWxsLnNjcm9sbFdpZHRoO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbHVtbi5mbGV4ID0gMDtcbiAgICBjb2x1bW4ud2lkdGggPSBtYXhXaWR0aCArIDIwO1xuICB9XG59XG4iXX0=