@tetacom/ng-components 1.1.11 → 1.1.13

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 (246) hide show
  1. package/assets/square.svg +7 -0
  2. package/component/public-api.d.ts +2 -1
  3. package/component/three/custom-series/custom-series.component.d.ts +20 -0
  4. package/component/three/public-api.d.ts +10 -0
  5. package/component/three/three-chart/area-3d/area-3d.component.d.ts +14 -0
  6. package/component/three/three-chart/axes-3d/axes-3d.component.d.ts +36 -0
  7. package/component/three/three-chart/base-3d-series/base3d-series.component.d.ts +15 -0
  8. package/component/three/three-chart/block-3d/block-3d.component.d.ts +28 -0
  9. package/component/three/three-chart/directive/public-api.d.ts +1 -0
  10. package/component/three/three-chart/directive/series-3d-host.d.ts +16 -0
  11. package/component/three/three-chart/line-3d/line-3d.component.d.ts +19 -0
  12. package/component/three/three-chart/model/axes-3d-min-max.d.ts +5 -0
  13. package/component/three/three-chart/model/axis-3d-point.d.ts +4 -0
  14. package/component/three/three-chart/model/base-3d-series.d.ts +11 -0
  15. package/component/three/three-chart/model/base-3d-three-point.d.ts +8 -0
  16. package/component/three/three-chart/model/block3d-point.d.ts +5 -0
  17. package/component/three/three-chart/model/enum/public-api.d.ts +1 -0
  18. package/component/three/three-chart/model/enum/series-3d-type.d.ts +4 -0
  19. package/component/three/three-chart/model/i-3d-chart-config.d.ts +14 -0
  20. package/component/three/three-chart/model/line-3d-point.d.ts +5 -0
  21. package/component/three/three-chart/model/line-3d-series.d.ts +6 -0
  22. package/component/three/three-chart/model/lithotype-3d-series.d.ts +6 -0
  23. package/component/three/three-chart/model/public-api.d.ts +10 -0
  24. package/component/three/three-chart/scene/scene.component.d.ts +20 -0
  25. package/component/three/three-chart/service/chart-3d.service.d.ts +22 -0
  26. package/component/three/three-chart/three-chart.component.d.ts +16 -0
  27. package/esm2022/common/service/click.service.mjs +3 -3
  28. package/esm2022/common/service/dynamic-component.service.mjs +3 -3
  29. package/esm2022/common/service/overlay-container.service.mjs +3 -3
  30. package/esm2022/component/accordion/accordion/accordion.component.mjs +3 -3
  31. package/esm2022/component/accordion/accordion-content.directive.mjs +3 -3
  32. package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +3 -3
  33. package/esm2022/component/accordion/accordion-item/accordion-item.component.mjs +3 -3
  34. package/esm2022/component/accordion/accordion.module.mjs +4 -4
  35. package/esm2022/component/autocomplete/autocomplete/autocomplete.component.mjs +3 -3
  36. package/esm2022/component/autocomplete/autocomplete.module.mjs +4 -4
  37. package/esm2022/component/avatar/avatar/avatar.component.mjs +3 -3
  38. package/esm2022/component/avatar/avatar.module.mjs +4 -4
  39. package/esm2022/component/button/button/button.component.mjs +3 -3
  40. package/esm2022/component/button/button.module.mjs +4 -4
  41. package/esm2022/component/chart-3d/chart-3d.module.mjs +4 -4
  42. package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +3 -3
  43. package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +3 -3
  44. package/esm2022/component/checkbox/checkbox.module.mjs +4 -4
  45. package/esm2022/component/date-picker/base-calendar.mjs +3 -3
  46. package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +3 -3
  47. package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +3 -3
  48. package/esm2022/component/date-picker/date-picker.module.mjs +4 -4
  49. package/esm2022/component/date-picker/date-range/date-range.component.mjs +3 -3
  50. package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +3 -3
  51. package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +3 -3
  52. package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +3 -3
  53. package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +3 -3
  54. package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +3 -3
  55. package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +3 -3
  56. package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +3 -3
  57. package/esm2022/component/delimiter/delimiter.module.mjs +4 -4
  58. package/esm2022/component/divider/divider/divider.component.mjs +3 -3
  59. package/esm2022/component/divider/divider.module.mjs +4 -4
  60. package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +3 -3
  61. package/esm2022/component/dropdown/dropdown-base.mjs +3 -3
  62. package/esm2022/component/dropdown/dropdown-content.directive.mjs +3 -3
  63. package/esm2022/component/dropdown/dropdown-head.directive.mjs +3 -3
  64. package/esm2022/component/dropdown/dropdown.directive.mjs +3 -3
  65. package/esm2022/component/dropdown/dropdown.module.mjs +4 -4
  66. package/esm2022/component/dynamic-component/dynamic-component.module.mjs +4 -4
  67. package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +3 -3
  68. package/esm2022/component/expand-card/expand-card/expand-card.component.mjs +3 -3
  69. package/esm2022/component/expand-card/expand-card.module.mjs +4 -4
  70. package/esm2022/component/expand-card/expand-item/expand-item.component.mjs +3 -3
  71. package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +3 -3
  72. package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +3 -3
  73. package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +3 -3
  74. package/esm2022/component/expand-panel/expand-panel.module.mjs +4 -4
  75. package/esm2022/component/file-upload/file-item/file-item.component.mjs +3 -3
  76. package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +3 -3
  77. package/esm2022/component/file-upload/file-upload.module.mjs +4 -4
  78. package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +3 -3
  79. package/esm2022/component/filter/date-filter/date-filter.component.mjs +3 -3
  80. package/esm2022/component/filter/filter-host/filter-host.component.mjs +3 -3
  81. package/esm2022/component/filter/filter.module.mjs +4 -4
  82. package/esm2022/component/filter/list-filter/list-filter.component.mjs +3 -3
  83. package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +3 -3
  84. package/esm2022/component/filter/string-filter/string-filter.component.mjs +3 -3
  85. package/esm2022/component/icon/icon/icon.component.mjs +3 -3
  86. package/esm2022/component/icon/icon-file/icon-file.component.mjs +3 -3
  87. package/esm2022/component/icon/icon-file/icon-file.module.mjs +4 -4
  88. package/esm2022/component/icon/icon-sprite.directive.mjs +3 -3
  89. package/esm2022/component/icon/icon.module.mjs +4 -4
  90. package/esm2022/component/icon/icon.service.mjs +3 -3
  91. package/esm2022/component/input/color-input/color-input.component.mjs +3 -3
  92. package/esm2022/component/input/form-group-title/form-group-title.component.mjs +3 -3
  93. package/esm2022/component/input/input/input.component.mjs +3 -3
  94. package/esm2022/component/input/input.module.mjs +4 -4
  95. package/esm2022/component/input/text-field/text-field.component.mjs +3 -3
  96. package/esm2022/component/message/message/message.component.mjs +3 -3
  97. package/esm2022/component/message/message-host/message-host.component.mjs +3 -3
  98. package/esm2022/component/message/message.module.mjs +4 -4
  99. package/esm2022/component/message/message.service.mjs +3 -3
  100. package/esm2022/component/modal/dialog/dialog.component.mjs +3 -3
  101. package/esm2022/component/modal/dialog.service.mjs +3 -3
  102. package/esm2022/component/modal/modal-container/modal-container.component.mjs +3 -3
  103. package/esm2022/component/modal/modal.module.mjs +4 -4
  104. package/esm2022/component/modal/modal.service.mjs +3 -3
  105. package/esm2022/component/pager/pager/pager.component.mjs +3 -3
  106. package/esm2022/component/pager/pager.module.mjs +4 -4
  107. package/esm2022/component/panel/panel/panel.component.mjs +3 -3
  108. package/esm2022/component/panel/panel.module.mjs +4 -4
  109. package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +3 -3
  110. package/esm2022/component/progress-bar/progress-bar.module.mjs +4 -4
  111. package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +3 -3
  112. package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +3 -3
  113. package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +3 -3
  114. package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +3 -3
  115. package/esm2022/component/property-grid/property-grid.module.mjs +4 -4
  116. package/esm2022/component/public-api.mjs +4 -2
  117. package/esm2022/component/radio/radio/radio.component.mjs +3 -3
  118. package/esm2022/component/radio/radio-button/radio-button.component.mjs +3 -3
  119. package/esm2022/component/radio/radio.module.mjs +4 -4
  120. package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +3 -3
  121. package/esm2022/component/resize-panel/resize-panel.module.mjs +4 -4
  122. package/esm2022/component/select/select/select.component.mjs +3 -3
  123. package/esm2022/component/select/select-option.directive.mjs +3 -3
  124. package/esm2022/component/select/select-value.directive.mjs +3 -3
  125. package/esm2022/component/select/select.module.mjs +4 -4
  126. package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +3 -3
  127. package/esm2022/component/sidebar/sidebar.module.mjs +4 -4
  128. package/esm2022/component/switch/switch/switch.component.mjs +3 -3
  129. package/esm2022/component/switch/switch-button/switch-button.component.mjs +3 -3
  130. package/esm2022/component/switch/switch.module.mjs +4 -4
  131. package/esm2022/component/switch/switch.service.mjs +3 -3
  132. package/esm2022/component/table/base/cell-component-base.mjs +3 -3
  133. package/esm2022/component/table/base/head-cell-component-base.mjs +3 -3
  134. package/esm2022/component/table/cell/cell.component.mjs +3 -3
  135. package/esm2022/component/table/cell-host/cell-host.component.mjs +3 -3
  136. package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +4 -7
  137. package/esm2022/component/table/default/date-cell/date-cell.component.mjs +5 -10
  138. package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +3 -3
  139. package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +3 -3
  140. package/esm2022/component/table/default/list-cell/list-cell.component.mjs +3 -3
  141. package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +3 -3
  142. package/esm2022/component/table/default/string-cell/string-cell.component.mjs +3 -3
  143. package/esm2022/component/table/head-cell/head-cell.component.mjs +3 -3
  144. package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +3 -3
  145. package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +3 -3
  146. package/esm2022/component/table/selection-cell/selection-cell.component.mjs +3 -3
  147. package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +3 -3
  148. package/esm2022/component/table/service/table.service.mjs +3 -3
  149. package/esm2022/component/table/table/table.component.mjs +3 -3
  150. package/esm2022/component/table/table-body/table-body.component.mjs +3 -3
  151. package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +3 -3
  152. package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +3 -3
  153. package/esm2022/component/table/table-head/table-head.component.mjs +3 -3
  154. package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +3 -3
  155. package/esm2022/component/table/table-head-group/table-head-group.component.mjs +3 -3
  156. package/esm2022/component/table/table.module.mjs +4 -4
  157. package/esm2022/component/tabs/tab/tab.component.mjs +3 -3
  158. package/esm2022/component/tabs/tab-content.directive.mjs +3 -3
  159. package/esm2022/component/tabs/tab-title.directive.mjs +3 -3
  160. package/esm2022/component/tabs/tabs/tabs.component.mjs +3 -3
  161. package/esm2022/component/tabs/tabs.module.mjs +4 -4
  162. package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +3 -3
  163. package/esm2022/component/theme-switch/theme-switch.module.mjs +4 -4
  164. package/esm2022/component/theme-switch/theme-switch.service.mjs +3 -3
  165. package/esm2022/component/three/custom-series/custom-series.component.mjs +34 -0
  166. package/esm2022/component/three/public-api.mjs +11 -0
  167. package/esm2022/component/three/three-chart/area-3d/area-3d.component.mjs +53 -0
  168. package/esm2022/component/three/three-chart/axes-3d/axes-3d.component.mjs +57 -0
  169. package/esm2022/component/three/three-chart/base-3d-series/base3d-series.component.mjs +29 -0
  170. package/esm2022/component/three/three-chart/block-3d/block-3d.component.mjs +78 -0
  171. package/esm2022/component/three/three-chart/directive/public-api.mjs +2 -0
  172. package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +48 -0
  173. package/esm2022/component/three/three-chart/line-3d/line-3d.component.mjs +44 -0
  174. package/esm2022/component/three/three-chart/model/axes-3d-min-max.mjs +2 -0
  175. package/esm2022/component/three/three-chart/model/axis-3d-point.mjs +2 -0
  176. package/esm2022/component/three/three-chart/model/base-3d-series.mjs +2 -0
  177. package/esm2022/component/three/three-chart/model/base-3d-three-point.mjs +2 -0
  178. package/esm2022/component/three/three-chart/model/block3d-point.mjs +2 -0
  179. package/esm2022/component/three/three-chart/model/enum/public-api.mjs +2 -0
  180. package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +6 -0
  181. package/esm2022/component/three/three-chart/model/i-3d-chart-config.mjs +2 -0
  182. package/esm2022/component/three/three-chart/model/line-3d-point.mjs +2 -0
  183. package/esm2022/component/three/three-chart/model/line-3d-series.mjs +2 -0
  184. package/esm2022/component/three/three-chart/model/lithotype-3d-series.mjs +2 -0
  185. package/esm2022/component/three/three-chart/model/public-api.mjs +11 -0
  186. package/esm2022/component/three/three-chart/scene/scene.component.mjs +47 -0
  187. package/esm2022/component/three/three-chart/service/chart-3d.service.mjs +82 -0
  188. package/esm2022/component/three/three-chart/three-chart.component.mjs +37 -0
  189. package/esm2022/component/toggle/toggle/toggle.component.mjs +3 -3
  190. package/esm2022/component/toggle/toggle.module.mjs +4 -4
  191. package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +3 -3
  192. package/esm2022/component/toolbar/toolbar.module.mjs +4 -4
  193. package/esm2022/component/tree/tree/tree.component.mjs +3 -3
  194. package/esm2022/component/tree/tree-item/tree-item.component.mjs +3 -3
  195. package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +3 -3
  196. package/esm2022/component/tree/tree.module.mjs +4 -4
  197. package/esm2022/component/tree/tree.service.mjs +3 -3
  198. package/esm2022/directive/auto-position/auto-position.directive.mjs +3 -3
  199. package/esm2022/directive/auto-position/auto-position.module.mjs +4 -4
  200. package/esm2022/directive/click-outside/click-outside.directive.mjs +3 -3
  201. package/esm2022/directive/click-outside/click-outside.module.mjs +4 -4
  202. package/esm2022/directive/context-menu/context-menu.directive.mjs +3 -3
  203. package/esm2022/directive/context-menu/context-menu.module.mjs +4 -4
  204. package/esm2022/directive/disable-control/disable-control.directive.mjs +3 -3
  205. package/esm2022/directive/disable-control/disable-control.module.mjs +4 -4
  206. package/esm2022/directive/drag-drop/drag-container.directive.mjs +3 -3
  207. package/esm2022/directive/drag-drop/drag-drop.module.mjs +4 -4
  208. package/esm2022/directive/drag-drop/drag-drop.service.mjs +3 -3
  209. package/esm2022/directive/drag-drop/drag-placeholder.directive.mjs +3 -3
  210. package/esm2022/directive/drag-drop/drag-preview.directive.mjs +3 -3
  211. package/esm2022/directive/drag-drop/drag.directive.mjs +3 -3
  212. package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +3 -3
  213. package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +3 -3
  214. package/esm2022/directive/drag-sort/drag-sort.module.mjs +4 -4
  215. package/esm2022/directive/dynamic-content-base.directive.mjs +3 -3
  216. package/esm2022/directive/highlight/highlight.directive.mjs +3 -3
  217. package/esm2022/directive/highlight/highlight.module.mjs +4 -4
  218. package/esm2022/directive/hint/hint.directive.mjs +3 -3
  219. package/esm2022/directive/hint/hint.module.mjs +4 -4
  220. package/esm2022/directive/let/let.directive.mjs +3 -3
  221. package/esm2022/directive/let/let.module.mjs +4 -4
  222. package/esm2022/directive/loader/loader.directive.mjs +3 -3
  223. package/esm2022/directive/loader/loader.module.mjs +4 -4
  224. package/esm2022/directive/no-autofill/no-autofill.directive.mjs +3 -3
  225. package/esm2022/directive/no-autofill/no-autofill.module.mjs +4 -4
  226. package/esm2022/directive/only-number/only-number.directive.mjs +3 -3
  227. package/esm2022/directive/only-number/only-number.module.mjs +4 -4
  228. package/esm2022/directive/resize-drag/resize-drag.directive.mjs +3 -3
  229. package/esm2022/directive/resize-drag/resize-drag.module.mjs +4 -4
  230. package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +3 -3
  231. package/esm2022/directive/scroll-into-view/scroll-into-view.module.mjs +4 -4
  232. package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +3 -3
  233. package/esm2022/directive/scrollable/scrollable.directive.mjs +3 -3
  234. package/esm2022/directive/scrollable/scrollable.module.mjs +4 -4
  235. package/esm2022/directive/teta-template/teta-template.directive.mjs +3 -3
  236. package/esm2022/directive/teta-template/teta-template.module.mjs +4 -4
  237. package/esm2022/directive/tooltip/tooltip.directive.mjs +3 -3
  238. package/esm2022/directive/tooltip/tooltip.module.mjs +4 -4
  239. package/esm2022/locale/teta-config.service.mjs +3 -3
  240. package/esm2022/pipe/date-pipe/teta-date-pipe.module.mjs +4 -4
  241. package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +3 -3
  242. package/esm2022/pipe/number-pipe/number-pipe.module.mjs +4 -4
  243. package/esm2022/pipe/number-pipe/number.pipe.mjs +3 -3
  244. package/fesm2022/tetacom-ng-components.mjs +1095 -668
  245. package/fesm2022/tetacom-ng-components.mjs.map +1 -1
  246. package/package.json +6 -2
