@updevs/components 1.0.0-alpha.5 → 1.0.0-alpha.6

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 (465) hide show
  1. package/button/button.component.d.ts +43 -0
  2. package/button/upd-button.module.d.ts +8 -0
  3. package/card/card.component.d.ts +54 -0
  4. package/card/directives/card-actions.directive.d.ts +8 -0
  5. package/card/directives/card-footer.directive.d.ts +8 -0
  6. package/card/directives/card-header.directive.d.ts +8 -0
  7. package/card/directives/card-image.directive.d.ts +8 -0
  8. package/card/upd-card.module.d.ts +14 -0
  9. package/dropdown/dropdown.component.d.ts +63 -0
  10. package/dropdown/{src/models/dropdown-item.ts → models/dropdown-item.d.ts} +0 -2
  11. package/dropdown/upd-dropdown.module.d.ts +12 -0
  12. package/esm2022/button/button.component.mjs +163 -0
  13. package/esm2022/button/index.mjs +2 -0
  14. package/esm2022/button/public-api.mjs +3 -0
  15. package/esm2022/button/upd-button.module.mjs +24 -0
  16. package/esm2022/button/updevs-components-button.mjs +5 -0
  17. package/esm2022/card/card.component.mjs +136 -0
  18. package/esm2022/card/directives/card-actions.directive.mjs +16 -0
  19. package/esm2022/card/directives/card-footer.directive.mjs +16 -0
  20. package/esm2022/card/directives/card-header.directive.mjs +16 -0
  21. package/esm2022/card/directives/card-image.directive.mjs +16 -0
  22. package/esm2022/card/directives/public-api.mjs +5 -0
  23. package/esm2022/card/index.mjs +2 -0
  24. package/esm2022/card/public-api.mjs +4 -0
  25. package/esm2022/card/types/card-state.type.mjs +2 -0
  26. package/esm2022/card/types/card-style.type.mjs +2 -0
  27. package/esm2022/card/types/hover-effect.type.mjs +2 -0
  28. package/esm2022/card/types/ribbon-style.type.mjs +2 -0
  29. package/esm2022/card/types/status-position.type.mjs +2 -0
  30. package/esm2022/card/upd-card.module.mjs +50 -0
  31. package/esm2022/card/updevs-components-card.mjs +5 -0
  32. package/esm2022/dropdown/dropdown.component.mjs +146 -0
  33. package/esm2022/dropdown/index.mjs +2 -0
  34. package/esm2022/dropdown/models/dropdown-item.mjs +2 -0
  35. package/esm2022/dropdown/models/dropdown-item.type.mjs +2 -0
  36. package/esm2022/dropdown/models/public-api.mjs +3 -0
  37. package/esm2022/dropdown/public-api.mjs +4 -0
  38. package/esm2022/dropdown/upd-dropdown.module.mjs +40 -0
  39. package/esm2022/dropdown/updevs-components-dropdown.mjs +5 -0
  40. package/esm2022/form/form.module.mjs +18 -0
  41. package/esm2022/form/index.mjs +2 -0
  42. package/esm2022/form/public-api.mjs +2 -0
  43. package/esm2022/form/updevs-components-form.mjs +5 -0
  44. package/esm2022/form-controls/checkbox/checkbox.component.mjs +68 -0
  45. package/esm2022/form-controls/checkbox/index.mjs +2 -0
  46. package/esm2022/form-controls/checkbox/public-api.mjs +3 -0
  47. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +28 -0
  48. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +5 -0
  49. package/esm2022/form-controls/input/directives/input-append.directive.mjs +16 -0
  50. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +16 -0
  51. package/esm2022/form-controls/input/directives/public-api.mjs +3 -0
  52. package/esm2022/form-controls/input/index.mjs +2 -0
  53. package/esm2022/form-controls/input/input.component.mjs +155 -0
  54. package/esm2022/form-controls/input/public-api.mjs +5 -0
  55. package/esm2022/form-controls/input/types/input.type.mjs +2 -0
  56. package/esm2022/form-controls/input/types/loader-position.type.mjs +2 -0
  57. package/esm2022/form-controls/input/types/public-api.mjs +3 -0
  58. package/esm2022/form-controls/input/upd-input.module.mjs +46 -0
  59. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +5 -0
  60. package/esm2022/form-controls/radio/index.mjs +2 -0
  61. package/esm2022/form-controls/radio/public-api.mjs +3 -0
  62. package/esm2022/form-controls/radio/radio.component.mjs +64 -0
  63. package/esm2022/form-controls/radio/upd-radio.module.mjs +24 -0
  64. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +5 -0
  65. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +66 -0
  66. package/esm2022/form-controls/select/components/single/select.component.mjs +54 -0
  67. package/esm2022/form-controls/select/index.mjs +2 -0
  68. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +208 -0
  69. package/esm2022/form-controls/select/models/public-api.mjs +2 -0
  70. package/esm2022/form-controls/select/models/select-item.mjs +2 -0
  71. package/esm2022/form-controls/select/public-api.mjs +5 -0
  72. package/esm2022/form-controls/select/upd-select.module.mjs +53 -0
  73. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +5 -0
  74. package/esm2022/form-controls/textarea/index.mjs +2 -0
  75. package/esm2022/form-controls/textarea/public-api.mjs +3 -0
  76. package/esm2022/form-controls/textarea/textarea.component.mjs +62 -0
  77. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +24 -0
  78. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +5 -0
  79. package/esm2022/form-controls/time-picker/index.mjs +2 -0
  80. package/esm2022/form-controls/time-picker/public-api.mjs +4 -0
  81. package/esm2022/form-controls/time-picker/time-picker.component.mjs +130 -0
  82. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +125 -0
  83. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +60 -0
  84. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +5 -0
  85. package/esm2022/layout/abstractions/base-page.component.mjs +24 -0
  86. package/esm2022/layout/abstractions/public-api.mjs +2 -0
  87. package/esm2022/layout/index.mjs +2 -0
  88. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +11 -0
  89. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +24 -0
  90. package/esm2022/layout/layouts/public-api.mjs +5 -0
  91. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +33 -0
  92. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +81 -0
  93. package/esm2022/layout/models/public-api.mjs +2 -0
  94. package/esm2022/layout/models/upd-layout-config.model.mjs +30 -0
  95. package/esm2022/layout/models/upd-layout.config.mjs +2 -0
  96. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +28 -0
  97. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +46 -0
  98. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +11 -0
  99. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +27 -0
  100. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +11 -0
  101. package/esm2022/layout/pages/auth-flow/public-api.mjs +6 -0
  102. package/esm2022/layout/pages/public-api.mjs +2 -0
  103. package/esm2022/layout/partials/footer/footer-copyright.directive.mjs +15 -0
  104. package/esm2022/layout/partials/footer/footer.component.mjs +66 -0
  105. package/esm2022/layout/partials/footer/public-api.mjs +3 -0
  106. package/esm2022/layout/partials/header/header-style.type.mjs +2 -0
  107. package/esm2022/layout/partials/header/header.component.mjs +79 -0
  108. package/esm2022/layout/partials/header/public-api.mjs +3 -0
  109. package/esm2022/layout/partials/page-header/page-header.component.mjs +15 -0
  110. package/esm2022/layout/partials/page-header/public-api.mjs +2 -0
  111. package/esm2022/layout/partials/public-api.mjs +5 -0
  112. package/esm2022/layout/partials/sidebar/public-api.mjs +2 -0
  113. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +144 -0
  114. package/esm2022/layout/public-api.mjs +8 -0
  115. package/esm2022/layout/services/public-api.mjs +2 -0
  116. package/esm2022/layout/services/upd-layout-config.service.mjs +21 -0
  117. package/esm2022/layout/tools/layout.constants.mjs +15 -0
  118. package/esm2022/layout/upd-layout.module.mjs +43 -0
  119. package/esm2022/layout/updevs-components-layout.mjs +5 -0
  120. package/esm2022/lib/index.mjs +2 -0
  121. package/esm2022/lib/public-api.mjs +3 -0
  122. package/esm2022/lib/types/component-size.type.mjs +2 -0
  123. package/esm2022/lib/types/public-api.mjs +3 -0
  124. package/esm2022/lib/types/validation-status.type.mjs +2 -0
  125. package/esm2022/lib/upd-components.module.mjs +14 -0
  126. package/esm2022/link/index.mjs +2 -0
  127. package/esm2022/link/link.component.mjs +51 -0
  128. package/esm2022/link/public-api.mjs +4 -0
  129. package/esm2022/link/target.type.mjs +2 -0
  130. package/esm2022/link/upd-link.module.mjs +24 -0
  131. package/esm2022/link/updevs-components-link.mjs +5 -0
  132. package/esm2022/list/index.mjs +2 -0
  133. package/esm2022/list/list.component.mjs +134 -0
  134. package/esm2022/list/models/badge-position.type.mjs +2 -0
  135. package/esm2022/list/models/list-item.mjs +2 -0
  136. package/esm2022/list/models/list-item.model.mjs +15 -0
  137. package/esm2022/list/models/public-api.mjs +3 -0
  138. package/esm2022/list/public-api.mjs +4 -0
  139. package/esm2022/list/upd-list.module.mjs +43 -0
  140. package/esm2022/list/updevs-components-list.mjs +5 -0
  141. package/esm2022/popover/index.mjs +2 -0
  142. package/esm2022/popover/popover.component.mjs +65 -0
  143. package/esm2022/popover/popover.directive.mjs +129 -0
  144. package/esm2022/popover/public-api.mjs +4 -0
  145. package/esm2022/popover/upd-popover.module.mjs +29 -0
  146. package/esm2022/popover/updevs-components-popover.mjs +5 -0
  147. package/esm2022/public-api.mjs +2 -0
  148. package/esm2022/updevs-components.mjs +5 -0
  149. package/fesm2022/updevs-components-button.mjs +191 -0
  150. package/fesm2022/updevs-components-button.mjs.map +1 -0
  151. package/fesm2022/updevs-components-card.mjs +238 -0
  152. package/fesm2022/updevs-components-card.mjs.map +1 -0
  153. package/fesm2022/updevs-components-dropdown.mjs +190 -0
  154. package/fesm2022/updevs-components-dropdown.mjs.map +1 -0
  155. package/fesm2022/updevs-components-form-controls-checkbox.mjs +100 -0
  156. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -0
  157. package/fesm2022/updevs-components-form-controls-input.mjs +229 -0
  158. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -0
  159. package/fesm2022/updevs-components-form-controls-radio.mjs +92 -0
  160. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -0
  161. package/fesm2022/updevs-components-form-controls-select.mjs +372 -0
  162. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -0
  163. package/fesm2022/updevs-components-form-controls-textarea.mjs +90 -0
  164. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -0
  165. package/fesm2022/updevs-components-form-controls-time-picker.mjs +345 -0
  166. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -0
  167. package/fesm2022/updevs-components-form.mjs +25 -0
  168. package/fesm2022/updevs-components-form.mjs.map +1 -0
  169. package/fesm2022/updevs-components-layout.mjs +673 -0
  170. package/fesm2022/updevs-components-layout.mjs.map +1 -0
  171. package/fesm2022/updevs-components-link.mjs +79 -0
  172. package/fesm2022/updevs-components-link.mjs.map +1 -0
  173. package/fesm2022/updevs-components-list.mjs +226 -0
  174. package/fesm2022/updevs-components-list.mjs.map +1 -0
  175. package/fesm2022/updevs-components-popover.mjs +223 -0
  176. package/fesm2022/updevs-components-popover.mjs.map +1 -0
  177. package/fesm2022/updevs-components.mjs +21 -0
  178. package/fesm2022/updevs-components.mjs.map +1 -0
  179. package/form/form.module.d.ts +7 -0
  180. package/form-controls/checkbox/checkbox.component.d.ts +25 -0
  181. package/form-controls/checkbox/{src/public-api.ts → public-api.d.ts} +0 -1
  182. package/form-controls/checkbox/upd-checkbox.module.d.ts +9 -0
  183. package/form-controls/input/directives/input-append.directive.d.ts +8 -0
  184. package/form-controls/input/directives/input-prepend.directive.d.ts +8 -0
  185. package/form-controls/input/input.component.d.ts +54 -0
  186. package/form-controls/input/upd-input.module.d.ts +13 -0
  187. package/form-controls/radio/radio.component.d.ts +24 -0
  188. package/form-controls/radio/upd-radio.module.d.ts +8 -0
  189. package/form-controls/select/components/multiple/select-multiple.component.d.ts +18 -0
  190. package/form-controls/select/components/single/select.component.d.ts +20 -0
  191. package/form-controls/select/models/abstractions/base-select.component.d.ts +80 -0
  192. package/form-controls/select/{src/models/select-item.ts → models/select-item.d.ts} +0 -1
  193. package/form-controls/select/upd-select.module.d.ts +15 -0
  194. package/form-controls/textarea/textarea.component.d.ts +23 -0
  195. package/form-controls/textarea/upd-textarea.module.d.ts +8 -0
  196. package/form-controls/time-picker/time-picker.component.d.ts +78 -0
  197. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +69 -0
  198. package/form-controls/time-picker/upd-time-picker.module.d.ts +17 -0
  199. package/index.d.ts +5 -0
  200. package/layout/abstractions/base-page.component.d.ts +13 -0
  201. package/layout/layouts/blank-layout/blank-layout.component.d.ts +5 -0
  202. package/layout/layouts/blank-layout/blank-layout.module.d.ts +8 -0
  203. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +13 -0
  204. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +20 -0
  205. package/layout/models/upd-layout-config.model.d.ts +39 -0
  206. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +12 -0
  207. package/layout/pages/auth-flow/auth-flow.module.d.ts +13 -0
  208. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +5 -0
  209. package/layout/pages/auth-flow/login/login.component.d.ts +12 -0
  210. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +5 -0
  211. package/layout/partials/footer/footer-copyright.directive.d.ts +6 -0
  212. package/layout/partials/footer/footer.component.d.ts +45 -0
  213. package/layout/partials/header/header.component.d.ts +33 -0
  214. package/layout/partials/page-header/page-header.component.d.ts +7 -0
  215. package/layout/partials/sidebar/sidebar.component.d.ts +21 -0
  216. package/layout/services/upd-layout-config.service.d.ts +15 -0
  217. package/layout/{src/tools/layout.constants.ts → tools/layout.constants.d.ts} +3 -6
  218. package/layout/upd-layout.module.d.ts +18 -0
  219. package/lib/upd-components.module.d.ts +6 -0
  220. package/link/link.component.d.ts +22 -0
  221. package/link/upd-link.module.d.ts +8 -0
  222. package/list/list.component.d.ts +62 -0
  223. package/list/{src/models/list-item.ts → models/list-item.d.ts} +0 -2
  224. package/list/{src/models/list-item.model.ts → models/list-item.model.d.ts} +5 -16
  225. package/list/upd-list.module.d.ts +13 -0
  226. package/package.json +114 -21
  227. package/popover/popover.component.d.ts +22 -0
  228. package/popover/popover.directive.d.ts +35 -0
  229. package/popover/upd-popover.module.d.ts +9 -0
  230. package/CHANGELOG.md +0 -8
  231. package/button/index.ts +0 -1
  232. package/button/ng-package.json +0 -7
  233. package/button/src/button.component.html +0 -8
  234. package/button/src/button.component.scss +0 -5
  235. package/button/src/button.component.spec.ts +0 -23
  236. package/button/src/button.component.ts +0 -154
  237. package/button/src/upd-button.module.ts +0 -17
  238. package/card/index.ts +0 -1
  239. package/card/ng-package.json +0 -7
  240. package/card/src/card.component.html +0 -105
  241. package/card/src/card.component.scss +0 -47
  242. package/card/src/card.component.spec.ts +0 -23
  243. package/card/src/card.component.ts +0 -112
  244. package/card/src/directives/card-actions.directive.spec.ts +0 -8
  245. package/card/src/directives/card-actions.directive.ts +0 -11
  246. package/card/src/directives/card-footer.directive.spec.ts +0 -8
  247. package/card/src/directives/card-footer.directive.ts +0 -11
  248. package/card/src/directives/card-header.directive.spec.ts +0 -8
  249. package/card/src/directives/card-header.directive.ts +0 -11
  250. package/card/src/directives/card-image.directive.spec.ts +0 -8
  251. package/card/src/directives/card-image.directive.ts +0 -11
  252. package/card/src/types/public-api.ts +0 -5
  253. package/card/src/upd-card.module.ts +0 -32
  254. package/dropdown/index.ts +0 -1
  255. package/dropdown/ng-package.json +0 -7
  256. package/dropdown/src/dropdown.component.html +0 -32
  257. package/dropdown/src/dropdown.component.scss +0 -19
  258. package/dropdown/src/dropdown.component.spec.ts +0 -23
  259. package/dropdown/src/dropdown.component.ts +0 -182
  260. package/dropdown/src/upd-dropdown.module.ts +0 -25
  261. package/form/index.ts +0 -1
  262. package/form/ng-package.json +0 -7
  263. package/form/src/form.module.ts +0 -10
  264. package/form-controls/checkbox/index.ts +0 -1
  265. package/form-controls/checkbox/ng-package.json +0 -7
  266. package/form-controls/checkbox/src/checkbox.component.html +0 -7
  267. package/form-controls/checkbox/src/checkbox.component.scss +0 -0
  268. package/form-controls/checkbox/src/checkbox.component.spec.ts +0 -23
  269. package/form-controls/checkbox/src/checkbox.component.ts +0 -48
  270. package/form-controls/checkbox/src/upd-checkbox.module.ts +0 -19
  271. package/form-controls/input/index.ts +0 -1
  272. package/form-controls/input/ng-package.json +0 -7
  273. package/form-controls/input/src/directives/input-append.directive.spec.ts +0 -8
  274. package/form-controls/input/src/directives/input-append.directive.ts +0 -11
  275. package/form-controls/input/src/directives/input-prepend.directive.spec.ts +0 -8
  276. package/form-controls/input/src/directives/input-prepend.directive.ts +0 -11
  277. package/form-controls/input/src/input.component.html +0 -82
  278. package/form-controls/input/src/input.component.scss +0 -13
  279. package/form-controls/input/src/input.component.spec.ts +0 -23
  280. package/form-controls/input/src/input.component.ts +0 -124
  281. package/form-controls/input/src/upd-input.module.ts +0 -29
  282. package/form-controls/radio/index.ts +0 -1
  283. package/form-controls/radio/ng-package.json +0 -7
  284. package/form-controls/radio/src/radio.component.html +0 -7
  285. package/form-controls/radio/src/radio.component.scss +0 -0
  286. package/form-controls/radio/src/radio.component.spec.ts +0 -23
  287. package/form-controls/radio/src/radio.component.ts +0 -47
  288. package/form-controls/radio/src/upd-radio.module.ts +0 -17
  289. package/form-controls/select/index.ts +0 -1
  290. package/form-controls/select/ng-package.json +0 -7
  291. package/form-controls/select/src/components/multiple/select-multiple.component.html +0 -41
  292. package/form-controls/select/src/components/multiple/select-multiple.component.scss +0 -6
  293. package/form-controls/select/src/components/multiple/select-multiple.component.spec.ts +0 -21
  294. package/form-controls/select/src/components/multiple/select-multiple.component.ts +0 -69
  295. package/form-controls/select/src/components/shared.scss +0 -40
  296. package/form-controls/select/src/components/single/select.component.html +0 -53
  297. package/form-controls/select/src/components/single/select.component.scss +0 -3
  298. package/form-controls/select/src/components/single/select.component.spec.ts +0 -23
  299. package/form-controls/select/src/components/single/select.component.ts +0 -58
  300. package/form-controls/select/src/models/abstractions/base-select.component.ts +0 -259
  301. package/form-controls/select/src/upd-select.module.ts +0 -32
  302. package/form-controls/textarea/index.ts +0 -1
  303. package/form-controls/textarea/ng-package.json +0 -7
  304. package/form-controls/textarea/src/textarea.component.html +0 -8
  305. package/form-controls/textarea/src/textarea.component.scss +0 -0
  306. package/form-controls/textarea/src/textarea.component.spec.ts +0 -23
  307. package/form-controls/textarea/src/textarea.component.ts +0 -47
  308. package/form-controls/textarea/src/upd-textarea.module.ts +0 -17
  309. package/form-controls/time-picker/index.ts +0 -1
  310. package/form-controls/time-picker/ng-package.json +0 -7
  311. package/form-controls/time-picker/src/time-picker.component.html +0 -17
  312. package/form-controls/time-picker/src/time-picker.component.scss +0 -10
  313. package/form-controls/time-picker/src/time-picker.component.spec.ts +0 -21
  314. package/form-controls/time-picker/src/time-picker.component.ts +0 -110
  315. package/form-controls/time-picker/src/time-selector/time-selector.component.html +0 -44
  316. package/form-controls/time-picker/src/time-selector/time-selector.component.scss +0 -47
  317. package/form-controls/time-picker/src/time-selector/time-selector.component.spec.ts +0 -21
  318. package/form-controls/time-picker/src/time-selector/time-selector.component.ts +0 -107
  319. package/form-controls/time-picker/src/upd-time-picker.module.ts +0 -39
  320. package/index.ts +0 -1
  321. package/layout/index.ts +0 -1
  322. package/layout/ng-package.json +0 -7
  323. package/layout/src/abstractions/base-page.component.ts +0 -21
  324. package/layout/src/layouts/blank-layout/blank-layout.component.html +0 -1
  325. package/layout/src/layouts/blank-layout/blank-layout.component.scss +0 -0
  326. package/layout/src/layouts/blank-layout/blank-layout.component.spec.ts +0 -23
  327. package/layout/src/layouts/blank-layout/blank-layout.component.ts +0 -10
  328. package/layout/src/layouts/blank-layout/blank-layout.module.ts +0 -17
  329. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html +0 -14
  330. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.scss +0 -0
  331. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.spec.ts +0 -23
  332. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts +0 -31
  333. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts +0 -52
  334. package/layout/src/models/upd-layout-config.model.ts +0 -71
  335. package/layout/src/pages/auth-flow/auth-flow-routing.module.ts +0 -21
  336. package/layout/src/pages/auth-flow/auth-flow.module.ts +0 -29
  337. package/layout/src/pages/auth-flow/logged-out/logged-out.component.html +0 -1
  338. package/layout/src/pages/auth-flow/logged-out/logged-out.component.scss +0 -0
  339. package/layout/src/pages/auth-flow/logged-out/logged-out.component.spec.ts +0 -23
  340. package/layout/src/pages/auth-flow/logged-out/logged-out.component.ts +0 -10
  341. package/layout/src/pages/auth-flow/login/login.component.html +0 -96
  342. package/layout/src/pages/auth-flow/login/login.component.scss +0 -0
  343. package/layout/src/pages/auth-flow/login/login.component.spec.ts +0 -23
  344. package/layout/src/pages/auth-flow/login/login.component.ts +0 -26
  345. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html +0 -1
  346. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.scss +0 -0
  347. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.spec.ts +0 -23
  348. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts +0 -10
  349. package/layout/src/partials/footer/footer-copyright.directive.spec.ts +0 -8
  350. package/layout/src/partials/footer/footer-copyright.directive.ts +0 -9
  351. package/layout/src/partials/footer/footer.component.html +0 -30
  352. package/layout/src/partials/footer/footer.component.scss +0 -0
  353. package/layout/src/partials/footer/footer.component.spec.ts +0 -23
  354. package/layout/src/partials/footer/footer.component.ts +0 -73
  355. package/layout/src/partials/header/header.component.html +0 -163
  356. package/layout/src/partials/header/header.component.scss +0 -0
  357. package/layout/src/partials/header/header.component.spec.ts +0 -23
  358. package/layout/src/partials/header/header.component.ts +0 -86
  359. package/layout/src/partials/page-header/page-header.component.html +0 -19
  360. package/layout/src/partials/page-header/page-header.component.scss +0 -0
  361. package/layout/src/partials/page-header/page-header.component.spec.ts +0 -23
  362. package/layout/src/partials/page-header/page-header.component.ts +0 -11
  363. package/layout/src/partials/sidebar/sidebar.component.html +0 -62
  364. package/layout/src/partials/sidebar/sidebar.component.scss +0 -0
  365. package/layout/src/partials/sidebar/sidebar.component.spec.ts +0 -23
  366. package/layout/src/partials/sidebar/sidebar.component.ts +0 -161
  367. package/layout/src/services/upd-layout-config.service.spec.ts +0 -16
  368. package/layout/src/services/upd-layout-config.service.ts +0 -20
  369. package/layout/src/upd-layout.module.ts +0 -34
  370. package/link/index.ts +0 -1
  371. package/link/ng-package.json +0 -7
  372. package/link/src/link.component.html +0 -3
  373. package/link/src/link.component.scss +0 -3
  374. package/link/src/link.component.spec.ts +0 -23
  375. package/link/src/link.component.ts +0 -48
  376. package/link/src/upd-link.module.ts +0 -17
  377. package/list/index.ts +0 -1
  378. package/list/ng-package.json +0 -7
  379. package/list/src/list.component.html +0 -58
  380. package/list/src/list.component.scss +0 -21
  381. package/list/src/list.component.spec.ts +0 -23
  382. package/list/src/list.component.ts +0 -147
  383. package/list/src/upd-list.module.ts +0 -30
  384. package/ng-package.json +0 -10
  385. package/popover/index.ts +0 -1
  386. package/popover/ng-package.json +0 -7
  387. package/popover/src/popover.component.html +0 -20
  388. package/popover/src/popover.component.scss +0 -8
  389. package/popover/src/popover.component.spec.ts +0 -23
  390. package/popover/src/popover.component.ts +0 -53
  391. package/popover/src/popover.directive.spec.ts +0 -8
  392. package/popover/src/popover.directive.ts +0 -128
  393. package/popover/src/upd-popover.module.ts +0 -20
  394. package/src/lib/upd-components.module.ts +0 -6
  395. package/tsconfig.lib.json +0 -14
  396. package/tsconfig.lib.prod.json +0 -10
  397. package/tsconfig.spec.json +0 -14
  398. /package/button/{src/index.ts → index.d.ts} +0 -0
  399. /package/button/{src/public-api.ts → public-api.d.ts} +0 -0
  400. /package/card/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  401. /package/card/{src/index.ts → index.d.ts} +0 -0
  402. /package/card/{src/public-api.ts → public-api.d.ts} +0 -0
  403. /package/card/{src/types/card-state.type.ts → types/card-state.type.d.ts} +0 -0
  404. /package/card/{src/types/card-style.type.ts → types/card-style.type.d.ts} +0 -0
  405. /package/card/{src/types/hover-effect.type.ts → types/hover-effect.type.d.ts} +0 -0
  406. /package/card/{src/types/ribbon-style.type.ts → types/ribbon-style.type.d.ts} +0 -0
  407. /package/card/{src/types/status-position.type.ts → types/status-position.type.d.ts} +0 -0
  408. /package/dropdown/{src/index.ts → index.d.ts} +0 -0
  409. /package/dropdown/{src/models/dropdown-item.type.ts → models/dropdown-item.type.d.ts} +0 -0
  410. /package/dropdown/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  411. /package/dropdown/{src/public-api.ts → public-api.d.ts} +0 -0
  412. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/en.json +0 -0
  413. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/pt.json +0 -0
  414. /package/{layout/src → esm2022/layout}/assets/i18n/en.json +0 -0
  415. /package/{layout/src → esm2022/layout}/assets/i18n/pt.json +0 -0
  416. /package/{list/src → esm2022/list}/assets/i18n/en.json +0 -0
  417. /package/{list/src → esm2022/list}/assets/i18n/pt.json +0 -0
  418. /package/form/{src/index.ts → index.d.ts} +0 -0
  419. /package/form/{src/public-api.ts → public-api.d.ts} +0 -0
  420. /package/form-controls/checkbox/{src/index.ts → index.d.ts} +0 -0
  421. /package/form-controls/input/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  422. /package/form-controls/input/{src/index.ts → index.d.ts} +0 -0
  423. /package/form-controls/input/{src/public-api.ts → public-api.d.ts} +0 -0
  424. /package/form-controls/input/{src/types/input.type.ts → types/input.type.d.ts} +0 -0
  425. /package/form-controls/input/{src/types/loader-position.type.ts → types/loader-position.type.d.ts} +0 -0
  426. /package/form-controls/input/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
  427. /package/form-controls/radio/{src/index.ts → index.d.ts} +0 -0
  428. /package/form-controls/radio/{src/public-api.ts → public-api.d.ts} +0 -0
  429. /package/form-controls/select/{src/index.ts → index.d.ts} +0 -0
  430. /package/form-controls/select/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  431. /package/form-controls/select/{src/public-api.ts → public-api.d.ts} +0 -0
  432. /package/form-controls/textarea/{src/index.ts → index.d.ts} +0 -0
  433. /package/form-controls/textarea/{src/public-api.ts → public-api.d.ts} +0 -0
  434. /package/form-controls/time-picker/{src/index.ts → index.d.ts} +0 -0
  435. /package/form-controls/time-picker/{src/public-api.ts → public-api.d.ts} +0 -0
  436. /package/layout/{src/abstractions/public-api.ts → abstractions/public-api.d.ts} +0 -0
  437. /package/layout/{src/index.ts → index.d.ts} +0 -0
  438. /package/layout/{src/layouts/public-api.ts → layouts/public-api.d.ts} +0 -0
  439. /package/layout/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  440. /package/layout/{src/models/upd-layout.config.ts → models/upd-layout.config.d.ts} +0 -0
  441. /package/layout/{src/pages/auth-flow/public-api.ts → pages/auth-flow/public-api.d.ts} +0 -0
  442. /package/layout/{src/pages/public-api.ts → pages/public-api.d.ts} +0 -0
  443. /package/layout/{src/partials/footer/public-api.ts → partials/footer/public-api.d.ts} +0 -0
  444. /package/layout/{src/partials/header/header-style.type.ts → partials/header/header-style.type.d.ts} +0 -0
  445. /package/layout/{src/partials/header/public-api.ts → partials/header/public-api.d.ts} +0 -0
  446. /package/layout/{src/partials/page-header/public-api.ts → partials/page-header/public-api.d.ts} +0 -0
  447. /package/layout/{src/partials/public-api.ts → partials/public-api.d.ts} +0 -0
  448. /package/layout/{src/partials/sidebar/public-api.ts → partials/sidebar/public-api.d.ts} +0 -0
  449. /package/layout/{src/public-api.ts → public-api.d.ts} +0 -0
  450. /package/layout/{src/services/public-api.ts → services/public-api.d.ts} +0 -0
  451. /package/{link/src/index.ts → lib/index.d.ts} +0 -0
  452. /package/{src/lib/public-api.ts → lib/public-api.d.ts} +0 -0
  453. /package/{src/lib/types/component-size.type.ts → lib/types/component-size.type.d.ts} +0 -0
  454. /package/{src/lib/types/public-api.ts → lib/types/public-api.d.ts} +0 -0
  455. /package/{src/lib/types/validation-status.type.ts → lib/types/validation-status.type.d.ts} +0 -0
  456. /package/{list/src/index.ts → link/index.d.ts} +0 -0
  457. /package/link/{src/public-api.ts → public-api.d.ts} +0 -0
  458. /package/link/{src/target.type.ts → target.type.d.ts} +0 -0
  459. /package/{popover/src/index.ts → list/index.d.ts} +0 -0
  460. /package/list/{src/models/badge-position.type.ts → models/badge-position.type.d.ts} +0 -0
  461. /package/list/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  462. /package/list/{src/public-api.ts → public-api.d.ts} +0 -0
  463. /package/{src/lib/index.ts → popover/index.d.ts} +0 -0
  464. /package/popover/{src/public-api.ts → public-api.d.ts} +0 -0
  465. /package/{src/public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1,64 @@
1
+ import { Component, Input, HostBinding, ViewEncapsulation, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class RadioComponent {
5
+ constructor() {
6
+ this.wrapperClasses = '';
7
+ this.isDisabled = false;
8
+ this.isReadOnly = false;
9
+ this.isChecked = false;
10
+ this.isInline = false;
11
+ this.selected = new EventEmitter();
12
+ this.classes = [];
13
+ }
14
+ ngOnInit() {
15
+ this.updateClasses();
16
+ }
17
+ ngOnChanges(changes) {
18
+ this.updateClasses();
19
+ }
20
+ updateClasses() {
21
+ const lClasses = ['form-check-input'];
22
+ if (!!this.validationStatus) {
23
+ const statusCls = `is-${this.validationStatus}`;
24
+ lClasses.push(statusCls);
25
+ }
26
+ this.classes = [...lClasses, ...(this.customClasses || '').split(' ')];
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: RadioComponent, selector: "upd-radio", inputs: { wrapperClasses: "wrapperClasses", label: "label", value: "value", customClasses: "customClasses", name: "name", description: "description", isDisabled: "isDisabled", isReadOnly: "isReadOnly", isChecked: "isChecked", isInline: "isInline", validationStatus: "validationStatus", invalidStatusText: "invalidStatusText" }, outputs: { selected: "selected" }, host: { properties: { "class": "this.wrapperClasses" } }, usesOnChanges: true, ngImport: i0, template: "<label class=\"form-check\" [class.form-check-inline]=\"isInline\">\n <input type=\"radio\" (change)=\"selected.emit()\" [disabled]=\"isDisabled\" [ngClass]=\"classes\" [value]=\"value\" [attr.name]=\"name\"\n [attr.readonly]=\"isReadOnly ? '' : undefined\" [checked]=\"isChecked\">\n <span *ngIf=\"!!label\" class=\"form-check-label\">{{label}}</span>\n <span *ngIf=\"!!description\" class=\"form-check-description\">{{description}}</span>\n <div *ngIf=\"validationStatus === 'invalid' && !!invalidStatusText\" class=\"invalid-feedback\">{{invalidStatusText}}</div>\n</label>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: RadioComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'upd-radio', encapsulation: ViewEncapsulation.None, template: "<label class=\"form-check\" [class.form-check-inline]=\"isInline\">\n <input type=\"radio\" (change)=\"selected.emit()\" [disabled]=\"isDisabled\" [ngClass]=\"classes\" [value]=\"value\" [attr.name]=\"name\"\n [attr.readonly]=\"isReadOnly ? '' : undefined\" [checked]=\"isChecked\">\n <span *ngIf=\"!!label\" class=\"form-check-label\">{{label}}</span>\n <span *ngIf=\"!!description\" class=\"form-check-description\">{{description}}</span>\n <div *ngIf=\"validationStatus === 'invalid' && !!invalidStatusText\" class=\"invalid-feedback\">{{invalidStatusText}}</div>\n</label>\n" }]
34
+ }], propDecorators: { wrapperClasses: [{
35
+ type: HostBinding,
36
+ args: ['class']
37
+ }, {
38
+ type: Input
39
+ }], label: [{
40
+ type: Input
41
+ }], value: [{
42
+ type: Input
43
+ }], customClasses: [{
44
+ type: Input
45
+ }], name: [{
46
+ type: Input
47
+ }], description: [{
48
+ type: Input
49
+ }], isDisabled: [{
50
+ type: Input
51
+ }], isReadOnly: [{
52
+ type: Input
53
+ }], isChecked: [{
54
+ type: Input
55
+ }], isInline: [{
56
+ type: Input
57
+ }], validationStatus: [{
58
+ type: Input
59
+ }], invalidStatusText: [{
60
+ type: Input
61
+ }], selected: [{
62
+ type: Output
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9yYWRpby9zcmMvcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9yYWRpby9zcmMvcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsS0FBSyxFQUFpQixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU3pJLE1BQU0sT0FBTyxjQUFjO0lBTjNCO1FBT21DLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBTzFDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFJUCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV2RCxZQUFPLEdBQWEsRUFBRSxDQUFDO0tBb0IxQjtJQWxCRyxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLE1BQU0sUUFBUSxHQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNoRCxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7K0dBcENRLGNBQWM7bUdBQWQsY0FBYywyZUNUM0IsdWxCQU9BOzs0RkRFYSxjQUFjO2tCQU4xQixTQUFTOytCQUNJLFdBQVcsaUJBR04saUJBQWlCLENBQUMsSUFBSTs4QkFHTixjQUFjO3NCQUE1QyxXQUFXO3VCQUFDLE9BQU87O3NCQUFHLEtBQUs7Z0JBRW5CLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRWEsUUFBUTtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkNoYW5nZXMsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb24sIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uU3RhdHVzVHlwZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLXJhZGlvJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgQElucHV0KCkgd3JhcHBlckNsYXNzZXMgPSAnJztcblxuICAgIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHZhbHVlPzogYW55O1xuICAgIEBJbnB1dCgpIGN1c3RvbUNsYXNzZXM/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbmFtZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgaXNSZWFkT25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzSW5saW5lID0gZmFsc2U7XG4gICAgQElucHV0KCkgdmFsaWRhdGlvblN0YXR1cz86IFZhbGlkYXRpb25TdGF0dXNUeXBlO1xuICAgIEBJbnB1dCgpIGludmFsaWRTdGF0dXNUZXh0Pzogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2xhc3NlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbENsYXNzZXM6IHN0cmluZ1tdID0gWydmb3JtLWNoZWNrLWlucHV0J107XG5cbiAgICAgICAgaWYgKCEhdGhpcy52YWxpZGF0aW9uU3RhdHVzKSB7XG4gICAgICAgICAgICBjb25zdCBzdGF0dXNDbHMgPSBgaXMtJHt0aGlzLnZhbGlkYXRpb25TdGF0dXN9YDtcbiAgICAgICAgICAgIGxDbGFzc2VzLnB1c2goc3RhdHVzQ2xzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xhc3NlcyA9IFsuLi5sQ2xhc3NlcywgLi4uKHRoaXMuY3VzdG9tQ2xhc3NlcyB8fCAnJykuc3BsaXQoJyAnKV07XG4gICAgfVxufVxuIiwiPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVja1wiIFtjbGFzcy5mb3JtLWNoZWNrLWlubGluZV09XCJpc0lubGluZVwiPlxuICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiAoY2hhbmdlKT1cInNlbGVjdGVkLmVtaXQoKVwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgW25nQ2xhc3NdPVwiY2xhc3Nlc1wiIFt2YWx1ZV09XCJ2YWx1ZVwiIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgIFthdHRyLnJlYWRvbmx5XT1cImlzUmVhZE9ubHkgPyAnJyA6IHVuZGVmaW5lZFwiIFtjaGVja2VkXT1cImlzQ2hlY2tlZFwiPlxuICAgIDxzcGFuICpuZ0lmPVwiISFsYWJlbFwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPnt7bGFiZWx9fTwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cIiEhZGVzY3JpcHRpb25cIiBjbGFzcz1cImZvcm0tY2hlY2stZGVzY3JpcHRpb25cIj57e2Rlc2NyaXB0aW9ufX08L3NwYW4+XG4gICAgPGRpdiAqbmdJZj1cInZhbGlkYXRpb25TdGF0dXMgPT09ICdpbnZhbGlkJyAmJiAhIWludmFsaWRTdGF0dXNUZXh0XCIgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCI+e3tpbnZhbGlkU3RhdHVzVGV4dH19PC9kaXY+XG48L2xhYmVsPlxuIl19
@@ -0,0 +1,24 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { RadioComponent } from './radio.component';
4
+ import * as i0 from "@angular/core";
5
+ export class UpdRadioModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UpdRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.11", ngImport: i0, type: UpdRadioModule, declarations: [RadioComponent], imports: [CommonModule], exports: [RadioComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UpdRadioModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UpdRadioModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [
14
+ CommonModule
15
+ ],
16
+ declarations: [
17
+ RadioComponent
18
+ ],
19
+ exports: [
20
+ RadioComponent
21
+ ]
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLXJhZGlvLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvcmFkaW8vc3JjL3VwZC1yYWRpby5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWFuRCxNQUFNLE9BQU8sY0FBYzsrR0FBZCxjQUFjO2dIQUFkLGNBQWMsaUJBTm5CLGNBQWMsYUFIZCxZQUFZLGFBTVosY0FBYztnSEFHVCxjQUFjLFlBVG5CLFlBQVk7OzRGQVNQLGNBQWM7a0JBWDFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGNBQWM7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxjQUFjO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFJhZGlvQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFJhZGlvQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVcGRSYWRpb01vZHVsZSB7fVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkZXZzLWNvbXBvbmVudHMtZm9ybS1jb250cm9scy1yYWRpby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvcmFkaW8vc3JjL3VwZGV2cy1jb21wb25lbnRzLWZvcm0tY29udHJvbHMtcmFkaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { Component, ViewEncapsulation, EventEmitter, Output } from '@angular/core';
2
+ import { BaseSelectComponent } from '../../models/abstractions/base-select.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@updevs/components/list";
6
+ import * as i3 from "@updevs/components/form-controls/input";
7
+ import * as i4 from "@updevs/icons";
8
+ import * as i5 from "@updevs/components/button";
9
+ export class SelectMultipleComponent extends BaseSelectComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ /**
13
+ * Triggered when an item is selected.
14
+ */
15
+ this.selectedItems = new EventEmitter();
16
+ this.currentSelection = [];
17
+ }
18
+ clearSelection() {
19
+ this.currentSelection = [];
20
+ this._currentTerm = undefined;
21
+ this.updateActiveItemsOnList();
22
+ }
23
+ onSelectItem(item) {
24
+ const selectedItem = this.currentSelection.find(cs => cs.value === item.id);
25
+ if (!!selectedItem) {
26
+ this.onRemoveItem(selectedItem);
27
+ return;
28
+ }
29
+ for (const localBackupItem of this._localBackupItems) {
30
+ if ((localBackupItem.children?.length || 0) > 0) {
31
+ const child = localBackupItem.children?.find(c => c.value === item.id);
32
+ if (!!child) {
33
+ this.currentSelection.push(child);
34
+ break;
35
+ }
36
+ }
37
+ else if (localBackupItem.value === item.id) {
38
+ this.currentSelection.push(localBackupItem);
39
+ break;
40
+ }
41
+ }
42
+ this.updateActiveItemsOnList();
43
+ this.selectedItems.emit(this.currentSelection);
44
+ }
45
+ onRemoveItem(item) {
46
+ const idx = this.currentSelection.findIndex(cs => cs.value === item.value);
47
+ this.currentSelection.splice(idx, 1);
48
+ this.updateActiveItemsOnList();
49
+ }
50
+ updateActiveItemsOnList() {
51
+ for (const backupItem of this._localBackupItems) {
52
+ const selectedItem = this.currentSelection.find(cs => cs.value === backupItem.value);
53
+ backupItem.listItem.isActive = !!selectedItem;
54
+ }
55
+ this._setupLocalItems(this._localBackupItems);
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SelectMultipleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: SelectMultipleComponent, selector: "upd-select-multiple", outputs: { selectedItems: "selectedItems" }, usesInheritance: true, ngImport: i0, template: "<label *ngIf=\"!!label\" class=\"form-label\">{{label}}</label>\n\n<div class=\"dropdown\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n <ng-container *ngFor=\"let sel of currentSelection\">\n <span class=\"badge bg-primary select-multiple-value\">{{sel.text}}\n <upd-button [isIcon]=\"true\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onRemoveItem(sel)\">\n <upd-icon tablerIcon=\"x\"></upd-icon>\n </upd-button></span>&nbsp;\n </ng-container>\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n <upd-button *ngIf=\"currentSelection.length > 0\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"clearSelection()\"\n customClasses=\"link-secondary\">\n <upd-icon [model]=\"{heroIcon:'x-mark', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n <upd-button *ngIf=\"!isLoading; else loadingIcon\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\"\n customClasses=\"link-secondary ms-2\">\n <upd-icon [model]=\"{heroIcon:'chevron-down', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n <ng-template #loadingIcon>\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n </ng-template>\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder\" [isInputGroupFlat]=\"true\" (click)=\"openDropdown()\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon [model]=\"{heroIcon:'magnifying-glass'}\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n</div>\n", styles: [".select-dropdown-content{position:absolute!important;background-color:var(--upd-card-bg);z-index:1;border:var(--upd-card-border-width) solid var(--upd-card-border-color)!important;border-radius:var(--upd-card-border-radius)!important;box-shadow:0 1px 1px #0000002e}.select-dropdown-content-open{display:block!important}.select-loader-wrapper{height:24px}.select-loader-wrapper .select-loader{height:24px;width:24px}.select-search-box{position:absolute;z-index:1;padding:.5rem;margin-top:-1px;background:var(--upd-body-bg);border:var(--upd-border-width) var(--upd-border-style) var(--upd-border-color)}.remove-bottom-radius{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.remove-top-radius{border-top-left-radius:0!important;border-top-right-radius:0!important}.select-multiple-value{display:inline-flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ListComponent, selector: "upd-list", inputs: ["items", "shouldOverflow", "isFlush", "isVisible", "isHoverable", "shouldDisplayItemsCounter", "wrapperClasses", "maxHeight", "noRecordsFoundKey", "itemFoundKey", "itemsFoundKey"], outputs: ["checkboxChanged", "selectedItem"] }, { kind: "component", type: i3.InputComponent, selector: "upd-input", inputs: ["type", "placeholder", "label", "mask", "maskConfig", "hint", "hintTemplate", "hintAsTooltip", "value", "size", "customClasses", "wrapperClasses", "name", "maxLength", "isDisabled", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "isRequired", "loaderPosition", "prependIconModel", "appendIconModel", "validationStatus", "isValidationStatusLight", "invalidStatusText"], outputs: ["valueChange"] }, { kind: "directive", type: i3.InputPrependDirective, selector: "ng-template[updInputPrepend]" }, { kind: "component", type: i4.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i5.ButtonComponent, selector: "upd-button", inputs: ["text", "model", "colorStyle", "brandColorStyle", "customClasses", "isActive", "isDisabled", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "shouldIgnoreBtnClass"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SelectMultipleComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ selector: 'upd-select-multiple', encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"!!label\" class=\"form-label\">{{label}}</label>\n\n<div class=\"dropdown\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n <ng-container *ngFor=\"let sel of currentSelection\">\n <span class=\"badge bg-primary select-multiple-value\">{{sel.text}}\n <upd-button [isIcon]=\"true\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onRemoveItem(sel)\">\n <upd-icon tablerIcon=\"x\"></upd-icon>\n </upd-button></span>&nbsp;\n </ng-container>\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n <upd-button *ngIf=\"currentSelection.length > 0\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"clearSelection()\"\n customClasses=\"link-secondary\">\n <upd-icon [model]=\"{heroIcon:'x-mark', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n <upd-button *ngIf=\"!isLoading; else loadingIcon\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\"\n customClasses=\"link-secondary ms-2\">\n <upd-icon [model]=\"{heroIcon:'chevron-down', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n <ng-template #loadingIcon>\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n </ng-template>\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder\" [isInputGroupFlat]=\"true\" (click)=\"openDropdown()\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon [model]=\"{heroIcon:'magnifying-glass'}\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n</div>\n", styles: [".select-dropdown-content{position:absolute!important;background-color:var(--upd-card-bg);z-index:1;border:var(--upd-card-border-width) solid var(--upd-card-border-color)!important;border-radius:var(--upd-card-border-radius)!important;box-shadow:0 1px 1px #0000002e}.select-dropdown-content-open{display:block!important}.select-loader-wrapper{height:24px}.select-loader-wrapper .select-loader{height:24px;width:24px}.select-search-box{position:absolute;z-index:1;padding:.5rem;margin-top:-1px;background:var(--upd-body-bg);border:var(--upd-border-width) var(--upd-border-style) var(--upd-border-color)}.remove-bottom-radius{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.remove-top-radius{border-top-left-radius:0!important;border-top-right-radius:0!important}.select-multiple-value{display:inline-flex;align-items:center}\n"] }]
63
+ }], propDecorators: { selectedItems: [{
64
+ type: Output
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9jb21wb25lbnRzL211bHRpcGxlL3NlbGVjdC1tdWx0aXBsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvY29tcG9uZW50cy9tdWx0aXBsZS9zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7O0FBU3RGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBbUI7SUFOaEU7O1FBT0k7O1dBRUc7UUFDZ0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUVwRSxxQkFBZ0IsR0FBaUIsRUFBRSxDQUFDO0tBa0R2QztJQWhERyxjQUFjO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUU5QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWM7UUFDdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hDLE9BQU87U0FDVjtRQUVELEtBQUssTUFBTSxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzdDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBRXZFLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtvQkFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNsQyxNQUFNO2lCQUNUO2FBQ0o7aUJBQU0sSUFBSSxlQUFlLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzVDLE1BQU07YUFDVDtTQUNKO1FBRUQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFnQjtRQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVPLHVCQUF1QjtRQUMzQixLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUM3QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckYsVUFBVSxDQUFDLFFBQVMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQztTQUNsRDtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDOytHQXZEUSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwrSENacEMsbThFQXlDQTs7NEZEN0JhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUk7OEJBTWxCLGFBQWE7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvbGlzdCc7XG5cbmltcG9ydCB7IEJhc2VTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWJzdHJhY3Rpb25zL2Jhc2Utc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtc2VsZWN0LW11bHRpcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE11bHRpcGxlQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlbGVjdENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogVHJpZ2dlcmVkIHdoZW4gYW4gaXRlbSBpcyBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0SXRlbVtdPigpO1xuXG4gICAgY3VycmVudFNlbGVjdGlvbjogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gW107XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUZXJtID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbXNPbkxpc3QoKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdEl0ZW0oaXRlbTogTGlzdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmZpbmQoY3MgPT4gY3MudmFsdWUgPT09IGl0ZW0uaWQpO1xuXG4gICAgICAgIGlmICghIXNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vblJlbW92ZUl0ZW0oc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgbG9jYWxCYWNrdXBJdGVtIG9mIHRoaXMuX2xvY2FsQmFja3VwSXRlbXMpIHtcbiAgICAgICAgICAgIGlmICgobG9jYWxCYWNrdXBJdGVtLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGQgPSBsb2NhbEJhY2t1cEl0ZW0uY2hpbGRyZW4/LmZpbmQoYyA9PiBjLnZhbHVlID09PSBpdGVtLmlkKTtcblxuICAgICAgICAgICAgICAgIGlmICghIWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChsb2NhbEJhY2t1cEl0ZW0udmFsdWUgPT09IGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24ucHVzaChsb2NhbEJhY2t1cEl0ZW0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtc09uTGlzdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZW1pdCh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlSXRlbShpdGVtOiBTZWxlY3RJdGVtKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5maW5kSW5kZXgoY3MgPT4gY3MudmFsdWUgPT09IGl0ZW0udmFsdWUpO1xuXG4gICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbi5zcGxpY2UoaWR4LCAxKTtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtc09uTGlzdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQWN0aXZlSXRlbXNPbkxpc3QoKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgYmFja3VwSXRlbSBvZiB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24uZmluZChjcyA9PiBjcy52YWx1ZSA9PT0gYmFja3VwSXRlbS52YWx1ZSk7XG4gICAgICAgICAgICBiYWNrdXBJdGVtLmxpc3RJdGVtIS5pc0FjdGl2ZSA9ICEhc2VsZWN0ZWRJdGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2V0dXBMb2NhbEl0ZW1zKHRoaXMuX2xvY2FsQmFja3VwSXRlbXMpO1xuICAgIH1cbn1cbiIsIjxsYWJlbCAqbmdJZj1cIiEhbGFiZWxcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57e2xhYmVsfX08L2xhYmVsPlxuXG48ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgICA8ZGl2ICNjb21wb25lbnRCb3ggY2xhc3M9XCJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1mbGF0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbY2xhc3MucmVtb3ZlLWJvdHRvbS1yYWRpdXNdPVwiaXNEcm9wZG93bk9wZW5cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlbCBvZiBjdXJyZW50U2VsZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1wcmltYXJ5IHNlbGVjdC1tdWx0aXBsZS12YWx1ZVwiPnt7c2VsLnRleHR9fVxuICAgICAgICAgICAgICAgICAgICA8dXBkLWJ1dHRvbiBbaXNJY29uXT1cInRydWVcIiBbc2hvdWxkSWdub3JlQnRuQ2xhc3NdPVwidHJ1ZVwiIChjbGlja2VkKT1cIm9uUmVtb3ZlSXRlbShzZWwpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cInhcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L3VwZC1idXR0b24+PC9zcGFuPiZuYnNwO1xuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIFtjbGFzcy5yZW1vdmUtYm90dG9tLXJhZGl1c109XCJpc0Ryb3Bkb3duT3BlblwiPlxuICAgICAgICAgICAgPHVwZC1idXR0b24gKm5nSWY9XCJjdXJyZW50U2VsZWN0aW9uLmxlbmd0aCA+IDBcIiBbc2hvdWxkSWdub3JlQnRuQ2xhc3NdPVwidHJ1ZVwiIChjbGlja2VkKT1cImNsZWFyU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzZXM9XCJsaW5rLXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwie2hlcm9JY29uOid4LW1hcmsnLCBoZXJvSWNvblR5cGU6ICdvdXRsaW5lJywgaGVyb0ljb25TaXplOidzbWFsbCd9XCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgIDx1cGQtYnV0dG9uICpuZ0lmPVwiIWlzTG9hZGluZzsgZWxzZSBsb2FkaW5nSWNvblwiIFtzaG91bGRJZ25vcmVCdG5DbGFzc109XCJ0cnVlXCIgKGNsaWNrZWQpPVwib3BlbkRyb3Bkb3duKClcIlxuICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzZXM9XCJsaW5rLXNlY29uZGFyeSBtcy0yXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJ7aGVyb0ljb246J2NoZXZyb24tZG93bicsIGhlcm9JY29uVHlwZTogJ291dGxpbmUnLCBoZXJvSWNvblNpemU6J3NtYWxsJ31cIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWxvYWRlci13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlciBzcGlubmVyLWJvcmRlci1zbSB0ZXh0LW11dGVkIHNlbGVjdC1sb2FkZXJcIiByb2xlPVwic3RhdHVzXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICNzZWFyY2hCb3g+XG4gICAgICAgIDxkaXYgI3NlYXJjaEJveENoaWxkIFtzdHlsZS52aXNpYmlsaXR5XT1cImlzRHJvcGRvd25PcGVuID8gJ3Zpc2libGUnIDogJ2hpZGRlbidcIiBjbGFzcz1cInNlbGVjdC1zZWFyY2gtYm94XCI+XG4gICAgICAgICAgICA8dXBkLWlucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtpc0lucHV0R3JvdXBGbGF0XT1cInRydWVcIiAoY2xpY2spPVwib3BlbkRyb3Bkb3duKClcIiAodmFsdWVDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdXBkSW5wdXRQcmVwZW5kPlxuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW21vZGVsXT1cIntoZXJvSWNvbjonbWFnbmlmeWluZy1nbGFzcyd9XCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC91cGQtaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDx1cGQtbGlzdCAjbGlzdCBbaXRlbXNdPVwibGlzdEl0ZW1zXCIgW21heEhlaWdodF09XCJkcm9wZG93bk1heEhlaWdodCArICdweCdcIiAoc2VsZWN0ZWRJdGVtKT1cIm9uU2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgICAgICAgW3dyYXBwZXJDbGFzc2VzXT1cImRyb3Bkb3duQ2xhc3Nlc1wiIFtpc1Zpc2libGVdPVwiaXNEcm9wZG93bk9wZW5cIiBbc2hvdWxkT3ZlcmZsb3ddPVwidHJ1ZVwiIFtzaG91bGREaXNwbGF5SXRlbXNDb3VudGVyXT1cInRydWVcIj5cbiAgICA8L3VwZC1saXN0PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { Component, Input, ViewEncapsulation, Output, EventEmitter } from '@angular/core';
2
+ import { BaseSelectComponent } from '../../models/abstractions/base-select.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@updevs/components/list";
6
+ import * as i3 from "@updevs/components/form-controls/input";
7
+ import * as i4 from "@updevs/icons";
8
+ import * as i5 from "@updevs/components/button";
9
+ export class SelectComponent extends BaseSelectComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ /**
13
+ * If true, it'll use the default style of the OS, no search capabilities.
14
+ */
15
+ this.useSystemStyle = false;
16
+ /**
17
+ * Triggered when an item is selected.
18
+ */
19
+ this.selectedItem = new EventEmitter();
20
+ }
21
+ onSelectItem(item) {
22
+ this._currentTerm = item.text;
23
+ this.isDropdownOpen = false;
24
+ for (const localBackupItem of this._localBackupItems) {
25
+ if ((localBackupItem.children?.length || 0) > 0) {
26
+ this.currentSelection = localBackupItem.children?.find(c => c.value === item.id);
27
+ if (!!this.currentSelection) {
28
+ break;
29
+ }
30
+ }
31
+ else if (localBackupItem.value === item.id) {
32
+ this.currentSelection = localBackupItem;
33
+ break;
34
+ }
35
+ }
36
+ this.selectedItem.emit(this.currentSelection);
37
+ }
38
+ clearSelection() {
39
+ this.currentSelection = undefined;
40
+ this._currentTerm = undefined;
41
+ this.search();
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: SelectComponent, selector: "upd-select", inputs: { useSystemStyle: "useSystemStyle" }, outputs: { selectedItem: "selectedItem" }, usesInheritance: true, ngImport: i0, template: "<label *ngIf=\"!!label\" class=\"form-label\">{{label}}</label>\n\n<ng-container *ngIf=\"!useSystemStyle; else defaultOsTpl\">\n <div class=\"dropdown\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n <span *ngIf=\"!!currentSelection\">{{currentSelection.text}}</span>\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n <upd-button *ngIf=\"!!currentSelection\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"clearSelection()\"\n customClasses=\"link-secondary\">\n <upd-icon [model]=\"{heroIcon:'x-mark', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n <upd-button *ngIf=\"!isLoading; else loadingIcon\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\"\n customClasses=\"link-secondary ms-2\">\n <upd-icon [model]=\"{heroIcon:'chevron-down', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n <ng-template #loadingIcon>\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n </ng-template>\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder\" [isInputGroupFlat]=\"true\" (click)=\"openDropdown()\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon [model]=\"{heroIcon:'magnifying-glass'}\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n </div>\n</ng-container>\n\n<ng-template #defaultOsTpl>\n <select class=\"form-select\" [attr.placeholder]=\"placeholder\">\n <ng-container *ngFor=\"let item of localItems\">\n <ng-container *ngIf=\"(item.children?.length || 0) > 0; else defaultTpl\">\n <optgroup [label]=\"item.text\">\n <option *ngFor=\"let child of item.children\" [value]=\"child.value\">{{child.text}}</option>\n </optgroup>\n </ng-container>\n <ng-template #defaultTpl>\n <option [value]=\"item.value\">{{item.text}}</option>\n </ng-template>\n </ng-container>\n </select>\n</ng-template>\n", styles: [".select-dropdown-content{position:absolute!important;background-color:var(--upd-card-bg);z-index:1;border:var(--upd-card-border-width) solid var(--upd-card-border-color)!important;border-radius:var(--upd-card-border-radius)!important;box-shadow:0 1px 1px #0000002e}.select-dropdown-content-open{display:block!important}.select-loader-wrapper{height:24px}.select-loader-wrapper .select-loader{height:24px;width:24px}.select-search-box{position:absolute;z-index:1;padding:.5rem;margin-top:-1px;background:var(--upd-body-bg);border:var(--upd-border-width) var(--upd-border-style) var(--upd-border-color)}.remove-bottom-radius{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.remove-top-radius{border-top-left-radius:0!important;border-top-right-radius:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ListComponent, selector: "upd-list", inputs: ["items", "shouldOverflow", "isFlush", "isVisible", "isHoverable", "shouldDisplayItemsCounter", "wrapperClasses", "maxHeight", "noRecordsFoundKey", "itemFoundKey", "itemsFoundKey"], outputs: ["checkboxChanged", "selectedItem"] }, { kind: "component", type: i3.InputComponent, selector: "upd-input", inputs: ["type", "placeholder", "label", "mask", "maskConfig", "hint", "hintTemplate", "hintAsTooltip", "value", "size", "customClasses", "wrapperClasses", "name", "maxLength", "isDisabled", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "isRequired", "loaderPosition", "prependIconModel", "appendIconModel", "validationStatus", "isValidationStatusLight", "invalidStatusText"], outputs: ["valueChange"] }, { kind: "directive", type: i3.InputPrependDirective, selector: "ng-template[updInputPrepend]" }, { kind: "component", type: i4.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i5.ButtonComponent, selector: "upd-button", inputs: ["text", "model", "colorStyle", "brandColorStyle", "customClasses", "isActive", "isDisabled", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "shouldIgnoreBtnClass"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: SelectComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'upd-select', encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"!!label\" class=\"form-label\">{{label}}</label>\n\n<ng-container *ngIf=\"!useSystemStyle; else defaultOsTpl\">\n <div class=\"dropdown\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n <span *ngIf=\"!!currentSelection\">{{currentSelection.text}}</span>\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n <upd-button *ngIf=\"!!currentSelection\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"clearSelection()\"\n customClasses=\"link-secondary\">\n <upd-icon [model]=\"{heroIcon:'x-mark', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n <upd-button *ngIf=\"!isLoading; else loadingIcon\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\"\n customClasses=\"link-secondary ms-2\">\n <upd-icon [model]=\"{heroIcon:'chevron-down', heroIconType: 'outline', heroIconSize:'small'}\"></upd-icon>\n </upd-button>\n <ng-template #loadingIcon>\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n </ng-template>\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder\" [isInputGroupFlat]=\"true\" (click)=\"openDropdown()\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon [model]=\"{heroIcon:'magnifying-glass'}\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n </div>\n</ng-container>\n\n<ng-template #defaultOsTpl>\n <select class=\"form-select\" [attr.placeholder]=\"placeholder\">\n <ng-container *ngFor=\"let item of localItems\">\n <ng-container *ngIf=\"(item.children?.length || 0) > 0; else defaultTpl\">\n <optgroup [label]=\"item.text\">\n <option *ngFor=\"let child of item.children\" [value]=\"child.value\">{{child.text}}</option>\n </optgroup>\n </ng-container>\n <ng-template #defaultTpl>\n <option [value]=\"item.value\">{{item.text}}</option>\n </ng-template>\n </ng-container>\n </select>\n</ng-template>\n", styles: [".select-dropdown-content{position:absolute!important;background-color:var(--upd-card-bg);z-index:1;border:var(--upd-card-border-width) solid var(--upd-card-border-color)!important;border-radius:var(--upd-card-border-radius)!important;box-shadow:0 1px 1px #0000002e}.select-dropdown-content-open{display:block!important}.select-loader-wrapper{height:24px}.select-loader-wrapper .select-loader{height:24px;width:24px}.select-search-box{position:absolute;z-index:1;padding:.5rem;margin-top:-1px;background:var(--upd-body-bg);border:var(--upd-border-width) var(--upd-border-style) var(--upd-border-color)}.remove-bottom-radius{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.remove-top-radius{border-top-left-radius:0!important;border-top-right-radius:0!important}\n"] }]
49
+ }], propDecorators: { useSystemStyle: [{
50
+ type: Input
51
+ }], selectedItem: [{
52
+ type: Output
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9jb21wb25lbnRzL3NpbmdsZS9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3Qvc3JjL2NvbXBvbmVudHMvc2luZ2xlL3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7OztBQVN0RixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFOeEQ7O1FBT0k7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUVoQzs7V0FFRztRQUNnQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7S0E4QnBFO0lBMUJHLFlBQVksQ0FBQyxJQUFjO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUU1QixLQUFLLE1BQU0sZUFBZSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFakYsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUN6QixNQUFNO2lCQUNUO2FBQ0o7aUJBQU0sSUFBSSxlQUFlLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7Z0JBQ3hDLE1BQU07YUFDVDtTQUNKO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBRTlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDOytHQXRDUSxlQUFlO21HQUFmLGVBQWUsa0tDbEI1QixpK0ZBcURBOzs0RkRuQ2EsZUFBZTtrQkFOM0IsU0FBUzsrQkFDSSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUk7OEJBTTVCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS2EsWUFBWTtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9saXN0JztcblxuaW1wb3J0IHsgQmFzZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9hYnN0cmFjdGlvbnMvYmFzZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LWl0ZW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVNlbGVjdENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgaXQnbGwgdXNlIHRoZSBkZWZhdWx0IHN0eWxlIG9mIHRoZSBPUywgbm8gc2VhcmNoIGNhcGFiaWxpdGllcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSB1c2VTeXN0ZW1TdHlsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVHJpZ2dlcmVkIHdoZW4gYW4gaXRlbSBpcyBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RJdGVtPigpO1xuXG4gICAgY3VycmVudFNlbGVjdGlvbj86IFNlbGVjdEl0ZW07XG5cbiAgICBvblNlbGVjdEl0ZW0oaXRlbTogTGlzdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFRlcm0gPSBpdGVtLnRleHQ7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgICAgICBmb3IgKGNvbnN0IGxvY2FsQmFja3VwSXRlbSBvZiB0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoKGxvY2FsQmFja3VwSXRlbS5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IGxvY2FsQmFja3VwSXRlbS5jaGlsZHJlbj8uZmluZChjID0+IGMudmFsdWUgPT09IGl0ZW0uaWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCEhdGhpcy5jdXJyZW50U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAobG9jYWxCYWNrdXBJdGVtLnZhbHVlID09PSBpdGVtLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gbG9jYWxCYWNrdXBJdGVtO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdCh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUZXJtID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgfVxufVxuIiwiPGxhYmVsICpuZ0lmPVwiISFsYWJlbFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7bGFiZWx9fTwvbGFiZWw+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhdXNlU3lzdGVtU3R5bGU7IGVsc2UgZGVmYXVsdE9zVHBsXCI+XG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCI+XG4gICAgICAgIDxkaXYgI2NvbXBvbmVudEJveCBjbGFzcz1cImlucHV0LWdyb3VwIGlucHV0LWdyb3VwLWZsYXRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbY2xhc3MucmVtb3ZlLWJvdHRvbS1yYWRpdXNdPVwiaXNEcm9wZG93bk9wZW5cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiEhY3VycmVudFNlbGVjdGlvblwiPnt7Y3VycmVudFNlbGVjdGlvbi50ZXh0fX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCIgW2NsYXNzLnJlbW92ZS1ib3R0b20tcmFkaXVzXT1cImlzRHJvcGRvd25PcGVuXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gKm5nSWY9XCIhIWN1cnJlbnRTZWxlY3Rpb25cIiBbc2hvdWxkSWdub3JlQnRuQ2xhc3NdPVwidHJ1ZVwiIChjbGlja2VkKT1cImNsZWFyU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICBjdXN0b21DbGFzc2VzPVwibGluay1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJ7aGVyb0ljb246J3gtbWFyaycsIGhlcm9JY29uVHlwZTogJ291dGxpbmUnLCBoZXJvSWNvblNpemU6J3NtYWxsJ31cIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8dXBkLWJ1dHRvbiAqbmdJZj1cIiFpc0xvYWRpbmc7IGVsc2UgbG9hZGluZ0ljb25cIiBbc2hvdWxkSWdub3JlQnRuQ2xhc3NdPVwidHJ1ZVwiIChjbGlja2VkKT1cIm9wZW5Ecm9wZG93bigpXCJcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tQ2xhc3Nlcz1cImxpbmstc2Vjb25kYXJ5IG1zLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJ7aGVyb0ljb246J2NoZXZyb24tZG93bicsIGhlcm9JY29uVHlwZTogJ291dGxpbmUnLCBoZXJvSWNvblNpemU6J3NtYWxsJ31cIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmdJY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWxvYWRlci13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgc3Bpbm5lci1ib3JkZXItc20gdGV4dC1tdXRlZCBzZWxlY3QtbG9hZGVyXCIgcm9sZT1cInN0YXR1c1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICNzZWFyY2hCb3g+XG4gICAgICAgICAgICA8ZGl2ICNzZWFyY2hCb3hDaGlsZCBbc3R5bGUudmlzaWJpbGl0eV09XCJpc0Ryb3Bkb3duT3BlbiA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCIgY2xhc3M9XCJzZWxlY3Qtc2VhcmNoLWJveFwiPlxuICAgICAgICAgICAgICAgIDx1cGQtaW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2lzSW5wdXRHcm91cEZsYXRdPVwidHJ1ZVwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oKVwiICh2YWx1ZUNoYW5nZSk9XCJzZWFyY2goJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdXBkSW5wdXRQcmVwZW5kPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJ7aGVyb0ljb246J21hZ25pZnlpbmctZ2xhc3MnfVwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC91cGQtaW5wdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx1cGQtbGlzdCAjbGlzdCBbaXRlbXNdPVwibGlzdEl0ZW1zXCIgW21heEhlaWdodF09XCJkcm9wZG93bk1heEhlaWdodCArICdweCdcIiAoc2VsZWN0ZWRJdGVtKT1cIm9uU2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFt3cmFwcGVyQ2xhc3Nlc109XCJkcm9wZG93bkNsYXNzZXNcIiBbaXNWaXNpYmxlXT1cImlzRHJvcGRvd25PcGVuXCIgW3Nob3VsZE92ZXJmbG93XT1cInRydWVcIiBbc2hvdWxkRGlzcGxheUl0ZW1zQ291bnRlcl09XCJ0cnVlXCI+XG4gICAgICAgIDwvdXBkLWxpc3Q+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0T3NUcGw+XG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsb2NhbEl0ZW1zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwKSA+IDA7IGVsc2UgZGVmYXVsdFRwbFwiPlxuICAgICAgICAgICAgICAgIDxvcHRncm91cCBbbGFiZWxdPVwiaXRlbS50ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW5cIiBbdmFsdWVdPVwiY2hpbGQudmFsdWVcIj57e2NoaWxkLnRleHR9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvb3B0Z3JvdXA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRwbD5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+e3tpdGVtLnRleHR9fTwvb3B0aW9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zZWxlY3Q+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,208 @@
1
+ import { Directive, HostBinding, ViewChild, ElementRef, Input, Output, EventEmitter, inject, NgZone, Renderer2, RendererStyleFlags2 } from '@angular/core';
2
+ import { BaseComponent, DomEventsService, PositioningService } from '@updevs/sdk/layout';
3
+ import { Tools } from '@updevs/sdk/core';
4
+ import { SearchRequestModel } from '@updevs/sdk/stores';
5
+ import { tap, debounceTime, Subject } from 'rxjs';
6
+ var Utils = Tools.Utils;
7
+ import * as i0 from "@angular/core";
8
+ export class BaseSelectComponent extends BaseComponent {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.wrapperClasses = '';
12
+ /**
13
+ * Placeholder.
14
+ */
15
+ this.placeholder = '';
16
+ /**
17
+ * Maximum height of the dropdown.
18
+ */
19
+ this.dropdownMaxHeight = 300;
20
+ this.typeaheadDebounce = 200;
21
+ this.shouldAutoSearch = true;
22
+ this.shouldCloseOnOutsideClick = true;
23
+ this.dropdownOpenStatusChange = new EventEmitter();
24
+ this.isLoading = false;
25
+ this.localItems = [];
26
+ this.listItems = [];
27
+ this.dropdownClasses = 'select-dropdown-content remove-top-radius';
28
+ this._localBackupItems = [];
29
+ this.isStaticList = false;
30
+ this._isDropdownOpen = false;
31
+ this.searchInputSubject = new Subject();
32
+ this.renderer = inject(Renderer2);
33
+ this.ngZone = inject(NgZone);
34
+ this.domEventsService = inject(DomEventsService);
35
+ this.positioningService = inject(PositioningService);
36
+ }
37
+ get isDropdownOpen() {
38
+ return this._isDropdownOpen;
39
+ }
40
+ set isDropdownOpen(value) {
41
+ this._isDropdownOpen = value;
42
+ this.dropdownOpenStatusChange.emit(value);
43
+ if (value) {
44
+ this.dropdownClasses += ' select-dropdown-content-open';
45
+ }
46
+ else {
47
+ this.dropdownClasses = this.dropdownClasses.replace(' select-dropdown-content-open', '');
48
+ }
49
+ }
50
+ ngOnInit() {
51
+ this.isStaticList = (this.items?.length || 0) > 0;
52
+ if (this.shouldAutoSearch) {
53
+ if (this.isStaticList) {
54
+ this._setupLocalItems(this.items);
55
+ }
56
+ else {
57
+ this.searchRemote();
58
+ }
59
+ }
60
+ if (this.isStaticList) {
61
+ return;
62
+ }
63
+ const typeaheadSubscription = this.searchInputSubject
64
+ .pipe(tap(value => this._currentTerm = value), debounceTime(this.typeaheadDebounce))
65
+ .subscribe(() => this.searchRemote());
66
+ this.addSubscriptions(typeaheadSubscription);
67
+ }
68
+ openDropdown() {
69
+ this.isDropdownOpen = true;
70
+ if (this.shouldCloseOnOutsideClick) {
71
+ const outsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => this.isDropdownOpen = false), this.list?.nativeElement, true, this.componentBox?.nativeElement, this.searchBox?.nativeElement);
72
+ this.addSubscriptions(outsideClickSub);
73
+ }
74
+ this.ngZone.runOutsideAngular(() => this.positioningService
75
+ .computePosition(this.componentBox, this.list, { placement: 'bottom' })
76
+ .subscribe(resp => this.updatePosition(resp)));
77
+ }
78
+ search(term) {
79
+ if (this.isStaticList) {
80
+ this.searchLocal();
81
+ }
82
+ else {
83
+ this.searchInputSubject.next(term || '');
84
+ }
85
+ }
86
+ _setupLocalItems(items) {
87
+ this.localItems = Utils.deepCopy(items);
88
+ this._localBackupItems = Utils.deepCopy(items);
89
+ const tempItems = [];
90
+ for (const item of this._localBackupItems) {
91
+ let listItem = this.getListItem(item);
92
+ item.listItem = Object.assign(listItem, {});
93
+ tempItems.push(listItem);
94
+ }
95
+ this.listItems = [...tempItems];
96
+ this.isLoading = false;
97
+ }
98
+ searchLocal() {
99
+ if (!this._currentTerm) {
100
+ this.listItems = Utils.deepCopy(this._localBackupItems.map(li => li.listItem));
101
+ this.localItems = Utils.deepCopy(this._localBackupItems);
102
+ return;
103
+ }
104
+ this.ngZone.run(() => {
105
+ this.listItems = Utils.deepCopy(this._localBackupItems).filter(si => {
106
+ let hasChildrenInSearch = false;
107
+ if ((si.children?.length || 0) > 0) {
108
+ hasChildrenInSearch = si.children.filter(ci => ci.text.toLowerCase().includes(this._currentTerm.toLowerCase())).length > 0;
109
+ }
110
+ return si.text.toLowerCase().includes(this._currentTerm.toLowerCase()) || hasChildrenInSearch;
111
+ }).map(si => {
112
+ const bkpItem = this._localBackupItems.find(lbi => lbi.value === si.value);
113
+ if ((bkpItem?.children?.length || 0) > 0) {
114
+ si.children = [...bkpItem.children].filter(ci => ci.text.toLowerCase().includes(this._currentTerm.toLowerCase()));
115
+ }
116
+ return this.getListItem(si);
117
+ });
118
+ });
119
+ }
120
+ searchRemote() {
121
+ this.isLoading = true;
122
+ const request = new SearchRequestModel({ description: this._currentTerm });
123
+ const observable = !!this.observable ? this.observable(request) : this.store.search(request);
124
+ observable.subscribe(r => {
125
+ const items = [];
126
+ r.records.forEach(item => {
127
+ items.push({
128
+ value: item[this.itemKey],
129
+ text: item[this.itemValue],
130
+ objectData: item
131
+ });
132
+ });
133
+ this._setupLocalItems(items);
134
+ });
135
+ }
136
+ getListItem(item) {
137
+ let listItem;
138
+ if (!!item.listItem) {
139
+ listItem = item.listItem;
140
+ listItem.id = item.value;
141
+ listItem.text = item.text;
142
+ }
143
+ else {
144
+ listItem = {
145
+ id: item.value,
146
+ text: item.text
147
+ };
148
+ }
149
+ if ((item.children?.length || 0) > 0) {
150
+ listItem.children = [...item.children].map(c => this.getListItem(c));
151
+ }
152
+ return listItem;
153
+ }
154
+ updatePosition(result) {
155
+ const componentBox = this.componentBox.nativeElement.getBoundingClientRect();
156
+ const searchBoxChildElement = this.searchBoxChild?.nativeElement;
157
+ const ddElement = this.list.nativeElement;
158
+ this.renderer.setStyle(searchBoxChildElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);
159
+ this.renderer.setStyle(ddElement, 'top', `${result.y + searchBoxChildElement.scrollHeight}px`, RendererStyleFlags2.Important);
160
+ this.renderer.setStyle(ddElement, 'left', 0, RendererStyleFlags2.Important);
161
+ this.renderer.setStyle(ddElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);
162
+ }
163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BaseSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
164
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.11", type: BaseSelectComponent, inputs: { items: "items", store: "store", observable: "observable", itemKey: "itemKey", itemValue: "itemValue", label: "label", placeholder: "placeholder", dropdownMaxHeight: "dropdownMaxHeight", typeaheadDebounce: "typeaheadDebounce", shouldAutoSearch: "shouldAutoSearch", shouldCloseOnOutsideClick: "shouldCloseOnOutsideClick" }, outputs: { dropdownOpenStatusChange: "dropdownOpenStatusChange" }, host: { properties: { "class": "this.wrapperClasses" } }, viewQueries: [{ propertyName: "componentBox", first: true, predicate: ["componentBox"], descendants: true, read: ElementRef }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true, read: ElementRef }, { propertyName: "searchBoxChild", first: true, predicate: ["searchBoxChild"], descendants: true, read: ElementRef }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0 }); }
165
+ }
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BaseSelectComponent, decorators: [{
167
+ type: Directive
168
+ }], propDecorators: { wrapperClasses: [{
169
+ type: HostBinding,
170
+ args: ['class']
171
+ }], componentBox: [{
172
+ type: ViewChild,
173
+ args: ['componentBox', { read: ElementRef }]
174
+ }], searchBox: [{
175
+ type: ViewChild,
176
+ args: ['searchBox', { read: ElementRef }]
177
+ }], searchBoxChild: [{
178
+ type: ViewChild,
179
+ args: ['searchBoxChild', { read: ElementRef }]
180
+ }], list: [{
181
+ type: ViewChild,
182
+ args: ['list', { read: ElementRef }]
183
+ }], items: [{
184
+ type: Input
185
+ }], store: [{
186
+ type: Input
187
+ }], observable: [{
188
+ type: Input
189
+ }], itemKey: [{
190
+ type: Input
191
+ }], itemValue: [{
192
+ type: Input
193
+ }], label: [{
194
+ type: Input
195
+ }], placeholder: [{
196
+ type: Input
197
+ }], dropdownMaxHeight: [{
198
+ type: Input
199
+ }], typeaheadDebounce: [{
200
+ type: Input
201
+ }], shouldAutoSearch: [{
202
+ type: Input
203
+ }], shouldCloseOnOutsideClick: [{
204
+ type: Input
205
+ }], dropdownOpenStatusChange: [{
206
+ type: Output
207
+ }] } });
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3Qvc3JjL21vZGVscy9hYnN0cmFjdGlvbnMvYmFzZS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBRVYsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQUUsbUJBQW1CLEVBQ2pDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sb0JBQW9CLENBQUM7QUFFaEgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBd0MsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJOUQsSUFBTyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQzs7QUFHM0IsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxhQUFhO0lBRC9EOztRQUUwQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQWlDMUM7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQjs7V0FFRztRQUNNLHNCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDeEIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQUV2Qiw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTFFLGNB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QUlHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxXQUFXO3NCQUFuQixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFFYSx3QkFBd0I7c0JBQTFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgTmdab25lLFxuICAgIFJlbmRlcmVyMiwgUmVuZGVyZXJTdHlsZUZsYWdzMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIERvbUV2ZW50c1NlcnZpY2UsIFBvc2l0aW9uaW5nU2VydmljZSwgQ29tcHV0ZVBvc2l0aW9uUmVzdWx0IH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2xpc3QnO1xuaW1wb3J0IHsgVG9vbHMgfSBmcm9tICdAdXBkZXZzL3Nkay9jb3JlJztcbmltcG9ydCB7IFNlYXJjaFJlcXVlc3RNb2RlbCwgU2VhcmNoUmVzcG9uc2VNb2RlbCwgQmFzZVNlYXJjaFN0b3JlIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IHRhcCwgZGVib3VuY2VUaW1lLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuLi9zZWxlY3QtaXRlbSc7XG5cbmltcG9ydCBVdGlscyA9IFRvb2xzLlV0aWxzO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHdyYXBwZXJDbGFzc2VzID0gJyc7XG4gICAgQFZpZXdDaGlsZCgnY29tcG9uZW50Qm94JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGNvbXBvbmVudEJveD86IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoQm94JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHNlYXJjaEJveD86IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoQm94Q2hpbGQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgc2VhcmNoQm94Q2hpbGQ/OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2xpc3QnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbGlzdD86IEVsZW1lbnRSZWY7XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgaXRlbXMuXG4gICAgICogSWYgcHJvdmlkZWQsIHRoZSBzZWxlY3Qgd2lsbCBiZSBjb25zaWRlcmVkIHN0YXRpYy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBpdGVtcz86IFNlbGVjdEl0ZW1bXTtcbiAgICAvKipcbiAgICAgKiBTdG9yZSB1c2VkIHRvIGxvYWQvZmlsdGVyIHRoZSBpdGVtcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdG9yZT86IEJhc2VTZWFyY2hTdG9yZTxhbnk+O1xuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgdXNlZCB0byBsb2FkL2ZpbHRlciB0aGUgaXRlbXMuXG4gICAgICovXG4gICAgQElucHV0KCkgb2JzZXJ2YWJsZT86IChyZXF1ZXN0PzogU2VhcmNoUmVxdWVzdE1vZGVsLCBtYXN0ZXJJZD86IGFueSkgPT4gT2JzZXJ2YWJsZTxTZWFyY2hSZXNwb25zZU1vZGVsPGFueT4+O1xuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZSBJRC9rZXkgb2YgdGhlIG9wdGlvbi5cbiAgICAgKiAqKk5vdGU6KiogdXNlZCBvbmx5IGZvciByZW1vdGUgZGF0YS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBpdGVtS2V5Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZSB2YWx1ZS9kZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9uLlxuICAgICAqICoqTm90ZToqKiB1c2VkIG9ubHkgZm9yIHJlbW90ZSBkYXRhLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGl0ZW1WYWx1ZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBvZiB0aGUgZmllbGQuXG4gICAgICovXG4gICAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogUGxhY2Vob2xkZXIuXG4gICAgICovXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgZHJvcGRvd24uXG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcGRvd25NYXhIZWlnaHQgPSAzMDA7XG4gICAgQElucHV0KCkgdHlwZWFoZWFkRGVib3VuY2UgPSAyMDA7XG4gICAgQElucHV0KCkgc2hvdWxkQXV0b1NlYXJjaCA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGljayA9IHRydWU7XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgZHJvcGRvd25PcGVuU3RhdHVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgbG9jYWxJdGVtczogU2VsZWN0SXRlbVtdID0gW107XG4gICAgbGlzdEl0ZW1zOiBMaXN0SXRlbVtdID0gW107XG4gICAgZHJvcGRvd25DbGFzc2VzID0gJ3NlbGVjdC1kcm9wZG93bi1jb250ZW50IHJlbW92ZS10b3AtcmFkaXVzJztcbiAgICBnZXQgaXNEcm9wZG93bk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Ryb3Bkb3duT3BlbjtcbiAgICB9XG4gICAgc2V0IGlzRHJvcGRvd25PcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzRHJvcGRvd25PcGVuID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5kcm9wZG93bk9wZW5TdGF0dXNDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQ2xhc3NlcyArPSAnIHNlbGVjdC1kcm9wZG93bi1jb250ZW50LW9wZW4nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNsYXNzZXMgPSB0aGlzLmRyb3Bkb3duQ2xhc3Nlcy5yZXBsYWNlKCcgc2VsZWN0LWRyb3Bkb3duLWNvbnRlbnQtb3BlbicsICcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY3VycmVudFRlcm0/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9sb2NhbEJhY2t1cEl0ZW1zOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgaXNTdGF0aWNMaXN0ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaElucHV0U3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvbUV2ZW50c1NlcnZpY2UgPSBpbmplY3QoRG9tRXZlbnRzU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3NpdGlvbmluZ1NlcnZpY2UgPSBpbmplY3QoUG9zaXRpb25pbmdTZXJ2aWNlKTtcblxuICAgIGFic3RyYWN0IGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQ7XG4gICAgYWJzdHJhY3Qgb25TZWxlY3RJdGVtKGl0ZW06IExpc3RJdGVtKTogdm9pZDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU3RhdGljTGlzdCA9ICh0aGlzLml0ZW1zPy5sZW5ndGggfHwgMCkgPiAwO1xuXG4gICAgICAgIGlmICh0aGlzLnNob3VsZEF1dG9TZWFyY2gpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU3RhdGljTGlzdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldHVwTG9jYWxJdGVtcyh0aGlzLml0ZW1zISk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoUmVtb3RlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1N0YXRpY0xpc3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHR5cGVhaGVhZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VhcmNoSW5wdXRTdWJqZWN0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAodmFsdWUgPT4gdGhpcy5fY3VycmVudFRlcm0gPSB2YWx1ZSksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMudHlwZWFoZWFkRGVib3VuY2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2VhcmNoUmVtb3RlKCkpO1xuXG4gICAgICAgIHRoaXMuYWRkU3Vic2NyaXB0aW9ucyh0eXBlYWhlYWRTdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGljaykge1xuICAgICAgICAgICAgY29uc3Qgb3V0c2lkZUNsaWNrU3ViID0gdGhpcy5kb21FdmVudHNTZXJ2aWNlLnN0YXJ0T3V0c2lkZUNsaWNrTGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZSksXG4gICAgICAgICAgICAgICAgdGhpcy5saXN0Py5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRCb3g/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hCb3g/Lm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnMob3V0c2lkZUNsaWNrU3ViKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgICAgICB0aGlzLnBvc2l0aW9uaW5nU2VydmljZVxuICAgICAgICAgICAgICAgIC5jb21wdXRlUG9zaXRpb24odGhpcy5jb21wb25lbnRCb3ghLCB0aGlzLmxpc3QhLCB7IHBsYWNlbWVudDogJ2JvdHRvbScgfSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4gdGhpcy51cGRhdGVQb3NpdGlvbihyZXNwKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzZWFyY2godGVybT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1N0YXRpY0xpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoTG9jYWwoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXRTdWJqZWN0Lm5leHQodGVybSB8fCAnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3NldHVwTG9jYWxJdGVtcyhpdGVtczogU2VsZWN0SXRlbVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxJdGVtcyA9IFV0aWxzLmRlZXBDb3B5KGl0ZW1zKTtcbiAgICAgICAgdGhpcy5fbG9jYWxCYWNrdXBJdGVtcyA9IFV0aWxzLmRlZXBDb3B5KGl0ZW1zKTtcbiAgICAgICAgY29uc3QgdGVtcEl0ZW1zOiBMaXN0SXRlbVtdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuX2xvY2FsQmFja3VwSXRlbXMpIHtcbiAgICAgICAgICAgIGxldCBsaXN0SXRlbSA9IHRoaXMuZ2V0TGlzdEl0ZW0oaXRlbSk7XG4gICAgICAgICAgICBpdGVtLmxpc3RJdGVtID0gT2JqZWN0LmFzc2lnbihsaXN0SXRlbSwge30pO1xuXG4gICAgICAgICAgICB0ZW1wSXRlbXMucHVzaChsaXN0SXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFsuLi50ZW1wSXRlbXNdO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VhcmNoTG9jYWwoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY3VycmVudFRlcm0pIHtcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gVXRpbHMuZGVlcENvcHkodGhpcy5fbG9jYWxCYWNrdXBJdGVtcy5tYXAobGkgPT4gbGkubGlzdEl0ZW0hKSk7XG4gICAgICAgICAgICB0aGlzLmxvY2FsSXRlbXMgPSBVdGlscy5kZWVwQ29weSh0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gVXRpbHMuZGVlcENvcHk8U2VsZWN0SXRlbVtdPih0aGlzLl9sb2NhbEJhY2t1cEl0ZW1zKS5maWx0ZXIoc2kgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBoYXNDaGlsZHJlbkluU2VhcmNoID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICBpZiAoKHNpLmNoaWxkcmVuPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0NoaWxkcmVuSW5TZWFyY2ggPSBzaS5jaGlsZHJlbiEuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2kgPT4gY2kudGV4dCEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLl9jdXJyZW50VGVybSEudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICAgICAgKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBzaS50ZXh0IS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuX2N1cnJlbnRUZXJtIS50b0xvd2VyQ2FzZSgpKSB8fCBoYXNDaGlsZHJlbkluU2VhcmNoO1xuICAgICAgICAgICAgfSkubWFwKHNpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBia3BJdGVtID0gdGhpcy5fbG9jYWxCYWNrdXBJdGVtcy5maW5kKGxiaSA9PiBsYmkudmFsdWUgPT09IHNpLnZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGlmICgoYmtwSXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCB8fCAwKSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc2kuY2hpbGRyZW4gPSBbLi4uYmtwSXRlbSEuY2hpbGRyZW4hXS5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBjaSA9PiBjaS50ZXh0IS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuX2N1cnJlbnRUZXJtIS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldExpc3RJdGVtKHNpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaFJlbW90ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFNlYXJjaFJlcXVlc3RNb2RlbCh7IGRlc2NyaXB0aW9uOiB0aGlzLl9jdXJyZW50VGVybSB9KTtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZSA9ICEhdGhpcy5vYnNlcnZhYmxlID8gdGhpcy5vYnNlcnZhYmxlKHJlcXVlc3QpIDogdGhpcy5zdG9yZSEuc2VhcmNoKHJlcXVlc3QpO1xuXG4gICAgICAgIG9ic2VydmFibGUuc3Vic2NyaWJlKHIgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbXM6IFNlbGVjdEl0ZW1bXSA9IFtdO1xuXG4gICAgICAgICAgICByLnJlY29yZHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW1bdGhpcy5pdGVtS2V5IV0sXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW1bdGhpcy5pdGVtVmFsdWUhXSxcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0RGF0YTogaXRlbVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9zZXR1cExvY2FsSXRlbXMoaXRlbXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExpc3RJdGVtKGl0ZW06IFNlbGVjdEl0ZW0pOiBMaXN0SXRlbSB7XG4gICAgICAgIGxldCBsaXN0SXRlbTogTGlzdEl0ZW07XG5cbiAgICAgICAgaWYgKCEhaXRlbS5saXN0SXRlbSkge1xuICAgICAgICAgICAgbGlzdEl0ZW0gPSBpdGVtLmxpc3RJdGVtO1xuICAgICAgICAgICAgbGlzdEl0ZW0uaWQgPSBpdGVtLnZhbHVlO1xuICAgICAgICAgICAgbGlzdEl0ZW0udGV4dCA9IGl0ZW0udGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpc3RJdGVtID0ge1xuICAgICAgICAgICAgICAgIGlkOiBpdGVtLnZhbHVlLFxuICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0udGV4dFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgbGlzdEl0ZW0uY2hpbGRyZW4gPSBbLi4uaXRlbS5jaGlsZHJlbiFdLm1hcChjID0+IHRoaXMuZ2V0TGlzdEl0ZW0oYykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxpc3RJdGVtO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUG9zaXRpb24ocmVzdWx0OiBDb21wdXRlUG9zaXRpb25SZXN1bHQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50Qm94ID0gdGhpcy5jb21wb25lbnRCb3ghLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHNlYXJjaEJveENoaWxkRWxlbWVudCA9IHRoaXMuc2VhcmNoQm94Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGRkRWxlbWVudCA9IHRoaXMubGlzdCEubmF0aXZlRWxlbWVudDtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNlYXJjaEJveENoaWxkRWxlbWVudCwgJ3dpZHRoJywgYCR7TWF0aC5hYnMoY29tcG9uZW50Qm94LndpZHRoKX1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICd0b3AnLCBgJHtyZXN1bHQueSArIHNlYXJjaEJveENoaWxkRWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAnbGVmdCcsIDAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICd3aWR0aCcsIGAke01hdGguYWJzKGNvbXBvbmVudEJveC53aWR0aCl9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './select-item';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9tb2RlbHMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWl0ZW0nO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cGRldnMvY29tcG9uZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC9zcmMvbW9kZWxzL3NlbGVjdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9saXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RJdGVtIHtcbiAgICAvKipcbiAgICAgKiBWYWx1ZSBvZiB0aGUgc2luZ2xlIGl0ZW0gaWYgc2VsZWN0ZWQuXG4gICAgICogSWYgZ3JvdXBlZCwgd2lsbCBiZSB0aGUgZ3JvdXAga2V5LlxuICAgICAqL1xuICAgIHZhbHVlPzogYW55O1xuICAgIC8qKlxuICAgICAqIERlc2NyaXB0aW9uIG9mIHRoZSBzaW5nbGUgaXRlbS5cbiAgICAgKiBJZiBncm91cGVkLCB3aWxsIGJlIHRoZSBncm91cCBuYW1lLlxuICAgICAqL1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBGdWxsIG9iamVjdCdzIGRhdGEuXG4gICAgICovXG4gICAgb2JqZWN0RGF0YT86IGFueTtcbiAgICAvKipcbiAgICAgKiBBbGxvd3MgdG8gY3VzdG9taXplIHRoZSBsaXN0IGl0ZW0uXG4gICAgICovXG4gICAgbGlzdEl0ZW0/OiBMaXN0SXRlbTtcbiAgICAvKipcbiAgICAgKiBDaGlsZHJlbi5cbiAgICAgKi9cbiAgICBjaGlsZHJlbj86IFNlbGVjdEl0ZW1bXTtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './models/public-api';
2
+ export * from './components/single/select.component';
3
+ export * from './components/multiple/select-multiple.component';
4
+ export * from './upd-select.module';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VwZGV2cy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvc2VsZWN0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaW5nbGUvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbXVsdGlwbGUvc2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VwZC1zZWxlY3QubW9kdWxlJztcbiJdfQ==