@odx/angular 1.0.0-rc.11 → 1.0.0-rc.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +1 -2
  2. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +1 -0
  3. package/components/action-group/action-group.component.d.ts +1 -1
  4. package/components/header/lib/header.component.d.ts +1 -1
  5. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +3 -1
  6. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +2 -0
  7. package/components/menu/lib/directives/menu-item.directive.d.ts +1 -2
  8. package/esm2020/cdk/a11y/lib/a11y.module.mjs +4 -4
  9. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
  10. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +5 -7
  11. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  12. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
  13. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +3 -3
  14. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
  15. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
  16. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  17. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
  18. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
  19. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
  20. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
  21. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +14 -3
  22. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
  23. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
  24. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  25. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +3 -3
  26. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +7 -7
  27. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  28. package/esm2020/components/accordion/lib/accordion.component.mjs +6 -6
  29. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  30. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
  31. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  32. package/esm2020/components/action-group/action-group.component.mjs +5 -5
  33. package/esm2020/components/area-header/area-header.component.mjs +3 -3
  34. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  35. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  36. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  37. package/esm2020/components/avatar/lib/avatar.component.mjs +3 -3
  38. package/esm2020/components/badge/lib/badge.component.mjs +3 -3
  39. package/esm2020/components/badge/lib/badge.directive.mjs +3 -3
  40. package/esm2020/components/bar/lib/bar.component.mjs +3 -3
  41. package/esm2020/components/bar/lib/bar.module.mjs +4 -4
  42. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +3 -3
  43. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +3 -3
  44. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  45. package/esm2020/components/button/lib/button.component.mjs +3 -3
  46. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  47. package/esm2020/components/checkbox/lib/checkbox.component.mjs +3 -3
  48. package/esm2020/components/checkbox/lib/checkbox.module.mjs +4 -4
  49. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +3 -3
  50. package/esm2020/components/chip/lib/chip.component.mjs +3 -3
  51. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +3 -3
  52. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  53. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  54. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  55. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  56. package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
  57. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +3 -3
  58. package/esm2020/components/dropdown/lib/dropdown.module.mjs +4 -4
  59. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  60. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
  61. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
  62. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  63. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  64. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  65. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  66. package/esm2020/components/form-field/lib/form-field.component.mjs +3 -3
  67. package/esm2020/components/form-field/lib/form-field.module.mjs +4 -4
  68. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  69. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +3 -3
  70. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  71. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  72. package/esm2020/components/header/lib/header.component.mjs +5 -5
  73. package/esm2020/components/header/lib/header.module.mjs +4 -4
  74. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  75. package/esm2020/components/inline-message/lib/inline-message.component.mjs +3 -3
  76. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +3 -3
  77. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +3 -3
  78. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +3 -3
  79. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +4 -4
  80. package/esm2020/components/link/link.directive.mjs +3 -3
  81. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +3 -3
  82. package/esm2020/components/list/lib/list.component.mjs +3 -3
  83. package/esm2020/components/list/lib/list.module.mjs +4 -4
  84. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
  85. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +10 -6
  86. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  87. package/esm2020/components/logo/logo.directive.mjs +3 -3
  88. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  89. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +13 -5
  90. package/esm2020/components/main-menu/lib/main-menu.component.mjs +3 -3
  91. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  92. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  93. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +5 -7
  94. package/esm2020/components/menu/lib/menu.component.mjs +3 -3
  95. package/esm2020/components/menu/lib/menu.directive.mjs +3 -3
  96. package/esm2020/components/menu/lib/menu.module.mjs +4 -4
  97. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  98. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  99. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +3 -3
  100. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +3 -3
  101. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +3 -3
  102. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  103. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  104. package/esm2020/components/modal/lib/modal.component.mjs +5 -5
  105. package/esm2020/components/modal/lib/modal.directive.mjs +3 -3
  106. package/esm2020/components/modal/lib/modal.module.mjs +4 -4
  107. package/esm2020/components/modal/lib/modal.service.mjs +3 -3
  108. package/esm2020/components/progress/lib/progress.component.mjs +3 -3
  109. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
  110. package/esm2020/components/radio-group/lib/radio-group.component.mjs +7 -7
  111. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  112. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +3 -3
  113. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
  114. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  115. package/esm2020/components/select/lib/components/option/option.component.mjs +3 -3
  116. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +3 -3
  117. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  118. package/esm2020/components/select/lib/select.component.mjs +7 -7
  119. package/esm2020/components/select/lib/select.module.mjs +4 -4
  120. package/esm2020/components/slider/lib/slider.directive.mjs +3 -3
  121. package/esm2020/components/spinbox/lib/spinbox.component.mjs +3 -3
  122. package/esm2020/components/switch/lib/switch.component.mjs +3 -3
  123. package/esm2020/components/switch/lib/switch.module.mjs +4 -4
  124. package/esm2020/components/switch/lib/switch.validator.mjs +3 -3
  125. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +3 -3
  126. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +6 -6
  127. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  128. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
  129. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +3 -3
  130. package/esm2020/components/toast/lib/toast.module.mjs +4 -4
  131. package/esm2020/components/toast/lib/toast.service.mjs +3 -3
  132. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
  133. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +7 -7
  134. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  135. package/esm2020/components/tooltip/lib/tooltip.component.mjs +3 -3
  136. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +3 -3
  137. package/esm2020/lib/controllers/controller.mjs +3 -3
  138. package/esm2020/lib/controllers/disabled.controller.mjs +3 -3
  139. package/esm2020/lib/controllers/readonly.controller.mjs +3 -3
  140. package/esm2020/lib/core.module.mjs +4 -4
  141. package/esm2020/lib/directives/click-outside.directive.mjs +3 -3
  142. package/esm2020/lib/directives/let.directive.mjs +3 -3
  143. package/esm2020/lib/directives/with-disabled-state.directive.mjs +3 -3
  144. package/esm2020/lib/directives/with-tabindex.directive.mjs +3 -3
  145. package/esm2020/lib/services/window-ref.mjs +9 -5
  146. package/esm2020/utils/lib/helpers/build-url.mjs +4 -0
  147. package/esm2020/utils/lib/helpers/event-manager.mjs +3 -3
  148. package/esm2020/utils/lib/helpers/index.mjs +2 -1
  149. package/fesm2015/odx-angular-cdk-a11y.mjs +13 -14
  150. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -1
  151. package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
  152. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +3 -3
  153. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +6 -6
  154. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
  155. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +22 -10
  156. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  157. package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
  158. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +13 -13
  159. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  160. package/fesm2015/odx-angular-components-accordion.mjs +15 -15
  161. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  162. package/fesm2015/odx-angular-components-action-group.mjs +4 -4
  163. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  164. package/fesm2015/odx-angular-components-area-header.mjs +13 -13
  165. package/fesm2015/odx-angular-components-avatar.mjs +3 -3
  166. package/fesm2015/odx-angular-components-badge.mjs +6 -6
  167. package/fesm2015/odx-angular-components-bar.mjs +13 -13
  168. package/fesm2015/odx-angular-components-breadcrumbs.mjs +3 -3
  169. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  170. package/fesm2015/odx-angular-components-button.mjs +3 -3
  171. package/fesm2015/odx-angular-components-checkbox.mjs +10 -10
  172. package/fesm2015/odx-angular-components-chip.mjs +3 -3
  173. package/fesm2015/odx-angular-components-circular-progress.mjs +3 -3
  174. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  175. package/fesm2015/odx-angular-components-dropdown.mjs +10 -10
  176. package/fesm2015/odx-angular-components-form-field.mjs +34 -34
  177. package/fesm2015/odx-angular-components-header.mjs +14 -14
  178. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  179. package/fesm2015/odx-angular-components-icon.mjs +3 -3
  180. package/fesm2015/odx-angular-components-inline-message.mjs +3 -3
  181. package/fesm2015/odx-angular-components-launch-tile.mjs +13 -13
  182. package/fesm2015/odx-angular-components-link.mjs +3 -3
  183. package/fesm2015/odx-angular-components-list.mjs +10 -10
  184. package/fesm2015/odx-angular-components-loading-spinner.mjs +17 -12
  185. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
  186. package/fesm2015/odx-angular-components-logo.mjs +3 -3
  187. package/fesm2015/odx-angular-components-main-menu.mjs +56 -48
  188. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  189. package/fesm2015/odx-angular-components-menu.mjs +16 -17
  190. package/fesm2015/odx-angular-components-menu.mjs.map +1 -1
  191. package/fesm2015/odx-angular-components-modal.mjs +35 -35
  192. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  193. package/fesm2015/odx-angular-components-progress.mjs +3 -3
  194. package/fesm2015/odx-angular-components-radio-group.mjs +13 -13
  195. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  196. package/fesm2015/odx-angular-components-rail-navigation.mjs +10 -10
  197. package/fesm2015/odx-angular-components-select.mjs +19 -19
  198. package/fesm2015/odx-angular-components-select.mjs.map +1 -1
  199. package/fesm2015/odx-angular-components-slider.mjs +3 -3
  200. package/fesm2015/odx-angular-components-spinbox.mjs +3 -3
  201. package/fesm2015/odx-angular-components-switch.mjs +10 -10
  202. package/fesm2015/odx-angular-components-tab-bar.mjs +12 -12
  203. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
  204. package/fesm2015/odx-angular-components-toast.mjs +13 -13
  205. package/fesm2015/odx-angular-components-toggle-button-group.mjs +13 -13
  206. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  207. package/fesm2015/odx-angular-components-tooltip.mjs +6 -6
  208. package/fesm2015/odx-angular-utils.mjs +8 -4
  209. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  210. package/fesm2015/odx-angular.mjs +34 -30
  211. package/fesm2015/odx-angular.mjs.map +1 -1
  212. package/fesm2020/odx-angular-cdk-a11y.mjs +13 -14
  213. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -1
  214. package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
  215. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +3 -3
  216. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +6 -6
  217. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
  218. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +21 -10
  219. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  220. package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
  221. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +13 -13
  222. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  223. package/fesm2020/odx-angular-components-accordion.mjs +15 -15
  224. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  225. package/fesm2020/odx-angular-components-action-group.mjs +4 -4
  226. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  227. package/fesm2020/odx-angular-components-area-header.mjs +13 -13
  228. package/fesm2020/odx-angular-components-avatar.mjs +3 -3
  229. package/fesm2020/odx-angular-components-badge.mjs +6 -6
  230. package/fesm2020/odx-angular-components-bar.mjs +13 -13
  231. package/fesm2020/odx-angular-components-breadcrumbs.mjs +3 -3
  232. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  233. package/fesm2020/odx-angular-components-button.mjs +3 -3
  234. package/fesm2020/odx-angular-components-checkbox.mjs +10 -10
  235. package/fesm2020/odx-angular-components-chip.mjs +3 -3
  236. package/fesm2020/odx-angular-components-circular-progress.mjs +3 -3
  237. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  238. package/fesm2020/odx-angular-components-dropdown.mjs +10 -10
  239. package/fesm2020/odx-angular-components-form-field.mjs +34 -34
  240. package/fesm2020/odx-angular-components-header.mjs +14 -14
  241. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  242. package/fesm2020/odx-angular-components-icon.mjs +3 -3
  243. package/fesm2020/odx-angular-components-inline-message.mjs +3 -3
  244. package/fesm2020/odx-angular-components-launch-tile.mjs +13 -13
  245. package/fesm2020/odx-angular-components-link.mjs +3 -3
  246. package/fesm2020/odx-angular-components-list.mjs +10 -10
  247. package/fesm2020/odx-angular-components-loading-spinner.mjs +16 -12
  248. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
  249. package/fesm2020/odx-angular-components-logo.mjs +3 -3
  250. package/fesm2020/odx-angular-components-main-menu.mjs +55 -48
  251. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  252. package/fesm2020/odx-angular-components-menu.mjs +16 -17
  253. package/fesm2020/odx-angular-components-menu.mjs.map +1 -1
  254. package/fesm2020/odx-angular-components-modal.mjs +35 -35
  255. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  256. package/fesm2020/odx-angular-components-progress.mjs +3 -3
  257. package/fesm2020/odx-angular-components-radio-group.mjs +13 -13
  258. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  259. package/fesm2020/odx-angular-components-rail-navigation.mjs +10 -10
  260. package/fesm2020/odx-angular-components-select.mjs +19 -19
  261. package/fesm2020/odx-angular-components-select.mjs.map +1 -1
  262. package/fesm2020/odx-angular-components-slider.mjs +3 -3
  263. package/fesm2020/odx-angular-components-spinbox.mjs +3 -3
  264. package/fesm2020/odx-angular-components-switch.mjs +10 -10
  265. package/fesm2020/odx-angular-components-tab-bar.mjs +12 -12
  266. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
  267. package/fesm2020/odx-angular-components-toast.mjs +13 -13
  268. package/fesm2020/odx-angular-components-toggle-button-group.mjs +13 -13
  269. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  270. package/fesm2020/odx-angular-components-tooltip.mjs +6 -6
  271. package/fesm2020/odx-angular-utils.mjs +8 -4
  272. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  273. package/fesm2020/odx-angular.mjs +33 -29
  274. package/fesm2020/odx-angular.mjs.map +1 -1
  275. package/lib/services/window-ref.d.ts +2 -0
  276. package/package.json +2 -2
  277. package/utils/lib/helpers/build-url.d.ts +1 -0
  278. package/utils/lib/helpers/index.d.ts +1 -0
