@odx/angular 1.0.0-rc.2 → 1.0.0-rc.20

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 (816) hide show
  1. package/README.md +6 -7
  2. package/animations/index.d.ts +1 -0
  3. package/animations/lib/wait-for-child-animations.d.ts +1 -0
  4. package/cdk/a11y/README.md +3 -0
  5. package/cdk/a11y/index.d.ts +2 -0
  6. package/cdk/a11y/lib/a11y.module.d.ts +11 -0
  7. package/cdk/a11y/lib/directives/index.d.ts +3 -0
  8. package/cdk/a11y/lib/directives/interactive.directive.d.ts +11 -0
  9. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +10 -0
  10. package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +12 -0
  11. package/cdk/active-indicator/README.md +3 -0
  12. package/cdk/active-indicator/index.d.ts +2 -0
  13. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +25 -0
  14. package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +5 -0
  15. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +6 -0
  16. package/cdk/active-indicator/lib/models/index.d.ts +2 -0
  17. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +4 -3
  18. package/cdk/connected-overlay/README.md +3 -0
  19. package/cdk/connected-overlay/index.d.ts +3 -0
  20. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +28 -0
  21. package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +10 -0
  22. package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +3 -0
  23. package/cdk/connected-overlay/lib/helpers/index.d.ts +1 -0
  24. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +25 -0
  25. package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +12 -0
  26. package/cdk/connected-overlay/lib/models/index.d.ts +2 -0
  27. package/cdk/custom-form-control/lib/control.directive.d.ts +1 -1
  28. package/cdk/custom-form-control/lib/custom-form-control.d.ts +8 -14
  29. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +4 -4
  30. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +3 -1
  31. package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +1 -0
  32. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +3 -3
  33. package/cdk/dynamic-view/lib/facade/dynamic-view-ref.d.ts +1 -0
  34. package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +2 -0
  35. package/cdk/dynamic-view/lib/helpers/index.d.ts +1 -0
  36. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +2 -0
  37. package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +1 -0
  38. package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +7 -3
  39. package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +3 -0
  40. package/cdk/dynamic-view/lib/tokens/index.d.ts +1 -0
  41. package/cdk/expandable/index.d.ts +1 -0
  42. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +2 -2
  43. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +2 -2
  44. package/cdk/expandable/lib/expandable.tokens.d.ts +3 -0
  45. package/cdk/expandable/lib/facade/expandable-container.d.ts +4 -4
  46. package/cdk/expandable/lib/facade/expandable-item.d.ts +6 -6
  47. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +1 -1
  48. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +3 -2
  49. package/components/accordion/lib/accordion.component.d.ts +1 -1
  50. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +1 -1
  51. package/components/accordion/lib/directives/accordion-item-title.d.ts +1 -1
  52. package/components/action-group/action-group.component.d.ts +1 -1
  53. package/components/area-header/area-header.component.d.ts +1 -1
  54. package/components/area-header/directives/area-header-content.directive.d.ts +1 -1
  55. package/components/area-header/directives/area-header-subtitle.directive.d.ts +1 -1
  56. package/components/area-header/models/area-header-size.d.ts +1 -1
  57. package/components/avatar/lib/avatar.component.d.ts +3 -2
  58. package/components/avatar/lib/models/avatar-size.d.ts +1 -1
  59. package/components/avatar/lib/models/avatar-variant.d.ts +5 -0
  60. package/components/avatar/lib/models/index.d.ts +1 -0
  61. package/components/badge/lib/badge.component.d.ts +7 -17
  62. package/components/badge/lib/badge.directive.d.ts +17 -13
  63. package/components/badge/lib/models/badge-variant.d.ts +1 -1
  64. package/components/badge/lib/models/index.d.ts +0 -1
  65. package/components/bar/README.md +3 -0
  66. package/components/bar/index.d.ts +5 -0
  67. package/components/bar/lib/bar.component.d.ts +6 -0
  68. package/components/bar/lib/bar.module.d.ts +10 -0
  69. package/components/bar/lib/directives/bar-button.directive.d.ts +10 -0
  70. package/components/bar/lib/directives/bar-label.directive.d.ts +6 -0
  71. package/components/bar/lib/models/bar-button-variant.d.ts +5 -0
  72. package/components/breadcrumbs/README.md +3 -0
  73. package/components/breadcrumbs/index.d.ts +1 -0
  74. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +17 -0
  75. package/components/button/lib/button.component.d.ts +3 -4
  76. package/components/button/lib/models/button-size.d.ts +1 -1
  77. package/components/button/lib/models/button-variant.d.ts +1 -1
  78. package/components/button-group/lib/button-group.component.d.ts +1 -1
  79. package/components/checkbox/index.d.ts +2 -0
  80. package/components/checkbox/lib/checkbox.component.d.ts +2 -1
  81. package/components/checkbox/lib/checkbox.module.d.ts +9 -0
  82. package/components/checkbox/lib/checkbox.validator.d.ts +6 -0
  83. package/components/chip/README.md +3 -0
  84. package/components/chip/index.d.ts +2 -0
  85. package/components/chip/lib/chip.component.d.ts +15 -0
  86. package/components/chip/lib/models/chip-size.d.ts +5 -0
  87. package/components/chip/lib/models/chip-variant.d.ts +7 -0
  88. package/components/chip/lib/models/index.d.ts +2 -0
  89. package/components/circular-progress/README.md +3 -0
  90. package/components/circular-progress/index.d.ts +2 -0
  91. package/components/circular-progress/lib/circular-progress.component.d.ts +29 -0
  92. package/components/circular-progress/lib/models/circular-progress-size.d.ts +7 -0
  93. package/components/circular-progress/lib/models/index.d.ts +1 -0
  94. package/components/content-box/lib/content-box.component.d.ts +1 -1
  95. package/components/content-box/lib/directives/content-box-footer-directive.d.ts +1 -1
  96. package/components/content-box/lib/directives/content-box-header-directive.d.ts +1 -1
  97. package/components/dropdown/README.md +3 -0
  98. package/components/dropdown/index.d.ts +5 -0
  99. package/components/dropdown/lib/dropdown.component.d.ts +12 -0
  100. package/components/dropdown/lib/dropdown.directive.d.ts +42 -0
  101. package/components/dropdown/lib/dropdown.module.d.ts +8 -0
  102. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +1 -0
  103. package/components/dropdown/lib/helpers/index.d.ts +1 -0
  104. package/components/dropdown/lib/models/close-dropdown-event.d.ts +4 -0
  105. package/components/dropdown/lib/models/dropdown-options.d.ts +3 -0
  106. package/components/dropdown/lib/models/index.d.ts +2 -0
  107. package/components/form-field/index.d.ts +1 -0
  108. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +1 -1
  109. package/components/form-field/lib/components/form-group/form-group.component.d.ts +1 -2
  110. package/components/form-field/lib/directives/form-field-control.directive.d.ts +3 -4
  111. package/components/form-field/lib/directives/form-field-error.directive.d.ts +1 -1
  112. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +1 -1
  113. package/components/form-field/lib/directives/form-field-label.directive.d.ts +1 -1
  114. package/components/form-field/lib/directives/form.directive.d.ts +1 -1
  115. package/components/form-field/lib/form-field.component.d.ts +8 -2
  116. package/components/form-field/lib/form-field.config.d.ts +3 -7
  117. package/components/form-field/lib/form-field.module.d.ts +0 -4
  118. package/components/form-field/lib/models/form-field-error-resolver.d.ts +1 -1
  119. package/components/form-field/lib/models/form-field-error.d.ts +1 -0
  120. package/components/form-field/lib/models/form-field-variant.d.ts +5 -0
  121. package/components/form-field/lib/models/index.d.ts +1 -0
  122. package/components/form-field/lib/services/form-field-error.service.d.ts +1 -0
  123. package/components/header/lib/directives/header-avatar.directive.d.ts +5 -2
  124. package/components/header/lib/directives/header-title.directive.d.ts +1 -1
  125. package/components/header/lib/header.component.d.ts +1 -1
  126. package/components/header/lib/header.module.d.ts +2 -3
  127. package/components/icon/lib/icon.component.d.ts +1 -1
  128. package/components/icon/lib/models/icon-size.d.ts +2 -1
  129. package/components/inline-message/README.md +3 -0
  130. package/components/inline-message/index.d.ts +2 -0
  131. package/components/inline-message/lib/inline-message.component.d.ts +9 -0
  132. package/components/inline-message/lib/models/index.d.ts +1 -0
  133. package/components/inline-message/lib/models/inline-message-variant.d.ts +7 -0
  134. package/components/launch-tile/README.md +3 -0
  135. package/components/launch-tile/index.d.ts +3 -0
  136. package/components/launch-tile/lib/components/index.d.ts +2 -0
  137. package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +5 -0
  138. package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +5 -0
  139. package/components/launch-tile/lib/launch-tile.component.d.ts +17 -0
  140. package/components/launch-tile/lib/launch-tile.module.d.ts +14 -0
  141. package/components/link/link.directive.d.ts +2 -4
  142. package/components/list/README.md +3 -0
  143. package/components/list/index.d.ts +3 -0
  144. package/components/list/lib/components/index.d.ts +1 -0
  145. package/components/list/lib/components/list-item/list-item.component.d.ts +12 -0
  146. package/components/list/lib/list.component.d.ts +6 -0
  147. package/components/list/lib/list.module.d.ts +9 -0
  148. package/components/loading-spinner/README.md +3 -0
  149. package/components/loading-spinner/index.d.ts +3 -0
  150. package/components/loading-spinner/lib/loading-spinner.component.d.ts +15 -0
  151. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +27 -0
  152. package/components/loading-spinner/lib/loading-spinner.module.d.ts +9 -0
  153. package/components/logo/logo.directive.d.ts +1 -1
  154. package/components/logo/models/logo-size.d.ts +1 -1
  155. package/components/logo/models/logo-variant.d.ts +1 -1
  156. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +1 -1
  157. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +9 -4
  158. package/components/main-menu/lib/main-menu.component.d.ts +3 -1
  159. package/components/menu/README.md +3 -0
  160. package/components/menu/index.d.ts +4 -0
  161. package/components/menu/lib/directives/index.d.ts +1 -0
  162. package/components/menu/lib/directives/menu-item.directive.d.ts +8 -0
  163. package/components/menu/lib/menu.component.d.ts +11 -0
  164. package/components/menu/lib/menu.directive.d.ts +16 -0
  165. package/components/menu/lib/menu.module.d.ts +10 -0
  166. package/components/modal/index.d.ts +0 -1
  167. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +10 -0
  168. package/components/modal/lib/components/index.d.ts +2 -0
  169. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +1 -1
  170. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +2 -1
  171. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +11 -0
  172. package/components/modal/lib/directives/modal-close.directive.d.ts +2 -2
  173. package/components/modal/lib/directives/modal-content.directive.d.ts +1 -1
  174. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +1 -1
  175. package/components/modal/lib/helpers/inject-modal-ref.d.ts +1 -1
  176. package/components/modal/lib/modal.component.d.ts +11 -6
  177. package/components/modal/lib/modal.config.d.ts +2 -2
  178. package/components/modal/lib/modal.directive.d.ts +8 -4
  179. package/components/modal/lib/modal.module.d.ts +9 -12
  180. package/components/modal/lib/modal.service.d.ts +9 -6
  181. package/components/modal/lib/models/basic-modal-options.d.ts +17 -0
  182. package/components/modal/lib/models/index.d.ts +3 -0
  183. package/components/modal/lib/models/modal-hero-variant.d.ts +7 -0
  184. package/components/modal/lib/models/modal-options.d.ts +3 -1
  185. package/components/modal/lib/models/modal-ref.d.ts +9 -5
  186. package/components/modal/lib/models/modal-size.d.ts +2 -1
  187. package/components/modal/lib/models/modal-type.d.ts +1 -1
  188. package/components/modal/lib/models/modal-variant.d.ts +5 -0
  189. package/components/progress/README.md +3 -0
  190. package/components/progress/index.d.ts +1 -0
  191. package/components/progress/lib/progress.component.d.ts +14 -0
  192. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +2 -2
  193. package/components/radio-group/lib/radio-group.component.d.ts +1 -1
  194. package/components/rail-navigation/README.md +3 -0
  195. package/components/rail-navigation/index.d.ts +3 -0
  196. package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +13 -0
  197. package/components/rail-navigation/lib/rail-navigation.component.d.ts +14 -0
  198. package/components/rail-navigation/lib/rail-navigation.module.d.ts +9 -0
  199. package/components/select/README.md +3 -0
  200. package/components/select/index.d.ts +7 -0
  201. package/components/select/lib/abstract/index.d.ts +2 -0
  202. package/components/select/lib/abstract/select-control-option.d.ts +9 -0
  203. package/components/select/lib/abstract/select-control.d.ts +12 -0
  204. package/components/select/lib/components/index.d.ts +1 -0
  205. package/components/select/lib/components/option/option.component.d.ts +27 -0
  206. package/components/select/lib/directives/index.d.ts +1 -0
  207. package/components/select/lib/directives/select-search-field.directive.d.ts +13 -0
  208. package/components/select/lib/pipes/index.d.ts +1 -0
  209. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +13 -0
  210. package/components/select/lib/select.component.d.ts +53 -0
  211. package/components/select/lib/select.module.d.ts +11 -0
  212. package/components/select/lib/select.tokens.d.ts +3 -0
  213. package/components/slider/README.md +3 -0
  214. package/components/slider/index.d.ts +1 -0
  215. package/components/slider/lib/slider.directive.d.ts +12 -0
  216. package/components/spinbox/README.md +3 -0
  217. package/components/spinbox/index.d.ts +1 -0
  218. package/components/spinbox/lib/spinbox.component.d.ts +25 -0
  219. package/components/switch/index.d.ts +2 -0
  220. package/components/switch/lib/switch.component.d.ts +2 -1
  221. package/components/switch/lib/switch.module.d.ts +9 -0
  222. package/components/switch/lib/switch.validator.d.ts +6 -0
  223. package/components/tab-bar/README.md +3 -0
  224. package/components/tab-bar/index.d.ts +4 -0
  225. package/components/tab-bar/lib/components/index.d.ts +1 -0
  226. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +23 -0
  227. package/components/tab-bar/lib/models/index.d.ts +1 -0
  228. package/components/tab-bar/lib/models/tab-change-event.d.ts +5 -0
  229. package/components/tab-bar/lib/tab-bar.component.d.ts +31 -0
  230. package/components/tab-bar/lib/tab-bar.config.d.ts +3 -0
  231. package/components/tab-bar/lib/tab-bar.module.d.ts +9 -0
  232. package/components/toast/README.md +3 -0
  233. package/components/toast/index.d.ts +5 -0
  234. package/components/toast/lib/components/index.d.ts +2 -0
  235. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +23 -0
  236. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +20 -0
  237. package/components/toast/lib/models/index.d.ts +5 -0
  238. package/components/toast/lib/models/toast-action.d.ts +7 -0
  239. package/components/toast/lib/models/toast-ref.d.ts +7 -0
  240. package/components/toast/lib/models/toast-variant.d.ts +7 -0
  241. package/components/toast/lib/models/toast.d.ts +10 -0
  242. package/components/toast/lib/models/toast.options.d.ts +4 -0
  243. package/components/toast/lib/toast.config.d.ts +3 -0
  244. package/components/toast/lib/toast.module.d.ts +9 -0
  245. package/components/toast/lib/toast.service.d.ts +16 -0
  246. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +5 -2
  247. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +11 -2
  248. package/components/tooltip/README.md +3 -0
  249. package/components/tooltip/index.d.ts +3 -0
  250. package/components/tooltip/lib/helpers/index.d.ts +1 -0
  251. package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +2 -0
  252. package/components/tooltip/lib/models/index.d.ts +3 -0
  253. package/components/tooltip/lib/models/tooltip-options.d.ts +10 -0
  254. package/components/tooltip/lib/models/tooltip-size.d.ts +7 -0
  255. package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -0
  256. package/components/tooltip/lib/tooltip.component.d.ts +13 -0
  257. package/components/tooltip/lib/tooltip.directive.d.ts +33 -0
  258. package/esm2020/animations/index.mjs +2 -1
  259. package/esm2020/animations/lib/expand.mjs +6 -4
  260. package/esm2020/animations/lib/fade.mjs +2 -5
  261. package/esm2020/animations/lib/wait-for-child-animations.mjs +3 -0
  262. package/esm2020/cdk/a11y/index.mjs +3 -0
  263. package/esm2020/cdk/a11y/lib/a11y.module.mjs +19 -0
  264. package/esm2020/cdk/a11y/lib/directives/index.mjs +4 -0
  265. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +49 -0
  266. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +26 -0
  267. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +40 -0
  268. package/esm2020/cdk/a11y/odx-angular-cdk-a11y.mjs +5 -0
  269. package/esm2020/cdk/active-indicator/index.mjs +3 -0
  270. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +128 -0
  271. package/esm2020/cdk/active-indicator/lib/models/active-indicator-direction.mjs +5 -0
  272. package/esm2020/cdk/active-indicator/lib/models/active-indicator-position.mjs +6 -0
  273. package/esm2020/cdk/active-indicator/lib/models/index.mjs +3 -0
  274. package/esm2020/cdk/active-indicator/odx-angular-cdk-active-indicator.mjs +5 -0
  275. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +21 -19
  276. package/esm2020/cdk/connected-overlay/index.mjs +4 -0
  277. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +116 -0
  278. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +25 -0
  279. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +55 -0
  280. package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +2 -0
  281. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +12 -0
  282. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +15 -0
  283. package/esm2020/cdk/connected-overlay/lib/models/index.mjs +3 -0
  284. package/esm2020/cdk/connected-overlay/odx-angular-cdk-connected-overlay.mjs +5 -0
  285. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  286. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +35 -59
  287. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +23 -14
  288. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +24 -10
  289. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +11 -9
  290. package/esm2020/cdk/dynamic-view/lib/facade/dynamic-view-ref.mjs +1 -1
  291. package/esm2020/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +9 -0
  292. package/esm2020/cdk/dynamic-view/lib/helpers/index.mjs +2 -1
  293. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +29 -8
  294. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +12 -6
  295. package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
  296. package/esm2020/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +10 -0
  297. package/esm2020/cdk/dynamic-view/lib/tokens/index.mjs +2 -1
  298. package/esm2020/cdk/expandable/index.mjs +2 -1
  299. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +7 -8
  300. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +5 -7
  301. package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
  302. package/esm2020/cdk/expandable/lib/expandable.tokens.mjs +3 -0
  303. package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +2 -3
  304. package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +2 -3
  305. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +12 -12
  306. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +14 -10
  307. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  308. package/esm2020/components/accordion/lib/accordion.component.mjs +7 -7
  309. package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
  310. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +8 -6
  311. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  312. package/esm2020/components/action-group/action-group.component.mjs +5 -5
  313. package/esm2020/components/area-header/area-header.component.mjs +6 -5
  314. package/esm2020/components/area-header/area-header.module.mjs +4 -4
  315. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
  316. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  317. package/esm2020/components/avatar/lib/avatar.component.mjs +14 -8
  318. package/esm2020/components/avatar/lib/models/avatar-variant.mjs +5 -0
  319. package/esm2020/components/avatar/lib/models/index.mjs +2 -1
  320. package/esm2020/components/badge/lib/badge.component.mjs +18 -65
  321. package/esm2020/components/badge/lib/badge.directive.mjs +50 -25
  322. package/esm2020/components/badge/lib/models/index.mjs +1 -2
  323. package/esm2020/components/bar/index.mjs +6 -0
  324. package/esm2020/components/bar/lib/bar.component.mjs +21 -0
  325. package/esm2020/components/bar/lib/bar.module.mjs +20 -0
  326. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +38 -0
  327. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +24 -0
  328. package/esm2020/components/bar/lib/models/bar-button-variant.mjs +5 -0
  329. package/esm2020/components/bar/odx-angular-components-bar.mjs +5 -0
  330. package/esm2020/components/breadcrumbs/index.mjs +2 -0
  331. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +50 -0
  332. package/esm2020/components/breadcrumbs/odx-angular-components-breadcrumbs.mjs +5 -0
  333. package/esm2020/components/button/lib/button.component.mjs +12 -18
  334. package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
  335. package/esm2020/components/checkbox/index.mjs +3 -1
  336. package/esm2020/components/checkbox/lib/checkbox.component.mjs +8 -7
  337. package/esm2020/components/checkbox/lib/checkbox.module.mjs +19 -0
  338. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +28 -0
  339. package/esm2020/components/chip/index.mjs +3 -0
  340. package/esm2020/components/chip/lib/chip.component.mjs +54 -0
  341. package/esm2020/components/chip/lib/models/chip-size.mjs +5 -0
  342. package/esm2020/components/chip/lib/models/chip-variant.mjs +7 -0
  343. package/esm2020/components/chip/lib/models/index.mjs +3 -0
  344. package/esm2020/components/chip/odx-angular-components-chip.mjs +5 -0
  345. package/esm2020/components/circular-progress/index.mjs +3 -0
  346. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +98 -0
  347. package/esm2020/components/circular-progress/lib/models/circular-progress-size.mjs +7 -0
  348. package/esm2020/components/circular-progress/lib/models/index.mjs +2 -0
  349. package/esm2020/components/circular-progress/odx-angular-components-circular-progress.mjs +5 -0
  350. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  351. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  352. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +3 -3
  353. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +3 -3
  354. package/esm2020/components/dropdown/index.mjs +6 -0
  355. package/esm2020/components/dropdown/lib/dropdown.component.mjs +40 -0
  356. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +157 -0
  357. package/esm2020/components/dropdown/lib/dropdown.module.mjs +18 -0
  358. package/esm2020/components/dropdown/lib/helpers/close-current-dropdown.mjs +5 -0
  359. package/esm2020/components/dropdown/lib/helpers/index.mjs +2 -0
  360. package/esm2020/components/dropdown/lib/models/close-dropdown-event.mjs +7 -0
  361. package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +8 -0
  362. package/esm2020/components/dropdown/lib/models/index.mjs +3 -0
  363. package/esm2020/components/dropdown/odx-angular-components-dropdown.mjs +5 -0
  364. package/esm2020/components/form-field/index.mjs +2 -1
  365. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  366. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +11 -13
  367. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +22 -15
  368. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  369. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
  370. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
  371. package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
  372. package/esm2020/components/form-field/lib/form-field.component.mjs +31 -13
  373. package/esm2020/components/form-field/lib/form-field.config.mjs +4 -4
  374. package/esm2020/components/form-field/lib/form-field.module.mjs +5 -13
  375. package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
  376. package/esm2020/components/form-field/lib/models/form-field-error.mjs +1 -1
  377. package/esm2020/components/form-field/lib/models/form-field-variant.mjs +5 -0
  378. package/esm2020/components/form-field/lib/models/index.mjs +2 -1
  379. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +16 -16
  380. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +13 -6
  381. package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
  382. package/esm2020/components/header/lib/header.component.mjs +5 -6
  383. package/esm2020/components/header/lib/header.module.mjs +7 -11
  384. package/esm2020/components/icon/lib/icon.component.mjs +3 -3
  385. package/esm2020/components/icon/lib/models/icon-size.mjs +2 -1
  386. package/esm2020/components/inline-message/index.mjs +3 -0
  387. package/esm2020/components/inline-message/lib/inline-message.component.mjs +42 -0
  388. package/esm2020/components/inline-message/lib/models/index.mjs +2 -0
  389. package/esm2020/components/inline-message/lib/models/inline-message-variant.mjs +7 -0
  390. package/esm2020/components/inline-message/odx-angular-components-inline-message.mjs +5 -0
  391. package/esm2020/components/launch-tile/index.mjs +4 -0
  392. package/esm2020/components/launch-tile/lib/components/index.mjs +3 -0
  393. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +13 -0
  394. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +13 -0
  395. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +56 -0
  396. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +23 -0
  397. package/esm2020/components/launch-tile/odx-angular-components-launch-tile.mjs +5 -0
  398. package/esm2020/components/link/link.directive.mjs +7 -14
  399. package/esm2020/components/list/index.mjs +4 -0
  400. package/esm2020/components/list/lib/components/index.mjs +2 -0
  401. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +40 -0
  402. package/esm2020/components/list/lib/list.component.mjs +21 -0
  403. package/esm2020/components/list/lib/list.module.mjs +19 -0
  404. package/esm2020/components/list/odx-angular-components-list.mjs +5 -0
  405. package/esm2020/components/loading-spinner/index.mjs +4 -0
  406. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +58 -0
  407. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +98 -0
  408. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +19 -0
  409. package/esm2020/components/loading-spinner/odx-angular-components-loading-spinner.mjs +5 -0
  410. package/esm2020/components/logo/logo.directive.mjs +8 -6
  411. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
  412. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +30 -17
  413. package/esm2020/components/main-menu/lib/main-menu.component.mjs +12 -11
  414. package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
  415. package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
  416. package/esm2020/components/menu/index.mjs +5 -0
  417. package/esm2020/components/menu/lib/directives/index.mjs +2 -0
  418. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +37 -0
  419. package/esm2020/components/menu/lib/menu.component.mjs +46 -0
  420. package/esm2020/components/menu/lib/menu.directive.mjs +54 -0
  421. package/esm2020/components/menu/lib/menu.module.mjs +20 -0
  422. package/esm2020/components/menu/odx-angular-components-menu.mjs +5 -0
  423. package/esm2020/components/modal/index.mjs +1 -2
  424. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +42 -0
  425. package/esm2020/components/modal/lib/components/index.mjs +3 -1
  426. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
  427. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +10 -8
  428. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +39 -0
  429. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +10 -5
  430. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
  431. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  432. package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +1 -1
  433. package/esm2020/components/modal/lib/modal.component.mjs +43 -20
  434. package/esm2020/components/modal/lib/modal.config.mjs +5 -3
  435. package/esm2020/components/modal/lib/modal.directive.mjs +24 -6
  436. package/esm2020/components/modal/lib/modal.module.mjs +33 -15
  437. package/esm2020/components/modal/lib/modal.service.mjs +47 -40
  438. package/esm2020/components/modal/lib/models/basic-modal-options.mjs +2 -0
  439. package/esm2020/components/modal/lib/models/index.mjs +4 -1
  440. package/esm2020/components/modal/lib/models/modal-hero-variant.mjs +7 -0
  441. package/esm2020/components/modal/lib/models/modal-options.mjs +1 -1
  442. package/esm2020/components/modal/lib/models/modal-ref.mjs +25 -10
  443. package/esm2020/components/modal/lib/models/modal-size.mjs +2 -1
  444. package/esm2020/components/modal/lib/models/modal-variant.mjs +5 -0
  445. package/esm2020/components/progress/index.mjs +2 -0
  446. package/esm2020/components/progress/lib/progress.component.mjs +51 -0
  447. package/esm2020/components/progress/odx-angular-components-progress.mjs +5 -0
  448. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +8 -9
  449. package/esm2020/components/radio-group/lib/radio-group.component.mjs +9 -9
  450. package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
  451. package/esm2020/components/rail-navigation/index.mjs +4 -0
  452. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +38 -0
  453. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +47 -0
  454. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +19 -0
  455. package/esm2020/components/rail-navigation/odx-angular-components-rail-navigation.mjs +5 -0
  456. package/esm2020/components/select/index.mjs +8 -0
  457. package/esm2020/components/select/lib/abstract/index.mjs +3 -0
  458. package/esm2020/components/select/lib/abstract/select-control-option.mjs +2 -0
  459. package/esm2020/components/select/lib/abstract/select-control.mjs +2 -0
  460. package/esm2020/components/select/lib/components/index.mjs +2 -0
  461. package/esm2020/components/select/lib/components/option/option.component.mjs +96 -0
  462. package/esm2020/components/select/lib/directives/index.mjs +2 -0
  463. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +47 -0
  464. package/esm2020/components/select/lib/pipes/index.mjs +2 -0
  465. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +51 -0
  466. package/esm2020/components/select/lib/select.component.mjs +219 -0
  467. package/esm2020/components/select/lib/select.module.mjs +21 -0
  468. package/esm2020/components/select/lib/select.tokens.mjs +3 -0
  469. package/esm2020/components/select/odx-angular-components-select.mjs +5 -0
  470. package/esm2020/components/slider/index.mjs +2 -0
  471. package/esm2020/components/slider/lib/slider.directive.mjs +42 -0
  472. package/esm2020/components/slider/odx-angular-components-slider.mjs +5 -0
  473. package/esm2020/components/spinbox/index.mjs +2 -0
  474. package/esm2020/components/spinbox/lib/spinbox.component.mjs +91 -0
  475. package/esm2020/components/spinbox/odx-angular-components-spinbox.mjs +5 -0
  476. package/esm2020/components/switch/index.mjs +3 -1
  477. package/esm2020/components/switch/lib/switch.component.mjs +8 -7
  478. package/esm2020/components/switch/lib/switch.module.mjs +19 -0
  479. package/esm2020/components/switch/lib/switch.validator.mjs +28 -0
  480. package/esm2020/components/tab-bar/index.mjs +5 -0
  481. package/esm2020/components/tab-bar/lib/components/index.mjs +2 -0
  482. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +79 -0
  483. package/esm2020/components/tab-bar/lib/models/index.mjs +2 -0
  484. package/esm2020/components/tab-bar/lib/models/tab-change-event.mjs +2 -0
  485. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +115 -0
  486. package/esm2020/components/tab-bar/lib/tab-bar.config.mjs +3 -0
  487. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +19 -0
  488. package/esm2020/components/tab-bar/odx-angular-components-tab-bar.mjs +5 -0
  489. package/esm2020/components/toast/index.mjs +6 -0
  490. package/esm2020/components/toast/lib/components/index.mjs +3 -0
  491. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +87 -0
  492. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +75 -0
  493. package/esm2020/components/toast/lib/models/index.mjs +6 -0
  494. package/esm2020/components/toast/lib/models/toast-action.mjs +2 -0
  495. package/esm2020/components/toast/lib/models/toast-ref.mjs +2 -0
  496. package/esm2020/components/toast/lib/models/toast-variant.mjs +7 -0
  497. package/esm2020/components/toast/lib/models/toast.mjs +2 -0
  498. package/esm2020/components/toast/lib/models/toast.options.mjs +2 -0
  499. package/esm2020/components/toast/lib/toast.config.mjs +6 -0
  500. package/esm2020/components/toast/lib/toast.module.mjs +18 -0
  501. package/esm2020/components/toast/lib/toast.service.mjs +38 -0
  502. package/esm2020/components/toast/odx-angular-components-toast.mjs +5 -0
  503. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +14 -12
  504. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +41 -13
  505. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  506. package/esm2020/components/tooltip/index.mjs +4 -0
  507. package/esm2020/components/tooltip/lib/helpers/index.mjs +2 -0
  508. package/esm2020/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +9 -0
  509. package/esm2020/components/tooltip/lib/models/index.mjs +4 -0
  510. package/esm2020/components/tooltip/lib/models/tooltip-options.mjs +10 -0
  511. package/esm2020/components/tooltip/lib/models/tooltip-size.mjs +7 -0
  512. package/esm2020/components/tooltip/lib/models/tooltip-trigger.mjs +2 -0
  513. package/esm2020/components/tooltip/lib/tooltip.component.mjs +39 -0
  514. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +132 -0
  515. package/esm2020/components/tooltip/odx-angular-components-tooltip.mjs +5 -0
  516. package/esm2020/index.mjs +2 -1
  517. package/esm2020/internal/decorators/css-component.mjs +3 -8
  518. package/esm2020/internal/decorators/css-modifier.mjs +21 -18
  519. package/esm2020/internal/helpers/decorator-property-name.mjs +4 -0
  520. package/esm2020/internal/helpers/index.mjs +2 -1
  521. package/esm2020/internal/helpers/with-mutiple-descriptors.mjs +22 -13
  522. package/esm2020/lib/controllers/controller.mjs +16 -14
  523. package/esm2020/lib/controllers/disabled.controller.mjs +29 -43
  524. package/esm2020/lib/controllers/readonly.controller.mjs +33 -23
  525. package/esm2020/lib/core.module.mjs +7 -6
  526. package/esm2020/lib/directives/click-outside.directive.mjs +17 -13
  527. package/esm2020/lib/directives/delegate-focus.directive.mjs +40 -0
  528. package/esm2020/lib/directives/index.mjs +4 -1
  529. package/esm2020/lib/directives/with-disabled-state.directive.mjs +41 -0
  530. package/esm2020/lib/directives/with-tabindex.directive.mjs +23 -0
  531. package/esm2020/lib/services/window-ref.mjs +18 -7
  532. package/esm2020/lib/tokens/identity-matcher.mjs +7 -0
  533. package/esm2020/lib/tokens/index.mjs +4 -0
  534. package/esm2020/lib/tokens/string-search-handler.mjs +9 -0
  535. package/esm2020/lib/tokens/stringify.mjs +8 -0
  536. package/esm2020/rxjs/index.mjs +4 -2
  537. package/esm2020/rxjs/lib/delay-until.mjs +5 -0
  538. package/esm2020/rxjs/lib/form-query-list.mjs +5 -0
  539. package/esm2020/rxjs/lib/from-element-resize.mjs +14 -0
  540. package/esm2020/utils/lib/decorators/index.mjs +2 -1
  541. package/esm2020/utils/lib/decorators/pure.mjs +37 -0
  542. package/esm2020/utils/lib/decorators/transform.mjs +3 -3
  543. package/esm2020/utils/lib/helpers/angular.mjs +5 -2
  544. package/esm2020/utils/lib/helpers/build-url.mjs +4 -0
  545. package/esm2020/utils/lib/helpers/defer-fn.mjs +4 -0
  546. package/esm2020/utils/lib/helpers/dom.mjs +32 -2
  547. package/esm2020/utils/lib/helpers/event-manager.mjs +30 -0
  548. package/esm2020/utils/lib/helpers/get-axis.mjs +14 -0
  549. package/esm2020/utils/lib/helpers/get-opposite-side.mjs +15 -0
  550. package/esm2020/utils/lib/helpers/get-side.mjs +4 -0
  551. package/esm2020/utils/lib/helpers/get-unique-id.mjs +7 -0
  552. package/esm2020/utils/lib/helpers/index.mjs +10 -2
  553. package/esm2020/utils/lib/helpers/provide-config.mjs +25 -0
  554. package/esm2020/utils/lib/helpers/queue.mjs +49 -0
  555. package/esm2020/utils/lib/types/axis.mjs +5 -0
  556. package/esm2020/utils/lib/types/index.mjs +4 -1
  557. package/esm2020/utils/lib/types/position.mjs +15 -0
  558. package/esm2020/utils/lib/types/side.mjs +7 -0
  559. package/fesm2015/odx-angular-animations.mjs +10 -6
  560. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  561. package/fesm2015/odx-angular-cdk-a11y.mjs +131 -0
  562. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -0
  563. package/fesm2015/odx-angular-cdk-active-indicator.mjs +145 -0
  564. package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -0
  565. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +21 -19
  566. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  567. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +222 -0
  568. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  569. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +39 -63
  570. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  571. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +109 -42
  572. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  573. package/fesm2015/odx-angular-cdk-expandable.mjs +16 -22
  574. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
  575. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +27 -24
  576. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  577. package/fesm2015/odx-angular-components-accordion.mjs +20 -18
  578. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
  579. package/fesm2015/odx-angular-components-action-group.mjs +4 -4
  580. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  581. package/fesm2015/odx-angular-components-area-header.mjs +15 -14
  582. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  583. package/fesm2015/odx-angular-components-avatar.mjs +18 -7
  584. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  585. package/fesm2015/odx-angular-components-badge.mjs +63 -97
  586. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  587. package/fesm2015/odx-angular-components-bar.mjs +95 -0
  588. package/fesm2015/odx-angular-components-bar.mjs.map +1 -0
  589. package/fesm2015/odx-angular-components-breadcrumbs.mjs +56 -0
  590. package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -0
  591. package/fesm2015/odx-angular-components-button-group.mjs +3 -3
  592. package/fesm2015/odx-angular-components-button.mjs +11 -18
  593. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  594. package/fesm2015/odx-angular-components-checkbox.mjs +49 -8
  595. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  596. package/fesm2015/odx-angular-components-chip.mjs +71 -0
  597. package/fesm2015/odx-angular-components-chip.mjs.map +1 -0
  598. package/fesm2015/odx-angular-components-circular-progress.mjs +110 -0
  599. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -0
  600. package/fesm2015/odx-angular-components-content-box.mjs +13 -13
  601. package/fesm2015/odx-angular-components-dropdown.mjs +223 -0
  602. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -0
  603. package/fesm2015/odx-angular-components-form-field.mjs +96 -78
  604. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
  605. package/fesm2015/odx-angular-components-header.mjs +25 -23
  606. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  607. package/fesm2015/odx-angular-components-icon.mjs +4 -3
  608. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  609. package/fesm2015/odx-angular-components-inline-message.mjs +54 -0
  610. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -0
  611. package/fesm2015/odx-angular-components-launch-tile.mjs +100 -0
  612. package/fesm2015/odx-angular-components-launch-tile.mjs.map +1 -0
  613. package/fesm2015/odx-angular-components-link.mjs +6 -14
  614. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  615. package/fesm2015/odx-angular-components-list.mjs +76 -0
  616. package/fesm2015/odx-angular-components-list.mjs.map +1 -0
  617. package/fesm2015/odx-angular-components-loading-spinner.mjs +171 -0
  618. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -0
  619. package/fesm2015/odx-angular-components-logo.mjs +7 -5
  620. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  621. package/fesm2015/odx-angular-components-main-menu.mjs +64 -53
  622. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  623. package/fesm2015/odx-angular-components-menu.mjs +140 -0
  624. package/fesm2015/odx-angular-components-menu.mjs.map +1 -0
  625. package/fesm2015/odx-angular-components-modal.mjs +265 -155
  626. package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
  627. package/fesm2015/odx-angular-components-progress.mjs +57 -0
  628. package/fesm2015/odx-angular-components-progress.mjs.map +1 -0
  629. package/fesm2015/odx-angular-components-radio-group.mjs +18 -19
  630. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  631. package/fesm2015/odx-angular-components-rail-navigation.mjs +97 -0
  632. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -0
  633. package/fesm2015/odx-angular-components-select.mjs +416 -0
  634. package/fesm2015/odx-angular-components-select.mjs.map +1 -0
  635. package/fesm2015/odx-angular-components-slider.mjs +48 -0
  636. package/fesm2015/odx-angular-components-slider.mjs.map +1 -0
  637. package/fesm2015/odx-angular-components-spinbox.mjs +100 -0
  638. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -0
  639. package/fesm2015/odx-angular-components-switch.mjs +49 -8
  640. package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
  641. package/fesm2015/odx-angular-components-tab-bar.mjs +209 -0
  642. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -0
  643. package/fesm2015/odx-angular-components-toast.mjs +216 -0
  644. package/fesm2015/odx-angular-components-toast.mjs.map +1 -0
  645. package/fesm2015/odx-angular-components-toggle-button-group.mjs +58 -26
  646. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
  647. package/fesm2015/odx-angular-components-tooltip.mjs +187 -0
  648. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -0
  649. package/fesm2015/odx-angular-internal.mjs +63 -54
  650. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  651. package/fesm2015/odx-angular-rxjs.mjs +23 -6
  652. package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
  653. package/fesm2015/odx-angular-utils.mjs +242 -15
  654. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  655. package/fesm2015/odx-angular.mjs +231 -98
  656. package/fesm2015/odx-angular.mjs.map +1 -1
  657. package/fesm2020/odx-angular-animations.mjs +10 -9
  658. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  659. package/fesm2020/odx-angular-cdk-a11y.mjs +127 -0
  660. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -0
  661. package/fesm2020/odx-angular-cdk-active-indicator.mjs +143 -0
  662. package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -0
  663. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +21 -19
  664. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  665. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +218 -0
  666. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  667. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +37 -61
  668. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  669. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +102 -37
  670. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  671. package/fesm2020/odx-angular-cdk-expandable.mjs +16 -22
  672. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
  673. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +27 -24
  674. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  675. package/fesm2020/odx-angular-components-accordion.mjs +20 -18
  676. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
  677. package/fesm2020/odx-angular-components-action-group.mjs +4 -4
  678. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  679. package/fesm2020/odx-angular-components-area-header.mjs +15 -14
  680. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  681. package/fesm2020/odx-angular-components-avatar.mjs +18 -7
  682. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  683. package/fesm2020/odx-angular-components-badge.mjs +60 -90
  684. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  685. package/fesm2020/odx-angular-components-bar.mjs +95 -0
  686. package/fesm2020/odx-angular-components-bar.mjs.map +1 -0
  687. package/fesm2020/odx-angular-components-breadcrumbs.mjs +56 -0
  688. package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -0
  689. package/fesm2020/odx-angular-components-button-group.mjs +3 -3
  690. package/fesm2020/odx-angular-components-button.mjs +11 -17
  691. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  692. package/fesm2020/odx-angular-components-checkbox.mjs +49 -8
  693. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  694. package/fesm2020/odx-angular-components-chip.mjs +71 -0
  695. package/fesm2020/odx-angular-components-chip.mjs.map +1 -0
  696. package/fesm2020/odx-angular-components-circular-progress.mjs +110 -0
  697. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -0
  698. package/fesm2020/odx-angular-components-content-box.mjs +13 -13
  699. package/fesm2020/odx-angular-components-dropdown.mjs +226 -0
  700. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -0
  701. package/fesm2020/odx-angular-components-form-field.mjs +95 -78
  702. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
  703. package/fesm2020/odx-angular-components-header.mjs +25 -23
  704. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  705. package/fesm2020/odx-angular-components-icon.mjs +4 -3
  706. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  707. package/fesm2020/odx-angular-components-inline-message.mjs +54 -0
  708. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -0
  709. package/fesm2020/odx-angular-components-launch-tile.mjs +99 -0
  710. package/fesm2020/odx-angular-components-launch-tile.mjs.map +1 -0
  711. package/fesm2020/odx-angular-components-link.mjs +6 -13
  712. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  713. package/fesm2020/odx-angular-components-list.mjs +76 -0
  714. package/fesm2020/odx-angular-components-list.mjs.map +1 -0
  715. package/fesm2020/odx-angular-components-loading-spinner.mjs +169 -0
  716. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -0
  717. package/fesm2020/odx-angular-components-logo.mjs +7 -5
  718. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  719. package/fesm2020/odx-angular-components-main-menu.mjs +63 -52
  720. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  721. package/fesm2020/odx-angular-components-menu.mjs +142 -0
  722. package/fesm2020/odx-angular-components-menu.mjs.map +1 -0
  723. package/fesm2020/odx-angular-components-modal.mjs +268 -152
  724. package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
  725. package/fesm2020/odx-angular-components-progress.mjs +57 -0
  726. package/fesm2020/odx-angular-components-progress.mjs.map +1 -0
  727. package/fesm2020/odx-angular-components-radio-group.mjs +18 -19
  728. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  729. package/fesm2020/odx-angular-components-rail-navigation.mjs +97 -0
  730. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -0
  731. package/fesm2020/odx-angular-components-select.mjs +409 -0
  732. package/fesm2020/odx-angular-components-select.mjs.map +1 -0
  733. package/fesm2020/odx-angular-components-slider.mjs +48 -0
  734. package/fesm2020/odx-angular-components-slider.mjs.map +1 -0
  735. package/fesm2020/odx-angular-components-spinbox.mjs +97 -0
  736. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -0
  737. package/fesm2020/odx-angular-components-switch.mjs +49 -8
  738. package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
  739. package/fesm2020/odx-angular-components-tab-bar.mjs +203 -0
  740. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -0
  741. package/fesm2020/odx-angular-components-toast.mjs +215 -0
  742. package/fesm2020/odx-angular-components-toast.mjs.map +1 -0
  743. package/fesm2020/odx-angular-components-toggle-button-group.mjs +55 -26
  744. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
  745. package/fesm2020/odx-angular-components-tooltip.mjs +192 -0
  746. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -0
  747. package/fesm2020/odx-angular-internal.mjs +61 -52
  748. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  749. package/fesm2020/odx-angular-rxjs.mjs +23 -6
  750. package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
  751. package/fesm2020/odx-angular-utils.mjs +236 -15
  752. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  753. package/fesm2020/odx-angular.mjs +225 -95
  754. package/fesm2020/odx-angular.mjs.map +1 -1
  755. package/index.d.ts +1 -0
  756. package/internal/decorators/css-component.d.ts +1 -2
  757. package/internal/decorators/css-modifier.d.ts +0 -1
  758. package/internal/helpers/decorator-property-name.d.ts +1 -0
  759. package/internal/helpers/index.d.ts +1 -0
  760. package/internal/helpers/with-mutiple-descriptors.d.ts +1 -1
  761. package/lib/controllers/controller.d.ts +2 -3
  762. package/lib/controllers/disabled.controller.d.ts +5 -7
  763. package/lib/controllers/readonly.controller.d.ts +5 -2
  764. package/lib/core.module.d.ts +2 -1
  765. package/lib/directives/click-outside.directive.d.ts +3 -4
  766. package/lib/directives/delegate-focus.directive.d.ts +11 -0
  767. package/lib/directives/index.d.ts +3 -0
  768. package/lib/directives/with-disabled-state.directive.d.ts +13 -0
  769. package/lib/directives/with-tabindex.directive.d.ts +7 -0
  770. package/lib/services/window-ref.d.ts +5 -0
  771. package/lib/tokens/identity-matcher.d.ts +3 -0
  772. package/lib/tokens/index.d.ts +3 -0
  773. package/lib/tokens/string-search-handler.d.ts +3 -0
  774. package/lib/tokens/stringify.d.ts +3 -0
  775. package/package.json +181 -12
  776. package/rxjs/index.d.ts +3 -1
  777. package/rxjs/lib/delay-until.d.ts +2 -0
  778. package/rxjs/lib/form-query-list.d.ts +3 -0
  779. package/rxjs/lib/from-element-resize.d.ts +2 -0
  780. package/utils/lib/decorators/index.d.ts +1 -0
  781. package/utils/lib/decorators/pure.d.ts +1 -0
  782. package/utils/lib/decorators/transform.d.ts +2 -2
  783. package/utils/lib/helpers/angular.d.ts +2 -1
  784. package/utils/lib/helpers/build-url.d.ts +1 -0
  785. package/utils/lib/helpers/defer-fn.d.ts +1 -0
  786. package/utils/lib/helpers/dom.d.ts +6 -1
  787. package/utils/lib/helpers/event-manager.d.ts +12 -0
  788. package/utils/lib/helpers/get-axis.d.ts +2 -0
  789. package/utils/lib/helpers/get-opposite-side.d.ts +2 -0
  790. package/utils/lib/helpers/get-side.d.ts +2 -0
  791. package/utils/lib/helpers/get-unique-id.d.ts +1 -0
  792. package/utils/lib/helpers/index.d.ts +9 -1
  793. package/utils/lib/helpers/ng-changes.d.ts +1 -1
  794. package/utils/lib/helpers/provide-config.d.ts +12 -0
  795. package/utils/lib/helpers/queue.d.ts +22 -0
  796. package/utils/lib/types/axis.d.ts +5 -0
  797. package/utils/lib/types/get-properties.d.ts +2 -2
  798. package/utils/lib/types/index.d.ts +3 -0
  799. package/utils/lib/types/position.d.ts +15 -0
  800. package/utils/lib/types/side.d.ts +7 -0
  801. package/components/badge/lib/badge.config.d.ts +0 -3
  802. package/components/badge/lib/facade/badge-host.d.ts +0 -3
  803. package/components/badge/lib/facade/index.d.ts +0 -1
  804. package/components/badge/lib/models/badge-position.d.ts +0 -5
  805. package/components/modal/lib/services/index.d.ts +0 -1
  806. package/components/modal/lib/services/open-modal-manager.service.d.ts +0 -15
  807. package/esm2020/components/badge/lib/badge.config.mjs +0 -3
  808. package/esm2020/components/badge/lib/facade/badge-host.mjs +0 -2
  809. package/esm2020/components/badge/lib/facade/index.mjs +0 -2
  810. package/esm2020/components/badge/lib/models/badge-position.mjs +0 -5
  811. package/esm2020/components/modal/lib/services/index.mjs +0 -2
  812. package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +0 -42
  813. package/esm2020/rxjs/lib/mark-for-check.mjs +0 -5
  814. package/esm2020/utils/lib/helpers/provide-module-config.mjs +0 -21
  815. package/rxjs/lib/mark-for-check.d.ts +0 -3
  816. package/utils/lib/helpers/provide-module-config.d.ts +0 -12
