@acorex/components 6.5.70 → 6.5.90

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 (475) hide show
  1. package/README.md +7 -3
  2. package/esm2022/acorex-components.mjs +5 -0
  3. package/esm2022/index.mjs +158 -0
  4. package/esm2022/lib/accordion/accordion.component.mjs +45 -0
  5. package/esm2022/lib/accordion/accordion.module.mjs +20 -0
  6. package/esm2022/lib/base/base-page.class.mjs +95 -0
  7. package/esm2022/lib/base/components.class.mjs +17 -0
  8. package/esm2022/lib/base/element.class.mjs +301 -0
  9. package/esm2022/lib/base/events.class.mjs +17 -0
  10. package/esm2022/lib/button/button.component.mjs +74 -0
  11. package/esm2022/lib/button/button.module.mjs +21 -0
  12. package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +426 -0
  13. package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
  14. package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +59 -0
  15. package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +16 -0
  16. package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +226 -0
  17. package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +68 -0
  18. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +136 -0
  19. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
  20. package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +49 -0
  21. package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +102 -0
  22. package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +214 -0
  23. package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
  24. package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +85 -0
  25. package/esm2022/lib/checkbox/checkbox.component.mjs +102 -0
  26. package/esm2022/lib/checkbox/checkbox.module.mjs +20 -0
  27. package/esm2022/lib/color-picker/color-box/color-box.component.mjs +423 -0
  28. package/esm2022/lib/color-picker/color-picker.component.mjs +89 -0
  29. package/esm2022/lib/color-picker/color-picker.module.mjs +24 -0
  30. package/esm2022/lib/context-menu/context-menu.component.mjs +68 -0
  31. package/esm2022/lib/context-menu/context-menu.directive.mjs +146 -0
  32. package/esm2022/lib/context-menu/context-menu.module.mjs +20 -0
  33. package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +140 -0
  34. package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +119 -0
  35. package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +75 -0
  36. package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +119 -0
  37. package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +267 -0
  38. package/esm2022/lib/data-filter/filter.class.mjs +46 -0
  39. package/esm2022/lib/data-filter/filter.module.mjs +88 -0
  40. package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +168 -0
  41. package/esm2022/lib/data-list/core/data-list.component.mjs +37 -0
  42. package/esm2022/lib/data-list/list/list.component.mjs +134 -0
  43. package/esm2022/lib/data-list/list/list.module.mjs +22 -0
  44. package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +84 -0
  45. package/esm2022/lib/data-source/datasource.component.mjs +47 -0
  46. package/esm2022/lib/data-source/datasource.module.mjs +18 -0
  47. package/esm2022/lib/data-source/read-param.mjs +7 -0
  48. package/esm2022/lib/date-picker/date-picker.component.mjs +718 -0
  49. package/esm2022/lib/date-picker/date-picker.module.mjs +49 -0
  50. package/esm2022/lib/dialog/dialog.component.mjs +26 -0
  51. package/esm2022/lib/dialog/dialog.module.mjs +21 -0
  52. package/esm2022/lib/dialog/dialog.service.mjs +160 -0
  53. package/esm2022/lib/drawer/content.component.mjs +18 -0
  54. package/esm2022/lib/drawer/drawer-container.component.mjs +38 -0
  55. package/esm2022/lib/drawer/drawer.component.mjs +146 -0
  56. package/esm2022/lib/drawer/drawer.module.mjs +23 -0
  57. package/esm2022/lib/dropdown/dropdown.component.mjs +186 -0
  58. package/esm2022/lib/dropdown/dropdown.module.mjs +26 -0
  59. package/esm2022/lib/fieldset/fieldset.component.mjs +57 -0
  60. package/esm2022/lib/fieldset/fieldset.module.mjs +19 -0
  61. package/esm2022/lib/form-group/form-group.component.mjs +37 -0
  62. package/esm2022/lib/form-group/form-group.module.mjs +21 -0
  63. package/esm2022/lib/label/label.component.mjs +19 -0
  64. package/esm2022/lib/label/label.module.mjs +21 -0
  65. package/esm2022/lib/loading/loading-indicator.component.mjs +18 -0
  66. package/esm2022/lib/loading/loading-panel.component.mjs +45 -0
  67. package/esm2022/lib/loading/loading.module.mjs +21 -0
  68. package/esm2022/lib/loading/loading.service.mjs +47 -0
  69. package/esm2022/lib/menu/menu-item.component.mjs +50 -0
  70. package/esm2022/lib/menu/menu.component.mjs +98 -0
  71. package/esm2022/lib/menu/menu.module.mjs +22 -0
  72. package/esm2022/lib/menu/menu2.component.mjs +100 -0
  73. package/esm2022/lib/number-box/number-box.component.mjs +628 -0
  74. package/esm2022/lib/number-box/number-box.module.mjs +21 -0
  75. package/esm2022/lib/page/content.component.mjs +27 -0
  76. package/esm2022/lib/page/footer.component.mjs +19 -0
  77. package/esm2022/lib/page/page.component.mjs +57 -0
  78. package/esm2022/lib/page/page.module.mjs +22 -0
  79. package/esm2022/lib/panel-box/panel-box.component.mjs +87 -0
  80. package/esm2022/lib/panel-box/panel-box.module.mjs +19 -0
  81. package/esm2022/lib/password-box/password-box.component.mjs +32 -0
  82. package/esm2022/lib/password-box/password-box.module.mjs +23 -0
  83. package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +50 -0
  84. package/esm2022/lib/popover/overlay.service.mjs +94 -0
  85. package/esm2022/lib/popover/popover.component.mjs +145 -0
  86. package/esm2022/lib/popover/popover.module.mjs +19 -0
  87. package/esm2022/lib/popup/popup.component.mjs +159 -0
  88. package/esm2022/lib/popup/popup.module.mjs +25 -0
  89. package/esm2022/lib/popup/popup.service.mjs +94 -0
  90. package/esm2022/lib/progress-bar/progress-bar.component.mjs +16 -0
  91. package/esm2022/lib/progress-bar/progress-bar.module.mjs +19 -0
  92. package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +65 -0
  93. package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +22 -0
  94. package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +41 -0
  95. package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
  96. package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +118 -0
  97. package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
  98. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +216 -0
  99. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +76 -0
  100. package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +87 -0
  101. package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
  102. package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +66 -0
  103. package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
  104. package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +145 -0
  105. package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +59 -0
  106. package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +76 -0
  107. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +75 -0
  108. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
  109. package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +73 -0
  110. package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -0
  111. package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +30 -0
  112. package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
  113. package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +36 -0
  114. package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
  115. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +35 -0
  116. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
  117. package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +47 -0
  118. package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
  119. package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +167 -0
  120. package/esm2022/lib/property-editor/property-editor.class.mjs +108 -0
  121. package/esm2022/lib/property-editor/property-editor.module.mjs +194 -0
  122. package/esm2022/lib/query-builder/query-builder-group.component.mjs +129 -0
  123. package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +177 -0
  124. package/esm2022/lib/query-builder/query-builder-rule.component.mjs +428 -0
  125. package/esm2022/lib/query-builder/query-builder.class.mjs +42 -0
  126. package/esm2022/lib/query-builder/query-builder.component.mjs +92 -0
  127. package/esm2022/lib/query-builder/query-builder.module.mjs +62 -0
  128. package/esm2022/lib/query-builder/query-builder.service.mjs +199 -0
  129. package/esm2022/lib/search-bar/search-bar.component.mjs +293 -0
  130. package/esm2022/lib/search-bar/search-bar.module.mjs +61 -0
  131. package/esm2022/lib/searchbox/searchbox.component.mjs +82 -0
  132. package/esm2022/lib/searchbox/searchbox.module.mjs +24 -0
  133. package/esm2022/lib/selectbox/selectbox.component.mjs +1025 -0
  134. package/esm2022/lib/selectbox/selectbox.module.mjs +44 -0
  135. package/esm2022/lib/selectbox/selectbox2.component.mjs +617 -0
  136. package/esm2022/lib/selection-list/selection-list.component.mjs +113 -0
  137. package/esm2022/lib/selection-list/selection-list.module.mjs +21 -0
  138. package/esm2022/lib/switch/switch.component.mjs +55 -0
  139. package/esm2022/lib/switch/switch.module.mjs +20 -0
  140. package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +75 -0
  141. package/esm2022/lib/tab-page/tab-page-host.component.mjs +124 -0
  142. package/esm2022/lib/tab-page/tab-page.module.mjs +21 -0
  143. package/esm2022/lib/tab-page/tab-page.service.mjs +158 -0
  144. package/esm2022/lib/tab-strip/tab-strip.component.mjs +38 -0
  145. package/esm2022/lib/tab-strip/tab-strip.module.mjs +19 -0
  146. package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +25 -0
  147. package/esm2022/lib/tab-view/tab-view.component.mjs +110 -0
  148. package/esm2022/lib/tab-view/tab-view.module.mjs +21 -0
  149. package/esm2022/lib/tab-view/tab.component.mjs +33 -0
  150. package/esm2022/lib/textarea/textarea.component.mjs +27 -0
  151. package/esm2022/lib/textarea/textarea.module.mjs +21 -0
  152. package/esm2022/lib/textbox/textbox.component.mjs +42 -0
  153. package/esm2022/lib/textbox/textbox.module.mjs +36 -0
  154. package/esm2022/lib/time-picker/time-picker.component.mjs +1104 -0
  155. package/esm2022/lib/time-picker/time-picker.module.mjs +34 -0
  156. package/esm2022/lib/toast/toast-message/toast-message.component.mjs +76 -0
  157. package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
  158. package/esm2022/lib/toast/toast.module.mjs +21 -0
  159. package/esm2022/lib/toast/toast.service.mjs +45 -0
  160. package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +77 -0
  161. package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +62 -0
  162. package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +56 -0
  163. package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +37 -0
  164. package/esm2022/lib/toolbar/toolbar-item.mjs +4 -0
  165. package/esm2022/lib/toolbar/toolbar.component.mjs +13 -0
  166. package/esm2022/lib/toolbar/toolbar.module.mjs +40 -0
  167. package/esm2022/lib/tooltip/tooltip.directive.mjs +104 -0
  168. package/esm2022/lib/tooltip/tooltip.module.mjs +19 -0
  169. package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +697 -0
  170. package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +33 -0
  171. package/esm2022/lib/tree-view/tree-view.component.mjs +854 -0
  172. package/esm2022/lib/tree-view/tree-view.module.mjs +22 -0
  173. package/esm2022/lib/upload-file/upload-file.component.mjs +218 -0
  174. package/esm2022/lib/upload-file/upload-file.events.mjs +2 -0
  175. package/esm2022/lib/upload-file/upload-file.module.mjs +24 -0
  176. package/esm2022/lib/validation/validation-form.component.mjs +68 -0
  177. package/esm2022/lib/validation/validation-rule.widget.mjs +114 -0
  178. package/esm2022/lib/validation/validation.class.mjs +2 -0
  179. package/esm2022/lib/validation/validation.component.mjs +89 -0
  180. package/esm2022/lib/validation/validation.module.mjs +34 -0
  181. package/{fesm2020 → fesm2022}/acorex-components.mjs +3987 -3087
  182. package/fesm2022/acorex-components.mjs.map +1 -0
  183. package/lib/accordion/accordion.component.d.ts +1 -1
  184. package/lib/base/base-page.class.d.ts +2 -2
  185. package/lib/base/element.class.d.ts +6 -6
  186. package/lib/button/button.component.d.ts +1 -1
  187. package/lib/calendar/calendar-box/calendar-box.component.d.ts +6 -6
  188. package/lib/calendar/scheduler/scheduler-views.property.d.ts +2 -2
  189. package/lib/calendar/scheduler/scheduler.class.d.ts +1 -1
  190. package/lib/calendar/scheduler/scheduler.component.d.ts +1 -1
  191. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +1 -1
  192. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +1 -1
  193. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +1 -1
  194. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +1 -1
  195. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +1 -1
  196. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +1 -1
  197. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +1 -1
  198. package/lib/checkbox/checkbox.component.d.ts +1 -1
  199. package/lib/color-picker/color-box/color-box.component.d.ts +1 -1
  200. package/lib/color-picker/color-picker.component.d.ts +1 -1
  201. package/lib/context-menu/context-menu.component.d.ts +1 -1
  202. package/lib/context-menu/context-menu.directive.d.ts +3 -3
  203. package/lib/data-filter/columns/filter-column-date.component.d.ts +1 -1
  204. package/lib/data-filter/columns/filter-column-number.component.d.ts +1 -1
  205. package/lib/data-filter/columns/filter-column-selection.component.d.ts +1 -1
  206. package/lib/data-filter/columns/filter-column-string.component.d.ts +1 -1
  207. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +1 -1
  208. package/lib/data-filter/filter.class.d.ts +1 -1
  209. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +1 -1
  210. package/lib/data-list/core/data-list.component.d.ts +1 -1
  211. package/lib/data-list/list/list.component.d.ts +1 -1
  212. package/lib/data-list/list/toolbar-list-view.component.d.ts +2 -2
  213. package/lib/data-source/datasource.component.d.ts +1 -1
  214. package/lib/date-picker/date-picker.component.d.ts +1 -1
  215. package/lib/date-picker/date-picker.module.d.ts +2 -2
  216. package/lib/dialog/dialog.component.d.ts +1 -1
  217. package/lib/drawer/content.component.d.ts +1 -1
  218. package/lib/drawer/drawer-container.component.d.ts +1 -1
  219. package/lib/drawer/drawer.component.d.ts +3 -3
  220. package/lib/dropdown/dropdown.component.d.ts +1 -1
  221. package/lib/fieldset/fieldset.component.d.ts +1 -1
  222. package/lib/form-group/form-group.component.d.ts +1 -1
  223. package/lib/label/label.component.d.ts +1 -1
  224. package/lib/loading/loading-indicator.component.d.ts +1 -1
  225. package/lib/loading/loading-panel.component.d.ts +1 -1
  226. package/lib/menu/menu-item.component.d.ts +1 -1
  227. package/lib/menu/menu.component.d.ts +1 -1
  228. package/lib/menu/menu2.component.d.ts +1 -1
  229. package/lib/number-box/number-box.component.d.ts +1 -1
  230. package/lib/page/content.component.d.ts +1 -1
  231. package/lib/page/footer.component.d.ts +1 -1
  232. package/lib/page/page.component.d.ts +1 -1
  233. package/lib/panel-box/panel-box.component.d.ts +1 -1
  234. package/lib/password-box/password-box.component.d.ts +1 -1
  235. package/lib/popover/popover.component.d.ts +1 -1
  236. package/lib/popup/popup.component.d.ts +1 -1
  237. package/lib/progress-bar/progress-bar.component.d.ts +1 -1
  238. package/lib/property-editor/editors/check-editor/check-editor.d.ts +1 -1
  239. package/lib/property-editor/editors/color-editor/color.editor.d.ts +1 -1
  240. package/lib/property-editor/editors/column-editor/column.editor.d.ts +1 -1
  241. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +1 -1
  242. package/lib/property-editor/editors/date-editor/date.editor.d.ts +1 -1
  243. package/lib/property-editor/editors/number-editor/number.editor.d.ts +1 -1
  244. package/lib/property-editor/editors/range-editor/range.editor.d.ts +1 -1
  245. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +1 -1
  246. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +1 -1
  247. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +1 -1
  248. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +1 -1
  249. package/lib/property-editor/editors/text-editor/text.editor.d.ts +1 -1
  250. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +1 -1
  251. package/lib/property-editor/editors/time-editor/time.editor.d.ts +1 -1
  252. package/lib/property-editor/property-editor-renderer.directive.d.ts +1 -1
  253. package/lib/property-editor/property-editor.class.d.ts +3 -3
  254. package/lib/query-builder/query-builder-group.component.d.ts +1 -1
  255. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +1 -1
  256. package/lib/query-builder/query-builder-rule.component.d.ts +3 -3
  257. package/lib/query-builder/query-builder.class.d.ts +4 -4
  258. package/lib/query-builder/query-builder.component.d.ts +1 -1
  259. package/lib/search-bar/search-bar.component.d.ts +1 -1
  260. package/lib/searchbox/searchbox.component.d.ts +1 -1
  261. package/lib/selectbox/selectbox.component.d.ts +1 -1
  262. package/lib/selectbox/selectbox2.component.d.ts +1 -1
  263. package/lib/selection-list/selection-list.component.d.ts +2 -2
  264. package/lib/switch/switch.component.d.ts +1 -1
  265. package/lib/tab-page/tab-page-Renderer.component.d.ts +1 -1
  266. package/lib/tab-page/tab-page-host.component.d.ts +1 -1
  267. package/lib/tab-strip/tab-strip.component.d.ts +1 -1
  268. package/lib/tab-view/dynamic-tabs.directive.d.ts +1 -1
  269. package/lib/tab-view/tab-view.component.d.ts +1 -1
  270. package/lib/tab-view/tab.component.d.ts +1 -1
  271. package/lib/textarea/textarea.component.d.ts +1 -1
  272. package/lib/textbox/textbox.component.d.ts +1 -1
  273. package/lib/textbox/textbox.module.d.ts +2 -2
  274. package/lib/time-picker/time-picker.component.d.ts +1 -1
  275. package/lib/time-picker/time-picker.module.d.ts +2 -2
  276. package/lib/toast/toast-message/toast-message.component.d.ts +1 -1
  277. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +1 -1
  278. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +1 -1
  279. package/lib/toolbar/menu/toolbar-menu.component.d.ts +1 -1
  280. package/lib/toolbar/search/toolbar-search.component.d.ts +1 -1
  281. package/lib/toolbar/title/toolbar-title.component.d.ts +1 -1
  282. package/lib/toolbar/toolbar.component.d.ts +1 -1
  283. package/lib/tooltip/tooltip.directive.d.ts +1 -1
  284. package/lib/tree-side-menu/tree-side-menu.component.d.ts +1 -1
  285. package/lib/tree-view/tree-view.component.d.ts +1 -1
  286. package/lib/upload-file/upload-file.component.d.ts +1 -1
  287. package/lib/validation/validation-form.component.d.ts +1 -1
  288. package/lib/validation/validation-rule.widget.d.ts +1 -1
  289. package/lib/validation/validation.class.d.ts +1 -1
  290. package/lib/validation/validation.component.d.ts +1 -1
  291. package/package.json +15 -20
  292. package/acorex-components.d.ts +0 -5
  293. package/esm2020/acorex-components.mjs +0 -5
  294. package/esm2020/lib/accordion/accordion.component.mjs +0 -44
  295. package/esm2020/lib/accordion/accordion.module.mjs +0 -20
  296. package/esm2020/lib/base/base-page.class.mjs +0 -94
  297. package/esm2020/lib/base/components.class.mjs +0 -17
  298. package/esm2020/lib/base/element.class.mjs +0 -294
  299. package/esm2020/lib/base/events.class.mjs +0 -11
  300. package/esm2020/lib/button/button.component.mjs +0 -71
  301. package/esm2020/lib/button/button.module.mjs +0 -21
  302. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
  303. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
  304. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
  305. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
  306. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
  307. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
  308. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
  309. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
  310. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
  311. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
  312. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
  313. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
  314. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
  315. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
  316. package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
  317. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
  318. package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
  319. package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
  320. package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
  321. package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
  322. package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
  323. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
  324. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
  325. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
  326. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
  327. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
  328. package/esm2020/lib/data-filter/filter.class.mjs +0 -44
  329. package/esm2020/lib/data-filter/filter.module.mjs +0 -90
  330. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
  331. package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
  332. package/esm2020/lib/data-list/list/list.component.mjs +0 -124
  333. package/esm2020/lib/data-list/list/list.module.mjs +0 -22
  334. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
  335. package/esm2020/lib/data-source/datasource.component.mjs +0 -47
  336. package/esm2020/lib/data-source/datasource.module.mjs +0 -18
  337. package/esm2020/lib/data-source/read-param.mjs +0 -5
  338. package/esm2020/lib/date-picker/date-picker.component.mjs +0 -702
  339. package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
  340. package/esm2020/lib/dialog/dialog.component.mjs +0 -24
  341. package/esm2020/lib/dialog/dialog.module.mjs +0 -21
  342. package/esm2020/lib/dialog/dialog.service.mjs +0 -150
  343. package/esm2020/lib/drawer/content.component.mjs +0 -18
  344. package/esm2020/lib/drawer/drawer-container.component.mjs +0 -36
  345. package/esm2020/lib/drawer/drawer.component.mjs +0 -142
  346. package/esm2020/lib/drawer/drawer.module.mjs +0 -23
  347. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -176
  348. package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
  349. package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
  350. package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
  351. package/esm2020/lib/form-group/form-group.component.mjs +0 -34
  352. package/esm2020/lib/form-group/form-group.module.mjs +0 -21
  353. package/esm2020/lib/label/label.component.mjs +0 -19
  354. package/esm2020/lib/label/label.module.mjs +0 -21
  355. package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
  356. package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
  357. package/esm2020/lib/loading/loading.module.mjs +0 -21
  358. package/esm2020/lib/loading/loading.service.mjs +0 -45
  359. package/esm2020/lib/menu/menu-item.component.mjs +0 -47
  360. package/esm2020/lib/menu/menu.component.mjs +0 -86
  361. package/esm2020/lib/menu/menu.module.mjs +0 -22
  362. package/esm2020/lib/menu/menu2.component.mjs +0 -96
  363. package/esm2020/lib/number-box/number-box.component.mjs +0 -622
  364. package/esm2020/lib/number-box/number-box.module.mjs +0 -21
  365. package/esm2020/lib/page/content.component.mjs +0 -32
  366. package/esm2020/lib/page/footer.component.mjs +0 -19
  367. package/esm2020/lib/page/page.component.mjs +0 -53
  368. package/esm2020/lib/page/page.module.mjs +0 -22
  369. package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
  370. package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
  371. package/esm2020/lib/password-box/password-box.component.mjs +0 -31
  372. package/esm2020/lib/password-box/password-box.module.mjs +0 -23
  373. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
  374. package/esm2020/lib/popover/overlay.service.mjs +0 -91
  375. package/esm2020/lib/popover/popover.component.mjs +0 -133
  376. package/esm2020/lib/popover/popover.module.mjs +0 -19
  377. package/esm2020/lib/popup/popup.component.mjs +0 -147
  378. package/esm2020/lib/popup/popup.module.mjs +0 -25
  379. package/esm2020/lib/popup/popup.service.mjs +0 -93
  380. package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
  381. package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
  382. package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
  383. package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
  384. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
  385. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
  386. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
  387. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
  388. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
  389. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
  390. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
  391. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
  392. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
  393. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
  394. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
  395. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
  396. package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
  397. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
  398. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
  399. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
  400. package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
  401. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
  402. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
  403. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
  404. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
  405. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
  406. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
  407. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
  408. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
  409. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -157
  410. package/esm2020/lib/property-editor/property-editor.class.mjs +0 -102
  411. package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
  412. package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
  413. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -172
  414. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -399
  415. package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
  416. package/esm2020/lib/query-builder/query-builder.component.mjs +0 -87
  417. package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
  418. package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
  419. package/esm2020/lib/search-bar/search-bar.component.mjs +0 -286
  420. package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
  421. package/esm2020/lib/searchbox/searchbox.component.mjs +0 -79
  422. package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
  423. package/esm2020/lib/selectbox/selectbox.component.mjs +0 -961
  424. package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
  425. package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
  426. package/esm2020/lib/selection-list/selection-list.component.mjs +0 -108
  427. package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
  428. package/esm2020/lib/switch/switch.component.mjs +0 -51
  429. package/esm2020/lib/switch/switch.module.mjs +0 -20
  430. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -71
  431. package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -114
  432. package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
  433. package/esm2020/lib/tab-page/tab-page.service.mjs +0 -160
  434. package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
  435. package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
  436. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
  437. package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
  438. package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
  439. package/esm2020/lib/tab-view/tab.component.mjs +0 -30
  440. package/esm2020/lib/textarea/textarea.component.mjs +0 -26
  441. package/esm2020/lib/textarea/textarea.module.mjs +0 -21
  442. package/esm2020/lib/textbox/textbox.component.mjs +0 -39
  443. package/esm2020/lib/textbox/textbox.module.mjs +0 -24
  444. package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
  445. package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
  446. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
  447. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
  448. package/esm2020/lib/toast/toast.module.mjs +0 -21
  449. package/esm2020/lib/toast/toast.service.mjs +0 -44
  450. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
  451. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
  452. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
  453. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
  454. package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
  455. package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
  456. package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
  457. package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
  458. package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
  459. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
  460. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
  461. package/esm2020/lib/tree-view/tree-view.component.mjs +0 -775
  462. package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
  463. package/esm2020/lib/upload-file/upload-file.component.mjs +0 -208
  464. package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
  465. package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
  466. package/esm2020/lib/validation/validation-form.component.mjs +0 -65
  467. package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
  468. package/esm2020/lib/validation/validation.class.mjs +0 -2
  469. package/esm2020/lib/validation/validation.component.mjs +0 -89
  470. package/esm2020/lib/validation/validation.module.mjs +0 -34
  471. package/esm2020/public-api.mjs +0 -158
  472. package/fesm2015/acorex-components.mjs +0 -16012
  473. package/fesm2015/acorex-components.mjs.map +0 -1
  474. package/fesm2020/acorex-components.mjs.map +0 -1
  475. /package/{public-api.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,158 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { AXHtmlUtil } from '@acorex/core';
4
+ import { TAB_META_KEY, AXPageClosedPromise } from '../base/base-page.class';
5
+ import * as i0 from "@angular/core";
6
+ export class AXTabPageService {
7
+ tabs = new Array();
8
+ opened = new Subject();
9
+ activated = new Subject();
10
+ closed = new Subject();
11
+ changed = new Subject();
12
+ constructor() { }
13
+ open(arg1, arg2, arg3) {
14
+ let newTab;
15
+ if (typeof arg1 === 'object') {
16
+ const options = Object.assign({ closable: true }, arg1);
17
+ newTab = {
18
+ title: options.title,
19
+ closable: options.closable,
20
+ content: options.content,
21
+ data: options.data,
22
+ pinned: options.pinned
23
+ };
24
+ }
25
+ else {
26
+ newTab = {
27
+ title: arg2,
28
+ closable: true,
29
+ content: arg1,
30
+ data: arg3,
31
+ };
32
+ }
33
+ newTab[TAB_META_KEY] = {};
34
+ newTab[TAB_META_KEY].uid = AXHtmlUtil.getUID();
35
+ if (newTab?.data) {
36
+ newTab[TAB_META_KEY].oldData = JSON.parse(JSON.stringify(newTab.data));
37
+ }
38
+ //
39
+ const existTab = this.tabs.find((c) => newTab[TAB_META_KEY].uid && c[TAB_META_KEY].uid === newTab[TAB_META_KEY].uid) ||
40
+ this.findExistTab(newTab.content, newTab.data);
41
+ //
42
+ if (existTab) {
43
+ return Promise.resolve(this.active(existTab));
44
+ }
45
+ this.tabs.push(newTab);
46
+ this.tabs
47
+ .filter((c) => c[TAB_META_KEY].uid !== newTab[TAB_META_KEY].uid)
48
+ .forEach((t) => {
49
+ t[TAB_META_KEY].active = false;
50
+ });
51
+ this.opened.next(newTab);
52
+ this.active(newTab);
53
+ const promise = new AXPageClosedPromise((resolve) => {
54
+ newTab[TAB_META_KEY].close = (e) => {
55
+ if (resolve) {
56
+ delete e.cancel;
57
+ resolve(e);
58
+ }
59
+ };
60
+ });
61
+ promise['closeMethod'] = () => { this.close(newTab); };
62
+ return promise;
63
+ }
64
+ close(tab) {
65
+ const e = { cancel: false };
66
+ const closingFunc = tab[TAB_META_KEY].component?.onClosing;
67
+ if (closingFunc) {
68
+ const res = closingFunc(e);
69
+ if (res instanceof Promise) {
70
+ res.then(() => {
71
+ if (e == null || e.cancel !== true) {
72
+ this.doCloseAction(tab, e);
73
+ }
74
+ });
75
+ }
76
+ else {
77
+ if (e == null || e.cancel !== true) {
78
+ this.doCloseAction(tab, e);
79
+ }
80
+ }
81
+ }
82
+ else {
83
+ this.doCloseAction(tab, e);
84
+ }
85
+ }
86
+ doCloseAction(tab, e) {
87
+ const currentTab = this.tabs.find((c) => c[TAB_META_KEY].uid == tab[TAB_META_KEY].uid);
88
+ if (!currentTab) {
89
+ return;
90
+ }
91
+ const index = this.tabs.indexOf(currentTab);
92
+ this.tabs = this.tabs.filter(c => c != currentTab);
93
+ const prev = index > 0 ? this.tabs[index - 1] : this.tabs[0];
94
+ if (prev) {
95
+ this.active(prev);
96
+ }
97
+ this.closed.next(currentTab);
98
+ this.changed.next(null);
99
+ if (currentTab[TAB_META_KEY].close) {
100
+ currentTab[TAB_META_KEY].close(e);
101
+ }
102
+ }
103
+ active(arg1) {
104
+ if (!arg1) {
105
+ return {
106
+ sender: this.tabs.find((c) => c[TAB_META_KEY].active === true)
107
+ };
108
+ }
109
+ if (typeof arg1 === 'object') {
110
+ const tab = arg1;
111
+ tab[TAB_META_KEY].active = true;
112
+ this.tabs
113
+ .filter((c) => c[TAB_META_KEY].uid !== tab[TAB_META_KEY].uid)
114
+ .forEach((t) => {
115
+ t[TAB_META_KEY].active = false;
116
+ });
117
+ this.activated.next(tab);
118
+ this.changed.next(null);
119
+ return {
120
+ sender: tab
121
+ };
122
+ }
123
+ else if (typeof arg1 === 'string') {
124
+ const tab = this.tabs.find((c) => c[TAB_META_KEY].uid === arg1);
125
+ if (tab) {
126
+ return this.active(tab);
127
+ }
128
+ return null;
129
+ }
130
+ }
131
+ clear() {
132
+ this.tabs.forEach((c) => {
133
+ this.close(c);
134
+ });
135
+ this.tabs = [];
136
+ }
137
+ findExistTab(component, data) {
138
+ try {
139
+ if (!data) {
140
+ data = {};
141
+ }
142
+ const result = this.tabs.find((c) => c.content === component &&
143
+ ((!c.data) ||
144
+ JSON.parse(JSON.stringify(data)) === JSON.parse(JSON.stringify(c.data)) || JSON.stringify(data) === JSON.stringify(c[TAB_META_KEY].oldData)));
145
+ return result;
146
+ }
147
+ catch (error) {
148
+ return null;
149
+ }
150
+ }
151
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabPageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
152
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabPageService, providedIn: 'root' });
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabPageService, decorators: [{
155
+ type: Injectable,
156
+ args: [{ providedIn: 'root' }]
157
+ }], ctorParameters: function () { return []; } });
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi1wYWdlL3RhYi1wYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBK0IsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBYXpHLE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsSUFBSSxHQUFnQixJQUFJLEtBQUssRUFBYSxDQUFDO0lBQzNDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO0lBQ2xDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSXhCLGdCQUFnQixDQUFDO0lBTWpCLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSyxFQUFFLElBQUs7UUFDckIsSUFBSSxNQUFpQixDQUFDO1FBQ3RCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEQsTUFBTSxHQUFHO2dCQUNQLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDcEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2dCQUMxQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtnQkFD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UyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQy9JLENBQUM7WUFDRixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQzt1R0FqS1UsZ0JBQWdCOzJHQUFoQixnQkFBZ0IsY0FESCxNQUFNOzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYSHRtbFV0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWFBhZ2VDbG9zaW5nLCBBWFBhZ2VSZXN1bHQsIFRBQl9NRVRBX0tFWSwgQVhQYWdlQ2xvc2VkUHJvbWlzZSB9IGZyb20gJy4uL2Jhc2UvYmFzZS1wYWdlLmNsYXNzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhUYWJQYWdlIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGNvbnRlbnQ6IGFueTtcclxuICBjbG9zYWJsZT86IGJvb2xlYW47XHJcbiAgZGF0YT86IGFueTtcclxuICBwaW5uZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWFRhYlBhZ2VTZXJ2aWNlIHtcclxuXHJcblxyXG5cclxuICB0YWJzOiBBWFRhYlBhZ2VbXSA9IG5ldyBBcnJheTxBWFRhYlBhZ2U+KCk7XHJcbiAgb3BlbmVkID0gbmV3IFN1YmplY3Q8QVhUYWJQYWdlPigpO1xyXG4gIGFjdGl2YXRlZCA9IG5ldyBTdWJqZWN0PEFYVGFiUGFnZT4oKTtcclxuICBjbG9zZWQgPSBuZXcgU3ViamVjdDxBWFRhYlBhZ2U+KCk7XHJcbiAgY2hhbmdlZCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgb3Blbihjb250ZW50OiBhbnksIHRpdGxlOiBzdHJpbmcpOiBBWFBhZ2VDbG9zZWRQcm9taXNlO1xyXG4gIG9wZW4oY29udGVudDogYW55LCB0aXRsZTogc3RyaW5nLCBkYXRhPzogYW55KTogQVhQYWdlQ2xvc2VkUHJvbWlzZTtcclxuICBvcGVuKG9wdGlvbnM6IEFYVGFiUGFnZSk6IEFYUGFnZUNsb3NlZFByb21pc2U7XHJcblxyXG4gIG9wZW4oYXJnMSwgYXJnMj8sIGFyZzM/KSB7XHJcbiAgICBsZXQgbmV3VGFiOiBBWFRhYlBhZ2U7XHJcbiAgICBpZiAodHlwZW9mIGFyZzEgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHsgY2xvc2FibGU6IHRydWUgfSwgYXJnMSk7XHJcbiAgICAgIG5ld1RhYiA9IHtcclxuICAgICAgICB0aXRsZTogb3B0aW9ucy50aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogb3B0aW9ucy5jbG9zYWJsZSxcclxuICAgICAgICBjb250ZW50OiBvcHRpb25zLmNvbnRlbnQsXHJcbiAgICAgICAgZGF0YTogb3B0aW9ucy5kYXRhLFxyXG4gICAgICAgIHBpbm5lZDogb3B0aW9ucy5waW5uZWRcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld1RhYiA9IHtcclxuICAgICAgICB0aXRsZTogYXJnMixcclxuICAgICAgICBjbG9zYWJsZTogdHJ1ZSxcclxuICAgICAgICBjb250ZW50OiBhcmcxLFxyXG4gICAgICAgIGRhdGE6IGFyZzMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBuZXdUYWJbVEFCX01FVEFfS0VZXSA9IHt9O1xyXG4gICAgbmV3VGFiW1RBQl9NRVRBX0tFWV0udWlkID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcclxuICAgIGlmIChuZXdUYWI/LmRhdGEpIHtcclxuICAgICAgbmV3VGFiW1RBQl9NRVRBX0tFWV0ub2xkRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobmV3VGFiLmRhdGEpKVxyXG4gICAgfVxyXG4gICAgLy9cclxuICAgIGNvbnN0IGV4aXN0VGFiID0gdGhpcy50YWJzLmZpbmQoKGMpID0+IG5ld1RhYltUQUJfTUVUQV9LRVldLnVpZCAmJiBjW1RBQl9NRVRBX0tFWV0udWlkID09PSBuZXdUYWJbVEFCX01FVEFfS0VZXS51aWQpIHx8XHJcbiAgICAgIHRoaXMuZmluZEV4aXN0VGFiKG5ld1RhYi5jb250ZW50LCBuZXdUYWIuZGF0YSk7XHJcbiAgICAvL1xyXG4gICAgaWYgKGV4aXN0VGFiKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5hY3RpdmUoZXhpc3RUYWIpKTtcclxuICAgIH1cclxuICAgIHRoaXMudGFicy5wdXNoKG5ld1RhYik7XHJcbiAgICB0aGlzLnRhYnNcclxuICAgICAgLmZpbHRlcigoYykgPT4gY1tUQUJfTUVUQV9LRVldLnVpZCAhPT0gbmV3VGFiW1RBQl9NRVRBX0tFWV0udWlkKVxyXG4gICAgICAuZm9yRWFjaCgodCkgPT4ge1xyXG4gICAgICAgIHRbVEFCX01FVEFfS0VZXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLm9wZW5lZC5uZXh0KG5ld1RhYik7XHJcbiAgICB0aGlzLmFjdGl2ZShuZXdUYWIpO1xyXG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBBWFBhZ2VDbG9zZWRQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIG5ld1RhYltUQUJfTUVUQV9LRVldLmNsb3NlID0gKGUpID0+IHtcclxuICAgICAgICBpZiAocmVzb2x2ZSkge1xyXG4gICAgICAgICAgZGVsZXRlIGUuY2FuY2VsO1xyXG4gICAgICAgICAgcmVzb2x2ZShlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIHByb21pc2VbJ2Nsb3NlTWV0aG9kJ10gPSAoKSA9PiB7IHRoaXMuY2xvc2UobmV3VGFiKTsgfTtcclxuICAgIHJldHVybiBwcm9taXNlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UodGFiOiBBWFRhYlBhZ2UpIHtcclxuICAgIGNvbnN0IGUgPSB7IGNhbmNlbDogZmFsc2UgfTtcclxuICAgIGNvbnN0IGNsb3NpbmdGdW5jID0gdGFiW1RBQl9NRVRBX0tFWV0uY29tcG9uZW50Py5vbkNsb3Npbmc7XHJcbiAgICBpZiAoY2xvc2luZ0Z1bmMpIHtcclxuICAgICAgY29uc3QgcmVzID0gY2xvc2luZ0Z1bmMoZSk7XHJcbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgcmVzLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGUgPT0gbnVsbCB8fCBlLmNhbmNlbCAhPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmRvQ2xvc2VBY3Rpb24odGFiLCBlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAoZSA9PSBudWxsIHx8IGUuY2FuY2VsICE9PSB0cnVlKSB7XHJcbiAgICAgICAgICB0aGlzLmRvQ2xvc2VBY3Rpb24odGFiLCBlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZG9DbG9zZUFjdGlvbih0YWIsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkb0Nsb3NlQWN0aW9uKHRhYjogQVhUYWJQYWdlLCBlOiBBWFBhZ2VDbG9zaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50VGFiID0gdGhpcy50YWJzLmZpbmQoKGMpID0+IGNbVEFCX01FVEFfS0VZXS51aWQgPT0gdGFiW1RBQl9NRVRBX0tFWV0udWlkKTtcclxuICAgIGlmICghY3VycmVudFRhYikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFicy5pbmRleE9mKGN1cnJlbnRUYWIpO1xyXG4gICAgdGhpcy50YWJzID0gdGhpcy50YWJzLmZpbHRlcihjID0+IGMgIT0gY3VycmVudFRhYik7XHJcbiAgICBjb25zdCBwcmV2ID0gaW5kZXggPiAwID8gdGhpcy50YWJzW2luZGV4IC0gMV0gOiB0aGlzLnRhYnNbMF07XHJcbiAgICBpZiAocHJldikge1xyXG4gICAgICB0aGlzLmFjdGl2ZShwcmV2KTtcclxuICAgIH1cclxuICAgIHRoaXMuY2xvc2VkLm5leHQoY3VycmVudFRhYik7XHJcbiAgICB0aGlzLmNoYW5nZWQubmV4dChudWxsKTtcclxuICAgIGlmIChjdXJyZW50VGFiW1RBQl9NRVRBX0tFWV0uY2xvc2UpIHtcclxuICAgICAgY3VycmVudFRhYltUQUJfTUVUQV9LRVldLmNsb3NlKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aXZlKHRhYjogQVhUYWJQYWdlKTogQVhQYWdlUmVzdWx0O1xyXG4gIGFjdGl2ZSh1aWQ6IHN0cmluZyk6IEFYUGFnZVJlc3VsdDtcclxuICBhY3RpdmUoKTogQVhQYWdlUmVzdWx0O1xyXG4gIGFjdGl2ZShhcmcxPyk6IEFYUGFnZVJlc3VsdCB7XHJcbiAgICBpZiAoIWFyZzEpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBzZW5kZXI6IHRoaXMudGFicy5maW5kKChjKSA9PiBjW1RBQl9NRVRBX0tFWV0uYWN0aXZlID09PSB0cnVlKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIGFyZzEgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIGNvbnN0IHRhYiA9IDxBWFRhYlBhZ2U+YXJnMTtcclxuICAgICAgdGFiW1RBQl9NRVRBX0tFWV0uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy50YWJzXHJcbiAgICAgICAgLmZpbHRlcigoYykgPT4gY1tUQUJfTUVUQV9LRVldLnVpZCAhPT0gdGFiW1RBQl9NRVRBX0tFWV0udWlkKVxyXG4gICAgICAgIC5mb3JFYWNoKCh0KSA9PiB7XHJcbiAgICAgICAgICB0W1RBQl9NRVRBX0tFWV0uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkLm5leHQodGFiKTtcclxuICAgICAgdGhpcy5jaGFuZ2VkLm5leHQobnVsbCk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgc2VuZGVyOiB0YWJcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYXJnMSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3QgdGFiID0gdGhpcy50YWJzLmZpbmQoKGMpID0+IGNbVEFCX01FVEFfS0VZXS51aWQgPT09IGFyZzEpO1xyXG4gICAgICBpZiAodGFiKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlKHRhYik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMudGFicy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2UoYyk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudGFicyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kRXhpc3RUYWIoY29tcG9uZW50OiBhbnksIGRhdGE6IGFueSk6IEFYVGFiUGFnZSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoIWRhdGEpIHtcclxuICAgICAgICBkYXRhID0ge307XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy50YWJzLmZpbmQoKGM6IGFueSkgPT5cclxuICAgICAgICBjLmNvbnRlbnQgPT09IGNvbXBvbmVudCAmJlxyXG4gICAgICAgICgoIWMuZGF0YSkgfHxcclxuICAgICAgICAgIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpID09PSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGMuZGF0YSkpIHx8IEpTT04uc3RyaW5naWZ5KGRhdGEpID09PSBKU09OLnN0cmluZ2lmeShjW1RBQl9NRVRBX0tFWV0ub2xkRGF0YSkpXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,38 @@
1
+ import { Component, Input, Output, EventEmitter, ElementRef } from '@angular/core';
2
+ import { AXBaseEvent } from '../base/events.class';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class AXTabStripChangedEvent extends AXBaseEvent {
6
+ seledtedTab;
7
+ }
8
+ export class AXTabStripComponent {
9
+ ref;
10
+ constructor(ref) {
11
+ this.ref = ref;
12
+ }
13
+ ngOnInit() { }
14
+ items = [];
15
+ onTabChanged = new EventEmitter();
16
+ handleClick(i) {
17
+ if (!i.disable) {
18
+ this.items.forEach((c) => (c.active = false));
19
+ i.active = true;
20
+ this.onTabChanged.emit({
21
+ component: this,
22
+ seledtedTab: i,
23
+ htmlElement: this.ref.nativeElement
24
+ });
25
+ }
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTabStripComponent, selector: "ax-tab-strip", inputs: { items: "items" }, outputs: { onTabChanged: "onTabChanged" }, ngImport: i0, template: "<ul class=\"tab-strip-container\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <li *ngIf=\"!!item.visible || item.visible == undefined\" [class.active]=\"item.active\"\r\n [class.disabled]=\"item.disable\" (click)=\"handleClick(item)\">{{item.text}}</li>\r\n </ng-container>\r\n</ul>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'ax-tab-strip', template: "<ul class=\"tab-strip-container\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <li *ngIf=\"!!item.visible || item.visible == undefined\" [class.active]=\"item.active\"\r\n [class.disabled]=\"item.disable\" (click)=\"handleClick(item)\">{{item.text}}</li>\r\n </ng-container>\r\n</ul>" }]
33
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { items: [{
34
+ type: Input
35
+ }], onTabChanged: [{
36
+ type: Output
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXN0cmlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi1zdHJpcC90YWItc3RyaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGFiLXN0cmlwL3RhYi1zdHJpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQWVuRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FBVztJQUNyRCxXQUFXLENBQWlCO0NBQzdCO0FBTUQsTUFBTSxPQUFPLG1CQUFtQjtJQUNWO0lBQXBCLFlBQW9CLEdBQWU7UUFBZixRQUFHLEdBQUgsR0FBRyxDQUFZO0lBQUcsQ0FBQztJQUV2QyxRQUFRLEtBQVUsQ0FBQztJQUduQixLQUFLLEdBQXFCLEVBQUUsQ0FBQztJQUc3QixZQUFZLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO0lBRWhHLFdBQVcsQ0FBQyxDQUFpQjtRQUMzQixJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDckIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTthQUNwQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7dUdBckJVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLDJIQ3hCaEMsNlRBS0s7OzJGRG1CUSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsY0FBYztpR0FTeEIsS0FBSztzQkFESixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlRXZlbnQgfSBmcm9tICcuLi9iYXNlL2V2ZW50cy5jbGFzcyc7XHJcblxyXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBBWFRhYlN0cmlwSXRlbSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgdG9vbHRpcD86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIGRpc2FibGU/OiBib29sZWFuO1xyXG4gIGRhdGE/OiBhbnk7XHJcbiAgc3R5bGU/OiBzdHJpbmc7XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBWEJhc2VFdmVudCB7XHJcbiAgc2VsZWR0ZWRUYWI6IEFYVGFiU3RyaXBJdGVtO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXRhYi1zdHJpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1zdHJpcC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGFiU3RyaXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaXRlbXM6IEFYVGFiU3RyaXBJdGVtW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25UYWJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhUYWJTdHJpcENoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQ+KCk7XHJcblxyXG4gIGhhbmRsZUNsaWNrKGk6IEFYVGFiU3RyaXBJdGVtKSB7XHJcbiAgICBpZiAoIWkuZGlzYWJsZSkge1xyXG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGMpID0+IChjLmFjdGl2ZSA9IGZhbHNlKSk7XHJcbiAgICAgIGkuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vblRhYkNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIHNlbGVkdGVkVGFiOiBpLFxyXG4gICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJ0YWItc3RyaXAtY29udGFpbmVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICAgICAgPGxpICpuZ0lmPVwiISFpdGVtLnZpc2libGUgfHwgaXRlbS52aXNpYmxlID09IHVuZGVmaW5lZFwiIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxyXG4gICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlXCIgKGNsaWNrKT1cImhhbmRsZUNsaWNrKGl0ZW0pXCI+e3tpdGVtLnRleHR9fTwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC91bD4iXX0=
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXTabStripComponent } from './tab-strip.component';
4
+ import * as i0 from "@angular/core";
5
+ export class AXTabStripModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripModule, declarations: [AXTabStripComponent], imports: [CommonModule], exports: [AXTabStripComponent] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripModule, imports: [CommonModule] });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabStripModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXTabStripComponent],
14
+ imports: [CommonModule],
15
+ exports: [AXTabStripComponent],
16
+ providers: []
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXN0cmlwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi1zdHJpcC90YWItc3RyaXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVE1RCxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixpQkFMWixtQkFBbUIsYUFDeEIsWUFBWSxhQUNaLG1CQUFtQjt3R0FHbEIsZ0JBQWdCLFlBSmpCLFlBQVk7OzJGQUlYLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFRhYlN0cmlwQ29tcG9uZW50IH0gZnJvbSAnLi90YWItc3RyaXAuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQVhUYWJTdHJpcENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0FYVGFiU3RyaXBDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGFiU3RyaXBNb2R1bGUge31cclxuIl19
@@ -0,0 +1,25 @@
1
+ /**
2
+ * This directive is used as an anchor to get access
3
+ * to the ViewContainerRef which here is exposed via
4
+ * the public member `viewContainer`
5
+ *
6
+ * Theres an ALTERNATIVE to explicitly using the anchor directive.
7
+ * Read in the blog post
8
+ */
9
+ import { Directive, ViewContainerRef } from '@angular/core';
10
+ import * as i0 from "@angular/core";
11
+ export class DynamicTabsDirective {
12
+ viewContainer;
13
+ constructor(viewContainer) {
14
+ this.viewContainer = viewContainer;
15
+ }
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DynamicTabsDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
17
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: DynamicTabsDirective, selector: "[dynamic-tabs]", ngImport: i0 });
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DynamicTabsDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[dynamic-tabs]'
23
+ }]
24
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi12aWV3L2R5bmFtaWMtdGFicy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzVELE1BQU0sT0FBTyxvQkFBb0I7SUFDWjtJQUFuQixZQUFtQixhQUErQjtRQUEvQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFBRyxDQUFDO3VHQUQzQyxvQkFBb0I7MkZBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUaGlzIGRpcmVjdGl2ZSBpcyB1c2VkIGFzIGFuIGFuY2hvciB0byBnZXQgYWNjZXNzXHJcbiAqIHRvIHRoZSBWaWV3Q29udGFpbmVyUmVmIHdoaWNoIGhlcmUgaXMgZXhwb3NlZCB2aWFcclxuICogdGhlIHB1YmxpYyBtZW1iZXIgYHZpZXdDb250YWluZXJgXHJcbiAqXHJcbiAqIFRoZXJlcyBhbiBBTFRFUk5BVElWRSB0byBleHBsaWNpdGx5IHVzaW5nIHRoZSBhbmNob3IgZGlyZWN0aXZlLlxyXG4gKiBSZWFkIGluIHRoZSBibG9nIHBvc3RcclxuICovXHJcblxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2R5bmFtaWMtdGFic10nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljVGFic0RpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHt9XHJcbn1cclxuIl19
@@ -0,0 +1,110 @@
1
+ /**
2
+ * The main component that renders single TabComponent
3
+ * instances.
4
+ */
5
+ import { Component, ContentChildren, QueryList, ViewChild, ComponentFactoryResolver, ViewEncapsulation, Attribute, Output, EventEmitter, ElementRef } from '@angular/core';
6
+ import { AXTabComponent } from './tab.component';
7
+ import { DynamicTabsDirective } from './dynamic-tabs.directive';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "./dynamic-tabs.directive";
11
+ export class AXTabViewComponent {
12
+ ref;
13
+ _componentFactoryResolver;
14
+ fullWidth;
15
+ dynamicTabs = [];
16
+ tabs;
17
+ dynamicTabPlaceholder;
18
+ onActiveTab = new EventEmitter();
19
+ /*
20
+ Alternative approach of using an anchor directive
21
+ would be to simply get hold of a template variable
22
+ as follows
23
+ */
24
+ // @ViewChild('container', {read: ViewContainerRef}) dynamicTabPlaceholder;
25
+ constructor(ref, _componentFactoryResolver, fullWidth = false) {
26
+ this.ref = ref;
27
+ this._componentFactoryResolver = _componentFactoryResolver;
28
+ this.fullWidth = fullWidth;
29
+ }
30
+ // contentChildren are set
31
+ ngAfterContentInit() {
32
+ // get all active tabs
33
+ const activeTabs = this.tabs.filter((tab) => tab.active);
34
+ // if there is no active tab set, activate the first
35
+ if (activeTabs.length === 0 && this.tabs.first) {
36
+ this.selectTab(this.tabs.first);
37
+ }
38
+ }
39
+ openTab(title, template, isCloseable = false, icon = null, data = null) {
40
+ // get a component factory for our AXTabComponent
41
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(AXTabComponent);
42
+ // fetch the view container reference from our anchor directive
43
+ const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;
44
+ // alternatively...
45
+ // let viewContainerRef = this.dynamicTabPlaceholder;
46
+ // create a component instance
47
+ const componentRef = viewContainerRef.createComponent(componentFactory);
48
+ // set the according properties on our component instance
49
+ const instance = componentRef.instance;
50
+ instance.caption = title;
51
+ instance.template = template;
52
+ instance.dataContext = data;
53
+ instance.isCloseable = isCloseable;
54
+ instance.icon = icon;
55
+ // remember the dynamic component for rendering the
56
+ // tab navigation headers
57
+ this.dynamicTabs.push(componentRef.instance);
58
+ //componentRef.changeDetectorRef.detectChanges();
59
+ // set it active
60
+ this.selectTab(this.dynamicTabs[this.dynamicTabs.length - 1]);
61
+ }
62
+ selectTab(tab) {
63
+ // deactivate all tabs
64
+ this.tabs.toArray().forEach((tab) => (tab.active = false));
65
+ this.dynamicTabs.forEach((tab) => (tab.active = false));
66
+ // activate the tab the user has clicked on.
67
+ tab.active = true;
68
+ this.onActiveTab.emit({ component: this, data: tab, htmlElement: this.ref.nativeElement });
69
+ }
70
+ closeTab(tab) {
71
+ for (let i = 0; i < this.dynamicTabs.length; i++) {
72
+ if (this.dynamicTabs[i] === tab) {
73
+ // remove the tab from our array
74
+ this.dynamicTabs.splice(i, 1);
75
+ // destroy our dynamically created component again
76
+ const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;
77
+ // let viewContainerRef = this.dynamicTabPlaceholder;
78
+ viewContainerRef.remove(i);
79
+ // set tab index to 1st one
80
+ this.selectTab(this.tabs.first);
81
+ break;
82
+ }
83
+ }
84
+ }
85
+ closeActiveTab() {
86
+ const activeTabs = this.dynamicTabs.filter((tab) => tab.active);
87
+ if (activeTabs.length > 0) {
88
+ // close the 1st active tab (should only be one at a time)
89
+ this.closeTab(activeTabs[0]);
90
+ }
91
+ }
92
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: 'fullWidth', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
93
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTabViewComponent, selector: "ax-tab-view", outputs: { onActiveTab: "onActiveTab" }, queries: [{ propertyName: "tabs", predicate: AXTabComponent }], viewQueries: [{ propertyName: "dynamicTabPlaceholder", first: true, predicate: DynamicTabsDirective, descendants: true }], ngImport: i0, template: "<ul class=\"ax nav-tabs\">\r\n <li\r\n *ngFor=\"let tab of tabs\"\r\n (click)=\"selectTab(tab)\"\r\n [class.active]=\"tab.active\"\r\n [class.flex-sm-fill]=\"fullWidth\"\r\n >\r\n <i class=\"{{ tab.icon }}\"></i>\r\n <span>{{ tab.caption }}</span>\r\n </li>\r\n <!-- dynamic tabs -->\r\n <li\r\n *ngFor=\"let tab of dynamicTabs\"\r\n (click)=\"selectTab(tab)\"\r\n [class.active]=\"tab.active\"\r\n [class.flex-sm-fill]=\"fullWidth\"\r\n >\r\n <i class=\"{{ tab.icon }}\"></i>\r\n <span>\r\n {{ tab.caption }}\r\n <i\r\n *ngIf=\"tab.isCloseable\"\r\n (click)=\"closeTab(tab)\"\r\n class=\"far fa-times\"\r\n >\r\n </i>\r\n </span>\r\n </li>\r\n</ul>\r\n<div class=\"ax-tab-container\">\r\n <ng-content></ng-content>\r\n<ng-template dynamic-tabs #container></ng-template>\r\n</div>\r\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: i2.DynamicTabsDirective, selector: "[dynamic-tabs]" }], encapsulation: i0.ViewEncapsulation.None });
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewComponent, decorators: [{
96
+ type: Component,
97
+ args: [{ selector: 'ax-tab-view', encapsulation: ViewEncapsulation.None, template: "<ul class=\"ax nav-tabs\">\r\n <li\r\n *ngFor=\"let tab of tabs\"\r\n (click)=\"selectTab(tab)\"\r\n [class.active]=\"tab.active\"\r\n [class.flex-sm-fill]=\"fullWidth\"\r\n >\r\n <i class=\"{{ tab.icon }}\"></i>\r\n <span>{{ tab.caption }}</span>\r\n </li>\r\n <!-- dynamic tabs -->\r\n <li\r\n *ngFor=\"let tab of dynamicTabs\"\r\n (click)=\"selectTab(tab)\"\r\n [class.active]=\"tab.active\"\r\n [class.flex-sm-fill]=\"fullWidth\"\r\n >\r\n <i class=\"{{ tab.icon }}\"></i>\r\n <span>\r\n {{ tab.caption }}\r\n <i\r\n *ngIf=\"tab.isCloseable\"\r\n (click)=\"closeTab(tab)\"\r\n class=\"far fa-times\"\r\n >\r\n </i>\r\n </span>\r\n </li>\r\n</ul>\r\n<div class=\"ax-tab-container\">\r\n <ng-content></ng-content>\r\n<ng-template dynamic-tabs #container></ng-template>\r\n</div>\r\n" }]
98
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: undefined, decorators: [{
99
+ type: Attribute,
100
+ args: ['fullWidth']
101
+ }] }]; }, propDecorators: { tabs: [{
102
+ type: ContentChildren,
103
+ args: [AXTabComponent]
104
+ }], dynamicTabPlaceholder: [{
105
+ type: ViewChild,
106
+ args: [DynamicTabsDirective]
107
+ }], onActiveTab: [{
108
+ type: Output
109
+ }] } });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGFiLXZpZXcvdGFiLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGFiLXZpZXcvdGFiLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUVULFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFTaEUsTUFBTSxPQUFPLGtCQUFrQjtJQWlCbkI7SUFDQTtJQUN1QjtJQWxCakMsV0FBVyxHQUFxQixFQUFFLENBQUM7SUFFRixJQUFJLENBQTRCO0lBRWhDLHFCQUFxQixDQUF1QjtJQUc3RSxXQUFXLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO0lBQ25GOzs7O01BSUU7SUFDRiwyRUFBMkU7SUFFM0UsWUFDVSxHQUFlLEVBQ2YseUJBQW1ELEVBQzVCLFlBQXFCLEtBQUs7UUFGakQsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7SUFDeEQsQ0FBQztJQUVKLDBCQUEwQjtJQUMxQixrQkFBa0I7UUFDaEIsc0JBQXNCO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVB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QyxDQUFDLENBQUMsQ0FBQztnQkFFM0IsMkJBQTJCO2dCQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hDLE1BQU07YUFDUDtTQUNGO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDekIsMERBQTBEO1lBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO3VHQWxHVSxrQkFBa0Isb0ZBbUJoQixXQUFXOzJGQW5CYixrQkFBa0IsaUhBR1osY0FBYyxvRkFFcEIsb0JBQW9CLGdEQ2xDakMsMDJCQWlDQTs7MkZESmEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGFBQWEsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTs7MEJBcUJsQyxTQUFTOzJCQUFDLFdBQVc7NENBaEJTLElBQUk7c0JBQXBDLGVBQWU7dUJBQUMsY0FBYztnQkFFRSxxQkFBcUI7c0JBQXJELFNBQVM7dUJBQUMsb0JBQW9CO2dCQUcvQixXQUFXO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVGhlIG1haW4gY29tcG9uZW50IHRoYXQgcmVuZGVycyBzaW5nbGUgVGFiQ29tcG9uZW50XHJcbiAqIGluc3RhbmNlcy5cclxuICovXHJcblxyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgUXVlcnlMaXN0LFxyXG4gIEFmdGVyQ29udGVudEluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBBdHRyaWJ1dGUsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBFbGVtZW50UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBWFRhYkNvbXBvbmVudCB9IGZyb20gJy4vdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJzRGlyZWN0aXZlIH0gZnJvbSAnLi9keW5hbWljLXRhYnMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQVhEYXRhRXZlbnQgfSBmcm9tICcuLi9iYXNlL2V2ZW50cy5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXRhYi12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYi12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhUYWJWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgZHluYW1pY1RhYnM6IEFYVGFiQ29tcG9uZW50W10gPSBbXTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihBWFRhYkNvbXBvbmVudCkgdGFiczogUXVlcnlMaXN0PEFYVGFiQ29tcG9uZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZChEeW5hbWljVGFic0RpcmVjdGl2ZSkgZHluYW1pY1RhYlBsYWNlaG9sZGVyOiBEeW5hbWljVGFic0RpcmVjdGl2ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25BY3RpdmVUYWI6IEV2ZW50RW1pdHRlcjxBWERhdGFFdmVudDxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhEYXRhRXZlbnQ8YW55Pj4oKTtcclxuICAvKlxyXG4gICAgQWx0ZXJuYXRpdmUgYXBwcm9hY2ggb2YgdXNpbmcgYW4gYW5jaG9yIGRpcmVjdGl2ZVxyXG4gICAgd291bGQgYmUgdG8gc2ltcGx5IGdldCBob2xkIG9mIGEgdGVtcGxhdGUgdmFyaWFibGVcclxuICAgIGFzIGZvbGxvd3NcclxuICAqL1xyXG4gIC8vIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSkgZHluYW1pY1RhYlBsYWNlaG9sZGVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBAQXR0cmlidXRlKCdmdWxsV2lkdGgnKSBwdWJsaWMgZnVsbFdpZHRoOiBib29sZWFuID0gZmFsc2VcclxuICApIHt9XHJcblxyXG4gIC8vIGNvbnRlbnRDaGlsZHJlbiBhcmUgc2V0XHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgLy8gZ2V0IGFsbCBhY3RpdmUgdGFic1xyXG4gICAgY29uc3QgYWN0aXZlVGFicyA9IHRoaXMudGFicy5maWx0ZXIoKHRhYikgPT4gdGFiLmFjdGl2ZSk7XHJcblxyXG4gICAgLy8gaWYgdGhlcmUgaXMgbm8gYWN0aXZlIHRhYiBzZXQsIGFjdGl2YXRlIHRoZSBmaXJzdFxyXG4gICAgaWYgKGFjdGl2ZVRhYnMubGVuZ3RoID09PSAwICYmIHRoaXMudGFicy5maXJzdCkge1xyXG4gICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLnRhYnMuZmlyc3QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlblRhYih0aXRsZTogc3RyaW5nLCB0ZW1wbGF0ZSwgaXNDbG9zZWFibGUgPSBmYWxzZSwgaWNvbiA9IG51bGwsIGRhdGEgPSBudWxsKSB7XHJcbiAgICAvLyBnZXQgYSBjb21wb25lbnQgZmFjdG9yeSBmb3Igb3VyIEFYVGFiQ29tcG9uZW50XHJcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEFYVGFiQ29tcG9uZW50KTtcclxuXHJcbiAgICAvLyBmZXRjaCB0aGUgdmlldyBjb250YWluZXIgcmVmZXJlbmNlIGZyb20gb3VyIGFuY2hvciBkaXJlY3RpdmVcclxuICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSB0aGlzLmR5bmFtaWNUYWJQbGFjZWhvbGRlci52aWV3Q29udGFpbmVyO1xyXG5cclxuICAgIC8vIGFsdGVybmF0aXZlbHkuLi5cclxuICAgIC8vIGxldCB2aWV3Q29udGFpbmVyUmVmID0gdGhpcy5keW5hbWljVGFiUGxhY2Vob2xkZXI7XHJcblxyXG4gICAgLy8gY3JlYXRlIGEgY29tcG9uZW50IGluc3RhbmNlXHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcclxuXHJcbiAgICAvLyBzZXQgdGhlIGFjY29yZGluZyBwcm9wZXJ0aWVzIG9uIG91ciBjb21wb25lbnQgaW5zdGFuY2VcclxuICAgIGNvbnN0IGluc3RhbmNlOiBBWFRhYkNvbXBvbmVudCA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBBWFRhYkNvbXBvbmVudDtcclxuICAgIGluc3RhbmNlLmNhcHRpb24gPSB0aXRsZTtcclxuICAgIGluc3RhbmNlLnRlbXBsYXRlID0gdGVtcGxhdGU7XHJcbiAgICBpbnN0YW5jZS5kYXRhQ29udGV4dCA9IGRhdGE7XHJcbiAgICBpbnN0YW5jZS5pc0Nsb3NlYWJsZSA9IGlzQ2xvc2VhYmxlO1xyXG4gICAgaW5zdGFuY2UuaWNvbiA9IGljb247XHJcblxyXG4gICAgLy8gcmVtZW1iZXIgdGhlIGR5bmFtaWMgY29tcG9uZW50IGZvciByZW5kZXJpbmcgdGhlXHJcbiAgICAvLyB0YWIgbmF2aWdhdGlvbiBoZWFkZXJzXHJcbiAgICB0aGlzLmR5bmFtaWNUYWJzLnB1c2goY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIEFYVGFiQ29tcG9uZW50KTtcclxuXHJcbiAgICAvL2NvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgLy8gc2V0IGl0IGFjdGl2ZVxyXG4gICAgdGhpcy5zZWxlY3RUYWIodGhpcy5keW5hbWljVGFic1t0aGlzLmR5bmFtaWNUYWJzLmxlbmd0aCAtIDFdKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRhYih0YWI6IEFYVGFiQ29tcG9uZW50KSB7XHJcbiAgICAvLyBkZWFjdGl2YXRlIGFsbCB0YWJzXHJcbiAgICB0aGlzLnRhYnMudG9BcnJheSgpLmZvckVhY2goKHRhYikgPT4gKHRhYi5hY3RpdmUgPSBmYWxzZSkpO1xyXG4gICAgdGhpcy5keW5hbWljVGFicy5mb3JFYWNoKCh0YWIpID0+ICh0YWIuYWN0aXZlID0gZmFsc2UpKTtcclxuXHJcbiAgICAvLyBhY3RpdmF0ZSB0aGUgdGFiIHRoZSB1c2VyIGhhcyBjbGlja2VkIG9uLlxyXG4gICAgdGFiLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLm9uQWN0aXZlVGFiLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHRhYiwgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVRhYih0YWI6IEFYVGFiQ29tcG9uZW50KSB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZHluYW1pY1RhYnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRoaXMuZHluYW1pY1RhYnNbaV0gPT09IHRhYikge1xyXG4gICAgICAgIC8vIHJlbW92ZSB0aGUgdGFiIGZyb20gb3VyIGFycmF5XHJcbiAgICAgICAgdGhpcy5keW5hbWljVGFicy5zcGxpY2UoaSwgMSk7XHJcblxyXG4gICAgICAgIC8vIGRlc3Ryb3kgb3VyIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY29tcG9uZW50IGFnYWluXHJcbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMuZHluYW1pY1RhYlBsYWNlaG9sZGVyLnZpZXdDb250YWluZXI7XHJcbiAgICAgICAgLy8gbGV0IHZpZXdDb250YWluZXJSZWYgPSB0aGlzLmR5bmFtaWNUYWJQbGFjZWhvbGRlcjtcclxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLnJlbW92ZShpKTtcclxuXHJcbiAgICAgICAgLy8gc2V0IHRhYiBpbmRleCB0byAxc3Qgb25lXHJcbiAgICAgICAgdGhpcy5zZWxlY3RUYWIodGhpcy50YWJzLmZpcnN0KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VBY3RpdmVUYWIoKSB7XHJcbiAgICBjb25zdCBhY3RpdmVUYWJzID0gdGhpcy5keW5hbWljVGFicy5maWx0ZXIoKHRhYikgPT4gdGFiLmFjdGl2ZSk7XHJcbiAgICBpZiAoYWN0aXZlVGFicy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIC8vIGNsb3NlIHRoZSAxc3QgYWN0aXZlIHRhYiAoc2hvdWxkIG9ubHkgYmUgb25lIGF0IGEgdGltZSlcclxuICAgICAgdGhpcy5jbG9zZVRhYihhY3RpdmVUYWJzWzBdKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHVsIGNsYXNzPVwiYXggbmF2LXRhYnNcIj5cclxuICA8bGlcclxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiXHJcbiAgICAoY2xpY2spPVwic2VsZWN0VGFiKHRhYilcIlxyXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJ0YWIuYWN0aXZlXCJcclxuICAgIFtjbGFzcy5mbGV4LXNtLWZpbGxdPVwiZnVsbFdpZHRoXCJcclxuICA+XHJcbiAgICA8aSBjbGFzcz1cInt7IHRhYi5pY29uIH19XCI+PC9pPlxyXG4gICAgPHNwYW4+e3sgdGFiLmNhcHRpb24gfX08L3NwYW4+XHJcbiAgPC9saT5cclxuICA8IS0tIGR5bmFtaWMgdGFicyAtLT5cclxuICA8bGlcclxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgZHluYW1pY1RhYnNcIlxyXG4gICAgKGNsaWNrKT1cInNlbGVjdFRhYih0YWIpXCJcclxuICAgIFtjbGFzcy5hY3RpdmVdPVwidGFiLmFjdGl2ZVwiXHJcbiAgICBbY2xhc3MuZmxleC1zbS1maWxsXT1cImZ1bGxXaWR0aFwiXHJcbiAgPlxyXG4gICAgPGkgY2xhc3M9XCJ7eyB0YWIuaWNvbiB9fVwiPjwvaT5cclxuICAgIDxzcGFuPlxyXG4gICAgICB7eyB0YWIuY2FwdGlvbiB9fVxyXG4gICAgICA8aVxyXG4gICAgICAgICpuZ0lmPVwidGFiLmlzQ2xvc2VhYmxlXCJcclxuICAgICAgICAoY2xpY2spPVwiY2xvc2VUYWIodGFiKVwiXHJcbiAgICAgICAgY2xhc3M9XCJmYXIgZmEtdGltZXNcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvaT5cclxuICAgIDwvc3Bhbj5cclxuICA8L2xpPlxyXG48L3VsPlxyXG48ZGl2IGNsYXNzPVwiYXgtdGFiLWNvbnRhaW5lclwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPG5nLXRlbXBsYXRlIGR5bmFtaWMtdGFicyAjY29udGFpbmVyPjwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXTabComponent } from './tab.component';
4
+ import { AXTabViewComponent } from './tab-view.component';
5
+ import { DynamicTabsDirective } from './dynamic-tabs.directive';
6
+ import * as i0 from "@angular/core";
7
+ export class AXTabViewModule {
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewModule, declarations: [AXTabComponent, AXTabViewComponent, DynamicTabsDirective], imports: [CommonModule], exports: [AXTabComponent, AXTabViewComponent, DynamicTabsDirective] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewModule, imports: [CommonModule] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabViewModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [AXTabComponent, AXTabViewComponent, DynamicTabsDirective],
16
+ imports: [CommonModule],
17
+ exports: [AXTabComponent, AXTabViewComponent, DynamicTabsDirective],
18
+ providers: []
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXZpZXcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGFiLXZpZXcvdGFiLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFPaEUsTUFBTSxPQUFPLGVBQWU7dUdBQWYsZUFBZTt3R0FBZixlQUFlLGlCQUxYLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsYUFDN0QsWUFBWSxhQUNaLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0I7d0dBR3ZELGVBQWUsWUFKaEIsWUFBWTs7MkZBSVgsZUFBZTtrQkFOM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3hFLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixDQUFDO29CQUNuRSxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUYWJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi90YWItdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGFic0RpcmVjdGl2ZSB9IGZyb20gJy4vZHluYW1pYy10YWJzLmRpcmVjdGl2ZSc7XHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQVhUYWJDb21wb25lbnQsIEFYVGFiVmlld0NvbXBvbmVudCwgRHluYW1pY1RhYnNEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBWFRhYkNvbXBvbmVudCwgQVhUYWJWaWV3Q29tcG9uZW50LCBEeW5hbWljVGFic0RpcmVjdGl2ZV0sXHJcbiAgcHJvdmlkZXJzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhUYWJWaWV3TW9kdWxlIHt9XHJcbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class AXTabComponent {
5
+ caption;
6
+ name;
7
+ active = false;
8
+ isCloseable = false;
9
+ template;
10
+ dataContext;
11
+ icon;
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTabComponent, selector: "ax-tab", inputs: { caption: "caption", name: "name", active: "active", isCloseable: "isCloseable", template: "template", dataContext: "dataContext", icon: "icon" }, ngImport: i0, template: "<div [hidden]=\"!active\" class=\"ax tab-pane\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"template\"\r\n [ngTemplateOutlet]=\"template\"\r\n [ngTemplateOutletContext]=\"dataContext\"\r\n >\r\n </ng-container>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTabComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'ax-tab', encapsulation: ViewEncapsulation.None, template: "<div [hidden]=\"!active\" class=\"ax tab-pane\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"template\"\r\n [ngTemplateOutlet]=\"template\"\r\n [ngTemplateOutletContext]=\"dataContext\"\r\n >\r\n </ng-container>\r\n</div>" }]
18
+ }], propDecorators: { caption: [{
19
+ type: Input
20
+ }], name: [{
21
+ type: Input
22
+ }], active: [{
23
+ type: Input
24
+ }], isCloseable: [{
25
+ type: Input
26
+ }], template: [{
27
+ type: Input
28
+ }], dataContext: [{
29
+ type: Input
30
+ }], icon: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi12aWV3L3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi90YWItdmlldy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1wRSxNQUFNLE9BQU8sY0FBYztJQUNoQixPQUFPLENBQVM7SUFDaEIsSUFBSSxDQUFTO0lBQ2IsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsUUFBUSxDQUFNO0lBQ2QsV0FBVyxDQUFNO0lBQ2pCLElBQUksQ0FBUzt1R0FQWCxjQUFjOzJGQUFkLGNBQWMsME1DTjNCLGlRQU9NOzsyRkRETyxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFFBQVEsaUJBRUgsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC10YWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGFiQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzQ2xvc2VhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGVtcGxhdGU6IGFueTtcclxuICBASW5wdXQoKSBkYXRhQ29udGV4dDogYW55O1xyXG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcclxufVxyXG4iLCI8ZGl2IFtoaWRkZW5dPVwiIWFjdGl2ZVwiIGNsYXNzPVwiYXggdGFiLXBhbmVcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZVwiXHJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCJcclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImRhdGFDb250ZXh0XCJcclxuICAgID5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, ElementRef, Input } from '@angular/core';
2
+ import { AXBaseTextComponent, AXValidatableComponent } from '../base/element.class';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class AXTextAreaComponent extends AXBaseTextComponent {
6
+ cdr;
7
+ constructor(cdr, ref) {
8
+ super(cdr, ref);
9
+ this.cdr = cdr;
10
+ }
11
+ rows = 0;
12
+ cols = 0;
13
+ maxLength = null;
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTextAreaComponent, selector: "ax-text-area", inputs: { rows: "rows", cols: "cols", maxLength: "maxLength" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextAreaComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax form-item {{size}}\" [class.disabled]=\"disabled\" [attr.id]=\"uid\">\r\n <div class=\"content\">\r\n <div class=\"ax input {{size}}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\r\n <textarea [name]=\"name\" [attr.maxlength]=\"maxLength\" rows=\"{{rows}}\" cols=\"{{cols}}\" #input type=\"text\"\r\n class=\"ax icon {{size}}\" [ngClass]=\"setTextAlign()\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\"\r\n [disabled]=\"disabled\" value=\"{{value}}\"></textarea>\r\n </div>\r\n </div>\r\n <div class=\"ax buttons\">\r\n <ng-content select=\"ax-button\">\r\n </ng-content>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'ax-text-area', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextAreaComponent }], template: "<div class=\"ax form-item {{size}}\" [class.disabled]=\"disabled\" [attr.id]=\"uid\">\r\n <div class=\"content\">\r\n <div class=\"ax input {{size}}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\r\n <textarea [name]=\"name\" [attr.maxlength]=\"maxLength\" rows=\"{{rows}}\" cols=\"{{cols}}\" #input type=\"text\"\r\n class=\"ax icon {{size}}\" [ngClass]=\"setTextAlign()\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\"\r\n [disabled]=\"disabled\" value=\"{{value}}\"></textarea>\r\n </div>\r\n </div>\r\n <div class=\"ax buttons\">\r\n <ng-content select=\"ax-button\">\r\n </ng-content>\r\n </div>\r\n</div>" }]
20
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { rows: [{
21
+ type: Input
22
+ }], cols: [{
23
+ type: Input
24
+ }], maxLength: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBYSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFVcEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjtJQUNwQztJQUF0QixZQUFzQixHQUFzQixFQUFFLEdBQWU7UUFDM0QsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURJLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRTVDLENBQUM7SUFHRCxJQUFJLEdBQVcsQ0FBQyxDQUFDO0lBRWpCLElBQUksR0FBVyxDQUFDLENBQUM7SUFHakIsU0FBUyxHQUFXLElBQUksQ0FBQzt1R0FYZCxtQkFBbUI7MkZBQW5CLG1CQUFtQixnSkFGbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxpRENUcEYsOHNCQVlNOzsyRkRETyxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsY0FBYyxpQkFFVCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFDLGFBQWEsRUFBRSxhQUNsQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcscUJBQXFCLEVBQUUsQ0FBQztpSUFRbEYsSUFBSTtzQkFESCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlVGV4dENvbXBvbmVudCwgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXRleHQtYXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGhvc3Q6IHsgc3R5bGU6J3dpZHRoOiAxMDAlJyB9LFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhWYWxpZGF0YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYVGV4dEFyZWFDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVGV4dEFyZWFDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VUZXh0Q29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcihjZHIsIHJlZik7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHJvd3M6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KClcclxuICBjb2xzOiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1heExlbmd0aDogbnVtYmVyID0gbnVsbDtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXggZm9ybS1pdGVtIHt7c2l6ZX19XCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2F0dHIuaWRdPVwidWlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheCBpbnB1dCB7e3NpemV9fVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiPlxyXG4gICAgICAgICAgICA8dGV4dGFyZWEgW25hbWVdPVwibmFtZVwiIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGhcIiByb3dzPVwie3tyb3dzfX1cIiBjb2xzPVwie3tjb2xzfX1cIiAjaW5wdXQgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheCBpY29uIHt7c2l6ZX19XCIgW25nQ2xhc3NdPVwic2V0VGV4dEFsaWduKClcIiBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiB2YWx1ZT1cInt7dmFsdWV9fVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJheCBidXR0b25zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtYnV0dG9uXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXTextAreaComponent } from './textarea.component';
4
+ import * as i0 from "@angular/core";
5
+ const COMPONENT = [AXTextAreaComponent];
6
+ const MODULES = [CommonModule];
7
+ export class AXTextAreaModule {
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaModule, declarations: [AXTextAreaComponent], imports: [CommonModule], exports: [AXTextAreaComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaModule, imports: [MODULES] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextAreaModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [...COMPONENT],
16
+ imports: [...MODULES],
17
+ exports: [...COMPONENT],
18
+ providers: [],
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGFyZWEvdGV4dGFyZWEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUUzRCxNQUFNLFNBQVMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDeEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQVEvQixNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixpQkFUVixtQkFBbUIsYUFDckIsWUFBWSxhQURWLG1CQUFtQjt3R0FTekIsZ0JBQWdCLFlBSlosT0FBTzs7MkZBSVgsZ0JBQWdCO2tCQU41QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBDT01QT05FTlQgPSBbQVhUZXh0QXJlYUNvbXBvbmVudF07XHJcbmNvbnN0IE1PRFVMRVMgPSBbQ29tbW9uTW9kdWxlXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRdLFxyXG4gICAgaW1wb3J0czogWy4uLk1PRFVMRVNdLFxyXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXHJcbiAgICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhUZXh0QXJlYU1vZHVsZSB7IH0iXX0=
@@ -0,0 +1,42 @@
1
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, ElementRef, Input } from '@angular/core';
2
+ import { AXBaseTextComponent, AXValidatableComponent } from '../base/element.class';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../button/button.component";
6
+ import * as i3 from "ngx-mask";
7
+ import * as i4 from "@angular/forms";
8
+ export class AXTextBoxComponent extends AXBaseTextComponent {
9
+ cdr;
10
+ mask;
11
+ type = 'text';
12
+ showMask = true;
13
+ maxLength;
14
+ maskGuid = false;
15
+ maskPlaceholder = '_';
16
+ maskKeepCharPositions = false;
17
+ constructor(cdr, ref) {
18
+ super(cdr, ref);
19
+ this.cdr = cdr;
20
+ }
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextBoxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
22
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { mask: "mask", type: "type", showMask: "showMask", maxLength: "maxLength", maskGuid: "maskGuid", maskPlaceholder: "maskPlaceholder", maskKeepCharPositions: "maskKeepCharPositions" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextBoxComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\r\n <div class=\"ax items-wrapper\">\r\n <ng-content select=\"[start]\"> </ng-content>\r\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\r\n </div>\r\n <div class=\"content\" #content>\r\n <div\r\n class=\"ax form-control input {{ size }}\"\r\n [class.disabled]=\"disabled\"\r\n [class.readonly]=\"readonly\"\r\n [class.icon]=\"icon\"\r\n >\r\n <input\r\n #input\r\n [autocomplete]=\"autocomplete\"\r\n [name]=\"name\"\r\n class=\"ax {{ size }}\"\r\n [attr.type]=\"type\"\r\n [attr.maxlength]=\"maxLength\"\r\n [mask]=\"{\r\n mask: mask || false,\r\n showMask: showMask,\r\n keepCharPositions: maskKeepCharPositions,\r\n guide: maskGuid,\r\n placeholderChar: maskPlaceholder\r\n }\"\r\n [(ngModel)]=\"value\"\r\n placeholder=\"{{ placeholder }}\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"setTextAlign()\"\r\n [class.clear]=\"value && allowClear\"\r\n (focus)=\"handleInputFocus($event)\"\r\n (blur)=\"handleInputBlur($event)\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"ax items-wrapper\">\r\n <ax-button\r\n *ngIf=\"value && allowClear\"\r\n icon=\"far fa-times\"\r\n type=\"danger blank\"\r\n (click)=\"clear()\"\r\n ></ax-button>\r\n <ng-content select=\"[end]\"> </ng-content>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "directive", type: i3.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXTextBoxComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'ax-text-box', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextBoxComponent }], template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\r\n <div class=\"ax items-wrapper\">\r\n <ng-content select=\"[start]\"> </ng-content>\r\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\r\n </div>\r\n <div class=\"content\" #content>\r\n <div\r\n class=\"ax form-control input {{ size }}\"\r\n [class.disabled]=\"disabled\"\r\n [class.readonly]=\"readonly\"\r\n [class.icon]=\"icon\"\r\n >\r\n <input\r\n #input\r\n [autocomplete]=\"autocomplete\"\r\n [name]=\"name\"\r\n class=\"ax {{ size }}\"\r\n [attr.type]=\"type\"\r\n [attr.maxlength]=\"maxLength\"\r\n [mask]=\"{\r\n mask: mask || false,\r\n showMask: showMask,\r\n keepCharPositions: maskKeepCharPositions,\r\n guide: maskGuid,\r\n placeholderChar: maskPlaceholder\r\n }\"\r\n [(ngModel)]=\"value\"\r\n placeholder=\"{{ placeholder }}\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"setTextAlign()\"\r\n [class.clear]=\"value && allowClear\"\r\n (focus)=\"handleInputFocus($event)\"\r\n (blur)=\"handleInputBlur($event)\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"ax items-wrapper\">\r\n <ax-button\r\n *ngIf=\"value && allowClear\"\r\n icon=\"far fa-times\"\r\n type=\"danger blank\"\r\n (click)=\"clear()\"\r\n ></ax-button>\r\n <ng-content select=\"[end]\"> </ng-content>\r\n </div>\r\n</div>\r\n" }]
27
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { mask: [{
28
+ type: Input
29
+ }], type: [{
30
+ type: Input
31
+ }], showMask: [{
32
+ type: Input
33
+ }], maxLength: [{
34
+ type: Input
35
+ }], maskGuid: [{
36
+ type: Input
37
+ }], maskPlaceholder: [{
38
+ type: Input
39
+ }], maskKeepCharPositions: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi90ZXh0Ym94L3RleHRib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQWEsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBVXBGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7SUF1Qm5DO0lBcEJ0QixJQUFJLENBQU07SUFHVixJQUFJLEdBQThELE1BQU0sQ0FBQztJQUd6RSxRQUFRLEdBQVksSUFBSSxDQUFDO0lBR3pCLFNBQVMsQ0FBUztJQUdsQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRzFCLGVBQWUsR0FBVyxHQUFHLENBQUM7SUFHOUIscUJBQXFCLEdBQVksS0FBSyxDQUFDO0lBRXZDLFlBQXNCLEdBQXNCLEVBQUUsR0FBZTtRQUMzRCxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBREksUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFFNUMsQ0FBQzt1R0F6QlUsa0JBQWtCOzJGQUFsQixrQkFBa0IsK1FBRmxCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLENBQUMsaURDVG5GLG9pREErQ0E7OzJGRHBDYSxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsYUFBYSxpQkFFUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFDLGFBQWEsRUFBRSxhQUNsQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsb0JBQW9CLEVBQUUsQ0FBQztpSUFLakYsSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdG9yUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZVRleHRDb21wb25lbnQsIEFYVmFsaWRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC10ZXh0LWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaG9zdDogeyBzdHlsZTond2lkdGg6IDEwMCUnIH0sXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0Qm94Q29tcG9uZW50IH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFRleHRCb3hDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VUZXh0Q29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBtYXNrOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZTogJ3RleHQnIHwgJ251bWJlcicgfCAndGVsJyB8ICd1cmwnIHwgJ3Bhc3N3b3JkJyB8ICdzZWFyY2gnID0gJ3RleHQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dNYXNrOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBtYXhMZW5ndGg6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBtYXNrR3VpZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1hc2tQbGFjZWhvbGRlcjogc3RyaW5nID0gJ18nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1hc2tLZWVwQ2hhclBvc2l0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcihjZHIsIHJlZik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheCBmb3JtLWl0ZW1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbYXR0ci5pZF09XCJ1aWRcIiAjZmM+XHJcbiAgPGRpdiBjbGFzcz1cImF4IGl0ZW1zLXdyYXBwZXJcIj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzdGFydF1cIj4gPC9uZy1jb250ZW50PlxyXG4gICAgPGkgY2xhc3M9XCJmb3JtLWl0ZW0taWNvbiB7eyBpY29uIH19XCIgKm5nSWY9XCJpY29uXCI+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCIgI2NvbnRlbnQ+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiYXggZm9ybS1jb250cm9sIGlucHV0IHt7IHNpemUgfX1cIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbY2xhc3MucmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICBbY2xhc3MuaWNvbl09XCJpY29uXCJcclxuICAgID5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgI2lucHV0XHJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxyXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgIGNsYXNzPVwiYXgge3sgc2l6ZSB9fVwiXHJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcclxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcclxuICAgICAgICBbbWFza109XCJ7XHJcbiAgICAgICAgICBtYXNrOiBtYXNrIHx8IGZhbHNlLFxyXG4gICAgICAgICAgc2hvd01hc2s6IHNob3dNYXNrLFxyXG4gICAgICAgICAga2VlcENoYXJQb3NpdGlvbnM6IG1hc2tLZWVwQ2hhclBvc2l0aW9ucyxcclxuICAgICAgICAgIGd1aWRlOiBtYXNrR3VpZCxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogbWFza1BsYWNlaG9sZGVyXHJcbiAgICAgICAgfVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNldFRleHRBbGlnbigpXCJcclxuICAgICAgICBbY2xhc3MuY2xlYXJdPVwidmFsdWUgJiYgYWxsb3dDbGVhclwiXHJcbiAgICAgICAgKGZvY3VzKT1cImhhbmRsZUlucHV0Rm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwiaGFuZGxlSW5wdXRCbHVyKCRldmVudClcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImF4IGl0ZW1zLXdyYXBwZXJcIj5cclxuICAgIDxheC1idXR0b25cclxuICAgICAgKm5nSWY9XCJ2YWx1ZSAmJiBhbGxvd0NsZWFyXCJcclxuICAgICAgaWNvbj1cImZhciBmYS10aW1lc1wiXHJcbiAgICAgIHR5cGU9XCJkYW5nZXIgYmxhbmtcIlxyXG4gICAgICAoY2xpY2spPVwiY2xlYXIoKVwiXHJcbiAgICA+PC9heC1idXR0b24+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZW5kXVwiPiA8L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=