@odx/angular 1.0.0-rc.1 → 1.0.0-rc.10

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 (920) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +43 -0
  3. package/animations/index.d.ts +4 -2
  4. package/animations/{config.d.ts → lib/config.d.ts} +0 -0
  5. package/animations/lib/expand.d.ts +2 -0
  6. package/animations/{fade.d.ts → lib/fade.d.ts} +0 -0
  7. package/animations/{slide.d.ts → lib/slide.d.ts} +0 -0
  8. package/animations/lib/wait-for-child-animations.d.ts +1 -0
  9. package/cdk/a11y/README.md +3 -0
  10. package/cdk/a11y/index.d.ts +2 -0
  11. package/cdk/a11y/lib/a11y.module.d.ts +11 -0
  12. package/cdk/a11y/lib/directives/index.d.ts +3 -0
  13. package/cdk/a11y/lib/directives/interactive.directive.d.ts +11 -0
  14. package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +11 -0
  15. package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +12 -0
  16. package/cdk/active-indicator/README.md +3 -0
  17. package/cdk/active-indicator/index.d.ts +2 -0
  18. package/cdk/active-indicator/lib/active-indicator.directive.d.ts +25 -0
  19. package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +5 -0
  20. package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +6 -0
  21. package/cdk/active-indicator/lib/models/index.d.ts +2 -0
  22. package/cdk/checkbox-control/README.md +3 -0
  23. package/cdk/checkbox-control/index.d.ts +1 -0
  24. package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +15 -0
  25. package/cdk/connected-overlay/README.md +3 -0
  26. package/cdk/connected-overlay/index.d.ts +3 -0
  27. package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +28 -0
  28. package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +10 -0
  29. package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +3 -0
  30. package/cdk/connected-overlay/lib/helpers/index.d.ts +1 -0
  31. package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +25 -0
  32. package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +12 -0
  33. package/cdk/connected-overlay/lib/models/index.d.ts +2 -0
  34. package/cdk/custom-form-control/README.md +3 -0
  35. package/cdk/custom-form-control/index.d.ts +2 -0
  36. package/{lib/directives → cdk/custom-form-control/lib}/control.directive.d.ts +2 -4
  37. package/cdk/custom-form-control/lib/custom-form-control.d.ts +32 -0
  38. package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +4 -4
  39. package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +4 -2
  40. package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +1 -0
  41. package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +1 -1
  42. package/cdk/dynamic-view/lib/facade/dynamic-view-ref.d.ts +2 -1
  43. package/cdk/dynamic-view/lib/facade/index.d.ts +0 -1
  44. package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +2 -0
  45. package/cdk/dynamic-view/lib/helpers/index.d.ts +1 -2
  46. package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +6 -3
  47. package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +2 -1
  48. package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +7 -3
  49. package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +3 -0
  50. package/cdk/dynamic-view/lib/tokens/index.d.ts +1 -0
  51. package/cdk/expandable/README.md +3 -0
  52. package/cdk/expandable/index.d.ts +4 -0
  53. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +18 -0
  54. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +13 -0
  55. package/cdk/expandable/lib/directives/index.d.ts +2 -0
  56. package/cdk/expandable/lib/expandable.module.d.ts +8 -0
  57. package/cdk/expandable/lib/expandable.tokens.d.ts +3 -0
  58. package/cdk/expandable/lib/facade/expandable-container.d.ts +6 -0
  59. package/cdk/expandable/lib/facade/expandable-item.d.ts +7 -0
  60. package/cdk/expandable/lib/facade/index.d.ts +2 -0
  61. package/cdk/radio-group-control/README.md +3 -0
  62. package/cdk/radio-group-control/index.d.ts +3 -0
  63. package/cdk/radio-group-control/lib/radio-control.directive.d.ts +13 -0
  64. package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +10 -0
  65. package/cdk/radio-group-control/lib/radio-group-control.module.d.ts +9 -0
  66. package/components/accordion/README.md +3 -0
  67. package/components/accordion/index.d.ts +4 -0
  68. package/components/accordion/lib/accordion.component.d.ts +7 -0
  69. package/components/accordion/lib/accordion.module.d.ts +10 -0
  70. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +16 -0
  71. package/components/accordion/lib/components/index.d.ts +1 -0
  72. package/components/accordion/lib/directives/accordion-item-title.d.ts +5 -0
  73. package/components/accordion/lib/directives/index.d.ts +1 -0
  74. package/components/action-group/action-group.component.d.ts +2 -4
  75. package/components/area-header/area-header.component.d.ts +2 -4
  76. package/components/area-header/area-header.module.d.ts +2 -1
  77. package/components/area-header/directives/area-header-content.directive.d.ts +1 -1
  78. package/components/area-header/directives/area-header-subtitle.directive.d.ts +1 -1
  79. package/components/avatar/lib/avatar.component.d.ts +4 -5
  80. package/components/avatar/lib/models/avatar-variant.d.ts +5 -0
  81. package/components/avatar/lib/models/index.d.ts +1 -0
  82. package/components/badge/lib/badge.component.d.ts +8 -20
  83. package/components/badge/lib/badge.directive.d.ts +17 -14
  84. package/components/badge/lib/models/index.d.ts +0 -1
  85. package/components/bar/README.md +3 -0
  86. package/components/bar/index.d.ts +5 -0
  87. package/components/bar/lib/bar.component.d.ts +6 -0
  88. package/components/bar/lib/bar.module.d.ts +10 -0
  89. package/components/bar/lib/directives/bar-button.directive.d.ts +10 -0
  90. package/components/bar/lib/directives/bar-label.directive.d.ts +6 -0
  91. package/components/bar/lib/models/bar-button-variant.d.ts +5 -0
  92. package/components/breadcrumbs/README.md +3 -0
  93. package/components/breadcrumbs/index.d.ts +1 -0
  94. package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +17 -0
  95. package/components/button/lib/button.component.d.ts +6 -15
  96. package/components/button/lib/models/button-size.d.ts +5 -0
  97. package/components/button/lib/models/index.d.ts +1 -0
  98. package/components/button-group/README.md +3 -0
  99. package/components/button-group/index.d.ts +1 -0
  100. package/components/button-group/lib/button-group.component.d.ts +15 -0
  101. package/components/checkbox/index.d.ts +2 -0
  102. package/components/checkbox/lib/checkbox.component.d.ts +6 -12
  103. package/components/checkbox/lib/checkbox.module.d.ts +9 -0
  104. package/components/checkbox/lib/checkbox.validator.d.ts +6 -0
  105. package/components/chip/README.md +3 -0
  106. package/components/chip/index.d.ts +2 -0
  107. package/components/chip/lib/chip.component.d.ts +15 -0
  108. package/components/chip/lib/models/chip-size.d.ts +5 -0
  109. package/components/chip/lib/models/chip-variant.d.ts +7 -0
  110. package/components/chip/lib/models/index.d.ts +2 -0
  111. package/components/circular-progress/README.md +3 -0
  112. package/components/circular-progress/index.d.ts +2 -0
  113. package/components/circular-progress/lib/circular-progress.component.d.ts +29 -0
  114. package/components/circular-progress/lib/models/circular-progress-size.d.ts +7 -0
  115. package/components/circular-progress/lib/models/index.d.ts +1 -0
  116. package/components/content-box/lib/content-box.component.d.ts +1 -1
  117. package/components/content-box/lib/directives/content-box-footer-directive.d.ts +1 -1
  118. package/components/content-box/lib/directives/content-box-header-directive.d.ts +1 -1
  119. package/components/dropdown/README.md +3 -0
  120. package/components/dropdown/index.d.ts +5 -0
  121. package/components/dropdown/lib/dropdown.component.d.ts +12 -0
  122. package/components/dropdown/lib/dropdown.directive.d.ts +42 -0
  123. package/components/dropdown/lib/dropdown.module.d.ts +8 -0
  124. package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +1 -0
  125. package/components/dropdown/lib/helpers/index.d.ts +1 -0
  126. package/components/dropdown/lib/models/close-dropdown-event.d.ts +4 -0
  127. package/components/dropdown/lib/models/dropdown-options.d.ts +3 -0
  128. package/components/dropdown/lib/models/index.d.ts +2 -0
  129. package/components/form-field/README.md +3 -0
  130. package/components/form-field/index.d.ts +6 -0
  131. package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +9 -0
  132. package/components/form-field/lib/components/form-group/form-group.component.d.ts +13 -0
  133. package/components/form-field/lib/components/index.d.ts +2 -0
  134. package/components/form-field/lib/directives/form-field-control.directive.d.ts +21 -0
  135. package/components/form-field/lib/directives/form-field-error.directive.d.ts +10 -0
  136. package/components/form-field/lib/directives/form-field-hint.directive.d.ts +8 -0
  137. package/components/form-field/lib/directives/form-field-label.directive.d.ts +6 -0
  138. package/components/form-field/lib/directives/form.directive.d.ts +9 -0
  139. package/components/form-field/lib/directives/index.d.ts +5 -0
  140. package/components/form-field/lib/form-field.component.d.ts +19 -0
  141. package/components/form-field/lib/form-field.config.d.ts +14 -0
  142. package/components/form-field/lib/form-field.module.d.ts +18 -0
  143. package/components/form-field/lib/form-field.service.d.ts +30 -0
  144. package/components/form-field/lib/models/form-field-error-resolver.d.ts +27 -0
  145. package/components/form-field/lib/models/form-field-error.d.ts +7 -0
  146. package/components/form-field/lib/models/index.d.ts +2 -0
  147. package/components/form-field/lib/services/form-field-error.service.d.ts +18 -0
  148. package/components/form-field/lib/services/index.d.ts +1 -0
  149. package/components/header/lib/directives/header-avatar.directive.d.ts +5 -2
  150. package/components/header/lib/directives/header-title.directive.d.ts +1 -1
  151. package/components/header/lib/header.component.d.ts +2 -4
  152. package/components/header/lib/header.module.d.ts +2 -2
  153. package/components/icon/lib/icon.component.d.ts +9 -5
  154. package/components/icon/lib/models/icon-size.d.ts +2 -1
  155. package/components/inline-message/README.md +3 -0
  156. package/components/inline-message/index.d.ts +2 -0
  157. package/components/inline-message/lib/inline-message.component.d.ts +9 -0
  158. package/components/inline-message/lib/models/index.d.ts +1 -0
  159. package/components/inline-message/lib/models/inline-message-variant.d.ts +7 -0
  160. package/components/launch-tile/README.md +3 -0
  161. package/components/launch-tile/index.d.ts +3 -0
  162. package/components/launch-tile/lib/components/index.d.ts +2 -0
  163. package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +5 -0
  164. package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +5 -0
  165. package/components/launch-tile/lib/launch-tile.component.d.ts +13 -0
  166. package/components/launch-tile/lib/launch-tile.module.d.ts +14 -0
  167. package/components/link/link.directive.d.ts +3 -7
  168. package/components/list/README.md +3 -0
  169. package/components/list/index.d.ts +3 -0
  170. package/components/list/lib/components/index.d.ts +1 -0
  171. package/components/list/lib/components/list-item/list-item.component.d.ts +12 -0
  172. package/components/list/lib/list.component.d.ts +6 -0
  173. package/components/list/lib/list.module.d.ts +9 -0
  174. package/components/loading-spinner/README.md +3 -0
  175. package/components/loading-spinner/index.d.ts +3 -0
  176. package/components/loading-spinner/lib/loading-spinner.component.d.ts +15 -0
  177. package/components/loading-spinner/lib/loading-spinner.directive.d.ts +25 -0
  178. package/components/loading-spinner/lib/loading-spinner.module.d.ts +9 -0
  179. package/components/logo/logo.directive.d.ts +2 -4
  180. package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +2 -5
  181. package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +8 -6
  182. package/components/main-menu/lib/main-menu.component.d.ts +5 -5
  183. package/components/main-menu/lib/main-menu.module.d.ts +6 -6
  184. package/components/menu/README.md +3 -0
  185. package/components/menu/index.d.ts +4 -0
  186. package/components/menu/lib/directives/index.d.ts +1 -0
  187. package/components/menu/lib/directives/menu-item.directive.d.ts +9 -0
  188. package/components/menu/lib/menu.component.d.ts +8 -0
  189. package/components/menu/lib/menu.directive.d.ts +15 -0
  190. package/components/menu/lib/menu.module.d.ts +10 -0
  191. package/components/modal/README.md +3 -0
  192. package/components/modal/index.d.ts +8 -0
  193. package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +10 -0
  194. package/components/modal/lib/components/index.d.ts +4 -0
  195. package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +6 -0
  196. package/components/modal/lib/components/modal-header/modal-header.component.d.ts +12 -0
  197. package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +11 -0
  198. package/components/modal/lib/directives/index.d.ts +3 -0
  199. package/components/modal/lib/directives/modal-close.directive.d.ts +8 -0
  200. package/components/modal/lib/directives/modal-content.directive.d.ts +6 -0
  201. package/components/modal/lib/directives/modal-dismiss.directive.d.ts +7 -0
  202. package/components/modal/lib/helpers/index.d.ts +2 -0
  203. package/components/modal/lib/helpers/inject-modal-ref.d.ts +2 -0
  204. package/components/modal/lib/helpers/provide-modal-ref.d.ts +3 -0
  205. package/components/modal/lib/modal.component.d.ts +21 -0
  206. package/components/modal/lib/modal.config.d.ts +3 -0
  207. package/components/modal/lib/modal.directive.d.ts +18 -0
  208. package/components/modal/lib/modal.module.d.ts +22 -0
  209. package/components/modal/lib/modal.service.d.ts +23 -0
  210. package/components/modal/lib/models/basic-modal-options.d.ts +17 -0
  211. package/components/modal/lib/models/index.d.ts +7 -0
  212. package/components/modal/lib/models/modal-hero-variant.d.ts +7 -0
  213. package/components/modal/lib/models/modal-options.d.ts +15 -0
  214. package/components/modal/lib/models/modal-ref.d.ts +20 -0
  215. package/components/modal/lib/models/modal-size.d.ts +6 -0
  216. package/components/modal/lib/models/modal-type.d.ts +8 -0
  217. package/components/modal/lib/models/modal-variant.d.ts +5 -0
  218. package/components/progress/README.md +3 -0
  219. package/components/progress/index.d.ts +1 -0
  220. package/components/progress/lib/progress.component.d.ts +14 -0
  221. package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +4 -11
  222. package/components/radio-group/lib/radio-group.component.d.ts +4 -6
  223. package/components/radio-group/lib/radio-group.module.d.ts +4 -4
  224. package/components/rail-navigation/README.md +3 -0
  225. package/components/rail-navigation/index.d.ts +3 -0
  226. package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +13 -0
  227. package/components/rail-navigation/lib/rail-navigation.component.d.ts +14 -0
  228. package/components/rail-navigation/lib/rail-navigation.module.d.ts +9 -0
  229. package/components/select/README.md +3 -0
  230. package/components/select/index.d.ts +7 -0
  231. package/components/select/lib/abstract/index.d.ts +2 -0
  232. package/components/select/lib/abstract/select-control-option.d.ts +7 -0
  233. package/components/select/lib/abstract/select-control.d.ts +11 -0
  234. package/components/select/lib/components/index.d.ts +1 -0
  235. package/components/select/lib/components/option/option.component.d.ts +22 -0
  236. package/components/select/lib/directives/index.d.ts +1 -0
  237. package/components/select/lib/directives/select-search-field.directive.d.ts +13 -0
  238. package/components/select/lib/pipes/index.d.ts +1 -0
  239. package/components/select/lib/pipes/select-search-filter.pipe.d.ts +13 -0
  240. package/components/select/lib/select.component.d.ts +50 -0
  241. package/components/select/lib/select.module.d.ts +11 -0
  242. package/components/select/lib/select.tokens.d.ts +3 -0
  243. package/components/slider/README.md +3 -0
  244. package/components/slider/index.d.ts +1 -0
  245. package/components/slider/lib/slider.directive.d.ts +12 -0
  246. package/components/spinbox/README.md +3 -0
  247. package/components/spinbox/index.d.ts +1 -0
  248. package/components/spinbox/lib/spinbox.component.d.ts +25 -0
  249. package/components/switch/README.md +3 -0
  250. package/components/switch/index.d.ts +3 -0
  251. package/components/switch/lib/switch.component.d.ts +7 -0
  252. package/components/switch/lib/switch.module.d.ts +9 -0
  253. package/components/switch/lib/switch.validator.d.ts +6 -0
  254. package/components/tab-bar/README.md +3 -0
  255. package/components/tab-bar/index.d.ts +4 -0
  256. package/components/tab-bar/lib/components/index.d.ts +1 -0
  257. package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +20 -0
  258. package/components/tab-bar/lib/models/index.d.ts +1 -0
  259. package/components/tab-bar/lib/models/tab-change-event.d.ts +5 -0
  260. package/components/tab-bar/lib/tab-bar.component.d.ts +31 -0
  261. package/components/tab-bar/lib/tab-bar.config.d.ts +3 -0
  262. package/components/tab-bar/lib/tab-bar.module.d.ts +9 -0
  263. package/components/toast/README.md +3 -0
  264. package/components/toast/index.d.ts +5 -0
  265. package/components/toast/lib/components/index.d.ts +2 -0
  266. package/components/toast/lib/components/toast-container/toast-container.component.d.ts +23 -0
  267. package/components/toast/lib/components/toast-item/toast-item.component.d.ts +20 -0
  268. package/components/toast/lib/models/index.d.ts +5 -0
  269. package/components/toast/lib/models/toast-action.d.ts +7 -0
  270. package/components/toast/lib/models/toast-ref.d.ts +7 -0
  271. package/components/toast/lib/models/toast-variant.d.ts +7 -0
  272. package/components/toast/lib/models/toast.d.ts +10 -0
  273. package/components/toast/lib/models/toast.options.d.ts +4 -0
  274. package/components/toast/lib/toast.config.d.ts +3 -0
  275. package/components/toast/lib/toast.module.d.ts +13 -0
  276. package/components/toast/lib/toast.service.d.ts +16 -0
  277. package/components/toggle-button-group/README.md +3 -0
  278. package/components/toggle-button-group/index.d.ts +3 -0
  279. package/components/toggle-button-group/lib/components/index.d.ts +1 -0
  280. package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +7 -0
  281. package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +11 -0
  282. package/components/toggle-button-group/lib/toggle-button-group.module.d.ts +9 -0
  283. package/components/tooltip/README.md +3 -0
  284. package/components/tooltip/index.d.ts +3 -0
  285. package/components/tooltip/lib/helpers/index.d.ts +1 -0
  286. package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +2 -0
  287. package/components/tooltip/lib/models/index.d.ts +3 -0
  288. package/components/tooltip/lib/models/tooltip-options.d.ts +10 -0
  289. package/components/tooltip/lib/models/tooltip-size.d.ts +7 -0
  290. package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -0
  291. package/components/tooltip/lib/tooltip.component.d.ts +12 -0
  292. package/components/tooltip/lib/tooltip.directive.d.ts +33 -0
  293. package/esm2020/animations/index.mjs +5 -3
  294. package/esm2020/animations/lib/config.mjs +8 -0
  295. package/esm2020/animations/lib/expand.mjs +14 -0
  296. package/esm2020/animations/lib/fade.mjs +9 -0
  297. package/esm2020/animations/lib/slide.mjs +34 -0
  298. package/esm2020/animations/lib/wait-for-child-animations.mjs +3 -0
  299. package/esm2020/cdk/a11y/index.mjs +3 -0
  300. package/esm2020/cdk/a11y/lib/a11y.module.mjs +19 -0
  301. package/esm2020/cdk/a11y/lib/directives/index.mjs +4 -0
  302. package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +49 -0
  303. package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +28 -0
  304. package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +40 -0
  305. package/esm2020/cdk/a11y/odx-angular-cdk-a11y.mjs +5 -0
  306. package/esm2020/cdk/active-indicator/index.mjs +3 -0
  307. package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +128 -0
  308. package/esm2020/cdk/active-indicator/lib/models/active-indicator-direction.mjs +5 -0
  309. package/esm2020/cdk/active-indicator/lib/models/active-indicator-position.mjs +6 -0
  310. package/esm2020/cdk/active-indicator/lib/models/index.mjs +3 -0
  311. package/esm2020/cdk/active-indicator/odx-angular-cdk-active-indicator.mjs +5 -0
  312. package/esm2020/cdk/checkbox-control/index.mjs +2 -0
  313. package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +41 -0
  314. package/esm2020/cdk/checkbox-control/odx-angular-cdk-checkbox-control.mjs +5 -0
  315. package/esm2020/cdk/connected-overlay/index.mjs +4 -0
  316. package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +116 -0
  317. package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +25 -0
  318. package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +55 -0
  319. package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +2 -0
  320. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +12 -0
  321. package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +15 -0
  322. package/esm2020/cdk/connected-overlay/lib/models/index.mjs +3 -0
  323. package/esm2020/cdk/connected-overlay/odx-angular-cdk-connected-overlay.mjs +5 -0
  324. package/esm2020/cdk/custom-form-control/index.mjs +3 -0
  325. package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +19 -0
  326. package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +94 -0
  327. package/esm2020/cdk/custom-form-control/odx-angular-cdk-custom-form-control.mjs +5 -0
  328. package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +23 -14
  329. package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +31 -16
  330. package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +11 -9
  331. package/esm2020/cdk/dynamic-view/lib/facade/dynamic-content.mjs +1 -1
  332. package/esm2020/cdk/dynamic-view/lib/facade/dynamic-view-ref.mjs +1 -1
  333. package/esm2020/cdk/dynamic-view/lib/facade/index.mjs +1 -2
  334. package/esm2020/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +9 -0
  335. package/esm2020/cdk/dynamic-view/lib/helpers/index.mjs +2 -3
  336. package/esm2020/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.mjs +2 -2
  337. package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +32 -12
  338. package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +17 -7
  339. package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
  340. package/esm2020/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +10 -0
  341. package/esm2020/cdk/dynamic-view/lib/tokens/index.mjs +2 -1
  342. package/esm2020/cdk/expandable/index.mjs +5 -0
  343. package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +47 -0
  344. package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +41 -0
  345. package/esm2020/cdk/expandable/lib/directives/index.mjs +3 -0
  346. package/esm2020/cdk/expandable/lib/expandable.module.mjs +17 -0
  347. package/esm2020/cdk/expandable/lib/expandable.tokens.mjs +3 -0
  348. package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +2 -0
  349. package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +2 -0
  350. package/esm2020/cdk/expandable/lib/facade/index.mjs +3 -0
  351. package/esm2020/cdk/expandable/odx-angular-cdk-expandable.mjs +5 -0
  352. package/esm2020/cdk/radio-group-control/index.mjs +4 -0
  353. package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +39 -0
  354. package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +43 -0
  355. package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +19 -0
  356. package/esm2020/cdk/radio-group-control/odx-angular-cdk-radio-group-control.mjs +5 -0
  357. package/esm2020/components/accordion/index.mjs +5 -0
  358. package/esm2020/components/accordion/lib/accordion.component.mjs +24 -0
  359. package/esm2020/components/accordion/lib/accordion.module.mjs +20 -0
  360. package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +56 -0
  361. package/esm2020/components/accordion/lib/components/index.mjs +2 -0
  362. package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +14 -0
  363. package/esm2020/components/accordion/lib/directives/index.mjs +2 -0
  364. package/esm2020/components/accordion/odx-angular-components-accordion.mjs +5 -0
  365. package/esm2020/components/action-group/action-group.component.mjs +15 -18
  366. package/esm2020/components/area-header/area-header.component.mjs +11 -11
  367. package/esm2020/components/area-header/area-header.module.mjs +9 -8
  368. package/esm2020/components/area-header/directives/area-header-content.directive.mjs +4 -5
  369. package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +4 -5
  370. package/esm2020/components/avatar/lib/avatar.component.mjs +19 -11
  371. package/esm2020/components/avatar/lib/models/avatar-variant.mjs +5 -0
  372. package/esm2020/components/avatar/lib/models/index.mjs +2 -1
  373. package/esm2020/components/badge/lib/badge.component.mjs +20 -70
  374. package/esm2020/components/badge/lib/badge.directive.mjs +52 -27
  375. package/esm2020/components/badge/lib/models/index.mjs +1 -2
  376. package/esm2020/components/bar/index.mjs +6 -0
  377. package/esm2020/components/bar/lib/bar.component.mjs +21 -0
  378. package/esm2020/components/bar/lib/bar.module.mjs +20 -0
  379. package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +39 -0
  380. package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +24 -0
  381. package/esm2020/components/bar/lib/models/bar-button-variant.mjs +5 -0
  382. package/esm2020/components/bar/odx-angular-components-bar.mjs +5 -0
  383. package/esm2020/components/breadcrumbs/index.mjs +2 -0
  384. package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +50 -0
  385. package/esm2020/components/breadcrumbs/odx-angular-components-breadcrumbs.mjs +5 -0
  386. package/esm2020/components/button/lib/button.component.mjs +24 -35
  387. package/esm2020/components/button/lib/models/button-size.mjs +5 -0
  388. package/esm2020/components/button/lib/models/index.mjs +2 -1
  389. package/esm2020/components/button-group/index.mjs +2 -0
  390. package/esm2020/components/button-group/lib/button-group.component.mjs +54 -0
  391. package/esm2020/components/button-group/odx-angular-components-button-group.mjs +5 -0
  392. package/esm2020/components/checkbox/index.mjs +3 -1
  393. package/esm2020/components/checkbox/lib/checkbox.component.mjs +16 -32
  394. package/esm2020/components/checkbox/lib/checkbox.module.mjs +19 -0
  395. package/esm2020/components/checkbox/lib/checkbox.validator.mjs +28 -0
  396. package/esm2020/components/chip/index.mjs +3 -0
  397. package/esm2020/components/chip/lib/chip.component.mjs +54 -0
  398. package/esm2020/components/chip/lib/models/chip-size.mjs +5 -0
  399. package/esm2020/components/chip/lib/models/chip-variant.mjs +7 -0
  400. package/esm2020/components/chip/lib/models/index.mjs +3 -0
  401. package/esm2020/components/chip/odx-angular-components-chip.mjs +5 -0
  402. package/esm2020/components/circular-progress/index.mjs +3 -0
  403. package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +98 -0
  404. package/esm2020/components/circular-progress/lib/models/circular-progress-size.mjs +7 -0
  405. package/esm2020/components/circular-progress/lib/models/index.mjs +2 -0
  406. package/esm2020/components/circular-progress/odx-angular-components-circular-progress.mjs +5 -0
  407. package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
  408. package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
  409. package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +4 -5
  410. package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +4 -5
  411. package/esm2020/components/dropdown/index.mjs +6 -0
  412. package/esm2020/components/dropdown/lib/dropdown.component.mjs +40 -0
  413. package/esm2020/components/dropdown/lib/dropdown.directive.mjs +156 -0
  414. package/esm2020/components/dropdown/lib/dropdown.module.mjs +18 -0
  415. package/esm2020/components/dropdown/lib/helpers/close-current-dropdown.mjs +5 -0
  416. package/esm2020/components/dropdown/lib/helpers/index.mjs +2 -0
  417. package/esm2020/components/dropdown/lib/models/close-dropdown-event.mjs +7 -0
  418. package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +8 -0
  419. package/esm2020/components/dropdown/lib/models/index.mjs +3 -0
  420. package/esm2020/components/dropdown/odx-angular-components-dropdown.mjs +5 -0
  421. package/esm2020/components/form-field/index.mjs +7 -0
  422. package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +24 -0
  423. package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +34 -0
  424. package/esm2020/components/form-field/lib/components/index.mjs +3 -0
  425. package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +75 -0
  426. package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +25 -0
  427. package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +23 -0
  428. package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +24 -0
  429. package/esm2020/components/form-field/lib/directives/form.directive.mjs +28 -0
  430. package/esm2020/components/form-field/lib/directives/index.mjs +6 -0
  431. package/esm2020/components/form-field/lib/form-field.component.mjs +48 -0
  432. package/esm2020/components/form-field/lib/form-field.config.mjs +6 -0
  433. package/esm2020/components/form-field/lib/form-field.module.mjs +49 -0
  434. package/esm2020/components/form-field/lib/form-field.service.mjs +53 -0
  435. package/esm2020/components/form-field/lib/models/form-field-error-resolver.mjs +2 -0
  436. package/esm2020/components/form-field/lib/models/form-field-error.mjs +2 -0
  437. package/esm2020/components/form-field/lib/models/index.mjs +3 -0
  438. package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +56 -0
  439. package/esm2020/components/form-field/lib/services/index.mjs +2 -0
  440. package/esm2020/components/form-field/odx-angular-components-form-field.mjs +5 -0
  441. package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +13 -6
  442. package/esm2020/components/header/lib/directives/header-title.directive.mjs +4 -5
  443. package/esm2020/components/header/lib/header.component.mjs +12 -13
  444. package/esm2020/components/header/lib/header.module.mjs +10 -14
  445. package/esm2020/components/icon/lib/icon.component.mjs +36 -12
  446. package/esm2020/components/icon/lib/models/icon-size.mjs +2 -1
  447. package/esm2020/components/inline-message/index.mjs +3 -0
  448. package/esm2020/components/inline-message/lib/inline-message.component.mjs +43 -0
  449. package/esm2020/components/inline-message/lib/models/index.mjs +2 -0
  450. package/esm2020/components/inline-message/lib/models/inline-message-variant.mjs +7 -0
  451. package/esm2020/components/inline-message/odx-angular-components-inline-message.mjs +5 -0
  452. package/esm2020/components/launch-tile/index.mjs +4 -0
  453. package/esm2020/components/launch-tile/lib/components/index.mjs +3 -0
  454. package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +13 -0
  455. package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +13 -0
  456. package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +51 -0
  457. package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +23 -0
  458. package/esm2020/components/launch-tile/odx-angular-components-launch-tile.mjs +5 -0
  459. package/esm2020/components/link/link.directive.mjs +14 -25
  460. package/esm2020/components/list/index.mjs +4 -0
  461. package/esm2020/components/list/lib/components/index.mjs +2 -0
  462. package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +40 -0
  463. package/esm2020/components/list/lib/list.component.mjs +21 -0
  464. package/esm2020/components/list/lib/list.module.mjs +19 -0
  465. package/esm2020/components/list/odx-angular-components-list.mjs +5 -0
  466. package/esm2020/components/loading-spinner/index.mjs +4 -0
  467. package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +58 -0
  468. package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +91 -0
  469. package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +19 -0
  470. package/esm2020/components/loading-spinner/odx-angular-components-loading-spinner.mjs +5 -0
  471. package/esm2020/components/logo/logo.directive.mjs +10 -11
  472. package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +12 -13
  473. package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +25 -20
  474. package/esm2020/components/main-menu/lib/main-menu.component.mjs +26 -26
  475. package/esm2020/components/main-menu/lib/main-menu.module.mjs +7 -7
  476. package/esm2020/components/main-menu/lib/main-menu.service.mjs +5 -5
  477. package/esm2020/components/menu/index.mjs +5 -0
  478. package/esm2020/components/menu/lib/directives/index.mjs +2 -0
  479. package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +39 -0
  480. package/esm2020/components/menu/lib/menu.component.mjs +35 -0
  481. package/esm2020/components/menu/lib/menu.directive.mjs +51 -0
  482. package/esm2020/components/menu/lib/menu.module.mjs +20 -0
  483. package/esm2020/components/menu/odx-angular-components-menu.mjs +5 -0
  484. package/esm2020/components/modal/index.mjs +9 -0
  485. package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +42 -0
  486. package/esm2020/components/modal/lib/components/index.mjs +5 -0
  487. package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +21 -0
  488. package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +40 -0
  489. package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +39 -0
  490. package/esm2020/components/modal/lib/directives/index.mjs +4 -0
  491. package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +34 -0
  492. package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +24 -0
  493. package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +24 -0
  494. package/esm2020/components/modal/lib/helpers/index.mjs +3 -0
  495. package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +6 -0
  496. package/esm2020/components/modal/lib/helpers/provide-modal-ref.mjs +5 -0
  497. package/esm2020/components/modal/lib/modal.component.mjs +86 -0
  498. package/esm2020/components/modal/lib/modal.config.mjs +10 -0
  499. package/esm2020/components/modal/lib/modal.directive.mjs +51 -0
  500. package/esm2020/components/modal/lib/modal.module.mjs +58 -0
  501. package/esm2020/components/modal/lib/modal.service.mjs +77 -0
  502. package/esm2020/components/modal/lib/models/basic-modal-options.mjs +2 -0
  503. package/esm2020/components/modal/lib/models/index.mjs +8 -0
  504. package/esm2020/components/modal/lib/models/modal-hero-variant.mjs +7 -0
  505. package/esm2020/components/modal/lib/models/modal-options.mjs +2 -0
  506. package/esm2020/components/modal/lib/models/modal-ref.mjs +48 -0
  507. package/esm2020/components/modal/lib/models/modal-size.mjs +6 -0
  508. package/esm2020/components/modal/lib/models/modal-type.mjs +2 -0
  509. package/esm2020/components/modal/lib/models/modal-variant.mjs +5 -0
  510. package/esm2020/components/modal/odx-angular-components-modal.mjs +5 -0
  511. package/esm2020/components/progress/index.mjs +2 -0
  512. package/esm2020/components/progress/lib/progress.component.mjs +51 -0
  513. package/esm2020/components/progress/odx-angular-components-progress.mjs +5 -0
  514. package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +20 -40
  515. package/esm2020/components/radio-group/lib/radio-group.component.mjs +33 -16
  516. package/esm2020/components/radio-group/lib/radio-group.module.mjs +7 -7
  517. package/esm2020/components/rail-navigation/index.mjs +4 -0
  518. package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +38 -0
  519. package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +47 -0
  520. package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +19 -0
  521. package/esm2020/components/rail-navigation/odx-angular-components-rail-navigation.mjs +5 -0
  522. package/esm2020/components/select/index.mjs +8 -0
  523. package/esm2020/components/select/lib/abstract/index.mjs +3 -0
  524. package/esm2020/components/select/lib/abstract/select-control-option.mjs +2 -0
  525. package/esm2020/components/select/lib/abstract/select-control.mjs +2 -0
  526. package/esm2020/components/select/lib/components/index.mjs +2 -0
  527. package/esm2020/components/select/lib/components/option/option.component.mjs +77 -0
  528. package/esm2020/components/select/lib/directives/index.mjs +2 -0
  529. package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +47 -0
  530. package/esm2020/components/select/lib/pipes/index.mjs +2 -0
  531. package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +51 -0
  532. package/esm2020/components/select/lib/select.component.mjs +186 -0
  533. package/esm2020/components/select/lib/select.module.mjs +21 -0
  534. package/esm2020/components/select/lib/select.tokens.mjs +3 -0
  535. package/esm2020/components/select/odx-angular-components-select.mjs +5 -0
  536. package/esm2020/components/slider/index.mjs +2 -0
  537. package/esm2020/components/slider/lib/slider.directive.mjs +42 -0
  538. package/esm2020/components/slider/odx-angular-components-slider.mjs +5 -0
  539. package/esm2020/components/spinbox/index.mjs +2 -0
  540. package/esm2020/components/spinbox/lib/spinbox.component.mjs +91 -0
  541. package/esm2020/components/spinbox/odx-angular-components-spinbox.mjs +5 -0
  542. package/esm2020/components/switch/index.mjs +4 -0
  543. package/esm2020/components/switch/lib/switch.component.mjs +23 -0
  544. package/esm2020/components/switch/lib/switch.module.mjs +19 -0
  545. package/esm2020/components/switch/lib/switch.validator.mjs +28 -0
  546. package/esm2020/components/switch/odx-angular-components-switch.mjs +5 -0
  547. package/esm2020/components/tab-bar/index.mjs +5 -0
  548. package/esm2020/components/tab-bar/lib/components/index.mjs +2 -0
  549. package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +70 -0
  550. package/esm2020/components/tab-bar/lib/models/index.mjs +2 -0
  551. package/esm2020/components/tab-bar/lib/models/tab-change-event.mjs +2 -0
  552. package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +115 -0
  553. package/esm2020/components/tab-bar/lib/tab-bar.config.mjs +3 -0
  554. package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +19 -0
  555. package/esm2020/components/tab-bar/odx-angular-components-tab-bar.mjs +5 -0
  556. package/esm2020/components/toast/index.mjs +6 -0
  557. package/esm2020/components/toast/lib/components/index.mjs +3 -0
  558. package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +87 -0
  559. package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +74 -0
  560. package/esm2020/components/toast/lib/models/index.mjs +6 -0
  561. package/esm2020/components/toast/lib/models/toast-action.mjs +2 -0
  562. package/esm2020/components/toast/lib/models/toast-ref.mjs +2 -0
  563. package/esm2020/components/toast/lib/models/toast-variant.mjs +7 -0
  564. package/esm2020/components/toast/lib/models/toast.mjs +2 -0
  565. package/esm2020/components/toast/lib/models/toast.options.mjs +2 -0
  566. package/esm2020/components/toast/lib/toast.config.mjs +6 -0
  567. package/esm2020/components/toast/lib/toast.module.mjs +26 -0
  568. package/esm2020/components/toast/lib/toast.service.mjs +38 -0
  569. package/esm2020/components/toast/odx-angular-components-toast.mjs +5 -0
  570. package/esm2020/components/toggle-button-group/index.mjs +4 -0
  571. package/esm2020/components/toggle-button-group/lib/components/index.mjs +2 -0
  572. package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +26 -0
  573. package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +50 -0
  574. package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +19 -0
  575. package/esm2020/components/toggle-button-group/odx-angular-components-toggle-button-group.mjs +5 -0
  576. package/esm2020/components/tooltip/index.mjs +4 -0
  577. package/esm2020/components/tooltip/lib/helpers/index.mjs +2 -0
  578. package/esm2020/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +9 -0
  579. package/esm2020/components/tooltip/lib/models/index.mjs +4 -0
  580. package/esm2020/components/tooltip/lib/models/tooltip-options.mjs +10 -0
  581. package/esm2020/components/tooltip/lib/models/tooltip-size.mjs +7 -0
  582. package/esm2020/components/tooltip/lib/models/tooltip-trigger.mjs +2 -0
  583. package/esm2020/components/tooltip/lib/tooltip.component.mjs +39 -0
  584. package/esm2020/components/tooltip/lib/tooltip.directive.mjs +132 -0
  585. package/esm2020/components/tooltip/odx-angular-components-tooltip.mjs +5 -0
  586. package/esm2020/index.mjs +2 -2
  587. package/esm2020/internal/decorators/css-modifier.mjs +6 -5
  588. package/esm2020/internal/helpers/camel-to-kebab-case.mjs +12 -0
  589. package/esm2020/internal/helpers/index.mjs +2 -4
  590. package/esm2020/internal/index.mjs +1 -4
  591. package/esm2020/lib/controllers/controller.mjs +39 -0
  592. package/esm2020/lib/controllers/disabled.controller.mjs +32 -46
  593. package/esm2020/lib/controllers/index.mjs +3 -1
  594. package/esm2020/lib/controllers/readonly.controller.mjs +69 -0
  595. package/esm2020/lib/core.module.mjs +11 -10
  596. package/esm2020/lib/directives/click-outside.directive.mjs +59 -0
  597. package/esm2020/lib/directives/index.mjs +5 -3
  598. package/esm2020/lib/directives/let.directive.mjs +36 -0
  599. package/esm2020/lib/directives/with-disabled-state.directive.mjs +41 -0
  600. package/esm2020/lib/directives/with-tabindex.directive.mjs +23 -0
  601. package/esm2020/lib/services/index.mjs +1 -2
  602. package/esm2020/lib/services/window-ref.mjs +11 -7
  603. package/esm2020/lib/tokens/identity-matcher.mjs +7 -0
  604. package/esm2020/lib/tokens/index.mjs +4 -0
  605. package/esm2020/lib/tokens/string-search-handler.mjs +9 -0
  606. package/esm2020/lib/tokens/stringify.mjs +8 -0
  607. package/esm2020/rxjs/index.mjs +4 -1
  608. package/esm2020/rxjs/lib/delay-until.mjs +5 -0
  609. package/esm2020/rxjs/lib/form-query-list.mjs +5 -0
  610. package/esm2020/rxjs/lib/from-element-resize.mjs +14 -0
  611. package/esm2020/utils/index.mjs +2 -1
  612. package/esm2020/utils/lib/decorators/index.mjs +2 -1
  613. package/esm2020/utils/lib/decorators/pure.mjs +37 -0
  614. package/esm2020/utils/lib/helpers/angular.mjs +33 -0
  615. package/esm2020/utils/lib/helpers/defer-fn.mjs +4 -0
  616. package/esm2020/utils/lib/helpers/dom.mjs +52 -0
  617. package/esm2020/utils/lib/helpers/event-manager.mjs +30 -0
  618. package/esm2020/utils/lib/helpers/get-axis.mjs +14 -0
  619. package/esm2020/utils/lib/helpers/get-opposite-side.mjs +15 -0
  620. package/esm2020/utils/lib/helpers/get-side.mjs +4 -0
  621. package/esm2020/utils/lib/helpers/get-unique-id.mjs +7 -0
  622. package/esm2020/utils/lib/helpers/index.mjs +13 -1
  623. package/esm2020/utils/lib/helpers/ng-changes.mjs +1 -1
  624. package/esm2020/utils/lib/helpers/provide-module-config.mjs +21 -0
  625. package/esm2020/utils/lib/helpers/queue.mjs +49 -0
  626. package/esm2020/utils/lib/helpers/type-guards.mjs +29 -0
  627. package/esm2020/utils/lib/helpers/until-destroyed.mjs +13 -0
  628. package/esm2020/utils/lib/types/axis.mjs +5 -0
  629. package/esm2020/utils/lib/types/get-properties.mjs +2 -0
  630. package/esm2020/utils/lib/types/index.mjs +5 -0
  631. package/esm2020/utils/lib/types/position.mjs +15 -0
  632. package/esm2020/utils/lib/types/side.mjs +7 -0
  633. package/fesm2015/odx-angular-animations.mjs +17 -3
  634. package/fesm2015/odx-angular-animations.mjs.map +1 -1
  635. package/fesm2015/odx-angular-cdk-a11y.mjs +132 -0
  636. package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -0
  637. package/fesm2015/odx-angular-cdk-active-indicator.mjs +145 -0
  638. package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -0
  639. package/fesm2015/odx-angular-cdk-checkbox-control.mjs +48 -0
  640. package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -0
  641. package/fesm2015/odx-angular-cdk-connected-overlay.mjs +222 -0
  642. package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  643. package/fesm2015/odx-angular-cdk-custom-form-control.mjs +123 -0
  644. package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -0
  645. package/fesm2015/odx-angular-cdk-dynamic-view.mjs +126 -78
  646. package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  647. package/fesm2015/odx-angular-cdk-expandable.mjs +108 -0
  648. package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -0
  649. package/fesm2015/odx-angular-cdk-radio-group-control.mjs +99 -0
  650. package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -0
  651. package/fesm2015/odx-angular-components-accordion.mjs +106 -0
  652. package/fesm2015/odx-angular-components-accordion.mjs.map +1 -0
  653. package/fesm2015/odx-angular-components-action-group.mjs +14 -17
  654. package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
  655. package/fesm2015/odx-angular-components-area-header.mjs +24 -25
  656. package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
  657. package/fesm2015/odx-angular-components-avatar.mjs +23 -10
  658. package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
  659. package/fesm2015/odx-angular-components-badge.mjs +67 -104
  660. package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
  661. package/fesm2015/odx-angular-components-bar.mjs +96 -0
  662. package/fesm2015/odx-angular-components-bar.mjs.map +1 -0
  663. package/fesm2015/odx-angular-components-breadcrumbs.mjs +56 -0
  664. package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -0
  665. package/fesm2015/odx-angular-components-button-group.mjs +60 -0
  666. package/fesm2015/odx-angular-components-button-group.mjs.map +1 -0
  667. package/fesm2015/odx-angular-components-button.mjs +28 -39
  668. package/fesm2015/odx-angular-components-button.mjs.map +1 -1
  669. package/fesm2015/odx-angular-components-checkbox.mjs +56 -31
  670. package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
  671. package/fesm2015/odx-angular-components-chip.mjs +71 -0
  672. package/fesm2015/odx-angular-components-chip.mjs.map +1 -0
  673. package/fesm2015/odx-angular-components-circular-progress.mjs +110 -0
  674. package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -0
  675. package/fesm2015/odx-angular-components-content-box.mjs +13 -15
  676. package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
  677. package/fesm2015/odx-angular-components-dropdown.mjs +222 -0
  678. package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -0
  679. package/fesm2015/odx-angular-components-form-field.mjs +383 -0
  680. package/fesm2015/odx-angular-components-form-field.mjs.map +1 -0
  681. package/fesm2015/odx-angular-components-header.mjs +34 -33
  682. package/fesm2015/odx-angular-components-header.mjs.map +1 -1
  683. package/fesm2015/odx-angular-components-icon.mjs +36 -11
  684. package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
  685. package/fesm2015/odx-angular-components-inline-message.mjs +55 -0
  686. package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -0
  687. package/fesm2015/odx-angular-components-launch-tile.mjs +95 -0
  688. package/fesm2015/odx-angular-components-launch-tile.mjs.map +1 -0
  689. package/fesm2015/odx-angular-components-link.mjs +13 -25
  690. package/fesm2015/odx-angular-components-link.mjs.map +1 -1
  691. package/fesm2015/odx-angular-components-list.mjs +76 -0
  692. package/fesm2015/odx-angular-components-list.mjs.map +1 -0
  693. package/fesm2015/odx-angular-components-loading-spinner.mjs +163 -0
  694. package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -0
  695. package/fesm2015/odx-angular-components-logo.mjs +9 -10
  696. package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
  697. package/fesm2015/odx-angular-components-main-menu.mjs +62 -61
  698. package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
  699. package/fesm2015/odx-angular-components-menu.mjs +127 -0
  700. package/fesm2015/odx-angular-components-menu.mjs.map +1 -0
  701. package/fesm2015/odx-angular-components-modal.mjs +495 -0
  702. package/fesm2015/odx-angular-components-modal.mjs.map +1 -0
  703. package/fesm2015/odx-angular-components-progress.mjs +57 -0
  704. package/fesm2015/odx-angular-components-progress.mjs.map +1 -0
  705. package/fesm2015/odx-angular-components-radio-group.mjs +65 -69
  706. package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
  707. package/fesm2015/odx-angular-components-rail-navigation.mjs +97 -0
  708. package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -0
  709. package/fesm2015/odx-angular-components-select.mjs +371 -0
  710. package/fesm2015/odx-angular-components-select.mjs.map +1 -0
  711. package/fesm2015/odx-angular-components-slider.mjs +48 -0
  712. package/fesm2015/odx-angular-components-slider.mjs.map +1 -0
  713. package/fesm2015/odx-angular-components-spinbox.mjs +100 -0
  714. package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -0
  715. package/fesm2015/odx-angular-components-switch.mjs +69 -0
  716. package/fesm2015/odx-angular-components-switch.mjs.map +1 -0
  717. package/fesm2015/odx-angular-components-tab-bar.mjs +200 -0
  718. package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -0
  719. package/fesm2015/odx-angular-components-toast.mjs +221 -0
  720. package/fesm2015/odx-angular-components-toast.mjs.map +1 -0
  721. package/fesm2015/odx-angular-components-toggle-button-group.mjs +87 -0
  722. package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -0
  723. package/fesm2015/odx-angular-components-tooltip.mjs +187 -0
  724. package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -0
  725. package/fesm2015/odx-angular-internal.mjs +39 -104
  726. package/fesm2015/odx-angular-internal.mjs.map +1 -1
  727. package/fesm2015/odx-angular-rxjs.mjs +23 -2
  728. package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
  729. package/fesm2015/odx-angular-utils.mjs +329 -1
  730. package/fesm2015/odx-angular-utils.mjs.map +1 -1
  731. package/fesm2015/odx-angular.mjs +296 -228
  732. package/fesm2015/odx-angular.mjs.map +1 -1
  733. package/fesm2020/odx-angular-animations.mjs +17 -6
  734. package/fesm2020/odx-angular-animations.mjs.map +1 -1
  735. package/fesm2020/odx-angular-cdk-a11y.mjs +128 -0
  736. package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -0
  737. package/fesm2020/odx-angular-cdk-active-indicator.mjs +143 -0
  738. package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -0
  739. package/fesm2020/odx-angular-cdk-checkbox-control.mjs +48 -0
  740. package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -0
  741. package/fesm2020/odx-angular-cdk-connected-overlay.mjs +218 -0
  742. package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -0
  743. package/fesm2020/odx-angular-cdk-custom-form-control.mjs +117 -0
  744. package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -0
  745. package/fesm2020/odx-angular-cdk-dynamic-view.mjs +115 -57
  746. package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  747. package/fesm2020/odx-angular-cdk-expandable.mjs +107 -0
  748. package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -0
  749. package/fesm2020/odx-angular-cdk-radio-group-control.mjs +99 -0
  750. package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -0
  751. package/fesm2020/odx-angular-components-accordion.mjs +105 -0
  752. package/fesm2020/odx-angular-components-accordion.mjs.map +1 -0
  753. package/fesm2020/odx-angular-components-action-group.mjs +14 -17
  754. package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
  755. package/fesm2020/odx-angular-components-area-header.mjs +24 -25
  756. package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
  757. package/fesm2020/odx-angular-components-avatar.mjs +23 -10
  758. package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
  759. package/fesm2020/odx-angular-components-badge.mjs +64 -97
  760. package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
  761. package/fesm2020/odx-angular-components-bar.mjs +96 -0
  762. package/fesm2020/odx-angular-components-bar.mjs.map +1 -0
  763. package/fesm2020/odx-angular-components-breadcrumbs.mjs +56 -0
  764. package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -0
  765. package/fesm2020/odx-angular-components-button-group.mjs +60 -0
  766. package/fesm2020/odx-angular-components-button-group.mjs.map +1 -0
  767. package/fesm2020/odx-angular-components-button.mjs +28 -34
  768. package/fesm2020/odx-angular-components-button.mjs.map +1 -1
  769. package/fesm2020/odx-angular-components-checkbox.mjs +56 -31
  770. package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
  771. package/fesm2020/odx-angular-components-chip.mjs +71 -0
  772. package/fesm2020/odx-angular-components-chip.mjs.map +1 -0
  773. package/fesm2020/odx-angular-components-circular-progress.mjs +110 -0
  774. package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -0
  775. package/fesm2020/odx-angular-components-content-box.mjs +13 -15
  776. package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
  777. package/fesm2020/odx-angular-components-dropdown.mjs +225 -0
  778. package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -0
  779. package/fesm2020/odx-angular-components-form-field.mjs +380 -0
  780. package/fesm2020/odx-angular-components-form-field.mjs.map +1 -0
  781. package/fesm2020/odx-angular-components-header.mjs +34 -33
  782. package/fesm2020/odx-angular-components-header.mjs.map +1 -1
  783. package/fesm2020/odx-angular-components-icon.mjs +36 -11
  784. package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
  785. package/fesm2020/odx-angular-components-inline-message.mjs +55 -0
  786. package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -0
  787. package/fesm2020/odx-angular-components-launch-tile.mjs +94 -0
  788. package/fesm2020/odx-angular-components-launch-tile.mjs.map +1 -0
  789. package/fesm2020/odx-angular-components-link.mjs +13 -24
  790. package/fesm2020/odx-angular-components-link.mjs.map +1 -1
  791. package/fesm2020/odx-angular-components-list.mjs +76 -0
  792. package/fesm2020/odx-angular-components-list.mjs.map +1 -0
  793. package/fesm2020/odx-angular-components-loading-spinner.mjs +162 -0
  794. package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -0
  795. package/fesm2020/odx-angular-components-logo.mjs +9 -10
  796. package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
  797. package/fesm2020/odx-angular-components-main-menu.mjs +62 -60
  798. package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
  799. package/fesm2020/odx-angular-components-menu.mjs +129 -0
  800. package/fesm2020/odx-angular-components-menu.mjs.map +1 -0
  801. package/fesm2020/odx-angular-components-modal.mjs +497 -0
  802. package/fesm2020/odx-angular-components-modal.mjs.map +1 -0
  803. package/fesm2020/odx-angular-components-progress.mjs +57 -0
  804. package/fesm2020/odx-angular-components-progress.mjs.map +1 -0
  805. package/fesm2020/odx-angular-components-radio-group.mjs +65 -68
  806. package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
  807. package/fesm2020/odx-angular-components-rail-navigation.mjs +97 -0
  808. package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -0
  809. package/fesm2020/odx-angular-components-select.mjs +358 -0
  810. package/fesm2020/odx-angular-components-select.mjs.map +1 -0
  811. package/fesm2020/odx-angular-components-slider.mjs +48 -0
  812. package/fesm2020/odx-angular-components-slider.mjs.map +1 -0
  813. package/fesm2020/odx-angular-components-spinbox.mjs +97 -0
  814. package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -0
  815. package/fesm2020/odx-angular-components-switch.mjs +69 -0
  816. package/fesm2020/odx-angular-components-switch.mjs.map +1 -0
  817. package/fesm2020/odx-angular-components-tab-bar.mjs +195 -0
  818. package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -0
  819. package/fesm2020/odx-angular-components-toast.mjs +220 -0
  820. package/fesm2020/odx-angular-components-toast.mjs.map +1 -0
  821. package/fesm2020/odx-angular-components-toggle-button-group.mjs +87 -0
  822. package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -0
  823. package/fesm2020/odx-angular-components-tooltip.mjs +192 -0
  824. package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -0
  825. package/fesm2020/odx-angular-internal.mjs +38 -102
  826. package/fesm2020/odx-angular-internal.mjs.map +1 -1
  827. package/fesm2020/odx-angular-rxjs.mjs +23 -2
  828. package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
  829. package/fesm2020/odx-angular-utils.mjs +322 -1
  830. package/fesm2020/odx-angular-utils.mjs.map +1 -1
  831. package/fesm2020/odx-angular.mjs +292 -224
  832. package/fesm2020/odx-angular.mjs.map +1 -1
  833. package/index.d.ts +1 -1
  834. package/internal/helpers/camel-to-kebab-case.d.ts +2 -0
  835. package/internal/helpers/index.d.ts +1 -3
  836. package/internal/index.d.ts +0 -3
  837. package/{internal/abstract → lib/controllers}/controller.d.ts +3 -3
  838. package/lib/controllers/disabled.controller.d.ts +8 -11
  839. package/lib/controllers/index.d.ts +2 -0
  840. package/lib/controllers/readonly.controller.d.ts +20 -0
  841. package/lib/core.module.d.ts +5 -4
  842. package/lib/directives/click-outside.directive.d.ts +18 -0
  843. package/lib/directives/index.d.ts +4 -2
  844. package/lib/directives/let.directive.d.ts +17 -0
  845. package/lib/directives/with-disabled-state.directive.d.ts +13 -0
  846. package/lib/directives/with-tabindex.directive.d.ts +7 -0
  847. package/lib/services/index.d.ts +0 -1
  848. package/lib/services/window-ref.d.ts +2 -0
  849. package/lib/tokens/identity-matcher.d.ts +3 -0
  850. package/lib/tokens/index.d.ts +3 -0
  851. package/lib/tokens/string-search-handler.d.ts +3 -0
  852. package/lib/tokens/stringify.d.ts +3 -0
  853. package/package.json +265 -13
  854. package/rxjs/index.d.ts +3 -0
  855. package/rxjs/lib/delay-until.d.ts +2 -0
  856. package/rxjs/lib/form-query-list.d.ts +3 -0
  857. package/rxjs/lib/from-element-resize.d.ts +2 -0
  858. package/utils/index.d.ts +1 -0
  859. package/utils/lib/decorators/index.d.ts +1 -0
  860. package/utils/lib/decorators/pure.d.ts +1 -0
  861. package/utils/lib/helpers/angular.d.ts +6 -0
  862. package/utils/lib/helpers/defer-fn.d.ts +1 -0
  863. package/utils/lib/helpers/dom.d.ts +10 -0
  864. package/utils/lib/helpers/event-manager.d.ts +12 -0
  865. package/utils/lib/helpers/get-axis.d.ts +2 -0
  866. package/utils/lib/helpers/get-opposite-side.d.ts +2 -0
  867. package/utils/lib/helpers/get-side.d.ts +2 -0
  868. package/utils/lib/helpers/get-unique-id.d.ts +1 -0
  869. package/utils/lib/helpers/index.d.ts +12 -0
  870. package/utils/lib/helpers/ng-changes.d.ts +1 -1
  871. package/utils/lib/helpers/provide-module-config.d.ts +12 -0
  872. package/utils/lib/helpers/queue.d.ts +22 -0
  873. package/{internal → utils/lib}/helpers/type-guards.d.ts +2 -1
  874. package/utils/lib/helpers/until-destroyed.d.ts +2 -0
  875. package/utils/lib/types/axis.d.ts +5 -0
  876. package/{internal → utils/lib}/types/get-properties.d.ts +1 -1
  877. package/utils/lib/types/index.d.ts +4 -0
  878. package/utils/lib/types/position.d.ts +15 -0
  879. package/utils/lib/types/side.d.ts +7 -0
  880. package/cdk/dynamic-view/lib/facade/animated-component.d.ts +0 -4
  881. package/cdk/dynamic-view/lib/helpers/is-animated-component.d.ts +0 -3
  882. package/cdk/dynamic-view/lib/helpers/wait-for-animations.d.ts +0 -3
  883. package/components/badge/lib/badge.config.d.ts +0 -3
  884. package/components/badge/lib/facade/badge-host.d.ts +0 -3
  885. package/components/badge/lib/facade/index.d.ts +0 -1
  886. package/components/badge/lib/models/badge-position.d.ts +0 -5
  887. package/esm2020/animations/config.mjs +0 -8
  888. package/esm2020/animations/fade.mjs +0 -12
  889. package/esm2020/animations/slide.mjs +0 -34
  890. package/esm2020/cdk/dynamic-view/lib/facade/animated-component.mjs +0 -2
  891. package/esm2020/cdk/dynamic-view/lib/helpers/is-animated-component.mjs +0 -5
  892. package/esm2020/cdk/dynamic-view/lib/helpers/wait-for-animations.mjs +0 -9
  893. package/esm2020/components/badge/lib/badge.config.mjs +0 -3
  894. package/esm2020/components/badge/lib/facade/badge-host.mjs +0 -2
  895. package/esm2020/components/badge/lib/facade/index.mjs +0 -2
  896. package/esm2020/components/badge/lib/models/badge-position.mjs +0 -5
  897. package/esm2020/internal/abstract/controller.mjs +0 -29
  898. package/esm2020/internal/abstract/index.mjs +0 -2
  899. package/esm2020/internal/helpers/dom.mjs +0 -7
  900. package/esm2020/internal/helpers/type-guards.mjs +0 -27
  901. package/esm2020/internal/helpers/watch.mjs +0 -8
  902. package/esm2020/internal/providers/index.mjs +0 -2
  903. package/esm2020/internal/providers/watched-controller-provider.mjs +0 -9
  904. package/esm2020/internal/types/get-properties.mjs +0 -2
  905. package/esm2020/internal/types/index.mjs +0 -2
  906. package/esm2020/lib/controls/custom-form-control.mjs +0 -133
  907. package/esm2020/lib/controls/index.mjs +0 -2
  908. package/esm2020/lib/directives/control.directive.mjs +0 -18
  909. package/esm2020/lib/directives/monitor-focus.directive.mjs +0 -34
  910. package/esm2020/lib/services/destroy.service.mjs +0 -18
  911. package/internal/abstract/index.d.ts +0 -1
  912. package/internal/helpers/dom.d.ts +0 -2
  913. package/internal/helpers/watch.d.ts +0 -4
  914. package/internal/providers/index.d.ts +0 -1
  915. package/internal/providers/watched-controller-provider.d.ts +0 -5
  916. package/internal/types/index.d.ts +0 -1
  917. package/lib/controls/custom-form-control.d.ts +0 -40
  918. package/lib/controls/index.d.ts +0 -1
  919. package/lib/directives/monitor-focus.directive.d.ts +0 -12
  920. package/lib/services/destroy.service.d.ts +0 -9