@@ -0,0 +1,100 @@
1
+ import { __decorate, __metadata } from 'tslib';
2
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
3
+ import * as i0 from '@angular/core';
4
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input } from '@angular/core';
5
+ import { detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';
6
+ import { CustomFormControl, ControlDirective } from '@odx/angular/cdk/custom-form-control';
7
+ import { CSSComponent } from '@odx/angular/internal';
8
+ import { fromEvents } from '@odx/angular/rxjs';
9
+ import { untilDestroyed, injectElement, Transform } from '@odx/angular/utils';
10
+ import { filter, tap, switchMap, NEVER, timer, startWith } from 'rxjs';
11
+
12
+ let SpinboxComponent = class SpinboxComponent extends CustomFormControl {
13
+ get inputElement() {
14
+ var _a;
15
+ return (_a = this.control) === null || _a === void 0 ? void 0 : _a.element.nativeElement;
16
+ }
17
+ constructor() {
18
+ super(0);
19
+ this.takeUntilDestroyed = untilDestroyed();
20
+ this.element = injectElement();
21
+ this.max = Infinity;
22
+ this.min = -Infinity;
23
+ this.step = 1;
24
+ detectControllerChanges(this).subscribe();
25
+ }
26
+ ngAfterViewInit() {
27
+ this.registerPressHold(this.decrementButton).subscribe(() => {
28
+ var _a;
29
+ (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.stepDown();
30
+ this.onInputChange();
31
+ });
32
+ this.registerPressHold(this.incrementButton).subscribe(() => {
33
+ var _a;
34
+ (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.stepUp();
35
+ this.onInputChange();
36
+ });
37
+ }
38
+ maxSteps({ code }) {
39
+ if (code === 'End' && this.min !== -Infinity) {
40
+ this.updateValue(this.min);
41
+ }
42
+ else if (code === 'Home' && this.max !== Infinity) {
43
+ this.updateValue(this.max);
44
+ }
45
+ }
46
+ checkValue() {
47
+ const value = coerceNumberProperty(this.inputElement.value);
48
+ this.updateValue(value < this.min ? this.min : value > this.max ? this.max : value);
49
+ }
50
+ onInputChange() {
51
+ this.updateValue(coerceNumberProperty(this.inputElement.value));
52
+ }
53
+ registerPressHold(target) {
54
+ return fromEvents(target.nativeElement, 'keydown', 'mousedown', 'mouseup', 'keyup').pipe(filter((event) => (event === null || event === void 0 ? void 0 : event.type) !== 'keydown' || ['Space', 'Enter'].includes(event.code)), tap((event) => {
55
+ event.preventDefault();
56
+ event.stopPropagation();
57
+ }), switchMap(({ type }) => (['mouseup', 'keyup'].includes(type) ? NEVER : timer(500, 100).pipe(startWith(undefined)))), this.takeUntilDestroyed());
58
+ }
59
+ };
60
+ SpinboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SpinboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
+ SpinboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: SpinboxComponent, isStandalone: true, selector: "odx-spinbox", inputs: { max: "max", min: "min", step: "step" }, providers: [DisabledController.connect(), ReadonlyController.connect()], viewQueries: [{ propertyName: "decrementButton", first: true, predicate: ["decrementButton"], descendants: true }, { propertyName: "incrementButton", first: true, predicate: ["incrementButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
62
+ __decorate([
63
+ Transform(coerceNumberProperty),
64
+ __metadata("design:type", Object)
65
+ ], SpinboxComponent.prototype, "max", void 0);
66
+ __decorate([
67
+ Transform(coerceNumberProperty),
68
+ __metadata("design:type", Object)
69
+ ], SpinboxComponent.prototype, "min", void 0);
70
+ __decorate([
71
+ Transform(coerceNumberProperty),
72
+ __metadata("design:type", Object)
73
+ ], SpinboxComponent.prototype, "step", void 0);
74
+ SpinboxComponent = __decorate([
75
+ CSSComponent('spinbox'),
76
+ __metadata("design:paramtypes", [])
77
+ ], SpinboxComponent);
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SpinboxComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ standalone: true, selector: 'odx-spinbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ControlDirective], providers: [DisabledController.connect(), ReadonlyController.connect()], template: "<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n" }]
81
+ }], ctorParameters: function () { return []; }, propDecorators: { decrementButton: [{
82
+ type: ViewChild,
83
+ args: ['decrementButton']
84
+ }], incrementButton: [{
85
+ type: ViewChild,
86
+ args: ['incrementButton']
87
+ }], max: [{
88
+ type: Input
89
+ }], min: [{
90
+ type: Input
91
+ }], step: [{
92
+ type: Input
93
+ }] } });
94
+
95
+ /**
96
+ * Generated bundle index. Do not edit.
97
+ */
98
+
99
+ export { SpinboxComponent };
100
+ //# sourceMappingURL=odx-angular-components-spinbox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odx-angular-components-spinbox.mjs","sources":["../../../../libs/angular/components/spinbox/src/lib/spinbox.component.ts","../../../../libs/angular/components/spinbox/src/lib/spinbox.component.html","../../../../libs/angular/components/spinbox/src/odx-angular-components-spinbox.ts"],"sourcesContent":["import { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';\nimport { ControlDirective, CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { injectElement, Transform, untilDestroyed } from '@odx/angular/utils';\nimport { filter, NEVER, Observable, startWith, switchMap, tap, timer } from 'rxjs';\n\n@CSSComponent('spinbox')\n@Component({\n standalone: true,\n selector: 'odx-spinbox',\n templateUrl: 'spinbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ControlDirective],\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n})\nexport class SpinboxComponent extends CustomFormControl<number> implements AfterViewInit {\n public static ngAcceptInputType_max: NumberInput;\n public static ngAcceptInputType_min: NumberInput;\n public static ngAcceptInputType_step: NumberInput;\n\n private readonly takeUntilDestroyed = untilDestroyed();\n\n private get inputElement(): HTMLInputElement {\n return this.control?.element.nativeElement as HTMLInputElement;\n }\n\n @ViewChild('decrementButton')\n protected decrementButton!: ElementRef<HTMLButtonElement>;\n\n @ViewChild('incrementButton')\n protected incrementButton!: ElementRef<HTMLButtonElement>;\n\n public readonly element = injectElement();\n\n @Transform(coerceNumberProperty)\n @Input()\n public max = Infinity;\n\n @Transform(coerceNumberProperty)\n @Input()\n public min = -Infinity;\n\n @Transform(coerceNumberProperty)\n @Input()\n public step = 1;\n\n constructor() {\n super(0);\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n this.registerPressHold(this.decrementButton).subscribe(() => {\n this.inputElement?.stepDown();\n this.onInputChange();\n });\n this.registerPressHold(this.incrementButton).subscribe(() => {\n this.inputElement?.stepUp();\n this.onInputChange();\n });\n }\n\n protected maxSteps({ code }: KeyboardEvent) {\n if (code === 'End' && this.min !== -Infinity) {\n this.updateValue(this.min);\n } else if (code === 'Home' && this.max !== Infinity) {\n this.updateValue(this.max);\n }\n }\n\n protected checkValue(): void {\n const value = coerceNumberProperty(this.inputElement.value);\n this.updateValue(value < this.min ? this.min : value > this.max ? this.max : value);\n }\n\n protected onInputChange(): void {\n this.updateValue(coerceNumberProperty(this.inputElement.value));\n }\n\n private registerPressHold(target: ElementRef<HTMLElement>): Observable<unknown> {\n return fromEvents(target.nativeElement, 'keydown', 'mousedown', 'mouseup', 'keyup').pipe(\n filter((event) => event?.type !== 'keydown' || ['Space', 'Enter'].includes((event as KeyboardEvent).code)),\n tap((event) => {\n event.preventDefault();\n event.stopPropagation();\n }),\n switchMap(({ type }) => (['mouseup', 'keyup'].includes(type) ? NEVER : timer(500, 100).pipe(startWith(undefined)))),\n this.takeUntilDestroyed()\n );\n }\n}\n","<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-minus\" #decrementButton></button>\n<input\n odxControl\n class=\"odx-spinbox__input\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n type=\"number\"\n [value]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (keydown)=\"maxSteps($event)\"\n (change)=\"onInputChange()\"\n (blur)=\"checkValue()\"\n/>\n<button [disabled]=\"isDisabled || isReadonly\" type=\"button\" class=\"odx-spinbox__action odx-icon odx-icon-plus\" #incrementButton></button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,28 +1,69 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
4
- import { DisabledController, ReadonlyController } from '@odx/angular';
3
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, forwardRef, Directive, NgModule } from '@angular/core';
4
+ import * as i1 from '@odx/angular';
5
+ import { ReadonlyController, WithDisabledState, CoreModule } from '@odx/angular';
5
6
  import { CheckBoxControl } from '@odx/angular/cdk/checkbox-control';
6
7
  import { ControlDirective } from '@odx/angular/cdk/custom-form-control';
7
8
  import { CSSComponent } from '@odx/angular/internal';
9
+ import { CheckboxRequiredValidator, NG_VALIDATORS } from '@angular/forms';
8
10
 
9
11
  let SwitchComponent = class SwitchComponent extends CheckBoxControl {
10
12
  };
11
- SwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
- SwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: SwitchComponent, isStandalone: true, selector: "odx-switch", host: { properties: { "class.is-active": "checked" } }, providers: [DisabledController.connect(), ReadonlyController.connect()], usesInheritance: true, ngImport: i0, template: "<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"required || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13
+ SwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
+ SwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: SwitchComponent, isStandalone: true, selector: "odx-switch", host: { properties: { "class.is-active": "checked" } }, providers: [ReadonlyController.connect()], usesInheritance: true, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0, template: "<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [attr.tabindex]=\"tabindex || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n", dependencies: [{ kind: "directive", type: ControlDirective, selector: "[odxControl]", exportAs: ["odxControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13
15
  SwitchComponent = __decorate([
14
16
  CSSComponent('switch')
15
17
  ], SwitchComponent);
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SwitchComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SwitchComponent, decorators: [{
17
19
  type: Component,
18
- args: [{ standalone: true, selector: 'odx-switch', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ControlDirective], providers: [DisabledController.connect(), ReadonlyController.connect()], host: {
20
+ args: [{ standalone: true, selector: 'odx-switch', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ControlDirective], providers: [ReadonlyController.connect()], hostDirectives: [WithDisabledState], host: {
19
21
  '[class.is-active]': 'checked',
20
- }, template: "<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"required || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n" }]
22
+ }, template: "<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [attr.tabindex]=\"tabindex || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n" }]
23
+ }] });
24
+
25
+ class SwitchValidator extends CheckboxRequiredValidator {
26
+ }
27
+ SwitchValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SwitchValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
28
+ SwitchValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: SwitchValidator, isStandalone: true, selector: "odx-switch[required][formControlName], odx-switch[required][formControl], odx-switch[required][ngModel]", providers: [
29
+ {
30
+ provide: NG_VALIDATORS,
31
+ useExisting: forwardRef(() => SwitchValidator),
32
+ multi: true,
33
+ },
34
+ ], usesInheritance: true, ngImport: i0 });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SwitchValidator, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ standalone: true,
39
+ selector: 'odx-switch[required][formControlName], odx-switch[required][formControl], odx-switch[required][ngModel]',
40
+ providers: [
41
+ {
42
+ provide: NG_VALIDATORS,
43
+ useExisting: forwardRef(() => SwitchValidator),
44
+ multi: true,
45
+ },
46
+ ],
47
+ }]
48
+ }] });
49
+
50
+ const modules = [SwitchComponent, SwitchValidator];
51
+ class SwitchModule {
52
+ }
53
+ SwitchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
+ SwitchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, SwitchValidator], exports: [CoreModule, SwitchComponent, SwitchValidator] });
55
+ SwitchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SwitchModule, imports: [SwitchComponent, CoreModule] });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SwitchModule, decorators: [{
57
+ type: NgModule,
58
+ args: [{
59
+ imports: modules,
60
+ exports: [CoreModule, ...modules],
61
+ }]
21
62
  }] });