@@ -2,7 +2,8 @@ import { __decorate, __metadata } from 'tslib';
2
2
  import { trigger, transition, useAnimation } from '@angular/animations';
3
3
  import * as i0 from '@angular/core';
4
4
  import { inject, Renderer2, Directive, Input, Component, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
- import { WindowRef, CoreModule } from '@odx/angular';
5
+ import * as i1 from '@odx/angular';
6
+ import { DisabledController, WindowRef, CoreModule } from '@odx/angular';
6
7
  import { fadeIn, fadeOut } from '@odx/angular/animations';
7
8
  import { CircularProgressComponent } from '@odx/angular/components/circular-progress';
8
9
  import { CSSModifier, CSSComponent } from '@odx/angular/internal';
@@ -13,6 +14,7 @@ import { DynamicViewService } from '@odx/angular/cdk/dynamic-view';
13
14
  const LOADING_SPINNER_PARENT_CLASS = 'odx-loading-spinner-parent';
14
15
  class LoadingSpinnerDirective {
15
16
  constructor() {
17
+ this.disabledController = DisabledController.inject();
16
18
  this.dynamicViewService = inject(DynamicViewService);
17
19
  this.hostElement = injectElement();
18
20
  this.renderer = inject(Renderer2);
@@ -22,6 +24,8 @@ class LoadingSpinnerDirective {
22
24
  this.autoColor = false;
23
25
  }
24
26
  set isLoading(value) {
27
+ var _a;
28
+ (_a = this.disabledController) === null || _a === void 0 ? void 0 : _a.setDisabledState(!!value);
25
29
  if (value) {
26
30
  this.createSpinner();
27
31
  }
@@ -66,8 +70,8 @@ class LoadingSpinnerDirective {
66
70
  return this.windowRef.nativeWindow.getComputedStyle(this.hostElement.nativeElement).position === 'static';
67
71
  }
68
72
  }
69
- LoadingSpinnerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoadingSpinnerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
70
- LoadingSpinnerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", type: LoadingSpinnerDirective, isStandalone: true, selector: "[odxLoadingSpinner]", inputs: { autoColor: ["odxLoadingSpinnerAutoColor", "autoColor"], isLoading: ["odxLoadingSpinner", "isLoading"], minHeight: ["odxLoadingSpinnerMinHeight", "minHeight"] }, ngImport: i0 });
73
+ LoadingSpinnerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingSpinnerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
74
+ LoadingSpinnerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: LoadingSpinnerDirective, isStandalone: true, selector: "[odxLoadingSpinner]", inputs: { autoColor: ["odxLoadingSpinnerAutoColor", "autoColor"], isLoading: ["odxLoadingSpinner", "isLoading"], minHeight: ["odxLoadingSpinnerMinHeight", "minHeight"] }, hostDirectives: [{ directive: i1.DisabledController }], ngImport: i0 });
71
75
  __decorate([
72
76
  Transform(coerceBooleanProperty),
73
77
  __metadata("design:type", Object)
@@ -77,11 +81,12 @@ __decorate([
77
81
  __metadata("design:type", Object),
78
82
  __metadata("design:paramtypes", [Object])
79
83
  ], LoadingSpinnerDirective.prototype, "minHeight", null);
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoadingSpinnerDirective, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingSpinnerDirective, decorators: [{
81
85
  type: Directive,
82
86
  args: [{
83
- selector: '[odxLoadingSpinner]',
84
87
  standalone: true,
88
+ selector: '[odxLoadingSpinner]',
89
+ hostDirectives: [DisabledController],
85
90
  }]
86
91
  }], propDecorators: { autoColor: [{
87
92
  type: Input,
@@ -122,8 +127,8 @@ let LoadingSpinnerComponent = class LoadingSpinnerComponent {
122
127
  return null;
123
128
  }
124
129
  };
125
- LoadingSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
126
- LoadingSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: LoadingSpinnerComponent, isStandalone: true, selector: "odx-loading-spinner", inputs: { autoColor: "autoColor" }, host: { listeners: { "@hostAnimation.done": "animationFinished($event)" }, properties: { "@hostAnimation": "true" } }, ngImport: i0, template: "<odx-circular-progress size=\"auto\" value=\"-1\"></odx-circular-progress>\n<div class=\"odx-loading-spinner__backdrop\" [style.backgroundColor]=\"backgroundColor\"></div>\n", dependencies: [{ kind: "component", type: CircularProgressComponent, selector: "odx-circular-progress", inputs: ["stroke", "size", "value"] }], animations: [trigger('hostAnimation', [transition(':enter', useAnimation(fadeIn())), transition(':leave', useAnimation(fadeOut()))])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
130
+ LoadingSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
+ LoadingSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: LoadingSpinnerComponent, isStandalone: true, selector: "odx-loading-spinner", inputs: { autoColor: "autoColor" }, host: { listeners: { "@hostAnimation.done": "animationFinished($event)" }, properties: { "@hostAnimation": "true" } }, ngImport: i0, template: "<odx-circular-progress size=\"auto\" value=\"-1\"></odx-circular-progress>\n<div class=\"odx-loading-spinner__backdrop\" [style.backgroundColor]=\"backgroundColor\"></div>\n", dependencies: [{ kind: "component", type: CircularProgressComponent, selector: "odx-circular-progress", inputs: ["stroke", "size", "value"] }], animations: [trigger('hostAnimation', [transition(':enter', useAnimation(fadeIn())), transition(':leave', useAnimation(fadeOut()))])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
127
132
  __decorate([
128
133
  CSSModifier(),
129
134
  __metadata("design:type", Object)
@@ -131,7 +136,7 @@ __decorate([
131
136
  LoadingSpinnerComponent = __decorate([
132
137
  CSSComponent('loading-spinner')
133
138
  ], LoadingSpinnerComponent);
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoadingSpinnerComponent, decorators: [{
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingSpinnerComponent, decorators: [{
135
140
  type: Component,
136
141
  args: [{ standalone: true, selector: 'odx-loading-spinner', imports: [CircularProgressComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
137
142
  '[@hostAnimation]': 'true',
@@ -144,10 +149,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
144
149
  const modules = [LoadingSpinnerComponent, LoadingSpinnerDirective];
145
150
  class LoadingSpinnerModule {
146
151
  }
147
- LoadingSpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoadingSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
148
- LoadingSpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: LoadingSpinnerModule, imports: [LoadingSpinnerComponent, LoadingSpinnerDirective], exports: [CoreModule, LoadingSpinnerComponent, LoadingSpinnerDirective] });
149
- LoadingSpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoadingSpinnerModule, imports: [LoadingSpinnerComponent, CoreModule] });
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoadingSpinnerModule, decorators: [{
152
+ LoadingSpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
153
+ LoadingSpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: LoadingSpinnerModule, imports: [LoadingSpinnerComponent, LoadingSpinnerDirective], exports: [CoreModule, LoadingSpinnerComponent, LoadingSpinnerDirective] });
154
+ LoadingSpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingSpinnerModule, imports: [LoadingSpinnerComponent, CoreModule] });
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingSpinnerModule, decorators: [{
151
156
  type: NgModule,
152
157
  args: [{
153
158
  imports: modules,
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-loading-spinner.mjs","sources":["../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.directive.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.html","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.module.ts","../../../../libs/angular/components/loading-spinner/src/odx-angular-components-loading-spinner.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { Directive, inject, Input, Renderer2 } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { DynamicViewRef, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deferFn, getInjector, injectElement, px, Transform } from '@odx/angular/utils';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\n\nconst LOADING_SPINNER_PARENT_CLASS = 'odx-loading-spinner-parent';\n\n@Directive({\n selector: '[odxLoadingSpinner]',\n standalone: true,\n})\nexport class LoadingSpinnerDirective {\n public static ngAcceptInputType_autoColor: BooleanInput;\n public static ngAcceptInputType_isLoading: BooleanInput;\n public static ngAcceptInputType_minHeight: NumberInput;\n\n private readonly dynamicViewService = inject(DynamicViewService);\n private readonly hostElement = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly injector = getInjector();\n private readonly windowRef = inject(WindowRef);\n\n private parentMinHeight?: number;\n private viewRef: DynamicViewRef<typeof LoadingSpinnerComponent> | null = null;\n\n @Transform(coerceBooleanProperty)\n @Input('odxLoadingSpinnerAutoColor')\n public autoColor = false;\n\n @Input('odxLoadingSpinner')\n public set isLoading(value: boolean | null | undefined) {\n if (value) {\n this.createSpinner();\n } else {\n this.removeSpinner();\n }\n }\n public get isLoading(): boolean {\n return this.viewRef !== null;\n }\n\n @Transform(coerceNumberProperty)\n @Input('odxLoadingSpinnerMinHeight')\n public set minHeight(value: unknown) {\n this.parentMinHeight = coerceNumberProperty(value);\n this.setParentHeight();\n }\n\n public resetParentStyles(): void {\n this.renderer.removeClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.renderer.removeStyle(this.hostElement.nativeElement, 'minHeight');\n this.renderer.removeStyle(this.hostElement.nativeElement, 'position');\n }\n\n private setParentHeight(): void {\n this.renderer.setStyle(this.hostElement.nativeElement, 'minHeight', this.parentMinHeight ? px(this.parentMinHeight) : 'inherit');\n }\n\n private createSpinner(): void {\n this.renderer.addClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.setParentHeight();\n if (this.hasStaticPosition()) {\n this.renderer.setStyle(this.hostElement.nativeElement, 'position', 'relative');\n }\n this.viewRef = this.dynamicViewService.createView(LoadingSpinnerComponent, {\n injector: this.injector,\n context: { autoColor: this.autoColor },\n host: this.hostElement.nativeElement,\n });\n deferFn(() => (this.hostElement.nativeElement.scrollTop = 0));\n }\n\n private removeSpinner(): void {\n this.viewRef?.destroy();\n this.viewRef = null;\n }\n\n private hasStaticPosition(): boolean {\n return this.windowRef.nativeWindow.getComputedStyle(this.hostElement.nativeElement).position === 'static';\n }\n}\n","import { AnimationEvent, transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { fadeIn, fadeOut } from '@odx/angular/animations';\nimport { CircularProgressComponent } from '@odx/angular/components/circular-progress';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst BROWSER_TRANSPARENT_COLOR = 'rgba(0, 0, 0, 0)';\n\n@CSSComponent('loading-spinner')\n@Component({\n standalone: true,\n selector: 'odx-loading-spinner',\n templateUrl: './loading-spinner.component.html',\n imports: [CircularProgressComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[@hostAnimation]': 'true',\n '(@hostAnimation.done)': 'animationFinished($event)',\n },\n animations: [trigger('hostAnimation', [transition(':enter', useAnimation(fadeIn())), transition(':leave', useAnimation(fadeOut()))])],\n})\nexport class LoadingSpinnerComponent implements OnInit {\n private readonly host = inject(LoadingSpinnerDirective);\n private readonly windowRef = inject(WindowRef);\n\n protected backgroundColor: string | null = null;\n\n public readonly element = injectElement();\n\n @CSSModifier()\n @Input()\n public autoColor = false;\n\n public ngOnInit(): void {\n this.backgroundColor = this.resolveBackgroundColor(this.element.nativeElement);\n }\n\n protected animationFinished({ toState }: AnimationEvent): void {\n if (toState === 'void') {\n this.host.resetParentStyles();\n }\n }\n\n private resolveBackgroundColor(element: HTMLElement): string | null {\n const { backgroundColor } = this.windowRef.nativeWindow.getComputedStyle(element);\n if (backgroundColor !== BROWSER_TRANSPARENT_COLOR) {\n return backgroundColor;\n }\n if (element.parentElement) {\n return this.resolveBackgroundColor(element.parentElement);\n }\n return null;\n }\n}\n","<odx-circular-progress size=\"auto\" value=\"-1\"></odx-circular-progress>\n<div class=\"odx-loading-spinner__backdrop\" [style.backgroundColor]=\"backgroundColor\"></div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst modules = [LoadingSpinnerComponent, LoadingSpinnerDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class LoadingSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-loading-spinner.mjs","sources":["../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.directive.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.html","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.module.ts","../../../../libs/angular/components/loading-spinner/src/odx-angular-components-loading-spinner.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { Directive, inject, Input, Renderer2 } from '@angular/core';\nimport { DisabledController, WindowRef } from '@odx/angular';\nimport { DynamicViewRef, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deferFn, getInjector, injectElement, px, Transform } from '@odx/angular/utils';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\n\nconst LOADING_SPINNER_PARENT_CLASS = 'odx-loading-spinner-parent';\n\n@Directive({\n standalone: true,\n selector: '[odxLoadingSpinner]',\n hostDirectives: [DisabledController],\n})\nexport class LoadingSpinnerDirective {\n public static ngAcceptInputType_autoColor: BooleanInput;\n public static ngAcceptInputType_isLoading: BooleanInput;\n public static ngAcceptInputType_minHeight: NumberInput;\n\n private readonly disabledController = DisabledController.inject();\n private readonly dynamicViewService = inject(DynamicViewService);\n private readonly hostElement = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly injector = getInjector();\n private readonly windowRef = inject(WindowRef);\n\n private parentMinHeight?: number;\n private viewRef: DynamicViewRef<typeof LoadingSpinnerComponent> | null = null;\n\n @Transform(coerceBooleanProperty)\n @Input('odxLoadingSpinnerAutoColor')\n public autoColor = false;\n\n @Input('odxLoadingSpinner')\n public set isLoading(value: boolean | null | undefined) {\n this.disabledController?.setDisabledState(!!value);\n if (value) {\n this.createSpinner();\n } else {\n this.removeSpinner();\n }\n }\n public get isLoading(): boolean {\n return this.viewRef !== null;\n }\n\n @Transform(coerceNumberProperty)\n @Input('odxLoadingSpinnerMinHeight')\n public set minHeight(value: unknown) {\n this.parentMinHeight = coerceNumberProperty(value);\n this.setParentHeight();\n }\n\n public resetParentStyles(): void {\n this.renderer.removeClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.renderer.removeStyle(this.hostElement.nativeElement, 'minHeight');\n this.renderer.removeStyle(this.hostElement.nativeElement, 'position');\n }\n\n private setParentHeight(): void {\n this.renderer.setStyle(this.hostElement.nativeElement, 'minHeight', this.parentMinHeight ? px(this.parentMinHeight) : 'inherit');\n }\n\n private createSpinner(): void {\n this.renderer.addClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.setParentHeight();\n if (this.hasStaticPosition()) {\n this.renderer.setStyle(this.hostElement.nativeElement, 'position', 'relative');\n }\n this.viewRef = this.dynamicViewService.createView(LoadingSpinnerComponent, {\n injector: this.injector,\n context: { autoColor: this.autoColor },\n host: this.hostElement.nativeElement,\n });\n deferFn(() => (this.hostElement.nativeElement.scrollTop = 0));\n }\n\n private removeSpinner(): void {\n this.viewRef?.destroy();\n this.viewRef = null;\n }\n\n private hasStaticPosition(): boolean {\n return this.windowRef.nativeWindow.getComputedStyle(this.hostElement.nativeElement).position === 'static';\n }\n}\n","import { AnimationEvent, transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { fadeIn, fadeOut } from '@odx/angular/animations';\nimport { CircularProgressComponent } from '@odx/angular/components/circular-progress';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst BROWSER_TRANSPARENT_COLOR = 'rgba(0, 0, 0, 0)';\n\n@CSSComponent('loading-spinner')\n@Component({\n standalone: true,\n selector: 'odx-loading-spinner',\n templateUrl: './loading-spinner.component.html',\n imports: [CircularProgressComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[@hostAnimation]': 'true',\n '(@hostAnimation.done)': 'animationFinished($event)',\n },\n animations: [trigger('hostAnimation', [transition(':enter', useAnimation(fadeIn())), transition(':leave', useAnimation(fadeOut()))])],\n})\nexport class LoadingSpinnerComponent implements OnInit {\n private readonly host = inject(LoadingSpinnerDirective);\n private readonly windowRef = inject(WindowRef);\n\n protected backgroundColor: string | null = null;\n\n public readonly element = injectElement();\n\n @CSSModifier()\n @Input()\n public autoColor = false;\n\n public ngOnInit(): void {\n this.backgroundColor = this.resolveBackgroundColor(this.element.nativeElement);\n }\n\n protected animationFinished({ toState }: AnimationEvent): void {\n if (toState === 'void') {\n this.host.resetParentStyles();\n }\n }\n\n private resolveBackgroundColor(element: HTMLElement): string | null {\n const { backgroundColor } = this.windowRef.nativeWindow.getComputedStyle(element);\n if (backgroundColor !== BROWSER_TRANSPARENT_COLOR) {\n return backgroundColor;\n }\n if (element.parentElement) {\n return this.resolveBackgroundColor(element.parentElement);\n }\n return null;\n }\n}\n","<odx-circular-progress size=\"auto\" value=\"-1\"></odx-circular-progress>\n<div class=\"odx-loading-spinner__backdrop\" [style.backgroundColor]=\"backgroundColor\"></div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst modules = [LoadingSpinnerComponent, LoadingSpinnerDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class LoadingSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -20,8 +20,8 @@ let LogoDirective = class LogoDirective {
20
20
  this.element = injectElement();
21
21
  }
22
22
  };
23
- LogoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LogoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
- LogoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", type: LogoDirective, isStandalone: true, selector: "odx-logo", inputs: { size: "size", variant: "variant" }, host: { attributes: { "translate": "no", "role": "img" }, properties: { "class.notranslate": "true", "attr.aria-label": "\"Dr\u00E4ger logo\"", "attr.aria-roledescription": "\"logo\"" } }, ngImport: i0 });
23
+ LogoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LogoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
+ LogoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: LogoDirective, isStandalone: true, selector: "odx-logo", inputs: { size: "size", variant: "variant" }, host: { attributes: { "translate": "no", "role": "img" }, properties: { "class.notranslate": "true", "attr.aria-label": "\"Dr\u00E4ger logo\"", "attr.aria-roledescription": "\"logo\"" } }, ngImport: i0 });
25
25
  __decorate([
26
26
  CSSModifier({ default: LogoSize.SMALL }),
27
27
  __metadata("design:type", String)
@@ -33,7 +33,7 @@ __decorate([
33
33
  LogoDirective = __decorate([
34
34
  CSSComponent('logo')
35
35
  ], LogoDirective);
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LogoDirective, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LogoDirective, decorators: [{
37
37
  type: Directive,
38
38
  args: [{
39
39
  selector: 'odx-logo',
@@ -1,13 +1,13 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, inject, Directive, HostListener, Input, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, NgModule } from '@angular/core';
3
+ import { Injectable, inject, Directive, HostListener, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, NgModule } from '@angular/core';
4
4
  import { CSSComponent } from '@odx/angular/internal';
5
5
  import { isBoolean, injectElement, Transform } from '@odx/angular/utils';
6
6
  import { BehaviorSubject, distinctUntilChanged, shareReplay } from 'rxjs';
7
7
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
8
8
  import { RouterLinkActive } from '@angular/router';
9
- import * as i1 from '@odx/angular';
10
- import { WithDisabledState, WithTabIndex, CoreModule } from '@odx/angular';
9
+ import * as i1$1 from '@odx/angular';
10
+ import { CoreModule, WithDisabledState, WithTabIndex } from '@odx/angular';
11
11
  import { trigger, transition, useAnimation } from '@angular/animations';
12
12
  import { slideInLeft, slideOutLeft, fadeIn, fadeOut } from '@odx/angular/animations';
13
13
  import { A11yModule } from '@odx/angular/cdk/a11y';
@@ -18,7 +18,7 @@ import { ButtonComponent } from '@odx/angular/components/button';
18
18
  import * as i6 from '@odx/angular/components/icon';
19
19
  import { IconComponent } from '@odx/angular/components/icon';
20
20
  import { LogoDirective } from '@odx/angular/components/logo';
21
- import * as i1$1 from '@angular/common';
21
+ import * as i1 from '@angular/common';
22
22
  import * as i3 from '@angular/cdk/a11y';
23
23
  import { LinkDirective } from '@odx/angular/components/link';
24
24
 
@@ -48,9 +48,9 @@ class MainMenuService {
48
48
  }
49
49
  }
50
50
  }
51
- MainMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
52
- MainMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuService, providedIn: 'root' });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuService, decorators: [{
51
+ MainMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
52
+ MainMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuService, providedIn: 'root' });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuService, decorators: [{
54
54
  type: Injectable,
55
55
  args: [{ providedIn: 'root' }]
56
56
  }] });
@@ -64,12 +64,12 @@ let MainMenuButtonDirective = class MainMenuButtonDirective {
64
64
  this.mainMenuService.toggle();
65
65
  }
66
66
  };
67
- MainMenuButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
68
- MainMenuButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", type: MainMenuButtonDirective, isStandalone: true, selector: "button[odxMainMenuButton]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
67
+ MainMenuButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
68
+ MainMenuButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: MainMenuButtonDirective, isStandalone: true, selector: "button[odxMainMenuButton]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
69
69
  MainMenuButtonDirective = __decorate([
70
70
  CSSComponent('main-menu-button')
71
71
  ], MainMenuButtonDirective);
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuButtonDirective, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuButtonDirective, decorators: [{
73
73
  type: Directive,
74
74
  args: [{
75
75
  selector: 'button[odxMainMenuButton]',
@@ -80,37 +80,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
80
80
  args: ['click']
81
81
  }] } });
82
82
 
83
- let MainMenuItemDirective = class MainMenuItemDirective {
84
- constructor() {
85
- this.routerLinkActive = inject(RouterLinkActive, { optional: true });
86
- this.element = injectElement();
87
- this.isSelected = false;
88
- }
89
- };
90
- MainMenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
91
- MainMenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", type: MainMenuItemDirective, isStandalone: true, selector: "[odxMainMenuItem]", inputs: { isSelected: "isSelected" }, host: { properties: { "class.is-selected": "isSelected || routerLinkActive?.isActive", "attr.role": "\"button\"" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0 });
92
- __decorate([
93
- Transform(coerceBooleanProperty),
94
- __metadata("design:type", Object)
95
- ], MainMenuItemDirective.prototype, "isSelected", void 0);
96
- MainMenuItemDirective = __decorate([
97
- CSSComponent('main-menu-item')
98
- ], MainMenuItemDirective);
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuItemDirective, decorators: [{
100
- type: Directive,
101
- args: [{
102
- selector: '[odxMainMenuItem]',
103
- standalone: true,
104
- hostDirectives: [WithDisabledState, WithTabIndex],
105
- host: {
106
- '[class.is-selected]': 'isSelected || routerLinkActive?.isActive',
107
- '[attr.role]': '"button"',
108
- },
109
- }]
110
- }], propDecorators: { isSelected: [{
111
- type: Input
112
- }] } });
113
-
114
83
  let MainMenuComponent = class MainMenuComponent {
115
84
  constructor() {
116
85
  this.mainMenuService = inject(MainMenuService);
@@ -129,15 +98,15 @@ let MainMenuComponent = class MainMenuComponent {
129
98
  this.mainMenuService.close();
130
99
  }
131
100
  };
132
- MainMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
133
- MainMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: MainMenuComponent, isStandalone: true, selector: "odx-main-menu", inputs: { title: "title", subtitle: "subtitle", copyright: "copyright", isOpen: "isOpen" }, outputs: { menuOpen: "menuOpen" }, host: { listeners: { "window:keyup.esc": "close()" }, properties: { "class.is-open": "isOpen" } }, ngImport: i0, template: "<aside @menuAnimation class=\"odx-main-menu__inner\" cdkTrapFocus cdkTrapFocusAutoCapture *ngIf=\"menuOpen | async\">\n <div class=\"odx-main-menu__actions\">\n <button class=\"odx-main-menu__close\" odxButton disabled=\"false\" (click)=\"close()\">\n <odx-icon name=\"close\"></odx-icon>\n </button>\n </div>\n <odx-area-header class=\"odx-main-menu__header\">\n {{ title }}\n <odx-area-header-subtitle *ngIf=\"subtitle\">\n {{ subtitle }}\n </odx-area-header-subtitle>\n </odx-area-header>\n <nav class=\"odx-main-menu__content\">\n <ng-content></ng-content>\n </nav>\n <div class=\"odx-main-menu__info\">\n <ng-content select=\"[odxLink]\"></ng-content>\n </div>\n <div class=\"odx-main-menu__footer\">\n <odx-logo variant=\"inverse\"></odx-logo>\n <p class=\"odx-text odx-text--small\" *ngIf=\"copyright\">\n {{ copyright }}\n </p>\n </div>\n</aside>\n<div @overlayAnimation class=\"odx-main-menu__overlay\" (click)=\"close()\" *ngIf=\"menuOpen | async\"></div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "directive", type: i1.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CoreModule }, { kind: "ngmodule", type: AreaHeaderModule }, { kind: "component", type: i4.AreaHeaderComponent, selector: "odx-area-header", inputs: ["size"] }, { kind: "directive", type: i4.AreaHeaderSubtitleDirective, selector: "odx-area-header-subtitle" }, { kind: "component", type: i5.ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: i6.IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }, { kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }], animations: [
101
+ MainMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
102
+ MainMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: MainMenuComponent, isStandalone: true, selector: "odx-main-menu", inputs: { title: "title", subtitle: "subtitle", copyright: "copyright", isOpen: "isOpen" }, outputs: { menuOpen: "menuOpen" }, host: { listeners: { "window:keyup.esc": "close()" }, properties: { "class.is-open": "isOpen" } }, ngImport: i0, template: "<aside @menuAnimation class=\"odx-main-menu__inner\" cdkTrapFocus cdkTrapFocusAutoCapture *ngIf=\"menuOpen | async\">\n <div class=\"odx-main-menu__actions\">\n <button class=\"odx-main-menu__close\" odxButton disabled=\"false\" (click)=\"close()\">\n <odx-icon name=\"close\"></odx-icon>\n </button>\n </div>\n <odx-area-header class=\"odx-main-menu__header\">\n {{ title }}\n <odx-area-header-subtitle *ngIf=\"subtitle\">\n {{ subtitle }}\n </odx-area-header-subtitle>\n </odx-area-header>\n <nav class=\"odx-main-menu__content\">\n <ng-content></ng-content>\n </nav>\n <div class=\"odx-main-menu__info\">\n <ng-content select=\"[odxLink]\"></ng-content>\n </div>\n <div class=\"odx-main-menu__footer\">\n <odx-logo variant=\"inverse\"></odx-logo>\n <p class=\"odx-text odx-text--small\" *ngIf=\"copyright\">\n {{ copyright }}\n </p>\n </div>\n</aside>\n<div @overlayAnimation class=\"odx-main-menu__overlay\" (click)=\"close()\" *ngIf=\"menuOpen | async\"></div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i1$1.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CoreModule }, { kind: "ngmodule", type: AreaHeaderModule }, { kind: "component", type: i4.AreaHeaderComponent, selector: "odx-area-header", inputs: ["size"] }, { kind: "directive", type: i4.AreaHeaderSubtitleDirective, selector: "odx-area-header-subtitle" }, { kind: "component", type: i5.ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: i6.IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }, { kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }], animations: [
134
103
  trigger('menuAnimation', [transition(':enter', [useAnimation(slideInLeft)]), transition(':leave', [useAnimation(slideOutLeft)])]),
135
104
  trigger('overlayAnimation', [transition(':enter', [useAnimation(fadeIn())]), transition(':leave', [useAnimation(fadeOut())])]),
136
105
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
137
106
  MainMenuComponent = __decorate([
138
107
  CSSComponent('main-menu')
139
108
  ], MainMenuComponent);
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuComponent, decorators: [{
141
110
  type: Component,
142
111
  args: [{ selector: 'odx-main-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [A11yModule, CoreModule, AreaHeaderModule, ButtonComponent, IconComponent, LogoDirective], standalone: true, host: {
143
112
  '[class.is-open]': 'isOpen',
@@ -160,13 +129,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
160
129
  args: ['window:keyup.esc']
161
130
  }] } });
162
131
 
132
+ let MainMenuItemDirective = class MainMenuItemDirective {
133
+ constructor() {
134
+ this.mainMenu = inject(MainMenuComponent, { optional: true });
135
+ this.routerLinkActive = inject(RouterLinkActive, { optional: true });
136
+ this.element = injectElement();
137
+ this.isSelected = false;
138
+ }
139
+ onClick() {
140
+ var _a;
141
+ (_a = this.mainMenu) === null || _a === void 0 ? void 0 : _a.close();
142
+ }
143
+ };
144
+ MainMenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
145
+ MainMenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: MainMenuItemDirective, isStandalone: true, selector: "[odxMainMenuItem]", inputs: { isSelected: "isSelected" }, host: { listeners: { "click": "onClick()" }, properties: { "class.is-selected": "isSelected || routerLinkActive?.isActive", "attr.role": "\"button\"" } }, hostDirectives: [{ directive: i1$1.WithDisabledState }, { directive: i1$1.WithTabIndex }], ngImport: i0 });
146
+ __decorate([
147
+ Transform(coerceBooleanProperty),
148
+ __metadata("design:type", Object)
149
+ ], MainMenuItemDirective.prototype, "isSelected", void 0);
150
+ MainMenuItemDirective = __decorate([
151
+ CSSComponent('main-menu-item')
152
+ ], MainMenuItemDirective);
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuItemDirective, decorators: [{
154
+ type: Directive,
155
+ args: [{
156
+ selector: '[odxMainMenuItem]',
157
+ standalone: true,
158
+ hostDirectives: [WithDisabledState, WithTabIndex],
159
+ host: {
160
+ '[class.is-selected]': 'isSelected || routerLinkActive?.isActive',
161
+ '[attr.role]': '"button"',
162
+ },
163
+ }]
164
+ }], propDecorators: { isSelected: [{
165
+ type: Input
166
+ }], onClick: [{
167
+ type: HostListener,
168
+ args: ['click']
169
+ }] } });
170
+
163
171
  const modules = [LinkDirective, MainMenuComponent, MainMenuItemDirective, MainMenuButtonDirective];
