@coreui/angular-pro 5.2.0-next.0 → 5.2.1

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 (281) hide show
  1. package/README.md +3 -1
  2. package/esm2022/lib/accordion/accordion/accordion.component.mjs +3 -3
  3. package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
  4. package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +3 -3
  5. package/esm2022/lib/accordion/accordion.module.mjs +4 -4
  6. package/esm2022/lib/accordion/accordion.service.mjs +3 -3
  7. package/esm2022/lib/alert/alert-heading.directive.mjs +3 -3
  8. package/esm2022/lib/alert/alert-link.directive.mjs +3 -3
  9. package/esm2022/lib/alert/alert.component.mjs +3 -3
  10. package/esm2022/lib/alert/alert.module.mjs +4 -4
  11. package/esm2022/lib/avatar/avatar.component.mjs +3 -3
  12. package/esm2022/lib/avatar/avatar.module.mjs +4 -4
  13. package/esm2022/lib/backdrop/backdrop.service.mjs +3 -3
  14. package/esm2022/lib/badge/badge.component.mjs +3 -3
  15. package/esm2022/lib/badge/badge.module.mjs +4 -4
  16. package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
  17. package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  18. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +3 -3
  19. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +3 -3
  20. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +4 -4
  21. package/esm2022/lib/button/button-close.directive.mjs +3 -3
  22. package/esm2022/lib/button/button.directive.mjs +3 -3
  23. package/esm2022/lib/button/button.module.mjs +4 -4
  24. package/esm2022/lib/button-group/button-group/button-group.component.mjs +3 -3
  25. package/esm2022/lib/button-group/button-group.module.mjs +4 -4
  26. package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
  27. package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
  28. package/esm2022/lib/calendar/calendar/calendar.component.mjs +3 -3
  29. package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +3 -3
  30. package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +3 -3
  31. package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +3 -3
  32. package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
  33. package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
  34. package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +3 -3
  35. package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
  36. package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +3 -3
  37. package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +3 -3
  38. package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
  39. package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +3 -3
  40. package/esm2022/lib/calendar/calendar.module.mjs +4 -4
  41. package/esm2022/lib/calendar/calendar.service.mjs +3 -3
  42. package/esm2022/lib/callout/callout.component.mjs +3 -3
  43. package/esm2022/lib/callout/callout.module.mjs +4 -4
  44. package/esm2022/lib/card/card-body.component.mjs +3 -3
  45. package/esm2022/lib/card/card-footer.component.mjs +3 -3
  46. package/esm2022/lib/card/card-group.component.mjs +3 -3
  47. package/esm2022/lib/card/card-header-actions.component.mjs +3 -3
  48. package/esm2022/lib/card/card-header.component.mjs +3 -3
  49. package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
  50. package/esm2022/lib/card/card-img.directive.mjs +3 -3
  51. package/esm2022/lib/card/card-link.directive.mjs +3 -3
  52. package/esm2022/lib/card/card-subtitle.directive.mjs +3 -3
  53. package/esm2022/lib/card/card-text.directive.mjs +3 -3
  54. package/esm2022/lib/card/card-title.directive.mjs +3 -3
  55. package/esm2022/lib/card/card.component.mjs +3 -3
  56. package/esm2022/lib/card/card.module.mjs +4 -4
  57. package/esm2022/lib/carousel/carousel/carousel.component.mjs +3 -3
  58. package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
  59. package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +3 -3
  60. package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +3 -3
  61. package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +3 -3
  62. package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +3 -3
  63. package/esm2022/lib/carousel/carousel-state.mjs +3 -3
  64. package/esm2022/lib/carousel/carousel.config.mjs +3 -3
  65. package/esm2022/lib/carousel/carousel.module.mjs +4 -4
  66. package/esm2022/lib/carousel/carousel.service.mjs +3 -3
  67. package/esm2022/lib/collapse/collapse.directive.mjs +3 -3
  68. package/esm2022/lib/collapse/collapse.module.mjs +4 -4
  69. package/esm2022/lib/date-picker/date-picker.component.mjs +3 -3
  70. package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
  71. package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +3 -3
  72. package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +3 -3
  73. package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
  74. package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +6 -6
  75. package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +3 -3
  76. package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
  77. package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
  78. package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
  79. package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +3 -3
  80. package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
  81. package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
  82. package/esm2022/lib/dropdown/dropdown.service.mjs +3 -3
  83. package/esm2022/lib/element-cover/element-cover.component.mjs +3 -3
  84. package/esm2022/lib/element-cover/element-cover.module.mjs +4 -4
  85. package/esm2022/lib/footer/footer.component.mjs +3 -3
  86. package/esm2022/lib/footer/footer.module.mjs +4 -4
  87. package/esm2022/lib/form/form/form.directive.mjs +3 -3
  88. package/esm2022/lib/form/form-check/form-check-input.directive.mjs +3 -3
  89. package/esm2022/lib/form/form-check/form-check-label.directive.mjs +3 -3
  90. package/esm2022/lib/form/form-check/form-check.component.mjs +3 -3
  91. package/esm2022/lib/form/form-control/form-control.directive.mjs +3 -3
  92. package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +3 -3
  93. package/esm2022/lib/form/form-floating/form-floating.directive.mjs +3 -3
  94. package/esm2022/lib/form/form-label/form-label.directive.mjs +3 -3
  95. package/esm2022/lib/form/form-select/form-select.directive.mjs +3 -3
  96. package/esm2022/lib/form/form-text/form-text.directive.mjs +3 -3
  97. package/esm2022/lib/form/form.module.mjs +4 -4
  98. package/esm2022/lib/form/input-group/input-group.component.mjs +3 -3
  99. package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
  100. package/esm2022/lib/grid/col.component.mjs +3 -3
  101. package/esm2022/lib/grid/col.directive.mjs +3 -3
  102. package/esm2022/lib/grid/container.component.mjs +3 -3
  103. package/esm2022/lib/grid/grid.module.mjs +4 -4
  104. package/esm2022/lib/grid/gutter.directive.mjs +3 -3
  105. package/esm2022/lib/grid/row.component.mjs +3 -3
  106. package/esm2022/lib/grid/row.directive.mjs +3 -3
  107. package/esm2022/lib/header/header/header.component.mjs +3 -3
  108. package/esm2022/lib/header/header-brand/header-brand.component.mjs +3 -3
  109. package/esm2022/lib/header/header-divider/header-divider.component.mjs +3 -3
  110. package/esm2022/lib/header/header-nav/header-nav.component.mjs +3 -3
  111. package/esm2022/lib/header/header-text/header-text.component.mjs +3 -3
  112. package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +3 -3
  113. package/esm2022/lib/header/header.module.mjs +4 -4
  114. package/esm2022/lib/image/img.directive.mjs +3 -3
  115. package/esm2022/lib/image/img.module.mjs +4 -4
  116. package/esm2022/lib/list-group/list-group-item.directive.mjs +3 -3
  117. package/esm2022/lib/list-group/list-group.directive.mjs +3 -3
  118. package/esm2022/lib/list-group/list-group.module.mjs +4 -4
  119. package/esm2022/lib/loading-button/loading-button.component.mjs +3 -3
  120. package/esm2022/lib/loading-button/loading-button.module.mjs +4 -4
  121. package/esm2022/lib/modal/modal/modal.component.mjs +11 -11
  122. package/esm2022/lib/modal/modal-body/modal-body.component.mjs +3 -3
  123. package/esm2022/lib/modal/modal-content/modal-content.component.mjs +3 -3
  124. package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
  125. package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
  126. package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
  127. package/esm2022/lib/modal/modal-header/modal-header.component.mjs +3 -3
  128. package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +3 -3
  129. package/esm2022/lib/modal/modal.module.mjs +4 -4
  130. package/esm2022/lib/modal/modal.service.mjs +3 -3
  131. package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +3 -3
  132. package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +91 -68
  133. package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
  134. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
  135. package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +3 -3
  136. package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +3 -3
  137. package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +3 -3
  138. package/esm2022/lib/multi-select/multi-select.module.mjs +4 -4
  139. package/esm2022/lib/multi-select/multi-select.service.mjs +3 -3
  140. package/esm2022/lib/nav/nav-item.component.mjs +3 -3
  141. package/esm2022/lib/nav/nav-link.directive.mjs +3 -3
  142. package/esm2022/lib/nav/nav.component.mjs +3 -3
  143. package/esm2022/lib/nav/nav.module.mjs +4 -4
  144. package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
  145. package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
  146. package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
  147. package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +3 -3
  148. package/esm2022/lib/navbar/navbar.component.mjs +3 -3
  149. package/esm2022/lib/navbar/navbar.module.mjs +4 -4
  150. package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +3 -3
  151. package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
  152. package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
  153. package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
  154. package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
  155. package/esm2022/lib/offcanvas/offcanvas.module.mjs +4 -4
  156. package/esm2022/lib/offcanvas/offcanvas.service.mjs +3 -3
  157. package/esm2022/lib/pagination/page-item/page-item.component.mjs +3 -3
  158. package/esm2022/lib/pagination/page-item/page-item.directive.mjs +3 -3
  159. package/esm2022/lib/pagination/page-link/page-link.directive.mjs +3 -3
  160. package/esm2022/lib/pagination/pagination/pagination.component.mjs +3 -3
  161. package/esm2022/lib/pagination/pagination.module.mjs +4 -4
  162. package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +3 -3
  163. package/esm2022/lib/placeholder/placeholder.directive.mjs +3 -3
  164. package/esm2022/lib/placeholder/placeholder.module.mjs +4 -4
  165. package/esm2022/lib/popover/popover/popover.component.mjs +3 -3
  166. package/esm2022/lib/popover/popover.directive.mjs +3 -3
  167. package/esm2022/lib/popover/popover.module.mjs +4 -4
  168. package/esm2022/lib/progress/progress-bar.component.mjs +3 -3
  169. package/esm2022/lib/progress/progress-bar.directive.mjs +3 -3
  170. package/esm2022/lib/progress/progress-stacked.component.mjs +3 -3
  171. package/esm2022/lib/progress/progress.component.mjs +3 -3
  172. package/esm2022/lib/progress/progress.module.mjs +4 -4
  173. package/esm2022/lib/rating/rating-item-label/rating-item-label.component.mjs +3 -3
  174. package/esm2022/lib/rating/rating.component.mjs +3 -3
  175. package/esm2022/lib/rating/rating.module.mjs +4 -4
  176. package/esm2022/lib/services/class-toggle.service.mjs +3 -3
  177. package/esm2022/lib/services/color-mode.service.mjs +3 -3
  178. package/esm2022/lib/services/in-memory-storage.service.mjs +3 -3
  179. package/esm2022/lib/services/intersection.service.mjs +3 -3
  180. package/esm2022/lib/services/listeners.service.mjs +3 -3
  181. package/esm2022/lib/services/local-storage.service.mjs +3 -3
  182. package/esm2022/lib/shared/element-ref.directive.mjs +3 -3
  183. package/esm2022/lib/shared/html-attr.directive.mjs +3 -3
  184. package/esm2022/lib/shared/shared.module.mjs +4 -4
  185. package/esm2022/lib/shared/template-id.directive.mjs +3 -3
  186. package/esm2022/lib/shared/theme.directive.mjs +3 -3
  187. package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +3 -3
  188. package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +3 -3
  189. package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +3 -3
  190. package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  191. package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  192. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
  193. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
  194. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
  195. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
  196. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +3 -3
  197. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
  198. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +6 -6
  199. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
  200. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +3 -3
  201. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +6 -6
  202. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +6 -6
  203. package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
  204. package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.mjs +3 -3
  205. package/esm2022/lib/sidebar/sidebar.module.mjs +4 -4
  206. package/esm2022/lib/sidebar/sidebar.service.mjs +3 -3
  207. package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +5 -5
  208. package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +4 -4
  209. package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +3 -3
  210. package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
  211. package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +3 -3
  212. package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
  213. package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +3 -3
  214. package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +3 -3
  215. package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +3 -3
  216. package/esm2022/lib/smart-table/smart-table.module.mjs +4 -4
  217. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  218. package/esm2022/lib/spinner/spinner.module.mjs +4 -4
  219. package/esm2022/lib/table/table-active.directive.mjs +3 -3
  220. package/esm2022/lib/table/table-color.directive.mjs +3 -3
  221. package/esm2022/lib/table/table.directive.mjs +3 -3
  222. package/esm2022/lib/table/table.module.mjs +4 -4
  223. package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +3 -3
  224. package/esm2022/lib/tabs/tab-content-ref.directive.mjs +3 -3
  225. package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +3 -3
  226. package/esm2022/lib/tabs/tab.service.mjs +3 -3
  227. package/esm2022/lib/tabs/tabs.module.mjs +4 -4
  228. package/esm2022/lib/tabs-2/index.mjs +2 -0
  229. package/esm2022/lib/tabs-2/public_api.mjs +8 -0
  230. package/esm2022/lib/tabs-2/tab/tab.directive.mjs +93 -0
  231. package/esm2022/lib/tabs-2/tab-panel/tab-panel.component.mjs +113 -0
  232. package/esm2022/lib/tabs-2/tabs-content/tabs-content.component.mjs +19 -0
  233. package/esm2022/lib/tabs-2/tabs-list/tabs-list.component.mjs +93 -0
  234. package/esm2022/lib/tabs-2/tabs.component.mjs +37 -0
  235. package/esm2022/lib/tabs-2/tabs.service.mjs +15 -0
  236. package/esm2022/lib/tabs-2/tabs2.module.mjs +22 -0
  237. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +6 -6
  238. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +6 -6
  239. package/esm2022/lib/time-picker/time-picker.component.mjs +3 -3
  240. package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
  241. package/esm2022/lib/toast/toast/toast.component.mjs +3 -3
  242. package/esm2022/lib/toast/toast-body/toast-body.component.mjs +3 -3
  243. package/esm2022/lib/toast/toast-close.directive.mjs +3 -3
  244. package/esm2022/lib/toast/toast-header/toast-header.component.mjs +3 -3
  245. package/esm2022/lib/toast/toast.module.mjs +4 -4
  246. package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +3 -3
  247. package/esm2022/lib/toast/toaster/toaster.component.mjs +3 -3
  248. package/esm2022/lib/toast/toaster/toaster.service.mjs +3 -3
  249. package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +3 -3
  250. package/esm2022/lib/tooltip/tooltip.directive.mjs +3 -3
  251. package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
  252. package/esm2022/lib/utilities/align.directive.mjs +3 -3
  253. package/esm2022/lib/utilities/bg-color.directive.mjs +3 -3
  254. package/esm2022/lib/utilities/border.directive.mjs +3 -3
  255. package/esm2022/lib/utilities/rounded.directive.mjs +3 -3
  256. package/esm2022/lib/utilities/shadow-on-scroll.directive.mjs +3 -3
  257. package/esm2022/lib/utilities/text-bg-color.directive.mjs +3 -3
  258. package/esm2022/lib/utilities/text-color.directive.mjs +3 -3
  259. package/esm2022/lib/utilities/utilities.module.mjs +4 -4
  260. package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +3 -3
  261. package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +3 -3
  262. package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +3 -3
  263. package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +3 -3
  264. package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +3 -3
  265. package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +3 -3
  266. package/esm2022/lib/widget/widget.module.mjs +4 -4
  267. package/esm2022/public-api.mjs +2 -1
  268. package/fesm2022/coreui-angular-pro.mjs +1291 -908
  269. package/fesm2022/coreui-angular-pro.mjs.map +1 -1
  270. package/lib/multi-select/multi-select/multi-select.component.d.ts +4 -3
  271. package/lib/tabs-2/index.d.ts +1 -0
  272. package/lib/tabs-2/public_api.d.ts +7 -0
  273. package/lib/tabs-2/tab/tab.directive.d.ts +43 -0
  274. package/lib/tabs-2/tab-panel/tab-panel.component.d.ts +64 -0
  275. package/lib/tabs-2/tabs-content/tabs-content.component.d.ts +5 -0
  276. package/lib/tabs-2/tabs-list/tabs-list.component.d.ts +35 -0
  277. package/lib/tabs-2/tabs.component.d.ts +21 -0
  278. package/lib/tabs-2/tabs.service.d.ts +8 -0
  279. package/lib/tabs-2/tabs2.module.d.ts +11 -0
  280. package/package.json +2 -2
  281. package/public-api.d.ts +1 -0