22
63
 
23
64
  /**
24
65
  * Generated bundle index. Do not edit.
25
66
  */
26
67
 
27
- export { SwitchComponent };
68
+ export { SwitchComponent, SwitchModule, SwitchValidator };
28
69
  //# sourceMappingURL=odx-angular-components-switch.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-components-switch.mjs","sources":["../../../../libs/angular/components/switch/src/lib/switch.component.ts","../../../../libs/angular/components/switch/src/lib/switch.component.html","../../../../libs/angular/components/switch/src/odx-angular-components-switch.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { CheckBoxControl } from '@odx/angular/cdk/checkbox-control';\nimport { ControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\n\n@CSSComponent('switch')\n@Component({\n standalone: true,\n selector: 'odx-switch',\n templateUrl: 'switch.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ControlDirective],\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n host: {\n '[class.is-active]': 'checked',\n },\n})\nexport class SwitchComponent extends CheckBoxControl {}\n","<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"required || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAmBO,IAAM,eAAe,GAArB,MAAM,wBAAwB,eAAe,CAAA;;4GAAvC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EALf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,ECdzE,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,kpBAsBA,4CDTY,gBAAgB,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAMf,eAAe,GAAA,UAAA,CAAA;IAb3B,YAAY,CAAC,QAAQ,CAAC;CAaV,EAAA,eAAe,CAA2B,CAAA;2FAA1C,eAAe,EAAA,UAAA,EAAA,CAAA;kBAZ3B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,YAAY,EAAA,eAAA,EAEL,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,gBAAgB,CAAC,EAChB,SAAA,EAAA,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,EACjE,IAAA,EAAA;AACJ,wBAAA,mBAAmB,EAAE,SAAS;AAC/B,qBAAA,EAAA,QAAA,EAAA,kpBAAA,EAAA,CAAA;;;AEjBH;;AAEG;;;;"}