@@ -75,10 +75,10 @@ export class MainDropdownTabComponent {
75
75
  }
76
76
  ngOnInit() {
77
77
  }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MainDropdownTabComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
79
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: MainDropdownTabComponent, selector: "teta-main-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close", headCellElementRef: "headCellElementRef" }, ngImport: i0, template: "<div class=\"list column_auto\" *ngIf=\"locale | async as loc\">\n <ng-container *ngIf=\"!parent\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"pinColumn()\">\n {{column.locked ? loc.unpin : loc.pin}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"column.sortable\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortAsc($event)\">\n {{loc.sortAsc}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortDesc($event)\">\n {{loc.sortDesc}}\n </div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n {{loc.clearSort}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n {{loc.clearAllSort}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n {{loc.clearFilter}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n {{loc.clearAllFilters}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeColumn()\">\n {{loc.autosizeColumn}}\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAllColumns()\">\n {{loc.autosizeAll}}\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n {{loc.resetColumnsSize}}\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: MainDropdownTabComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
79
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: MainDropdownTabComponent, selector: "teta-main-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close", headCellElementRef: "headCellElementRef" }, ngImport: i0, template: "<div class=\"list column_auto\" *ngIf=\"locale | async as loc\">\n <ng-container *ngIf=\"!parent\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"pinColumn()\">\n {{column.locked ? loc.unpin : loc.pin}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"column.sortable\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortAsc($event)\">\n {{loc.sortAsc}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortDesc($event)\">\n {{loc.sortDesc}}\n </div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n {{loc.clearSort}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n {{loc.clearAllSort}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n {{loc.clearFilter}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n {{loc.clearAllFilters}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeColumn()\">\n {{loc.autosizeColumn}}\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAllColumns()\">\n {{loc.autosizeAll}}\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n {{loc.resetColumnsSize}}\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MainDropdownTabComponent, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: MainDropdownTabComponent, decorators: [{
82
82
  type: Component,
