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

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 +7 -0
  5. package/card/directives/card-footer.directive.d.ts +7 -0
  6. package/card/directives/card-header.directive.d.ts +7 -0
  7. package/card/directives/card-image.directive.d.ts +7 -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 +145 -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 +65 -0
  66. package/esm2022/form-controls/select/components/single/select.component.mjs +53 -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 +124 -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 +31 -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 +13 -0
  104. package/esm2022/layout/partials/footer/footer.component.mjs +67 -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 +77 -0
  108. package/esm2022/layout/partials/header/public-api.mjs +3 -0
  109. package/esm2022/layout/partials/page-header/page-header.component.mjs +14 -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 +143 -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 +189 -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 +371 -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 +344 -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 +670 -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 +7 -0
  184. package/form-controls/input/directives/input-prepend.directive.d.ts +7 -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 +12 -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 +12 -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 +5 -0
  212. package/layout/partials/footer/footer.component.d.ts +43 -0
  213. package/layout/partials/header/header.component.d.ts +31 -0
  214. package/layout/partials/page-header/page-header.component.d.ts +7 -0
  215. package/layout/partials/sidebar/sidebar.component.d.ts +19 -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 +61 -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 +33 -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,238 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, TemplateRef, Directive, Component, ViewEncapsulation, HostBinding, Input, ContentChild, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i2 from '@updevs/icons';