1
+ {"version":3,"file":"odx-angular-components-switch.mjs","sources":["../../../../libs/angular/components/switch/src/lib/switch.component.ts","../../../../libs/angular/components/switch/src/lib/switch.component.html","../../../../libs/angular/components/switch/src/lib/switch.validator.ts","../../../../libs/angular/components/switch/src/lib/switch.module.ts","../../../../libs/angular/components/switch/src/odx-angular-components-switch.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ReadonlyController, WithDisabledState } from '@odx/angular';\nimport { CheckBoxControl } from '@odx/angular/cdk/checkbox-control';\nimport { ControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { CSSComponent } from '@odx/angular/internal';\n\n@CSSComponent('switch')\n@Component({\n standalone: true,\n selector: 'odx-switch',\n templateUrl: 'switch.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [ControlDirective],\n providers: [ReadonlyController.connect()],\n hostDirectives: [WithDisabledState],\n host: {\n '[class.is-active]': 'checked',\n },\n})\nexport class SwitchComponent extends CheckBoxControl {}\n","<label class=\"odx-switch__label\">\n <input\n odxControl\n class=\"odx-switch__input\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-invalid]=\"hasError || null\"\n [attr.aria-readonly]=\"isReadonly || null\"\n [attr.aria-required]=\"isRequired || null\"\n [attr.tabindex]=\"tabindex || null\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled || isReadonly\"\n [name]=\"name\"\n [readonly]=\"isReadonly\"\n [value]=\"value\"\n type=\"checkbox\"\n (blur)=\"onTouched()\"\n (change)=\"onChanged($event)\"\n />\n <div class=\"odx-switch__indicator\"></div>\n <div class=\"odx-switch__content\">\n <ng-content></ng-content>\n </div>\n</label>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CheckboxRequiredValidator, NG_VALIDATORS } from '@angular/forms';\n\n@Directive({\n standalone: true,\n selector: 'odx-switch[required][formControlName], odx-switch[required][formControl], odx-switch[required][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SwitchValidator),\n multi: true,\n },\n ],\n})\nexport class SwitchValidator extends CheckboxRequiredValidator {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { SwitchComponent } from './switch.component';\nimport { SwitchValidator } from './switch.validator';\n\nconst modules = [SwitchComponent, SwitchValidator];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAoBO,IAAM,eAAe,GAArB,MAAM,wBAAwB,eAAe,CAAA;;4GAAvC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,SAAA,EANf,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd3C,8rBAuBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDVY,gBAAgB,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAOf,eAAe,GAAA,UAAA,CAAA;IAd3B,YAAY,CAAC,QAAQ,CAAC;CAcV,EAAA,eAAe,CAA2B,CAAA;2FAA1C,eAAe,EAAA,UAAA,EAAA,CAAA;kBAb3B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,YAAY,EAAA,eAAA,EAEL,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC5B,OAAA,EAAA,CAAC,gBAAgB,CAAC,EAAA,SAAA,EAChB,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,EACzB,cAAA,EAAA,CAAC,iBAAiB,CAAC,EAC7B,IAAA,EAAA;AACJ,wBAAA,mBAAmB,EAAE,SAAS;AAC/B,qBAAA,EAAA,QAAA,EAAA,8rBAAA,EAAA,CAAA;;;AEJG,MAAO,eAAgB,SAAQ,yBAAyB,CAAA;;4GAAjD,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EARf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yGAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC9C,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;KACF,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAEU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,yGAAyG;AACnH,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC9C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;iBACF,CAAA;;;ACRD,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;MAMtC,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0GAAZ,YAAY,EAAA,OAAA,EAAA,CANR,eAAe,EAAE,eAAe,aAIrC,UAAU,EAJL,eAAe,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;0GAMpC,YAAY,EAAA,OAAA,EAAA,CANR,eAAe,EAIpB,UAAU,CAAA,EAAA,CAAA,CAAA;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;iBAClC,CAAA;;;ACVD;;AAEG;;;;"}
@@ -0,0 +1,209 @@
1
+ import { __decorate, __metadata } from 'tslib';
2
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i0 from '@angular/core';
6
+ import { InjectionToken, inject, ElementRef, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, HostListener, ChangeDetectorRef, forwardRef, ViewChild, ViewChildren, ContentChildren, NgModule } from '@angular/core';
7
+ import { RouterLinkActive } from '@angular/router';
8
+ import { DisabledController, CoreModule } from '@odx/angular';
9
+ import { IconComponent } from '@odx/angular/components/icon';
10
+ import { CSSComponent, CSSModifier } from '@odx/angular/internal';
11
+ import { untilDestroyed, deferFn, Transform, injectElement, applyStyles, cssTranslate, px } from '@odx/angular/utils';
12
+ import { filter, BehaviorSubject, merge, debounceTime, tap, fromEvent } from 'rxjs';
13
+ import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
14
+ import { ActiveIndicatorDirective } from '@odx/angular/cdk/active-indicator';
15
+ import { fromQueryList, fromElementResize$ } from '@odx/angular/rxjs';
16
+
17
+ const TAB_BAR = new InjectionToken('tabBar');
18
+
19
+ let TabBarItemComponent = class TabBarItemComponent {
20
+ constructor() {
21
+ this.disabledController = DisabledController.inject();
22
+ this.tabBar = inject(TAB_BAR);
23
+ this.routerLinkActive = inject(RouterLinkActive, { optional: true, self: true });
24
+ this.takeUntilDestroyed = untilDestroyed();
25
+ this.isActive = false;
26
+ this.element = inject(ElementRef);
27
+ this.closable = false;
28
+ this.tabClose = new EventEmitter();
29
+ }
30
+ get disabled() {
31
+ var _a;
32
+ return !!((_a = this.disabledController) === null || _a === void 0 ? void 0 : _a.disabled);
33
+ }
34
+ ngOnInit() {
35
+ var _a;
36
+ (_a = this.routerLinkActive) === null || _a === void 0 ? void 0 : _a.isActiveChange.pipe(this.takeUntilDestroyed(), filter(Boolean)).subscribe(() => {
37
+ this.onClick();
38
+ });
39
+ }
40
+ setActiveStyles() {
41
+ deferFn(() => (this.isActive = true));
42
+ }
43
+ setInactiveStyles() {
44
+ deferFn(() => (this.isActive = false));
45
+ }
46
+ onClick() {
47
+ if (this.disabled)
48
+ return;
49
+ this.tabBar.activateItem(this);
50
+ }
51
+ handleClose(event) {
52
+ event.stopPropagation();
53
+ if (this.disabled || !this.closable)
54
+ return;
55
+ this.tabBar.removeItem(this);
56
+ this.tabClose.emit(this);
57
+ }
58
+ };
59
+ TabBarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TabBarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
60
+ TabBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: TabBarItemComponent, isStandalone: true, selector: "odx-tab-bar-item", inputs: { closable: "closable" }, outputs: { tabClose: "tabClose" }, host: { attributes: { "role": "tab" }, listeners: { "click": "onClick()" }, properties: { "class.is-disabled": "disabled", "class.is-active": "isActive", "attr.aria-selected": "isActive", "class.is-closable": "closable" } }, providers: [DisabledController.connect()], ngImport: i0, template: "<ng-content select=\"odx-icon\"></ng-content>\n<ng-content></ng-content>\n<odx-icon name=\"close\" size=\"small\" *ngIf=\"closable\" (click)=\"handleClose($event)\"></odx-icon>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61
+ __decorate([
62
+ Transform(coerceBooleanProperty),
63
+ __metadata("design:type", Object)
64
+ ], TabBarItemComponent.prototype, "closable", void 0);
65
+ TabBarItemComponent = __decorate([
66
+ CSSComponent('tab-bar-item')
67
+ ], TabBarItemComponent);
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TabBarItemComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'odx-tab-bar-item', standalone: true, imports: [CommonModule, IconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect()], host: {
71
+ '[class.is-disabled]': 'disabled',
72
+ '[class.is-active]': 'isActive',
73
+ '[attr.aria-selected]': 'isActive',
74
+ '[class.is-closable]': 'closable',
75
+ role: 'tab',
76
+ }, template: "<ng-content select=\"odx-icon\"></ng-content>\n<ng-content></ng-content>\n<odx-icon name=\"close\" size=\"small\" *ngIf=\"closable\" (click)=\"handleClose($event)\"></odx-icon>\n" }]
77
+ }], propDecorators: { closable: [{
78
+ type: Input
79
+ }], tabClose: [{
80
+ type: Output
81
+ }], onClick: [{
82
+ type: HostListener,
83
+ args: ['click']
84
+ }] } });
85
+
86
+ var TabBarComponent_1;
87
+ let TabBarComponent = TabBarComponent_1 = class TabBarComponent {
88
+ constructor() {
89
+ this.changeDetector = inject(ChangeDetectorRef);
90
+ this.takeUntilDestroyed = untilDestroyed();
91
+ this.selectedIndex$$ = new BehaviorSubject(0);
92
+ this.activeItem = null;
93
+ this.element = injectElement();
94
+ this.overflowLeft = false;
95
+ this.overflowRight = false;
96
+ this.selectedTabChanged = new EventEmitter();
97
+ }
98
+ set selectedIndex(value) {
99
+ this.selectedIndex$$.next(coerceNumberProperty(value));
100
+ }
101
+ ngAfterViewInit() {
102
+ this.keyManager = new ActiveDescendantKeyManager(this.tabs).withWrap().withHomeAndEnd().withHorizontalOrientation('ltr').withVerticalOrientation(false);
103
+ const updatePanelPosition$ = merge(this.selectedTabChanged, fromQueryList(this.tabs), fromElementResize$(this.element.nativeElement)).pipe(debounceTime(0), tap(() => this.updatePanelPosition()));
104
+ const updateActionVisibility$ = fromEvent(this.tabBarPanelElement.nativeElement, 'transitionend').pipe(tap(({ target }) => target === this.tabBarPanelElement.nativeElement && this.updateActionVisbility()));
105
+ const activeItemChange$ = merge(this.keyManager.change.pipe(tap(() => this.activeItemChange())), this.selectedIndex$$.pipe(tap((index) => { var _a; return (_a = this.keyManager) === null || _a === void 0 ? void 0 : _a.setActiveItem(index); })));
106
+ merge(activeItemChange$, updatePanelPosition$, updateActionVisibility$).pipe(this.takeUntilDestroyed()).subscribe();
107
+ }
108
+ activateItem(item) {
109
+ var _a;
110
+ if (item === this.activeItem)
111
+ return;
112
+ const selectedIndex = item ? this.tabs.toArray().indexOf(item) : -1;
113
+ (_a = this.keyManager) === null || _a === void 0 ? void 0 : _a.setActiveItem(selectedIndex);
114
+ }
115
+ removeItem(item) {
116
+ if (this.activeItem !== item)
117
+ return;
118
+ deferFn(() => { var _a; return (_a = this.keyManager) === null || _a === void 0 ? void 0 : _a.setPreviousItemActive(); });
119
+ }
120
+ onKeydown(event) {
121
+ var _a;
122
+ (_a = this.keyManager) === null || _a === void 0 ? void 0 : _a.onKeydown(event);
123
+ }
124
+ updatePanelPosition() {
125
+ var _a;
126
+ const activeElement = (_a = this.activeItem) === null || _a === void 0 ? void 0 : _a.element.nativeElement;
127
+ if (!activeElement)
128
+ return;
129
+ const panelRect = this.tabBarPanelElement.nativeElement.getBoundingClientRect();
130
+ const tabBarRect = this.element.nativeElement.getBoundingClientRect();
131
+ const maxPanelPositionX = Math.floor(tabBarRect.width - panelRect.width);
132
+ const panelPositionX = tabBarRect.width / 2 - activeElement.offsetLeft - activeElement.offsetWidth / 2;
133
+ const positionX = Math.min(0, Math.max(panelPositionX, maxPanelPositionX));
134
+ applyStyles(this.tabBarPanelElement.nativeElement, {
135
+ transform: cssTranslate(px(positionX), 0),
136
+ });
137
+ this.updateActionVisbility();
138
+ }
139
+ updateActionVisbility() {
140
+ const panelRect = this.tabBarPanelElement.nativeElement.getBoundingClientRect();
141
+ const tabBarRect = this.element.nativeElement.getBoundingClientRect();
142
+ this.overflowLeft = panelRect.left < tabBarRect.left;
143
+ this.overflowRight = panelRect.right > tabBarRect.right;
144
+ this.changeDetector.detectChanges();
145
+ }
146
+ activeItemChange() {
147
+ var _a, _b, _c;
148
+ const { activeItemIndex, activeItem } = (_a = this.keyManager) !== null && _a !== void 0 ? _a : {};
149
+ this.activeItem = activeItem !== null && activeItem !== void 0 ? activeItem : null;
150
+ this.selectedTabChanged.emit({ selectedIndex: activeItemIndex !== null && activeItemIndex !== void 0 ? activeItemIndex : -1, selectedTab: (_c = (_b = this.keyManager) === null || _b === void 0 ? void 0 : _b.activeItem) !== null && _c !== void 0 ? _c : null });
151
+ }
152
+ };
153
+ TabBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TabBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
+ TabBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: TabBarComponent, isStandalone: true, selector: "odx-tab-bar", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectedTabChanged: "selectedTabChanged" }, host: { attributes: { "role": "tabpanel", "tabindex": "0" }, listeners: { "keydown": "onKeydown($event)" } }, providers: [{ provide: TAB_BAR, useExisting: forwardRef(() => TabBarComponent_1) }], queries: [{ propertyName: "tabs", predicate: TabBarItemComponent }], viewQueries: [{ propertyName: "tabBarPanelElement", first: true, predicate: ["tabBarPanel"], descendants: true }, { propertyName: "tabActionElements", predicate: ["tabAction"], descendants: true }], ngImport: i0, template: "<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--prev\"\n [class.is-active]=\"overflowLeft\"\n (click)=\"keyManager?.setPreviousItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-left\"></odx-icon>\n</button>\n<div class=\"odx-tab-bar__inner\">\n <div class=\"odx-tab-bar__panel\" role=\"tablist\" #tabBarPanel>\n <ng-content></ng-content>\n <div class=\"odx-tab-bar__indicator\" [odxActiveIndicator]=\"activeItem?.element?.nativeElement\" odxActiveIndicatorPosition=\"start\"></div>\n </div>\n</div>\n<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--next\"\n [class.is-active]=\"overflowRight\"\n (click)=\"keyManager?.setNextItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-right\"></odx-icon>\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }, { kind: "directive", type: ActiveIndicatorDirective, selector: "[odxActiveIndicator]", inputs: ["odxActiveIndicator", "odxActiveIndicatorParent", "odxActiveIndicatorDirection", "odxActiveIndicatorPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
155
+ __decorate([
156
+ CSSModifier(),
157
+ __metadata("design:type", Object)
158
+ ], TabBarComponent.prototype, "overflowLeft", void 0);
159
+ __decorate([
160
+ CSSModifier(),
161
+ __metadata("design:type", Object)
162
+ ], TabBarComponent.prototype, "overflowRight", void 0);
163
+ TabBarComponent = TabBarComponent_1 = __decorate([
164
+ CSSComponent('tab-bar')
165
+ ], TabBarComponent);
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TabBarComponent, decorators: [{
167
+ type: Component,
168
+ args: [{ selector: 'odx-tab-bar', standalone: true, imports: [CommonModule, IconComponent, ActiveIndicatorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: TAB_BAR, useExisting: forwardRef(() => TabBarComponent) }], host: {
169
+ role: 'tabpanel',
170
+ tabindex: '0',
171
+ }, template: "<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--prev\"\n [class.is-active]=\"overflowLeft\"\n (click)=\"keyManager?.setPreviousItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-left\"></odx-icon>\n</button>\n<div class=\"odx-tab-bar__inner\">\n <div class=\"odx-tab-bar__panel\" role=\"tablist\" #tabBarPanel>\n <ng-content></ng-content>\n <div class=\"odx-tab-bar__indicator\" [odxActiveIndicator]=\"activeItem?.element?.nativeElement\" odxActiveIndicatorPosition=\"start\"></div>\n </div>\n</div>\n<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--next\"\n [class.is-active]=\"overflowRight\"\n (click)=\"keyManager?.setNextItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-right\"></odx-icon>\n</button>\n" }]
172
+ }], propDecorators: { tabBarPanelElement: [{
173
+ type: ViewChild,
174
+ args: ['tabBarPanel']
175
+ }], tabActionElements: [{
176
+ type: ViewChildren,
177
+ args: ['tabAction']
178
+ }], tabs: [{
179
+ type: ContentChildren,
180
+ args: [TabBarItemComponent]
181
+ }], overflowLeft: [], overflowRight: [], selectedIndex: [{
182
+ type: Input
183
+ }], selectedTabChanged: [{
184
+ type: Output
185
+ }], onKeydown: [{
186
+ type: HostListener,
187
+ args: ['keydown', ['$event']]
188
+ }] } });
189
+
190
+ const modules = [TabBarComponent, TabBarItemComponent];
191
+ class TabBarModule {
192
+ }
193
+ TabBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TabBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
194
+ TabBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: TabBarModule, imports: [TabBarComponent, TabBarItemComponent], exports: [CoreModule, TabBarComponent, TabBarItemComponent] });
195
+ TabBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TabBarModule, imports: [modules, CoreModule] });
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TabBarModule, decorators: [{
197
+ type: NgModule,
198
+ args: [{
199
+ imports: modules,
200
+ exports: [CoreModule, ...modules],
201
+ }]
202
+ }] });
203
+
204
+ /**
205
+ * Generated bundle index. Do not edit.
206
+ */
207
+
208
+ export { TabBarComponent, TabBarItemComponent, TabBarModule };
209
+ //# sourceMappingURL=odx-angular-components-tab-bar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odx-angular-components-tab-bar.mjs","sources":["../../../../libs/angular/components/tab-bar/src/lib/tab-bar.config.ts","../../../../libs/angular/components/tab-bar/src/lib/components/tab-bar-item/tab-bar-item.component.ts","../../../../libs/angular/components/tab-bar/src/lib/components/tab-bar-item/tab-bar-item.component.html","../../../../libs/angular/components/tab-bar/src/lib/tab-bar.component.ts","../../../../libs/angular/components/tab-bar/src/lib/tab-bar.component.html","../../../../libs/angular/components/tab-bar/src/lib/tab-bar.module.ts","../../../../libs/angular/components/tab-bar/src/odx-angular-components-tab-bar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TabBarComponent } from './tab-bar.component';\n\nexport const TAB_BAR = new InjectionToken<TabBarComponent>('tabBar');\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, inject, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { DisabledController } from '@odx/angular';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, Transform, untilDestroyed } from '@odx/angular/utils';\nimport { filter } from 'rxjs';\nimport { TAB_BAR } from '../../tab-bar.config';\n\n@CSSComponent('tab-bar-item')\n@Component({\n selector: 'odx-tab-bar-item',\n standalone: true,\n imports: [CommonModule, IconComponent],\n templateUrl: './tab-bar-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'disabled',\n '[class.is-active]': 'isActive',\n '[attr.aria-selected]': 'isActive',\n '[class.is-closable]': 'closable',\n role: 'tab',\n },\n})\nexport class TabBarItemComponent implements Highlightable, OnInit {\n public static ngAcceptInputType_closable: BooleanInput;\n\n private readonly disabledController = DisabledController.inject();\n private readonly tabBar = inject(TAB_BAR);\n private readonly routerLinkActive = inject(RouterLinkActive, { optional: true, self: true });\n private readonly takeUntilDestroyed = untilDestroyed();\n\n protected isActive = false;\n\n public readonly element: ElementRef<HTMLElement> = inject(ElementRef);\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n @Transform(coerceBooleanProperty)\n @Input()\n public closable = false;\n\n @Output()\n public tabClose = new EventEmitter<TabBarItemComponent>();\n\n public ngOnInit(): void {\n this.routerLinkActive?.isActiveChange.pipe(this.takeUntilDestroyed(), filter(Boolean)).subscribe(() => {\n this.onClick();\n });\n }\n\n public setActiveStyles(): void {\n deferFn(() => (this.isActive = true));\n }\n\n public setInactiveStyles(): void {\n deferFn(() => (this.isActive = false));\n }\n\n @HostListener('click')\n protected onClick(): void {\n if (this.disabled) return;\n this.tabBar.activateItem(this);\n }\n\n protected handleClose(event: Event): void {\n event.stopPropagation();\n if (this.disabled || !this.closable) return;\n this.tabBar.removeItem(this);\n this.tabClose.emit(this);\n }\n}\n","<ng-content select=\"odx-icon\"></ng-content>\n<ng-content></ng-content>\n<odx-icon name=\"close\" size=\"small\" *ngIf=\"closable\" (click)=\"handleClose($event)\"></odx-icon>\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ActiveIndicatorDirective } from '@odx/angular/cdk/active-indicator';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { fromElementResize$, fromQueryList } from '@odx/angular/rxjs';\nimport { applyStyles, cssTranslate, deferFn, injectElement, px, untilDestroyed } from '@odx/angular/utils';\nimport { BehaviorSubject, debounceTime, fromEvent, merge, tap } from 'rxjs';\nimport { TabBarItemComponent } from './components';\nimport { TabChangeEvent } from './models';\nimport { TAB_BAR } from './tab-bar.config';\n\n@CSSComponent('tab-bar')\n@Component({\n selector: 'odx-tab-bar',\n standalone: true,\n imports: [CommonModule, IconComponent, ActiveIndicatorDirective],\n templateUrl: './tab-bar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: TAB_BAR, useExisting: forwardRef(() => TabBarComponent) }],\n host: {\n role: 'tabpanel',\n tabindex: '0',\n },\n})\nexport class TabBarComponent implements AfterViewInit {\n public static ngAcceptInputType_selectedIndex: NumberInput;\n\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly selectedIndex$$ = new BehaviorSubject(0);\n\n protected activeItem: TabBarItemComponent | null = null;\n\n protected keyManager?: ActiveDescendantKeyManager<TabBarItemComponent>;\n\n @ViewChild('tabBarPanel')\n protected tabBarPanelElement!: ElementRef<HTMLElement>;\n\n @ViewChildren('tabAction')\n protected tabActionElements!: QueryList<ElementRef<HTMLElement>>;\n\n @ContentChildren(TabBarItemComponent)\n protected tabs!: QueryList<TabBarItemComponent>;\n\n public readonly element = injectElement();\n\n @CSSModifier()\n public overflowLeft = false;\n\n @CSSModifier()\n public overflowRight = false;\n\n @Input()\n public set selectedIndex(value: unknown) {\n this.selectedIndex$$.next(coerceNumberProperty(value));\n }\n\n @Output()\n public selectedTabChanged = new EventEmitter<TabChangeEvent>();\n\n public ngAfterViewInit(): void {\n this.keyManager = new ActiveDescendantKeyManager(this.tabs).withWrap().withHomeAndEnd().withHorizontalOrientation('ltr').withVerticalOrientation(false);\n const updatePanelPosition$ = merge(this.selectedTabChanged, fromQueryList(this.tabs), fromElementResize$(this.element.nativeElement)).pipe(\n debounceTime(0),\n tap(() => this.updatePanelPosition())\n );\n const updateActionVisibility$ = fromEvent(this.tabBarPanelElement.nativeElement, 'transitionend').pipe(\n tap(({ target }) => target === this.tabBarPanelElement.nativeElement && this.updateActionVisbility())\n );\n const activeItemChange$ = merge(\n this.keyManager.change.pipe(tap(() => this.activeItemChange())),\n this.selectedIndex$$.pipe(tap((index) => this.keyManager?.setActiveItem(index)))\n );\n merge(activeItemChange$, updatePanelPosition$, updateActionVisibility$).pipe(this.takeUntilDestroyed()).subscribe();\n }\n\n public activateItem(item?: TabBarItemComponent | null): void {\n if (item === this.activeItem) return;\n const selectedIndex = item ? this.tabs.toArray().indexOf(item) : -1;\n this.keyManager?.setActiveItem(selectedIndex);\n }\n\n public removeItem(item: TabBarItemComponent): void {\n if (this.activeItem !== item) return;\n deferFn(() => this.keyManager?.setPreviousItemActive());\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n this.keyManager?.onKeydown(event);\n }\n\n private updatePanelPosition(): void {\n const activeElement = this.activeItem?.element.nativeElement;\n if (!activeElement) return;\n const panelRect = this.tabBarPanelElement.nativeElement.getBoundingClientRect();\n const tabBarRect = this.element.nativeElement.getBoundingClientRect();\n const maxPanelPositionX = Math.floor(tabBarRect.width - panelRect.width);\n const panelPositionX = tabBarRect.width / 2 - activeElement.offsetLeft - activeElement.offsetWidth / 2;\n const positionX = Math.min(0, Math.max(panelPositionX, maxPanelPositionX));\n applyStyles(this.tabBarPanelElement.nativeElement, {\n transform: cssTranslate(px(positionX), 0),\n });\n this.updateActionVisbility();\n }\n\n private updateActionVisbility(): void {\n const panelRect = this.tabBarPanelElement.nativeElement.getBoundingClientRect();\n const tabBarRect = this.element.nativeElement.getBoundingClientRect();\n this.overflowLeft = panelRect.left < tabBarRect.left;\n this.overflowRight = panelRect.right > tabBarRect.right;\n this.changeDetector.detectChanges();\n }\n\n private activeItemChange(): void {\n const { activeItemIndex, activeItem } = this.keyManager ?? {};\n this.activeItem = activeItem ?? null;\n this.selectedTabChanged.emit({ selectedIndex: activeItemIndex ?? -1, selectedTab: this.keyManager?.activeItem ?? null });\n }\n}\n","<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--prev\"\n [class.is-active]=\"overflowLeft\"\n (click)=\"keyManager?.setPreviousItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-left\"></odx-icon>\n</button>\n<div class=\"odx-tab-bar__inner\">\n <div class=\"odx-tab-bar__panel\" role=\"tablist\" #tabBarPanel>\n <ng-content></ng-content>\n <div class=\"odx-tab-bar__indicator\" [odxActiveIndicator]=\"activeItem?.element?.nativeElement\" odxActiveIndicatorPosition=\"start\"></div>\n </div>\n</div>\n<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--next\"\n [class.is-active]=\"overflowRight\"\n (click)=\"keyManager?.setNextItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-right\"></odx-icon>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { TabBarItemComponent } from './components';\nimport { TabBarComponent } from './tab-bar.component';\n\nconst modules = [TabBarComponent, TabBarItemComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class TabBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGO,MAAM,OAAO,GAAG,IAAI,cAAc,CAAkB,QAAQ,CAAC;;AC0BvD,IAAA,mBAAmB,GAAzB,MAAM,mBAAmB,CAAA;AAAzB,IAAA,WAAA,GAAA;AAGY,QAAA,IAAA,CAAA,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;AACjD,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5E,QAAA,IAAkB,CAAA,kBAAA,GAAG,cAAc,EAAE,CAAC;AAE7C,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAEX,QAAA,IAAA,CAAA,OAAO,GAA4B,MAAM,CAAC,UAAU,CAAC,CAAC;AAQ/D,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAuB,CAAC;KA4B3D;AArCC,IAAA,IAAW,QAAQ,GAAA;;QACjB,OAAO,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAA,CAAC;KAC5C;IASM,QAAQ,GAAA;;QACb,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAE,CAAA,SAAS,CAAC,MAAK;YACpG,IAAI,CAAC,OAAO,EAAE,CAAC;AACjB,SAAC,CAAC,CAAC;KACJ;IAEM,eAAe,GAAA;AACpB,QAAA,OAAO,CAAC,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;KACvC;IAEM,iBAAiB,GAAA;AACtB,QAAA,OAAO,CAAC,OAAO,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;KACxC;IAGS,OAAO,GAAA;QACf,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAChC;AAES,IAAA,WAAW,CAAC,KAAY,EAAA;QAChC,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;AAC5C,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;;gHAhDU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EATnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpB3C,oLAGA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDaY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AA6BrC,UAAA,CAAA;IAAC,SAAS,CAAC,qBAAqB,CAAC;;CAET,EAAA,mBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAlBb,mBAAmB,GAAA,UAAA,CAAA;IAjB/B,YAAY,CAAC,cAAc,CAAC;CAiBhB,EAAA,mBAAmB,CAiD/B,CAAA;2FAjDY,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAhB/B,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAChB,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,aAAa,CAAC,EAAA,aAAA,EAEvB,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,EACnC,IAAA,EAAA;AACJ,wBAAA,qBAAqB,EAAE,UAAU;AACjC,wBAAA,mBAAmB,EAAE,UAAU;AAC/B,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,qBAAqB,EAAE,UAAU;AACjC,wBAAA,IAAI,EAAE,KAAK;AACZ,qBAAA,EAAA,QAAA,EAAA,oLAAA,EAAA,CAAA;8BAoBM,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,MAAM;gBAkBG,OAAO,EAAA,CAAA;sBADhB,YAAY;uBAAC,OAAO,CAAA;;;;AErBhB,IAAM,eAAe,GAArB,iBAAA,GAAA,MAAM,eAAe,CAAA;AAArB,IAAA,WAAA,GAAA;AAGY,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC3C,QAAA,IAAkB,CAAA,kBAAA,GAAG,cAAc,EAAE,CAAC;QACtC,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAEhD,QAAA,IAAU,CAAA,UAAA,GAA+B,IAAI,CAAC;AAaxC,QAAA,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAGnC,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAGrB,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAQtB,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAkB,CAAC;KA6DhE;IAnEC,IACW,aAAa,CAAC,KAAc,EAAA;QACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;KACxD;IAKM,eAAe,GAAA;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACxJ,QAAA,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CACxI,YAAY,CAAC,CAAC,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,CACtC,CAAC;AACF,QAAA,MAAM,uBAAuB,GAAG,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,IAAI,CACpG,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,KAAK,IAAI,CAAC,kBAAkB,CAAC,aAAa,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,CACtG,CAAC;QACF,MAAM,iBAAiB,GAAG,KAAK,CAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAC/D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAA,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAC,CACjF,CAAC;AACF,QAAA,KAAK,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;KACrH;AAEM,IAAA,YAAY,CAAC,IAAiC,EAAA;;AACnD,QAAA,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU;YAAE,OAAO;QACrC,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC,aAAa,CAAC,CAAC;KAC/C;AAEM,IAAA,UAAU,CAAC,IAAyB,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;YAAE,OAAO;AACrC,QAAA,OAAO,CAAC,MAAK,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,0CAAE,qBAAqB,EAAE,CAAA,EAAA,CAAC,CAAC;KACzD;AAGS,IAAA,SAAS,CAAC,KAAoB,EAAA;;QACtC,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,CAAC,KAAK,CAAC,CAAC;KACnC;IAEO,mBAAmB,GAAA;;QACzB,MAAM,aAAa,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC,aAAa,CAAC;AAC7D,QAAA,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AACtE,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AACzE,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;AACvG,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC3E,QAAA,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;YACjD,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1C,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAEO,qBAAqB,GAAA;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AACxD,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;KACrC;IAEO,gBAAgB,GAAA;;AACtB,QAAA,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,UAAU,GAAI,IAAI,CAAC;AACrC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,eAAe,KAAA,IAAA,IAAf,eAAe,KAAA,KAAA,CAAA,GAAf,eAAe,GAAI,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,EAAE,CAAC,CAAC;KAC1H;;4GA9FU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,GAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,SAAA,EANf,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAe,CAAC,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAuBhE,mBAAmB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9DtC,81BAwBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,wBAAwB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,0BAAA,EAAA,6BAAA,EAAA,4BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAgC/D,UAAA,CAAA;AAAC,IAAA,WAAW,EAAE;;CACc,EAAA,eAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAE5B,UAAA,CAAA;AAAC,IAAA,WAAW,EAAE;;CACe,EAAA,eAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AA1BlB,eAAe,GAAA,iBAAA,GAAA,UAAA,CAAA;IAd3B,YAAY,CAAC,SAAS,CAAC;CAcX,EAAA,eAAe,CA+F3B,CAAA;2FA/FY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAb3B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EACX,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,aAAa,EAAE,wBAAwB,CAAC,EAEjD,aAAA,EAAA,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,MAAK,eAAgB,CAAC,EAAE,CAAC,EAC3E,IAAA,EAAA;AACJ,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,QAAQ,EAAE,GAAG;AACd,qBAAA,EAAA,QAAA,EAAA,81BAAA,EAAA,CAAA;8BAcS,kBAAkB,EAAA,CAAA;sBAD3B,SAAS;uBAAC,aAAa,CAAA;gBAId,iBAAiB,EAAA,CAAA;sBAD1B,YAAY;uBAAC,WAAW,CAAA;gBAIf,IAAI,EAAA,CAAA;sBADb,eAAe;uBAAC,mBAAmB,CAAA;gBAM7B,YAAY,EAAA,EAAA,EAGZ,aAAa,EAAA,EAAA,EAGT,aAAa,EAAA,CAAA;sBADvB,KAAK;gBAMC,kBAAkB,EAAA,CAAA;sBADxB,MAAM;gBA+BG,SAAS,EAAA,CAAA;sBADlB,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AEvGrC,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;MAM1C,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0GAAZ,YAAY,EAAA,OAAA,EAAA,CANR,eAAe,EAAE,mBAAmB,aAIzC,UAAU,EAJL,eAAe,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA;0GAMxC,YAAY,EAAA,OAAA,EAAA,CAHd,OAAO,EACN,UAAU,CAAA,EAAA,CAAA,CAAA;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;iBAClC,CAAA;;;ACVD;;AAEG;;;;"}