@@ -0,0 +1,93 @@
1
+ import { booleanAttribute, computed, DestroyRef, Directive, effect, ElementRef, inject, Input, input, signal, untracked } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { fromEvent, merge, takeWhile } from 'rxjs';
4
+ import { filter, tap } from 'rxjs/operators';
5
+ import { TabsService } from '../tabs.service';
6
+ import * as i0 from "@angular/core";
7
+ export class TabDirective {
8
+ constructor() {
9
+ this.#destroyRef = inject(DestroyRef);
10
+ this.#elementRef = inject(ElementRef);
11
+ this.#tabsService = inject(TabsService);
12
+ this.#disabled = signal(false);
13
+ /**
14
+ * Item key.
15
+ * @type string | number
16
+ * @required
17
+ */
18
+ this.itemKey = input.required();
19
+ /**
20
+ * Element id attribute
21
+ * @type string
22
+ * @default undefined
23
+ */
24
+ this.id = input();
25
+ /**
26
+ * aria-controls attribute
27
+ * @type string
28
+ * @default undefined
29
+ */
30
+ this.ariaControls = input(undefined, {
31
+ alias: 'aria-controls'
32
+ });
33
+ this.isActive = computed(() => !this.#disabled() && this.#tabsService.activeItemKey() === this.itemKey());
34
+ this.hostClasses = computed(() => ({
35
+ 'nav-link': true,
36
+ active: this.isActive()
37
+ }));
38
+ this.propId = computed(() => this.id() ?? `${this.#tabsService.id()}-tab-${this.itemKey()}`);
39
+ this.attrAriaControls = computed(() => this.ariaControls() ?? `${this.#tabsService.id()}-panel-${this.itemKey()}`);
40
+ this.disabledEffect = effect(() => {
41
+ if (!this.#disabled()) {
42
+ const click$ = fromEvent(this.#elementRef.nativeElement, 'click');
43
+ const focusIn$ = fromEvent(this.#elementRef.nativeElement, 'focusin');
44
+ merge(focusIn$, click$)
45
+ .pipe(filter(($event) => !this.#disabled()), tap(($event) => {
46
+ this.#tabsService.activeItemKey.set(untracked(this.itemKey));
47
+ }), takeWhile(() => !this.#disabled()), takeUntilDestroyed(this.#destroyRef))
48
+ .subscribe();
49
+ }
50
+ }, { allowSignalWrites: true });
51
+ }
52
+ #destroyRef;
53
+ #elementRef;
54
+ #tabsService;
55
+ /**
56
+ * Disabled attribute
57
+ * @type boolean
58
+ * @default false
59
+ */
60
+ set disabled(value) {
61
+ this.#disabled.set(value);
62
+ }
63
+ get disabled() {
64
+ return this.#disabled();
65
+ }
66
+ #disabled;
67
+ focus(origin) {
68
+ this.#elementRef.nativeElement.focus();
69
+ }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
71
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.3", type: TabDirective, isStandalone: true, selector: "button[cTab]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaControls: { classPropertyName: "ariaControls", publicName: "aria-controls", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "tab" }, properties: { "class": "hostClasses()", "attr.aria-selected": "isActive()", "attr.aria-controls": "attrAriaControls()", "id": "propId()", "tabindex": "isActive() ? 0 : -1" } }, exportAs: ["cTab"], ngImport: i0 }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabDirective, decorators: [{
74
+ type: Directive,
75
+ args: [{
76
+ exportAs: 'cTab',
77
+ selector: 'button[cTab]',
78
+ standalone: true,
79
+ host: {
80
+ '[class]': 'hostClasses()',
81
+ type: 'button',
82
+ role: 'tab',
83
+ '[attr.aria-selected]': 'isActive()',
84
+ '[attr.aria-controls]': 'attrAriaControls()',
85
+ '[id]': 'propId()',
86
+ '[tabindex]': 'isActive() ? 0 : -1'
87
+ }
88
+ }]
89
+ }], propDecorators: { disabled: [{
90
+ type: Input,
91
+ args: [{ transform: booleanAttribute }]
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGFicy0yL3RhYi90YWIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFnQjlDLE1BQU0sT0FBTyxZQUFZO0lBZHpCO1FBZVcsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsaUJBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFnQm5DLGNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkM7Ozs7V0FJRztRQUNNLFlBQU8sR0FBaUMsS0FBSyxDQUFDLFFBQVEsRUFBbUIsQ0FBQztRQUVuRjs7OztXQUlHO1FBQ00sT0FBRSxHQUFvQyxLQUFLLEVBQVUsQ0FBQztRQUUvRDs7OztXQUlHO1FBQ00saUJBQVksR0FBb0MsS0FBSyxDQUFxQixTQUFTLEVBQUU7WUFDNUYsS0FBSyxFQUFFLGVBQWU7U0FDdkIsQ0FBQyxDQUFD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QUFFLG9CQUFvQjt3QkFDNUMsTUFBTSxFQUFFLFVBQVU7d0JBQ2xCLFlBQVksRUFBRSxxQkFBcUI7cUJBQ3BDO2lCQUNGOzhCQVlLLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgRGVzdHJveVJlZixcbiAgRGlyZWN0aXZlLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIGlucHV0LFxuICBJbnB1dFNpZ25hbCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGFic1NlcnZpY2UgfSBmcm9tICcuLi90YWJzLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgZXhwb3J0QXM6ICdjVGFiJyxcbiAgc2VsZWN0b3I6ICdidXR0b25bY1RhYl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nOiAnaG9zdENsYXNzZXMoKScsXG4gICAgdHlwZTogJ2J1dHRvbicsXG4gICAgcm9sZTogJ3RhYicsXG4gICAgJ1thdHRyLmFyaWEtc2VsZWN0ZWRdJzogJ2lzQWN0aXZlKCknLFxuICAgICdbYXR0ci5hcmlhLWNvbnRyb2xzXSc6ICdhdHRyQXJpYUNvbnRyb2xzKCknLFxuICAgICdbaWRdJzogJ3Byb3BJZCgpJyxcbiAgICAnW3RhYmluZGV4XSc6ICdpc0FjdGl2ZSgpID8gMCA6IC0xJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRhYkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEZvY3VzYWJsZU9wdGlvbiB7XG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI3RhYnNTZXJ2aWNlID0gaW5qZWN0KFRhYnNTZXJ2aWNlKTtcblxuICAvKipcbiAgICogRGlzYWJsZWQgYXR0cmlidXRlXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNkaXNhYmxlZC5zZXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLiNkaXNhYmxlZCgpO1xuICB9XG5cbiAgcmVhZG9ubHkgI2Rpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKipcbiAgICogSXRlbSBrZXkuXG4gICAqIEB0eXBlIHN0cmluZyB8IG51bWJlclxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIHJlYWRvbmx5IGl0ZW1LZXk6IElucHV0U2lnbmFsPHN0cmluZyB8IG51bWJlcj4gPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmcgfCBudW1iZXI+KCk7XG5cbiAgLyoqXG4gICAqIEVsZW1lbnQgaWQgYXR0cmlidXRlXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBJbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBhcmlhLWNvbnRyb2xzIGF0dHJpYnV0ZVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBhcmlhQ29udHJvbHM6IElucHV0U2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwge1xuICAgIGFsaWFzOiAnYXJpYS1jb250cm9scydcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaXNBY3RpdmUgPSBjb21wdXRlZDxib29sZWFuPihcbiAgICAoKSA9PiAhdGhpcy4jZGlzYWJsZWQoKSAmJiB0aGlzLiN0YWJzU2VydmljZS5hY3RpdmVJdGVtS2V5KCkgPT09IHRoaXMuaXRlbUtleSgpXG4gICk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzZXMgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgICduYXYtbGluayc6IHRydWUsXG4gICAgYWN0aXZlOiB0aGlzLmlzQWN0aXZlKClcbiAgfSkpO1xuXG4gIHJlYWRvbmx5IHByb3BJZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaWQoKSA/PyBgJHt0aGlzLiN0YWJzU2VydmljZS5pZCgpfS10YWItJHt0aGlzLml0ZW1LZXkoKX1gKTtcblxuICByZWFkb25seSBhdHRyQXJpYUNvbnRyb2xzID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5hcmlhQ29udHJvbHMoKSA/PyBgJHt0aGlzLiN0YWJzU2VydmljZS5pZCgpfS1wYW5lbC0ke3RoaXMuaXRlbUtleSgpfWBcbiAgKTtcblxuICBkaXNhYmxlZEVmZmVjdCA9IGVmZmVjdChcbiAgICAoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuI2Rpc2FibGVkKCkpIHtcbiAgICAgICAgY29uc3QgY2xpY2skID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJyk7XG4gICAgICAgIGNvbnN0IGZvY3VzSW4kID0gZnJvbUV2ZW50PEZvY3VzRXZlbnQ+KHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3VzaW4nKTtcblxuICAgICAgICBtZXJnZShmb2N1c0luJCwgY2xpY2skKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKCgkZXZlbnQpID0+ICF0aGlzLiNkaXNhYmxlZCgpKSxcbiAgICAgICAgICAgIHRhcCgoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuI3RhYnNTZXJ2aWNlLmFjdGl2ZUl0ZW1LZXkuc2V0KHVudHJhY2tlZCh0aGlzLml0ZW1LZXkpKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFrZVdoaWxlKCgpID0+ICF0aGlzLiNkaXNhYmxlZCgpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgKTtcblxuICBmb2N1cyhvcmlnaW4/OiBGb2N1c09yaWdpbik6IHZvaWQge1xuICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,113 @@
1
+ import { animate, state, style, transition, trigger } from '@angular/animations';
2
+ import { Component, computed, HostBinding, HostListener, inject, input, numberAttribute, output, signal } from '@angular/core';
3
+ import { TabsService } from '../tabs.service';
4
+ import * as i0 from "@angular/core";
5
+ export class TabPanelComponent {
6
+ constructor() {
7
+ this.tabsService = inject(TabsService);
8
+ /**
9
+ * aria-labelledby attribute
10
+ * @type string
11
+ * @default undefined
12
+ */
13
+ this.ariaLabelledBy = input(undefined, {
14
+ alias: 'aria-labelledby'
15
+ });
16
+ /**
17
+ * Element id attribute
18
+ * @type string
19
+ * @default undefined
20
+ */
21
+ this.id = input();
22
+ /**
23
+ * Item key.
24
+ * @type string | number
25
+ * @required
26
+ */
27
+ this.itemKey = input.required();
28
+ /**
29
+ * tabindex attribute.
30
+ * @type number
31
+ * @default 0
32
+ */
33
+ this.tabindex = input(0, { transform: numberAttribute });
34
+ /**
35
+ * Enable fade in transition.
36
+ * @type boolean
37
+ * @default true
38
+ */
39
+ this.transition = input(true);
40
+ /**
41
+ * visible change output
42
+ * @type OutputEmitterRef<VisibleChangeEvent>
43
+ */
44
+ this.visibleChange = output();
45
+ this.show = signal(false);
46
+ this.visible = computed(() => {
47
+ const visible = this.tabsService.activeItemKey() === this.itemKey() && !this.tabsService.activeItem()?.disabled;
48
+ this.visibleChange.emit({ itemKey: this.itemKey(), visible });
49
+ return visible;
50
+ });
51
+ this.propId = computed(() => this.id() ?? `${this.tabsService.id()}-panel-${this.itemKey()}`);
52
+ this.attrAriaLabelledBy = computed(() => this.ariaLabelledBy() ?? `${this.tabsService.id()}-tab-${this.itemKey()}`);
53
+ this.hostClasses = computed(() => ({
54
+ 'tab-pane': true,
55
+ active: this.show(),
56
+ fade: this.transition(),
57
+ show: this.show(),
58
+ invisible: this.tabsService.activeItem()?.disabled
59
+ }));
60
+ }
61
+ get animationDisabled() {
62
+ return !this.transition();
63
+ }
64
+ get animateType() {
65
+ return this.visible() ? 'show' : 'hide';
66
+ }
67
+ onAnimationDone($event) {
68
+ this.show.set(this.visible());
69
+ }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: TabPanelComponent, isStandalone: true, selector: "c-tab-panel", inputs: { ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: true, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, transition: { classPropertyName: "transition", publicName: "transition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: "visibleChange" }, host: { attributes: { "role": "tabpanel" }, listeners: { "@fadeInOut.done": "onAnimationDone($event)" }, properties: { "class": "hostClasses()", "tabindex": "visible() ? tabindex(): -1", "attr.aria-labelledby": "attrAriaLabelledBy()", "id": "propId()", "@.disabled": "this.animationDisabled", "@fadeInOut": "this.animateType" } }, exportAs: ["cTabPanel"], ngImport: i0, template: '<ng-content />', isInline: true, animations: [
72
+ trigger('fadeInOut', [
73
+ state('show', style({ opacity: 1 })),
74
+ state('hide', style({ opacity: 0 })),
75
+ state('void', style({ opacity: 0 })),
76
+ transition('* => *', [animate('150ms linear')])
77
+ ])
78
+ ] }); }
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabPanelComponent, decorators: [{
81
+ type: Component,
82
+ args: [{
83
+ exportAs: 'cTabPanel',
84
+ selector: 'c-tab-panel',
85
+ standalone: true,
86
+ template: '<ng-content />',
87
+ host: {
88
+ '[class]': 'hostClasses()',
89
+ '[tabindex]': 'visible() ? tabindex(): -1',
90
+ '[attr.aria-labelledby]': 'attrAriaLabelledBy()',
91
+ '[id]': 'propId()',
92
+ role: 'tabpanel'
93
+ },
94
+ animations: [
95
+ trigger('fadeInOut', [
96
+ state('show', style({ opacity: 1 })),
97
+ state('hide', style({ opacity: 0 })),
98
+ state('void', style({ opacity: 0 })),
99
+ transition('* => *', [animate('150ms linear')])
100
+ ])
101
+ ]
102
+ }]
103
+ }], propDecorators: { animationDisabled: [{
104
+ type: HostBinding,
105
+ args: ['@.disabled']
106
+ }], animateType: [{
107
+ type: HostBinding,
108
+ args: ['@fadeInOut']
109
+ }], onAnimationDone: [{
110
+ type: HostListener,
111
+ args: ['@fadeInOut.done', ['$event']]
112
+ }] } });
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGFicy0yL3RhYi1wYW5lbC90YWItcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pHLE9BQU8sRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxlQUFlLEVBQ2YsTUFBTSxFQUVOLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBMEI5QyxNQUFNLE9BQU8saUJBQWlCO0lBckI5QjtRQXNCVyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUzQzs7OztXQUlHO1FBQ00sbUJBQWMsR0FBb0MsS0FBSyxDQUFxQixTQUFTLEVBQUU7WUFDOUYsS0FBSyxFQUFFLGlCQUFpQjtTQUN6QixDQUFDLENBQUM7UUFFSDs7OztXQUlHO1FBQ00sT0FBRSxHQUFvQyxLQUFLLEVBQVUsQ0FBQztRQUUvRDs7OztXQUlHO1FBQ00sWUFBTyxHQUFpQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFbEU7Ozs7V0FJRztRQUNNLGFBQVEsR0FBOEMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBRXhHOzs7O1dBSUc7UUFDTSxlQUFVLEdBQXlCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RDs7O1dBR0c7UUFDTSxrQkFBYSxHQUF5QyxNQUFNLEVBQXNCLENBQUM7UUFFbkYsU0FBSSxHQUFH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QUFDLFdBQVcsRUFBRTs0QkFDbkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDcEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDcEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDcEMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO3lCQUNoRCxDQUFDO3FCQUNIO2lCQUNGOzhCQXNFSyxpQkFBaUI7c0JBRHBCLFdBQVc7dUJBQUMsWUFBWTtnQkFNckIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLFlBQVk7Z0JBTXpCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBJbnB1dFNpZ25hbFdpdGhUcmFuc2Zvcm0sXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgb3V0cHV0LFxuICBPdXRwdXRFbWl0dGVyUmVmLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJzU2VydmljZSB9IGZyb20gJy4uL3RhYnMuc2VydmljZSc7XG5cbnR5cGUgQW5pbWF0ZVR5cGUgPSAnaGlkZScgfCAnc2hvdyc7XG50eXBlIFZpc2libGVDaGFuZ2VFdmVudCA9IHsgaXRlbUtleTogc3RyaW5nIHwgbnVtYmVyOyB2aXNpYmxlOiBib29sZWFuIH07XG5cbkBDb21wb25lbnQoe1xuICBleHBvcnRBczogJ2NUYWJQYW5lbCcsXG4gIHNlbGVjdG9yOiAnYy10YWItcGFuZWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3NdJzogJ2hvc3RDbGFzc2VzKCknLFxuICAgICdbdGFiaW5kZXhdJzogJ3Zpc2libGUoKSA/IHRhYmluZGV4KCk6IC0xJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdhdHRyQXJpYUxhYmVsbGVkQnkoKScsXG4gICAgJ1tpZF0nOiAncHJvcElkKCknLFxuICAgIHJvbGU6ICd0YWJwYW5lbCdcbiAgfSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2ZhZGVJbk91dCcsIFtcbiAgICAgIHN0YXRlKCdzaG93Jywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKSxcbiAgICAgIHN0YXRlKCdoaWRlJywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKSxcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIFthbmltYXRlKCcxNTBtcyBsaW5lYXInKV0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJQYW5lbENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHRhYnNTZXJ2aWNlID0gaW5qZWN0KFRhYnNTZXJ2aWNlKTtcblxuICAvKipcbiAgICogYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBhcmlhTGFiZWxsZWRCeTogSW5wdXRTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkLCB7XG4gICAgYWxpYXM6ICdhcmlhLWxhYmVsbGVkYnknXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBFbGVtZW50IGlkIGF0dHJpYnV0ZVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBpZDogSW5wdXRTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IGlucHV0PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogSXRlbSBrZXkuXG4gICAqIEB0eXBlIHN0cmluZyB8IG51bWJlclxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIHJlYWRvbmx5IGl0ZW1LZXk6IElucHV0U2lnbmFsPHN0cmluZyB8IG51bWJlcj4gPSBpbnB1dC5yZXF1aXJlZCgpO1xuXG4gIC8qKlxuICAgKiB0YWJpbmRleCBhdHRyaWJ1dGUuXG4gICAqIEB0eXBlIG51bWJlclxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICByZWFkb25seSB0YWJpbmRleDogSW5wdXRTaWduYWxXaXRoVHJhbnNmb3JtPG51bWJlciwgdW5rbm93bj4gPSBpbnB1dCgwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZmFkZSBpbiB0cmFuc2l0aW9uLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRpb246IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQodHJ1ZSk7XG5cbiAgLyoqXG4gICAqIHZpc2libGUgY2hhbmdlIG91dHB1dFxuICAgKiBAdHlwZSBPdXRwdXRFbWl0dGVyUmVmPFZpc2libGVDaGFuZ2VFdmVudD5cbiAgICovXG4gIHJlYWRvbmx5IHZpc2libGVDaGFuZ2U6IE91dHB1dEVtaXR0ZXJSZWY8VmlzaWJsZUNoYW5nZUV2ZW50PiA9IG91dHB1dDxWaXNpYmxlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgc2hvdyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgdmlzaWJsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB2aXNpYmxlID0gdGhpcy50YWJzU2VydmljZS5hY3RpdmVJdGVtS2V5KCkgPT09IHRoaXMuaXRlbUtleSgpICYmICF0aGlzLnRhYnNTZXJ2aWNlLmFjdGl2ZUl0ZW0oKT8uZGlzYWJsZWQ7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoeyBpdGVtS2V5OiB0aGlzLml0ZW1LZXkoKSwgdmlzaWJsZSB9KTtcbiAgICByZXR1cm4gdmlzaWJsZTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcHJvcElkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pZCgpID8/IGAke3RoaXMudGFic1NlcnZpY2UuaWQoKX0tcGFuZWwtJHt0aGlzLml0ZW1LZXkoKX1gKTtcblxuICByZWFkb25seSBhdHRyQXJpYUxhYmVsbGVkQnkgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmFyaWFMYWJlbGxlZEJ5KCkgPz8gYCR7dGhpcy50YWJzU2VydmljZS5pZCgpfS10YWItJHt0aGlzLml0ZW1LZXkoKX1gXG4gICk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzZXMgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgICd0YWItcGFuZSc6IHRydWUsXG4gICAgYWN0aXZlOiB0aGlzLnNob3coKSxcbiAgICBmYWRlOiB0aGlzLnRyYW5zaXRpb24oKSxcbiAgICBzaG93OiB0aGlzLnNob3coKSxcbiAgICBpbnZpc2libGU6IHRoaXMudGFic1NlcnZpY2UuYWN0aXZlSXRlbSgpPy5kaXNhYmxlZFxuICB9KSk7XG5cbiAgQEhvc3RCaW5kaW5nKCdALmRpc2FibGVkJylcbiAgZ2V0IGFuaW1hdGlvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy50cmFuc2l0aW9uKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ0BmYWRlSW5PdXQnKVxuICBnZXQgYW5pbWF0ZVR5cGUoKTogQW5pbWF0ZVR5cGUge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUoKSA/ICdzaG93JyA6ICdoaWRlJztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ0BmYWRlSW5PdXQuZG9uZScsIFsnJGV2ZW50J10pXG4gIG9uQW5pbWF0aW9uRG9uZSgkZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zaG93LnNldCh0aGlzLnZpc2libGUoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TabsContentComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabsContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: TabsContentComponent, isStandalone: true, selector: "c-tabs-content", host: { classAttribute: "tab-content" }, exportAs: ["cTabsContent"], ngImport: i0, template: '<ng-content />', isInline: true }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabsContentComponent, decorators: [{
8
+ type: Component,
9
+ args: [{
10
+ exportAs: 'cTabsContent',
11
+ selector: 'c-tabs-content',
12
+ standalone: true,
13
+ template: '<ng-content />',
14
+ host: {
15
+ class: 'tab-content'
16
+ }
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGFicy0yL3RhYnMtY29udGVudC90YWJzLWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzFDLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjtrR0FBcEIsb0JBQW9CLCtJQUxyQixnQkFBZ0I7OzJGQUtmLG9CQUFvQjtrQkFUaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsYUFBYTtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIGV4cG9ydEFzOiAnY1RhYnNDb250ZW50JyxcbiAgc2VsZWN0b3I6ICdjLXRhYnMtY29udGVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICd0YWItY29udGVudCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29udGVudENvbXBvbmVudCB7fVxuIl19
@@ -0,0 +1,93 @@
1
+ import { FocusKeyManager } from '@angular/cdk/a11y';
2
+ import { Component, computed, contentChildren, DestroyRef, effect, HostListener, inject, input, untracked } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { tap } from 'rxjs/operators';
5
+ import { TabDirective } from '../tab/tab.directive';
6
+ import { TabsService } from '../tabs.service';
7
+ import * as i0 from "@angular/core";
8
+ export class TabsListComponent {
9
+ constructor() {
10
+ this.#destroyRef = inject(DestroyRef);
11
+ this.tabsService = inject(TabsService);
12
+ /**
13
+ * Specify a layout type for component.
14
+ * @type 'fill' | 'justified' | undefined
15
+ * @default undefined
16
+ */
17
+ this.layout = input();
18
+ /**
19
+ * Set the variant to tabs, pills or underline.
20
+ * @type 'pills' | 'tabs' | 'underline' | 'underline-border' | undefined
21
+ * @default undefined
22
+ */
23
+ this.variant = input();
24
+ /**
25
+ * Set the role to tab list.
26
+ * @default 'tablist'
27
+ */
28
+ this.role = input('tablist');
29
+ this.hostClasses = computed(() => ({
30
+ nav: true,
31
+ [`nav-${this.layout()}`]: this.layout(),
32
+ [`nav-${this.variant()}`]: this.variant()
33
+ }));
34
+ this.tabs = contentChildren(TabDirective);
35
+ this.tabsEffect = effect(() => {
36
+ if (this.tabs().length === 0) {
37
+ return;
38
+ }
39
+ this.#focusKeyManager = new FocusKeyManager(this.tabs())
40
+ .skipPredicate((tab) => tab.disabled === true)
41
+ .withHorizontalOrientation('ltr')
42
+ .withHomeAndEnd()
43
+ .withWrap();
44
+ this.#focusKeyManager.change
45
+ .pipe(tap((value) => {
46
+ this.tabsService.activeItemKey.set(this.#focusKeyManager.activeItem?.itemKey());
47
+ this.tabsService.activeItem.set(this.#focusKeyManager.activeItem);
48
+ }), takeUntilDestroyed(this.#destroyRef))
49
+ .subscribe();
50
+ const activeItem = this.tabs().find((tab) => untracked(tab.isActive)) ?? this.tabs().find((tab) => !tab.disabled);
51
+ const activeItemIndex = this.tabs().findIndex((tab) => tab === activeItem);
52
+ this.#focusKeyManager?.updateActiveItem(activeItemIndex < 0 ? 0 : activeItemIndex);
53
+ this.tabsService.activeItemKey.set(this.#focusKeyManager.activeItem?.itemKey());
54
+ this.tabsService.activeItem.set(this.#focusKeyManager.activeItem);
55
+ }, { allowSignalWrites: true });
56
+ this.tabsServiceEffect = effect(() => {
57
+ const activeItemIndex = this.tabs().findIndex((tab) => untracked(tab.isActive) && untracked(tab.itemKey) === this.tabsService.activeItemKey());
58
+ this.#focusKeyManager?.updateActiveItem(activeItemIndex < 0 ? 0 : activeItemIndex);
59
+ });
60
+ }
61
+ #destroyRef;
62
+ #focusKeyManager;
63
+ onKeydown($event) {
64
+ if (['ArrowLeft', 'ArrowRight'].includes($event.key)) {
65
+ this.#focusKeyManager.onKeydown($event);
66
+ return;
67
+ }
68
+ if (['Tab'].includes($event.key)) {
69
+ this.#focusKeyManager?.tabOut.next();
70
+ }
71
+ return;
72
+ }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.3", type: TabsListComponent, isStandalone: true, selector: "c-tabs-list", inputs: { layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.role": "role()", "class": "hostClasses()" } }, queries: [{ propertyName: "tabs", predicate: TabDirective, isSignal: true }], exportAs: ["cTabsList"], ngImport: i0, template: '<ng-content />', isInline: true }); }
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabsListComponent, decorators: [{
77
+ type: Component,
78
+ args: [{
79
+ exportAs: 'cTabsList',
80
+ selector: 'c-tabs-list',
81
+ standalone: true,
82
+ imports: [TabDirective],
83
+ template: '<ng-content />',
84
+ host: {
85
+ '[attr.role]': 'role()',
86
+ '[class]': 'hostClasses()'
87
+ }
88
+ }]
89
+ }], propDecorators: { onKeydown: [{
90
+ type: HostListener,
91
+ args: ['keydown', ['$event']]
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGFicy0yL3RhYnMtbGlzdC90YWJzLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBYTlDLE1BQU0sT0FBTyxpQkFBaUI7SUFYOUI7UUFZVyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUzQzs7OztXQUlHO1FBQ00sV0FBTSxHQUFrRCxLQUFLLEVBQUUsQ0FBQztRQUV6RTs7OztXQUlHO1FBQ00sWUFBTyxHQUFpRixLQUFLLEVBQUUsQ0FBQztRQUV6Rzs7O1dBR0c7UUFDTSxTQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDckMsR0FBRyxFQUFFLElBQUk7WUFDVCxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxJ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QUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztLQWFKO0lBaEZVLFdBQVcsQ0FBc0I7SUE4QjFDLGdCQUFnQixDQUFpQztJQXdDakQsU0FBUyxDQUFDLE1BQVc7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7OEdBaEZVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGdsQkE4QkksWUFBWSxzRUFwQ2xDLGdCQUFnQjs7MkZBTWYsaUJBQWlCO2tCQVg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsSUFBSSxFQUFFO3dCQUNKLGFBQWEsRUFBRSxRQUFRO3dCQUN2QixTQUFTLEVBQUUsZUFBZTtxQkFDM0I7aUJBQ0Y7OEJBd0VDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIERlc3Ryb3lSZWYsXG4gIGVmZmVjdCxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dFNpZ25hbCxcbiAgdW50cmFja2VkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGFiRGlyZWN0aXZlIH0gZnJvbSAnLi4vdGFiL3RhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFic1NlcnZpY2UgfSBmcm9tICcuLi90YWJzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgZXhwb3J0QXM6ICdjVGFic0xpc3QnLFxuICBzZWxlY3RvcjogJ2MtdGFicy1saXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1RhYkRpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLnJvbGVdJzogJ3JvbGUoKScsXG4gICAgJ1tjbGFzc10nOiAnaG9zdENsYXNzZXMoKSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUYWJzTGlzdENvbXBvbmVudCB7XG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSB0YWJzU2VydmljZSA9IGluamVjdChUYWJzU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBsYXlvdXQgdHlwZSBmb3IgY29tcG9uZW50LlxuICAgKiBAdHlwZSAnZmlsbCcgfCAnanVzdGlmaWVkJyB8IHVuZGVmaW5lZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGxheW91dDogSW5wdXRTaWduYWw8J2ZpbGwnIHwgJ2p1c3RpZmllZCcgfCB1bmRlZmluZWQ+ID0gaW5wdXQoKTtcblxuICAvKipcbiAgICogU2V0IHRoZSB2YXJpYW50IHRvIHRhYnMsIHBpbGxzIG9yIHVuZGVybGluZS5cbiAgICogQHR5cGUgJ3BpbGxzJyB8ICd0YWJzJyB8ICd1bmRlcmxpbmUnIHwgJ3VuZGVybGluZS1ib3JkZXInIHwgdW5kZWZpbmVkXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdmFyaWFudDogSW5wdXRTaWduYWw8J3BpbGxzJyB8ICd0YWJzJyB8ICd1bmRlcmxpbmUnIHwgJ3VuZGVybGluZS1ib3JkZXInIHwgdW5kZWZpbmVkPiA9IGlucHV0KCk7XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgcm9sZSB0byB0YWIgbGlzdC5cbiAgICogQGRlZmF1bHQgJ3RhYmxpc3QnXG4gICAqL1xuICByZWFkb25seSByb2xlID0gaW5wdXQoJ3RhYmxpc3QnKTtcblxuICByZWFkb25seSBob3N0Q2xhc3NlcyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgbmF2OiB0cnVlLFxuICAgIFtgbmF2LSR7dGhpcy5sYXlvdXQoKX1gXTogdGhpcy5sYXlvdXQoKSxcbiAgICBbYG5hdi0ke3RoaXMudmFyaWFudCgpfWBdOiB0aGlzLnZhcmlhbnQoKVxuICB9KSk7XG5cbiAgcmVhZG9ubHkgdGFicyA9IGNvbnRlbnRDaGlsZHJlbihUYWJEaXJlY3RpdmUpO1xuICAjZm9jdXNLZXlNYW5hZ2VyITogRm9jdXNLZXlNYW5hZ2VyPFRhYkRpcmVjdGl2ZT47XG5cbiAgcmVhZG9ubHkgdGFic0VmZmVjdCA9IGVmZmVjdChcbiAgICAoKSA9PiB7XG4gICAgICBpZiAodGhpcy50YWJzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuI2ZvY3VzS2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy50YWJzKCkpXG4gICAgICAgIC5za2lwUHJlZGljYXRlKCh0YWIpID0+IHRhYi5kaXNhYmxlZCA9PT0gdHJ1ZSlcbiAgICAgICAgLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24oJ2x0cicpXG4gICAgICAgIC53aXRoSG9tZUFuZEVuZCgpXG4gICAgICAgIC53aXRoV3JhcCgpO1xuXG4gICAgICB0aGlzLiNmb2N1c0tleU1hbmFnZXIuY2hhbmdlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFic1NlcnZpY2UuYWN0aXZlSXRlbUtleS5zZXQodGhpcy4jZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/Lml0ZW1LZXkoKSk7XG4gICAgICAgICAgICB0aGlzLnRhYnNTZXJ2aWNlLmFjdGl2ZUl0ZW0uc2V0KHRoaXMuI2ZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAgIGNvbnN0IGFjdGl2ZUl0ZW0gPSB0aGlzLnRhYnMoKS5maW5kKCh0YWIpID0+IHVudHJhY2tlZCh0YWIuaXNBY3RpdmUpKSA/PyB0aGlzLnRhYnMoKS5maW5kKCh0YWIpID0+ICF0YWIuZGlzYWJsZWQpO1xuICAgICAgY29uc3QgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy50YWJzKCkuZmluZEluZGV4KCh0YWIpID0+IHRhYiA9PT0gYWN0aXZlSXRlbSk7XG4gICAgICB0aGlzLiNmb2N1c0tleU1hbmFnZXI/LnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSXRlbUluZGV4IDwgMCA/IDAgOiBhY3RpdmVJdGVtSW5kZXgpO1xuICAgICAgdGhpcy50YWJzU2VydmljZS5hY3RpdmVJdGVtS2V5LnNldCh0aGlzLiNmb2N1c0tleU1hbmFnZXIuYWN0aXZlSXRlbT8uaXRlbUtleSgpKTtcbiAgICAgIHRoaXMudGFic1NlcnZpY2UuYWN0aXZlSXRlbS5zZXQodGhpcy4jZm9jdXNLZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pO1xuICAgIH0sXG4gICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICk7XG5cbiAgdGFic1NlcnZpY2VFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMudGFicygpLmZpbmRJbmRleChcbiAgICAgICh0YWIpID0+IHVudHJhY2tlZCh0YWIuaXNBY3RpdmUpICYmIHVudHJhY2tlZCh0YWIuaXRlbUtleSkgPT09IHRoaXMudGFic1NlcnZpY2UuYWN0aXZlSXRlbUtleSgpXG4gICAgKTtcbiAgICB0aGlzLiNmb2N1c0tleU1hbmFnZXI/LnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSXRlbUluZGV4IDwgMCA/IDAgOiBhY3RpdmVJdGVtSW5kZXgpO1xuICB9KTtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlkb3duKCRldmVudDogYW55KSB7XG4gICAgaWYgKFsnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnXS5pbmNsdWRlcygkZXZlbnQua2V5KSkge1xuICAgICAgdGhpcy4jZm9jdXNLZXlNYW5hZ2VyLm9uS2V5ZG93bigkZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoWydUYWInXS5pbmNsdWRlcygkZXZlbnQua2V5KSkge1xuICAgICAgdGhpcy4jZm9jdXNLZXlNYW5hZ2VyPy50YWJPdXQubmV4dCgpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Component, effect, inject, input, model } from '@angular/core';
2
+ import { TabsService } from './tabs.service';
3
+ import * as i0 from "@angular/core";
4
+ let nextId = 0;
5
+ export class TabsComponent {
6
+ constructor() {
7
+ this.tabsService = inject(TabsService);
8
+ /**
9
+ * The active item key.
10
+ * @type <string | number | undefined>
11
+ */
12
+ this.activeItemKey = model();
13
+ /**
14
+ * The id attribute
15
+ * @type string
16
+ */
17
+ this.tabsId = `tabs-${nextId++}`;
18
+ this.id = input(this.tabsId);
19
+ this.activeItemEffect = effect(() => {
20
+ this.tabsService.id.set(this.id());
21
+ this.tabsService.activeItemKey.set(this.activeItemKey());
22
+ }, { allowSignalWrites: true });
23
+ this.tabsServiceEffect = effect(() => {
24
+ this.activeItemKey.set(this.tabsService.activeItemKey());
25
+ }, { allowSignalWrites: true });
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: TabsComponent, isStandalone: true, selector: "c-tabs", inputs: { activeItemKey: { classPropertyName: "activeItemKey", publicName: "activeItemKey", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeItemKey: "activeItemKeyChange" }, host: { properties: { "id": "id()" }, classAttribute: "tabs" }, providers: [TabsService], exportAs: ["cTabs"], ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{display:block}\n"] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabsComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ exportAs: 'cTabs', selector: 'c-tabs', standalone: true, imports: [], template: '<ng-content />', providers: [TabsService], host: {
33
+ '[id]': 'id()',
34
+ class: 'tabs'
35
+ }, styles: [":host{display:block}\n"] }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3RhYnMtMi90YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTdDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQWVmLE1BQU0sT0FBTyxhQUFhO0lBYjFCO1FBY1csZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFM0M7OztXQUdHO1FBQ00sa0JBQWEsR0FBNkMsS0FBSyxFQUFtQixDQUFDO1FBRTVGOzs7V0FHRztRQUNILFdBQU0sR0FBRyxRQUFRLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDbkIsT0FBRSxHQUFHLEtBQUssQ0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEMscUJBQWdCLEdBQUcsTUFBTSxDQUNoQyxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUMsRUFDRCxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFDO1FBRU8sc0JBQWlCLEdBQUcsTUFBTSxDQUNqQyxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzVCLENBQUM7S0FDSDs4R0E5QlksYUFBYTtrR0FBYixhQUFhLG1iQU5iLENBQUMsV0FBVyxDQUFDLCtDQUZkLGdCQUFnQjs7MkZBUWYsYUFBYTtrQkFiekIsU0FBUzsrQkFDRSxPQUFPLFlBQ1AsUUFBUSxjQUNOLElBQUksV0FDUCxFQUFFLFlBQ0QsZ0JBQWdCLGFBRWYsQ0FBQyxXQUFXLENBQUMsUUFDbEI7d0JBQ0osTUFBTSxFQUFFLE1BQU07d0JBQ2QsS0FBSyxFQUFFLE1BQU07cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgbW9kZWwsIE1vZGVsU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJzU2VydmljZSB9IGZyb20gJy4vdGFicy5zZXJ2aWNlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBleHBvcnRBczogJ2NUYWJzJyxcbiAgc2VsZWN0b3I6ICdjLXRhYnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gIHN0eWxlVXJsOiAnLi90YWJzLmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbVGFic1NlcnZpY2VdLFxuICBob3N0OiB7XG4gICAgJ1tpZF0nOiAnaWQoKScsXG4gICAgY2xhc3M6ICd0YWJzJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRhYnNDb21wb25lbnQge1xuICByZWFkb25seSB0YWJzU2VydmljZSA9IGluamVjdChUYWJzU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFRoZSBhY3RpdmUgaXRlbSBrZXkuXG4gICAqIEB0eXBlIDxzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ+XG4gICAqL1xuICByZWFkb25seSBhY3RpdmVJdGVtS2V5OiBNb2RlbFNpZ25hbDxzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ+ID0gbW9kZWw8bnVtYmVyIHwgc3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgaWQgYXR0cmlidXRlXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgdGFic0lkID0gYHRhYnMtJHtuZXh0SWQrK31gO1xuICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4odGhpcy50YWJzSWQpO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZUl0ZW1FZmZlY3QgPSBlZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgdGhpcy50YWJzU2VydmljZS5pZC5zZXQodGhpcy5pZCgpKTtcbiAgICAgIHRoaXMudGFic1NlcnZpY2UuYWN0aXZlSXRlbUtleS5zZXQodGhpcy5hY3RpdmVJdGVtS2V5KCkpO1xuICAgIH0sXG4gICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICk7XG5cbiAgcmVhZG9ubHkgdGFic1NlcnZpY2VFZmZlY3QgPSBlZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVJdGVtS2V5LnNldCh0aGlzLnRhYnNTZXJ2aWNlLmFjdGl2ZUl0ZW1LZXkoKSk7XG4gICAgfSxcbiAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgKTtcbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { Injectable, signal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TabsService {
4
+ constructor() {
5
+ this.activeItem = signal(undefined);
6
+ this.activeItemKey = signal(undefined);
7
+ this.id = signal(undefined);
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabsService }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TabsService, decorators: [{
13
+ type: Injectable
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90YWJzLTIvdGFicy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRCxNQUFNLE9BQU8sV0FBVztJQUR4QjtRQUVXLGVBQVUsR0FBRyxNQUFNLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxNQUFNLENBQThCLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELE9BQUUsR0FBRyxNQUFNLENBQThCLFNBQVMsQ0FBQyxDQUFDO0tBQzlEOzhHQUpZLFdBQVc7a0hBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFic1NlcnZpY2Uge1xuICByZWFkb25seSBhY3RpdmVJdGVtID0gc2lnbmFsPGFueT4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgYWN0aXZlSXRlbUtleSA9IHNpZ25hbDxzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGlkID0gc2lnbmFsPHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { TabsService } from './tabs.service';
3
+ import { TabsComponent } from './tabs.component';
4
+ import { TabDirective } from './tab/tab.directive';
5
+ import { TabsListComponent } from './tabs-list/tabs-list.component';
6
+ import { TabsContentComponent } from './tabs-content/tabs-content.component';
7
+ import { TabPanelComponent } from './tab-panel/tab-panel.component';
8
+ import * as i0 from "@angular/core";
9
+ export class Tabs2Module {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: Tabs2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: Tabs2Module, imports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent], exports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: Tabs2Module, providers: [TabsService] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: Tabs2Module, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ imports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],
18
+ exports: [TabsComponent, TabsListComponent, TabDirective, TabsContentComponent, TabPanelComponent],
19
+ providers: [TabsService]
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiczIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90YWJzLTIvdGFiczIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBT3BFLE1BQU0sT0FBTyxXQUFXOzhHQUFYLFdBQVc7K0dBQVgsV0FBVyxZQUpaLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLGFBQ3ZGLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCOytHQUd0RixXQUFXLGFBRlgsQ0FBQyxXQUFXLENBQUM7OzJGQUViLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQztvQkFDbEcsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQztvQkFDbEcsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJzU2VydmljZSB9IGZyb20gJy4vdGFicy5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnNDb21wb25lbnQgfSBmcm9tICcuL3RhYnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFiL3RhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFic0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3RhYnMtbGlzdC90YWJzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYnNDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi90YWJzLWNvbnRlbnQvdGFicy1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vdGFiLXBhbmVsL3RhYi1wYW5lbC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbVGFic0NvbXBvbmVudCwgVGFic0xpc3RDb21wb25lbnQsIFRhYkRpcmVjdGl2ZSwgVGFic0NvbnRlbnRDb21wb25lbnQsIFRhYlBhbmVsQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1RhYnNDb21wb25lbnQsIFRhYnNMaXN0Q29tcG9uZW50LCBUYWJEaXJlY3RpdmUsIFRhYnNDb250ZW50Q29tcG9uZW50LCBUYWJQYW5lbENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1RhYnNTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJzMk1vZHVsZSB7fVxuIl19
@@ -5,10 +5,10 @@ export class DayPeriodElementDirective {
5
5
  constructor(elementRef) {
6
6
  this.elementRef = elementRef;
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DayPeriodElementDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: DayPeriodElementDirective, isStandalone: true, selector: "[cDayPeriodElement]", inputs: { cDayPeriodElement: "cDayPeriodElement" }, exportAs: ["cDayPeriodElement"], ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DayPeriodElementDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: DayPeriodElementDirective, isStandalone: true, selector: "[cDayPeriodElement]", inputs: { cDayPeriodElement: "cDayPeriodElement" }, exportAs: ["cDayPeriodElement"], ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DayPeriodElementDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DayPeriodElementDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: '[cDayPeriodElement]',
@@ -80,10 +80,10 @@ export class TimePickerRollAmPmComponent {
80
80
  this.handleElementClick($event, element);
81
81
  }
82
82
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimePickerRollAmPmComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: TimePickerRollAmPmComponent, isStandalone: true, selector: "c-time-picker-roll-am-pm", inputs: { disabled: ["disabled", "disabled", booleanAttribute], elements: "elements", onClick: "onClick", selected: "selected", refresh: ["refresh", "refresh", booleanAttribute] }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "dayPeriodElements", predicate: DayPeriodElementDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@for (element of elements; track element; let i = $index) {\n <div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n [attr.disabled]=\"element.disabled || null\"\n [cDayPeriodElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n >\n {{ element.label }}\n </div>\n}\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: DayPeriodElementDirective, selector: "[cDayPeriodElement]", inputs: ["cDayPeriodElement"], exportAs: ["cDayPeriodElement"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimePickerRollAmPmComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: TimePickerRollAmPmComponent, isStandalone: true, selector: "c-time-picker-roll-am-pm", inputs: { disabled: ["disabled", "disabled", booleanAttribute], elements: "elements", onClick: "onClick", selected: "selected", refresh: ["refresh", "refresh", booleanAttribute] }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "dayPeriodElements", predicate: DayPeriodElementDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@for (element of elements; track element; let i = $index) {\n <div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n [attr.disabled]=\"element.disabled || null\"\n [cDayPeriodElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n >\n {{ element.label }}\n </div>\n}\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: DayPeriodElementDirective, selector: "[cDayPeriodElement]", inputs: ["cDayPeriodElement"], exportAs: ["cDayPeriodElement"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimePickerRollAmPmComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimePickerRollAmPmComponent, decorators: [{
87
87
  type: Component,
88
88
  args: [{ selector: 'c-time-picker-roll-am-pm', standalone: true, imports: [DayPeriodElementDirective, NgClass], template: "@for (element of elements; track element; let i = $index) {\n <div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n [attr.disabled]=\"element.disabled || null\"\n [cDayPeriodElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n >\n {{ element.label }}\n </div>\n}\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"] }]
89
89
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disabled: [{
@@ -5,10 +5,10 @@ export class TimeElementDirective {
5
5
  constructor(elementRef) {
6
6
  this.elementRef = elementRef;
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimeElementDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: TimeElementDirective, isStandalone: true, selector: "[cTimeElement]", inputs: { cTimeElement: "cTimeElement" }, exportAs: ["cTimeElement"], ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimeElementDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: TimeElementDirective, isStandalone: true, selector: "[cTimeElement]", inputs: { cTimeElement: "cTimeElement" }, exportAs: ["cTimeElement"], ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimeElementDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimeElementDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: '[cTimeElement]',
@@ -84,10 +84,10 @@ export class TimePickerRollColComponent {
84
84
  this.handleElementClick($event, element);
85
85
  }
86
86
  }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimePickerRollColComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: TimePickerRollColComponent, isStandalone: true, selector: "c-time-picker-roll-col", inputs: { disabled: ["disabled", "disabled", booleanAttribute], elements: "elements", onClick: "onClick", selected: "selected", refresh: ["refresh", "refresh", booleanAttribute] }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "timeElements", predicate: TimeElementDirective, descendants: true }], exportAs: ["cTimePickerRollCol"], usesOnChanges: true, ngImport: i0, template: "@for (element of elements; track element; let i = $index) {\n <div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n >\n {{ element.label }}\n </div>\n}\n\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: TimeElementDirective, selector: "[cTimeElement]", inputs: ["cTimeElement"], exportAs: ["cTimeElement"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimePickerRollColComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
88
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: TimePickerRollColComponent, isStandalone: true, selector: "c-time-picker-roll-col", inputs: { disabled: ["disabled", "disabled", booleanAttribute], elements: "elements", onClick: "onClick", selected: "selected", refresh: ["refresh", "refresh", booleanAttribute] }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "timeElements", predicate: TimeElementDirective, descendants: true }], exportAs: ["cTimePickerRollCol"], usesOnChanges: true, ngImport: i0, template: "@for (element of elements; track element; let i = $index) {\n <div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n >\n {{ element.label }}\n </div>\n}\n\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: TimeElementDirective, selector: "[cTimeElement]", inputs: ["cTimeElement"], exportAs: ["cTimeElement"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimePickerRollColComponent, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimePickerRollColComponent, decorators: [{
91
91
  type: Component,
92
92
  args: [{ selector: 'c-time-picker-roll-col', exportAs: 'cTimePickerRollCol', standalone: true, imports: [TimeElementDirective, NgClass], template: "@for (element of elements; track element; let i = $index) {\n <div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n >\n {{ element.label }}\n </div>\n}\n\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"] }]
93
93
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disabled: [{
@@ -429,8 +429,8 @@ export class TimePickerComponent {
429
429
  }), takeUntilDestroyed(this.#destroyRef))
430
430
  .subscribe();
431
431
  }
432
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
433
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: TimePickerComponent, isStandalone: true, selector: "c-time-picker", inputs: { cleaner: ["cleaner", "cleaner", booleanAttribute], dateTimeFormatOptions: "dateTimeFormatOptions", disabled: ["disabled", "disabled", booleanAttribute], filterHours: "filterHours", filterMinutes: "filterMinutes", filterSeconds: "filterSeconds", indicator: ["indicator", "indicator", booleanAttribute], inputReadOnly: ["inputReadOnly", "inputReadOnly", booleanAttribute], locale: "locale", placeholder: "placeholder", seconds: ["seconds", "seconds", booleanAttribute], size: "size", time: "time", variant: "variant", valid: "valid", visible: ["visible", "visible", booleanAttribute] }, outputs: { timeChange: "timeChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
432
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
433
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: TimePickerComponent, isStandalone: true, selector: "c-time-picker", inputs: { cleaner: ["cleaner", "cleaner", booleanAttribute], dateTimeFormatOptions: "dateTimeFormatOptions", disabled: ["disabled", "disabled", booleanAttribute], filterHours: "filterHours", filterMinutes: "filterMinutes", filterSeconds: "filterSeconds", indicator: ["indicator", "indicator", booleanAttribute], inputReadOnly: ["inputReadOnly", "inputReadOnly", booleanAttribute], locale: "locale", placeholder: "placeholder", seconds: ["seconds", "seconds", booleanAttribute], size: "size", time: "time", variant: "variant", valid: "valid", visible: ["visible", "visible", booleanAttribute] }, outputs: { timeChange: "timeChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
434
434
  {
435
435
  provide: NG_VALUE_ACCESSOR,
436
436
  useExisting: forwardRef(() => TimePickerComponent),
@@ -438,7 +438,7 @@ export class TimePickerComponent {
438
438
  }
439
439
  ], queries: [{ propertyName: "contentTemplates", predicate: TemplateIdDirective, descendants: true }], viewQueries: [{ propertyName: "dropdownRef", first: true, predicate: DropdownComponent, descendants: true, read: ElementRef }], exportAs: ["cTimePicker"], usesOnChanges: true, ngImport: i0, template: "@if (variant === 'select') {\n <div class=\"date-picker-timepickers\">\n <div class=\"picker time-picker\">\n <div [formGroup]=\"selectTime\" [ngClass]=\"timePickerClasses\" class=\"time-picker-body\">\n <span class=\"time-picker-inline-icon\"></span>\n <select (blur)=\"onBlur()\" [attr.disabled]=\"disabled || null\" [sizing]=\"size ?? ''\"\n cSelect class=\"time-picker-inline-select ms-0\" formControlName=\"selectHours\">\n @for (hour of listOfHours12; track hour; let i = $index) {\n <option [attr.disabled]=\"hour.disabled || null\" [ngValue]=\"hour.value\">\n {{ hour.label }}\n </option>\n }\n </select>\n {{ ' :' }}<select (blur)=\"onBlur()\" [attr.disabled]=\"disabled || null\" [sizing]=\"size ?? ''\"\n cSelect class=\"time-picker-inline-select ms-0\" formControlName=\"selectMinutes\">\n @for (minute of listOfMinutes; track minute; let i = $index) {\n <option [attr.disabled]=\"minute.disabled || null\" [ngValue]=\"minute.value\">\n {{ minute.label }}\n </option>\n }\n </select>\n @if (seconds) {\n {{ ' :' }}<select (blur)=\"onBlur()\" [attr.disabled]=\"disabled || null\" [sizing]=\"size ?? ''\"\n cSelect class=\"time-picker-inline-select ms-0\" formControlName=\"selectSeconds\">\n @for (second of listOfSeconds; track second; let i = $index) {\n <option [attr.disabled]=\"second.disabled || null\" [ngValue]=\"second.value\">\n {{ second.label }}\n </option>\n }\n </select>\n }\n @if (hour12) {\n <select (blur)=\"onBlur()\" [attr.disabled]=\"disabled || null\" [sizing]=\"size ?? ''\"\n cSelect class=\"time-picker-inline-select ms-0\" formControlName=\"selectDayPeriod\">\n @for (dayPeriod of dayPeriods; track dayPeriod) {\n <option [ngValue]=\"dayPeriod.value\" class=\"time-picker-roll-cell\">\n {{ dayPeriod.label }}\n </option>\n }\n </select>\n }\n </div>\n </div>\n </div>\n}\n@if (variant === 'roll') {\n <c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" [ngClass]=\"timePickerClasses\" [visible]=\"visible\">\n <div [caret]=\"false\" cDropdownToggle class=\"time-picker-input-group\">\n <input (blur)=\"handleBlur($event);\"\n (change)=\"handleTimeInputChange($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.disabled]=\"disabled ?? dropdown.visible ? '' : null\"\n [attr.pattern]=\"hour12 ? '(((0[1-9])|(1[0-2])):([0-5])([0-9])\\\\s(A|P)M)' : '([01]?[0-9]|2[0-3]):[0-5][0-9]'\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [formControl]=\"timeInput\"\n [placeholder]=\"placeholder\"\n [readonly]=\"inputReadOnly ?? null\"\n class=\"time-picker-input\"\n >\n @if (indicator) {\n <div class=\"time-picker-indicator\"></div>\n }\n @if (cleaner && time && !disabled) {\n <div (click)=\"!disabled && handleClear($event)\" class=\"time-picker-cleaner\" role=\"button\"></div>\n }\n </div>\n <div #dropdownMenu=\"cDropdownMenu\" cDropdownMenu class=\"time-picker-dropdown py-0\">\n <div class=\"time-picker-body time-picker-roll\" style=\"position: relative;\">\n <c-time-picker-roll-col\n (selectedChange)=\"handleSelectTimeChange($event, 'hour')\"\n [disabled]=\"disabled\"\n [elements]=\"listOfHours12\"\n [refresh]=\"dropdownMenu.visible\"\n [selected]=\"hour\"\n role=\"listbox\"\n />\n <c-time-picker-roll-col\n (selectedChange)=\"handleSelectTimeChange($event, 'minute')\"\n [disabled]=\"disabled\"\n [elements]=\"listOfMinutes\"\n [refresh]=\"dropdownMenu.visible\"\n [selected]=\"minute\"\n role=\"listbox\"\n />\n @if (seconds) {\n <c-time-picker-roll-col\n (selectedChange)=\"handleSelectTimeChange($event, 'second')\"\n [disabled]=\"disabled\"\n [elements]=\"listOfSeconds\"\n [refresh]=\"dropdownMenu.visible\"\n [selected]=\"second\"\n role=\"listbox\"\n />\n }\n @if (hour12) {\n <c-time-picker-roll-am-pm\n (selectedChange)=\"handleSelectDayPeriodChange($event)\"\n [disabled]=\"disabled\"\n [elements]=\"dayPeriods\"\n [refresh]=\"dropdownMenu.visible\"\n [selected]=\"dayPeriod\"\n role=\"listbox\"\n />\n }\n </div>\n @if (templates?.timePickerFooter) {\n <div class=\"time-picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.timePickerFooter; context: {$implicit: dropdown}\" />\n </div>\n }\n </div>\n </c-dropdown>\n}\n", styles: [".disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "directive", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible"], exportAs: ["cDropdownMenu"] }, { kind: "directive", type: FormSelectDirective, selector: "select[cSelect]", inputs: ["sizing", "valid"] }, { kind: "component", type: TimePickerRollColComponent, selector: "c-time-picker-roll-col", inputs: ["disabled", "elements", "onClick", "selected", "refresh"], outputs: ["selectedChange"], exportAs: ["cTimePickerRollCol"] }, { kind: "component", type: TimePickerRollAmPmComponent, selector: "c-time-picker-roll-am-pm", inputs: ["disabled", "elements", "onClick", "selected", "refresh"], outputs: ["selectedChange"] }] }); }
440
440
  }
441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimePickerComponent, decorators: [{
441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimePickerComponent, decorators: [{
442
442
  type: Component,
443
443
  args: [{ selector: 'c-time-picker', exportAs: 'cTimePicker', standalone: true, imports: [
444
444
  NgClass,
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { TimePickerComponent } from './time-picker.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TimePickerModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: TimePickerModule, imports: [TimePickerComponent], exports: [TimePickerComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimePickerModule, imports: [TimePickerComponent] }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: TimePickerModule, imports: [TimePickerComponent], exports: [TimePickerComponent] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimePickerModule, imports: [TimePickerComponent] }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TimePickerModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TimePickerModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  imports: [TimePickerComponent],