@tetacom/ng-components 1.1.10 → 1.1.12

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 (304) hide show
  1. package/.eslintrc.json +37 -0
  2. package/assets/square.svg +7 -0
  3. package/common/service/dynamic-component.service.d.ts +4 -4
  4. package/common/service/overlay-container.service.d.ts +2 -2
  5. package/common/util/array-util.d.ts +2 -2
  6. package/common/util/dom-util.d.ts +1 -1
  7. package/component/accordion/accordion/accordion.component.d.ts +1 -4
  8. package/component/accordion/accordion-item/accordion-item.component.d.ts +5 -6
  9. package/component/date-picker/base-calendar.d.ts +7 -7
  10. package/component/date-picker/base-picker.d.ts +3 -3
  11. package/component/date-picker/date-picker/date-calendar/date-calendar.component.d.ts +3 -3
  12. package/component/date-picker/date-range/date-range.component.d.ts +5 -5
  13. package/component/date-picker/date-range/range-calendar/range-calendar.component.d.ts +3 -3
  14. package/component/dropdown/dropdown-base.d.ts +2 -2
  15. package/component/file-upload/file-upload-area/file-upload-area.component.d.ts +8 -10
  16. package/component/filter/contarct/filter-item.d.ts +17 -16
  17. package/component/input/input/input.component.d.ts +5 -8
  18. package/component/property-grid/property-grid/property-grid.component.d.ts +3 -3
  19. package/component/public-api.d.ts +2 -1
  20. package/component/select/select/select.component.d.ts +8 -9
  21. package/component/table/base/cell-component-base.d.ts +23 -13
  22. package/component/table/cell/cell.component.d.ts +5 -11
  23. package/component/table/cell-host/cell-host.component.d.ts +6 -6
  24. package/component/table/contract/i-cell-instance.d.ts +2 -1
  25. package/component/table/contract/public-api.d.ts +1 -0
  26. package/component/table/contract/table-column.d.ts +48 -39
  27. package/component/table/contract/table-row.d.ts +8 -0
  28. package/component/table/default/boolean-cell/boolean-cell.component.d.ts +1 -2
  29. package/component/table/default/date-cell/date-cell.component.d.ts +2 -3
  30. package/component/table/default/date-time-cell/date-time-cell.component.d.ts +2 -3
  31. package/component/table/default/list-cell/list-cell.component.d.ts +5 -7
  32. package/component/table/default/numeric-cell/numeric-cell.component.d.ts +1 -3
  33. package/component/table/default/string-cell/string-cell.component.d.ts +2 -3
  34. package/component/table/service/table.service.d.ts +32 -31
  35. package/component/table/table/table.component.d.ts +11 -10
  36. package/component/table/table-body/table-body.component.d.ts +13 -11
  37. package/component/table/table-head/table-head.component.d.ts +2 -2
  38. package/component/table/table.module.d.ts +1 -1
  39. package/component/three/custom-series/custom-series.component.d.ts +20 -0
  40. package/component/three/public-api.d.ts +10 -0
  41. package/component/three/three-chart/area-3d/area-3d.component.d.ts +14 -0
  42. package/component/three/three-chart/axes-3d/axes-3d.component.d.ts +36 -0
  43. package/component/three/three-chart/base-3d-series/base3d-series.component.d.ts +15 -0
  44. package/component/three/three-chart/directive/public-api.d.ts +1 -0
  45. package/component/three/three-chart/directive/series-3d-host.d.ts +16 -0
  46. package/component/three/three-chart/line-3d/line-3d.component.d.ts +19 -0
  47. package/component/three/three-chart/lithotype-3d/lithotype-3d.component.d.ts +29 -0
  48. package/component/three/three-chart/model/axes-3d-min-max.d.ts +5 -0
  49. package/component/three/three-chart/model/axis-3d-point.d.ts +4 -0
  50. package/component/three/three-chart/model/base-3d-series.d.ts +11 -0
  51. package/component/three/three-chart/model/base-3d-three-point.d.ts +8 -0
  52. package/component/three/three-chart/model/enum/public-api.d.ts +1 -0
  53. package/component/three/three-chart/model/enum/series-3d-type.d.ts +4 -0
  54. package/component/three/three-chart/model/i-3d-chart-config.d.ts +14 -0
  55. package/component/three/three-chart/model/line-3d-point.d.ts +5 -0
  56. package/component/three/three-chart/model/line-3d-series.d.ts +6 -0
  57. package/component/three/three-chart/model/lithotype-3d-point.d.ts +5 -0
  58. package/component/three/three-chart/model/lithotype-3d-series.d.ts +6 -0
  59. package/component/three/three-chart/model/public-api.d.ts +10 -0
  60. package/component/three/three-chart/scene/scene.component.d.ts +20 -0
  61. package/component/three/three-chart/service/chart-3d.service.d.ts +22 -0
  62. package/component/three/three-chart/three-chart.component.d.ts +16 -0
  63. package/directive/context-menu/context-menu.directive.d.ts +4 -5
  64. package/directive/drag-drop/drag.directive.d.ts +4 -4
  65. package/directive/drag-sort/drag-sort-container.directive.d.ts +2 -3
  66. package/directive/dynamic-content-base.directive.d.ts +8 -9
  67. package/directive/hint/hint.directive.d.ts +5 -5
  68. package/directive/tooltip/tooltip.directive.d.ts +3 -3
  69. package/esm2022/common/service/click.service.mjs +3 -3
  70. package/esm2022/common/service/dynamic-component.service.mjs +6 -6
  71. package/esm2022/common/service/overlay-container.service.mjs +6 -6
  72. package/esm2022/common/util/array-util.mjs +6 -5
  73. package/esm2022/common/util/dom-util.mjs +4 -3
  74. package/esm2022/common/util/position-util.mjs +10 -5
  75. package/esm2022/component/accordion/accordion/accordion.component.mjs +6 -10
  76. package/esm2022/component/accordion/accordion-content.directive.mjs +3 -3
  77. package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +3 -3
  78. package/esm2022/component/accordion/accordion-item/accordion-item.component.mjs +7 -9
  79. package/esm2022/component/accordion/accordion.module.mjs +4 -4
  80. package/esm2022/component/autocomplete/autocomplete/autocomplete.component.mjs +3 -3
  81. package/esm2022/component/autocomplete/autocomplete.module.mjs +4 -4
  82. package/esm2022/component/avatar/avatar/avatar.component.mjs +3 -3
  83. package/esm2022/component/avatar/avatar.module.mjs +4 -4
  84. package/esm2022/component/button/button/button.component.mjs +3 -3
  85. package/esm2022/component/button/button.module.mjs +4 -4
  86. package/esm2022/component/chart-3d/chart-3d.module.mjs +4 -4
  87. package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +3 -3
  88. package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +5 -5
  89. package/esm2022/component/checkbox/checkbox.module.mjs +4 -4
  90. package/esm2022/component/date-picker/base-calendar.mjs +55 -21
  91. package/esm2022/component/date-picker/base-picker.mjs +4 -4
  92. package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +11 -9
  93. package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +3 -3
  94. package/esm2022/component/date-picker/date-picker.module.mjs +4 -4
  95. package/esm2022/component/date-picker/date-range/date-range.component.mjs +11 -11
  96. package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +14 -12
  97. package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +3 -3
  98. package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +3 -3
  99. package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +3 -3
  100. package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +3 -3
  101. package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +3 -3
  102. package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +3 -3
  103. package/esm2022/component/delimiter/delimiter.module.mjs +4 -4
  104. package/esm2022/component/divider/divider/divider.component.mjs +3 -3
  105. package/esm2022/component/divider/divider.module.mjs +4 -4
  106. package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +3 -3
  107. package/esm2022/component/dropdown/dropdown-base.mjs +20 -16
  108. package/esm2022/component/dropdown/dropdown-content.directive.mjs +3 -3
  109. package/esm2022/component/dropdown/dropdown-head.directive.mjs +3 -3
  110. package/esm2022/component/dropdown/dropdown.directive.mjs +3 -3
  111. package/esm2022/component/dropdown/dropdown.module.mjs +4 -4
  112. package/esm2022/component/dynamic-component/dynamic-component.module.mjs +4 -4
  113. package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +3 -3
  114. package/esm2022/component/expand-card/expand-card/expand-card.component.mjs +3 -3
  115. package/esm2022/component/expand-card/expand-card.module.mjs +4 -4
  116. package/esm2022/component/expand-card/expand-item/expand-item.component.mjs +3 -3
  117. package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +3 -3
  118. package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +3 -3
  119. package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +3 -3
  120. package/esm2022/component/expand-panel/expand-panel.module.mjs +4 -4
  121. package/esm2022/component/file-upload/file-item/file-item.component.mjs +3 -3
  122. package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +12 -12
  123. package/esm2022/component/file-upload/file-upload.module.mjs +4 -4
  124. package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +3 -3
  125. package/esm2022/component/filter/contarct/filter-item.mjs +1 -1
  126. package/esm2022/component/filter/date-filter/date-filter.component.mjs +3 -3
  127. package/esm2022/component/filter/filter-host/filter-host.component.mjs +3 -3
  128. package/esm2022/component/filter/filter.module.mjs +4 -4
  129. package/esm2022/component/filter/list-filter/list-filter.component.mjs +3 -3
  130. package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +3 -3
  131. package/esm2022/component/filter/string-filter/string-filter.component.mjs +3 -3
  132. package/esm2022/component/icon/icon/icon.component.mjs +3 -3
  133. package/esm2022/component/icon/icon-file/icon-file.component.mjs +3 -3
  134. package/esm2022/component/icon/icon-file/icon-file.module.mjs +4 -4
  135. package/esm2022/component/icon/icon-sprite.directive.mjs +3 -3
  136. package/esm2022/component/icon/icon.module.mjs +4 -4
  137. package/esm2022/component/icon/icon.service.mjs +3 -3
  138. package/esm2022/component/input/color-input/color-input.component.mjs +7 -9
  139. package/esm2022/component/input/form-group-title/form-group-title.component.mjs +3 -3
  140. package/esm2022/component/input/input/input.component.mjs +7 -9
  141. package/esm2022/component/input/input.module.mjs +4 -4
  142. package/esm2022/component/input/text-field/text-field.component.mjs +3 -3
  143. package/esm2022/component/message/message/message.component.mjs +3 -3
  144. package/esm2022/component/message/message-host/message-host.component.mjs +3 -3
  145. package/esm2022/component/message/message.module.mjs +4 -4
  146. package/esm2022/component/message/message.service.mjs +3 -3
  147. package/esm2022/component/modal/dialog/dialog.component.mjs +3 -3
  148. package/esm2022/component/modal/dialog.service.mjs +3 -3
  149. package/esm2022/component/modal/modal-container/modal-container.component.mjs +3 -3
  150. package/esm2022/component/modal/modal.module.mjs +4 -4
  151. package/esm2022/component/modal/modal.service.mjs +3 -3
  152. package/esm2022/component/pager/pager/pager.component.mjs +3 -3
  153. package/esm2022/component/pager/pager.module.mjs +4 -4
  154. package/esm2022/component/panel/panel/panel.component.mjs +3 -3
  155. package/esm2022/component/panel/panel.module.mjs +4 -4
  156. package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +3 -3
  157. package/esm2022/component/progress-bar/progress-bar.module.mjs +4 -4
  158. package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +3 -3
  159. package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +3 -3
  160. package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +3 -3
  161. package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +12 -15
  162. package/esm2022/component/property-grid/property-grid.module.mjs +4 -4
  163. package/esm2022/component/public-api.mjs +4 -2
  164. package/esm2022/component/radio/radio/radio.component.mjs +3 -3
  165. package/esm2022/component/radio/radio-button/radio-button.component.mjs +3 -3
  166. package/esm2022/component/radio/radio.module.mjs +4 -4
  167. package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +3 -3
  168. package/esm2022/component/resize-panel/resize-panel.module.mjs +4 -4
  169. package/esm2022/component/select/select/select.component.mjs +18 -20
  170. package/esm2022/component/select/select-option.directive.mjs +3 -3
  171. package/esm2022/component/select/select-value.directive.mjs +3 -3
  172. package/esm2022/component/select/select.module.mjs +4 -4
  173. package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +3 -3
  174. package/esm2022/component/sidebar/sidebar.module.mjs +4 -4
  175. package/esm2022/component/switch/switch/switch.component.mjs +3 -3
  176. package/esm2022/component/switch/switch-button/switch-button.component.mjs +3 -3
  177. package/esm2022/component/switch/switch.module.mjs +4 -4
  178. package/esm2022/component/switch/switch.service.mjs +3 -3
  179. package/esm2022/component/table/base/cell-component-base.mjs +97 -40
  180. package/esm2022/component/table/base/head-cell-component-base.mjs +3 -3
  181. package/esm2022/component/table/cell/cell.component.mjs +6 -16
  182. package/esm2022/component/table/cell-host/cell-host.component.mjs +11 -11
  183. package/esm2022/component/table/contract/i-cell-coordinates.mjs +1 -1
  184. package/esm2022/component/table/contract/i-cell-event.mjs +1 -1
  185. package/esm2022/component/table/contract/i-cell-instance.mjs +1 -1
  186. package/esm2022/component/table/contract/i-cell-value.mjs +1 -1
  187. package/esm2022/component/table/contract/public-api.mjs +2 -1
  188. package/esm2022/component/table/contract/table-column.mjs +8 -5
  189. package/esm2022/component/table/contract/table-row.mjs +9 -0
  190. package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +5 -8
  191. package/esm2022/component/table/default/date-cell/date-cell.component.mjs +5 -10
  192. package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +5 -9
  193. package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +3 -3
  194. package/esm2022/component/table/default/list-cell/list-cell.component.mjs +9 -16
  195. package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +6 -18
  196. package/esm2022/component/table/default/string-cell/string-cell.component.mjs +6 -17
  197. package/esm2022/component/table/head-cell/head-cell.component.mjs +3 -3
  198. package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +3 -3
  199. package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +3 -3
  200. package/esm2022/component/table/selection-cell/selection-cell.component.mjs +3 -3
  201. package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +3 -3
  202. package/esm2022/component/table/service/table.service.mjs +106 -77
  203. package/esm2022/component/table/table/table.component.mjs +48 -44
  204. package/esm2022/component/table/table-body/table-body.component.mjs +36 -44
  205. package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +3 -3
  206. package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +3 -3
  207. package/esm2022/component/table/table-head/table-head.component.mjs +13 -14
  208. package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +3 -3
  209. package/esm2022/component/table/table-head-group/table-head-group.component.mjs +3 -3
  210. package/esm2022/component/table/table.module.mjs +11 -8
  211. package/esm2022/component/tabs/tab/tab.component.mjs +3 -3
  212. package/esm2022/component/tabs/tab-content.directive.mjs +3 -3
  213. package/esm2022/component/tabs/tab-title.directive.mjs +3 -3
  214. package/esm2022/component/tabs/tabs/tabs.component.mjs +3 -3
  215. package/esm2022/component/tabs/tabs.module.mjs +4 -4
  216. package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +3 -3
  217. package/esm2022/component/theme-switch/theme-switch.module.mjs +4 -4
  218. package/esm2022/component/theme-switch/theme-switch.service.mjs +3 -3
  219. package/esm2022/component/three/custom-series/custom-series.component.mjs +34 -0
  220. package/esm2022/component/three/public-api.mjs +11 -0
  221. package/esm2022/component/three/three-chart/area-3d/area-3d.component.mjs +53 -0
  222. package/esm2022/component/three/three-chart/axes-3d/axes-3d.component.mjs +57 -0
  223. package/esm2022/component/three/three-chart/base-3d-series/base3d-series.component.mjs +29 -0
  224. package/esm2022/component/three/three-chart/directive/public-api.mjs +2 -0
  225. package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +47 -0
  226. package/esm2022/component/three/three-chart/line-3d/line-3d.component.mjs +44 -0
  227. package/esm2022/component/three/three-chart/lithotype-3d/lithotype-3d.component.mjs +80 -0
  228. package/esm2022/component/three/three-chart/model/axes-3d-min-max.mjs +2 -0
  229. package/esm2022/component/three/three-chart/model/axis-3d-point.mjs +2 -0
  230. package/esm2022/component/three/three-chart/model/base-3d-series.mjs +2 -0
  231. package/esm2022/component/three/three-chart/model/base-3d-three-point.mjs +2 -0
  232. package/esm2022/component/three/three-chart/model/enum/public-api.mjs +2 -0
  233. package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +6 -0
  234. package/esm2022/component/three/three-chart/model/i-3d-chart-config.mjs +2 -0
  235. package/esm2022/component/three/three-chart/model/line-3d-point.mjs +2 -0
  236. package/esm2022/component/three/three-chart/model/line-3d-series.mjs +2 -0
  237. package/esm2022/component/three/three-chart/model/lithotype-3d-point.mjs +2 -0
  238. package/esm2022/component/three/three-chart/model/lithotype-3d-series.mjs +2 -0
  239. package/esm2022/component/three/three-chart/model/public-api.mjs +11 -0
  240. package/esm2022/component/three/three-chart/scene/scene.component.mjs +47 -0
  241. package/esm2022/component/three/three-chart/service/chart-3d.service.mjs +82 -0
  242. package/esm2022/component/three/three-chart/three-chart.component.mjs +37 -0
  243. package/esm2022/component/toggle/toggle/toggle.component.mjs +3 -3
  244. package/esm2022/component/toggle/toggle.module.mjs +4 -4
  245. package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +3 -3
  246. package/esm2022/component/toolbar/toolbar.module.mjs +4 -4
  247. package/esm2022/component/tree/tree/tree.component.mjs +3 -3
  248. package/esm2022/component/tree/tree-item/tree-item.component.mjs +3 -3
  249. package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +3 -3
  250. package/esm2022/component/tree/tree.module.mjs +4 -4
  251. package/esm2022/component/tree/tree.service.mjs +3 -3
  252. package/esm2022/directive/auto-position/auto-position.directive.mjs +3 -3
  253. package/esm2022/directive/auto-position/auto-position.module.mjs +4 -4
  254. package/esm2022/directive/click-outside/click-outside.directive.mjs +3 -3
  255. package/esm2022/directive/click-outside/click-outside.module.mjs +4 -4
  256. package/esm2022/directive/context-menu/context-menu.directive.mjs +10 -10
  257. package/esm2022/directive/context-menu/context-menu.module.mjs +4 -4
  258. package/esm2022/directive/disable-control/disable-control.directive.mjs +3 -3
  259. package/esm2022/directive/disable-control/disable-control.module.mjs +4 -4
  260. package/esm2022/directive/drag-drop/drag-container.directive.mjs +3 -3
  261. package/esm2022/directive/drag-drop/drag-drop.module.mjs +4 -4
  262. package/esm2022/directive/drag-drop/drag-drop.service.mjs +3 -3
  263. package/esm2022/directive/drag-drop/drag-placeholder.directive.mjs +3 -3
  264. package/esm2022/directive/drag-drop/drag-preview.directive.mjs +3 -3
  265. package/esm2022/directive/drag-drop/drag.directive.mjs +20 -16
  266. package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +6 -10
  267. package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +4 -4
  268. package/esm2022/directive/drag-sort/drag-sort.module.mjs +4 -4
  269. package/esm2022/directive/dynamic-content-base.directive.mjs +8 -10
  270. package/esm2022/directive/highlight/highlight.directive.mjs +3 -3
  271. package/esm2022/directive/highlight/highlight.module.mjs +4 -4
  272. package/esm2022/directive/hint/hint.directive.mjs +13 -10
  273. package/esm2022/directive/hint/hint.module.mjs +4 -4
  274. package/esm2022/directive/let/let.directive.mjs +3 -3
  275. package/esm2022/directive/let/let.module.mjs +4 -4
  276. package/esm2022/directive/loader/loader.directive.mjs +8 -10
  277. package/esm2022/directive/loader/loader.module.mjs +4 -4
  278. package/esm2022/directive/no-autofill/no-autofill.directive.mjs +3 -3
  279. package/esm2022/directive/no-autofill/no-autofill.module.mjs +4 -4
  280. package/esm2022/directive/only-number/only-number.directive.mjs +4 -8
  281. package/esm2022/directive/only-number/only-number.module.mjs +4 -4
  282. package/esm2022/directive/resize-drag/resize-drag.directive.mjs +3 -3
  283. package/esm2022/directive/resize-drag/resize-drag.module.mjs +4 -4
  284. package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +3 -3
  285. package/esm2022/directive/scroll-into-view/scroll-into-view.module.mjs +4 -4
  286. package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +3 -3
  287. package/esm2022/directive/scrollable/scrollable.directive.mjs +3 -3
  288. package/esm2022/directive/scrollable/scrollable.module.mjs +4 -4
  289. package/esm2022/directive/teta-template/teta-template.directive.mjs +3 -3
  290. package/esm2022/directive/teta-template/teta-template.module.mjs +4 -4
  291. package/esm2022/directive/tooltip/tooltip.directive.mjs +12 -13
  292. package/esm2022/directive/tooltip/tooltip.module.mjs +4 -4
  293. package/esm2022/locale/teta-config.service.mjs +3 -3
  294. package/esm2022/pipe/date-pipe/teta-date-pipe.module.mjs +4 -4
  295. package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +3 -3
  296. package/esm2022/pipe/number-pipe/number-pipe.module.mjs +4 -4
  297. package/esm2022/pipe/number-pipe/number.pipe.mjs +3 -3
  298. package/esm2022/util/forms-util.mjs +11 -5
  299. package/fesm2022/tetacom-ng-components.mjs +1989 -1480
  300. package/fesm2022/tetacom-ng-components.mjs.map +1 -1
  301. package/package.json +11 -7
  302. package/style/dropdown.scss +3 -3
  303. package/style/table.scss +4 -0
  304. package/util/forms-util.d.ts +1 -1