6
+ import { UpdIconsModule } from '@updevs/icons';
7
+ import * as i3 from '@updevs/components/button';
8
+ import { UpdButtonModule } from '@updevs/components/button';
9
+
10
+ class CardActionsDirective {
11
+ constructor() {
12
+ this.templateRef = inject((TemplateRef));
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
15
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: CardActionsDirective, selector: "ng-template[updCardActions]", ngImport: i0 }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardActionsDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ selector: 'ng-template[updCardActions]'
21
+ }]
22
+ }] });
23
+
24
+ class CardFooterDirective {
25
+ constructor() {
26
+ this.templateRef = inject((TemplateRef));
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: CardFooterDirective, selector: "ng-template[updCardFooter]", ngImport: i0 }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardFooterDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: 'ng-template[updCardFooter]'
35
+ }]
36
+ }] });
37
+
38
+ class CardHeaderDirective {
39
+ constructor() {
40
+ this.templateRef = inject((TemplateRef));
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: CardHeaderDirective, selector: "ng-template[updCardHeader]", ngImport: i0 }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardHeaderDirective, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: 'ng-template[updCardHeader]'
49
+ }]
50
+ }] });
51
+
52
+ class CardImageDirective {
53
+ constructor() {
54
+ this.templateRef = inject((TemplateRef));
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: CardImageDirective, selector: "ng-template[updCardImage]", ngImport: i0 }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardImageDirective, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: 'ng-template[updCardImage]'
63
+ }]
64
+ }] });
65
+
66
+ class CardComponent {
67
+ constructor() {
68
+ this.wrapperClasses = '';
69
+ this.stampBackground = 'primary';
70
+ this.statusPosition = 'top';
71
+ this.ribbonStyle = 'default';
72
+ this.ribbonIcon = { tablerIcon: 'star' };
73
+ this.removeBorder = false;
74
+ this.useLightHeader = false;
75
+ /**
76
+ * Whether the header should be displayed.
77
+ */
78
+ this.showHeader = true;
79
+ this.isFooterTransparent = false;
80
+ this.showProgressBar = false;
81
+ this.actions = [];
82
+ this.classes = [];
83
+ }
84
+ ngOnInit() {
85
+ this.updateClasses();
86
+ }
87
+ ngOnChanges(changes) {
88
+ this.updateClasses();
89
+ }
90
+ updateClasses() {
91
+ const lClasses = [];
92
+ if (this.removeBorder) {
93
+ lClasses.push('card-borderless');
94
+ }
95
+ if (!!this.hoverEffect) {
96
+ lClasses.push('card-link');
97
+ if (this.hoverEffect !== 'default') {
98
+ lClasses.push(`card-link-${this.hoverEffect}`);
99
+ }
100
+ }
101
+ if (!!this.state) {
102
+ lClasses.push(`card-${this.state}`);
103
+ }
104
+ if (!!this.bgColor) {
105
+ lClasses.push(`bg-${this.bgColor}`);
106
+ }
107
+ if (!!this.rotate) {
108
+ lClasses.push(`card-rotate-${this.rotate}`);
109
+ }
110
+ if (!!this.type) {
111
+ lClasses.push(`card-${this.type}`);
112
+ }
113
+ if (!!this.hoverEffect) {
114
+ this.classes = [...lClasses];
115
+ }
116
+ else {
117
+ this.wrapperClasses = 'card ' + lClasses.join(' ');
118
+ }
119
+ }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: CardComponent, selector: "upd-card", inputs: { wrapperClasses: "wrapperClasses", title: "title", subtitle: "subtitle", hoverEffect: "hoverEffect", state: "state", type: "type", imagePosition: "imagePosition", bgColor: "bgColor", stampIcon: "stampIcon", stampBackground: "stampBackground", statusBackground: "statusBackground", statusPosition: "statusPosition", ribbonBackground: "ribbonBackground", ribbonStyle: "ribbonStyle", ribbonIcon: "ribbonIcon", ribbonText: "ribbonText", rotate: "rotate", removeBorder: "removeBorder", useLightHeader: "useLightHeader", showHeader: "showHeader", isFooterTransparent: "isFooterTransparent", footerText: "footerText", showProgressBar: "showProgressBar", progress: "progress", actions: "actions" }, host: { properties: { "class": "this.wrapperClasses" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: CardHeaderDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: CardFooterDirective, descendants: true }, { propertyName: "imageTemplate", first: true, predicate: CardImageDirective, descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: CardActionsDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template *ngIf=\"!hoverEffect; else linkTpl\" [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n\n<!-- Template for cards that are links -->\n<ng-template #linkTpl>\n <a href=\"#\" class=\"card\" [ngClass]=\"classes\">\n <ng-template [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n </a>\n</ng-template>\n\n<ng-template #structureTpl>\n <!-- Ribbon -->\n <div *ngIf=\"!!ribbonBackground\" class=\"ribbon {{ribbonStyle === 'default' ? '' : 'ribbon-' + ribbonStyle}} bg-{{ribbonBackground}}\">\n <span *ngIf=\"!!ribbonText; else ribbonIconTpl\">{{ribbonText}}</span>\n <ng-template #ribbonIconTpl>\n <upd-icon [model]=\"ribbonIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </ng-template>\n </div>\n\n <!-- Status -->\n <div *ngIf=\"!!statusBackground\" class=\"card-status-{{statusPosition}} bg-{{statusBackground}}\"></div>\n\n <!-- Stamp -->\n <div *ngIf=\"!!stampIcon\" class=\"card-stamp\">\n <div class=\"card-stamp-icon bg-{{stampBackground}}\">\n <upd-icon [model]=\"stampIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </div>\n </div>\n\n <!-- Header section -->\n <div *ngIf=\"showHeader && (!!title || !!headerTemplate?.templateRef)\" class=\"card-header\" [class.card-header-light]=\"useLightHeader\">\n <ng-container *ngIf=\"!headerTemplate?.templateRef; else customHeaderTpl\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-template #customHeaderTpl [ngTemplateOutlet]=\"headerTemplate?.templateRef || null\"></ng-template>\n\n <!-- Actions -->\n <div *ngIf=\"!!actionsTemplate || actions.length > 0\" class=\"card-actions\">\n <ng-container *ngIf=\"actions.length > 0; else customActionsTpl\">\n <upd-button *ngFor=\"let btn of actions\" [model]=\"btn\" customClasses=\"me-1\"></upd-button>\n </ng-container>\n <ng-template #customActionsTpl [ngTemplateOutlet]=\"actionsTemplate?.templateRef || null\"></ng-template>\n </div>\n </div>\n\n <!-- Body -->\n <ng-container *ngIf=\"!!imageTemplate; else bodyTpl\">\n <ng-template *ngIf=\"imagePosition === 'left' || imagePosition === 'right'; else bodyWithTopBottomImageTpl\"\n [ngTemplateOutlet]=\"bodyWithSideImageTpl\"></ng-template>\n </ng-container>\n\n <!-- Footer -->\n <div *ngIf=\"!!footerText || !!footerTemplate\" class=\"card-footer\" [class.card-footer-transparent]=\"isFooterTransparent\">\n <ng-container *ngIf=\"!footerTemplate?.templateRef; else customFooterTpl\">\n <span *ngIf=\"!!footerText\">{{footerText}}</span>\n </ng-container>\n <ng-template #customFooterTpl [ngTemplateOutlet]=\"footerTemplate?.templateRef || null\"></ng-template>\n </div>\n\n <!-- Progress bar -->\n <div *ngIf=\"showProgressBar\" class=\"progress progress-sm card-progress\">\n <div class=\"progress-bar\" [style.width.%]=\"progress\" role=\"progressbar\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\"\n aria-valuemax=\"100\">\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on either side -->\n<ng-template #bodyWithSideImageTpl>\n <div class=\"row row-0\">\n <div class=\"col-3\" [class.order-md-last]=\"imagePosition === 'right'\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on top or bottom -->\n<ng-template #bodyWithTopBottomImageTpl>\n <div *ngIf=\"imagePosition === 'top'\" class=\"img-responsive-21x9 card-img-top\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n <div *ngIf=\"imagePosition === 'bottom'\" class=\"img-responsive-21x9 card-img-bottom\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body -->\n<ng-template #bodyTpl>\n <div class=\"card-body\">\n <!-- If title was set, but the header section is hidden, we add the title to the body -->\n <ng-container *ngIf=\"!showHeader && !!title\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.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 }); }
122
+ }
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardComponent, decorators: [{
124
+ type: Component,
125
+ args: [{ selector: 'upd-card', encapsulation: ViewEncapsulation.None, template: "<ng-template *ngIf=\"!hoverEffect; else linkTpl\" [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n\n<!-- Template for cards that are links -->\n<ng-template #linkTpl>\n <a href=\"#\" class=\"card\" [ngClass]=\"classes\">\n <ng-template [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n </a>\n</ng-template>\n\n<ng-template #structureTpl>\n <!-- Ribbon -->\n <div *ngIf=\"!!ribbonBackground\" class=\"ribbon {{ribbonStyle === 'default' ? '' : 'ribbon-' + ribbonStyle}} bg-{{ribbonBackground}}\">\n <span *ngIf=\"!!ribbonText; else ribbonIconTpl\">{{ribbonText}}</span>\n <ng-template #ribbonIconTpl>\n <upd-icon [model]=\"ribbonIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </ng-template>\n </div>\n\n <!-- Status -->\n <div *ngIf=\"!!statusBackground\" class=\"card-status-{{statusPosition}} bg-{{statusBackground}}\"></div>\n\n <!-- Stamp -->\n <div *ngIf=\"!!stampIcon\" class=\"card-stamp\">\n <div class=\"card-stamp-icon bg-{{stampBackground}}\">\n <upd-icon [model]=\"stampIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </div>\n </div>\n\n <!-- Header section -->\n <div *ngIf=\"showHeader && (!!title || !!headerTemplate?.templateRef)\" class=\"card-header\" [class.card-header-light]=\"useLightHeader\">\n <ng-container *ngIf=\"!headerTemplate?.templateRef; else customHeaderTpl\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-template #customHeaderTpl [ngTemplateOutlet]=\"headerTemplate?.templateRef || null\"></ng-template>\n\n <!-- Actions -->\n <div *ngIf=\"!!actionsTemplate || actions.length > 0\" class=\"card-actions\">\n <ng-container *ngIf=\"actions.length > 0; else customActionsTpl\">\n <upd-button *ngFor=\"let btn of actions\" [model]=\"btn\" customClasses=\"me-1\"></upd-button>\n </ng-container>\n <ng-template #customActionsTpl [ngTemplateOutlet]=\"actionsTemplate?.templateRef || null\"></ng-template>\n </div>\n </div>\n\n <!-- Body -->\n <ng-container *ngIf=\"!!imageTemplate; else bodyTpl\">\n <ng-template *ngIf=\"imagePosition === 'left' || imagePosition === 'right'; else bodyWithTopBottomImageTpl\"\n [ngTemplateOutlet]=\"bodyWithSideImageTpl\"></ng-template>\n </ng-container>\n\n <!-- Footer -->\n <div *ngIf=\"!!footerText || !!footerTemplate\" class=\"card-footer\" [class.card-footer-transparent]=\"isFooterTransparent\">\n <ng-container *ngIf=\"!footerTemplate?.templateRef; else customFooterTpl\">\n <span *ngIf=\"!!footerText\">{{footerText}}</span>\n </ng-container>\n <ng-template #customFooterTpl [ngTemplateOutlet]=\"footerTemplate?.templateRef || null\"></ng-template>\n </div>\n\n <!-- Progress bar -->\n <div *ngIf=\"showProgressBar\" class=\"progress progress-sm card-progress\">\n <div class=\"progress-bar\" [style.width.%]=\"progress\" role=\"progressbar\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\"\n aria-valuemax=\"100\">\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on either side -->\n<ng-template #bodyWithSideImageTpl>\n <div class=\"row row-0\">\n <div class=\"col-3\" [class.order-md-last]=\"imagePosition === 'right'\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on top or bottom -->\n<ng-template #bodyWithTopBottomImageTpl>\n <div *ngIf=\"imagePosition === 'top'\" class=\"img-responsive-21x9 card-img-top\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n <div *ngIf=\"imagePosition === 'bottom'\" class=\"img-responsive-21x9 card-img-bottom\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body -->\n<ng-template #bodyTpl>\n <div class=\"card-body\">\n <!-- If title was set, but the header section is hidden, we add the title to the body -->\n <ng-container *ngIf=\"!showHeader && !!title\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-content></ng-content>\n </div>\n</ng-template>\n" }]
126
+ }], propDecorators: { wrapperClasses: [{
127
+ type: HostBinding,
128
+ args: ['class']
129
+ }, {
130
+ type: Input
131
+ }], headerTemplate: [{
132
+ type: ContentChild,
133
+ args: [CardHeaderDirective]
134
+ }], footerTemplate: [{
135
+ type: ContentChild,
136
+ args: [CardFooterDirective]
137
+ }], imageTemplate: [{
138
+ type: ContentChild,
139
+ args: [CardImageDirective]
140
+ }], actionsTemplate: [{
141
+ type: ContentChild,
142
+ args: [CardActionsDirective]
143
+ }], title: [{
144
+ type: Input
145
+ }], subtitle: [{
146
+ type: Input
147
+ }], hoverEffect: [{
148
+ type: Input
149
+ }], state: [{
150
+ type: Input
151
+ }], type: [{
152
+ type: Input
153
+ }], imagePosition: [{
154
+ type: Input
155
+ }], bgColor: [{
156
+ type: Input
157
+ }], stampIcon: [{
158
+ type: Input
159
+ }], stampBackground: [{
160
+ type: Input
161
+ }], statusBackground: [{
162
+ type: Input
163
+ }], statusPosition: [{
164
+ type: Input
165
+ }], ribbonBackground: [{
166
+ type: Input
167
+ }], ribbonStyle: [{
168
+ type: Input
169
+ }], ribbonIcon: [{
170
+ type: Input
171
+ }], ribbonText: [{
172
+ type: Input
173
+ }], rotate: [{
174
+ type: Input
175
+ }], removeBorder: [{
176
+ type: Input
177
+ }], useLightHeader: [{
178
+ type: Input
179
+ }], showHeader: [{
180
+ type: Input
181
+ }], isFooterTransparent: [{
182
+ type: Input
183
+ }], footerText: [{
184
+ type: Input
185
+ }], showProgressBar: [{
186
+ type: Input
187
+ }], progress: [{
188
+ type: Input
189
+ }], actions: [{
190
+ type: Input
191
+ }] } });
192
+
193
+ class UpdCardModule {
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
195
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: UpdCardModule, declarations: [CardComponent,
196
+ CardHeaderDirective,
197
+ CardFooterDirective,
198
+ CardImageDirective,
199
+ CardActionsDirective], imports: [CommonModule,
200
+ UpdIconsModule,
201
+ UpdButtonModule], exports: [CardComponent,
202
+ CardHeaderDirective,
203
+ CardFooterDirective,
204
+ CardImageDirective] }); }
205
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdCardModule, imports: [CommonModule,
206
+ UpdIconsModule,
207
+ UpdButtonModule] }); }
208
+ }
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdCardModule, decorators: [{
210
+ type: NgModule,
211
+ args: [{
212
+ imports: [
213
+ CommonModule,
214
+ UpdIconsModule,
215
+ UpdButtonModule
216
+ ],
217
+ declarations: [
218
+ CardComponent,
219
+ CardHeaderDirective,
220
+ CardFooterDirective,
221
+ CardImageDirective,
222
+ CardActionsDirective
223
+ ],
224
+ exports: [
225
+ CardComponent,
226
+ CardHeaderDirective,
227
+ CardFooterDirective,
228
+ CardImageDirective
229
+ ]
230
+ }]
231
+ }] });
232
+
233
+ /**
234
+ * Generated bundle index. Do not edit.
235
+ */
236
+
237
+ export { CardActionsDirective, CardComponent, CardFooterDirective, CardHeaderDirective, CardImageDirective, UpdCardModule };
238
+ //# sourceMappingURL=updevs-components-card.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updevs-components-card.mjs","sources":["../../../../projects/updevs/components/card/src/directives/card-actions.directive.ts","../../../../projects/updevs/components/card/src/directives/card-footer.directive.ts","../../../../projects/updevs/components/card/src/directives/card-header.directive.ts","../../../../projects/updevs/components/card/src/directives/card-image.directive.ts","../../../../projects/updevs/components/card/src/card.component.ts","../../../../projects/updevs/components/card/src/card.component.html","../../../../projects/updevs/components/card/src/upd-card.module.ts","../../../../projects/updevs/components/card/src/updevs-components-card.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: 'ng-template[updCardActions]'\n})\nexport class CardActionsDirective {\n public readonly templateRef = inject(TemplateRef<any>);\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: 'ng-template[updCardFooter]'\n})\nexport class CardFooterDirective {\n public readonly templateRef = inject(TemplateRef<any>);\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: 'ng-template[updCardHeader]'\n})\nexport class CardHeaderDirective {\n public readonly templateRef = inject(TemplateRef<any>);\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: 'ng-template[updCardImage]'\n})\nexport class CardImageDirective {\n public readonly templateRef = inject(TemplateRef<any>);\n}\n","import {\n Component,\n Input,\n ContentChild,\n SimpleChanges,\n OnInit,\n OnChanges,\n ViewEncapsulation, HostBinding\n} from '@angular/core';\nimport { BgColorStyleType, ButtonModel } from '@updevs/sdk/layout';\nimport { TopBottomLeftRightType } from '@updevs/sdk/types';\nimport { IconModel } from '@updevs/icons';\n\nimport { CardFooterDirective } from './directives/card-footer.directive';\nimport { CardHeaderDirective } from './directives/card-header.directive';\nimport { HoverEffectType } from './types/hover-effect.type';\nimport { CardStateType } from './types/card-state.type';\nimport { StatusPositionType } from './types/status-position.type';\nimport { RibbonStyleType } from './types/ribbon-style.type';\nimport { CardStyleType } from './types/card-style.type';\nimport { CardImageDirective } from './directives/card-image.directive';\nimport { CardActionsDirective } from './directives/card-actions.directive';\n\n@Component({\n selector: 'upd-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class CardComponent implements OnInit, OnChanges {\n @HostBinding('class') @Input() wrapperClasses = '';\n @ContentChild(CardHeaderDirective) headerTemplate?: CardHeaderDirective;\n @ContentChild(CardFooterDirective) footerTemplate?: CardFooterDirective;\n @ContentChild(CardImageDirective) imageTemplate?: CardImageDirective;\n @ContentChild(CardActionsDirective) actionsTemplate?: CardActionsDirective;\n\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() hoverEffect?: HoverEffectType;\n @Input() state?: CardStateType;\n @Input() type?: CardStyleType;\n @Input() imagePosition?: TopBottomLeftRightType;\n @Input() bgColor?: BgColorStyleType;\n @Input() stampIcon?: IconModel;\n @Input() stampBackground: BgColorStyleType = 'primary';\n @Input() statusBackground?: BgColorStyleType;\n @Input() statusPosition: StatusPositionType = 'top';\n @Input() ribbonBackground?: BgColorStyleType;\n @Input() ribbonStyle: RibbonStyleType = 'default';\n @Input() ribbonIcon?: IconModel = { tablerIcon: 'star' };\n @Input() ribbonText?: string;\n @Input() rotate?: 'right' | 'left';\n @Input() removeBorder = false;\n @Input() useLightHeader = false;\n /**\n * Whether the header should be displayed.\n */\n @Input() showHeader = true;\n @Input() isFooterTransparent = false;\n @Input() footerText?: string;\n @Input() showProgressBar = false;\n @Input() progress?: number;\n @Input() actions: ButtonModel[] = [];\n\n classes: string[] = [];\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateClasses();\n }\n\n private updateClasses(): void {\n const lClasses: string[] = [];\n\n if (this.removeBorder) {\n lClasses.push('card-borderless');\n }\n\n if (!!this.hoverEffect) {\n lClasses.push('card-link');\n\n if (this.hoverEffect !== 'default') {\n lClasses.push(`card-link-${this.hoverEffect}`);\n }\n }\n\n if (!!this.state) {\n lClasses.push(`card-${this.state}`);\n }\n\n if (!!this.bgColor) {\n lClasses.push(`bg-${this.bgColor}`);\n }\n\n if (!!this.rotate) {\n lClasses.push(`card-rotate-${this.rotate}`);\n }\n\n if (!!this.type) {\n lClasses.push(`card-${this.type}`);\n }\n\n if (!!this.hoverEffect) {\n this.classes = [...lClasses];\n } else {\n this.wrapperClasses = 'card ' + lClasses.join(' ');\n }\n }\n}\n","<ng-template *ngIf=\"!hoverEffect; else linkTpl\" [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n\n<!-- Template for cards that are links -->\n<ng-template #linkTpl>\n <a href=\"#\" class=\"card\" [ngClass]=\"classes\">\n <ng-template [ngTemplateOutlet]=\"structureTpl\"></ng-template>\n </a>\n</ng-template>\n\n<ng-template #structureTpl>\n <!-- Ribbon -->\n <div *ngIf=\"!!ribbonBackground\" class=\"ribbon {{ribbonStyle === 'default' ? '' : 'ribbon-' + ribbonStyle}} bg-{{ribbonBackground}}\">\n <span *ngIf=\"!!ribbonText; else ribbonIconTpl\">{{ribbonText}}</span>\n <ng-template #ribbonIconTpl>\n <upd-icon [model]=\"ribbonIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </ng-template>\n </div>\n\n <!-- Status -->\n <div *ngIf=\"!!statusBackground\" class=\"card-status-{{statusPosition}} bg-{{statusBackground}}\"></div>\n\n <!-- Stamp -->\n <div *ngIf=\"!!stampIcon\" class=\"card-stamp\">\n <div class=\"card-stamp-icon bg-{{stampBackground}}\">\n <upd-icon [model]=\"stampIcon\" wrapperClasses=\"icon\" [removeDefaultClasses]=\"true\"></upd-icon>\n </div>\n </div>\n\n <!-- Header section -->\n <div *ngIf=\"showHeader && (!!title || !!headerTemplate?.templateRef)\" class=\"card-header\" [class.card-header-light]=\"useLightHeader\">\n <ng-container *ngIf=\"!headerTemplate?.templateRef; else customHeaderTpl\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-template #customHeaderTpl [ngTemplateOutlet]=\"headerTemplate?.templateRef || null\"></ng-template>\n\n <!-- Actions -->\n <div *ngIf=\"!!actionsTemplate || actions.length > 0\" class=\"card-actions\">\n <ng-container *ngIf=\"actions.length > 0; else customActionsTpl\">\n <upd-button *ngFor=\"let btn of actions\" [model]=\"btn\" customClasses=\"me-1\"></upd-button>\n </ng-container>\n <ng-template #customActionsTpl [ngTemplateOutlet]=\"actionsTemplate?.templateRef || null\"></ng-template>\n </div>\n </div>\n\n <!-- Body -->\n <ng-container *ngIf=\"!!imageTemplate; else bodyTpl\">\n <ng-template *ngIf=\"imagePosition === 'left' || imagePosition === 'right'; else bodyWithTopBottomImageTpl\"\n [ngTemplateOutlet]=\"bodyWithSideImageTpl\"></ng-template>\n </ng-container>\n\n <!-- Footer -->\n <div *ngIf=\"!!footerText || !!footerTemplate\" class=\"card-footer\" [class.card-footer-transparent]=\"isFooterTransparent\">\n <ng-container *ngIf=\"!footerTemplate?.templateRef; else customFooterTpl\">\n <span *ngIf=\"!!footerText\">{{footerText}}</span>\n </ng-container>\n <ng-template #customFooterTpl [ngTemplateOutlet]=\"footerTemplate?.templateRef || null\"></ng-template>\n </div>\n\n <!-- Progress bar -->\n <div *ngIf=\"showProgressBar\" class=\"progress progress-sm card-progress\">\n <div class=\"progress-bar\" [style.width.%]=\"progress\" role=\"progressbar\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\"\n aria-valuemax=\"100\">\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on either side -->\n<ng-template #bodyWithSideImageTpl>\n <div class=\"row row-0\">\n <div class=\"col-3\" [class.order-md-last]=\"imagePosition === 'right'\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body with an image on top or bottom -->\n<ng-template #bodyWithTopBottomImageTpl>\n <div *ngIf=\"imagePosition === 'top'\" class=\"img-responsive-21x9 card-img-top\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"bodyTpl\"></ng-template>\n <div *ngIf=\"imagePosition === 'bottom'\" class=\"img-responsive-21x9 card-img-bottom\">\n <div class=\"card-image-{{imagePosition}}\">\n <ng-template [ngTemplateOutlet]=\"imageTemplate!.templateRef\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<!-- Body -->\n<ng-template #bodyTpl>\n <div class=\"card-body\">\n <!-- If title was set, but the header section is hidden, we add the title to the body -->\n <ng-container *ngIf=\"!showHeader && !!title\">\n <h3 class=\"card-title\">{{title}} <span *ngIf=\"!!subtitle\" class=\"card-subtitle\">{{subtitle}}</span></h3>\n </ng-container>\n <ng-content></ng-content>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdButtonModule } from '@updevs/components/button';\n\nimport { CardComponent } from './card.component';\nimport { CardHeaderDirective } from './directives/card-header.directive';\nimport { CardFooterDirective } from './directives/card-footer.directive';\nimport { CardImageDirective } from './directives/card-image.directive';\nimport { CardActionsDirective } from './directives/card-actions.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule,\n UpdButtonModule\n ],\n declarations: [\n CardComponent,\n CardHeaderDirective,\n CardFooterDirective,\n CardImageDirective,\n CardActionsDirective\n ],\n exports: [\n CardComponent,\n CardHeaderDirective,\n CardFooterDirective,\n CardImageDirective\n ]\n})\nexport class UpdCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, inject, NgZone, ElementRef, Renderer2, RendererStyleFlags2, Component, ViewEncapsulation, HostBinding, Input, Output, NgModule } from '@angular/core';
3
+ import { BaseComponent, PositioningService, DomEventsService } from '@updevs/sdk/layout';
4
+ import * as i1 from '@updevs/icons';
5
+ import { UpdIconsModule } from '@updevs/icons';
6
+ import * as i2 from '@updevs/components/form-controls/radio';
7
+ import { UpdRadioModule } from '@updevs/components/form-controls/radio';
8
+ import * as i3 from '@updevs/components/form-controls/checkbox';
9
+ import { UpdCheckboxModule } from '@updevs/components/form-controls/checkbox';
10
+ import * as i4 from '@updevs/components/button';
11
+ import { UpdButtonModule } from '@updevs/components/button';
12
+ import { CommonModule } from '@angular/common';
13
+
14
+ class DropdownComponent extends BaseComponent {
15
+ set isOpen(value) {
16
+ this.updateOpenState(value);
17
+ if (this.shouldCloseOnOutsideClick) {
18
+ this.closeOnOutsideClick();
19
+ }
20
+ }
21
+ get isOpen() {
22
+ return this._isOpen;
23
+ }
24
+ constructor() {
25
+ super();
26
+ this.localWrapperClasses = '';
27
+ this.items = [];
28
+ this.shouldCloseOnOutsideClick = false;
29
+ this.wrapperClasses = '';
30
+ /**
31
+ * If a reference is provided, this will be the position of the dropdown in relation to that reference.
32
+ */
33
+ this.dropdownReferencePosition = 'bottom';
34
+ this.isOpenChange = new EventEmitter();
35
+ this.selectedItem = new EventEmitter();
36
+ this.checkboxChanged = new EventEmitter();
37
+ this.baseWrapperClasses = 'dropdown-menu';
38
+ this._isOpen = false;
39
+ this.ngZone = inject(NgZone);
40
+ this.elementRef = inject(ElementRef);
41
+ this.renderer = inject(Renderer2);
42
+ this.positioningService = inject(PositioningService);
43
+ this.domEventsService = inject(DomEventsService);
44
+ this.dropdownElement = this.elementRef.nativeElement;
45
+ }
46
+ ngOnInit() {
47
+ this.updateStyle();
48
+ }
49
+ ngOnChanges(changes) {
50
+ this.updateStyle();
51
+ }
52
+ onSelect(item) {
53
+ this.selectedItem.emit(item);
54
+ }
55
+ onCheckboxChange(item, isChecked) {
56
+ item.isChecked = isChecked;
57
+ this.checkboxChanged.emit(item);
58
+ }
59
+ closeOnOutsideClick() {
60
+ const excludedElements = [];
61
+ if (!!this.dropdownReference) {
62
+ excludedElements.push(this.dropdownReference.nativeElement);
63
+ }
64
+ const outsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => {
65
+ this.updateOpenState(false);
66
+ this.ngZone.run(() => this.updateWrapperClasses());
67
+ }), this.dropdownElement, true, ...excludedElements);
68
+ this.addSubscriptions(outsideClickSub);
69
+ }
70
+ updateStyle() {
71
+ this.updateWrapperClasses();
72
+ this.updateMaxHeight();
73
+ this.startPositionUpdate();
74
+ }
75
+ updateWrapperClasses() {
76
+ this.localWrapperClasses = this.baseWrapperClasses + ' ' + this.wrapperClasses;
77
+ if (this.isOpen) {
78
+ this.localWrapperClasses += ' dropdown-show';
79
+ }
80
+ if (!!this.arrowType) {
81
+ this.localWrapperClasses += ' dropdown-menu-arrow' + (this.arrowType === 'right' ? ' dropdown-menu-end' : '');
82
+ }
83
+ if (!!this.maxHeight) {
84
+ this.localWrapperClasses += ' dropdown-overflow';
85
+ }
86
+ }
87
+ updateOpenState(isOpen) {
88
+ this._isOpen = isOpen;
89
+ this.isOpenChange.emit(isOpen);
90
+ }
91
+ updateMaxHeight() {
92
+ this.renderer.setStyle(this.dropdownElement, 'max-height', `${this.maxHeight}px`, RendererStyleFlags2.Important);
93
+ }
94
+ startPositionUpdate() {
95
+ if (!this.dropdownReference) {
96
+ return;
97
+ }
98
+ this.ngZone.runOutsideAngular(() => this.positioningService
99
+ .computePosition(this.dropdownReference, this.elementRef, { placement: this.dropdownReferencePosition })
100
+ .subscribe(resp => this.updatePosition(resp)));
101
+ }
102
+ updatePosition(result) {
103
+ const reference = this.dropdownReference.nativeElement.getBoundingClientRect();
104
+ const ddElement = this.dropdownElement;
105
+ if (!!this.maxWidth) {
106
+ this.renderer.setStyle(ddElement, 'max-width', `${this.maxWidth}px`, RendererStyleFlags2.Important);
107
+ }
108
+ this.renderer.setStyle(ddElement, 'position', result.strategy, RendererStyleFlags2.Important);
109
+ this.renderer.setStyle(ddElement, 'width', `${Math.abs(reference.width)}px`, RendererStyleFlags2.Important);
110
+ this.renderer.setStyle(ddElement, 'left', `${result.x}px`, RendererStyleFlags2.Important);
111
+ this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);
112
+ }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: DropdownComponent, selector: "upd-dropdown", inputs: { items: "items", header: "header", isOpen: "isOpen", shouldCloseOnOutsideClick: "shouldCloseOnOutsideClick", arrowType: "arrowType", wrapperClasses: "wrapperClasses", elementsExcludedFromOutsideClick: "elementsExcludedFromOutsideClick", maxHeight: "maxHeight", maxWidth: "maxWidth", dropdownReference: "dropdownReference", dropdownReferencePosition: "dropdownReferencePosition" }, outputs: { isOpenChange: "isOpenChange", selectedItem: "selectedItem", checkboxChanged: "checkboxChanged" }, host: { properties: { "class": "this.localWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') +(item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n {{ item.text }}\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') +(item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') +(item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "removeDefaultClasses", "customClasses", "tablerIcon", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i2.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "label", "value", "customClasses", "name", "description", "isDisabled", "isReadOnly", "isChecked", "isInline", "validationStatus", "invalidStatusText"], outputs: ["selected"] }, { kind: "component", type: i3.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "label", "value", "customClasses", "name", "description", "isDisabled", "isReadOnly", "isChecked", "isInline", "isSwitch", "validationStatus", "invalidStatusText"], outputs: ["changed"] }, { kind: "component", type: i4.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 }); }
115
+ }
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DropdownComponent, decorators: [{
117
+ type: Component,
118
+ args: [{ selector: 'upd-dropdown', encapsulation: ViewEncapsulation.None, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') +(item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n {{ item.text }}\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') +(item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') +(item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"] }]
119
+ }], ctorParameters: () => [], propDecorators: { localWrapperClasses: [{
120
+ type: HostBinding,
121
+ args: ['class']
122
+ }], items: [{
123
+ type: Input
124
+ }], header: [{
125
+ type: Input
126
+ }], isOpen: [{
127
+ type: Input
128
+ }], shouldCloseOnOutsideClick: [{
129
+ type: Input
130
+ }], arrowType: [{
131
+ type: Input
132
+ }], wrapperClasses: [{
133
+ type: Input
134
+ }], elementsExcludedFromOutsideClick: [{
135
+ type: Input
136
+ }], maxHeight: [{
137
+ type: Input
138
+ }], maxWidth: [{
139
+ type: Input
140
+ }], dropdownReference: [{
141
+ type: Input
142
+ }], dropdownReferencePosition: [{
143
+ type: Input
144
+ }], isOpenChange: [{
145
+ type: Output
146
+ }], selectedItem: [{
147
+ type: Output
148
+ }], checkboxChanged: [{
149
+ type: Output
150
+ }] } });
151
+
152
+ class UpdDropdownModule {
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
154
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: UpdDropdownModule, declarations: [DropdownComponent], imports: [CommonModule,
155
+ UpdIconsModule,
156
+ UpdRadioModule,
157
+ UpdCheckboxModule,
158
+ UpdButtonModule], exports: [DropdownComponent] }); }
159
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdDropdownModule, imports: [CommonModule,
160
+ UpdIconsModule,
161
+ UpdRadioModule,
162
+ UpdCheckboxModule,
163
+ UpdButtonModule] }); }
164
+ }
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UpdDropdownModule, decorators: [{
166
+ type: NgModule,
167
+ args: [{
168
+ imports: [
169
+ CommonModule,
170
+ UpdIconsModule,
171
+ UpdRadioModule,
172
+ UpdCheckboxModule,
173
+ UpdButtonModule
174
+ ],
175
+ declarations: [
176
+ DropdownComponent
177
+ ],
178
+ exports: [
179
+ DropdownComponent
180
+ ]
181
+ }]
182
+ }] });
183
+
184
+ /**
185
+ * Generated bundle index. Do not edit.
186
+ */
187
+
188
+ export { DropdownComponent, UpdDropdownModule };
189
+ //# sourceMappingURL=updevs-components-dropdown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updevs-components-dropdown.mjs","sources":["../../../../projects/updevs/components/dropdown/src/dropdown.component.ts","../../../../projects/updevs/components/dropdown/src/dropdown.component.html","../../../../projects/updevs/components/dropdown/src/upd-dropdown.module.ts","../../../../projects/updevs/components/dropdown/src/updevs-components-dropdown.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n OnChanges,\n SimpleChanges,\n Output,\n EventEmitter,\n NgZone,\n ElementRef,\n Renderer2,\n RendererStyleFlags2,\n inject\n} from '@angular/core';\nimport { BaseComponent, PositioningService, ComputePositionResult, DomEventsService } from '@updevs/sdk/layout';\nimport { TopBottomLeftRightType } from '@updevs/sdk/types';\n\nimport { DropdownItem } from './models/dropdown-item';\n\n@Component({\n selector: 'upd-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DropdownComponent extends BaseComponent implements OnInit, OnChanges {\n @HostBinding('class') localWrapperClasses = '';\n\n @Input() items: DropdownItem[] = [];\n @Input() header?: string;\n @Input()\n set isOpen(value: boolean) {\n this.updateOpenState(value);\n\n if (this.shouldCloseOnOutsideClick) {\n this.closeOnOutsideClick();\n }\n }\n @Input() shouldCloseOnOutsideClick = false;\n @Input() arrowType?: 'left' | 'right';\n @Input() wrapperClasses = '';\n /**\n * Elements that won't trigger the close of the dropdown if clicked upon.\n * Only works when `shouldCloseOnOutsideClick` is set to true.\n */\n @Input() elementsExcludedFromOutsideClick?: HTMLElement[];\n /**\n * Maximum height of the component.\n * If set, scroll bars will be used when the content's size is bigger than the component's.\n */\n @Input() maxHeight?: number;\n /**\n * Maximum width of the component.\n * If set, scroll bars will be used when the content's size is bigger than the component's.\n */\n @Input() maxWidth?: number;\n /**\n * If set, the position of the dropdown will be set according to this element.\n */\n @Input() dropdownReference?: ElementRef;\n /**\n * If a reference is provided, this will be the position of the dropdown in relation to that reference.\n */\n @Input() dropdownReferencePosition: TopBottomLeftRightType = 'bottom';\n\n @Output() readonly isOpenChange = new EventEmitter<boolean>();\n @Output() readonly selectedItem = new EventEmitter<DropdownItem>();\n @Output() readonly checkboxChanged = new EventEmitter<DropdownItem>();\n\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n private baseWrapperClasses = 'dropdown-menu';\n private _isOpen = false;\n private readonly dropdownElement: HTMLElement;\n private readonly ngZone = inject(NgZone);\n private readonly elementRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n private readonly positioningService = inject(PositioningService);\n private readonly domEventsService = inject(DomEventsService);\n\n constructor() {\n super();\n this.dropdownElement = this.elementRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.updateStyle();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.updateStyle();\n }\n\n onSelect(item: DropdownItem): void {\n this.selectedItem.emit(item);\n }\n\n onCheckboxChange(item: DropdownItem, isChecked: boolean): void {\n item.isChecked = isChecked;\n this.checkboxChanged.emit(item);\n }\n\n private closeOnOutsideClick(): void {\n const excludedElements = [];\n\n if (!!this.dropdownReference) {\n excludedElements.push(this.dropdownReference.nativeElement);\n }\n\n const outsideClickSub = this.domEventsService.startOutsideClickListener(\n () => this.ngZone.run(() => {\n this.updateOpenState(false);\n this.ngZone.run(() => this.updateWrapperClasses());\n }),\n this.dropdownElement,\n true,\n ...excludedElements\n );\n this.addSubscriptions(outsideClickSub);\n }\n\n private updateStyle(): void {\n this.updateWrapperClasses();\n this.updateMaxHeight();\n this.startPositionUpdate();\n }\n\n private updateWrapperClasses(): void {\n this.localWrapperClasses = this.baseWrapperClasses + ' ' + this.wrapperClasses;\n\n if (this.isOpen) {\n this.localWrapperClasses += ' dropdown-show';\n }\n\n if (!!this.arrowType) {\n this.localWrapperClasses += ' dropdown-menu-arrow' + (this.arrowType === 'right' ? ' dropdown-menu-end' : '');\n }\n\n if (!!this.maxHeight) {\n this.localWrapperClasses += ' dropdown-overflow';\n }\n }\n\n private updateOpenState(isOpen: boolean): void {\n this._isOpen = isOpen;\n this.isOpenChange.emit(isOpen);\n }\n\n private updateMaxHeight(): void {\n this.renderer.setStyle(this.dropdownElement, 'max-height', `${this.maxHeight}px`, RendererStyleFlags2.Important);\n }\n\n private startPositionUpdate(): void {\n if (!this.dropdownReference) {\n return;\n }\n\n this.ngZone.runOutsideAngular(() =>\n this.positioningService\n .computePosition(this.dropdownReference!, this.elementRef, { placement: this.dropdownReferencePosition })\n .subscribe(resp => this.updatePosition(resp))\n );\n }\n\n private updatePosition(result: ComputePositionResult): void {\n const reference = this.dropdownReference!.nativeElement.getBoundingClientRect();\n const ddElement = this.dropdownElement;\n\n if (!!this.maxWidth) {\n this.renderer.setStyle(ddElement, 'max-width', `${this.maxWidth}px`, RendererStyleFlags2.Important);\n }\n\n this.renderer.setStyle(ddElement, 'position', result.strategy, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'width', `${Math.abs(reference.width)}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'left', `${result.x}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);\n }\n}\n","@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') +(item.isActive ? ' active' : '')\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n {{ item.text }}\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') +(item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') +(item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n }\n}\n\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdRadioModule } from '@updevs/components/form-controls/radio';\nimport { UpdCheckboxModule } from '@updevs/components/form-controls/checkbox';\n\nimport { DropdownComponent } from './dropdown.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule,\n UpdRadioModule,\n UpdCheckboxModule,\n UpdButtonModule\n ],\n declarations: [\n DropdownComponent\n ],\n exports: [\n DropdownComponent\n ]\n})\nexport class UpdDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}