164
172
  class MainMenuModule {
165
173
  }
166
- MainMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
167
- MainMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: MainMenuModule, imports: [LinkDirective, MainMenuComponent, MainMenuItemDirective, MainMenuButtonDirective], exports: [CoreModule, LinkDirective, MainMenuComponent, MainMenuItemDirective, MainMenuButtonDirective] });
168
- MainMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuModule, imports: [MainMenuComponent, CoreModule] });
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MainMenuModule, decorators: [{
174
+ MainMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
175
+ MainMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: MainMenuModule, imports: [LinkDirective, MainMenuComponent, MainMenuItemDirective, MainMenuButtonDirective], exports: [CoreModule, LinkDirective, MainMenuComponent, MainMenuItemDirective, MainMenuButtonDirective] });
176
+ MainMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuModule, imports: [MainMenuComponent, CoreModule] });
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MainMenuModule, decorators: [{
170
178
  type: NgModule,
171
179
  args: [{
172
180
  imports: modules,
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-main-menu.mjs","sources":["../../../../libs/angular/components/main-menu/src/lib/main-menu.service.ts","../../../../libs/angular/components/main-menu/src/lib/directives/main-menu-button.directive.ts","../../../../libs/angular/components/main-menu/src/lib/directives/main-menu-item.directive.ts","../../../../libs/angular/components/main-menu/src/lib/main-menu.component.ts","../../../../libs/angular/components/main-menu/src/lib/main-menu.component.html","../../../../libs/angular/components/main-menu/src/lib/main-menu.module.ts","../../../../libs/angular/components/main-menu/src/odx-angular-components-main-menu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { isBoolean } from '@odx/angular/utils';\nimport { BehaviorSubject, distinctUntilChanged, shareReplay } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class MainMenuService {\n private readonly isOpen$$ = new BehaviorSubject(false);\n\n public readonly isOpen$ = this.isOpen$$.pipe(distinctUntilChanged(), shareReplay({ refCount: true }));\n\n public isOpen(): boolean {\n return this.isOpen$$.getValue();\n }\n\n public open(): void {\n this.toggle(true);\n }\n\n public close(): void {\n this.toggle(false);\n }\n\n public toggle(forceState?: boolean): void {\n if (isBoolean(forceState)) {\n this.isOpen$$.next(forceState);\n } else if (this.isOpen()) {\n this.isOpen$$.next(false);\n } else {\n this.isOpen$$.next(true);\n }\n }\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { MainMenuService } from '../main-menu.service';\n\n@CSSComponent('main-menu-button')\n@Directive({\n selector: 'button[odxMainMenuButton]',\n standalone: true,\n})\nexport class MainMenuButtonDirective {\n private readonly mainMenuService = inject(MainMenuService);\n public readonly element = injectElement<HTMLButtonElement>();\n\n @HostListener('click')\n public onClick() {\n this.mainMenuService.toggle();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, inject, Input } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, Transform } from '@odx/angular/utils';\n\n@CSSComponent('main-menu-item')\n@Directive({\n selector: '[odxMainMenuItem]',\n standalone: true,\n hostDirectives: [WithDisabledState, WithTabIndex],\n host: {\n '[class.is-selected]': 'isSelected || routerLinkActive?.isActive',\n '[attr.role]': '\"button\"',\n },\n})\nexport class MainMenuItemDirective {\n public static readonly ngAcceptInputType_isSelected: BooleanInput;\n\n protected readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n public readonly element = injectElement<HTMLLinkElement>();\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isSelected = false;\n}\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, HostListener, inject, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { fadeIn, fadeOut, slideInLeft, slideOutLeft } from '@odx/angular/animations';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { AreaHeaderModule } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { MainMenuService } from './main-menu.service';\n\n@CSSComponent('main-menu')\n@Component({\n selector: 'odx-main-menu',\n templateUrl: './main-menu.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [A11yModule, CoreModule, AreaHeaderModule, ButtonComponent, IconComponent, LogoDirective],\n standalone: true,\n host: {\n '[class.is-open]': 'isOpen',\n },\n animations: [\n trigger('menuAnimation', [transition(':enter', [useAnimation(slideInLeft)]), transition(':leave', [useAnimation(slideOutLeft)])]),\n trigger('overlayAnimation', [transition(':enter', [useAnimation(fadeIn())]), transition(':leave', [useAnimation(fadeOut())])]),\n ],\n})\nexport class MainMenuComponent {\n public static readonly ngAcceptInputType_isOpen: BooleanInput;\n\n protected readonly mainMenuService = inject(MainMenuService);\n public readonly element = injectElement();\n\n @Input()\n public title!: string;\n\n @Input()\n public subtitle: string | null = null;\n\n @Input()\n public copyright: string | null = null;\n\n @Input()\n public set isOpen(value: boolean) {\n this.mainMenuService.toggle(coerceBooleanProperty(value));\n }\n\n public get isOpen(): boolean {\n return this.mainMenuService.isOpen();\n }\n\n @Output()\n public menuOpen = this.mainMenuService.isOpen$;\n\n @HostListener('window:keyup.esc')\n public close(): void {\n this.mainMenuService.close();\n }\n}\n","<aside @menuAnimation class=\"odx-main-menu__inner\" cdkTrapFocus cdkTrapFocusAutoCapture *ngIf=\"menuOpen | async\">\n <div class=\"odx-main-menu__actions\">\n <button class=\"odx-main-menu__close\" odxButton disabled=\"false\" (click)=\"close()\">\n <odx-icon name=\"close\"></odx-icon>\n </button>\n </div>\n <odx-area-header class=\"odx-main-menu__header\">\n {{ title }}\n <odx-area-header-subtitle *ngIf=\"subtitle\">\n {{ subtitle }}\n </odx-area-header-subtitle>\n </odx-area-header>\n <nav class=\"odx-main-menu__content\">\n <ng-content></ng-content>\n </nav>\n <div class=\"odx-main-menu__info\">\n <ng-content select=\"[odxLink]\"></ng-content>\n </div>\n <div class=\"odx-main-menu__footer\">\n <odx-logo variant=\"inverse\"></odx-logo>\n <p class=\"odx-text odx-text--small\" *ngIf=\"copyright\">\n {{ copyright }}\n </p>\n </div>\n</aside>\n<div @overlayAnimation class=\"odx-main-menu__overlay\" (click)=\"close()\" *ngIf=\"menuOpen | async\"></div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { LinkDirective } from '@odx/angular/components/link';\nimport { MainMenuButtonDirective, MainMenuItemDirective } from './directives';\nimport { MainMenuComponent } from './main-menu.component';\n\nconst modules = [LinkDirective, MainMenuComponent, MainMenuItemDirective, MainMenuButtonDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class MainMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-main-menu.mjs","sources":["../../../../libs/angular/components/main-menu/src/lib/main-menu.service.ts","../../../../libs/angular/components/main-menu/src/lib/directives/main-menu-button.directive.ts","../../../../libs/angular/components/main-menu/src/lib/main-menu.component.ts","../../../../libs/angular/components/main-menu/src/lib/main-menu.component.html","../../../../libs/angular/components/main-menu/src/lib/directives/main-menu-item.directive.ts","../../../../libs/angular/components/main-menu/src/lib/main-menu.module.ts","../../../../libs/angular/components/main-menu/src/odx-angular-components-main-menu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { isBoolean } from '@odx/angular/utils';\nimport { BehaviorSubject, distinctUntilChanged, shareReplay } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class MainMenuService {\n private readonly isOpen$$ = new BehaviorSubject(false);\n\n public readonly isOpen$ = this.isOpen$$.pipe(distinctUntilChanged(), shareReplay({ refCount: true }));\n\n public isOpen(): boolean {\n return this.isOpen$$.getValue();\n }\n\n public open(): void {\n this.toggle(true);\n }\n\n public close(): void {\n this.toggle(false);\n }\n\n public toggle(forceState?: boolean): void {\n if (isBoolean(forceState)) {\n this.isOpen$$.next(forceState);\n } else if (this.isOpen()) {\n this.isOpen$$.next(false);\n } else {\n this.isOpen$$.next(true);\n }\n }\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { MainMenuService } from '../main-menu.service';\n\n@CSSComponent('main-menu-button')\n@Directive({\n selector: 'button[odxMainMenuButton]',\n standalone: true,\n})\nexport class MainMenuButtonDirective {\n private readonly mainMenuService = inject(MainMenuService);\n public readonly element = injectElement<HTMLButtonElement>();\n\n @HostListener('click')\n public onClick() {\n this.mainMenuService.toggle();\n }\n}\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, HostListener, inject, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { fadeIn, fadeOut, slideInLeft, slideOutLeft } from '@odx/angular/animations';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { AreaHeaderModule } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { MainMenuService } from './main-menu.service';\n\n@CSSComponent('main-menu')\n@Component({\n selector: 'odx-main-menu',\n templateUrl: './main-menu.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [A11yModule, CoreModule, AreaHeaderModule, ButtonComponent, IconComponent, LogoDirective],\n standalone: true,\n host: {\n '[class.is-open]': 'isOpen',\n },\n animations: [\n trigger('menuAnimation', [transition(':enter', [useAnimation(slideInLeft)]), transition(':leave', [useAnimation(slideOutLeft)])]),\n trigger('overlayAnimation', [transition(':enter', [useAnimation(fadeIn())]), transition(':leave', [useAnimation(fadeOut())])]),\n ],\n})\nexport class MainMenuComponent {\n public static readonly ngAcceptInputType_isOpen: BooleanInput;\n\n protected readonly mainMenuService = inject(MainMenuService);\n public readonly element = injectElement();\n\n @Input()\n public title!: string;\n\n @Input()\n public subtitle: string | null = null;\n\n @Input()\n public copyright: string | null = null;\n\n @Input()\n public set isOpen(value: boolean) {\n this.mainMenuService.toggle(coerceBooleanProperty(value));\n }\n\n public get isOpen(): boolean {\n return this.mainMenuService.isOpen();\n }\n\n @Output()\n public menuOpen = this.mainMenuService.isOpen$;\n\n @HostListener('window:keyup.esc')\n public close(): void {\n this.mainMenuService.close();\n }\n}\n","<aside @menuAnimation class=\"odx-main-menu__inner\" cdkTrapFocus cdkTrapFocusAutoCapture *ngIf=\"menuOpen | async\">\n <div class=\"odx-main-menu__actions\">\n <button class=\"odx-main-menu__close\" odxButton disabled=\"false\" (click)=\"close()\">\n <odx-icon name=\"close\"></odx-icon>\n </button>\n </div>\n <odx-area-header class=\"odx-main-menu__header\">\n {{ title }}\n <odx-area-header-subtitle *ngIf=\"subtitle\">\n {{ subtitle }}\n </odx-area-header-subtitle>\n </odx-area-header>\n <nav class=\"odx-main-menu__content\">\n <ng-content></ng-content>\n </nav>\n <div class=\"odx-main-menu__info\">\n <ng-content select=\"[odxLink]\"></ng-content>\n </div>\n <div class=\"odx-main-menu__footer\">\n <odx-logo variant=\"inverse\"></odx-logo>\n <p class=\"odx-text odx-text--small\" *ngIf=\"copyright\">\n {{ copyright }}\n </p>\n </div>\n</aside>\n<div @overlayAnimation class=\"odx-main-menu__overlay\" (click)=\"close()\" *ngIf=\"menuOpen | async\"></div>\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, HostListener, inject, Input } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, Transform } from '@odx/angular/utils';\nimport { MainMenuComponent } from '../main-menu.component';\n\n@CSSComponent('main-menu-item')\n@Directive({\n selector: '[odxMainMenuItem]',\n standalone: true,\n hostDirectives: [WithDisabledState, WithTabIndex],\n host: {\n '[class.is-selected]': 'isSelected || routerLinkActive?.isActive',\n '[attr.role]': '\"button\"',\n },\n})\nexport class MainMenuItemDirective {\n public static readonly ngAcceptInputType_isSelected: BooleanInput;\n\n private readonly mainMenu = inject(MainMenuComponent, { optional: true });\n\n protected readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n public readonly element = injectElement<HTMLLinkElement>();\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isSelected = false;\n\n @HostListener('click')\n protected onClick(): void {\n this.mainMenu?.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { LinkDirective } from '@odx/angular/components/link';\nimport { MainMenuButtonDirective, MainMenuItemDirective } from './directives';\nimport { MainMenuComponent } from './main-menu.component';\n\nconst modules = [LinkDirective, MainMenuComponent, MainMenuItemDirective, MainMenuButtonDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class MainMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Directive, HostListener, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, inject, NgModule } from '@angular/core';
4
- import * as i2 from '@odx/angular';
5
- import { WithDisabledState, CoreModule } from '@odx/angular';
6
4
  import * as i1 from '@odx/angular/cdk/a11y';
7
5
  import { ListFocusManagerOptionDirective, ListFocusManagerDirective } from '@odx/angular/cdk/a11y';
8
6
  import * as i1$1 from '@odx/angular/components/dropdown';
@@ -10,9 +8,10 @@ import { closeCurrentDropdown, DropdownDirective } from '@odx/angular/components
10
8
  import { CSSComponent, CSSModifier } from '@odx/angular/internal';
11
9
  import { injectElement, deferFn, Transform, hasChanged } from '@odx/angular/utils';
12
10
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
13
- import * as i2$1 from '@angular/common';
11
+ import * as i2 from '@angular/common';
14
12
  import { CommonModule } from '@angular/common';
15
13
  import { ActionGroupComponent } from '@odx/angular/components/action-group';
14
+ import { CoreModule } from '@odx/angular';
16
15
 
17
16
  let MenuItemDirective = class MenuItemDirective {
18
17
  constructor() {
@@ -22,17 +21,17 @@ let MenuItemDirective = class MenuItemDirective {
22
21
  deferFn(() => closeCurrentDropdown(this.element.nativeElement));
23
22
  }
24
23
  };
25
- MenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
- MenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", type: MenuItemDirective, isStandalone: true, selector: "a[odxMenuItem], button[odxMenuItem]", host: { attributes: { "role": "menuitem" }, listeners: { "click": "selectItem()" } }, hostDirectives: [{ directive: i1.ListFocusManagerOptionDirective }, { directive: i2.WithDisabledState }], ngImport: i0 });
24
+ MenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
+ MenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: MenuItemDirective, isStandalone: true, selector: "a[odxMenuItem], button[odxMenuItem]", host: { attributes: { "role": "menuitem" }, listeners: { "click": "selectItem()" } }, hostDirectives: [{ directive: i1.ListFocusManagerOptionDirective }], ngImport: i0 });
27
26
  MenuItemDirective = __decorate([
28
27
  CSSComponent('menu-item')
29
28
  ], MenuItemDirective);
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MenuItemDirective, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuItemDirective, decorators: [{
31
30
  type: Directive,
32
31
  args: [{
33
32
  selector: 'a[odxMenuItem], button[odxMenuItem]',
34
33
  standalone: true,
35
- hostDirectives: [ListFocusManagerOptionDirective, WithDisabledState],
34
+ hostDirectives: [ListFocusManagerOptionDirective],
36
35
  host: {
37
36
  role: 'menuitem',
38
37
  },
@@ -53,8 +52,8 @@ let MenuComponent = class MenuComponent {
53
52
  closeCurrentDropdown(this.element.nativeElement);
54
53
  }
55
54
  };
56
- MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: MenuComponent, isStandalone: true, selector: "odx-menu", inputs: { tile: "tile" }, host: { attributes: { "role": "menu" }, listeners: { "keydown.tab": "onTab($event)" } }, hostDirectives: [{ directive: i1.ListFocusManagerDirective }], ngImport: i0, template: "<div class=\"odx-menu__title\" *ngIf=\"tile\">\n <ng-content></ng-content>\n</div>\n<odx-action-group class=\"odx-menu__inner\">\n <ng-content select=\"[odxMenuItem]\" ngProjectAs=\"[odxButton]\"></ng-content>\n</odx-action-group>\n", dependencies: [{ kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
55
+ MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: MenuComponent, isStandalone: true, selector: "odx-menu", inputs: { tile: "tile" }, host: { attributes: { "role": "menu" }, listeners: { "keydown.tab": "onTab($event)" } }, hostDirectives: [{ directive: i1.ListFocusManagerDirective }], ngImport: i0, template: "<div class=\"odx-menu__title\" *ngIf=\"tile\">\n <ng-content></ng-content>\n</div>\n<odx-action-group class=\"odx-menu__inner\">\n <ng-content select=\"[odxMenuItem]\" ngProjectAs=\"[odxButton]\"></ng-content>\n</odx-action-group>\n", dependencies: [{ kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
58
57
  __decorate([
59
58
  CSSModifier(),
60
59
  Transform(coerceBooleanProperty),
@@ -63,7 +62,7 @@ __decorate([
63
62
  MenuComponent = __decorate([
64
63
  CSSComponent('menu')
65
64
  ], MenuComponent);
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MenuComponent, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuComponent, decorators: [{
67
66
  type: Component,
68
67
  args: [{ selector: 'odx-menu', standalone: true, imports: [ActionGroupComponent, CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [ListFocusManagerDirective], host: {
69
68
  role: 'menu',
@@ -91,12 +90,12 @@ let MenuDirective = class MenuDirective {
91
90
  }
92
91
  }
93
92
  };
94
- MenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
95
- MenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", type: MenuDirective, isStandalone: true, selector: "[odxMenu]", inputs: { content: ["odxMenu", "content"], position: ["odxMenuPosition", "position"] }, usesOnChanges: true, hostDirectives: [{ directive: i1$1.DropdownDirective, inputs: ["odxDropdown", "odxMenu"] }], ngImport: i0 });
93
+ MenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
94
+ MenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: MenuDirective, isStandalone: true, selector: "[odxMenu]", inputs: { content: ["odxMenu", "content"], position: ["odxMenuPosition", "position"] }, usesOnChanges: true, hostDirectives: [{ directive: i1$1.DropdownDirective, inputs: ["odxDropdown", "odxMenu"] }], ngImport: i0 });
96
95
  MenuDirective = __decorate([
97
96
  CSSComponent('menu-host')
98
97
  ], MenuDirective);
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MenuDirective, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuDirective, decorators: [{
100
99
  type: Directive,
101
100
  args: [{
102
101
  selector: '[odxMenu]',
@@ -119,10 +118,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
119
118
  const modules = [MenuComponent, MenuDirective, MenuItemDirective];
120
119
  class MenuModule {
121
120
  }
122
- MenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
123
- MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: MenuModule, imports: [MenuComponent, MenuDirective, MenuItemDirective], exports: [CoreModule, MenuComponent, MenuDirective, MenuItemDirective] });
124
- MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MenuModule, imports: [MenuComponent, CoreModule] });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MenuModule, decorators: [{
121
+ MenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
122
+ MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: MenuModule, imports: [MenuComponent, MenuDirective, MenuItemDirective], exports: [CoreModule, MenuComponent, MenuDirective, MenuItemDirective] });
123
+ MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuModule, imports: [MenuComponent, CoreModule] });
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuModule, decorators: [{
126
125
  type: NgModule,
127
126
  args: [{
128
127
  imports: [modules],
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-menu.mjs","sources":["../../../../libs/angular/components/menu/src/lib/directives/menu-item.directive.ts","../../../../libs/angular/components/menu/src/lib/menu.component.ts","../../../../libs/angular/components/menu/src/lib/menu.component.html","../../../../libs/angular/components/menu/src/lib/menu.directive.ts","../../../../libs/angular/components/menu/src/lib/menu.module.ts","../../../../libs/angular/components/menu/src/odx-angular-components-menu.ts"],"sourcesContent":["import { Directive, HostListener } from '@angular/core';\nimport { WithDisabledState } from '@odx/angular';\nimport { ListFocusManagerOptionDirective } from '@odx/angular/cdk/a11y';\nimport { closeCurrentDropdown } from '@odx/angular/components/dropdown';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, injectElement } from '@odx/angular/utils';\n\n@CSSComponent('menu-item')\n@Directive({\n selector: 'a[odxMenuItem], button[odxMenuItem]',\n standalone: true,\n hostDirectives: [ListFocusManagerOptionDirective, WithDisabledState],\n host: {\n role: 'menuitem',\n },\n})\nexport class MenuItemDirective {\n public readonly element = injectElement<HTMLButtonElement | HTMLLinkElement>();\n\n @HostListener('click')\n protected selectItem(): void {\n deferFn(() => closeCurrentDropdown(this.element.nativeElement));\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostListener, Input, ViewEncapsulation } from '@angular/core';\nimport { ListFocusManagerDirective } from '@odx/angular/cdk/a11y';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { closeCurrentDropdown } from '@odx/angular/components/dropdown';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement, Transform } from '@odx/angular/utils';\n\n@CSSComponent('menu')\n@Component({\n selector: 'odx-menu',\n standalone: true,\n imports: [ActionGroupComponent, CommonModule],\n templateUrl: './menu.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ListFocusManagerDirective],\n host: {\n role: 'menu',\n },\n})\nexport class MenuComponent {\n public static ngAcceptInputType_tile: BooleanInput;\n public readonly element = injectElement();\n\n @CSSModifier()\n @Transform(coerceBooleanProperty)\n @Input()\n public tile = false;\n\n @HostListener('keydown.tab', ['$event'])\n public onTab(event: KeyboardEvent) {\n event.preventDefault();\n event.stopPropagation();\n closeCurrentDropdown(this.element.nativeElement);\n }\n}\n","<div class=\"odx-menu__title\" *ngIf=\"tile\">\n <ng-content></ng-content>\n</div>\n<odx-action-group class=\"odx-menu__inner\">\n <ng-content select=\"[odxMenuItem]\" ngProjectAs=\"[odxButton]\"></ng-content>\n</odx-action-group>\n","import { Directive, inject, Input, OnChanges } from '@angular/core';\nimport { DynamicContent, DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { DropdownDirective, DropdownOptions } from '@odx/angular/components/dropdown';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { hasChanged, injectElement, NgChanges, Position } from '@odx/angular/utils';\n\nconst DEFAULT_MENU_DROPDOWN_OPTIONS: Partial<DropdownOptions> = {\n containerClass: 'odx-menu-overlay',\n enableFallback: true,\n};\n\n@CSSComponent('menu-host')\n@Directive({\n selector: '[odxMenu]',\n standalone: true,\n hostDirectives: [\n {\n directive: DropdownDirective,\n inputs: ['odxDropdown:odxMenu'],\n },\n ],\n})\nexport class MenuDirective implements OnChanges {\n protected readonly dropdown = inject(DropdownDirective, { host: true });\n\n public readonly element = injectElement();\n\n @Input('odxMenu')\n public content?: Exclude<DynamicContent, DynamicTextContent> | null;\n\n @Input('odxMenuPosition')\n public position?: Position | null;\n\n public ngOnChanges(changes: NgChanges<MenuDirective>): void {\n if (hasChanged(changes, 'position', false)) {\n this.dropdown.options = {\n ...DEFAULT_MENU_DROPDOWN_OPTIONS,\n position: this.position ?? undefined,\n };\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { MenuItemDirective } from './directives';\nimport { MenuComponent } from './menu.component';\nimport { MenuDirective } from './menu.directive';\n\nconst modules = [MenuComponent, MenuDirective, MenuItemDirective];\n\n@NgModule({\n imports: [modules],\n exports: [CoreModule, ...modules],\n})\nexport class MenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-components-menu.mjs","sources":["../../../../libs/angular/components/menu/src/lib/directives/menu-item.directive.ts","../../../../libs/angular/components/menu/src/lib/menu.component.ts","../../../../libs/angular/components/menu/src/lib/menu.component.html","../../../../libs/angular/components/menu/src/lib/menu.directive.ts","../../../../libs/angular/components/menu/src/lib/menu.module.ts","../../../../libs/angular/components/menu/src/odx-angular-components-menu.ts"],"sourcesContent":["import { Directive, HostListener } from '@angular/core';\nimport { ListFocusManagerOptionDirective } from '@odx/angular/cdk/a11y';\nimport { closeCurrentDropdown } from '@odx/angular/components/dropdown';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, injectElement } from '@odx/angular/utils';\n\n@CSSComponent('menu-item')\n@Directive({\n selector: 'a[odxMenuItem], button[odxMenuItem]',\n standalone: true,\n hostDirectives: [ListFocusManagerOptionDirective],\n host: {\n role: 'menuitem',\n },\n})\nexport class MenuItemDirective {\n public readonly element = injectElement<HTMLButtonElement | HTMLLinkElement>();\n\n @HostListener('click')\n protected selectItem(): void {\n deferFn(() => closeCurrentDropdown(this.element.nativeElement));\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostListener, Input, ViewEncapsulation } from '@angular/core';\nimport { ListFocusManagerDirective } from '@odx/angular/cdk/a11y';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { closeCurrentDropdown } from '@odx/angular/components/dropdown';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement, Transform } from '@odx/angular/utils';\n\n@CSSComponent('menu')\n@Component({\n selector: 'odx-menu',\n standalone: true,\n imports: [ActionGroupComponent, CommonModule],\n templateUrl: './menu.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ListFocusManagerDirective],\n host: {\n role: 'menu',\n },\n})\nexport class MenuComponent {\n public static ngAcceptInputType_tile: BooleanInput;\n public readonly element = injectElement();\n\n @CSSModifier()\n @Transform(coerceBooleanProperty)\n @Input()\n public tile = false;\n\n @HostListener('keydown.tab', ['$event'])\n public onTab(event: KeyboardEvent) {\n event.preventDefault();\n event.stopPropagation();\n closeCurrentDropdown(this.element.nativeElement);\n }\n}\n","<div class=\"odx-menu__title\" *ngIf=\"tile\">\n <ng-content></ng-content>\n</div>\n<odx-action-group class=\"odx-menu__inner\">\n <ng-content select=\"[odxMenuItem]\" ngProjectAs=\"[odxButton]\"></ng-content>\n</odx-action-group>\n","import { Directive, inject, Input, OnChanges } from '@angular/core';\nimport { DynamicContent, DynamicTextContent } from '@odx/angular/cdk/dynamic-view';\nimport { DropdownDirective, DropdownOptions } from '@odx/angular/components/dropdown';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { hasChanged, injectElement, NgChanges, Position } from '@odx/angular/utils';\n\nconst DEFAULT_MENU_DROPDOWN_OPTIONS: Partial<DropdownOptions> = {\n containerClass: 'odx-menu-overlay',\n enableFallback: true,\n};\n\n@CSSComponent('menu-host')\n@Directive({\n selector: '[odxMenu]',\n standalone: true,\n hostDirectives: [\n {\n directive: DropdownDirective,\n inputs: ['odxDropdown:odxMenu'],\n },\n ],\n})\nexport class MenuDirective implements OnChanges {\n protected readonly dropdown = inject(DropdownDirective, { host: true });\n\n public readonly element = injectElement();\n\n @Input('odxMenu')\n public content?: Exclude<DynamicContent, DynamicTextContent> | null;\n\n @Input('odxMenuPosition')\n public position?: Position | null;\n\n public ngOnChanges(changes: NgChanges<MenuDirective>): void {\n if (hasChanged(changes, 'position', false)) {\n this.dropdown.options = {\n ...DEFAULT_MENU_DROPDOWN_OPTIONS,\n position: this.position ?? undefined,\n };\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { MenuItemDirective } from './directives';\nimport { MenuComponent } from './menu.component';\nimport { MenuDirective } from './menu.directive';\n\nconst modules = [MenuComponent, MenuDirective, MenuItemDirective];\n\n@NgModule({\n imports: [modules],\n exports: [CoreModule, ...modules],\n})\nexport class MenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}