@@ -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.1.4", 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.1.4", 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.1.4", 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.1.4", 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.1.4", 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.1.4", 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: [{
@@ -10,7 +10,7 @@ import { HeadCellHostComponent } from './head-cell-host/head-cell-host.component
10
10
  import { TableHeadComponent } from './table-head/table-head.component';
11
11
  import { TableBodyComponent } from './table-body/table-body.component';
12
12
  import { CellComponent } from './cell/cell.component';
13
- import { FormsModule } from '@angular/forms';
13
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
14
14
  import { CheckboxModule } from '../checkbox/checkbox.module';
15
15
  import { CellHostComponent } from './cell-host/cell-host.component';
16
16
  import { TableHeadGroupComponent } from './table-head-group/table-head-group.component';
@@ -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.1.4", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
46
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", 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,
@@ -82,7 +82,8 @@ export class TableModule {
82
82
  ResizeDragModule,
83
83
  ScrollingModule,
84
84
  ContextMenuModule,
85
- ScrollableModule], exports: [TableComponent,
85
+ ScrollableModule,
86
+ ReactiveFormsModule], exports: [TableComponent,
86
87
  NumericCellComponent,
87
88
  ListCellComponent,
88
89
  DateCellComponent,
@@ -94,7 +95,7 @@ export class TableModule {
94
95
  CellHostComponent,
95
96
  DateTimeCellComponent,
96
97
  BooleanCellComponent] });
97
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", 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,
98
99
  FilterModule,
99
100
  FormsModule,
100
101
  CheckboxModule,
@@ -113,9 +114,10 @@ export class TableModule {
113
114
  ResizeDragModule,
114
115
  ScrollingModule,
115
116
  ContextMenuModule,
116
- ScrollableModule] });
117
+ ScrollableModule,
118
+ ReactiveFormsModule] });
117
119
  }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: TableModule, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableModule, decorators: [{
119
121
  type: NgModule,
120
122
  args: [{
121
123
  declarations: [
@@ -176,7 +178,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
176
178
  ScrollingModule,
177
179
  ContextMenuModule,
178
180
  ScrollableModule,
181
+ ReactiveFormsModule,
179
182
  ],
180
183
  }]
181
184
  }] });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVB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VUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VGFibGVDb21wb25lbnR9IGZyb20gJy4vdGFibGUvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7RmlsdGVyTW9kdWxlfSBmcm9tICcuLi9maWx0ZXIvZmlsdGVyLm1vZHVsZSc7XG5pbXBvcnQge051bWVyaWNDZWxsQ29tcG9uZW50fSBmcm9tICcuL2RlZmF1bHQvbnVtZXJpYy1jZWxsL251bWVyaWMtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtMaXN0Q2VsbENvbXBvbmVudH0gZnJvbSAnLi9kZWZhdWx0L2xpc3QtY2VsbC9saXN0LWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7RGF0ZUNlbGxDb21wb25lbnR9IGZyb20gJy4vZGVmYXVsdC9kYXRlLWNlbGwvZGF0ZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge1N0cmluZ0NlbGxDb21wb25lbnR9IGZyb20gJy4vZGVmYXVsdC9zdHJpbmctY2VsbC9zdHJpbmctY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtIZWFkQ2VsbEhvc3RDb21wb25lbnR9IGZyb20gJy4vaGVhZC1jZWxsLWhvc3QvaGVhZC1jZWxsLWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7VGFibGVIZWFkQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlLWhlYWQvdGFibGUtaGVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJsZUJvZHlDb21wb25lbnR9IGZyb20gJy4vdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQge0NlbGxDb21wb25lbnR9IGZyb20gJy4vY2VsbC9jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NoZWNrYm94TW9kdWxlfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5tb2R1bGUnO1xuaW1wb3J0IHtDZWxsSG9zdENvbXBvbmVudH0gZnJvbSAnLi9jZWxsLWhvc3QvY2VsbC1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQge1RhYmxlSGVhZEdyb3VwQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlLWhlYWQtZ3JvdXAvdGFibGUtaGVhZC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtIZWFkQ2VsbENvbXBvbmVudH0gZnJvbSAnLi9oZWFkLWNlbGwvaGVhZC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge0RlZmF1bHRIZWFkQ2VsbENvbXBvbmVudH0gZnJvbSAnLi9kZWZhdWx0L2RlZmF1bHQtaGVhZC1jZWxsL2RlZmF1bHQtaGVhZC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge0ljb25Nb2R1bGV9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHtEcm9wZG93bk1vZHVsZX0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJztcbmltcG9ydCB7VGFic01vZHVsZX0gZnJvbSAnLi4vdGFicy90YWJzLm1vZHVsZSc7XG5pbXBvcnQge1NlbGVjdE1vZHVsZX0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHtOdW1iZXJQaXBlTW9kdWxlfSBmcm9tICcuLi8uLi9waXBlL251bWJlci1waXBlL251bWJlci1waXBlLm1vZHVsZSc7XG5pbXBvcnQge0RhdGVQaWNrZXJNb2R1bGV9IGZyb20gJy4uL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLm1vZHVsZSc7XG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHtTZWxlY3Rpb25DZWxsQ29tcG9uZW50fSBmcm9tICcuL3NlbGVjdGlvbi1jZWxsL3NlbGVjdGlvbi1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdGlvbkhlYWRDZWxsQ29tcG9uZW50fSBmcm9tICcuL3NlbGVjdGlvbi1oZWFkLWNlbGwvc2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtIaW50TW9kdWxlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaGludC9oaW50Lm1vZHVsZSc7XG5pbXBvcnQge1RyZWVNb2R1bGV9IGZyb20gJy4uL3RyZWUvdHJlZS5tb2R1bGUnO1xuaW1wb3J0IHtIZWFkQ2VsbERyb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuL2hlYWQtY2VsbC1kcm9wZG93bi9oZWFkLWNlbGwtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7RGF0ZVRpbWVDZWxsQ29tcG9uZW50fSBmcm9tICcuL2RlZmF1bHQvZGF0ZS10aW1lLWNlbGwvZGF0ZS10aW1lLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7T25seU51bWJlck1vZHVsZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL29ubHktbnVtYmVyL29ubHktbnVtYmVyLm1vZHVsZSc7XG5pbXBvcnQge0Jvb2xlYW5DZWxsQ29tcG9uZW50fSBmcm9tICcuL2RlZmF1bHQvYm9vbGVhbi1jZWxsL2Jvb2xlYW4tY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUb29sYmFyTW9kdWxlfSBmcm9tICcuLi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmltcG9ydCB7Q2xpY2tPdXRzaWRlTW9kdWxlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLm1vZHVsZSc7XG5pbXBvcnQge1Jlc2l6ZURyYWdNb2R1bGV9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9yZXNpemUtZHJhZy9yZXNpemUtZHJhZy5tb2R1bGUnO1xuaW1wb3J0IHtTY3JvbGxpbmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtDb250ZXh0TWVudU1vZHVsZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUubW9kdWxlJztcbmltcG9ydCB7TWFpbkRyb3Bkb3duVGFiQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlLWhlYWQvbWFpbi1kcm9wZG93bi10YWIvbWFpbi1kcm9wZG93bi10YWIuY29tcG9uZW50JztcbmltcG9ydCB7RmlsdGVyRHJvcGRvd25UYWJDb21wb25lbnR9IGZyb20gJy4vdGFibGUtaGVhZC9maWx0ZXItZHJvcGRvd24tdGFiL2ZpbHRlci1kcm9wZG93bi10YWIuY29tcG9uZW50JztcbmltcG9ydCB7VmlzaWJpbGl0eURyb3Bkb3duVGFiQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlLWhlYWQvdmlzaWJpbGl0eS1kcm9wZG93bi10YWIvdmlzaWJpbGl0eS1kcm9wZG93bi10YWIuY29tcG9uZW50JztcbmltcG9ydCB7U2Nyb2xsYWJsZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZS9zY3JvbGxhYmxlL3Njcm9sbGFibGUubW9kdWxlXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIE51bWVyaWNDZWxsQ29tcG9uZW50LFxuICAgIExpc3RDZWxsQ29tcG9uZW50LFxuICAgIERhdGVDZWxsQ29tcG9uZW50LFxuICAgIFN0cmluZ0NlbGxDb21wb25lbnQsXG4gICAgSGVhZENlbGxIb3N0Q29tcG9uZW50LFxuICAgIFRhYmxlSGVhZENvbXBvbmVudCxcbiAgICBUYWJsZUJvZHlDb21wb25lbnQsXG4gICAgQ2VsbENvbXBvbmVudCxcbiAgICBDZWxsSG9zdENvbXBvbmVudCxcbiAgICBUYWJsZUhlYWRHcm91cENvbXBvbmVudCxcbiAgICBIZWFkQ2VsbENvbXBvbmVudCxcbiAgICBEZWZhdWx0SGVhZENlbGxDb21wb25lbnQsXG4gICAgU2VsZWN0aW9uQ2VsbENvbXBvbmVudCxcbiAgICBTZWxlY3Rpb25IZWFkQ2VsbENvbXBvbmVudCxcbiAgICBIZWFkQ2VsbERyb3Bkb3duQ29tcG9uZW50LFxuICAgIERhdGVUaW1lQ2VsbENvbXBvbmVudCxcbiAgICBCb29sZWFuQ2VsbENvbXBvbmVudCxcbiAgICBNYWluRHJvcGRvd25UYWJDb21wb25lbnQsXG4gICAgRmlsdGVyRHJvcGRvd25UYWJDb21wb25lbnQsXG4gICAgVmlzaWJpbGl0eURyb3Bkb3duVGFiQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGFibGVDb21wb25lbnQsXG4gICAgTnVtZXJpY0NlbGxDb21wb25lbnQsXG4gICAgTGlzdENlbGxDb21wb25lbnQsXG4gICAgRGF0ZUNlbGxDb21wb25lbnQsXG4gICAgU3RyaW5nQ2VsbENvbXBvbmVudCxcbiAgICBIZWFkQ2VsbEhvc3RDb21wb25lbnQsXG4gICAgVGFibGVIZWFkQ29tcG9uZW50LFxuICAgIFRhYmxlQm9keUNvbXBvbmVudCxcbiAgICBDZWxsQ29tcG9uZW50LFxuICAgIENlbGxIb3N0Q29tcG9uZW50LFxuICAgIERhdGVUaW1lQ2VsbENvbXBvbmVudCxcbiAgICBCb29sZWFuQ2VsbENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGaWx0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ2hlY2tib3hNb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBOdW1iZXJQaXBlTW9kdWxlLFxuICAgIERhdGVQaWNrZXJNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIEhpbnRNb2R1bGUsXG4gICAgVHJlZU1vZHVsZSxcbiAgICBPbmx5TnVtYmVyTW9kdWxlLFxuICAgIFRvb2xiYXJNb2R1bGUsXG4gICAgQ2xpY2tPdXRzaWRlTW9kdWxlLFxuICAgIFJlc2l6ZURyYWdNb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIENvbnRleHRNZW51TW9kdWxlLFxuICAgIFNjcm9sbGFibGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9kdWxlIHtcbn1cbiJdfQ==
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztB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QixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1RhYmxlQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpbHRlck1vZHVsZX0gZnJvbSAnLi4vZmlsdGVyL2ZpbHRlci5tb2R1bGUnO1xuaW1wb3J0IHtOdW1lcmljQ2VsbENvbXBvbmVudH0gZnJvbSAnLi9kZWZhdWx0L251bWVyaWMtY2VsbC9udW1lcmljLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7TGlzdENlbGxDb21wb25lbnR9IGZyb20gJy4vZGVmYXVsdC9saXN0LWNlbGwvbGlzdC1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge0RhdGVDZWxsQ29tcG9uZW50fSBmcm9tICcuL2RlZmF1bHQvZGF0ZS1jZWxsL2RhdGUtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtTdHJpbmdDZWxsQ29tcG9uZW50fSBmcm9tICcuL2RlZmF1bHQvc3RyaW5nLWNlbGwvc3RyaW5nLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7SGVhZENlbGxIb3N0Q29tcG9uZW50fSBmcm9tICcuL2hlYWQtY2VsbC1ob3N0L2hlYWQtY2VsbC1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQge1RhYmxlSGVhZENvbXBvbmVudH0gZnJvbSAnLi90YWJsZS1oZWFkL3RhYmxlLWhlYWQuY29tcG9uZW50JztcbmltcG9ydCB7VGFibGVCb2R5Q29tcG9uZW50fSBmcm9tICcuL3RhYmxlLWJvZHkvdGFibGUtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHtDZWxsQ29tcG9uZW50fSBmcm9tICcuL2NlbGwvY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDaGVja2JveE1vZHVsZX0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3gubW9kdWxlJztcbmltcG9ydCB7Q2VsbEhvc3RDb21wb25lbnR9IGZyb20gJy4vY2VsbC1ob3N0L2NlbGwtaG9zdC5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJsZUhlYWRHcm91cENvbXBvbmVudH0gZnJvbSAnLi90YWJsZS1oZWFkLWdyb3VwL3RhYmxlLWhlYWQtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7SGVhZENlbGxDb21wb25lbnR9IGZyb20gJy4vaGVhZC1jZWxsL2hlYWQtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtEZWZhdWx0SGVhZENlbGxDb21wb25lbnR9IGZyb20gJy4vZGVmYXVsdC9kZWZhdWx0LWhlYWQtY2VsbC9kZWZhdWx0LWhlYWQtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtJY29uTW9kdWxlfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7RHJvcGRvd25Nb2R1bGV9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XG5pbXBvcnQge1RhYnNNb2R1bGV9IGZyb20gJy4uL3RhYnMvdGFicy5tb2R1bGUnO1xuaW1wb3J0IHtTZWxlY3RNb2R1bGV9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3QubW9kdWxlJztcbmltcG9ydCB7TnVtYmVyUGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZS9udW1iZXItcGlwZS9udW1iZXItcGlwZS5tb2R1bGUnO1xuaW1wb3J0IHtEYXRlUGlja2VyTW9kdWxlfSBmcm9tICcuLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUnO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGV9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7U2VsZWN0aW9uQ2VsbENvbXBvbmVudH0gZnJvbSAnLi9zZWxlY3Rpb24tY2VsbC9zZWxlY3Rpb24tY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3Rpb25IZWFkQ2VsbENvbXBvbmVudH0gZnJvbSAnLi9zZWxlY3Rpb24taGVhZC1jZWxsL3NlbGVjdGlvbi1oZWFkLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7SGludE1vZHVsZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hpbnQvaGludC5tb2R1bGUnO1xuaW1wb3J0IHtUcmVlTW9kdWxlfSBmcm9tICcuLi90cmVlL3RyZWUubW9kdWxlJztcbmltcG9ydCB7SGVhZENlbGxEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi9oZWFkLWNlbGwtZHJvcGRvd24vaGVhZC1jZWxsLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQge0RhdGVUaW1lQ2VsbENvbXBvbmVudH0gZnJvbSAnLi9kZWZhdWx0L2RhdGUtdGltZS1jZWxsL2RhdGUtdGltZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQge09ubHlOdW1iZXJNb2R1bGV9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vbmx5LW51bWJlci9vbmx5LW51bWJlci5tb2R1bGUnO1xuaW1wb3J0IHtCb29sZWFuQ2VsbENvbXBvbmVudH0gZnJvbSAnLi9kZWZhdWx0L2Jvb2xlYW4tY2VsbC9ib29sZWFuLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7VG9vbGJhck1vZHVsZX0gZnJvbSAnLi4vdG9vbGJhci90b29sYmFyLm1vZHVsZSc7XG5pbXBvcnQge0NsaWNrT3V0c2lkZU1vZHVsZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5tb2R1bGUnO1xuaW1wb3J0IHtSZXNpemVEcmFnTW9kdWxlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvcmVzaXplLWRyYWcvcmVzaXplLWRyYWcubW9kdWxlJztcbmltcG9ydCB7U2Nyb2xsaW5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7Q29udGV4dE1lbnVNb2R1bGV9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51Lm1vZHVsZSc7XG5pbXBvcnQge01haW5Ecm9wZG93blRhYkNvbXBvbmVudH0gZnJvbSAnLi90YWJsZS1oZWFkL21haW4tZHJvcGRvd24tdGFiL21haW4tZHJvcGRvd24tdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpbHRlckRyb3Bkb3duVGFiQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlLWhlYWQvZmlsdGVyLWRyb3Bkb3duLXRhYi9maWx0ZXItZHJvcGRvd24tdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1Zpc2liaWxpdHlEcm9wZG93blRhYkNvbXBvbmVudH0gZnJvbSAnLi90YWJsZS1oZWFkL3Zpc2liaWxpdHktZHJvcGRvd24tdGFiL3Zpc2liaWxpdHktZHJvcGRvd24tdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1Njcm9sbGFibGVNb2R1bGV9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmUvc2Nyb2xsYWJsZS9zY3JvbGxhYmxlLm1vZHVsZVwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUYWJsZUNvbXBvbmVudCxcbiAgICBOdW1lcmljQ2VsbENvbXBvbmVudCxcbiAgICBMaXN0Q2VsbENvbXBvbmVudCxcbiAgICBEYXRlQ2VsbENvbXBvbmVudCxcbiAgICBTdHJpbmdDZWxsQ29tcG9uZW50LFxuICAgIEhlYWRDZWxsSG9zdENvbXBvbmVudCxcbiAgICBUYWJsZUhlYWRDb21wb25lbnQsXG4gICAgVGFibGVCb2R5Q29tcG9uZW50LFxuICAgIENlbGxDb21wb25lbnQsXG4gICAgQ2VsbEhvc3RDb21wb25lbnQsXG4gICAgVGFibGVIZWFkR3JvdXBDb21wb25lbnQsXG4gICAgSGVhZENlbGxDb21wb25lbnQsXG4gICAgRGVmYXVsdEhlYWRDZWxsQ29tcG9uZW50LFxuICAgIFNlbGVjdGlvbkNlbGxDb21wb25lbnQsXG4gICAgU2VsZWN0aW9uSGVhZENlbGxDb21wb25lbnQsXG4gICAgSGVhZENlbGxEcm9wZG93bkNvbXBvbmVudCxcbiAgICBEYXRlVGltZUNlbGxDb21wb25lbnQsXG4gICAgQm9vbGVhbkNlbGxDb21wb25lbnQsXG4gICAgTWFpbkRyb3Bkb3duVGFiQ29tcG9uZW50LFxuICAgIEZpbHRlckRyb3Bkb3duVGFiQ29tcG9uZW50LFxuICAgIFZpc2liaWxpdHlEcm9wZG93blRhYkNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIE51bWVyaWNDZWxsQ29tcG9uZW50LFxuICAgIExpc3RDZWxsQ29tcG9uZW50LFxuICAgIERhdGVDZWxsQ29tcG9uZW50LFxuICAgIFN0cmluZ0NlbGxDb21wb25lbnQsXG4gICAgSGVhZENlbGxIb3N0Q29tcG9uZW50LFxuICAgIFRhYmxlSGVhZENvbXBvbmVudCxcbiAgICBUYWJsZUJvZHlDb21wb25lbnQsXG4gICAgQ2VsbENvbXBvbmVudCxcbiAgICBDZWxsSG9zdENvbXBvbmVudCxcbiAgICBEYXRlVGltZUNlbGxDb21wb25lbnQsXG4gICAgQm9vbGVhbkNlbGxDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRmlsdGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENoZWNrYm94TW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgTnVtYmVyUGlwZU1vZHVsZSxcbiAgICBEYXRlUGlja2VyTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBIaW50TW9kdWxlLFxuICAgIFRyZWVNb2R1bGUsXG4gICAgT25seU51bWJlck1vZHVsZSxcbiAgICBUb29sYmFyTW9kdWxlLFxuICAgIENsaWNrT3V0c2lkZU1vZHVsZSxcbiAgICBSZXNpemVEcmFnTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICBDb250ZXh0TWVudU1vZHVsZSxcbiAgICBTY3JvbGxhYmxlTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9kdWxlIHtcbn1cbiJdfQ==
@@ -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.1.4", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", 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.1.4", 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.1.4", ngImport: i0, type: TabContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", 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.1.4", 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.1.4", ngImport: i0, type: TabTitleDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", 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.1.4", 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.1.4", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", 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.1.4", 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.1.4", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", 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.1.4", 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.1.4", 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.1.4", ngImport: i0, type: ThemeSwitchComponent, deps: [{ token: i1.ThemeSwitchService }], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", 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.1.4", 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.1.4", ngImport: i0, type: ThemeSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", 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.1.4", 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.1.4", 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.1.4", ngImport: i0, type: ThemeSwitchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.4", 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.1.4", 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/directive/public-api';
6
+ export * from './three-chart/line-3d/line-3d.component';
7
+ export * from './three-chart/lithotype-3d/lithotype-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tc2VyaWVzL2N1c3RvbS1zZXJpZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvYXJlYS0zZC9hcmVhLTNkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aHJlZS1jaGFydC9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2RpcmVjdGl2ZS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvbGluZS0zZC9saW5lLTNkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2xpdGhvdHlwZS0zZC9saXRob3R5cGUtM2QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvbW9kZWwvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L3NjZW5lL3NjZW5lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L3RocmVlLWNoYXJ0LmNvbXBvbmVudCc7XG4iXX0=
@@ -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==
@@ -0,0 +1,2 @@
1
+ export * from './series-3d-host';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvZGlyZWN0aXZlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VyaWVzLTNkLWhvc3QnO1xuIl19