83
83
  args: [{ selector: 'teta-main-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"list column_auto\" *ngIf=\"locale | async as loc\">\n <ng-container *ngIf=\"!parent\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"pinColumn()\">\n {{column.locked ? loc.unpin : loc.pin}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <ng-container *ngIf=\"column.sortable\">\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortAsc($event)\">\n {{loc.sortAsc}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"sortDesc($event)\">\n {{loc.sortDesc}}\n </div>\n <ng-container *ngIf=\"hasSortedColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"sortParam\"\n (click)=\"clearSort()\">\n {{loc.clearSort}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllSort()\">\n {{loc.clearAllSort}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"hasFilteredColumns()\">\n <div class=\"list-item list-item_interactive\"\n *ngIf=\"filtered\"\n (click)=\"clearFilter()\">\n {{loc.clearFilter}}\n </div>\n <div class=\"list-item list-item_interactive\"\n (click)=\"clearAllFilters()\">\n {{loc.clearAllFilters}}\n </div>\n <div class=\"list-divider\"></div>\n </ng-container>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeColumn()\">\n {{loc.autosizeColumn}}\n </div>\n <div class=\"list-item list-item_interactive\" (click)=\"autosizeAllColumns()\">\n {{loc.autosizeAll}}\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"list-item list-item_interactive\" (click)=\"restoreDefaultColumns()\">\n {{loc.resetColumnsSize}}\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
84
84
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i2.TetaConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
@@ -67,10 +67,10 @@ export class TableHeadComponent {
67
67
  ngOnDestroy() {
68
68
  this._alive = false;
69
69
  }
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableHeadComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
71
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TableHeadComponent, selector: "teta-table-head", inputs: { selectType: "selectType", showHeadCellMenu: "showHeadCellMenu" }, host: { properties: { "class.table-head": "this.tableHeadClass" } }, ngImport: i0, template: "<div class=\"table-head_locked\"\n *ngIf=\"locked?.length\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of locked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</div>\n<ng-container *ngIf=\"unlocked?.length\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox && locked?.length < 1\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of unlocked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TableHeadGroupComponent, selector: "teta-table-head-group", inputs: ["showHeadCellMenu", "data", "column"] }, { kind: "component", type: i4.SelectionHeadCellComponent, selector: "teta-selection-head-cell" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeadComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableHeadComponent, selector: "teta-table-head", inputs: { selectType: "selectType", showHeadCellMenu: "showHeadCellMenu" }, host: { properties: { "class.table-head": "this.tableHeadClass" } }, ngImport: i0, template: "<div class=\"table-head_locked\"\n *ngIf=\"locked?.length\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of locked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</div>\n<ng-container *ngIf=\"unlocked?.length\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox && locked?.length < 1\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of unlocked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TableHeadGroupComponent, selector: "teta-table-head-group", inputs: ["showHeadCellMenu", "data", "column"] }, { kind: "component", type: i4.SelectionHeadCellComponent, selector: "teta-selection-head-cell" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableHeadComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeadComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{ selector: 'teta-table-head', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"table-head_locked\"\n *ngIf=\"locked?.length\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of locked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</div>\n<ng-container *ngIf=\"unlocked?.length\">\n <teta-selection-head-cell\n *ngIf=\"selectType === selectTypeEnum.checkBox && locked?.length < 1\"\n style=\"width: 28px;\"></teta-selection-head-cell>\n <teta-table-head-group\n *ngFor=\"let column of unlocked; trackBy: track\"\n class=\"table-head__group\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"column\"></teta-table-head-group>\n</ng-container>\n" }]
76
76
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { selectType: [{
@@ -133,10 +133,10 @@ export class VisibilityDropdownTabComponent {
133
133
  ngOnDestroy() {
134
134
  this._alive = false;
135
135
  }
136
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: VisibilityDropdownTabComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
137
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: VisibilityDropdownTabComponent, selector: "teta-visibility-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, ngImport: i0, template: "<ng-container *ngIf=\"locale | async as loc\">\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <teta-scrollable class=\"padding-v-2 column column_auto\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </teta-scrollable>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i7.TreeComponent, selector: "teta-tree", inputs: ["data", "padding", "childNodeName", "virtual", "height", "openItems", "compareItems"], outputs: ["service", "openItemsChange"] }, { kind: "directive", type: i8.TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }, { kind: "component", type: i9.TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }, { kind: "component", type: i10.ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "component", type: i11.ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: VisibilityDropdownTabComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: VisibilityDropdownTabComponent, selector: "teta-visibility-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, ngImport: i0, template: "<ng-container *ngIf=\"locale | async as loc\">\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <teta-scrollable class=\"padding-v-2 column column_auto\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </teta-scrollable>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "labelPosition", "allowNull"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i7.TreeComponent, selector: "teta-tree", inputs: ["data", "padding", "childNodeName", "virtual", "height", "openItems", "compareItems"], outputs: ["service", "openItemsChange"] }, { kind: "directive", type: i8.TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }, { kind: "component", type: i9.TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }, { kind: "component", type: i10.ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "component", type: i11.ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
138
138
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: VisibilityDropdownTabComponent, decorators: [{
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: VisibilityDropdownTabComponent, decorators: [{
140
140
  type: Component,
141
141
  args: [{ selector: 'teta-visibility-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"locale | async as loc\">\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <teta-scrollable class=\"padding-v-2 column column_auto\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </teta-scrollable>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"] }]
142
142
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i2.TetaConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
@@ -57,10 +57,10 @@ export class TableHeadGroupComponent {
57
57
  ngOnDestroy() {
58
58
  this._alive = false;
59
59
  }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableHeadGroupComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TableHeadGroupComponent, selector: "teta-table-head-group", inputs: { showHeadCellMenu: "showHeadCellMenu", data: "data", column: "column" }, host: { properties: { "style.flex-grow": "this.flexGrow", "style.min-width.px": "this.flexBasis", "style.flex-basis.px": "this.flexBasis" } }, ngImport: i0, template: "<ng-container *ngIf=\"column.columns && column.columns.length > 0\">\n <div class=\"table-head__group__container\">\n <div class=\"table-head__group__caption\">\n {{column.caption}}\n </div>\n <div class=\"table-head__group__children\">\n <ng-container *ngFor=\"let col of column.columns\">\n <teta-table-head-group\n class=\"table-head__group\"\n *ngIf=\"!columnIsHidden(col)\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"col\"></teta-table-head-group>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!column.columns || column.columns.length === 0\">\n <teta-head-cell\n *ngIf=\"!columnIsHidden(column)\"\n class=\"table-head__cell\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"></teta-head-cell>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableHeadGroupComponent, selector: "teta-table-head-group", inputs: ["showHeadCellMenu", "data", "column"] }, { kind: "component", type: i3.HeadCellComponent, selector: "teta-head-cell", inputs: ["column", "showHeadCellMenu", "data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeadGroupComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableHeadGroupComponent, selector: "teta-table-head-group", inputs: { showHeadCellMenu: "showHeadCellMenu", data: "data", column: "column" }, host: { properties: { "style.flex-grow": "this.flexGrow", "style.min-width.px": "this.flexBasis", "style.flex-basis.px": "this.flexBasis" } }, ngImport: i0, template: "<ng-container *ngIf=\"column.columns && column.columns.length > 0\">\n <div class=\"table-head__group__container\">\n <div class=\"table-head__group__caption\">\n {{column.caption}}\n </div>\n <div class=\"table-head__group__children\">\n <ng-container *ngFor=\"let col of column.columns\">\n <teta-table-head-group\n class=\"table-head__group\"\n *ngIf=\"!columnIsHidden(col)\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"col\"></teta-table-head-group>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!column.columns || column.columns.length === 0\">\n <teta-head-cell\n *ngIf=\"!columnIsHidden(column)\"\n class=\"table-head__cell\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"></teta-head-cell>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableHeadGroupComponent, selector: "teta-table-head-group", inputs: ["showHeadCellMenu", "data", "column"] }, { kind: "component", type: i3.HeadCellComponent, selector: "teta-head-cell", inputs: ["column", "showHeadCellMenu", "data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableHeadGroupComponent, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeadGroupComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: 'teta-table-head-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"column.columns && column.columns.length > 0\">\n <div class=\"table-head__group__container\">\n <div class=\"table-head__group__caption\">\n {{column.caption}}\n </div>\n <div class=\"table-head__group__children\">\n <ng-container *ngFor=\"let col of column.columns\">\n <teta-table-head-group\n class=\"table-head__group\"\n *ngIf=\"!columnIsHidden(col)\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [column]=\"col\"></teta-table-head-group>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!column.columns || column.columns.length === 0\">\n <teta-head-cell\n *ngIf=\"!columnIsHidden(column)\"\n class=\"table-head__cell\"\n [data]=\"data\"\n [showHeadCellMenu]=\"showHeadCellMenu\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"></teta-head-cell>\n</ng-container>\n" }]
66
66
  }], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { showHeadCellMenu: [{
@@ -42,8 +42,8 @@ import { VisibilityDropdownTabComponent } from './table-head/visibility-dropdown
42
42
  import { ScrollableModule } from "../../directive/scrollable/scrollable.module";
43
43
  import * as i0 from "@angular/core";
44
44
  export class TableModule {
45
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
46
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: TableModule, declarations: [TableComponent,
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
46
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: TableModule, declarations: [TableComponent,
47
47
  NumericCellComponent,
48
48
  ListCellComponent,
49
49
  DateCellComponent,
@@ -95,7 +95,7 @@ export class TableModule {
95
95
  CellHostComponent,
96
96
  DateTimeCellComponent,
97
97
  BooleanCellComponent] });
98
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableModule, imports: [CommonModule,
98
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableModule, imports: [CommonModule,
99
99
  FilterModule,
100
100
  FormsModule,
101
101
  CheckboxModule,
@@ -117,7 +117,7 @@ export class TableModule {
117
117
  ScrollableModule,
118
118
  ReactiveFormsModule] });
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableModule, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableModule, decorators: [{
121
121
  type: NgModule,
122
122
  args: [{
123
123
  declarations: [
@@ -24,10 +24,10 @@ export class TabComponent {
24
24
  // this.titleTpl = this.titleTemplates.first;
25
25
  // this.contentTpl = this.contentTemplates.first;
26
26
  }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TabComponent, selector: "teta-tab", inputs: { id: "id", title: "title", disabled: "disabled" }, queries: [{ propertyName: "titleTpl", first: true, predicate: TabTitleDirective, descendants: true }, { propertyName: "contentTpl", first: true, predicate: TabContentDirective, descendants: true }], ngImport: i0, template: '', isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TabComponent, selector: "teta-tab", inputs: { id: "id", title: "title", disabled: "disabled" }, queries: [{ propertyName: "titleTpl", first: true, predicate: TabTitleDirective, descendants: true }, { propertyName: "contentTpl", first: true, predicate: TabContentDirective, descendants: true }], ngImport: i0, template: '', isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'teta-tab', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
33
33
  }], propDecorators: { id: [{
@@ -5,10 +5,10 @@ export class TabContentDirective {
5
5
  constructor(template) {
6
6
  this.template = template;
7
7
  }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TabContentDirective, selector: "[tetaTabContent]", ngImport: i0 });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: TabContentDirective, selector: "[tetaTabContent]", ngImport: i0 });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabContentDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabContentDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: '[tetaTabContent]'
@@ -5,10 +5,10 @@ export class TabTitleDirective {
5
5
  constructor(template) {
6
6
  this.template = template;
7
7
  }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabTitleDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: TabTitleDirective, selector: "[tetaTabTitle]", ngImport: i0 });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabTitleDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: TabTitleDirective, selector: "[tetaTabTitle]", ngImport: i0 });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabTitleDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabTitleDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: '[tetaTabTitle]'
@@ -52,10 +52,10 @@ export class TabsComponent {
52
52
  const tabsWithId = this.tabs.filter((tab) => tab.id === id);
53
53
  return tabsWithId.length ? tabsWithId[0] : null;
54
54
  }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TabsComponent, selector: "teta-tabs", inputs: { activeId: "activeId", destroyOnHide: "destroyOnHide" }, outputs: { tabChange: "tabChange" }, host: { properties: { "class.tabs": "this.classTabs" } }, queries: [{ propertyName: "tabs", predicate: TabComponent }], ngImport: i0, template: "<div class=\"tabs-head\" role=\"tablist\">\n <div class=\"tabs-head-item\"\n *ngFor=\"let tab of tabs\"\n (click)=\"select(tab.id);\"\n [class.tabs-head-item_active]=\"tab.id === activeId\"\n [class.tabs-head-item_disabled]=\"tab.disabled\">\n <span [id]=\"tab.id\" class=\"tabs-title\"\n role=\"tab\"\n [attr.tabindex]=\"(tab.disabled ? '-1': undefined)\"\n [attr.aria-controls]=\"(!destroyOnHide || tab.id === activeId ? tab.id + '-panel' : null)\"\n [attr.aria-expanded]=\"tab.id === activeId\"\n [attr.aria-disabled]=\"tab.disabled\">\n {{tab.title}}\n <ng-template [ngTemplateOutlet]=\"tab.titleTpl?.template\"></ng-template>\n </span>\n </div>\n <ng-content></ng-content>\n</div>\n<div class=\"tabs-content\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <ng-container *ngIf=\"!destroyOnHide || tab.id === activeId\">\n <ng-template [ngTemplateOutlet]=\"tab.contentTpl?.template\"></ng-template>\n </ng-container>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TabsComponent, selector: "teta-tabs", inputs: { activeId: "activeId", destroyOnHide: "destroyOnHide" }, outputs: { tabChange: "tabChange" }, host: { properties: { "class.tabs": "this.classTabs" } }, queries: [{ propertyName: "tabs", predicate: TabComponent }], ngImport: i0, template: "<div class=\"tabs-head\" role=\"tablist\">\n <div class=\"tabs-head-item\"\n *ngFor=\"let tab of tabs\"\n (click)=\"select(tab.id);\"\n [class.tabs-head-item_active]=\"tab.id === activeId\"\n [class.tabs-head-item_disabled]=\"tab.disabled\">\n <span [id]=\"tab.id\" class=\"tabs-title\"\n role=\"tab\"\n [attr.tabindex]=\"(tab.disabled ? '-1': undefined)\"\n [attr.aria-controls]=\"(!destroyOnHide || tab.id === activeId ? tab.id + '-panel' : null)\"\n [attr.aria-expanded]=\"tab.id === activeId\"\n [attr.aria-disabled]=\"tab.disabled\">\n {{tab.title}}\n <ng-template [ngTemplateOutlet]=\"tab.titleTpl?.template\"></ng-template>\n </span>\n </div>\n <ng-content></ng-content>\n</div>\n<div class=\"tabs-content\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <ng-container *ngIf=\"!destroyOnHide || tab.id === activeId\">\n <ng-template [ngTemplateOutlet]=\"tab.contentTpl?.template\"></ng-template>\n </ng-container>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabsComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabsComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'teta-tabs', template: "<div class=\"tabs-head\" role=\"tablist\">\n <div class=\"tabs-head-item\"\n *ngFor=\"let tab of tabs\"\n (click)=\"select(tab.id);\"\n [class.tabs-head-item_active]=\"tab.id === activeId\"\n [class.tabs-head-item_disabled]=\"tab.disabled\">\n <span [id]=\"tab.id\" class=\"tabs-title\"\n role=\"tab\"\n [attr.tabindex]=\"(tab.disabled ? '-1': undefined)\"\n [attr.aria-controls]=\"(!destroyOnHide || tab.id === activeId ? tab.id + '-panel' : null)\"\n [attr.aria-expanded]=\"tab.id === activeId\"\n [attr.aria-disabled]=\"tab.disabled\">\n {{tab.title}}\n <ng-template [ngTemplateOutlet]=\"tab.titleTpl?.template\"></ng-template>\n </span>\n </div>\n <ng-content></ng-content>\n</div>\n<div class=\"tabs-content\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <ng-container *ngIf=\"!destroyOnHide || tab.id === activeId\">\n <ng-template [ngTemplateOutlet]=\"tab.contentTpl?.template\"></ng-template>\n </ng-container>\n </ng-template>\n</div>\n" }]
61
61
  }], ctorParameters: function () { return []; }, propDecorators: { classTabs: [{
@@ -6,17 +6,17 @@ import { TabComponent } from './tab/tab.component';
6
6
  import { TabsComponent } from './tabs/tabs.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class TabsModule {
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: TabsModule, declarations: [TabContentDirective,
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: TabsModule, declarations: [TabContentDirective,
11
11
  TabTitleDirective,
12
12
  TabComponent,
13
13
  TabsComponent], imports: [CommonModule], exports: [TabContentDirective,
14
14
  TabTitleDirective,
15
15
  TabComponent,
16
16
  TabsComponent] });
17
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabsModule, imports: [CommonModule] });
17
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabsModule, imports: [CommonModule] });
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TabsModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TabsModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  declarations: [
@@ -16,10 +16,10 @@ export class ThemeSwitchComponent {
16
16
  switchTheme() {
17
17
  this._svc.switchTheme();
18
18
  }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThemeSwitchComponent, deps: [{ token: i1.ThemeSwitchService }], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: ThemeSwitchComponent, selector: "teta-theme-switch", inputs: { palette: "palette", view: "view" }, ngImport: i0, template: "<button type=\"button\" teta-button [palette]=\"palette\" [view]=\"view\" [square]=\"true\" (click)=\"switchTheme()\">\n <teta-icon [name]=\"'lamp'\" [palette]=\"'text'\"></teta-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThemeSwitchComponent, deps: [{ token: i1.ThemeSwitchService }], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: ThemeSwitchComponent, selector: "teta-theme-switch", inputs: { palette: "palette", view: "view" }, ngImport: i0, template: "<button type=\"button\" teta-button [palette]=\"palette\" [view]=\"view\" [square]=\"true\" (click)=\"switchTheme()\">\n <teta-icon [name]=\"'lamp'\" [palette]=\"'text'\"></teta-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThemeSwitchComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThemeSwitchComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'teta-theme-switch', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\" teta-button [palette]=\"palette\" [view]=\"view\" [square]=\"true\" (click)=\"switchTheme()\">\n <teta-icon [name]=\"'lamp'\" [palette]=\"'text'\"></teta-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}\n"] }]
25
25
  }], ctorParameters: function () { return [{ type: i1.ThemeSwitchService }]; }, propDecorators: { palette: [{
@@ -5,15 +5,15 @@ import { ButtonModule } from '../button/button.module';
5
5
  import { IconModule } from '../icon/icon.module';
6
6
  import * as i0 from "@angular/core";
7
7
  export class ThemeSwitchModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThemeSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: ThemeSwitchModule, declarations: [ThemeSwitchComponent], imports: [CommonModule,
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThemeSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: ThemeSwitchModule, declarations: [ThemeSwitchComponent], imports: [CommonModule,
10
10
  ButtonModule,
11
11
  IconModule], exports: [ThemeSwitchComponent] });
12
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThemeSwitchModule, imports: [CommonModule,
12
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThemeSwitchModule, imports: [CommonModule,
13
13
  ButtonModule,
14
14
  IconModule] });
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThemeSwitchModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThemeSwitchModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  declarations: [ThemeSwitchComponent],
@@ -24,10 +24,10 @@ export class ThemeSwitchService {
24
24
  }
25
25
  return true;
26
26
  }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThemeSwitchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThemeSwitchService, providedIn: 'root' });
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThemeSwitchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThemeSwitchService, providedIn: 'root' });
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThemeSwitchService, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThemeSwitchService, decorators: [{
31
31
  type: Injectable,
32
32
  args: [{
33
33
  providedIn: 'root',
@@ -0,0 +1,34 @@
1
+ import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { Base3dSeriesComponent } from '../three-chart/base-3d-series/base3d-series.component';
4
+ import { extend, NgtArgs } from 'angular-three';
5
+ import * as THREE from 'three';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../three-chart/service/chart-3d.service";
8
+ import * as i2 from "angular-three";
9
+ import * as i3 from "@angular/common";
10
+ extend(THREE);
11
+ export class CustomSeriesComponent extends Base3dSeriesComponent {
12
+ svc;
13
+ ngtStore;
14
+ scales;
15
+ constructor(svc, ngtStore) {
16
+ super(svc, ngtStore);
17
+ this.svc = svc;
18
+ this.ngtStore = ngtStore;
19
+ this.scales = this.svc.scales;
20
+ }
21
+ ngOnInit() {
22
+ setTimeout(() => {
23
+ this.ngtStore.get('camera').zoom = 2;
24
+ this.ngtStore.get('camera').updateProjectionMatrix();
25
+ }, 1000);
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CustomSeriesComponent, deps: [{ token: i1.Chart3dService }, { token: i2.NgtStore }], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: CustomSeriesComponent, isStandalone: true, selector: "teta-custom-series", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\" {scales:scales|async} as scales\">\n <ngt-mesh [position]=\"[scales.scales.x(this.series.data[0].x),scales.scales.y(this.series.data[0].y),scales.scales.z(this.series.data[0].z) ]\">\n <ngt-box-geometry *args=\"[5,5,5]\"></ngt-box-geometry>\n <ngt-mesh-basic-material></ngt-mesh-basic-material>\n </ngt-mesh>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CustomSeriesComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'teta-custom-series', standalone: true, imports: [CommonModule, NgtArgs], schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\" {scales:scales|async} as scales\">\n <ngt-mesh [position]=\"[scales.scales.x(this.series.data[0].x),scales.scales.y(this.series.data[0].y),scales.scales.z(this.series.data[0].z) ]\">\n <ngt-box-geometry *args=\"[5,5,5]\"></ngt-box-geometry>\n <ngt-mesh-basic-material></ngt-mesh-basic-material>\n </ngt-mesh>\n</ng-container>\n" }]
33
+ }], ctorParameters: function () { return [{ type: i1.Chart3dService }, { type: i2.NgtStore }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL2N1c3RvbS1zZXJpZXMvY3VzdG9tLXNlcmllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL2N1c3RvbS1zZXJpZXMvY3VzdG9tLXNlcmllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsR0FFdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRzlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRTFELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDOzs7OztBQUUvQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFTZCxNQUFNLE9BQU8scUJBQ1gsU0FBUSxxQkFBa0M7SUFJckI7SUFBOEI7SUFENUMsTUFBTSxDQUEwQjtJQUN2QyxZQUFxQixHQUFtQixFQUFXLFFBQWtCO1FBQ25FLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFERixRQUFHLEdBQUgsR0FBRyxDQUFnQjtRQUFXLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDdkQsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt1R0FmVSxxQkFBcUI7MkZBQXJCLHFCQUFxQixxR0N2QmxDLGtYQU1BLDJDRFlZLFlBQVksd0xBQUUsT0FBTzs7MkZBS3BCLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxXQUN2QixDQUFDLHNCQUFzQixDQUFDLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCYXNlM2RTZXJpZXNDb21wb25lbnQgfSBmcm9tICcuLi90aHJlZS1jaGFydC9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlM2RQb2ludCB9IGZyb20gJy4uLy4uL2NoYXJ0LTNkL21vZGVsL2Jhc2UtM2QtcG9pbnQnO1xuaW1wb3J0IHsgQ2hhcnQzZFNlcnZpY2UgfSBmcm9tICcuLi90aHJlZS1jaGFydC9zZXJ2aWNlL2NoYXJ0LTNkLnNlcnZpY2UnO1xuaW1wb3J0IHsgZXh0ZW5kLCBOZ3RBcmdzLCBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5leHRlbmQoVEhSRUUpO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1jdXN0b20tc2VyaWVzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmd0QXJnc10sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tc2VyaWVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tU2VyaWVzQ29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZTNkU2VyaWVzQ29tcG9uZW50PEJhc2UzZFBvaW50PlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBwdWJsaWMgc2NhbGVzOiBPYnNlcnZhYmxlPHsgeDsgeTsgeiB9PjtcbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgc3ZjOiBDaGFydDNkU2VydmljZSwgb3ZlcnJpZGUgbmd0U3RvcmU6IE5ndFN0b3JlKSB7XG4gICAgc3VwZXIoc3ZjLCBuZ3RTdG9yZSk7XG4gICAgdGhpcy5zY2FsZXMgPSB0aGlzLnN2Yy5zY2FsZXM7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubmd0U3RvcmUuZ2V0KCdjYW1lcmEnKS56b29tID0gMjtcbiAgICAgIHRoaXMubmd0U3RvcmUuZ2V0KCdjYW1lcmEnKS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIge3NjYWxlczpzY2FsZXN8YXN5bmN9IGFzIHNjYWxlc1wiPlxuICAgIDxuZ3QtbWVzaCBbcG9zaXRpb25dPVwiW3NjYWxlcy5zY2FsZXMueCh0aGlzLnNlcmllcy5kYXRhWzBdLngpLHNjYWxlcy5zY2FsZXMueSh0aGlzLnNlcmllcy5kYXRhWzBdLnkpLHNjYWxlcy5zY2FsZXMueih0aGlzLnNlcmllcy5kYXRhWzBdLnopIF1cIj5cbiAgICAgIDxuZ3QtYm94LWdlb21ldHJ5ICAgKmFyZ3M9XCJbNSw1LDVdXCI+PC9uZ3QtYm94LWdlb21ldHJ5PlxuICAgICAgPG5ndC1tZXNoLWJhc2ljLW1hdGVyaWFsPjwvbmd0LW1lc2gtYmFzaWMtbWF0ZXJpYWw+XG4gICAgPC9uZ3QtbWVzaD5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,11 @@
1
+ export * from './custom-series/custom-series.component';
2
+ export * from './three-chart/area-3d/area-3d.component';
3
+ export * from './three-chart/axes-3d/axes-3d.component';
4
+ export * from './three-chart/base-3d-series/base3d-series.component';
5
+ export * from './three-chart/block-3d/block-3d.component';
6
+ export * from './three-chart/directive/public-api';
7
+ export * from './three-chart/line-3d/line-3d.component';
8
+ export * from './three-chart/model/public-api';
9
+ export * from './three-chart/scene/scene.component';
10
+ export * from './three-chart/three-chart.component';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tc2VyaWVzL2N1c3RvbS1zZXJpZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvYXJlYS0zZC9hcmVhLTNkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aHJlZS1jaGFydC9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2Jsb2NrLTNkL2Jsb2NrLTNkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2RpcmVjdGl2ZS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvbGluZS0zZC9saW5lLTNkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L21vZGVsL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90aHJlZS1jaGFydC9zY2VuZS9zY2VuZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aHJlZS1jaGFydC90aHJlZS1jaGFydC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,53 @@
1
+ import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as THREE from 'three';
4
+ import { GridHelper } from 'three';
5
+ import { extend, NgtArgs } from 'angular-three';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ extend(THREE);
9
+ export class Area3dComponent {
10
+ area;
11
+ THREE = THREE;
12
+ createArea() {
13
+ const grids = [];
14
+ grids.push(this.getMainGrid());
15
+ grids.push(...this.createGrid(4, 25, 3, 'vertical'));
16
+ grids.push(...this.createGrid(4, 25, 3, 'horizontal'));
17
+ return grids;
18
+ }
19
+ getMainGrid() {
20
+ const mainGrid = new GridHelper(100, 12);
21
+ mainGrid.position.set(0, 0, 0);
22
+ mainGrid.rotateZ(Math.PI / 2);
23
+ return mainGrid;
24
+ }
25
+ createGrid(gridsCount, gridSize, rectsInGrid, direction) {
26
+ const plane = [];
27
+ for (let p = 0; p <= gridsCount - 1; p++) {
28
+ plane[p] = new THREE.GridHelper(gridSize, rectsInGrid, '#666', '#666');
29
+ plane[p].renderOrder = -1;
30
+ switch (direction) {
31
+ case 'horizontal':
32
+ plane[p].position.set(gridSize / 2, -50, gridSize * p + gridSize / 2 - 50);
33
+ break;
34
+ case 'vertical':
35
+ plane[p].position.set(gridSize / 2, gridSize * p + gridSize / 2 - 50, -50);
36
+ plane[p].rotateZ(Math.PI / 2);
37
+ plane[p].rotateX(Math.PI / 2);
38
+ break;
39
+ }
40
+ }
41
+ return plane;
42
+ }
43
+ ngOnInit() {
44
+ this.area = this.createArea();
45
+ }
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Area3dComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Area3dComponent, isStandalone: true, selector: "teta-area-3d", ngImport: i0, template: "<ngt-mesh>\n <ngt-mesh-basic-material [side]=\"THREE.DoubleSide\"></ngt-mesh-basic-material>\n <ng-container *ngFor=\"let rect of area\">\n <ngt-primitive *args=\"[rect]\"></ngt-primitive>\n </ng-container>\n</ngt-mesh>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Area3dComponent, decorators: [{
50
+ type: Component,
51
+ args: [{ selector: 'teta-area-3d', standalone: true, imports: [CommonModule, NgtArgs], changeDetection: ChangeDetectionStrategy.OnPush, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ngt-mesh>\n <ngt-mesh-basic-material [side]=\"THREE.DoubleSide\"></ngt-mesh-basic-material>\n <ng-container *ngFor=\"let rect of area\">\n <ngt-primitive *args=\"[rect]\"></ngt-primitive>\n </ng-container>\n</ngt-mesh>\n" }]
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS0zZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2FyZWEtM2QvYXJlYS0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2FyZWEtM2QvYXJlYS0zZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsR0FFdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVoRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFVZCxNQUFNLE9BQU8sZUFBZTtJQUNuQixJQUFJLENBQWU7SUFFUCxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWpDLFVBQVU7UUFDUixNQUFNLEtBQUssR0FBaUIsRUFBRSxDQUFDO1FBQy9CLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNyRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQixRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFVBQVUsQ0FDUixVQUFrQixFQUNsQixRQUFnQixFQUNoQixXQUFtQixFQUNuQixTQUFvQztRQUVwQyxNQUFNLEtBQUssR0FBaUIsRUFBRSxDQUFDO1FBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdkUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQixRQUFRLFNBQVMsRUFBRTtnQkFDakIsS0FBSyxZQUFZO29CQUNmLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNuQixRQUFRLEdBQUcsQ0FBQyxFQUNaLENBQUMsRUFBRSxFQUNILFFBQVEsR0FBRyxDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQ2pDLENBQUM7b0JBQ0YsTUFBTTtnQkFDUixLQUFLLFVBQVU7b0JBQ2IsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ25CLFFBQVEsR0FBRyxDQUFDLEVBQ1osUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFDaEMsQ0FBQyxFQUFFLENBQ0osQ0FBQztvQkFDRixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzlCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDOUIsTUFBTTthQUNUO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQzt1R0F0RFUsZUFBZTsyRkFBZixlQUFlLHdFQ3JCNUIscU9BTUEsMkNEV1ksWUFBWSw0SkFBRSxPQUFPOzsyRkFJcEIsZUFBZTtrQkFSM0IsU0FBUzsrQkFDRSxjQUFjLGNBRVosSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxtQkFDZix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IEdyaWRIZWxwZXIgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBleHRlbmQsIE5ndEFyZ3MgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1hcmVhLTNkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FyZWEtM2QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ3RBcmdzXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJlYTNkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGFyZWE6IEdyaWRIZWxwZXJbXTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgVEhSRUUgPSBUSFJFRTtcblxuICBjcmVhdGVBcmVhKCkge1xuICAgIGNvbnN0IGdyaWRzOiBHcmlkSGVscGVyW10gPSBbXTtcbiAgICBncmlkcy5wdXNoKHRoaXMuZ2V0TWFpbkdyaWQoKSk7XG4gICAgZ3JpZHMucHVzaCguLi50aGlzLmNyZWF0ZUdyaWQoNCwgMjUsIDMsICd2ZXJ0aWNhbCcpKTtcbiAgICBncmlkcy5wdXNoKC4uLnRoaXMuY3JlYXRlR3JpZCg0LCAyNSwgMywgJ2hvcml6b250YWwnKSk7XG4gICAgcmV0dXJuIGdyaWRzO1xuICB9XG5cbiAgZ2V0TWFpbkdyaWQoKSB7XG4gICAgY29uc3QgbWFpbkdyaWQgPSBuZXcgR3JpZEhlbHBlcigxMDAsIDEyKTtcbiAgICBtYWluR3JpZC5wb3NpdGlvbi5zZXQoMCwgMCwgMCk7XG4gICAgbWFpbkdyaWQucm90YXRlWihNYXRoLlBJIC8gMik7XG4gICAgcmV0dXJuIG1haW5HcmlkO1xuICB9XG5cbiAgY3JlYXRlR3JpZChcbiAgICBncmlkc0NvdW50OiBudW1iZXIsXG4gICAgZ3JpZFNpemU6IG51bWJlcixcbiAgICByZWN0c0luR3JpZDogbnVtYmVyLFxuICAgIGRpcmVjdGlvbjogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJ1xuICApIHtcbiAgICBjb25zdCBwbGFuZTogR3JpZEhlbHBlcltdID0gW107XG4gICAgZm9yIChsZXQgcCA9IDA7IHAgPD0gZ3JpZHNDb3VudCAtIDE7IHArKykge1xuICAgICAgcGxhbmVbcF0gPSBuZXcgVEhSRUUuR3JpZEhlbHBlcihncmlkU2l6ZSwgcmVjdHNJbkdyaWQsICcjNjY2JywgJyM2NjYnKTtcbiAgICAgIHBsYW5lW3BdLnJlbmRlck9yZGVyID0gLTE7XG4gICAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgICBjYXNlICdob3Jpem9udGFsJzpcbiAgICAgICAgICBwbGFuZVtwXS5wb3NpdGlvbi5zZXQoXG4gICAgICAgICAgICBncmlkU2l6ZSAvIDIsXG4gICAgICAgICAgICAtNTAsXG4gICAgICAgICAgICBncmlkU2l6ZSAqIHAgKyBncmlkU2l6ZSAvIDIgLSA1MFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgICBwbGFuZVtwXS5wb3NpdGlvbi5zZXQoXG4gICAgICAgICAgICBncmlkU2l6ZSAvIDIsXG4gICAgICAgICAgICBncmlkU2l6ZSAqIHAgKyBncmlkU2l6ZSAvIDIgLSA1MCxcbiAgICAgICAgICAgIC01MFxuICAgICAgICAgICk7XG4gICAgICAgICAgcGxhbmVbcF0ucm90YXRlWihNYXRoLlBJIC8gMik7XG4gICAgICAgICAgcGxhbmVbcF0ucm90YXRlWChNYXRoLlBJIC8gMik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwbGFuZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXJlYSA9IHRoaXMuY3JlYXRlQXJlYSgpO1xuICB9XG59XG4iLCI8bmd0LW1lc2g+XG4gIDxuZ3QtbWVzaC1iYXNpYy1tYXRlcmlhbCBbc2lkZV09XCJUSFJFRS5Eb3VibGVTaWRlXCI+PC9uZ3QtbWVzaC1iYXNpYy1tYXRlcmlhbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVjdCBvZiBhcmVhXCI+XG4gICAgPG5ndC1wcmltaXRpdmUgKmFyZ3M9XCJbcmVjdF1cIj48L25ndC1wcmltaXRpdmU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZ3QtbWVzaD5cbiJdfQ==
@@ -0,0 +1,57 @@
1
+ import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgtsText } from 'angular-three-soba/abstractions';
4
+ import * as d3 from 'd3';
5
+ import * as THREE from 'three';
6
+ import { extend } from 'angular-three';
7
+ import { Chart3dService } from '../service/chart-3d.service';
8
+ import { combineLatest, map, takeWhile } from 'rxjs';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ extend(THREE);
12
+ export class Axes3dComponent {
13
+ rotation;
14
+ axes;
15
+ _alive = true;
16
+ chartService = inject(Chart3dService);
17
+ constructor() {
18
+ this.axes = combineLatest([
19
+ this.chartService.scales,
20
+ this.chartService.minMax,
21
+ ]).pipe(takeWhile(() => this._alive), map(([scales, minMax]) => {
22
+ return this.createAxes(scales, minMax);
23
+ }));
24
+ }
25
+ createAxes(scales, minMax) {
26
+ const axisZ = this.generateTicks(minMax.z, 12).map((_) => {
27
+ return { value: _.toFixed(1), position: scales.z(_) };
28
+ });
29
+ const axisY = this.generateTicks(minMax.y, 12).map((_) => {
30
+ return { value: _.toFixed(1), position: scales.y(_) };
31
+ });
32
+ const axisX = this.generateTicks(minMax.x, 4).map((_) => {
33
+ return { value: _.toFixed(1), position: scales.x(_) };
34
+ });
35
+ return { z: axisZ, y: axisY, x: axisX };
36
+ }
37
+ generateTicks(extremes, count = 10) {
38
+ const [min, max] = extremes;
39
+ const tickStep = (max - min) / count;
40
+ const ticks = d3
41
+ .range(min, max + tickStep, tickStep)
42
+ .filter((step) => step <= max);
43
+ return ticks;
44
+ }
45
+ ngOnDestroy() {
46
+ this._alive = false;
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Axes3dComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Axes3dComponent, isStandalone: true, selector: "teta-axes-3d", inputs: { rotation: "rotation" }, ngImport: i0, template: "<ng-container *ngIf=\"{axes:axes|async}as data\">\n<ngts-text *ngFor=\"let tick of data.axes.y;let i=index\" [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]=\"rotation\"\n [fontSize]=\"2.5\"\n [position]=\"[0,tick.position,50]\"\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n></ngts-text>\n<ngts-text *ngFor=\"let tick of data.axes.z;let i=index\" [text]=\"tick.value\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]=\"rotation\"\n [fontSize]=\"2.5\"\n [position]=\"[25,-50,tick.position]\"\n ></ngts-text>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: NgtsText, selector: "ngts-text[text]", inputs: ["textRef", "text", "characters", "font", "anchorX", "anchorY"], outputs: ["sync"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Axes3dComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'teta-axes-3d', standalone: true, imports: [CommonModule, NgtsText], schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"{axes:axes|async}as data\">\n<ngts-text *ngFor=\"let tick of data.axes.y;let i=index\" [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]=\"rotation\"\n [fontSize]=\"2.5\"\n [position]=\"[0,tick.position,50]\"\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n></ngts-text>\n<ngts-text *ngFor=\"let tick of data.axes.z;let i=index\" [text]=\"tick.value\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]=\"rotation\"\n [fontSize]=\"2.5\"\n [position]=\"[25,-50,tick.position]\"\n ></ngts-text>\n</ng-container>\n" }]
54
+ }], ctorParameters: function () { return []; }, propDecorators: { rotation: [{
55
+ type: Input
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy0zZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsTUFBTSxFQUNOLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBR2pFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQVVkLE1BQU0sT0FBTyxlQUFlO0lBQ2pCLFFBQVEsQ0FBUTtJQUNsQixJQUFJLENBSVI7SUFDSyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBRUgsWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RDtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU07U0FDekIsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUM1QixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQW9CO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFDRCxhQUFhLENBQUMsUUFBa0IsRUFBRSxLQUFLLEdBQUcsRUFBRTtRQUMxQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM1QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFFckMsTUFBTSxLQUFLLEdBQUcsRUFBRTthQUNiLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxRQUFRLENBQUM7YUFDcEMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFFakMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7dUdBL0NVLGVBQWU7MkZBQWYsZUFBZSwwR0M3QjVCLHFzQkFpQkEsMkNEUVksWUFBWSxxVEFBRSxRQUFROzsyRkFJckIsZUFBZTtrQkFSM0IsU0FBUzsrQkFDRSxjQUFjLGNBRVosSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxXQUN4QixDQUFDLHNCQUFzQixDQUFDLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUd0QyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3RzVGV4dCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9hYnN0cmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgRXVsZXIgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBleHRlbmQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEF4aXMzZFBvaW50IH0gZnJvbSAnLi4vbW9kZWwvYXhpcy0zZC1wb2ludCc7XG5pbXBvcnQgeyBDaGFydDNkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXhlczNkTWluTWF4IH0gZnJvbSAnLi4vbW9kZWwvYXhlcy0zZC1taW4tbWF4JztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1heGVzLTNkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F4ZXMtM2QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ3RzVGV4dF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEF4ZXMzZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHJvdGF0aW9uOiBFdWxlcjtcbiAgcHVibGljIGF4ZXM6IE9ic2VydmFibGU8e1xuICAgIHo6IEF4aXMzZFBvaW50W107XG4gICAgeTogQXhpczNkUG9pbnRbXTtcbiAgICB4OiBBeGlzM2RQb2ludFtdO1xuICB9PjtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydFNlcnZpY2UgPSBpbmplY3QoQ2hhcnQzZFNlcnZpY2UpO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmF4ZXMgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2hhcnRTZXJ2aWNlLnNjYWxlcyxcbiAgICAgIHRoaXMuY2hhcnRTZXJ2aWNlLm1pbk1heCxcbiAgICBdKS5waXBlKFxuICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgIG1hcCgoW3NjYWxlcywgbWluTWF4XSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVBeGVzKHNjYWxlcywgbWluTWF4KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUF4ZXMoc2NhbGVzLCBtaW5NYXg6IEF4ZXMzZE1pbk1heCkge1xuICAgIGNvbnN0IGF4aXNaID0gdGhpcy5nZW5lcmF0ZVRpY2tzKG1pbk1heC56LCAxMikubWFwKChfKSA9PiB7XG4gICAgICByZXR1cm4geyB2YWx1ZTogXy50b0ZpeGVkKDEpLCBwb3NpdGlvbjogc2NhbGVzLnooXykgfTtcbiAgICB9KTtcbiAgICBjb25zdCBheGlzWSA9IHRoaXMuZ2VuZXJhdGVUaWNrcyhtaW5NYXgueSwgMTIpLm1hcCgoXykgPT4ge1xuICAgICAgcmV0dXJuIHsgdmFsdWU6IF8udG9GaXhlZCgxKSwgcG9zaXRpb246IHNjYWxlcy55KF8pIH07XG4gICAgfSk7XG4gICAgY29uc3QgYXhpc1ggPSB0aGlzLmdlbmVyYXRlVGlja3MobWluTWF4LngsIDQpLm1hcCgoXykgPT4ge1xuICAgICAgcmV0dXJuIHsgdmFsdWU6IF8udG9GaXhlZCgxKSwgcG9zaXRpb246IHNjYWxlcy54KF8pIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgejogYXhpc1osIHk6IGF4aXNZLCB4OiBheGlzWCB9O1xuICB9XG4gIGdlbmVyYXRlVGlja3MoZXh0cmVtZXM6IG51bWJlcltdLCBjb3VudCA9IDEwKSB7XG4gICAgY29uc3QgW21pbiwgbWF4XSA9IGV4dHJlbWVzO1xuICAgIGNvbnN0IHRpY2tTdGVwID0gKG1heCAtIG1pbikgLyBjb3VudDtcblxuICAgIGNvbnN0IHRpY2tzID0gZDNcbiAgICAgIC5yYW5nZShtaW4sIG1heCArIHRpY2tTdGVwLCB0aWNrU3RlcClcbiAgICAgIC5maWx0ZXIoKHN0ZXApID0+IHN0ZXAgPD0gbWF4KTtcblxuICAgIHJldHVybiB0aWNrcztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ7YXhlczpheGVzfGFzeW5jfWFzIGRhdGFcIj5cbjxuZ3RzLXRleHQgKm5nRm9yPVwibGV0IHRpY2sgb2YgZGF0YS5heGVzLnk7bGV0IGk9aW5kZXhcIiBbdGV4dF09XCJ0aWNrLnZhbHVlKyctJ1wiXG4gICAgICAgICAgIFtjb2xvcl09XCIndmFyKC0tY29sb3ItdGV4dC05MCknXCJcbiAgICAgICAgICAgW3JvdGF0aW9uXT1cInJvdGF0aW9uXCJcbiAgICAgICAgICAgW2ZvbnRTaXplXT1cIjIuNVwiXG4gICAgICAgICAgIFtwb3NpdGlvbl09XCJbMCx0aWNrLnBvc2l0aW9uLDUwXVwiXG4gICAgICAgICAgIFthbmNob3JYXT1cIidyaWdodCdcIlxuICAgICAgICAgICBbYW5jaG9yWV09XCInbWlkZGxlJ1wiXG4gICAgICAgICAgIFt0ZXh0QWxpZ25dPVwiJ3JpZ2h0J1wiXG4+PC9uZ3RzLXRleHQ+XG48bmd0cy10ZXh0ICpuZ0Zvcj1cImxldCB0aWNrIG9mIGRhdGEuYXhlcy56O2xldCBpPWluZGV4XCIgIFt0ZXh0XT1cInRpY2sudmFsdWVcIlxuICAgICAgICAgICBbY29sb3JdPVwiJ3ZhcigtLWNvbG9yLXRleHQtOTApJ1wiXG4gICAgICAgICAgIFtyb3RhdGlvbl09XCJyb3RhdGlvblwiXG4gICAgICAgICAgIFtmb250U2l6ZV09XCIyLjVcIlxuICAgICAgICAgICBbcG9zaXRpb25dPVwiWzI1LC01MCx0aWNrLnBvc2l0aW9uXVwiXG4gICAgICAgICAgID48L25ndHMtdGV4dD5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,29 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../service/chart-3d.service";
5
+ import * as i2 from "angular-three";
6
+ export class Base3dSeriesComponent {
7
+ svc;
8
+ ngtStore;
9
+ set series(series) {
10
+ this._series = series;
11
+ }
12
+ get series() {
13
+ return this._series;
14
+ }
15
+ _series;
16
+ constructor(svc, ngtStore) {
17
+ this.svc = svc;
18
+ this.ngtStore = ngtStore;
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Base3dSeriesComponent, deps: [{ token: i1.Chart3dService }, { token: i2.NgtStore }], target: i0.ɵɵFactoryTarget.Component });
21
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Base3dSeriesComponent, isStandalone: true, selector: "teta-base3d-series", inputs: { series: "series" }, ngImport: i0, template: "<p>base3d-series works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Base3dSeriesComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'teta-base3d-series', standalone: true, imports: [CommonModule], template: "<p>base3d-series works!</p>\n" }]
26
+ }], ctorParameters: function () { return [{ type: i1.Chart3dService }, { type: i2.NgtStore }]; }, propDecorators: { series: [{
27
+ type: Input
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZTNkLXNlcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2Jhc2UtM2Qtc2VyaWVzL2Jhc2UzZC1zZXJpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWEvQyxNQUFNLE9BQU8scUJBQXFCO0lBVVY7SUFBK0I7SUFUckQsSUFDSSxNQUFNLENBQUMsTUFBdUI7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ1MsT0FBTyxDQUFrQjtJQUNuQyxZQUFzQixHQUFtQixFQUFZLFFBQWtCO1FBQWpELFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7dUdBVmhFLHFCQUFxQjsyRkFBckIscUJBQXFCLDRHQ2RsQywrQkFDQSx5RERTWSxZQUFZOzsyRkFJWCxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs0SEFNbkIsTUFBTTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYXJ0M2RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2UzZFRocmVlUG9pbnQgfSBmcm9tICcuLi9tb2RlbC9iYXNlLTNkLXRocmVlLXBvaW50JztcbmltcG9ydCB7IEJhc2UzZFNlcmllcyB9IGZyb20gJy4uL21vZGVsL2Jhc2UtM2Qtc2VyaWVzJztcbmltcG9ydCB7IE5ndFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtYmFzZTNkLXNlcmllcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFzZTNkLXNlcmllcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Jhc2UzZC1zZXJpZXMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmFzZTNkU2VyaWVzQ29tcG9uZW50PFQgZXh0ZW5kcyBCYXNlM2RUaHJlZVBvaW50PiB7XG4gIEBJbnB1dCgpXG4gIHNldCBzZXJpZXMoc2VyaWVzOiBCYXNlM2RTZXJpZXM8VD4pIHtcbiAgICB0aGlzLl9zZXJpZXMgPSBzZXJpZXM7XG4gIH1cblxuICBnZXQgc2VyaWVzKCkge1xuICAgIHJldHVybiB0aGlzLl9zZXJpZXM7XG4gIH1cbiAgcHJvdGVjdGVkIF9zZXJpZXM6IEJhc2UzZFNlcmllczxUPjtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHN2YzogQ2hhcnQzZFNlcnZpY2UsIHByb3RlY3RlZCBuZ3RTdG9yZTogTmd0U3RvcmUpIHt9XG59XG4iLCI8cD5iYXNlM2Qtc2VyaWVzIHdvcmtzITwvcD5cbiJdfQ==