@@ -0,0 +1,47 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostListener, Input } from '@angular/core';
3
+ import { CSSComponent } from '@odx/angular/internal';
4
+ import { injectElement, untilDestroyed } from '@odx/angular/utils';
5
+ import { distinctUntilChanged, fromEvent, map } from 'rxjs';
6
+ import * as i0 from "@angular/core";
7
+ let SelectSearchFieldDirective = class SelectSearchFieldDirective {
8
+ constructor() {
9
+ this.takeUntilDestroyed = untilDestroyed();
10
+ this.element = injectElement();
11
+ // eslint-disable-next-line @angular-eslint/no-input-rename
12
+ this.notFoundContent = null;
13
+ this.valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(map(() => this.getValue()), distinctUntilChanged(), this.takeUntilDestroyed());
14
+ }
15
+ reset() {
16
+ this.element.nativeElement.value = '';
17
+ }
18
+ focus() {
19
+ this.element.nativeElement.focus();
20
+ }
21
+ getValue() {
22
+ return this.element.nativeElement.value;
23
+ }
24
+ };
25
+ SelectSearchFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SelectSearchFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
+ SelectSearchFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", type: SelectSearchFieldDirective, isStandalone: true, selector: "input[odxSelectSearchField]", inputs: { notFoundContent: ["odxSelectSearchField", "notFoundContent"] }, host: { listeners: { "keydown.delete": "reset()" }, properties: { "class.odx-form-field-control": "true" } }, ngImport: i0 });
27
+ SelectSearchFieldDirective = __decorate([
28
+ CSSComponent('select__search')
29
+ ], SelectSearchFieldDirective);
30
+ export { SelectSearchFieldDirective };
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SelectSearchFieldDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ standalone: true,
35
+ selector: 'input[odxSelectSearchField]',
36
+ host: {
37
+ '[class.odx-form-field-control]': 'true',
38
+ },
39
+ }]
40
+ }], propDecorators: { notFoundContent: [{
41
+ type: Input,
42
+ args: ['odxSelectSearchField']
43
+ }], reset: [{
44
+ type: HostListener,
45
+ args: ['keydown.delete']
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9kaXJlY3RpdmVzL3NlbGVjdC1zZWFyY2gtZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBVXJELElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBQWhDO1FBQ1ksdUJBQWtCLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFFdkMsWUFBTyxHQUFHLGFBQWEsRUFBb0IsQ0FBQztRQUU1RCwyREFBMkQ7UUFFcEQsb0JBQWUsR0FBMEIsSUFBSSxDQUFDO1FBRTlDLGlCQUFZLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDdkUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUMxQixvQkFBb0IsRUFBRSxFQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FDMUIsQ0FBQztLQWNIO0lBWFEsS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7O3VIQTFCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQjtBQUExQiwwQkFBMEI7SUFSdEMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO0dBUWxCLDBCQUEwQixDQTJCdEM7U0EzQlksMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBUHRDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLElBQUksRUFBRTt3QkFDSixnQ0FBZ0MsRUFBRSxNQUFNO3FCQUN6QztpQkFDRjs4QkFRUSxlQUFlO3NCQURyQixLQUFLO3VCQUFDLHNCQUFzQjtnQkFVdEIsS0FBSztzQkFEWCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0NvbnRlbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb21FdmVudCwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBDU1NDb21wb25lbnQoJ3NlbGVjdF9fc2VhcmNoJylcbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2lucHV0W29keFNlbGVjdFNlYXJjaEZpZWxkXScsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm9keC1mb3JtLWZpZWxkLWNvbnRyb2xdJzogJ3RydWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RTZWFyY2hGaWVsZERpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ29keFNlbGVjdFNlYXJjaEZpZWxkJylcbiAgcHVibGljIG5vdEZvdW5kQ29udGVudDogRHluYW1pY0NvbnRlbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgdmFsdWVDaGFuZ2UkID0gZnJvbUV2ZW50KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKS5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLmdldFZhbHVlKCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgdGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKVxuICApO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZGVsZXRlJylcbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gIH1cblxuICBwdWJsaWMgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './select-search-filter.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Qtc2VhcmNoLWZpbHRlci5waXBlJztcbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { inject, Pipe } from '@angular/core';
3
+ import { ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER } from '@odx/angular';
4
+ import { Pure } from '@odx/angular/utils';
5
+ import { SELECT_CONTROL } from '../select.tokens';
6
+ import * as i0 from "@angular/core";
7
+ export class SelectSearchFilterPipe {
8
+ constructor() {
9
+ this.searchController = inject(SELECT_CONTROL, { optional: true });
10
+ this.stringify = inject(ODX_STRINGIFY);
11
+ this.stringSearchHandler = inject(ODX_STRING_SEARCH_HANDLER);
12
+ }
13
+ get searchField() {
14
+ return this.searchController?.searchField;
15
+ }
16
+ transform(items, searchHandler) {
17
+ if (this.searchField) {
18
+ return this.filter(items, this.searchField.getValue(), searchHandler);
19
+ }
20
+ return items;
21
+ }
22
+ filter(items, query, searchHandler) {
23
+ if (!items) {
24
+ return null;
25
+ }
26
+ query = query.trim();
27
+ if (query === '') {
28
+ return items;
29
+ }
30
+ const search = searchHandler ?? this.stringSearchHandler;
31
+ const stringify = this.searchController?.stringify ?? this.stringify;
32
+ return items.filter((item) => search(stringify(item), query));
33
+ }
34
+ }
35
+ SelectSearchFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SelectSearchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
36
+ SelectSearchFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: SelectSearchFilterPipe, isStandalone: true, name: "odxSelectSearchFilter", pure: false });
37
+ __decorate([
38
+ Pure,
39
+ __metadata("design:type", Function),
40
+ __metadata("design:paramtypes", [Object, String, Function]),
41
+ __metadata("design:returntype", Object)
42
+ ], SelectSearchFilterPipe.prototype, "filter", null);
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SelectSearchFilterPipe, decorators: [{
44
+ type: Pipe,
45
+ args: [{
46
+ pure: false,
47
+ name: 'odxSelectSearchFilter',
48
+ standalone: true,
49
+ }]
50
+ }], propDecorators: { filter: [] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC1maWx0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3NlbGVjdC9zcmMvbGliL3BpcGVzL3NlbGVjdC1zZWFyY2gtZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLHlCQUF5QixFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUM3RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU9sRCxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBTW1CLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RCxjQUFTLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xDLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBMkIxRTtJQXpCQyxJQUFZLFdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO0lBQzVDLENBQUM7SUFFTSxTQUFTLENBQUksS0FBaUIsRUFBRSxhQUFtQztRQUN4RSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBR08sTUFBTSxDQUFJLEtBQWlCLEVBQUUsS0FBYSxFQUFFLGFBQW1DO1FBQ3JGLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDaEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE1BQU0sTUFBTSxHQUFHLGFBQWEsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDekQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRXJFLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7O21IQTdCVSxzQkFBc0I7aUhBQXRCLHNCQUFzQjtBQWdCakM7SUFBQyxJQUFJOzs7O29EQWFKOzJGQTdCVSxzQkFBc0I7a0JBTGxDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLEtBQUs7b0JBQ1gsSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWtCUyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPRFhfU1RSSU5HSUZZLCBPRFhfU1RSSU5HX1NFQVJDSF9IQU5ETEVSLCBTdHJpbmdTZWFyY2hIYW5kbGVyIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IFB1cmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0U2VhcmNoRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNFTEVDVF9DT05UUk9MIH0gZnJvbSAnLi4vc2VsZWN0LnRva2Vucyc7XG5cbkBQaXBlKHtcbiAgcHVyZTogZmFsc2UsXG4gIG5hbWU6ICdvZHhTZWxlY3RTZWFyY2hGaWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RTZWFyY2hGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoQ29udHJvbGxlciA9IGluamVjdChTRUxFQ1RfQ09OVFJPTCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdHJpbmdpZnkgPSBpbmplY3QoT0RYX1NUUklOR0lGWSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RyaW5nU2VhcmNoSGFuZGxlciA9IGluamVjdChPRFhfU1RSSU5HX1NFQVJDSF9IQU5ETEVSKTtcblxuICBwcml2YXRlIGdldCBzZWFyY2hGaWVsZCgpOiBTZWxlY3RTZWFyY2hGaWVsZERpcmVjdGl2ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoQ29udHJvbGxlcj8uc2VhcmNoRmllbGQ7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtPFQ+KGl0ZW1zOiBUW10gfCBudWxsLCBzZWFyY2hIYW5kbGVyPzogU3RyaW5nU2VhcmNoSGFuZGxlcik6IFRbXSB8IG51bGwge1xuICAgIGlmICh0aGlzLnNlYXJjaEZpZWxkKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIoaXRlbXMsIHRoaXMuc2VhcmNoRmllbGQuZ2V0VmFsdWUoKSwgc2VhcmNoSGFuZGxlcik7XG4gICAgfVxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIEBQdXJlXG4gIHByaXZhdGUgZmlsdGVyPFQ+KGl0ZW1zOiBUW10gfCBudWxsLCBxdWVyeTogc3RyaW5nLCBzZWFyY2hIYW5kbGVyPzogU3RyaW5nU2VhcmNoSGFuZGxlcik6IFRbXSB8IG51bGwge1xuICAgIGlmICghaXRlbXMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBxdWVyeSA9IHF1ZXJ5LnRyaW0oKTtcbiAgICBpZiAocXVlcnkgPT09ICcnKSB7XG4gICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaCA9IHNlYXJjaEhhbmRsZXIgPz8gdGhpcy5zdHJpbmdTZWFyY2hIYW5kbGVyO1xuICAgIGNvbnN0IHN0cmluZ2lmeSA9IHRoaXMuc2VhcmNoQ29udHJvbGxlcj8uc3RyaW5naWZ5ID8/IHRoaXMuc3RyaW5naWZ5O1xuXG4gICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gc2VhcmNoKHN0cmluZ2lmeShpdGVtKSwgcXVlcnkpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,186 @@
1
+ var SelectComponent_1;
2
+ import { __decorate, __metadata } from "tslib";
3
+ import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
4
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
+ import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, HostListener, inject, Input, Output, QueryList, ViewChild, ViewEncapsulation, } from '@angular/core';
6
+ import { CoreModule, detectControllerChanges, ODX_IDENTITY_MATCHER } from '@odx/angular';
7
+ import { CustomFormControl } from '@odx/angular/cdk/custom-form-control';
8
+ import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
9
+ import { DropdownDirective } from '@odx/angular/components/dropdown';
10
+ import { IconComponent } from '@odx/angular/components/icon';
11
+ import { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';
12
+ import { CSSComponent } from '@odx/angular/internal';
13
+ import { deferFn, injectElement, Transform } from '@odx/angular/utils';
14
+ import { filter } from 'rxjs';
15
+ import { OptionComponent } from './components';
16
+ import { SelectSearchFieldDirective } from './directives';
17
+ import { SELECT_CONTROL } from './select.tokens';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "@angular/common";
20
+ import * as i2 from "@odx/angular";
21
+ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFormControl {
22
+ constructor() {
23
+ super(null);
24
+ this.searchFieldEnabled = false;
25
+ this.smoothScrollEnabled = false;
26
+ this.selectedOption = null;
27
+ this.selectedOptionText = null;
28
+ this.element = injectElement();
29
+ this.placeholder = '';
30
+ this.isLoading = false;
31
+ this.selectedOptionTemplate = null;
32
+ this.identityMatcher = inject(ODX_IDENTITY_MATCHER);
33
+ this.change = new EventEmitter();
34
+ detectControllerChanges(this).subscribe();
35
+ }
36
+ get hasOptions() {
37
+ return !!this.options && this.options.length > 0;
38
+ }
39
+ get isOpen() {
40
+ return !!this.dropdown?.isOpen;
41
+ }
42
+ get selectedOptionContent() {
43
+ return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;
44
+ }
45
+ ngAfterViewInit() {
46
+ if (!this.options)
47
+ return;
48
+ this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);
49
+ this.options.changes.pipe(filter(() => this.isOpen)).subscribe(() => {
50
+ deferFn(() => this.activateSelectedOption());
51
+ this.triggerControllerChange();
52
+ });
53
+ this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());
54
+ }
55
+ registerOnChange(fn) {
56
+ super.registerOnChange((value) => {
57
+ this.updateSelectedOption();
58
+ fn(value);
59
+ });
60
+ }
61
+ selectOption(option) {
62
+ if (option && !option.disabled) {
63
+ this.updateValue(option.value ?? null);
64
+ }
65
+ this.dropdown?.close();
66
+ }
67
+ isOptionSelected(option) {
68
+ if (option && !option.disabled) {
69
+ return this.identityMatcher(option.value, this.value);
70
+ }
71
+ return false;
72
+ }
73
+ scrollOptionIntoView({ element }) {
74
+ const behavior = this.smoothScrollEnabled ? 'smooth' : undefined;
75
+ element.nativeElement.scrollIntoView({ block: 'center', behavior });
76
+ }
77
+ openDropdown(event) {
78
+ if (this.isLoading)
79
+ return;
80
+ if (this.isOpen && this.hasOptions) {
81
+ if (event.key === 'Enter' || event.key === 'Tab') {
82
+ event.preventDefault();
83
+ event.stopImmediatePropagation();
84
+ this.selectOption(this.keyManager?.activeItem);
85
+ return;
86
+ }
87
+ }
88
+ this.keyManager?.onKeydown(event);
89
+ }
90
+ activateSelectedOption() {
91
+ let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);
92
+ if (!activeIndex || activeIndex === -1) {
93
+ activeIndex = this.options?.toArray().findIndex((option) => !option.disabled) ?? -1;
94
+ }
95
+ this.keyManager?.setActiveItem(activeIndex);
96
+ }
97
+ onDropdownOpen() {
98
+ this.activateSelectedOption();
99
+ if (!this.searchFieldEnabled) {
100
+ this.searchFieldEnabled = !!this.searchField;
101
+ deferFn(() => this.searchField?.focus());
102
+ }
103
+ }
104
+ onDropdownClose() {
105
+ this.disableSmoothScroll();
106
+ if (this.searchFieldEnabled) {
107
+ this.searchFieldEnabled = false;
108
+ this.element.nativeElement?.focus();
109
+ }
110
+ }
111
+ onDropdownClosed() {
112
+ this.searchField?.reset();
113
+ }
114
+ disableSmoothScroll() {
115
+ this.smoothScrollEnabled = false;
116
+ }
117
+ enableSmoothScroll() {
118
+ this.smoothScrollEnabled = true;
119
+ }
120
+ updateSelectedOption() {
121
+ this.selectedOption = this.options?.toArray()?.find((option) => option.isSelected) ?? null;
122
+ if (this.selectedOption) {
123
+ this.selectedOptionText = this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel();
124
+ }
125
+ else {
126
+ this.selectedOptionText = null;
127
+ }
128
+ }
129
+ };
130
+ SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
+ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: SelectComponent, isStandalone: true, selector: "odx-select", inputs: { placeholder: "placeholder", isLoading: "isLoading", selectedOptionTemplate: "selectedOptionTemplate", stringify: "stringify", identityMatcher: "identityMatcher" }, outputs: { change: "change" }, host: { listeners: { "click": "openDropdown($event)", "keydown": "openDropdown($event)" }, properties: { "attr.aria-disabled": "isDisabled || null", "class.is-open": "isOpen", "tabindex": "searchFieldEnabled || isDisabled ? -1 : 0" } }, providers: [
132
+ {
133
+ provide: SELECT_CONTROL,
134
+ useExisting: SelectComponent_1,
135
+ },
136
+ ], queries: [{ propertyName: "searchField", first: true, predicate: SelectSearchFieldDirective, descendants: true }, { propertyName: "options", predicate: OptionComponent, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: DropdownDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4 }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "component", type: OptionComponent, selector: "odx-option", inputs: ["value"] }, { kind: "ngmodule", type: LoadingSpinnerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
137
+ __decorate([
138
+ Transform(coerceBooleanProperty),
139
+ __metadata("design:type", Object)
140
+ ], SelectComponent.prototype, "isLoading", void 0);
141
+ SelectComponent = SelectComponent_1 = __decorate([
142
+ CSSComponent('select'),
143
+ __metadata("design:paramtypes", [])
144
+ ], SelectComponent);
145
+ export { SelectComponent };
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SelectComponent, decorators: [{
147
+ type: Component,
148
+ args: [{ standalone: true, selector: 'odx-select', imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
149
+ {
150
+ provide: SELECT_CONTROL,
151
+ useExisting: SelectComponent,
152
+ },
153
+ ], host: {
154
+ '[attr.aria-disabled]': 'isDisabled || null',
155
+ '[class.is-open]': 'isOpen',
156
+ '[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',
157
+ }, template: "<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4 }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n" }]
158
+ }], ctorParameters: function () { return []; }, propDecorators: { options: [{
159
+ type: ContentChildren,
160
+ args: [OptionComponent, { descendants: true, emitDistinctChangesOnly: true }]
161
+ }], dropdown: [{
162
+ type: ViewChild,
163
+ args: [DropdownDirective]
164
+ }], placeholder: [{
165
+ type: Input
166
+ }], isLoading: [{
167
+ type: Input
168
+ }], selectedOptionTemplate: [{
169
+ type: Input
170
+ }], stringify: [{
171
+ type: Input
172
+ }], identityMatcher: [{
173
+ type: Input
174
+ }], change: [{
175
+ type: Output
176
+ }], searchField: [{
177
+ type: ContentChild,
178
+ args: [SelectSearchFieldDirective]
179
+ }], openDropdown: [{
180
+ type: HostListener,
181
+ args: ['click', ['$event']]
182
+ }, {
183
+ type: HostListener,
184
+ args: ['keydown', ['$event']]
185
+ }] } });
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3NlbGVjdC9zcmMvbGliL3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFFVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQW1CLG9CQUFvQixFQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENB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VyxpQkFBaUI7eUJBQzdCO3FCQUNGLFFBQ0s7d0JBQ0osc0JBQXNCLEVBQUUsb0JBQW9CO3dCQUM1QyxpQkFBaUIsRUFBRSxRQUFRO3dCQUMzQixZQUFZLEVBQUUsMkNBQTJDO3FCQUMxRDswRUFpQlMsT0FBTztzQkFEaEIsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRTtnQkFJNUUsUUFBUTtzQkFEakIsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBY3JCLFdBQVc7c0JBRGpCLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUlDLHNCQUFzQjtzQkFENUIsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsS0FBSztnQkFLQyxNQUFNO3NCQUZaLE1BQU07Z0JBS0EsV0FBVztzQkFEakIsWUFBWTt1QkFBQywwQkFBMEI7Z0JBK0M5QixZQUFZO3NCQUZyQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ2hDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlLCBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcywgSWRlbnRpdHlNYXRjaGVyLCBPRFhfSURFTlRJVFlfTUFUQ0hFUiwgU3RyaW5naWZ5Rm4gfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ3VzdG9tRm9ybUNvbnRyb2wgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHsgRHluYW1pY1ZpZXdEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5pbXBvcnQgeyBEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IExvYWRpbmdTcGlubmVyTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuLCBpbmplY3RFbGVtZW50LCBUcmFuc2Zvcm0gfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWxlY3RDb250cm9sLCBTZWxlY3RDb250cm9sT3B0aW9uIH0gZnJvbSAnLi9hYnN0cmFjdCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgU2VsZWN0U2VhcmNoRmllbGREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgU0VMRUNUX0NPTlRST0wgfSBmcm9tICcuL3NlbGVjdC50b2tlbnMnO1xuXG5AQ1NTQ29tcG9uZW50KCdzZWxlY3QnKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LXNlbGVjdCcsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBEcm9wZG93bkRpcmVjdGl2ZSwgSWNvbkNvbXBvbmVudCwgRHluYW1pY1ZpZXdEaXJlY3RpdmUsIE9wdGlvbkNvbXBvbmVudCwgTG9hZGluZ1NwaW5uZXJNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNFTEVDVF9DT05UUk9MLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNlbGVjdENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgJ1tjbGFzcy5pcy1vcGVuXSc6ICdpc09wZW4nLFxuICAgICdbdGFiaW5kZXhdJzogJ3NlYXJjaEZpZWxkRW5hYmxlZCB8fCBpc0Rpc2FibGVkID8gLTEgOiAwJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50PFQgPSB1bmtub3duPiBleHRlbmRzIEN1c3RvbUZvcm1Db250cm9sPFQgfCBudWxsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIFNlbGVjdENvbnRyb2w8VD4ge1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2lzTG9hZGluZzogQm9vbGVhbklucHV0O1xuXG4gIHByaXZhdGUga2V5TWFuYWdlcj86IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPE9wdGlvbkNvbXBvbmVudDxUPj47XG5cbiAgcHJvdGVjdGVkIHNlYXJjaEZpZWxkRW5hYmxlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc21vb3RoU2Nyb2xsRW5hYmxlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRPcHRpb246IE9wdGlvbkNvbXBvbmVudDxUPiB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRPcHRpb25UZXh0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgZ2V0IGhhc09wdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihPcHRpb25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUsIGVtaXREaXN0aW5jdENoYW5nZXNPbmx5OiB0cnVlIH0pXG4gIHByb3RlY3RlZCBvcHRpb25zPzogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj47XG5cbiAgQFZpZXdDaGlsZChEcm9wZG93bkRpcmVjdGl2ZSlcbiAgcHJvdGVjdGVkIGRyb3Bkb3duPzogRHJvcGRvd25EaXJlY3RpdmU7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bj8uaXNPcGVuO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZE9wdGlvbkNvbnRlbnQoKTogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IFQgfCBudWxsIH0+IHwgc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24gPyB0aGlzLnNlbGVjdGVkT3B0aW9uVGVtcGxhdGUgPz8gdGhpcy5zZWxlY3RlZE9wdGlvblRleHQgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQFRyYW5zZm9ybShjb2VyY2VCb29sZWFuUHJvcGVydHkpXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRPcHRpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBUIH0+IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0cmluZ2lmeT86IFN0cmluZ2lmeUZuPFQgfCBudWxsPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWRlbnRpdHlNYXRjaGVyOiBJZGVudGl0eU1hdGNoZXI8VCB8IG51bGw+ID0gaW5qZWN0KE9EWF9JREVOVElUWV9NQVRDSEVSKTtcblxuICBAT3V0cHV0KClcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIHB1YmxpYyBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChTZWxlY3RTZWFyY2hGaWVsZERpcmVjdGl2ZSlcbiAgcHVibGljIHNlYXJjaEZpZWxkPzogU2VsZWN0U2VhcmNoRmllbGREaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIobnVsbCk7XG5cbiAgICBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyh0aGlzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMpIHJldHVybjtcbiAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIodGhpcy5vcHRpb25zKS53aXRoSG9tZUFuZEVuZCgpLnNraXBQcmVkaWNhdGUoKGl0ZW0pID0+IGl0ZW0uZGlzYWJsZWQpO1xuICAgIHRoaXMub3B0aW9ucy5jaGFuZ2VzLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMuaXNPcGVuKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGRlZmVyRm4oKCkgPT4gdGhpcy5hY3RpdmF0ZVNlbGVjdGVkT3B0aW9uKCkpO1xuICAgICAgdGhpcy50cmlnZ2VyQ29udHJvbGxlckNoYW5nZSgpO1xuICAgIH0pO1xuICAgIHRoaXMuc2VhcmNoRmllbGQ/LnZhbHVlQ2hhbmdlJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy50cmlnZ2VyQ29udHJvbGxlckNoYW5nZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IFQgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgc3VwZXIucmVnaXN0ZXJPbkNoYW5nZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRPcHRpb24oKTtcbiAgICAgIGZuKHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RPcHRpb24ob3B0aW9uPzogU2VsZWN0Q29udHJvbE9wdGlvbjxUPiB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAob3B0aW9uICYmICFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUob3B0aW9uLnZhbHVlID8/IG51bGwpO1xuICAgIH1cbiAgICB0aGlzLmRyb3Bkb3duPy5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIGlzT3B0aW9uU2VsZWN0ZWQob3B0aW9uOiBTZWxlY3RDb250cm9sT3B0aW9uPFQ+KTogYm9vbGVhbiB7XG4gICAgaWYgKG9wdGlvbiAmJiAhb3B0aW9uLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5pZGVudGl0eU1hdGNoZXIob3B0aW9uLnZhbHVlLCB0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbE9wdGlvbkludG9WaWV3KHsgZWxlbWVudCB9OiBTZWxlY3RDb250cm9sT3B0aW9uPFQ+KTogdm9pZCB7XG4gICAgY29uc3QgYmVoYXZpb3IgPSB0aGlzLnNtb290aFNjcm9sbEVuYWJsZWQgPyAnc21vb3RoJyA6IHVuZGVmaW5lZDtcbiAgICBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicsIGJlaGF2aW9yIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9wZW5Ecm9wZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZykgcmV0dXJuO1xuICAgIGlmICh0aGlzLmlzT3BlbiAmJiB0aGlzLmhhc09wdGlvbnMpIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zZWxlY3RPcHRpb24odGhpcy5rZXlNYW5hZ2VyPy5hY3RpdmVJdGVtKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmtleU1hbmFnZXI/Lm9uS2V5ZG93bihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWN0aXZhdGVTZWxlY3RlZE9wdGlvbigpOiB2b2lkIHtcbiAgICBsZXQgYWN0aXZlSW5kZXggPSB0aGlzLm9wdGlvbnM/LnRvQXJyYXkoKS5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLmlzU2VsZWN0ZWQgJiYgIW9wdGlvbi5kaXNhYmxlZCk7XG4gICAgaWYgKCFhY3RpdmVJbmRleCB8fCBhY3RpdmVJbmRleCA9PT0gLTEpIHtcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5vcHRpb25zPy50b0FycmF5KCkuZmluZEluZGV4KChvcHRpb24pID0+ICFvcHRpb24uZGlzYWJsZWQpID8/IC0xO1xuICAgIH1cbiAgICB0aGlzLmtleU1hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oYWN0aXZlSW5kZXgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRHJvcGRvd25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZhdGVTZWxlY3RlZE9wdGlvbigpO1xuICAgIGlmICghdGhpcy5zZWFyY2hGaWVsZEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoRmllbGRFbmFibGVkID0gISF0aGlzLnNlYXJjaEZpZWxkO1xuICAgICAgZGVmZXJGbigoKSA9PiB0aGlzLnNlYXJjaEZpZWxkPy5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Ecm9wZG93bkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZVNtb290aFNjcm9sbCgpO1xuICAgIGlmICh0aGlzLnNlYXJjaEZpZWxkRW5hYmxlZCkge1xuICAgICAgdGhpcy5zZWFyY2hGaWVsZEVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvbkRyb3Bkb3duQ2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRmllbGQ/LnJlc2V0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGlzYWJsZVNtb290aFNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNtb290aFNjcm9sbEVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbmFibGVTbW9vdGhTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zbW9vdGhTY3JvbGxFbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWRPcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IHRoaXMub3B0aW9ucz8udG9BcnJheSgpPy5maW5kKChvcHRpb24pID0+IG9wdGlvbi5pc1NlbGVjdGVkKSA/PyBudWxsO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uVGV4dCA9IHRoaXMuc3RyaW5naWZ5Py4odGhpcy5zZWxlY3RlZE9wdGlvbj8udmFsdWUpID8/IHRoaXMuc2VsZWN0ZWRPcHRpb24uZ2V0TGFiZWwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvblRleHQgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gIGNsYXNzPVwib2R4LXNlbGVjdF9fdHJpZ2dlclwiXG4gIFtvZHhEcm9wZG93bl09XCJkcm9wZG93bkNvbnRlbnRcIlxuICBbb2R4RHJvcGRvd25EaXNhYmxlZF09XCJpc0Rpc2FibGVkIHx8IGlzUmVhZG9ubHlcIlxuICBbb2R4RHJvcGRvd25PcHRpb25zXT1cInsgbWF0Y2hSZWZlcmVuY2VXaWR0aDogdHJ1ZSwgb2Zmc2V0OiA0IH1cIlxuICBbb2R4RHJvcGRvd25SZWZlcmVuY2VFbGVtZW50XT1cImVsZW1lbnQubmF0aXZlRWxlbWVudFwiXG4gIFtvZHhEcm9wZG93blNob3dMb2FkZXJdPVwiaXNMb2FkaW5nXCJcbiAgKG9keERyb3Bkb3duQmVmb3JlT3Blbik9XCJvbkRyb3Bkb3duT3BlbigpXCJcbiAgKG9keERyb3Bkb3duQmVmb3JlQ2xvc2UpPVwib25Ecm9wZG93bkNsb3NlKClcIlxuICAob2R4RHJvcGRvd25BZnRlckNsb3NlKT1cIm9uRHJvcGRvd25DbG9zZWQoKVwiXG4gIChvZHhEcm9wZG93bkFmdGVyT3Blbik9XCJlbmFibGVTbW9vdGhTY3JvbGwoKVwiXG4+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhc2VhcmNoRmllbGRFbmFibGVkXCIgW25nSWZFbHNlXT1cInNlYXJjaEZpZWxkVGVtcGxhdGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwib2R4LXNlbGVjdF9fdmFsdWVcIiAqbmdJZj1cInNlbGVjdGVkT3B0aW9uQ29udGVudDsgZWxzZSBwbGFjZWhvbGRlclRlbXBsYXRlXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW29keER5bmFtaWNWaWV3XT1cInNlbGVjdGVkT3B0aW9uQ29udGVudFwiIFtvZHhEeW5hbWljVmlld0NvbnRleHRdPVwieyAkaW1wbGljaXQ6IHZhbHVlIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cIm9keC1zZWxlY3RfX3BsYWNlaG9sZGVyXCI+XG4gICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3NlYXJjaEZpZWxkVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keFNlbGVjdFNlYXJjaEZpZWxkXVwiPjwvbmctY29udGVudD5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG9keC1pY29uIGNsYXNzPVwib2R4LXNlbGVjdF9faW5kaWNhdG9yXCIgbmFtZT1cImNoZXZyb24tZG93blwiPjwvb2R4LWljb24+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25Db250ZW50PlxuICA8ZGl2IGNsYXNzPVwib2R4LXNlbGVjdC1kcm9wZG93blwiIHJvbGU9XCJsaXN0Ym94XCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImhhc09wdGlvbnNcIiBbbmdJZkVsc2VdPVwibm9PcHRpb25zVGVtcGxhdGVcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9PcHRpb25zVGVtcGxhdGU+XG4gICAgICA8b2R4LW9wdGlvbiBkaXNhYmxlZD5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtvZHhEeW5hbWljVmlld109XCJzZWFyY2hGaWVsZD8ubm90Rm91bmRDb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvb2R4LW9wdGlvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CoreModule } from '@odx/angular';
3
+ import { OptionComponent } from './components';
4
+ import { SelectSearchFieldDirective } from './directives';
5
+ import { SelectSearchFilterPipe } from './pipes';
6
+ import { SelectComponent } from './select.component';
7
+ import * as i0 from "@angular/core";
8
+ const modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];
9
+ export class SelectModule {
10
+ }
11
+ SelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: SelectModule, imports: [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent], exports: [CoreModule, SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent] });
13
+ SelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SelectModule, imports: [SelectComponent, OptionComponent, CoreModule] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SelectModule, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ imports: modules,
18
+ exports: [CoreModule, ...modules],
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3NlbGVjdC9zcmMvbGliL3NlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXJELE1BQU0sT0FBTyxHQUFHLENBQUMsZUFBZSxFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBTXZHLE1BQU0sT0FBTyxZQUFZOzt5R0FBWixZQUFZOzBHQUFaLFlBQVksWUFOUixlQUFlLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxhQUl6RixVQUFVLEVBSkwsZUFBZSxFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLGVBQWU7MEdBTXhGLFlBQVksWUFOUixlQUFlLEVBQXNELGVBQWUsRUFJekYsVUFBVTsyRkFFVCxZQUFZO2tCQUp4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IFNlbGVjdFNlYXJjaEZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFNlbGVjdFNlYXJjaEZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XG5cbmNvbnN0IG1vZHVsZXMgPSBbU2VsZWN0Q29tcG9uZW50LCBTZWxlY3RTZWFyY2hGaWVsZERpcmVjdGl2ZSwgU2VsZWN0U2VhcmNoRmlsdGVyUGlwZSwgT3B0aW9uQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogbW9kdWxlcyxcbiAgZXhwb3J0czogW0NvcmVNb2R1bGUsIC4uLm1vZHVsZXNdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const SELECT_CONTROL = new InjectionToken('@odx/angular/components/select::SelectControl');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3NlbGVjdC9zcmMvbGliL3NlbGVjdC50b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQWdCLCtDQUErQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0Q29udHJvbCB9IGZyb20gJy4vYWJzdHJhY3QnO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUX0NPTlRST0wgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2VsZWN0Q29udHJvbD4oJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL3NlbGVjdDo6U2VsZWN0Q29udHJvbCcpO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItY29tcG9uZW50cy1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL29keC1hbmd1bGFyLWNvbXBvbmVudHMtc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './lib/slider.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zbGlkZXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9zbGlkZXIuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ import { WithDisabledState } from '@odx/angular';
4
+ import { CSSComponent } from '@odx/angular/internal';
5
+ import { injectElement } from '@odx/angular/utils';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@odx/angular";
8
+ let SliderDirective = class SliderDirective {
9
+ constructor() {
10
+ this.element = injectElement();
11
+ }
12
+ get value() {
13
+ return Number(this.element.nativeElement.value);
14
+ }
15
+ get max() {
16
+ return Number(this.element.nativeElement.max) || 100;
17
+ }
18
+ get min() {
19
+ return Number(this.element.nativeElement.min);
20
+ }
21
+ get valuePercentage() {
22
+ return (100 * (this.value - this.min)) / (this.max - this.min) || 0;
23
+ }
24
+ };
25
+ SliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
+ SliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", type: SliderDirective, isStandalone: true, selector: "input[type=range][odxSlider]", host: { properties: { "style.--odx-slider-filled.%": "this.valuePercentage" } }, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0 });
27
+ SliderDirective = __decorate([
28
+ CSSComponent('slider')
29
+ ], SliderDirective);
30
+ export { SliderDirective };
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SliderDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ standalone: true,
35
+ selector: 'input[type=range][odxSlider]',
36
+ hostDirectives: [WithDisabledState],
37
+ }]
38
+ }], propDecorators: { valuePercentage: [{
39
+ type: HostBinding,
40
+ args: [`style.--odx-slider-filled.%`]
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3NsaWRlci9zcmMvbGliL3NsaWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFRNUMsSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQUFyQjtRQUNXLFlBQU8sR0FBaUMsYUFBYSxFQUFFLENBQUM7S0FnQnpFO0lBZEMsSUFBVyxLQUFLO1FBQ2QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQVcsR0FBRztRQUNaLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1osT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQ1csZUFBZTtRQUN4QixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs0R0FoQlUsZUFBZTtnR0FBZixlQUFlO0FBQWYsZUFBZTtJQU4zQixZQUFZLENBQUMsUUFBUSxDQUFDO0dBTVYsZUFBZSxDQWlCM0I7U0FqQlksZUFBZTsyRkFBZixlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDcEM7OEJBZVksZUFBZTtzQkFEekIsV0FBVzt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaXRoRGlzYWJsZWRTdGF0ZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5cbkBDU1NDb21wb25lbnQoJ3NsaWRlcicpXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPXJhbmdlXVtvZHhTbGlkZXJdJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtXaXRoRGlzYWJsZWRTdGF0ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNsaWRlckRpcmVjdGl2ZSB7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IG1heCgpOiBudW1iZXIge1xuICAgIHJldHVybiBOdW1iZXIodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQubWF4KSB8fCAxMDA7XG4gIH1cbiAgcHVibGljIGdldCBtaW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm1pbik7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoYHN0eWxlLi0tb2R4LXNsaWRlci1maWxsZWQuJWApXG4gIHB1YmxpYyBnZXQgdmFsdWVQZXJjZW50YWdlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICgxMDAgKiAodGhpcy52YWx1ZSAtIHRoaXMubWluKSkgLyAodGhpcy5tYXggLSB0aGlzLm1pbikgfHwgMDtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItY29tcG9uZW50cy1zbGlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zbGlkZXIvc3JjL29keC1hbmd1bGFyLWNvbXBvbmVudHMtc2xpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './lib/spinbox.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zcGluYm94L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvc3BpbmJveC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,91 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
3
+ import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';
4
+ import { detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';
5
+ import { ControlDirective, CustomFormControl } from '@odx/angular/cdk/custom-form-control';
6
+ import { CSSComponent } from '@odx/angular/internal';
7
+ import { fromEvents } from '@odx/angular/rxjs';
8
+ import { injectElement, Transform, untilDestroyed } from '@odx/angular/utils';
9
+ import { filter, NEVER, startWith, switchMap, tap, timer } from 'rxjs';
10
+ import * as i0 from "@angular/core";
11
+ let SpinboxComponent = class SpinboxComponent extends CustomFormControl {
12
+ constructor() {
13
+ super(0);
14
+ this.takeUntilDestroyed = untilDestroyed();
15
+ this.element = injectElement();
16
+ this.max = Infinity;
17
+ this.min = -Infinity;
18
+ this.step = 1;
19
+ detectControllerChanges(this).subscribe();
20
+ }
21
+ get inputElement() {
22
+ return this.control?.element.nativeElement;
23
+ }
24
+ ngAfterViewInit() {
25
+ this.registerPressHold(this.decrementButton).subscribe(() => {
26
+ this.inputElement?.stepDown();
27
+ this.onInputChange();
28
+ });
29
+ this.registerPressHold(this.incrementButton).subscribe(() => {
30
+ this.inputElement?.stepUp();
31
+ this.onInputChange();
32
+ });
33
+ }
34
+ maxSteps({ code }) {
35
+ if (code === 'End' && this.min !== -Infinity) {
36
+ this.updateValue(this.min);
37
+ }
38
+ else if (code === 'Home' && this.max !== Infinity) {
39
+ this.updateValue(this.max);
40
+ }
41
+ }
42
+ checkValue() {
43
+ const value = coerceNumberProperty(this.inputElement.value);
44
+ this.updateValue(value < this.min ? this.min : value > this.max ? this.max : value);
45
+ }
46
+ onInputChange() {
47
+ this.updateValue(coerceNumberProperty(this.inputElement.value));
48
+ }
49
+ registerPressHold(target) {
50
+ return fromEvents(target.nativeElement, 'keydown', 'mousedown', 'mouseup', 'keyup').pipe(filter((event) => event?.type !== 'keydown' || ['Space', 'Enter'].includes(event.code)), tap((event) => {
51
+ event.preventDefault();
52
+ event.stopPropagation();
53
+ }), switchMap(({ type }) => (['mouseup', 'keyup'].includes(type) ? NEVER : timer(500, 100).pipe(startWith(undefined)))), this.takeUntilDestroyed());
54
+ }
55
+ };
56
+ SpinboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SpinboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
+ SpinboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", 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 });
58
+ __decorate([
59
+ Transform(coerceNumberProperty),
60
+ __metadata("design:type", Object)
61
+ ], SpinboxComponent.prototype, "max", void 0);
62
+ __decorate([
63
+ Transform(coerceNumberProperty),
64
+ __metadata("design:type", Object)
65
+ ], SpinboxComponent.prototype, "min", void 0);
66
+ __decorate([
67
+ Transform(coerceNumberProperty),
68
+ __metadata("design:type", Object)
69
+ ], SpinboxComponent.prototype, "step", void 0);
70
+ SpinboxComponent = __decorate([
71
+ CSSComponent('spinbox'),
72
+ __metadata("design:paramtypes", [])
73
+ ], SpinboxComponent);
74
+ export { SpinboxComponent };
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SpinboxComponent, decorators: [{
76
+ type: Component,
77
+ 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" }]
78
+ }], ctorParameters: function () { return []; }, propDecorators: { decrementButton: [{
79
+ type: ViewChild,
80
+ args: ['decrementButton']
81
+ }], incrementButton: [{
82
+ type: ViewChild,
83
+ args: ['incrementButton']
84
+ }], max: [{
85
+ type: Input
86
+ }], min: [{
87
+ type: Input
88
+ }], step: [{
89
+ type: Input
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpbmJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zcGluYm94L3NyYy9saWIvc3BpbmJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zcGluYm94L3NyYy9saWIvc3BpbmJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWMsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVk1RSxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFpQixTQUFRLGlCQUF5QjtJQStCN0Q7UUFDRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUEzQk0sdUJBQWtCLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFZdkMsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBSW5DLFFBQUcsR0FBRyxRQUFRLENBQUM7UUFJZixRQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFJaEIsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUlkLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUEzQkQsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsYUFBaUMsQ0FBQztJQUNqRSxDQUFDO0lBMkJNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzFELElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzFELElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBaUI7UUFDeEMsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUI7YUFBTSxJQUFJLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRVMsVUFBVTtRQUNsQixNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRVMsYUFBYTtRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBK0I7UUFDdkQsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3RGLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFFLEtBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDMUcsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbkgsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQzFCLENBQUM7SUFDSixDQUFDOzs2R0ExRVUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsNEdBRmhCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUMsMFFDakJ6RSxtbEJBZ0JBLDRDREFZLGdCQUFnQjtBQXNCMUI7SUFBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7OzZDQUVWO0FBRXRCO0lBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDOzs2Q0FFVDtBQUV2QjtJQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQzs7OENBRWhCO0FBN0JMLGdCQUFnQjtJQVY1QixZQUFZLENBQUMsU0FBUyxDQUFDOztHQVVYLGdCQUFnQixDQTJFNUI7U0EzRVksZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBVDVCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGFBQWEsbUJBRU4sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLGdCQUFnQixDQUFDLGFBQ2hCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7MEVBYzdELGVBQWU7c0JBRHhCLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUlsQixlQUFlO3NCQUR4QixTQUFTO3VCQUFDLGlCQUFpQjtnQkFPckIsR0FBRztzQkFEVCxLQUFLO2dCQUtDLEdBQUc7c0JBRFQsS0FBSztnQkFLQyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgTnVtYmVySW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzLCBEaXNhYmxlZENvbnRyb2xsZXIsIFJlYWRvbmx5Q29udHJvbGxlciB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDb250cm9sRGlyZWN0aXZlLCBDdXN0b21Gb3JtQ29udHJvbCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZnJvbUV2ZW50cyB9IGZyb20gJ0BvZHgvYW5ndWxhci9yeGpzJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQsIFRyYW5zZm9ybSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZmlsdGVyLCBORVZFUiwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCwgdGltZXIgfSBmcm9tICdyeGpzJztcblxuQENTU0NvbXBvbmVudCgnc3BpbmJveCcpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtc3BpbmJveCcsXG4gIHRlbXBsYXRlVXJsOiAnc3BpbmJveC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQ29udHJvbERpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW0Rpc2FibGVkQ29udHJvbGxlci5jb25uZWN0KCksIFJlYWRvbmx5Q29udHJvbGxlci5jb25uZWN0KCldLFxufSlcbmV4cG9ydCBjbGFzcyBTcGluYm94Q29tcG9uZW50IGV4dGVuZHMgQ3VzdG9tRm9ybUNvbnRyb2w8bnVtYmVyPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX21heDogTnVtYmVySW5wdXQ7XG4gIHB1YmxpYyBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbWluOiBOdW1iZXJJbnB1dDtcbiAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zdGVwOiBOdW1iZXJJbnB1dDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRha2VVbnRpbERlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG5cbiAgcHJpdmF0ZSBnZXQgaW5wdXRFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2w/LmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZGVjcmVtZW50QnV0dG9uJylcbiAgcHJvdGVjdGVkIGRlY3JlbWVudEJ1dHRvbiE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2luY3JlbWVudEJ1dHRvbicpXG4gIHByb3RlY3RlZCBpbmNyZW1lbnRCdXR0b24hOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBAVHJhbnNmb3JtKGNvZXJjZU51bWJlclByb3BlcnR5KVxuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4ID0gSW5maW5pdHk7XG5cbiAgQFRyYW5zZm9ybShjb2VyY2VOdW1iZXJQcm9wZXJ0eSlcbiAgQElucHV0KClcbiAgcHVibGljIG1pbiA9IC1JbmZpbml0eTtcblxuICBAVHJhbnNmb3JtKGNvZXJjZU51bWJlclByb3BlcnR5KVxuICBASW5wdXQoKVxuICBwdWJsaWMgc3RlcCA9IDE7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoMCk7XG4gICAgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXModGhpcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJQcmVzc0hvbGQodGhpcy5kZWNyZW1lbnRCdXR0b24pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudD8uc3RlcERvd24oKTtcbiAgICAgIHRoaXMub25JbnB1dENoYW5nZSgpO1xuICAgIH0pO1xuICAgIHRoaXMucmVnaXN0ZXJQcmVzc0hvbGQodGhpcy5pbmNyZW1lbnRCdXR0b24pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudD8uc3RlcFVwKCk7XG4gICAgICB0aGlzLm9uSW5wdXRDaGFuZ2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXhTdGVwcyh7IGNvZGUgfTogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChjb2RlID09PSAnRW5kJyAmJiB0aGlzLm1pbiAhPT0gLUluZmluaXR5KSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMubWluKTtcbiAgICB9IGVsc2UgaWYgKGNvZGUgPT09ICdIb21lJyAmJiB0aGlzLm1heCAhPT0gSW5maW5pdHkpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5tYXgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjaGVja1ZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gY29lcmNlTnVtYmVyUHJvcGVydHkodGhpcy5pbnB1dEVsZW1lbnQudmFsdWUpO1xuICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUgPCB0aGlzLm1pbiA/IHRoaXMubWluIDogdmFsdWUgPiB0aGlzLm1heCA/IHRoaXMubWF4IDogdmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW5wdXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShjb2VyY2VOdW1iZXJQcm9wZXJ0eSh0aGlzLmlucHV0RWxlbWVudC52YWx1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclByZXNzSG9sZCh0YXJnZXQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIGZyb21FdmVudHModGFyZ2V0Lm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duJywgJ21vdXNlZG93bicsICdtb3VzZXVwJywgJ2tleXVwJykucGlwZShcbiAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50Py50eXBlICE9PSAna2V5ZG93bicgfHwgWydTcGFjZScsICdFbnRlciddLmluY2x1ZGVzKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5jb2RlKSksXG4gICAgICB0YXAoKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKHsgdHlwZSB9KSA9PiAoWydtb3VzZXVwJywgJ2tleXVwJ10uaW5jbHVkZXModHlwZSkgPyBORVZFUiA6IHRpbWVyKDUwMCwgMTAwKS5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKSkpLFxuICAgICAgdGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKVxuICAgICk7XG4gIH1cbn1cbiIsIjxidXR0b24gW2Rpc2FibGVkXT1cImlzRGlzYWJsZWQgfHwgaXNSZWFkb25seVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm9keC1zcGluYm94X19hY3Rpb24gb2R4LWljb24gb2R4LWljb24tbWludXNcIiAjZGVjcmVtZW50QnV0dG9uPjwvYnV0dG9uPlxuPGlucHV0XG4gIG9keENvbnRyb2xcbiAgY2xhc3M9XCJvZHgtc3BpbmJveF9faW5wdXRcIlxuICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIFtyZWFkb25seV09XCJpc1JlYWRvbmx5XCJcbiAgdHlwZT1cIm51bWJlclwiXG4gIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gIFttaW5dPVwibWluXCJcbiAgW21heF09XCJtYXhcIlxuICBbc3RlcF09XCJzdGVwXCJcbiAgKGtleWRvd24pPVwibWF4U3RlcHMoJGV2ZW50KVwiXG4gIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgpXCJcbiAgKGJsdXIpPVwiY2hlY2tWYWx1ZSgpXCJcbi8+XG48YnV0dG9uIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkIHx8IGlzUmVhZG9ubHlcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJvZHgtc3BpbmJveF9fYWN0aW9uIG9keC1pY29uIG9keC1pY29uLXBsdXNcIiAjaW5jcmVtZW50QnV0dG9uPjwvYnV0dG9uPlxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItY29tcG9uZW50cy1zcGluYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvc3BpbmJveC9zcmMvb2R4LWFuZ3VsYXItY29tcG9uZW50cy1zcGluYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,4 @@
1
+ export * from './lib/switch.component';
2
+ export * from './lib/switch.module';
3
+ export * from './lib/switch.validator';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zd2l0Y2gvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvc3dpdGNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zd2l0Y2gubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N3aXRjaC52YWxpZGF0b3InO1xuIl19